Add a task to check for modes that conflict with a new global binding M-s.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
1fc200d6
JR
12008-12-21 Jason Rumney <jasonr@gnu.org>
2
3 * w32uniscribe.c (uniscribe_encode_char): Return FONT_INVALID_CHAR
4 when character maps to .notdef character.
5
5e252df2
SM
62008-12-21 Stefan Monnier <monnier@iro.umontreal.ca>
7
8 * keyboard.c (cmd_error_internal): Don't exit in daemon mode, bug#1310.
9
99b72cc4
JR
102008-12-20 Jason Rumney <jasonr@gnu.org>
11
12 * frame.c (Fmake_terminal_frame): Raise an error when called from
13 a graphical frame on Windows.
14
acc49a52
JD
152008-12-20 Jan Djärv <jan.h.d@swipnet.se>
16
17 * frame.c (Fdelete_frame): Set f->menu_bar_vector to Qnil.
18
6ea15123
CY
192008-12-20 Chong Yidong <cyd@stupidchicken.com>
20
21 * minibuf.c (Fread_buffer): Doc fix.
22
b2dab6c8
JR
232008-12-20 Jason Rumney <jasonr@gnu.org>
24
54ea0c87
JR
25 * fileio.c (Fexpand_file_name): Do not allow ../ to go beyond the
26 server name in UNC paths.
27
b2dab6c8
JR
28 * coding.c (decode_coding): Clear chars_at_source flag when using
29 charbuf.
30
6d1921be
DN
312008-12-19 Daniel Engeler <engeler@gmail.com>
32
33 * sysdep.c (serial_configure): Fix typo.
34
53934c98
DN
352008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
36
37 * sysdep.c: Include alloca.h.
f4f634e8
DN
38 (system_process_attributes): Add implementation for Solaris.
39
40 * s/sol2-10.h (HAVE_PROCFS, _STRUCTURED_PROC): New defines.
53934c98 41
06e111a6
DN
422008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
43
44 Reorganize implementation of Flist_system_processes and
45 Fsystem_process_attributes. No functional changes.
46 * process.c: Don't #include pwd.h, grp.h and limits.h.
47 (Flist_system_processes): Just call list_system_processes.
48 (Fsystem_process_attributes): Just call system_process_attributes.
49 (procfs_list_system_processes, time_from_jiffies)
50 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
51 (procfs_get_total_memory, procfs_system_process_attributes): Move ...
52
53 * sysdep.c: ... here. Include pwd.h, grp.h and limits.h.
54 (list_system_processes): Rename from
55 procfs_list_system_processes. Enclose in #ifdef HAVE_PROCFS.
56 Provide a do nothing implementation.
57 (system_process_attributes): Rename from
58 procfs_list_system_processes.
59 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
60 (procfs_get_total_memory): Enclose in #ifdef GNU_LINUX.
61
62 * w32.c (list_system_processes): Rename from
63 w32_list_system_processes.
64 (system_process_attributes): Rename from
65 w32_system_process_attributes.
66
67 * s/gnu-linux.h (LISTPROC, PROCATTR): Remove.
68
69 * process.h (w32_list_system_processes)
70 (w32_system_process_attributes): Remove.
71 (list_system_processes, system_process_attributes): New
72 prototypes.
73
6a705b23
KH
742008-12-19 Kenichi Handa <handa@m17n.org>
75
76 * xfont.c (xfont_decode_coding_xlfd): New function.
77 (xfont_encode_coding_xlfd): New function.
78 (xfont_list_pattern): Decode XLFD by iso-8859-1.
79 (xfont_list): Decode and encode XLFD by iso-8859-1.
80 (xfont_match): Likewise.
81 (xfont_list_family): Likewise.
82 (xfont_open): Likewise.
83
84 * ftfont.c (ftfont_open): Genarate a multibyte string if given
85 names are utf-8.
86
87 * xftfont.c (xftfont_open): Genarate a multibyte string if given
88 names are utf-8.
89
5a130941
JD
902008-12-18 Jan Djärv <jan.h.d@swipnet.se>
91
92 * gtkutil.c (xg_frame_resized): Remove check if rows/columns have
93 changed.
bfd20325
JD
94 (xg_tool_bar_proxy_callback): Put focus on the frame after we have
95 clicked on a detached tool bar button.
5a130941 96
fd95644b
DN
972008-12-18 Dan Nicolaescu <dann@ics.uci.edu>
98
99 * emacs.c (main): Print and error and exit when no data is read
100 from the pipe.
101
e6eee6ae
JR
1022008-12-17 Jason Rumney <jasonr@gnu.org>
103
104 * w32font.c (w32font_has_char): Always return -1.
105
a35dd56b
KH
1062008-12-16 Kenichi Handa <handa@m17n.org>
107
108 * font.c (font_open_entity): Fix previous change.
109
0e3635c2
DN
1102008-12-16 Dan Nicolaescu <dann@ics.uci.edu>
111
112 * process.c: Include <limits.h>.
113
d4835507 1142008-12-16 Chetan Pandya <pandyacus@sbcglobal.net> (tiny change)
b5356c39
CY
115
116 * font.c (font_update_drivers): Fix mistake in reconstructing the
117 driver list.
118
1192008-12-16 Chong Yidong <cyd@stupidchicken.com>
120
121 * font.c (font_clear_cache): Fix format of font cache data.
122
e2cbc401
CY
1232008-12-15 Chong Yidong <cyd@stupidchicken.com>
124
125 * xftfont.c (xftfont_open): Free Xft font pattern if
126 XftFontOpenPattern fails.
127
128 * xterm.c (x_free_frame_resources): Remove extraneous call to
129 free_frame_faces.
130
b131d535
CY
1312008-12-13 Chong Yidong <cyd@stupidchicken.com>
132
133 * xterm.c (x_delete_display): Move xim_close_dpy call to
134 x_delete_terminal.
135 (x_delete_terminal): Call xim_close_dpy.
136
e6df5336
JR
1372008-12-13 Jason Rumney <jasonr@gnu.org>
138
139 * w32font.c (intern_font_name): New function.
140 (add_font_name_to_list, w32_enumfont_pattern_entity): Use it.
141 (w32font_open_internal, Fx_select_font): Decode font name.
142 (fill_in_logfont, list_all_matching_fonts): Encode font name.
143
144 * w32font.h (intern_font_name): Declare new function.
145
146 * w32uniscribe.c (add_opentype_font_name_to_list):
147 Use intern_font_name.
148
20d68145
CY
1492008-12-13 Chong Yidong <cyd@stupidchicken.com>
150
9f2554de
CY
151 * frame.c (Fdelete_frame): Call free_font_driver_list.
152
3d9bec9a
CY
153 * font.c (free_font_driver_list): Implement missing function.
154
20d68145
CY
155 * w32term.c (w32_term_init): Don't initialize the image cache
156 here; it will be done in init_frame_faces.
157
158 * xterm.h (struct xim_inst_t): Definition moved from xterm.c.
159 (struct x_display_info): Remove unused member null_pixel. New
160 member xim_callback_data.
161
162 * xterm.c (struct xim_inst_t): Definition moved to xterm.h.
163 (xim_initialize): Save pointer to callback function data.
164 (xim_close_dpy): Free callback function data. Call XCloseIM,
165 reverting 2008-11-04 change by David Smith.
166 (x_term_init): Don't initialize the image cache here; it will be
167 done in init_frame_faces. Remove ancient "null_pixel" cruft.
168 (x_delete_display): Free x_dnd_atoms member.
169
96f9306b
KH
1702008-12-13 Kenichi Handa <handa@m17n.org>
171
172 * font.c (font_rescale_ratio): Moved from xfaces.c. Argument
173 type changed. Handle a font-spec too.
174 (font_score): Check Vface_font_rescale_alist.
175 (font_open_entity): Likewise.
176
177 * xfaces.c (font_rescale_ratio): Moved to font.c.
178
8d5b4964
CY
1792008-12-13 Chong Yidong <cyd@stupidchicken.com>
180
181 * xfns.c (Fx_wm_set_size_hint): Check if the frame is an X frame.
182
e6df5336
JR
1832008-12-12 Jason Rumney <jasonr@gnu.org>
184
185 * w32fns.c (x_display_info_for_name, Fx_open_connection): Set
186 Vwindow_system_version to the real w32 major version.
187
97c6058a
DN
1882008-12-12 Dan Nicolaescu <dann@ics.uci.edu>
189
190 * term.c (init_tty): Move setting the terminal name before the
191 potential user: maybe_fatal.
192
ec4e88d7
CY
1932008-12-11 Chong Yidong <cyd@stupidchicken.com>
194
d4835507
JB
195 * term.c (tty_free_frame_resources): Renamed from delete_tty_output;
196 all callers changed. Call free_frame_faces to free the face cache.
ec4e88d7 197
b4233ec9
JR
1982008-12-11 Jason Rumney <jasonr@gnu.org>
199
8ec71e23
JR
200 * w32font.c (fill_in_logfont): Don't assume symbol script means
201 SYMBOL_CHARSET.
202
b4233ec9
JR
203 * w32uniscribe.c (uniscribe_encode_char): Increase glyph buffer
204 size for surrogates.
205
011a0143
JB
2062008-12-11 Juanma Barranquero <lekktu@gmail.com>
207
208 * w32proc.c (Fw32_get_locale_info): Decode long form of locale name.
209
3c309f34
JB
2102008-12-11 Juanma Barranquero <lekktu@gmail.com>
211
212 * process.c (Fsystem_process_attributes, syms_of_process):
213 Fix typo in name of Ssystem_process_attributes.
214 Reported by Ulrich Mueller <ulm@kph.uni-mainz.de>.
215
fedc6ab5
JB
2162008-12-11 Juanma Barranquero <lekktu@gmail.com>
217
218 * syntax.c (Fmodify_syntax_entry): Doc fix.
219
ba3de0e8
JB
2202008-12-10 Juanma Barranquero <lekktu@gmail.com>
221
222 * font.c (Ffont_spec): Move usage to end of docstring.
223
174f1c74
JR
2242008-12-10 Jason Rumney <jasonr@gnu.org>
225
226 * w32font.c (Qcham): New symbol.
227 (font_supported_scripts): Add cham, and comments for other new
228 scripts in bitfield from OpenType spec.
9d32f818
JR
229 (add_font_entity_to_list): Limit unicode-sip fonts to those that
230 contain characters beyond the bmp.
174f1c74 231
7b649478
KH
2322008-12-10 Kenichi Handa <handa@m17n.org>
233
234 * ftfont.c (fc_charset_table): Add "unicode-sip".
2ae37cf0 235 (ftfont_spec_pattern): Lookup fc_charset_table for the registry
7b649478
KH
236 Qunicode_sip.
237
2133e2d1
JB
2382008-12-10 Juanma Barranquero <lekktu@gmail.com>
239
240 * coding.c (QCdefault_char): Rename from QCdefalut_char.
241 (Fcoding_system_put): Use QCdefault_char.
242 (syms_of_coding): Set QCdefault_char, not QCdefalut_char.
243
9af886ee
CY
2442008-12-09 Chong Yidong <cyd@stupidchicken.com>
245
74d819eb
CY
246 * xftfont.c (syms_of_xftfont): Fix typo.
247
4ccfa1c0 248 * buffer.c (Fbuffer_swap_text): Signal error if swapping a dead buffer.
9af886ee 249
7c19d3ae
DN
2502008-12-08 Dan Nicolaescu <dann@ics.uci.edu>
251
252 * emacs.c (main): Close daemon_pipe on exec.
253
567826bb
CY
2542008-12-08 Chong Yidong <cyd@stupidchicken.com>
255
256 * termchar.h (struct tty): New members termcap_term_buffer and
257 termcap_strings_buffer.
258
259 * term.c (encode_terminal_code): Free any previous memory blocks
4ccfa1c0 260 before calling xmalloc for encode_terminal_src or encode_terminal_dst.
567826bb
CY
261 (maybe_fatal): Buffer argument deleted. Don't free buffer here.
262 All callers changed.
263 (init_tty): Store termcap data and string buffers in new struct
264 tty members termcap_term_buffer and termcap_strings_buffer.
265 (delete_tty): Free them.
4ccfa1c0 266 (syms_of_term): Initialize encode_terminal_src and encode_terminal_dst.
567826bb 267
aa96c42b
SZ
2682008-12-07 Seiji Zenitani <zenitani@mac.com>
269
270 * nsfns.m (ns_set_background_color): Remove code duplication.
4ccfa1c0 271 It was a substitute for face-transparency on OS X 10.3.
aa96c42b 272
b7e1d896
CY
2732008-12-06 Chong Yidong <cyd@stupidchicken.com>
274
275 * coding.c (make_conversion_work_buffer): Disable buffer
276 modification hooks in the work buffer.
277
b5ec91a5
EZ
2782008-12-05 Eli Zaretskii <eliz@gnu.org>
279
280 * process.c (procfs_system_process_attributes): If `nread' has a
281 negative value, assign zero to it.
282
a5d2a52b
CY
2832008-12-05 Chong Yidong <cyd@stupidchicken.com>
284
68c5540b 285 * eval.c (Vdebug_on_error): Doc fix.
a5d2a52b 286
7bf1bb21
KH
2872008-12-05 Kenichi Handa <handa@m17n.org>
288
289 * ftfont.c (ftfont_shape_by_flt): Use "combining" flt if the
290 second character is a combining character.
291
2fdc7d00
EZ
2922008-12-05 Eli Zaretskii <eliz@gnu.org>
293
294 * process.c (procfs_system_process_attributes): Don't use cmd,
295 cmdsize, and q without initializing them first.
296
bf6bfba8
JR
2972008-12-04 Jason Rumney <jasonr@gnu.org>
298
299 * w32font.c (w32font_draw): Initialize orig_clip before getting
300 it, and delete it when finished.
301
a3b1a468
DN
3022008-12-04 Dan Nicolaescu <dann@ics.uci.edu>
303
304 * keyboard.c (kbd_buffer_get_event): Follow the non-interactive
305 case when running as a daemon before detaching.
306
8b8be8eb
JB
3072008-12-03 Juanma Barranquero <lekktu@gmail.com>
308
805f2638 309 * w32.c (init_environment): Don't unload library shell32.dll.
8b8be8eb 310
b1bde622
KH
3112008-12-03 Kenichi Handa <handa@m17n.org>
312
e500c47d
KH
313 * font.c (font_at): Set `multibyte' at first.
314
ca516334
KH
315 * coding.c (decode_coding_charset): Check type of an element of
316 vector VALIDS.
7bf1bb21 317 (encode_coding_emacs_mule): Be sure to set `code'.
ca516334 318
4ccfa1c0 319 * fontset.c (face_for_char): Handle invalid charset property correctly.
b1bde622
KH
320 (font_for_char): Likewise.
321
1e5ecd37
CY
3222008-12-03 Chong Yidong <cyd@stupidchicken.com>
323
d5b01609 324 * font.c (Fopen_font): Compute pixel size correctly.
ba207571
CY
325 (font_update_lface): Handle fonts with corrupted size specs,
326 i.e. non-int and non-float.
d5b01609 327
11e3a6e4 328 * ftfont.c (ftfont_match): Initialize entity variable.
9a48c8cb 329 (ftfont_resolve_generic_family): Avoid using uninitialized var.
8adb3a3b 330 (ftfont_list_family): Initialize list var earlier.
11e3a6e4 331
ab06788b
CY
332 * xselect.c (Fx_get_cut_buffer_internal): Fix memory leak.
333
1e5ecd37 334 * xterm.c (x_draw_glyph_string): Fall back on
0cff82ab 335 underline_minimum_offset for underline position.
1e5ecd37 336
63c125ab
DN
3372008-12-03 Dan Nicolaescu <dann@ics.uci.edu>
338
339 * keyboard.c (read_char_help_form_unwind): Specify the type for ARG.
340
341 * character.c (c_string_width): Specify the type for LEN.
342
3a8406e1
KH
3432008-12-03 Kenichi Handa <handa@m17n.org>
344
4ccfa1c0 345 * coding.c (decode_coding_utf_16): Initialize consumed_chars_base to 0.
453b38f0 346 (decode_coding_utf_8): Likewise.
4ccfa1c0 347 (detect_coding_system): Initialize utf_16_le_eol to -1, val to Qnil.
4533845d 348 (produce_chars): Initialize consumed_chars to 0.
3a8406e1 349
651df7d9
CY
3502008-12-02 Chong Yidong <cyd@stupidchicken.com>
351
352 * keyboard.c (make_lispy_position): Only use PT if the selected
353 window is current.
354
1f625c6c
AS
3552008-12-02 Andreas Schwab <schwab@suse.de>
356
f7741ce9
AS
357 * font.c (font_unparse_fcname): Fix use of uninitialized variable.
358
1f625c6c
AS
359 * doprnt.c (doprnt1): Fix size of charbuf.
360
92bc2678
CY
3612008-12-02 Chong Yidong <cyd@stupidchicken.com>
362
363 * keyboard.c (timer_check): Revert last change.
364
93b9e8cc
JB
3652008-12-02 Juanma Barranquero <lekktu@gmail.com>
366
367 * makefile.w32-in ($(BLD)/w32console.$(O)): Fix silly, silly typo.
368
fd7a37d5
JB
3692008-12-01 Juanma Barranquero <lekktu@gmail.com>
370
371 * makefile.w32-in: Update dependencies.
372 (CONFIG_H): Add $(EMACS_ROOT)/nt/inc/sys/time.h.
373
c115043b
AS
3742008-12-01 Andreas Schwab <schwab@suse.de>
375
376 * font.c (register_font_driver): Use xmalloc.
377 (font_put_frame_data): Likewise.
378
f5668d2a
CY
3792008-12-01 Chong Yidong <cyd@stupidchicken.com>
380
860d96be
CY
381 * xfaces.c (realize_x_face): Make abort condition clearer.
382
f5668d2a
CY
383 * gtkutil.c (update_frame_tool_bar): Initialize variable.
384
379c17e7
CY
3852008-11-30 Chong Yidong <cyd@stupidchicken.com>
386
387 * keyboard.c (timer_check): After a timer runs, ensure that the
388 selected window's buffer is current.
389
35f36d65
JB
3902008-11-30 Juanma Barranquero <lekktu@gmail.com>
391
f952c61c
JB
392 * makefile.w32-in ($(BLD)/abbrev.$(O)): Remove.
393 It was accidentally restored by the Unicode merge.
394
35f36d65
JB
395 * w32proc.c (Fw32_get_locale_info): Fix typo in docstring.
396
b23077df
JB
3972008-11-29 Juanma Barranquero <lekktu@gmail.com>
398
399 * w32proc.c: Include "coding.h".
400 (Fw32_short_file_name): Encode filename passed to Windows API.
401 (Fw32_long_file_name): Encode filename passed to Windows API and
402 decode back the result. (Bug#1433)
403
b8ebe9dd
KH
4042008-11-29 Kenichi Handa <handa@m17n.org>
405
8cc53f96
KH
406 * charset.h (CHAR_CHARSET_P): Check if the encoder is loaded or
407 not before accessing it.
408
b8ebe9dd
KH
409 * charset.c (Fdefine_charset_internal): After calculating
410 min_char, max_char, and fastmap, copy the charset structure again.
411 (encode_char): Fix the previous change.
412
59bc82c0
SZ
4132008-11-28 Seiji Zenitani <zenitani@mac.com>
414
415 * frame.c (x_set_alpha) [NS_IMPL_COCOA]: Call x_set_frame_alpha.
416
417 * nsfns.m (ns_frame_parm_handlers): Set alpha handler.
418
419 * nsterm.m (x_set_frame_alpha): New function.
420
32247e3d
EZ
4212008-11-27 Eli Zaretskii <eliz@gnu.org>
422
423 * xfaces.c (Fx_font_family_list, syms_of_xfaces): Fix last change.
424
b003e5ff
JB
4252008-11-27 Juanma Barranquero <lekktu@gmail.com>
426
427 * w32font.c (add_font_entity_to_list): Pass the right LOGFONT
428 pointer to check_face_name.
429
708550f5
KH
4302008-11-27 Kenichi Handa <handa@m17n.org>
431
432 * category.h (SET_CATEGORY_SET): Call set_category_set.
433 (set_category_set): Extern it.
434
435 * category.c (hash_get_category_set): New function.
436 (Fmodify_category_entry): Adjusted for the change of
437 char_table_ref_and_range. Call hash_get_category_set to get a
438 category set to store in the table.
439
440 * character.h (MAYBE_UNIFY_CHAR): Call maybe_unify_char instead of
441 Funify_charset.
442
2ae37cf0 443 * charset.h (enum charset_method): Delete CHARSET_METHOD_MAP_DEFERRED.
708550f5
KH
444 (DECODE_CHAR): Check if the decoder vector is ready.
445 (ENCODE_CHAR): Check if the encoder char-table is ready.
446 (maybe_unify_char): Extern it.
447
448 * charset.c (Vchar_unified_charset_table): Delete it.
449 (inhibit_load_charset_map): New variable.
450 (temp_charset_work): New variable.
451 (SET_TEMP_CHARSET_WORK_ENCODER, GET_TEMP_CHARSET_WORK_ENCODER)
452 (SET_TEMP_CHARSET_WORK_DECODER, GET_TEMP_CHARSET_WORK_DECODER):
453 New macros.
454 (load_charset_map): Meaning of control_flag changed. If
455 inhibit_load_charset_map is nonzero, setup a table in
456 temp_charset_work.
457 (load_charset): New argument control_flag.
458 (map_charset_for_dump): New function.
459 (map_charset_chars): If inhibit_load_charset_map is nonzero, use
460 map_charset_for_dump.
461 (Fdefine_charset_internal): If the charset method is MAP, load
462 mapping tables by calling load_charset.
463 (Funify_charset): Don't load a mapping table but directly set
464 Vchar_unify_table.
465 (maybe_unify_char): New function.
466 (decode_char): Don't handle the deleted method MAP_DEFERRED.
467 Handle the case of inhibit_load_charset_map being nonzero.
468 (encode_char): Don't handle the deleted method MAP_DEFERRED.
469 Handle the case of inhibit_load_charset_map being nonzero.
470 (Fclear_charset_maps): Just free temp_charset_work.
471 (syms_of_charset): Make `inhibit-load-charset-map' a Lisp
472 variable.
473
474 * chartab.c (sub_char_table_ref_and_range): Adjusted for the
475 change of char_table_ref_and_range.
476 (char_table_ref_and_range): Change the meaning of argument FROM
477 and TO. Now the caller must provide initial values for *FROM
478 and *TO.
479
480 * fontset.c (fontset_add): Adjusted for the change of
481 char_table_ref_and_range.
482 (fontset_get_font_group): Likewise.
483 (Ffontset_info): Likewise.
484
485 * keymap.c (describe_vector): Adjusted for the change of
486 char_table_ref_and_range. For char-table, put boundary between
487 non-ASCII and 8-bit characters.
488
489 * print.c (print_object): For bool-vector, delete unnecessary
490 check of ASCII_BYTE_P.
491
9196133b
JR
4922008-11-26 Jason Rumney <jasonr@gnu.org>
493
494 * w32font.c (w32font_open_internal): Don't include external
495 leading in font height.
496
9f688acf
GM
4972008-11-26 Glenn Morris <rgm@gnu.org>
498
499 * xfaces.c (Fx_font_family_list): Replace lisp/term/pc-win.el
500 redefinition with ifdef. (Bug#1383)
501
90d19aff
AR
5022008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
503
504 * nsterm.m (ns_get_color): Handle long hex strings (fixes bug #1044).
505
4ccfa1c0 5062008-11-24 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
90d19aff
AR
507
508 * nsterm.m (-otherMouseDown:, -otherMouseUp:, -otherMouseDragged):
509 New EmacsView methods.
510 (EV_UDMODIFIERS, EV_BUTTON): Add OtherMouse constants.
511 Fixes bug #1048,1357,1414.
512
5132008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
514
515 Fix bug #1362.
516 * image.c (x_clear_image_1): Do not free background under HAVE_NS, it
517 is not an indexed color.
518 * nsterm.m (free_indexed_color): Add argument checking.
519 * nsfns.m: Move config.h to before system includes (advised by Dan N.).
520
e7d5ecb3
CY
5212008-11-24 Chong Yidong <cyd@stupidchicken.com>
522
523 * minibuf.c (Fcompleting_read, Vminibuffer_completion_confirm):
524 Document confirm-after-completion value for
525 minibuffer-completion-confirm.
526
c285743c
JR
5272008-11-24 Jason Rumney <jasonr@gnu.org>
528
529 * w32font.c (check_face_name): Use xstrcasecmp. Avoid compiler
530 warning.
531
b0857706
JR
5322008-11-23 Jason Rumney <jasonr@gnu.org>
533
534 * w32uniscribe.c (uniscribe_encode_char): Ensure context is
535 restored before returning.
536
537 * w32font.c (check_face_name): New function.
538 (add_font_entity_to_list): Use it to filter out common substituted
539 fonts.
540
ee50ff07
MR
5412008-11-22 Martin Rudalics <rudalics@gmx.at>
542
543 * buffer.c (Fswitch_to_buffer): Reword and mention new option
544 confirm-nonexistent-file-or-buffer in doc-string.
545
b8ff72fa
SM
5462008-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
547
548 * buffer.c (Fbuffer_swap_text): Remove redundant marker manipulation.
549 Fix copy/paste typo. Add checks.
550
cee53ed4
KH
5512008-11-21 Kenichi Handa <handa@m17n.org>
552
553 * coding.c (detect_coding_iso_2022): Reject invalid composition
554 sequence.
555 (DECODE_COMPOSITION_START): If the current source is the last
556 block, and the current composition doesn't end, regard this
557 sequence as invalid.
558 (decode_coding_iso_2022): Handle invalid composition sequence.
559
f6ef1e65
MR
5602008-11-20 Martin Rudalics <rudalics@gmx.at>
561
562 * window.c (coordinates_in_window): Don't return
563 ON_VERTICAL_BORDER for the rightmost position of a mode/header
564 line when the window is not the rightmost one. (Bug#1372)
565
e08b1705
MR
5662008-11-16 Ben North <ben@redfrontdoor.org> (tiny change)
567
568 * buffer.c (syms_of_buffer): Fix doc-string of cursor-type.
569
ad98e89f
EZ
5702008-11-15 Eli Zaretskii <eliz@gnu.org>
571
572 * msdos.c (run_msdos_command): Don't call dos_ttcooked, dos_ttraw,
573 and bright_bg if noninteractive is non-zero.
574
fb098a4b
CY
5752008-11-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
576
577 * xterm.c (x_draw_glyph_string): For stretch glyphs, don't call
578 x_draw_glyph_string_background.
579
580 * w32term.c (x_draw_glyph_string): Likewise.
581
ce952b6e
CY
5822008-11-15 Chong Yidong <cyd@stupidchicken.com>
583
584 * xterm.c (x_draw_glyph_string): Stop drawing the background of
585 the next glyph string once past the overhang width.
586
587 * nsterm.m (ns_draw_glyph_string): Likewise.
588
589 * w32term.c (x_draw_glyph_string): Likewise.
590
26ea7079
CY
5912008-11-14 Fabrice Popineau <fabrice.popineau@supelec.fr> (tiny change)
592
593 * fileio.c (Finsert_file_contents): Decrement specpdl_ptr to avoid
594 double file close.
595
1c33c906
MR
5962008-11-14 Martin Rudalics <rudalics@gmx.at>
597
598 * window.c (window_loop): In DELETE_BUFFER_WINDOWS case, reset
599 dedicated status of window before attempting to display another
600 buffer in it.
601
8fc29035
JB
6022008-11-14 Juanma Barranquero <lekktu@gmail.com>
603
604 * msdos.c (Fmsdos_long_file_names):
605 (syms_of_msdos) <dos-unsupported-char-glyph>:
606 * dosfns.c (Fint86): Fix typos in docstrings.
607
55fb4286
EZ
6082008-11-14 Eli Zaretskii <eliz@gnu.org>
609
610 * makefile.w32-in (OBJ1, WIN32OBJ): Fix whitespace.
611
3fda0315
KY
6122008-11-14 Katsumi Yamaoka <yamaoka@jpl.org>
613
614 * puresize.h (BASE_PURESIZE): Increase to 1260000.
615
7e849c17
CY
6162008-11-12 Michal Nazarewicz <mina86@tlen.pl> (tiny change)
617
618 * frame.c (x_set_alpha): Set alpha to -1 if nil given.
619
620 * frame.h: Negative alpha means "don't touch".
621
622 * w32term.c (x_set_frame_alpha): Do nothing if alpha is negative.
623
624 * xterm.c (x_set_frame_alpha): Do nothing if alpha is negative.
625
b9fd67bd
DN
6262008-11-12 Dan Nicolaescu <dann@ics.uci.edu>
627
628 * hftctl.c:
629 * chpdef.h:
630 * acldef.h: Remove files used only for systems no longer supported.
631
632 * Makefile.in: Fix .o alphabetical ordering.
633 (hftctl.o): Remove dependency, file removed.
634 (keymap.o, print.o): Depend on charset.h.
635
d5998e03
KH
6362008-11-10 Kenichi Handa <handa@m17n.org>
637
2ae37cf0 638 * character.c (Fget_byte): Fix and make it faster for unibyte target.
d5998e03 639
be70e183
CY
6402008-11-08 Chong Yidong <cyd@stupidchicken.com>
641
642 * dired.c (file_name_completion): If completion_ignore_case is
643 enabled, ignore case when checking completion-regexp-list.
644
7cf94eac
EZ
6452008-11-08 Eli Zaretskii <eliz@gnu.org>
646
647 * vm-limit.c (get_lim_data): Fix last change.
648
ee107a89
KH
6492008-11-08 Kenichi Handa <handa@m17n.org>
650
651 * character.c (Fget_byte): New function.
652 (syms_of_character): Defsubr Fget_byte.
653
5fd15622
CY
6542008-11-07 Chong Yidong <cyd@stupidchicken.com>
655
656 * xdisp.c (try_window_reusing_current_matrix): Ensure that window
657 cursor position is valid after scrolling.
658
13d62fad
JB
6592008-11-06 Juanma Barranquero <lekktu@gmail.com>
660
661 * fns.c (Frandom): Rename arg N to LIMIT to match the docs; doc fix.
662
a1dd2936
GM
6632008-11-06 Glenn Morris <rgm@gnu.org>
664
665 * xterm.c (handle_one_xevent): Don't let popup menus cause
666 mouse-autoselect-window related window switching. (Bug#1261)
667
860cd236
CY
6682008-11-04 David Smith <davidsmith@acm.org> (tiny change)
669
670 * xterm.c (xim_close_dpy): Avoid double-free on X11R6 XIM.
671
653a3150
AS
6722008-11-04 Andreas Schwab <schwab@suse.de>
673
674 * xfns.c (Fx_wm_set_size_hint): Add missing return value.
675
870f5cac
CY
6762008-11-03 Chong Yidong <cyd@stupidchicken.com>
677
678 * xfns.c (Fx_wm_set_size_hint): New function.
679
1e02f3cb
MR
6802008-11-03 Martin Rudalics <rudalics@gmx.at>
681
682 * textprop.c (Fprevious_single_char_property_change): Return 0
683 when there's no change in a string. (Bug#1301)
684
e630dfc6
MR
6852008-11-02 Martin Rudalics <rudalics@gmx.at>
686
687 * frame.c (do_switch_frame): New argument NORECORD passed to
688 Fselect_window.
689 (Fselect_frame): New argument NORECORD passed to
690 do_switch_frame.
691 (Fset_frame_selected_window): New argument NORECORD passed to
692 Fselect_frame.
693 (Fhandle_switch_frame, Fdelete_frame): Handle NORECORD argument
694 in call of do_switch_frame.
695 (Fset_mouse_position, Fset_mouse_pixel_position, Fraise_frame):
696 Handle NORECORD argument in call of Fselect_frame.
697 * lisp.h (do_switch_frame, Fselect_frame)
698 (Fset_frame_selected_window): Adjust declarations.
699 * window.c (select_frame_norecord): New function.
700 (run_window_configuration_change_hook): Use it and call
701 Fselect_frame with NORECORD set.
702 (Fselect_window): Pass NORECORD to Fselect_frame.
703 (Fset_window_configuration): Handle NORECORD argument in call of
704 do_switch_frame.
705 * minibuf.c (choose_minibuf_frame): Handle NORECORD in call of
706 Fset_frame_selected_window.
707 * keyboard.c (command_loop_1): Handle NORECORD in call of
708 Fselect_frame (currently ifdefd).
709
9020b223
GM
7102008-11-02 Ulrich Mueller <ulm@kph.uni-mainz.de>
711
712 * emacs.c (USAGE2): Untabify.
713
793ffee8
SM
7142008-11-01 Stefan Monnier <monnier@iro.umontreal.ca>
715
716 * composite.c (fill_gstring_header): Fix copy/paste typo.
717
ab6d1131
MR
7182008-10-31 Martin Rudalics <rudalics@gmx.at>
719
720 * window.c (Fnext_window, Fprevious_window): Rewrite doc-string.
721 (Fother_window): Rename argument and rewrite doc-string.
722 (select_window_norecord): Fix return value. (Bug#1276)
723
601a9cf1
JB
7242008-10-30 Juanma Barranquero <lekktu@gmail.com>
725
726 * w32fns.c (x_create_tip_frame): Prevent default foreground color for
727 new frames overriding foreground for tooltips. Based on similar patch
728 from Martin Rudalics <rudalics@gmx.at>. (Bug#1032)
729
813b0652
CY
7302008-10-29 Chong Yidong <cyd@stupidchicken.com>
731
732 * emacs.c (Fdaemon_initialized): Initialize nfd.
733
4414f58f
MR
7342008-10-29 Martin Rudalics <rudalics@gmx.at>
735
736 * window.c (Fwindow_height, Fdelete_window, set_window_buffer)
737 (Fwindow_text_height): Clarify doc-strings.
738 * xdisp.c (syms_of_xdisp): Mention set-window-buffer in
739 doc-string of window-scroll-functions.
740
ecdcaa09
RS
7412008-10-28 Reiner Steib <Reiner.Steib@gmx.de>
742
743 * category.c (syms_of_category): Fix typo in docstring.
744
23fe745a
JB
7452008-10-28 Juanma Barranquero <lekktu@gmail.com>
746
747 * window.c (Fwindowp, Fwindow_live_p, Fwindow_minibuffer_p)
748 (Fcoordinates_in_window_p, Fscroll_left, Fscroll_right):
749 Fix typos in docstrings.
750
ff808935
DN
7512008-10-28 Dan Nicolaescu <dann@ics.uci.edu>
752
753 * emacs.c (daemon_pipe): Make non-static.
754 (IS_DAEMON): Move definition ...
755 * lisp.h (IS_DAEMON): ... here.
756 (daemon_pipe): Declare.
757 (is_daemon): Remove.
758 * dispnew.c (init_display): Use IS_DAEMON.
759
fc012771
SM
7602008-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
761
762 * xdisp.c (pos_visible_p, redisplay_internal, message3_nolog)
763 (message2_nolog): Check FRAME_INITIAL_P instead of noninteractively.
764
765 * emacs.c (is_daemon): Remove.
766 (main): Don't set is_daemon.
767 (IS_DAEMON): New macro.
768 (Fdaemonp, Fdaemon_initialized): Use it.
601a9cf1 769 (Fdaemon_initialized): Write a char into the pipe to make sure the
fc012771
SM
770 parent exits.
771 (syms_of_emacs): Explicitly initialize daemon_pipe[1].
772
d8bdbe6f
CY
7732008-10-27 Chong Yidong <cyd@stupidchicken.com>
774
d1a072bf
CY
775 * nsterm.m (ns_draw_window_cursor): When hbar cursor is on
776 over-sized glyph, draw it with the default glyph width.
777
e2e325aa
CY
778 * w32term.c (x_draw_bar_cursor): When hbar cursor is on over-sized
779 glyph, draw it with the default glyph width.
780
781 * xterm.c (x_draw_bar_cursor): When hbar cursor is on over-sized
782 glyph, draw it with the default glyph width.
783
d8bdbe6f
CY
784 * xdisp.c (try_scrolling): When computing the distance from the
785 scroll margin to PT, try moving some distance past the window
786 bottom before giving up.
787
7bfac547
MR
7882008-10-27 Martin Rudalics <rudalics@gmx.at>
789
790 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p)
791 (Fset_window_buffer): Explain in doc-string that a window can be
792 "strongly" dedicated to its buffer.
793
4ff029f6
DN
7942008-10-27 Dan Nicolaescu <dann@ics.uci.edu>
795
796 * emacs.c (daemon_name): New variable.
797 (main): Deal with --daemon=SERVER_NAME.
798 (Fdaemonp): Return a name if one was passed to --daemon.
799
5790ef40
DN
8002008-10-26 Romain Francoise <romain@orebokech.com>
801
f9bd0df9 802 * emacs.c (daemon_pipe): New variable.
5790ef40
DN
803 (main): Create a pipe before forking, make the parent exit only after
804 the child has closed its end of the pipe. Move closing the
805 descriptors ...
806 (Fdaemon_initialized): ... here. New function.
807
f5385255
SM
8082008-10-26 Stefan Monnier <monnier@iro.umontreal.ca>
809
4d632321
SM
810 * chartab.c (Foptimize_char_table): Make sure `ascii' doesn't point to
811 the previous unoptimized table.
812
f5385255
SM
813 * window.c (Fset_window_buffer): Undo 2008-10-18 change to re-instate
814 the distinction between non-nil and non-t value of `dedicated'.
815
6c56a0f3
CY
8162008-10-25 Chong Yidong <cyd@stupidchicken.com>
817
818 * keyboard.c (read_char_minibuf_menu_prompt): Ensure that
f5385255 819 read_char_minibuf_menu_text is large enough to hold the menu string.
6c56a0f3 820
fec89261
MR
8212008-10-25 Martin Rudalics <rudalics@gmx.at>
822
823 * window.c (Fget_buffer_window, Fdelete_windows_on)
824 (Freplace_buffer_in_windows): Make buffer argument optional and
825 rename to buffer_or_name.
826
34fcddd0
CY
8272008-10-24 Chong Yidong <cyd@stupidchicken.com>
828
f5385255
SM
829 * xdisp.c (handle_single_display_spec, handle_display_prop):
830 Undo 2005-05-16 change.
34fcddd0
CY
831 (handle_stop): Pop iterator if it's loaded with an empty string.
832 (get_overlay_strings_1): Don't save iterator if it's loaded with
833 an empty string (bug#1201).
834
064766f2
KH
8352008-10-24 Kenichi Handa <handa@m17n.org>
836
837 * ftfont.c (ftfont_otf_features): Fix previous change.
838 (ftfont_otf_capability): Check FeatureList.FeatureCount before
839 calling ftfont_otf_features.
840
f9bd0df9 8412008-10-24 Kenichi Handa <handa@m17n.org>
064766f2
KH
842
843 * font.c (font_match_p): Fix for the case that a vector of
844 characters is in script-representative-chars.
845
1dae9197
MA
8462008-10-24 Michael Albinus <michael.albinus@gmx.de>
847
848 * dbusbind.c (xd_in_read_queued_messages): New variable.
f5385255 849 (XD_SIGNAL1, XD_SIGNAL2, XD_SIGNAL3): New macros. Throw Qdbus_error.
1dae9197
MA
850 (xd_read_queued_messages): Catch Qdbus_error from the macros.
851 (all): Replace xsignal1, xsignal2, xsignal3 by the respective
852 macro. (Bug#1186).
853
f9bd0df9 8542008-10-23 Ali Bahrami <ali_gnu@emvision.com> (tiny change)
9b3362b8
DN
855
856 * s/sol2-10.h: New file.
857
878a4584
JB
8582008-10-23 Juanma Barranquero <lekktu@gmail.com>
859
860 * xdisp.c (fill_glyph_string): Fix typo in source (though the
861 poor beast has survived 9+ years and the jump from xterm.c!).
862
cd265ca6
MR
8632008-10-23 Martin Rudalics <rudalics@gmx.at>
864
865 * buffer.c (Fget_buffer_create): Rename arg to buffer_or_name.
866 Reword doc-string.
f5385255 867 (Fbury_buffer): In doc-string say what happens to the buffer's window.
cd265ca6 868
472a4dc9
JB
8692008-10-23 Juanma Barranquero <lekktu@gmail.com>
870
871 * character.c (syms_of_character) <script-representative-chars>:
872 <unicode-category-table>: Doc fixes.
873
159bd5a2
NF
8742008-10-23 Noah Friedman <friedman@splode.com>
875
876 * coding.c (make_conversion_work_buffer): Check that
877 Vcode_conversion_reused_workbuf is a live buffer, otherwise call
878 Fget_buffer_create.
879
49f9c344
KH
8802008-10-23 Kenichi Handa <handa@m17n.org>
881
882 * font.c (font_add_log): Check the values of extra properties.
883
12bb3111
MR
8842008-10-22 Martin Rudalics <rudalics@gmx.at>
885
886 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
887 Reword doc-string.
888 (Fset_window_parameter): Use NILP.
889 (Fscroll_up, Fscroll_down, Fminibuffer_selected_window)
f5385255 890 (Frecenter): Use "selected" instead of "current" window in doc-strings.
12bb3111 891
bbeb4e99
JB
8922008-10-22 Juanma Barranquero <lekktu@gmail.com>
893
894 * xdisp.c (next_element_from_buffer): Remove bogus xassert condition.
895
8962008-10-22 Adrian Robert <Adrian.B.Robert@gmail.com>
cb83c00b
AR
897
898 * nsfns.m (ns_appkit_version): New function.
899 (x-server-version): Use it.
900 (syms_of_nsfns): Define ns-version-string here, not nsterm.m.
901 (x-server-vendor): Don't check_ns().
902
903 * nsterm.m (syms_of_nsterm): Drop ns-version-string.
904
a9b555d3
JB
9052008-10-22 Juanma Barranquero <lekktu@gmail.com>
906
907 * w32fns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert.
908 Copied from 2005-02-03 change to xfns.c by Kim F. Storm.
909
4626499f
KH
9102008-10-22 Kenichi Handa <handa@m17n.org>
911
e3681952
KH
912 * syntax.c (scan_words): Call word_boundary_p instead of comparing
913 scripts.
914
4626499f
KH
915 * category.c (word_boundary_p): Check scripts instead of charset.
916 Handle nil value in word-separating-categories and
917 word-combining-categories.
918 (syms_of_category): Fix docstrings of word-separating-categories
919 and word-combining-categories.
920
1560f91a
EZ
9212008-10-21 Eli Zaretskii <eliz@gnu.org>
922
923 * coding.c (Fencode_coding_region, Fdecode_coding_region)
924 (Fdecode_coding_string, Fencode_coding_string): Doc fix.
925
f4668441
MR
9262008-10-21 Martin Rudalics <rudalics@gmx.at>
927
928 * buffer.c (Fget_buffer, Fbury_buffer, switch_to_buffer_1):
929 Rename arg "buffer" to "buffer_or_name".
930 (Fkill_buffer): Rename arg "buffer" to "buffer_or_name" and make
931 it optional.
932 (no_switch_window): Remove since the return value is not used.
a9b555d3 933 (Fswitch_to_buffer): Rename arg "buffer" to "buffer_or_name".
f4668441
MR
934 Consider window as dedicated when Fwindow_dedicated_p returns a
935 non-nil value.
936 * lisp.h: Remove prototype for no_switch_window.
937
fd75ddb2
JD
9382008-10-21 Jan Djärv <jan.h.d@swipnet.se>
939
940 * emacs.c (main): Unconditionally set PER_LINUX32 and exec
2ae37cf0 941 temacs when dumping if HAVE_PERSONALITY_LINUX32 is defined.
fd75ddb2 942
07295713
KH
9432008-10-21 Kenichi Handa <handa@m17n.org>
944
945 * coding.c (detect_coding_charset): For iso-8859-* coding systems,
946 check Vlatin_extra_code_table.
947
712adc82
EZ
9482008-10-20 Eli Zaretskii <eliz@gnu.org>
949
950 * fileio.c (Fset_file_modes): Doc fix.
951
f549eb0b
MA
9522008-10-19 Michael Albinus <michael.albinus@gmx.de>
953
954 * dbusbind.c (XD_OBJECT_TO_DBUS_TYPE): Handle simple type symbols
955 in arrays.
956
aac0c6e3
MR
9572008-10-19 Martin Rudalics <rudalics@gmx.at>
958
959 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
960 Mention kill-buffer in doc-string.
961 (Fset_window_buffer): Reinsert tem check removed in last commit.
962 (Fenlarge_window, Fshrink_window): Have argument names and
963 doc-string follow Elisp manual more closely.
964
9652008-10-18 Eli Zaretskii <eliz@gnu.org>
966
967 * fileio.c (Fset_file_modes): Doc fix.
968
9692008-10-18 Martin Rudalics <rudalics@gmx.at>
970
971 * window.c (Fwindow_width, Fset_window_start)
972 (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter)
f5385255
SM
973 (Fdelete_windows_on, Freplace_buffer_in_windows):
974 Make doc-strings follow code and Elisp manual more closely.
aac0c6e3
MR
975 (Fwindow_dedicated_p): Make window argument optional.
976 (Fset_window_dedicated_p): Rename argument "arg" to "flag".
977 (Fset_window_buffer): Respect any non-nil dedicated value for
978 window. Rename "buffer" argument to "buffer_or_name".
979
9802008-10-18 Ulrich Mueller <ulm@gentoo.org>
981
982 * m/sh3.h: New file, machine description for SuperH.
983
9842008-10-17 Martin Rudalics <rudalics@gmx.at>
985
986 * window.c (Fsplit_window): Rename arg horflag to horizontal.
987
9882008-10-17 Kenichi Handa <handa@m17n.org>
989
990 * ftfont.c (ftfont_otf_features): Fix indexing
991 gsub_gpos->FeatureList.Feature. Check the validity of indices.
992
9932008-10-16 Magnus Henoch <mange@freemail.hu>
994
995 * dbusbind.c (Fdbus_call_method): Unbreak usage line.
996 (Fdbus_call_method_asynchronously): Ditto.
997 This change makes C-h f display the argument list.
998
9992008-10-16 Chong Yidong <cyd@stupidchicken.com>
1000
1001 * fileio.c (Fexpand_file_name): Doc fix.
1002
1003 * xfaces.c (Finternal_set_lisp_face_attribute): Make null values
1004 of :foreground and :background equivalent to unspecified (20.x
1005 compatibility).
1006
10072008-10-15 Eli Zaretskii <eliz@gnu.org>
1008
1009 * buffer.c (syms_of_buffer): Doc fix.
1010
10112008-10-14 Kenichi Handa <handa@m17n.org>
1012
1013 * font.c (font_clear_prop): When clearing font width, clear the
1014 average width field too.
1015
10162008-10-12 Andreas Schwab <schwab@suse.de>
1017
1018 * ftfont.c (ftfont_shape_by_flt): Make static.
1019 * ftfont.h (ftfont_shape_by_flt): Don't declare.
1020
1021 * font.c: Don't include <m17n-flt.h>.
1022
10232008-10-10 Eli Zaretskii <eliz@gnu.org>
1024
1025 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Decrease to 10000.
1026
10272008-10-09 Eli Zaretskii <eliz@gnu.org>
1028
1029 * frame.c (make_terminal_frame) [MSDOS]: Remove unused #ifdef'ed
1030 away code.
1031
10322008-10-09 Chong Yidong <cyd@stupidchicken.com>
1033
1034 * dispnew.c (update_text_area): Avoid looping due to large glyph
1035 overhangs (bug#1070).
1036
10372008-10-09 Kenichi Handa <handa@m17n.org>
1038
1039 * fontset.c (face_for_char): If face->fontset is negative, just
1040 return ascii_face.
1041
f5385255
SM
1042 * font.c (font_delete_unmatched): Fix previous change.
1043 Don't reject an entity if DPI and AVGWIDTH of an entity are 0.
aac0c6e3
MR
1044
10452008-10-09 Martin Rudalics <rudalics@gmx.at>
1046
1047 * frame.c (Fraise_frame): On text-only terminals select frame in
1048 order to make it visible. (Bug#1061)
1049
10502008-10-08 Chong Yidong <cyd@stupidchicken.com>
1051
1052 * fontset.c (fontset_find_font): Check frame validity.
1053
10542008-10-07 Chong Yidong <cyd@stupidchicken.com>
1055
a9b555d3 1056 * gtkutil.c (xg_display_open): Reset default display if none exists.
aac0c6e3
MR
1057 (xg_display_close): Allow Emacs to close all displays (bug#985).
1058
10592008-10-06 Andreas Schwab <schwab@suse.de>
1060
f5385255 1061 * sysdep.c (sys_signal): Always set SA_RESTART when noninteractively.
aac0c6e3
MR
1062
10632008-10-06 Chong Yidong <cyd@stupidchicken.com>
1064
f5385255 1065 * emacs.c (Vbefore_init_time, Vafter_init_time): Move from startup.el.
aac0c6e3 1066
a9b555d3 1067 * lisp.h (Vbefore_init_time, Vafter_init_time): Declare.
aac0c6e3
MR
1068
1069 * gtkutil.c (x_wm_set_size_hint): Return immediately if called
1070 during initialization.
1071
10722008-10-04 Eli Zaretskii <eliz@gnu.org>
1073
1074 * xdisp.c (redisplay_internal): If frame switched, redisplay the
1075 whole thing on MSDOS frames as well as on a TTY.
1076
1077 * dispnew.c (update_frame): Flush termscript for MSDOS frames as
1078 well as for TTY.
1079 (Fopen_termscript): Allow opening a termscript on MSDOS frames as
1080 well as on a TTY.
1081
1082 * sysdep.c (init_sys_modes): Set FRAME_GARBAGED_P for MSDOS frames
1083 as well as for TTY.
1084
1085 * systime.h (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
1086
1087 * dispnew.c (change_frame_size_1): Set FrameRows and FrameCols for
1088 MSDOS frames as well.
1089
10902008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
1091
1092 * image.c (x_clear_image_1): Under NS, call ns_free_indexed_color with
1093 correct arguments.
1094 * menu.c (find_and_return_menu_selection) Add cast.
1095
10962008-10-03 Glenn Morris <rgm@gnu.org>
1097
1098 * emacs.c (USAGE1): Add --daemon.
1099
11002008-10-02 Eli Zaretskii <eliz@gnu.org>
1101
1102 * process.c (procfs_system_process_attributes): Multiply `pcpu' by
1103 100, so it's in percents as advertised.
1104
11052008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
1106
1107 * nsterm.h (ns_cursor_types, ns_output.desired_cursor_color)
1108 (ns_output.current_cursor, ns_output.desired_cursor)
1109 (ns_output.last_inactive, FRAME_CURSOR, FRAME_NEW_CURSOR)
1110 (FRAME_NEW_CURSOR_COLOR): Remove.
1111
1112 * nsfns.m (ns_set_cursor_color): Use FRAME_CURSOR_COLOR.
a9b555d3 1113 (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp): Use core Emacs
aac0c6e3
MR
1114 enumeration (HOLLOW_BOX_CURSOR, etc.).
1115
1116 * nsterm.m (ns_frame_rehighlight): Remove commented code.
1117 (draw_window_cursor): Simplify code.
f5385255
SM
1118 (EmacsView-windowDidBecomeKey:,-windowDidResignKey:):
1119 Don't change cursor type. In latter, call rehighlight instead of doing
aac0c6e3 1120 updates manually.
a9b555d3
JB
1121 (EmacsPrefsController-setPanelFromValues,-setValuesFromPanel):
1122 Use core Emacs cursor types.
aac0c6e3 1123
b8ff72fa 1124 * xdisp.c (draw_glyphs): Don't call notice_overwritten_cursor under NS.
aac0c6e3
MR
1125
11262008-10-02 Martin Rudalics <rudalics@gmx.at>
1127
1128 * process.c (Faccept_process_output): Fix doc-string.
1129
11302008-10-02 Dan Nicolaescu <dann@ics.uci.edu>
1131
1132 * gmalloc.c (__sbrk): Also define for uClibc.
1133
1134 * s/gnu-linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Add definition
1135 for uClibc.
1136
11372008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1138
1139 * nsfont.m (nsfont_spec_to_traits): Use UnXX masks only for non-normal
1140 styles.
1141 (nsfont_open): Reenable the cache.
1142
11432008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1144
1145 * font.c (font_matching_entity): Reflect ATTRS in font selection.
1146 (font_find_for_lface) [HAVE_NS]: Don't ignore case.
1147
11482008-09-30 Stefan Monnier <monnier@iro.umontreal.ca>
1149
1150 * dispnew.c (Fsend_string_to_terminal): Don't try to send a string to
1151 a suspended terminal.
1152
11532008-09-30 Michael Albinus <michael.albinus@gmx.de>
1154
1155 * dbusbind.c (xd_signature): Use strcat instead of sprintf.
1156
11572008-09-30 Eli Zaretskii <eliz@gnu.org>
1158
1159 * Makefile.in (MSDOS_SUPPORT): Remove ccl.elc and codepage.elc.
1160
11612008-09-30 Chong Yidong <cyd@stupidchicken.com>
1162
1163 * xdisp.c (move_it_to): Don't advance the iterator if the last tab
1164 in a continued line coincides with a line beginning.
1165
11662008-09-29 Adrian Robert <Adrian.B.Robert@gmail.com>
1167
1168 * nsfont.m (nsfont_trait_distance): Fix bug.
1169 (nsfont_list): Return a list rather than a vector (syncs with Handa
1170 changes of 2008-05-14).
1171 (nsfont_open): Improve logging.
1172
11732008-09-29 Andreas Schwab <schwab@suse.de>
1174
1175 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
1176
11772008-09-28 Martin Rudalics <rudalics@gmx.at>
1178
1179 * character.c (Fchar_resolve_modifiers): Rewrite Elisp function
1180 name as char-resolve-modifiers.
1181 Reported by: Markus Triska <markus.triska@gmx.at>
1182
11832008-09-28 Dan Nicolaescu <dann@ics.uci.edu>
1184
1185 * dispnew.c (init_display): Return earlier when running as a daemon.
1186
11872008-09-27 Adrian Robert <Adrian.B.Robert@gmail.com>
1188
1189 * nsfont.m (nsfont_draw): Fix up composition rendering (cmp_from, ...).
1190
11912008-09-27 Eli Zaretskii <eliz@gnu.org>
1192
1193 * composite.c (Fcomposition_get_gstring)
1194 (Fcompose_region_internal, Fcompose_string_internal)
1195 (Ffind_composition_internal): Doc fix.
1196 (syms_of_composite) <compose-chars-after-function>: Doc fix.
1197 (syms_of_composite) <auto-composition-function>: Doc fix.
1198 (syms_of_composite) <composition-function-table>: Doc fix.
1199
12002008-09-25 Chong Yidong <cyd@stupidchicken.com>
1201
1202 * search.c (wordify): New argument for lax word-ends.
1203 (Fword_search_forward_lax, Fword_search_backward_lax): New funs.
1204
12052008-09-24 Dan Nicolaescu <dann@ics.uci.edu>
1206
1207 * lisp.h (is_daemon): Declare.
1208 * dispnew.c (init_display): Do not try to initialize the terminal
1209 when running as a daemon.
1210
12112008-09-22 Chong Yidong <cyd@stupidchicken.com>
1212
1213 * nsfns.m (compute_tip_xy): Use x_display_pixel_width and
1214 x_display_pixel_height.
1215
12162008-09-22 Martin Rudalics <rudalics@gmx.at>
1217
1218 * undo.c (record_point): Don't call Fundo_boundary for first
1219 change. (Bug#731)
1220
12212008-09-22 Juanma Barranquero <lekktu@gmail.com>
1222
1223 * emacs.c (Fdaemonp): Doc fix.
1224
12252008-09-22 Dan Nicolaescu <dann@ics.uci.edu>
1226
1227 * emacs.c (main): Place #ifdef in the proper place.
1228
12292008-09-21 Dan Nicolaescu <dann@ics.uci.edu>
1230
1231 * emacs.c (standard_args): Add --daemon.
1232 (main): Disconnect from the terminal when --daemon is passed.
1233 (is_daemon): New variable.
1234 (Fdaemonp): New function.
1235 (syms_of_emacs): Defsubr it.
1236
12372008-09-20 Chong Yidong <cyd@stupidchicken.com>
1238
1239 * xdisp.c (get_next_display_element): Handle string display
1240 correctly when checking for the end of a box run.
1241
12422008-09-20 Glenn Morris <rgm@gnu.org>
1243
1244 * fileio.c (Qdelete_by_moving_to_trash): New Lisp_Object.
1245 (syms_of_fileio): Add Qdelete_by_moving_to_trash.
1246 (Frename_file): Avoid copying to trash if a rename involves
1247 a delete. (Bug#964).
1248
12492008-09-20 Eli Zaretskii <eliz@gnu.org>
1250
1251 * keyboard.c (Fset_quit_char, Fset_input_meta_mode)
1252 (Fset_output_flow_control, Fcurrent_input_mode): Support MSDOS
1253 frames as well as termcap frames.
1254 (handle_interrupt): Remove "#ifndef MSDOS" around the call to
1255 get_named_tty.
1256
12572008-09-19 Eli Zaretskii <eliz@gnu.org>
1258
1259 * process.c (procfs_system_process_attributes): Fix cmdline in
1260 case /proc/PID/cmdline is empty.
1261
1262 * xterm.c (x_wm_set_size_hint): Use x_display_pixel_width and
1263 x_display_pixel_height.
1264
12652008-09-19 Juanma Barranquero <lekktu@gmail.com>
1266
1267 * frame.c (x_fullscreen_adjust): Declare var as Display_Info.
1268
1269 * w32fns.c (Fx_display_pixel_width, Fx_display_pixel_height)
1270 (compute_tip_xy): Use x_display_pixel_width, x_display_pixel_height.
1271
12722008-09-19 Dan Nicolaescu <dann@ics.uci.edu>
1273
1274 * dispextern.h (struct it): Move line_wrap away from the middle of
1275 bitfields. Move voffset in struct iterator_stack_entry after the
1276 bitfields. Move tab_width near after another short.
1277
12782008-09-18 Dan Nicolaescu <dann@ics.uci.edu>
1279
1280 * frame.h (struct frame): Move alpha from the middle of bitfields.
1281
1282 * window.h (struct window): Move frozen_window_start_p after the
1283 rest of the bitfields to reduce padding.
1284
12852008-09-18 Chong Yidong <cyd@stupidchicken.com>
1286
1287 * xterm.h (x_display_info): Remove `height' and `width' members.
1288
1289 * nsterm.h (ns_display_info): Remove `height' and `width' members.
1290
1291 * w32term.h (w32_display_info): Remove `height', `width',
1292 `height_in', and `width_in' members.
1293
b8ff72fa
SM
1294 * xterm.c (x_display_pixel_height, x_display_pixel_width):
1295 New functions.
aac0c6e3
MR
1296 (x_calc_absolute_position): Use them.
1297 (x_term_init): Omit removed `height' and `width' members.
1298
b8ff72fa
SM
1299 * w32term.c (x_display_pixel_height, x_display_pixel_width):
1300 New functions.
aac0c6e3
MR
1301 (w32_read_socket, x_calc_absolute_position): Use them.
1302 (w32_initialize_display_info, w32_term_init): Omit removed members
1303 of w32_display_info.
1304
b8ff72fa
SM
1305 * nsterm.m (x_display_pixel_height, x_display_pixel_width):
1306 New functions.
1307 (ns_initialize_display_info): Omit removed members of ns_display_info.
aac0c6e3 1308
b8ff72fa
SM
1309 * xterm.c (x_display_pixel_height, x_display_pixel_width):
1310 New functions.
aac0c6e3
MR
1311 (x_calc_absolute_position): Use them.
1312 (x_term_init): Omit removed `height' and `width' members.
1313
1314 * xfns.c (Fx_display_pixel_width, Fx_display_pixel_height)
b8ff72fa
SM
1315 (compute_tip_xy):
1316 * frame.c (x_fullscreen_adjust):
aac0c6e3
MR
1317 * xmenu.c (menu_position_func): Use x_display_pixel_height and
1318 x_display_pixel_width.
1319
13202008-09-18 Kenichi Handa <handa@m17n.org>
1321
1322 * composite.c (fill_gstring_header): Don't check FROM and TO here.
1323 (composition_compute_stop_pos): Fix handling of static composition.
1324 (Fcomposition_get_gstring): Check FROM and TO at first.
1325
13262008-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
1327
1328 * composite.c (Fcomposition_get_gstring): Yet another int/Lisp_Oject
1329 mixup (YAILOM).
1330
13312008-09-17 Chong Yidong <cyd@stupidchicken.com>
1332
1333 * indent.c (Fvertical_motion): Use position reported by iterator
1334 instead of PT for determining screen motion (bug#943).
1335
13362008-09-17 Romain Francoise <romain@orebokech.com>
1337
1338 * composite.c (composition_adjust_point): Fix int/EMACS_INT mixup.
1339
13402008-09-17 Kenichi Handa <handa@m17n.org>
1341
1342 * ftfont.c (ftfont_shape_by_flt): Downcase family name.
1343
1344 * composite.c (Fcomposition_get_gstring): Make bigger gstring_work
1345 if necessary.
1346
13472008-09-16 Kenichi Handa <handa@m17n.org>
1348
1349 * coding.c (make_conversion_work_buffer): Avoid calling
1350 Fget_buffer_create if it is not necessary.
1351
13522008-09-15 Martin Rudalics <rudalics@gmx.at>
1353
1354 * window.c (Fselect_window): Don't update window_select_count and
1355 use_time when norecord is not nil.
1356
13572008-09-14 Kenichi Handa <handa@m17n.org>
1358
1359 * fileio.c (Finsert_file_contents): Delete incorrect decrement of
1360 specpdl_ptr.
1361
13622008-09-12 Kenichi Handa <handa@m17n.org>
1363
1364 * indent.c (scan_for_column): Don't handle automatic composition
1365 if the current buffer is not associated with a window.
1366
1367 * composite.c (composition_reseat_it): If the current buffer is
1368 not associated with a window, ignore the automatic composition.
1369 (find_automatic_composition): Likewise.
1370
13712008-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
1372
1373 * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
1374 (Fgpm_mouse_stop): Use it.
1375 * termhooks.h (close_gpm): Declare.
1376 * keyboard.c (tty_read_avail_input): Forcefully close the gpm
1377 connection if Gpm_GetEvent fails.
1378
1379 * window.c (set_window_buffer): Always preserve current-buffer.
1380
13812008-09-12 Glenn Morris <rgm@gnu.org>
1382
1383 * charset.c (init_charset): Warn if etc/charsets not found. (Bug#909)
1384
13852008-09-11 Glenn Morris <rgm@gnu.org>
1386
1387 * charset.c (charset-map-path): Doc fix.
1388
13892008-09-10 Kenichi Handa <handa@m17n.org>
1390
1391 * xdisp.c (handle_composition_prop): Set it->cmp_it.ch to -1.
1392
1393 * font.c (Ffont_shape_gstring): Make glyphs of non-nil adjustment
1394 compose a grapheme cluster with the preceding base glyph.
1395
1396 * composite.c (composition_compute_stop_pos): Fix previous change.
1397 Reset cmp_it->id to -1 at first.
1398
13992008-09-10 Glenn Morris <rgm@gnu.org>
1400
1401 * Makefile.in (character.o, chartab.o): Fix config.h typo.
1402
14032008-09-09 Chong Yidong <cyd@stupidchicken.com>
1404
1405 * keyboard.c (read_key_sequence): Reapply translation maps when
1406 switching keyboards.
1407
14082008-09-09 Kenichi Handa <handa@m17n.org>
1409
1410 * ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII
1411 characters.
1412
1413 * composite.c (FORWARD_CHAR): Fix calculation
1414 of (POSITION).pos_byte.
1415 (composition_compute_stop_pos): Limit the search of composition to
1416 at most 500 characters ahead. If we reach the limit or find a
1417 newline, set cmp_it->ch to -2 and return 0.
1418 (composition_reseat_it): Handle the case that cmp_it->ch is -2.
1419
14202008-09-08 Kenichi Handa <handa@m17n.org>
1421
1422 * indent.c (Fvertical_motion): Be sure to set
1423 it_overshoot_expected if it.cmp_it.id is non-negative.
1424
14252008-09-07 Andreas Schwab <schwab@suse.de>
1426
1427 * callproc.c (Fcall_process): Don't hold references to string data
1428 across garbage collection. Move initialisation of new_argv down
1429 to avoid compiler bug.
1430
14312008-09-07 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
1432
1433 * process.c (Fsystem_process_attributes): Doc fix.
1434
14352008-09-07 Chong Yidong <cyd@stupidchicken.com>
1436
1437 * callproc.c (Fcall_process): Canonicalize current directory name.
1438
1439 * xdisp.c (move_it_to): When moving by vpos, ensure that the
1440 iterator advances to the next line if the current line ends in a
1441 continued tab.
1442
14432008-09-07 Teodor Zlatanov <tzz@lifelogs.com>
1444
1445 * nsfont.m (nsfont_draw): Fix the references to missing gidx data
1446 member to point to cmp_from.
1447
1448 * xdisp.c: Doc fix for references to gidx data member.
1449
14502008-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
1451
1452 * buffer.c (Fbuffer_swap_text): Reset window->point markers.
1453
14542008-09-07 Kenichi Handa <handa@m17n.org>
1455
1456 * composite.c (FORWARD_CHAR): Check STOP after
1457 incrementing (POSITION).pos.
1458
14592008-09-06 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
1460
1461 * process.c (Fsystem_process_attributes): Doc fix.
1462
14632008-09-06 Chong Yidong <cyd@stupidchicken.com>
1464
1465 * keyboard.c (Ftop_level): Doc fix.
1466
14672008-09-06 Eli Zaretskii <eliz@gnu.org>
1468
1469 * xmenu.c (xmenu_show) [!HAVE_X_WINDOWS]: If frame has a
1470 minibuffer, don't let lower part of menu invade the echo area.
1471
1472 * msdos.c (IT_menu_display): Use STRING_CHAR_ADVANCE instead of a
1473 "char *q" to access menu text and advance through it. Revert the
1474 change that displayed ">" instead of ASCII character 0x10.
1475
14762008-09-05 Eli Zaretskii <eliz@gnu.org>
1477
1478 * menu.c (single_menu_item) [!HAVE_BOXES]: Enable emulation of
1479 toggle boxes and radio buttons on MS-DOS as well.
1480
14812008-09-05 Kenichi Handa <handa@m17n.org>
1482
1483 * composite.c (autocmp_chars): Check lookback count.
1484 (composition_compute_stop_pos): Set cmp_it->lookback.
1485 (composition_reseat_it): Check lookback count.
1486 (struct position_record): New struct.
1487 (FORWARD_CHAR, BACKWARD_CHAR, CHAR_COMPOSABLE_P): New macros.
1488 (find_automatic_composition): New function.
1489 (composition_adjust_point): Use find_automatic_composition.
1490
1491 * dispextern.h (struct composition_it): New member lookback.
1492
14932008-09-02 Chong Yidong <cyd@stupidchicken.com>
1494
1495 * indent.c (Fvertical_motion): Don't call move_it_by_lines again
1496 if moving by a single line.
1497
14982008-09-02 Andreas Schwab <schwab@suse.de>
1499
1500 * xterm.c (x_delete_display): Fix merge error.
1501
1502 * fileio.c (Fexpand_file_name): Remove unused variables.
1503
15042008-09-02 Eli Zaretskii <eliz@gnu.org>
1505
1506 * fileio.c (Fexpand_file_name): Copy argument `name' into local
1507 storage on all platforms, not just on DOS_NT.
1508
15092008-09-02 Jason Rumney <jasonr@gnu.org>
1510
b8ff72fa
SM
1511 * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show):
1512 Ensure mouse is not grabbed after menu is finished.
aac0c6e3
MR
1513
15142008-09-01 Chong Yidong <cyd@stupidchicken.com>
1515
1516 * xfaces.c (Finternal_set_alternative_font_family_alist)
1517 (Finternal_set_alternative_font_registry_alist): Properly copy
1518 entire alist structure.
1519
15202008-09-01 Kenichi Handa <handa@m17n.org>
1521
1522 * ftfont.c (ftfont_spec_pattern): Don't create a charset of the
1523 representative chars of the script is a vector.
1524 (ftfont_list): Handle the case the representative chars of the
1525 script is a vector.
1526
1527 * character.c (syms_of_character): Docstring of
1528 script-representative-chars fixed.
1529
15302008-08-31 Eli Zaretskii <eliz@gnu.org>
1531
1532 * msdos.c (BUILD_CHAR_GLYPH): New macro.
1533 (IT_menu_display): Use it instead of SET_CHAR_GLYPH to construct
1534 the menu. Allocate larger buffer for `text', to account for
1535 possible ^C characters.
1536
15372008-08-31 Martin Rudalics <rudalics@gmx.at>
1538
1539 * xdisp.c (prepare_menu_bars): Don't call
1540 Vwindow_size_change_functions with arg Qt.
1541
15422008-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
1543
1544 * font.h (font_range):
1545 * fileio.c (report_file_error):
1546 * composite.c (composition_update_it): Yet another int/Lisp_Oject mixup.
1547
15482008-08-30 Glenn Morris <rgm@gnu.org>
1549
1550 * data.c (Fmake_variable_frame_local): Doc fix.
1551
1552 * frame.c (Fmodify_frame_parameters): Doc fix.
1553
15542008-08-30 Eli Zaretskii <eliz@gnu.org>
1555
1556 * w32.c (init_user_info): Allocate buf[] with xmalloc using the size
1557 needed by GetTokenInformation.
1558 (w32_system_process_attributes): Check return values of all system
1559 APIs.
1560
1561 * msdos.c (IT_display_cursor): Write "CURSOR ON/OFF" to termscript
1562 only when the state changes.
1563 (IT_update_begin, IT_update_end): Add termscript trace.
1564
1565 * w16select.c (Fw16_set_clipboard_data): Don't encode text if
1566 clipboard is unavailable. Set dst to NULL if it doesn't point to
1567 malloc'ed data.
1568 (Fw16_get_clipboard_data): Initialize htext to NULL, to avoid
1569 passing random values to xfree.
1570
1571 * dispnew.c (init_display): Set `tty's association in frame's
b8ff72fa 1572 parameters alist to the name of the terminal device, if that is known.
aac0c6e3
MR
1573
15742008-08-29 Jason Rumney <jasonr@gnu.org>
1575
1576 * w32uniscribe.c (uniscribe_check_otf): Don't fallback on DFLT script.
1577
15782008-08-29 Eli Zaretskii <eliz@gnu.org>
1579
1580 * composite.c (fill_gstring_body): Avoid compiler warnings.
1581
1582 * font.c (font_fill_lglyph_metrics): Use EMACS_INT in
1583 LGLYPH_SET_CODE to avoid compiler warnings.
1584
2ae37cf0 1585 * makefile.w32-in ($(BLD)/w32uniscribe.$(O)): Depend on composite.h.
aac0c6e3
MR
1586
1587 * composite.h (LGLYPH_SET_CODE): Cast `val' to EMACS_INT.
1588
1589 * w32uniscribe.c (uniscribe_shape): Shut up compiler warning in
1590 LGLYPH_SET_CODE.
1591
15922008-08-29 Kenichi Handa <handa@m17n.org>
1593
1594 * fileio.c (report_file_error): Don't downcase the first character
1595 of errstring if it is still unibyte.
1596
15972008-08-29 Kenichi Handa <handa@m17n.org>
1598
1599 These changes are to re-implement the automatic composition so
1600 that it doesn't use text properties.
1601
1602 * Makefile.in (ftfont.o): Depend on composite.h.
1603 (composite.o): Depend dispextern.h, font.h, frame, and window.h.
1604
1605 * character.h (Vunicode_category_table): Extern it.
1606
1607 * character.c (Vunicode_category_table): New variable.
1608 (syms_of_character): DEFVAR_LISP Vunicode_category_table.
1609
1610 * chartab.c (optimize_sub_char_table): Perform more greedy
1611 optimization.
1612
b8ff72fa
SM
1613 * composite.h (enum composition_method):
1614 Delete COMPOSITION_WITH_GLYPH_STRING.
aac0c6e3
MR
1615 (COMPOSITION_METHOD): Don't check COMPOSITION_WITH_GLYPH_STRING.
1616 (Vcomposition_function_table): Extern it.
1617 (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h.
1618 (composition_gstring_put_cache, composition_gstring_from_id)
1619 (composition_gstring_p, composition_gstring_width)
1620 (composition_compute_stop_pos, composition_reseat_it)
1621 (composition_update_it, composition_adjust_point): Extern them.
1622 (Fcomposition_get_gstring): EXFUN it.
1623
1624 * composite.c: Include window.h, frame.h, dispextern.h font.h.
1625 (Vcomposition_function_table)
1626 (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING.
b8ff72fa
SM
1627 (gstring_hash_table, gstring_work, gstring_work_headers):
1628 New variables.
aac0c6e3
MR
1629 (gstring_lookup_cache, composition_gstring_put_cache)
1630 (composition_gstring_from_id, composition_gstring_p)
1631 (composition_gstring_width, fill_gstring_header)
1632 (fill_gstring_body, autocmp_chars, composition_compute_stop_pos)
1633 (composition_reseat_it, composition_update_it)
b8ff72fa 1634 (composition_adjust_point, Fcomposition_get_gstring): New functions.
aac0c6e3
MR
1635 (syms_of_composite): Initialize gstring_hash_table, gstrint_work,
1636 and gstring_work_headers. DEFVAR_LISP composition-function-table.
1637 Defsubr compostion_get_gstring.
1638
1639 * dispextern.h (struct glyph): New union u.cmp. Delete the member
1640 cmp_id.
1641 (struct glyph_string): Delete the member gidx. New members
1642 cmp_id, cmp_from, and cmp_to.
1643 (enum it_method): Delete GET_FROM_COMPOSITION.
1644 (struct composition_it): New struct.
1645 (struct it): New member cmp_it, and iterator_stack_entry.cmp_it.
1646 Delete c, len, cmp_id, cmp_len in u.comp.
1647
1648 * font.h (enum lgstring_indices): Delete it.
b8ff72fa 1649 (LGSTRING_XXX, LGLYPH_XXX): Move these macros to composite.h.
aac0c6e3 1650 (enum lglyph_indices): Likewise.
b8ff72fa 1651 (font_range): Adjust extern.
aac0c6e3
MR
1652 (font_fill_lglyph_metrics): Extern it.
1653
1654 * font.c (QCf): New variable.
1655 (check_gstring): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
1656 (font_prepare_composition): Delete this function.
1657 (font_range): Type and arguments changed.
1658 (Ffont_make_gstring, Ffont_fill_gstring): Delete them.
1659 (font_fill_lglyph_metrics): New function.
b8ff72fa 1660 (Ffont_shape_text): Rename to Ffont_shape_gstring and change arguments.
aac0c6e3 1661 (syms_of_font): DEFSYM QCf. Delete defsubr for
b8ff72fa
SM
1662 Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text.
1663 Defsubr Sfont_shape_gstring.
aac0c6e3
MR
1664
1665 * fontset.h (font_for_char): Extern it.
1666
1667 * fontset.c (font_for_char): New function.
1668
1669 * ftfont.c: Include composite.h.
1670 (ftfont_resolve_generic_family): Add langset "en" to pattern.
b8ff72fa 1671 (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
aac0c6e3
MR
1672
1673 * indent.c: Include composite.h and dispextern.h.
1674 (check_composition): Delete this function.
1675 (scan_for_column): Handle composition by
1676 composition_compute_stop_pos, composition_reseat_it, and
1677 composition_update_it.
1678 (compute_motion): Likewise.
1679 (Fvertical_motion): Fix checking of composition.
1680
1681 * keyboard.c (adjust_point_for_property): Check composition by
1682 composition_adjust_point.
1683
b8ff72fa 1684 * nsterm.m (ns_draw_glyph_string): Adjust for the change of
aac0c6e3
MR
1685 struct glyph_string.
1686
b8ff72fa
SM
1687 * term.c (encode_terminal_code): Adjust for the change of struct glyph.
1688 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3
MR
1689 struct glyph.
1690 (produce_composite_glyph): Likewise.
1691
b8ff72fa
SM
1692 * w32term.c (x_draw_composite_glyph_string_foreground):
1693 Adjust for the change of struct glyph_string.
aac0c6e3
MR
1694 (x_draw_glyph_string): Likewise.
1695
1696 * w32uniscribe.c (struct uniscribe_font_info): Include composite.h.
1697 (uniscribe_shape): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
1698
1699 * xdisp.c: Include font.h.
1700 (it_props): Delete the entry for Qauto_composed.
1701 (init_iterator): Initialize it->cmp_it.id to -1.
1702 (compute_stop_pos): Call composition_compute_stop_pos.
b8ff72fa 1703 (face_before_or_after_it_pos): Adjust for the change of struct it.
aac0c6e3
MR
1704 (handle_auto_composed_prop): Delete it.
1705 (handle_composition_prop): Handle only static composition.
1706 (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION
1707 from xassert. Initialize it->cmp_it.stop_pos.
b8ff72fa 1708 (push_it): Adjust for the change of struct it.
aac0c6e3
MR
1709 (pop_it): Likewise.
1710 (get_next_element): Delete next_element_from_composition.
1711 (CHAR_COMPOSED_P): New macro.
1712 (get_next_display_element): For automatic composition, get a face
1713 from the font in the glyph-string.
1714 (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING,
b8ff72fa 1715 check composition by it->cmp_it.id. Delete GET_FROM_COMPOSITION case.
aac0c6e3
MR
1716 (next_element_from_string): Check if the character at the current
1717 position is composed by CHAR_COMPOSED_P.
1718 (next_element_from_buffer): Likewise.
b8ff72fa 1719 (next_element_from_composition): Adjust for the change of struct
aac0c6e3 1720 it. Update it->cmp_it.
b8ff72fa
SM
1721 (dump_glyph): Adjust for the change of struct glyph.
1722 (fill_composite_glyph_string): Adjust for the change of struct
aac0c6e3
MR
1723 it and struct glyph. Don't handle automatic composition here.
1724 (fill_gstring_glyph_string): New function.
1725 (x_get_glyph_overhangs): Handle automatic composition.
b8ff72fa 1726 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the change of struct glyph.
aac0c6e3
MR
1727 (BUILD_GSTRING_GLYPH_STRING): New macro.
1728 (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for
1729 automatic composition.
b8ff72fa 1730 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3 1731 struct glyph.
b8ff72fa 1732 (x_produce_glyphs): Adjust for the change of struct it.
aac0c6e3 1733
b8ff72fa 1734 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aac0c6e3
MR
1735 the change of struct glyph_string.
1736 (x_draw_glyph_string): Likewise.
1737
17382008-08-29 Glenn Morris <rgm@gnu.org>
1739
1740 * buffer.c (word-wrap): Doc fix.
1741 * xdisp.c (truncate-partial-width-windows): Doc fix.
1742 Increase default to 50.
1743
17442008-08-29 Chong Yidong <cyd@stupidchicken.com>
1745
1746 * xdisp.c (update_tool_bar_unwind): New function.
1747 (update_tool_bar): Temporarily set selected frame before building
1748 tool-bar items.
1749
17502008-08-28 Michael Albinus <michael.albinus@gmx.de>
1751
1752 * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and
1753 snprintf, respectively.
1754 (xd_append_arg): Convert strings with Fstring_make_unibyte.
1755
17562008-08-28 Chong Yidong <cyd@stupidchicken.com>
1757
1758 * Makefile.in: Revert (undocumented) 2008-08-20 change adding
1759 LDFLAGS to GNUstep CC invocation.
1760
17612008-08-27 Chong Yidong <cyd@stupidchicken.com>
1762
1763 * indent.c (Fvertical_motion): Revert last change. Handle the
1764 general case where we are moving forward, and PT spans multiple
1765 screen lines.
1766
1767 * eval.c (find_handler_clause): Temporarily increase
1768 max-lisp-eval-depth while printing the backtrace buffer, to
1769 guarantee that help-mode code can run.
1770
17712008-08-27 Eli Zaretskii <eliz@gnu.org>
1772
1773 * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame
1774 colors under -rv.
1775 (IT_set_frame_parameters): Don't swap foreground and background
1776 colors if `(reverse . t)' is present in the frame properties.
1777 (internal_terminal_init): Call init_frame_faces only for the
1778 initial frame.
1779
17802008-08-27 Andreas Schwab <schwab@suse.de>
1781
1782 * dired.c (Ffile_attributes): Avoid compiler warning in bitshift.
1783
17842008-08-27 Andreas Schwab <schwab@suse.de>
1785
1786 * search.c (search_buffer): Set char_base to zero only at the end.
1787
17882008-08-27 Kenichi Handa <handa@m17n.org>
1789
b8ff72fa 1790 * fileio.c (report_file_error): Fix handling of multibyte error string.
aac0c6e3
MR
1791
17922008-08-27 Andreas Seltenreich <seltenreich@gmx.de>
1793
1794 * xterm.c (x_term_init): Temporarily hide the partially
1795 initialized terminal while calling vendor-specific-keysyms.
1796
17972008-08-26 Eli Zaretskii <eliz@gnu.org>
1798
1799 * msdos.c (internal_terminal_init): Most initializations done only
1800 once, especially initial_screen_colors[] and termscript open.
1801
18022008-08-26 Chong Yidong <cyd@stupidchicken.com>
1803
1804 * eval.c (Fcondition_case): Doc fix.
1805
1806 * widgetprv.h (EmacsFramePart): Change font member to the new font
1807 struct.
1808
1809 * widget.c: Include character.h and font.h for XSETFONT.
1810 (setup_frame_gcs): Compute X font id from font struct, just once.
1811
18122008-08-26 Eli Zaretskii <eliz@gnu.org>
1813
1814 * term.c (get_named_tty): Fix last change.
1815
18162008-08-26 Chong Yidong <cyd@stupidchicken.com>
1817
1818 * indent.c (Fvertical_motion): If moving forward starting from a
b8ff72fa 1819 multi-line string, move the iterator to the last line of that string.
aac0c6e3
MR
1820
18212008-08-25 Eli Zaretskii <eliz@gnu.org>
1822
1823 * frame.c (do_switch_frame): Mark previously displayed frame as
1824 obscured for FRAME_MSDOS_P frames as well.
1825
18262008-08-24 Eli Zaretskii <eliz@gnu.org>
1827
1828 * frame.c (make_terminal_frame): Initialize f->terminal,
1829 f->terminal->reference_count, and scroll bars on MS-DOS as well.
1830 Set the top frame to newly created frame.
1831 (Fmake_terminal_frame): Reuse the_only_display_info.
1832
1833 * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of
1834 estimating available memory.
1835
b97439ce 18362008-08-23 David Reitter <david.reitter@gmail.com>
aac0c6e3
MR
1837
1838 * nsterm.m (ns_draw_window_cursor): Don't call
1839 NSDisableScreenUpdates and NSEnableScreenUpdates on
1840 non-NS_IMPL_COCOA systems.
1841
18422008-08-23 Andreas Schwab <schwab@suse.de>
1843
1844 * process.c (procfs_system_process_attributes): Fix use of
1845 uninitialized variables.
1846
18472008-08-23 Eli Zaretskii <eliz@gnu.org>
1848
1849 * emacs.c (main) [MSDOS]: Call syms_of_xmenu.
1850
1851 * dispnew.c (init_display): Remove MS-DOS specific conditions for
1852 calling tty-set-up-initial-frame-faces.
1853
b8ff72fa
SM
1854 * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show):
1855 Allow MSDOS frames along with X frames.
aac0c6e3
MR
1856
1857 * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in
1858 addition to output_termcap.
1859
1860 * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode.
1861
1862 * termchar.h (FRAME_TTY): Support output_msdos_raw.
1863 (struct tty_display_info) [MSDOS]: Add fields related to mouse
1864 highlight.
1865
1866 * process.c [!subprocesses]: Define QCname.
1867 (syms_of_process): Intern and staticpro it.
1868
1869 * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
b8ff72fa
SM
1870 Adjust for changes in encoding/decoding routines.
1871 Use encode_coding_object and decode_coding_object instead of
aac0c6e3
MR
1872 encode_coding and decode_coding.
1873
b8ff72fa 1874 * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as argument.
aac0c6e3
MR
1875
1876 * dosfns.c: Include frame.h before termhooks.h.
1877 (dos_cleanup): Use CURTTY ()->termscript instead of a global
1878 variable termscript.
1879
1880 * s/msdos.h (USER_FULL_NAME): Define.
1881 (SYSTEM_PURESIZE_EXTRA): Bump up to 100K.
1882
1883 * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined.
1884 (Fuser_full_name): Use USER_FULL_NAME instead of a literal
1885 pw->pw_gecos.
1886
1887 * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with
1888 SELECTED_FRAME as additional (1st) argument.
1889 (tty_read_avail_input): Handle output_msdos_raw in
1890 addition to output_termcap.
1891
1892 * msdos.c: Include frame.h before termhooks.h.
1893 (mouse_on, mouse_off, mouse_moveto, mouse_init)
1894 (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs)
1895 (show_mouse_face, IT_clear_end_of_line, IT_clear_screen)
1896 (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto)
1897 (IT_set_terminal_modes, IT_reset_terminal_modes)
1898 (IT_set_frame_parameters): Use tty->termscript instead of a global
1899 variable termscript.
1900 (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a
1901 global variable terminal_coding. Don't refer to
1902 Vnonascii_translation_table.
1903 (internal_terminal_init): Set Vwindow_system in current_kboard.
1904 Don't use TTY_CHAR_INS_DEL_OK. Set Vinitial_window_system.
1905 Announce date and time of session start, if termscript is open.
1906 Don't zero out the_only_display_info (it is done in
b8ff72fa
SM
1907 term.c:init_tty). Open termscript only of not already open.
1908 Log "SCREEN SAVED" here, instead of IT_set_terminal_modes. Init mouse
aac0c6e3
MR
1909 here instead of dos_ttraw. Don't initialize display if this is an
1910 initial tty. Don't set FRAME_FONT.
1911 (Vwindow_system_version): Bump to 23.
1912 (dos_ttraw): Accept a TTY argument; all callers fixed. If mouse
1913 is available, set up mouse_position_hook.
1914 (dos_ttraw, IT_set_terminal_modes): If called with initial
1915 terminal, do nothing.
1916 (IT_set_frame_parameters): Handle the Qtty_type frame
1917 parameter by calling internal_terminal_init.
1918 (dos_set_window_size, show_mouse_face)
1919 (clear_mouse_face, IT_note_mode_line_highlight)
1920 (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date)
1921 (dos_rawgetc): Use tty_display_info instead of x_display_info.
1922 (initialize_msdos_display): New function.
1923 (IT_cursor_to, IT_clear_to_end, IT_clear_screen)
1924 (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs)
1925 (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes)
1926 (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin):
b8ff72fa 1927 Accept additional argument: a pointer to a frame. Update all callers.
aac0c6e3
MR
1928 (request_sigio, unrequest_sigio): Don't define, now defined on
1929 sysdep.c.
1930 (IT_write_glyphs): Rewrite to use encode_terminal_code.
1931
1932 * term.c [MSDOS]: Include msdos.h.
1933 (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch. Change cpp
1934 conditional to DOS_NT. Allow only one call to this function in a
1935 session. Don't allocate a new struct tty_display_info; instead,
1936 reuse the_only_display_info. Call get_tty_size to get screen
1937 dimensions. Call init_baud_rate to set bad_rate.
1938 (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body.
1939 (Fsuspend_tty) [MSDOS]: Don't close input and output.
b8ff72fa 1940 (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use stdin/stdout.
aac0c6e3
MR
1941 (get_tty_terminal, get_named_tty, Ftty_type)
1942 (Fcontrolling_tty_p): Handle output_msdos_raw in addition to
1943 output_termcap.
b8ff72fa
SM
1944 (Fresume_tty, Fsuspend_tty, init_tty, delete_tty):
1945 Call add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor
2ae37cf0 1946 only when subprocesses are supported.
aac0c6e3
MR
1947
1948 * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of
1949 f->output_data.x.
1950 (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new
1951 terminal devices.
1952
5582fbc7 1953 * msdos.h: Remove definition of struct x_display_info and struct
aac0c6e3
MR
1954 x_output.
1955 (FRAME_FONT): Use output_data.tty.
1956 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define.
b8ff72fa
SM
1957 (struct x_display_info): Rename from display_info. Update all users in
1958 msdos.c.
aac0c6e3 1959 (struct x_output): Remove background_pixel and foreground_pixel.
b8ff72fa 1960 (the_only_display_info): Rename from the_only_x_display.
aac0c6e3
MR
1961 (dos_ttraw): Update prototype.
1962
1963 * Makefile.in (MSDOS_OBJ): Add xmenu.o.
1964 (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc.
1965
19662008-08-23 Jason Rumney <jasonr@gnu.org>
1967
1968 * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword.
1969 (fn_TIFFSetDirectory): New library function used.
1970 (init_tiff_functions) [HAVE_NTGUI]: Initialize it.
1971 (tiff_load): Use :index to select among multiple images. Set count
1972 property when multiple images exist.
1973 (gif_format): Use :index, not :image.
1974
19752008-08-23 Chong Yidong <cyd@stupidchicken.com>
1976
1977 * xdisp.c (try_scrolling): Check INT_MAX instead of
1978 MOST_POSITIVE_FIXNUM for maximum integer value. Include limits.h
1979 to obtain INT_MAX.
1980
19812008-08-21 İsmail Dönmez <ismail@namtrac.org> (tiny change)
1982
1983 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+.
1984
19852008-08-21 Christian Faulhammer <opfer@gentoo.org> (tiny change)
1986
1987 * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate
1988 GNUstep library location.
1989
19902008-08-21 Chong Yidong <cyd@stupidchicken.com>
1991
1992 * xfaces.c (x_update_menu_appearance): Check validity of menu font
1993 before using it.
1994
1995 * puresize.h (BASE_PURESIZE): Increase to 1250000.
1996
19972008-08-20 Adrian Robert <Adrian.B.Robert@gmail.com>
1998
1999 * nsfns.m (ns-read-file-name): Add casts to avoid warning.
2000 (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly.
2001 * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil.
2002 * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration.
2003 (EmacsApp-cursor_blink_handler): Remove declaration.
2004 * nsterm.m (ns_draw_glyph_string): Update first conditional body to
2005 match 01 Feb 2008 changes in xterm.c.
2006 (ns_read_socket): Add cast to avoid warning.
2007 (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on
2008 GNUstep.
2009
20102008-08-20 Chong Yidong <cyd@stupidchicken.com>
2011
2012 * xselect.c (x_get_foreign_selection): Return nil if desired
2013 selection could not be obtained, instead of signalling an error.
2014
20152008-08-20 David Reitter <david.reitter@gmail.com>
2016
2017 * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c.
2018 * nsterm.m: Remove ns-specific code for cursor blinking.
2019 (ns_draw_window_cursor): Clear cursor properly rather than
2020 redrawing the area. Respect width of bar cursors.
2021 These changes enable the use of generic blink-cursor-mode and
2022 generic cursor types in NS and support smooth cursor movements (do
2023 not blink off after command).
2024 * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on
2025 Nextstep, too.
2026
20272008-08-19 Kenichi Handa <handa@m17n.org>
2028
2029 * font.c (Vfont_log_deferred): New variable.
2030 (font_add_log): Check Vfont_log_deferred.
2031 (font_deferred_log): New function.
2032
2033 * font.h (font_deferred_log): Extern it.
2034
2035 * fontset.c (reorder_font_vector): Use encoding charset of fonts
2036 for sorting.
2037 (face_for_char): Use deferred log.
2038
20392008-08-18 Kenichi Handa <handa@m17n.org>
2040
2041 * fontset.c (face_for_char): Add font log.
2042
2043 * font.c (font_add_log): Add the font properties :script, :lang,
2044 and :otf in the log.
2045
20462008-08-17 Chong Yidong <cyd@stupidchicken.com>
2047
2048 * xdisp.c: Remove dead code.
2049 (handle_invisible_prop, next_overlay_string): Defer call to
2050 setup_for_ellipsis.
2051 (handle_stop, set_iterator_to_next): Call setup_for_ellipsis.
2052
20532008-08-15 Chong Yidong <cyd@stupidchicken.com>
2054
2055 * xfaces.c (lookup_derived_face): Properly handle possible zero
2056 return value of get_lface_attributes.
2057 (merge_faces): Don't tell lookup_derived_face to signal an error
2058 if face is not found.
2059
2060 * dired.c (Fdirectory_files): Doc fix.
2061
2062 * process.c (make_process): Initialize kill_without_query struct
2063 member.
2064
20652008-08-15 Eli Zaretskii <eliz@gnu.org>
2066
2067 * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]:
2068 Alternative calculation of totphys for Visual Studio 6.
2069
2070 * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR.
2071
2072 * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX):
2073 Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX.
2074 All users changed.
2075 (stat): Only root directory passed to GetDriveType. Allow RAM
2076 disk as well as local fixed disk when w32-get-true-file-attributes
2077 is set to `local'.
2078 (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs.
2079 (equal_sid, get_length_sid, copy_sid): New wrapper functions.
2080 (w32_cached_id, w32_add_to_cache): New functions.
2081 (get_name_and_id): Look account names in the cache before calling
2082 lookup_account_sid.
2083 (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid):
2084 New initialization flags.
2085 (globals_of_w32): Initialize them to zero.
2086 (w32_system_process_attributes): Use w32_cached_id and
2087 w32_add_to_cache.
2088
20892008-08-14 Lawrence Mitchell <wence@gmx.li>
2090
2091 * lread.c (Fread_char, Fread_char_exclusive): If no character
2092 event is read before timeout is reached, return nil, rather than
2093 converting to a number.
2094
20952008-08-14 Chong Yidong <cyd@stupidchicken.com>
2096
2097 * fns.c (use_dialog_box): Doc fix.
2098
2099 * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful
2100 on OS X.
2101
21022008-08-13 Chong Yidong <cyd@stupidchicken.com>
2103
2104 * frame.c (Qns_parse_geometry): New var.
2105 (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry.
2106
21072008-08-11 Chong Yidong <cyd@stupidchicken.com>
2108
2109 * xdisp.c (x_produce_glyphs): Handle the case when font has no
2110 space character in calculating tabs.
2111
21122008-08-11 Dan Nicolaescu <dann@ics.uci.edu>
2113
2114 * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case.
2115
21162008-08-10 Glenn Morris <rgm@gnu.org>
2117
2118 * process.c (procfs_system_process_attributes): Use EMACS_INTs to
2119 silence gcc "limited range of data type" warnings in some
2120 make_fixnum_or_float calls.
2121
21222008-08-09 Eli Zaretskii <eliz@gnu.org>
2123
2124 * w32.c (w32_system_process_attributes): If the process does not
2125 exist, return nil.
2126
2127 * w32.c: Include thelp32.h, psapi.h and coding.h.
2128 (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct
2129 declarations.
2130 (CreateToolhelp32Snapshot_Proc, Process32First_Proc)
2131 (Process32Next_Proc): New typedefs.
2132 (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first)
2133 (g_b_init_process32_next, g_b_init_open_thread_token)
2134 (g_b_init_impersonate_self, g_b_init_revert_to_self)
2135 (g_b_init_get_process_memory_info, g_b_init_global_memory_status)
2136 (g_b_init_get_process_working_set_size)
2137 (g_b_init_global_memory_status_ex): New static variables.
2138 (globals_of_w32): Initialize them.
2139 (create_toolhelp32_snapshot, process32_first, process32_next)
2140 (open_thread_token, impersonate_self, revert_to_self)
2141 (get_process_memory_info, get_process_working_set_size)
2142 (global_memory_status, global_memory_status_ex): New wrapper
2143 functions.
2144 (w32_list_system_processes, w32_system_process_attributes)
2145 (enable_privilege, restore_privilege, ltime, process_times):
2146 New functions.
2147 (convert_time_raw): New function.
2148 (convert_time): Remove conversion of FILETIME into time in 100
2149 nsec units, call convert_time_raw instead.
2150
2151 * process.h (w32_list_system_processes, w32_system_process_attributes):
2152 Add prototypes.
2153 (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname)
2154 (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime)
2155 (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup)
2156 (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations.
2157
2158 * process.c (Fsystem_process_attributes): Doc fix.
2159
21602008-08-08 Chong Yidong <cyd@stupidchicken.com>
2161
2162 * xdisp.c (move_it_to): When stopping at a charpos, check if that's
2163 a continued multi-char glyph; if so, advance to the actual glyph.
2164
21652008-08-07 Dan Nicolaescu <dann@ics.uci.edu>
2166
2167 * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in.
2168
2169 * Makefile.in (ALL_OBJC_CFLAGS): New variable.
2170 (.m.o): Use it.
2171 * config.in: Regenerate.
2172
21732008-08-07 Chong Yidong <cyd@stupidchicken.com>
2174
2175 * xdisp.c (redisplay_window): Revert last change.
2176 (try_window): Check bottom scroll margin too.
2177
21782008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
2179
2180 * config.in: Regenerate.
2181
2182 * Makefile.in (emacs): Remove ifndef NS conditional for 'emacs
2183 -list-load-path-shadows'.
2184 (nsgui.h): Reduce number of things depending on it.
2185
21862008-08-06 Chong Yidong <cyd@stupidchicken.com>
2187
2188 * xdisp.c (try_scrolling): Use iterator to find the scroll margin,
2189 instead of window-end which does the wrong thing at eob.
2190 (try_cursor_movement): Minor optimization.
2191 (redisplay_window): If scroll margin is defined, don't assume
2192 window doesn't need scrolling.
2193
21942008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
2195
2196 * config.in: Regenerate.
2197
2198 * Makefile.in: Move nsXXX.m dependencies into big alphabetical list.
2199 (mostlyclean): Don't delete *.d under NS.
2200
2201 * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER.
2202
22032008-08-06 Kenichi Handa <handa@m17n.org>
2204
2205 * xfont.c (xfont_list_family): Return a list of symbols, not strings.
2206
22072008-08-06 Andreas Schwab <schwab@suse.de>
2208
2209 * config.in: Regenerate.
2210
22112008-08-05 Chong Yidong <cyd@stupidchicken.com>
2212
2213 * xdisp.c (redisplay_window): Don't enforce scroll-margin when
2214 forcing a window start.
2215
2216 * fileio.c (Vauto_save_list_file_name): Move here from file.el.
2217 (auto_save_1): Update modtime when auto-save-list-file-name is on.
2218
22192008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2220
2221 * emacs.c (main): Under NS, set working dir to HOME when get a "psn"
2222 argument.
2223
22242008-08-05 Juanma Barranquero <lekktu@gmail.com>
2225
2226 * buffer.c (syms_of_buffer) <scroll-up-aggressively>:
2227 <scroll-down-aggressively, before-change-functions>:
2228 <after-change-functions>: Reflow docstrings.
2229
22302008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2231 Ken Raeburn <raeburn@gnu.org>
2232
2233 Dock menu customization, based on a patch by Ken Raeburn, plus some
2234 other fixes.
2235 * nsmenu.m (dockMenu): New variable.
2236 (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17.
2237
2238 * nsterm.h (dockMenu): Declare.
2239
2240 * nsterm.m (KEY_NS_NEW_FRAME): New definition.
2241 (ns_term_init): Initialize dockMenu.
2242 (EmacsApp -newFrame:, -applicationDockMenu:): New methods.
2243 (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame
2244 left.
2245
2246 * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA.
2247
22482008-08-04 Chong Yidong <cyd@stupidchicken.com>
2249
2250 * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it.
2251
2252 * config.in: Regenerate.
2253
22542008-08-04 Seiji Zenitani <zenitani@mac.com>
2255
2256 * nsfns.m (x-create-frame): Set the frame parameter alpha to nil.
2257
22582008-08-04 Chong Yidong <cyd@stupidchicken.com>
2259
2260 * nsterm.h (find_and_call_menu_selection): Fix prototype.
2261
22622008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2263
2264 * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS.
2265
2266 * keyboard.h: Comment an #endif.
2267
2268 * lisp.h (have_menus_p): Adjust comment.
2269
2270 * menu.c (find_and_return_menu_selection): Fix comparison with
2271 client_data.
2272
2273 * nsmenu.m (popup_activated_flag): New variable.
2274 (popup_activated): New function.
2275 (menu-or-popup-active-p): New exported lisp definition.
2276 (ns_popup_menu): Set popup_activated_flag. Call discard_menu_items()
2277 when popup done.
2278 (ns_popup_dialog): Set popup_activated_flag.
2279
2280 * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger
2281 version for GNUstep (handled by conditional typedef in nsterm.m).
2282 (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now
2283 in rgb.txt).
2284
2285 * process.c (init_process): Use DARWIN_OS, not DARWIN.
2286
2287 * sysselect.h: Conditionalize init_process undef on DARWIN_OS.
2288
2289 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS.
2290
2291 * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS,
2292 shortcircuit if popup_activated like GTK and X toolkit.
2293
2294 * m/inter386.h: Change DARWIN to DARWIN_OS.
2295
2296 * s/darwin.h: Add #define DARWIN_OS. Get rid of C_SWITCH_SYSTEM def.
2297 Change LIBS_MACGUI to LIBS_NSGUI. Move temacs-conditionalized defs
2298 closer to C_SWITCH_SYSTEM_TEMACS so usage is understood. Expand
2299 comment on NO_SOCK_SIGIO.
2300
23012008-08-03 Chong Yidong <cyd@stupidchicken.com>
2302
2303 * nsterm.m (windowDidResize): Remove stopModal call.
2304
23052008-08-03 Andreas Schwab <schwab@suse.de>
2306
2307 * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define.
2308 (check_memory_limits): Don't handle HAVE_GETRLIMIT here.
2309
23102008-08-02 Chong Yidong <cyd@stupidchicken.com>
2311
2312 * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin.
2313 Don't use uninitialized pointer variable when using getrlimit.
2314
23152008-08-02 Jason Rumney <jasonr@gnu.org>
2316
2317 * w32font.c (compute_metrics): Don't mess with glyph_idx setting here.
2318
23192008-08-02 Eli Zaretskii <eliz@gnu.org>
2320
2321 * alloc.c (NSTATICS): Bump to 0x640.
2322
2323 * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
2324
2325 * lisp.h: Add prototype for directory_files_internal.
2326
2327 * process.c (Fsystem_processes_list, Fsystem_process_attributes):
2328 New functions.
2329 (syms_of_process): Defsubr them. Add initializations for various
2330 Q* symbols used in procfs_system_process_attributes.
2331 (procfs_list_system_processes, procfs_system_process_attributes)
2332 [HAVE_PROCFS]: New functions.
2333 (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname)
2334 (procfs_get_total_memory): New functions.
2335
23362008-08-01 Juanma Barranquero <lekktu@gmail.com>
2337
2338 * xfaces.c (Fx_load_color_file): Fix previous change;
2339 it is #ifdef WINDOWSNT, not WINDOWS_NT.
2340
23412008-08-01 Michael Albinus <michael.albinus@gmx.de>
2342
2343 * dbusbind.c (xd_read_message): Handle D-Bus error messages.
2344
23452008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2346
2347 * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard.
2348
23492008-08-01 Chong Yidong <cyd@stupidchicken.com>
2350
2351 * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha.
2352
2353 * nsterm.m (EmacsApp -application:openFiles:): GNUstep does not
2354 define NSApplicationDelegateReplySuccess.
2355 (EmacsView -converstationIdentifier): Use long instead of
2356 NSInteger for GNUstep, since it doesn't have NSInteger.
2357
2358 * xmenu.c: Revert last change.
2359
2360 * keyboard.h: Fix last change.
2361
23622008-08-01 Juanma Barranquero <lekktu@gmail.com>
2363
2364 * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting
2365 on Windows.
2366
23672008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2368
2369 Warning clearing and clean-up in NS port.
2370 * keyboard.h (xmalloc_widget_value, digest_single_submenu):
2371 Add prototypes.
2372 * nsgui.h (FACE_DEFAULT): Remove, unused.
2373 (XGCValues): Change colors to unsigned long.
2374 * nsterm.h (EmacsApp): Add declaration of all methods implemented in
2375 nsterm.m.
2376 (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class.
2377 (ns_list_fonts): Remove, unused.
2378 (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes.
2379 * nsfns.m (interpret_services_menu): Use NSMenuItem class.
2380 * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc.
2381 (nsfont_draw): Compare face colors to 0, not nil.
2382 * nsmenu.m (struct widget_value): Drop unneeded declaration.
2383 (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:)
2384 (-addSubmenuWithTitle:): Use NSMenuItem class.
2385 (ns_popup_menu): Use NO, not NULL, for enabled setting.
2386 * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0.
2387 (ns_clip_to_row): Make gc arg a BOOL.
2388 (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in
2389 ns_clip_to_row() call.
2390 (ns_draw_glyph_string): Drop face comparison to ~0 (no longer
2391 used). Cast FRAME_FONT assignments.
2392 (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:.
2393 (ns_string_to_lispmod): Change arg to const char.
2394 (ns_term_init): Use NSMenuItem class.
2395 (EmacsApp -openFile:): Move to different section of file.
2396 (EmacsApp -application:openFiles:): Don't return a value, call
2397 -replyToOpenOrPrint:.
2398 (EmacsView -keyDown:): Fix up cast.
2399 (EmacsView -converstationIdentifier): Use NSInteger instead of long.
2400 (EmacsView -menuDown:): Cast tag in call to
2401 find_and_call_menu_selection().
2402 (ns_list_fonts): Remove, unused.
2403 (ns_font_to_xlfd): Make static. Cast result of UTF8String.
2404 (ns_fontname_to_xlfd): Make static.
2405 * w32menu.c (xmalloc_widget_value, digest_single_submenu):
2406 Remove prototypes (now in keyboard.h).
2407 (next_menubar_widget_id): Remove, unused.
2408 * xmenu.c (xmalloc_widget_value, digest_single_submenu):
2409 Remove prototypes (now in keyboard.h).
2410 * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused.
2411
24122008-08-01 Dan Nicolaescu <dann@ics.uci.edu>
2413
2414 * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o)
2415 (floatfns.o): Depend on syssignal.h.
2416 (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC).
2417
2418 * systty.h: Fix previous change that removed BSD_TERMIOS.
2419 Add comments to #ifdefs.
2420
24212008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2422
2423 * w32fns.c (w32-load-color-file): Remove.
2424 (x-open-connection): Use renamed Fx_load_color_file.
2425 * xfaces.c (x-load-color-file): Add.
2426 * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of
2427 Emacs.clr.
2428 (hide_hourglass): BLOCK_INPUT before UNBLOCK.
2429
24302008-07-31 Michael Albinus <michael.albinus@gmx.de>
2431
2432 * dbusbind.c (Fdbus_call_method_asynchronously)
2433 (Fdbus_method_error_internal): New defuns.
2434 (xd_read_message): Handle also reply messages.
2435 (Vdbus_registered_functions_table): Extend docstring.
2436
24372008-07-31 Juanma Barranquero <lekktu@gmail.com>
2438
2439 * keyboard.c (gobble_input): Fix previous change.
2440
24412008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
2442
2443 * bitmaps/README:
2444 * xfns.c:
2445 * termcap.c:
2446 * term.c:
2447 * syswait.h:
2448 * systty.h:
2449 * systime.h:
2450 * syssignal.h:
2451 * sysdep.c:
2452 * process.h:
2453 * process.c:
2454 * print.c:
2455 * ndir.h:
2456 * lread.c:
2457 * keyboard.c:
2458 * getpagesize.h:
2459 * floatfns.c:
2460 * fileio.c:
2461 * emacs.c:
2462 * doc.c:
2463 * dispnew.c:
2464 * dired.c:
2465 * data.c:
2466 * callproc.c:
2467 * buffer.c:
2468 * README:
2469 * Makefile.in:
2470 * s/template.h:
2471 * s/msdos.h:
2472 * m/vax.h: Remove VMS support.
2473 * s/vms.h:
2474 * vlimit.h:
2475 * uaf.h:
2476 * temacs.opt:
2477 * param.h:
2478 * ioctl.h: Remove file.
2479
24802008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
2481
2482 * s/ms-w32.h (MULTI_KBOARD): Remove.
2483 * xterm.c:
2484 * xselect.c:
2485 * xfns.c:
2486 * window.c:
2487 * w32term.c:
2488 * w32fns.c:
2489 * terminal.c:
2490 * termhooks.h:
2491 * term.c:
2492 * sysdep.c:
2493 * keyboard.h:
2494 * keyboard.c:
2495 * frame.h:
2496 * frame.c:
2497 * frame.c: Remove references to MULTI_KBOARD, it is now the default.
2498 * config.in: Regenerate.
2499
25002008-07-30 Jason Rumney <jasonr@gnu.org>
2501
2502 * w32font.h (struct w32font_info): Use unicode version of textmetrics.
2503
2504 * w32font.c (w32font_encode_char): Leave as unicode if in range.
2505 (w32font_open_internal): Get unicode version of textmetrics.
2506 Don't enable or disable glyph indices here.
2507 (w32font_open): Disable use of glyph indices.
2508
2509 * w32uniscribe.c (uniscribe_open): Enable use of glyph indices.
2510
25112008-07-30 Chong Yidong <cyd@stupidchicken.com>
2512
2513 * minibuf.c (Vread_buffer_function): Doc fix.
2514
25152008-07-30 John Paul Wallington <jpw@pobox.com>
2516
2517 * minibuf.c (read_buffer_completion_ignore_case): New var.
2518 (Fread_buffer): Use it.
2519
25202008-07-30 Dan Nicolaescu <dann@ics.uci.edu>
2521
2522 * systty.h (sensemode): Remove empty #if. Remove reference to
2523 BSD_TERMIOS, unused.
2524
2525 * sysdep.c: Remove reference to DGUX.
2526 (closedir): Remove reference to BROKEN_CLOSEDIR, unused.
2527
2528 * config.in: Regenerate.
2529
25302008-07-30 Jason Rumney <jasonr@gnu.org>
2531
2532 * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size.
2533
25342008-07-29 Jason Rumney <jasonr@gnu.org>
2535
2536 * w32uniscribe.c (uniscribe_shape): Avoid using context if cache
2537 is populated.
2538 (uniscribe_encode_char): Always use uniscribe.
2539 Avoid using context if cache is populated.
2540
25412008-07-29 Jan Djärv <jan.h.d@swipnet.se>
2542
2543 * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to
2544 open menu.
2545
2546 * gtkutil.c (menu_nav_ended): Remove.
2547 (create_menus): Remove signal connect for menu_nav_ended.
2548
25492008-07-28 Chong Yidong <cyd@stupidchicken.com>
2550
2551 * xdisp.c (redisplay_window): Check return value of
2552 compute_window_start_on_continuation_line before forcing a window
2553 start.
2554
25552008-07-28 Jason Rumney <jasonr@gnu.org>
2556
2557 * w32font.c (w32font_text_extents): Use w32_metric_cache consistently.
2558
2559 * w32term.c (w32_enable_unicode_output, cleartype_active):
2560 Remove obsolete display options.
2561 (x_draw_glyph_string_background): Don't use old cleartype_active
2562 workaround.
2563 (w32_initialize): Remove cleartype_active initialization.
2564 (syms_of_w32term): Remove w32_enable_unicode_output initialization.
2565
25662008-07-28 Andreas Schwab <schwab@suse.de>
2567
2568 * lisp.h (init_weak_hash_tables, syms_of_font)
2569 (xd_read_queued_messages, syms_of_dbusbind): Declare.
2570 (remove_hash_entry): Don't declare.
2571 * eval.c (maybe_call_debugger): Make static and move before use.
2572 * gtkutil.c: Include <X11/Xft/Xft.h> if HAVE_XFT.
2573 * xdisp.c: Include "gtkutil.h" if USE_GTK.
2574 * xterm.h (x_set_frame_alpha): Declare.
2575
25762008-07-28 Jan Djärv <jan.h.d@swipnet.se>
2577
2578 * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24.
2579 (create_menus): Connect selection-done to menu_nav_ended.
2580
25812008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
2582
2583 * nsfns.m (x-create-frame): Add copy of parms argument to beginning.
2584 Set Vx_resource_name to a fallback. Replace read of 'buffered'
2585 parameter with read of 'alpha' one.
2586 (Qns_frame_parameter): Remove.
5582fbc7 2587 * nsselect.m (selection-coding-system)
aac0c6e3
MR
2588 (next-selection-coding-system, Vselection_coding_system)
2589 (Vnext_selection_coding_system): Drop.
2590
25912008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
2592
2593 * nsfns.m (do-applescript, do_applescript): Rename to
2594 ns-do-applescript, ns_do_applescript, and move within file.
2595
25962008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
2597
2598 Remove support for Mac Carbon.
2599 * mactoolbox.c:
2600 * macterm.h:
2601 * macterm.c:
2602 * macselect.c:
2603 * macmenu.c:
2604 * macgui.h:
2605 * macfns.c:
2606 * mac.c: Remove file.
2607 * s/darwin.h:
2608 * m/intel386.h:
2609 * xfaces.c:
2610 * xdisp.c:
2611 * window.c:
2612 * tparam.c:
2613 * termhooks.h:
2614 * termcap.c:
2615 * term.c:
2616 * syssignal.h:
2617 * sysselect.h:
2618 * sysdep.c:
2619 * process.c:
2620 * lread.c:
2621 * lisp.h:
2622 * keyboard.c:
2623 * image.c:
2624 * fringe.c:
2625 * frame.h:
2626 * frame.c:
2627 * fontset.c:
2628 * font.h:
2629 * font.c:
2630 * fns.c:
2631 * fileio.c:
2632 * emacs.c:
2633 * dispnew.c:
2634 * dispextern.h:
2635 * config.in:
2636 * atimer.c:
2ae37cf0 2637 * Makefile.in: Remove code for Carbon.
aac0c6e3 2638
f0131492 26392008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aac0c6e3
MR
2640
2641 * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.
2642
26432008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2644
2645 * macterm.h (kCGBitmapByteOrder32Host): New define for
2646 non-universal SDKs.
2647
2648 * image.c (mac_create_cg_image_from_image, image_load_image_io)
2649 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
2650
2651 * macterm.c (XDrawLine, XCreatePixmapFromBitmapData)
2652 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
2653
26542008-07-26 David Robinow <drobinow@gmail.com> (tiny change)
2655
2656 * w32inevt.c: Include dispextern.h.
2657
26582008-07-26 Andreas Schwab <schwab@suse.de>
2659
2660 * print.c (print_object): Fix off-by-one in last change.
2661
26622008-07-25 Juanma Barranquero <lekktu@gmail.com>
2663
2664 * term.c (syms_of_term): Don't initialize default_orig_pair,
2665 default_set_foreground and default_set_background on Windows.
2666
26672008-07-25 Jason Rumney <jasonr@gnu.org>
2668
2669 * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to
2670 ScriptItemize. Clean up return value checking. Remove unused
2671 variables.
2672 (uniscribe_encode_char): Encode non-BMP characters with uniscribe
2673 shaping engine.
2674
2675 * w32font.c (w32font_has_char): Handle the case where we can't
2676 determine the script for a character.
2677
26782008-07-25 Chong Yidong <cyd@stupidchicken.com>
2679
2680 * term.c (syms_of_term): Initialize default_orig_pair,
2681 default_set_foreground, and default_set_background.
2682
2683 * getloadavg.c (nl): Rename to name_list to avoid ncurses.h
2684 clash (bug#86).
2685 (getloadavg): Callers changed.
2686
2687 * image.c (svg_load_image): Fix last change.
2688 (svg_load_image): Use rsvg_handle_get_dimensions to check that
2689 image size is valid. Use g_object_unref instead of deprecated
2690 rsvg_handle_free to free rsvg handle.
2691 (x_from_xcolors): Don't initialize pixmap (silence compiler).
2692
26932008-07-25 Jason Rumney <jasonr@gnu.org>
2694
2695 * w32font.c (w32font_encode_char): Encode characters outside BMP as
2696 surrogates before looking up glyph index.
2697 (w32font_text_extents): Encode as surrogates if falling back to
2698 functions that need UTF-16 wide chars.
2699
2700 * w32uniscribe.c (uniscribe_encode_char): Encode characters outside
2701 BMP as surrogates before looking up glyph index.
2702
27032008-07-25 Chong Yidong <cyd@stupidchicken.com>
2704
2705 * image.c (svg_load_image): Check for failure in return value of
2706 rsvg_handle_get_pixbuf. Free rsvg handle when done.
2707
27082008-07-25 Jason Rumney <jasonr@gnu.org>
2709
2710 * w32font.c (Fx_select_font): Reverse sense of second arg.
2711
27122008-07-24 Stefan Monnier <monnier@iro.umontreal.ca>
2713
2714 * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos)
2715 (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions.
2716
2717 * puresize.h (PURESIZE_CHECKING_RATIO): New macro.
2718 (PURESIZE): Use it.
2719
27202008-07-24 Dan Nicolaescu <dann@ics.uci.edu>
2721
2722 * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs.
2723 * m/alpha.h (TEXT_END):
2724 * m/ibmrs6000.h (TEXT_END):
2725 * m/macppc.h (TEXT_END):
2726 * s/darwin.h (TEXT_END):
2727 * s/msdos.h (TEXT_END): Remove, unused.
2728 * s/gnu-linux.h (BSD_PGRPS): Add a comment.
2729 * s/cygwin.h: Remove comment.
2730
2731 * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused.
2732 (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES.
2733 * m/intel386.h (DOT_GLOBAL_START):
2734 * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES.
2735 (USG): Remove, file not used on USG platforms.
2736
2737 * Makefile.in (HAVE_X11): Remove empty #else.
2738
27392008-07-24 Andreas Schwab <schwab@suse.de>
2740
2741 * fileio.c (Finsert_file_contents): Properly adjust undo list
2742 after format conversion.
2743
27442008-07-24 Jan Djärv <jan.h.d@swipnet.se>
2745
2746 * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG.
2747 (menu_nav_ended): Remove.
2748 (create_menus): Remove signal connect for menu_nav_ended.
2749 (xg_update_menubar): Also take deactivate_cb as parameter, pass it to
2750 create_menus.
2751 (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar.
2752
27532008-07-23 Jason Rumney <jasonr@gnu.org>
2754
2755 * w32font.c (w32_enumfont_pattern_entity): Return height consistent
2756 with opened font.
2757 (w32font_open): Set font type to gdi.
2758
2759 * w32uniscribe.c (uniscribe_open): Set font type to uniscribe.
2760
27612008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
2762
2763 * s/usg5-4.h (ADDR_CORRECT): Remove, unused.
2764 * unexaix.c (ADDR_CORRECT): Remove conditional, the only user
2765 defines it.
2766 * unexec.c (ADDR_CORRECT): Define unconditionally.
2767
2768 * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove.
2769
2770 * unexec.c: Remove code depending on !COFF and USG, the file is
2771 not used for such systems.
2772
2773 * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
2774 * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused.
2775 (LD_SWITCH_SYSTEM_1): Remove, update users.
2776
2777 * s/darwin.h (DATA_END):
2778 * m/intel386.h (DATA_END):
2779 * m/ibmrs6000.h (DATA_END):
2780 * m/alpha.h (DATA_END): Remove, unused.
2781
2782 * config.in: Regenerate.
2783 * s/ms-w32.h (subprocesses): Define unconditionally.
2784 * s/template.h (subprocesses): Update comment.
2785 * s/vms.h (subprocesses):
2786 * s/usg5-4.h (subprocesses):
2787 * s/hpux10-20.h (subprocesses):
2788 * s/gnu-linux.h (subprocesses):
2789 * s/cygwin.h (subprocesses):
2790 * s/bsd-common.h (subprocesses):
2791 * s/aix4-2.h (subprocesses):
2792 * s/darwin.h (subprocesses): Do not define, defined by default now.
2793
2794 * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused.
2795 Remove all references.
2796 (temacs): Add GNUstep specific ld flags.
2797
2798 * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing,
2799 similarly to what X does.
2800
28012008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
2802
2803 * nsfns.m (x-list-fonts): Remove.
2804 (syms_of_nsfns): Drop the x-list-fonts declaration.
2805 * nsterm.m: Get rid of remaining "//" comments.
2806
28072008-07-22 Chong Yidong <cyd@stupidchicken.com>
2808
2809 * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
2810
2811 * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p)
2812 (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal)
2813 (Fns_own_selection_internal, Fx_disown_selection_internal)
2814 (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal):
2815
2816 * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /*
2817 ... */' style of docstrings. Doc fixes.
2818
28192008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
2820
2821 * terminfo.c (UP, BC, PC): Undo previous change.
2822
2823 * nsfns.m: Rename ns prefixed functions/variables to the
2824 corresponding x versions. Update references.
2825
28262008-07-22 Stefan Monnier <monnier@iro.umontreal.ca>
2827
2828 * syntax.c (char_quoted): Check "charpos > beg" before decrementing.
2829
28302008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
2831
2832 * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):
2833 Remove forwarding functions.
2834 (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make
2835 non-static.
2836 (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make
2837 non-static.
2838 (ns_frame_parm_handlers): Use the new names.
2839 (syms_of_nsfns): Move to the end of file.
2840
2841 * nsterm.m (syms_of_nsterm): Move to the end of file.
2842
2843 * dispnew.c (init_display): Remove code for X10.
2844
28452008-07-22 Jason Rumney <jasonr@gnu.org>
2846
2847 * w32proc.c (Fw32_long_file_name): Don't append dir separator to
2848 bare drive.
2849
28502008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
2851
2852 * nsterm.m (syms_of_nsterm): Remove debugging println.
2853
28542008-07-22 David Reitter <david.reitter@gmail.com>
2855
2856 * nsfns.m (do_applescript, F_do_applescript): NS version of the
2857 Carbon implementation of the same functionality: execute arbitrary
2858 AppleScript code.
2859
28602008-07-21 Adrian Robert <Adrian.B.Robert@gmail.com>
2861
2862 * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
2863 (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
2864 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
2865 (Fx_display_mm_height, Fx_display_mm_width)
2866 (Fx_display_backing_store, Fx_display_visual_class)
2867 (Fx_display_save_under, Fx_open_connection)
2868 (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
2869 (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
2870 (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
2871 (Fx_display_pixel_width, Fx_display_pixel_height)
2872 (Fx_display_usable_bounds, Fx_display_planes)
2873 (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
2874 ... */' style of docstrings.
2875
28762008-07-21 Dan Nicolaescu <dann@ics.uci.edu>
2877
2878 * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
2879 on this platform.
2880 (mips):
2881 * m/iris4d.h (mips): Do not define.
2882 * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
2883
2884 * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
2885
2886 * image.c:
2887 * nsfns.m:
2888 * nsselect.m:
2889 * nsterm.h:
2890 * nsterm.m: Rename ns prefixed functions/variables to the
2891 corresponding x versions. Update references.
2892
2893 * m/ibms390x.h (NO_REMAP): Do not undefine.
2894
2895 * m/amdx86-64.h: Use SOLARIS2 instead of sun.
2896
28972008-07-21 Chong Yidong <cyd@stupidchicken.com>
2898
2899 * nsfns.m: Change NS to Nextstep in docstrings and error messages.
2900 (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
2901 (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
2902 (Fns_server_vendor, Fns_server_version, Fns_display_screens)
2903 (Fns_display_mm_height, Fns_display_mm_width)
2904 (Fns_display_backing_store, Fns_display_visual_class)
2905 (Fns_display_save_under, Fns_open_connection)
2906 (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
2907 (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
2908 (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
2909 (Fns_display_pixel_width, Fns_display_pixel_height)
2910 (Fns_display_usable_bounds, Fx_display_planes)
2911 (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
2912
29132008-07-21 Ami Fischman <ami@fischman.org> (tiny change)
2914
2915 * print.c (print_object): Check print_depth before searching for
2916 circularities.
2917
29182008-07-21 Michael Albinus <michael.albinus@gmx.de>
2919
2920 * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
2921 only sprintf.
2922
29232008-07-21 Kenichi Handa <handa@m17n.org>
2924
2925 * ftfont.c (adjust_anchor): Check if DeltaValue is not NULL.
2926
29272008-07-20 Andreas Schwab <schwab@suse.de>
2928
2929 * syntax.c (find_start_pos, find_start_value)
2930 (find_start_value_byte, find_start_begv, find_defun_start)
2931 (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions.
2932
29332008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
2934
2935 * s/sol2-3.h: Insert contents of s/sol2.h.
2936 (LD_SWITCH_SYSTEM): Remove redundant definition.
2937 * s/sol2.h: Remove, unused.
2938
29392008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
2940
2941 * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV.
2942
29432008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
2944
2945 * Makefile.in (ns_appdir): Fix typo in find command.
2946
29472008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
2948
2949 * m/intel386.h (NO_REMAP): Do no define for USG, not used.
2950
2951 * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
2952 added not supported anymore.
2953
2954 * s/usg5-4-2.h (LIBS_SYSTEM):
2955 * s/sol2.h (LIBS_SYSTEM): Do not undefine.
2956
2957 * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
2958 * s/lynxos.h (GETPGRP_NO_ARG):
2959 * s/hpux10-20.h (NO_SIOCTL_H):
2960 * s/gnu.h (GETPGRP_NO_ARG):
2961 * s/gnu-linux.h (NO_SIOCTL_H):
2962 * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
2963 * s/cygwin.h (GETPGRP_NO_ARG):
2964 * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
2965 (C_DEBUG_SWITCH): Remove duplicate definition.
2966
2967 * m/ibms390.h: Remove boilerplate comments.
2968
2969 * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
2970
2971 * process.c (HAVE_SERIAL): Consolidate ifdefs.
2972 (wait_reading_process_output): Remove code for SunOS, platform not
2973 supported anymore. Use SOLARIS2 instead of sun.
2974
29752008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2976
2977 * font.c (font_open_by_name): Under NS, default lface height to zero.
2978 (font_open_for_lface): Under NS, set size based on frame fontsize.
2979 * nsterm.m (EmacsView-changeFont:): Remove some commented code.
2980 * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
2981
29822008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2983
2984 * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
2985 (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
2986 DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
2987 YES/NO.
2988 * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
2989 * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
2990 * Makefile.in (clean): Clear out build destination dir.
2991
29922008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2993
2994 * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
2995 xterm, xselect.
2996 * lisp.h: Remove declaration of hash_remove.
2997 * nsgui.h: Remove redefinitions of hash_remove.
2998 * fns.c (hash_remove): Rename to hash_remove_from_table.
2999
30002008-07-19 Seiji Zenitani <zenitani@mac.com>
3001
3002 * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
3003 strdup() the family UTF8String before modifying it.
3004
30052008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3006
3007 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
3008 NS_FACE_BACKGROUND with 0 instead of nil.
3009 * nsfont.m (nsfont_draw): Same.
3010
30112008-07-19 Chong Yidong <cyd@stupidchicken.com>
3012
3013 * nsfns.m (ns_set_background_color): Fix crash.
3014
30152008-07-18 Chong Yidong <cyd@stupidchicken.com>
3016
3017 * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
3018
30192008-07-18 Dan Nicolaescu <dann@ics.uci.edu>
3020
3021 * puresize.h (BASE_PURESIZE): Increase to 1240000.
3022
30232008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3024
3025 * gtkutil.c: Include <config.h> instead of "config.h".
3026
3027 * lisp.h (Foverlay_buffer): Add EXFUN.
3028
3029 * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
3030 child process to complete child_setup. Undo 2005-09-21 change.
3031
3032 * s/darwin.h: Mention setsid after vfork.
3033
30342008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3035
3036 * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
3037 Depend on macgui.h.
3038
3039 * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
3040 gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
3041
3042 * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
3043 and f19.
3044 [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
3045
3046 * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
3047 (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
3048 Remove enumerators.
3049
3050 * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
3051 Check if FACE_FROM_ID returns NULL.
3052
30532008-07-17 David Robinow <drobinow@gmail.com> (tiny change)
3054
3055 * w32inevt.c (change_frame_size): Remove extern declaration.
3056 (resize_event, maybe_generate_resize_event): Pass SAFE arg to
3057 change_frame_size.
3058
30592008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
3060
3061 * getloadavg.c: Revert last change (2008-07-15).
3062
30632008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
3064
3065 * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
3066 set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc) set
3067 from configure.
3068
30692008-07-17 Dan Nicolaescu <dann@ics.uci.edu>
3070
3071 * s/sol2.h:
3072 * s/sol2-4.h: Reorganize conditionals.
3073
3074 * ecrt0.c: Remove code depending on m68000, not used anymore.
3075
3076 * fns.c (hash_remove): Make static.
3077 * lisp.h (hash_remove): Don't prototype.
3078
3079 * m/ibmrs6000.h:
3080 * m/ibms390x.h:
3081 * m/macppc.h: Remove boilerplate comments.
3082
3083 * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
3084 Solaris, which does not need them.
3085
3086 * m/vax.h: Remove comments about unsupported systems.
3087
3088 * s/darwin.h: Reorganize ifdefs.
3089
30902008-07-17 Andreas Schwab <schwab@suse.de>
3091
3092 * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
3093
30942008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
3095
3096 Use SDATA. Follow coding convention of placing operators at
3097 beginning of next line rather than end of previous line, and placing
3098 spaces around infix operators.
3099
3100 * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
3101 in case it was defined already.
3102 USE @GNUSTEP_MAKEFILES@ rather than envvars.
3103 * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
3104 ns_default.
3105 (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
3106 Lisp_Objects.
3107 * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
3108 (ns_defined_color, ns_color_to_lisp): Declare.
3109 * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
3110 (Fns_own_selection_internal): Make the big ugly hack more explicit, so
3111 it's accepted even with USE_LISP_UNION_TYPE.
3112 * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
3113 (update_frame_tool_bar): Remove apparently obsolete tests for
3114 non-integerness of f->tool_bar_lines.
3115 (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
3116 hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
3117 * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
3118 (nsfont_open): Don't confuse NULL for Qnil.
3119 * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
3120 * menu.h (find_and_call_menu_selection):
3121 * menu.c (find_and_call_menu_selection): Use just int for vector size.
3122 (find_and_return_menu_selection): Always return something.
3123 * frame.h: Include dispextern.h for Display_Info.
3124 (display_x_get_resource): Declare.
3125
31262008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
3127
3128 * syntax.c: Remove stdio.h include accidentally introduced in
3129 Emacs.app commit.
3130 * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
3131 NS_IMPL_COCOA.
3132 * keyboard.c (handle_async_input, input_available_signal): Remove
3133 BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
3134
31352008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
3136
3137 * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
3138 (ns_lisp_to_color): Don't mess with internal Lisp data fields.
3139 (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
3140 Use SDATA.
3141
3142 * keymap.c: Remove all NS-specific code.
3143 (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
3144 (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
3145 where_is_preferred_modifier, return a different value depending on how
3146 preferred is the binding.
3147 (where_is_internal): Adjust accordingly.
3148 (Fwhere_is_internal): Refresh where_is_preferred_modifier.
3149 Adjust to new preferred_sequence_p.
3150 (syms_of_keymap): Declare `where-is-preferred-modifier'.
3151 * keyboard.c (parse_solitary_modifier): Not static any more.
3152 * keyboard.h (parse_solitary_modifier): Declare.
3153
31542008-07-16 Andreas Schwab <schwab@suse.de>
3155
3156 * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
3157 of easymenu.
3158
31592008-07-16 Chong Yidong <cyd@stupidchicken.com>
3160
3161 * xdisp.c (move_it_in_display_line): Account for word wrap, so
3162 that we don't move off the line.
3163
31642008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
3165
3166 * keyboard.c (Qsuper): Remove.
3167 (parse_menu_item): Don't call where_is_internal specially for NS.
3168
31692008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
3170
3171 * s/gnu-linux.h: Remove boilerplate comments.
3172
3173 * m/alpha.h (__ELF__): Consolidate conditions.
3174
3175 * m/m68k.h (linux): Use GNU_LINUX instead.
3176 Remove boilerplate comments.
3177
3178 * m/intel386.h: Undo refactoring from previous change.
3179 (LIB_STANDARD): All systems that define USG define LIB_STANDARD
3180 too, remove dead code.
3181 (linux): Use GNU_LINUX instead.
3182
31832008-07-16 Jason Rumney <jasonr@gnu.org>
3184
3185 * w32gui.h: Repeat 26 June changes lost by last change.
3186
31872008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
3188
3189 * systty.h: Remove code for Aix on 386, unsupported platform.
3190
3191 * s/ms-w32.h: Remove boilerplate comments.
3192 (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
3193
3194 * s/gnu-linux.h (TERM): Remove support.
3195 (HAVE_SYSVIPC): Remove, unused.
3196 (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
3197 for this system.
3198
3199 * process.c: Remove support for IRIS, unused.
3200 Remove support for TERM, not relevant anymore.
3201
3202 * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
3203 used with the definition.
3204
3205 * s/aix4-2.h (static): Do not undef.
3206
3207 * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
3208 only used on Aix.
3209 (HAVE_SYSVIPC): Remove, unused.
3210
3211 * m/hp800.h (CANNOT_DUMP): Do not undef.
3212
3213 * m/alpha.h: Fix comment.
3214
3215 * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
3216 (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
3217 used by this configuration.
3218 * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
3219 * unexec.c: Remove code depending on HPUX and
3220 USG_SHARED_LIBRARIES, not used with this file. Remove code
3221 depending on IRIS, unused. Remove if 0-ed code.
3222
3223 * s/template.h: Remove comments about static.
3224
3225 * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
3226 Remove if 0-ed code.
3227 (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
3228 were the same as the default.
3229 * s/vms.h (BAUD_CONVERT): Remove, same as the default.
3230 Remove boilerplate comments.
3231 * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
3232 (HAVE_SYSVIPC): Remove, unused.
3233 (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
3234
3235 * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
3236 Remove boilerplate comments.
3237 * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
3238 Remove boilerplate comments.
3239 * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
3240 Remove boilerplate comments.
3241 * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
3242
3243 * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
3244 USG systems which do not use DATA_SEG_BITS.
3245 Refactor code. Remove boilerplate comments.
3246
3247 * m/ibms390.h:
3248 * m/m68k.h:
3249 * s/bsd-common.h:
3250 * s/cygwin.h:
3251 * s/darwin.h:
3252 * s/freebsd.h:
3253 * s/gnu.h:
3254 * s/msdos.h: Remove boilerplate comments.
3255
3256 * m/iris4d.h: Remove boilerplate comments and code for systems that
3257 do not use this file.
3258 (IRIS_4D): Remove, unused.
3259
3260 * m/mips.h: Remove boilerplate comments and code for systems that
3261 do not use this file.
3262 (SIGN_EXTEND_CHAR):
3263 * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
3264 * unexmips.c: Remove file, unused.
3265
3266 * editfns.c (Fuser_full_name): Replace the only use of
3267 USER_FULL_NAME with its value.
3268 * config.in: Regenerate.
3269
32702008-07-16 David Reitter <david.reitter@gmail.com>
3271
3272 * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
3273 easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
3274
32752008-07-16 Glenn Morris <rgm@gnu.org>
3276
3277 * emacs.c (system-type): Doc fix.
3278
32792008-07-15 Stefan Monnier <monnier@iro.umontreal.ca>
3280
3281 * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
3282 If the cache doesn't work, let's fix it, rather than work around it.
3283
32842008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
3285
3286 * Makefile.in: Correct additions for nsfont.o in last commit.
3287 * nsfont.m: New file (forgot last commit).
3288
32892008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
3290
3291 * callproc.c (set_initial_environment): Initialize
3292 Vprocess_environment under CANNOT_DUMP (fixes crash when
3293 batch-compiling for bootstrap).
3294
32952008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
3296 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3297
3298 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
3299 fix crash due to different init order.
3300
33012008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
3302
3303 Changes and additions for NeXTstep windowing system (Cocoa and
3304 GNUstep) support.
3305
3306 * Makefile.in:
3307 * config.in: Support defines and build commands for NS port.
3308 * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
3309 (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
3310 * dispextern.h: Include nsgui.h and add needed typedefs under NS
3311 windowing.
3312 (struct face): Add synth_ital field.
3313 * dispnew.c: Include nsterm.h when compiling under NS windowing.
3314 (init_display): Initialize Vinitial_window_system to "ns" when so
3315 compiled.
3316 * emacs.c: Include GSConfig.h when compiling under GNUstep.
3317 (display_arg): Use under NS.
3318 (main): Under NS, allocate autorelease pool and handle command line
3319 args. Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
3320 (standard_args): Add NS-specific args.
3321 (shut_down_emacs): Shut down NS terminal if compiled under NS.
3322 * font.c (DEFAULT_ENCODING): New variable.
3323 (font_find_for_lface): Use it.
3324 (syms_of_font): Load syms_of_nsfont under NS.
3325 * font.h: Declare nsfont_driver when compiled under NS.
3326 * fontset.c: When compiling under NS, include nsterm.h.
3327 (fontset_from_font): Autoconstruct fontset under NS.
3328 * frame.c (various): Under NS, include nsterm.h, add Qns window system
3329 symbol, document and use it.
3330 (do_switch_frame): When for_deletion under Cocoa, add
3331 Fraise_frame(Qnil).
3332 (x_set_frame_parameters): Ensure font attribute changes are picked up.
3333 (x_get_arg): Allow "yes" and "no" as boolean values.
3334 (syms_of_frame): Declare Qns. Init Vdefault_frame_scroll_bars to
3335 Qright under Cocoa.
3336 (focus-follows-mouse): Default to 0 under NS.
3337 * frame.h (enum output_method): Add output_ns.
3338 (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
3339 (FRAME_EXTERNAL_MENU_BAR): Use under NS.
3340 (FRAME_WINDOW_P): NS-specific definition.
3341 * fringe.c (max_used_fringe_bitmap): Make public.
3342 * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
3343 (getloadavg): Use NeXT code under descendant OS's.
3344 * image.c (includes and header section, x_create_bitmap_from_data)
3345 (x_create_bitmap_from_file, free_bitmap_record, image_background)
3346 (image_background_transparent, x_clear_image_1)
3347 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
3348 (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
3349 (x_to_xcolors, x_from_xcolors, x_disable_image)
3350 (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
3351 other GUIs, including XPM support using code originally written for
3352 Carbon GUI.
3353 (png_load, jpeg_load, tiff_load, gif_load): Add implementations
3354 using NS API.
3355 (image_ascent): Use font metrics macros instead of direct struct field
3356 access.
3357 * keyboard.c (includes): Add nsterm.h when compiling under NS.
3358 (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
3359 Also, handle NS as GTK for menu bar purposes.
3360 (make_lispy_event): Handle NS as other GUI windowing systems, and as X
3361 toolkit where they differ.
3362 (parse_menu_item): Prefer keybindings using 'super' modifier. Also,
3363 use cachelist, still needed under NS.
3364 * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
3365 (struct widget_value): Define it here for menu.c.
3366 * keymap.c (includes): Include modifier internals.
3367 (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
3368 NS.
3369 (where_is_internal, Fwhere_is_internal): When compiled under NS, add
3370 support for preferring sequences using certain modifiers, specified by
3371 the FIRSTONLY argument.
3372 * lisp.h (hash_remove): Rename to avoid name clash when compiling
3373 under NS GNUstep implementation.
3374 (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
3375 * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
3376 * menu.c: Include nsterm.h under NS.
3377 (single_menu_item, parse_single_submenu, xmalloc_widget_value)
3378 (free_menubar_widget_tree_value, update_submenu_strings)
3379 (find_and_call_menu_selection): Treat NS as X and NT.
3380 (find_and_return_menu_selection): New function, used for popup menus.
3381 * nsgui.h:
3382 * nsterm.h:
3383 * nsfns.m:
3384 * nsimage.m:
3385 * nsmenu.m:
3386 * nsselect.m:
3387 * nsterm.m: New files.
3388 * process.c (wait_reading_process_output): Under NS, call ns_select()
3389 instead of plain select().
3390 * syntax.c (char_quoted): Under NS, avoid a crash when called near
3391 beginning of buffer.
3392 * sysselect.h (init_process): Rename when compiling under Cocoa to
3393 avoid name conflict.
3394 * termhooks.h (display_info): Add ns_display_info to union.
3395 * terminal.c (Fterminal_live_p): Add ns to terminal types.
3396 * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
3397 COCOA environment.
3398 * unexnext.c: Update to work with mach API on Mac OS X, and to use new
3399 unexec() signature. (Note, this will dump, but the resulting file
3400 crashes; unexosx is used instead; keeping around for reference and
3401 possible aid in getting dump working under GNUstep.)
3402 * w32gui.h (button_type, widget_value): Remove definitions (now in
3403 keyboard.h).
3404 * window.c: Include nsterm.h when compiling under NS.
3405 * xdisp.c (includes): Include nsterm.h when compiling under NS.
3406 (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
3407 other GUI windowing systems.
3408 (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
3409 GTK.
3410 (x_consider_frame_title): Under NS, set icon type and frame
3411 modified-state indicator; use ns_set_name_as_filename() when using
3412 formatted title.
3413 (update_window_cursor): Make public when compiling under NS.
3414 (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
3415 (hourglass_atimer, Vhourglass_delay
3416 * xfaces.c (header section, init_frame_faces, clear_font_table)
3417 (defined_color, unload_color, x_face_list_fonts)
3418 (prepare_face_for_display): Add NS support parallel to other GUIs.
3419 Emulate GCs like other non-X GUIs.
3420 (split_font_name): Don't lowercase font name under NS.
3421 (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
3422 under NS.
3423 * s/darwin.h: Add support for compilation under NS.
3424
34252008-07-15 Jason Rumney <jasonr@gnu.org>
3426
3427 * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
3428 (w32_show_hourglass): Rename from show_hourglass.
3429 (w32_hide_hourglass): Rename from hide_hourglass.
3430 (DEFAULT_HOURGLASS_DELAY): Revert from last change.
3431 (Vhourglass_delay): Declare extern.
3432 (hourglass_started): Remove.
3433
3434 * xdisp.c (Vhourglass_delay): Remove static.
3435 (hourglass_started, start_hourglass, cancel_hourglass):
3436 Don't include these versions on WINDOWSNT.
3437
34382008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
3439
3440 * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
3441 variables (formerly in xfns.c).
3442 (show_hourglass, hide_hourglass): New prototypes (same).
3443 * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
3444 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
3445 in xfns.c).
3446 (syms_of_xdisp): Declare/initialize display-hourglass,
3447 hourglass-delay. Initialize hourglass_atimer, hourglass_shown_p.
3448 (hourglass_started, start_hourglass, cancel_hourglass): New functions,
3449 formerly in xfns.c.
3450 * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
3451 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
3452 (start_hourglass, cancel_hourglass): Remove.
3453 (show_hourglass, hide_hourglass): Remove prototypes and static
3454 modifiers.
3455 (syms_of_xfns): Remove display-hourglass, hourglass-delay,
3456 hourglass_atimer, hourglass_shown_p declaration/initialization.
3457 * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
3458 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
3459 (start_hourglass, cancel_hourglass): Remove.
3460 (show_hourglass, hide_hourglass): Remove prototypes and static
3461 modifiers.
3462 (syms_of_macfns): Remove display-hourglass, hourglass-delay,
3463 hourglass_atimer, hourglass_shown_p declaration/initialization.
3464 * w32fns.c (display_hourglass_p, Vhourglass_delay)
3465 (DEFAULT_HOURGLASS_DELAY): Remove.
3466 (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
3467 hourglass_shown_p declaration/initialization.
3468
34692008-07-14 Jason Rumney <jasonr@gnu.org>
3470
3471 * w32fns.c (w32_get_arg): Remove wrapper function.
3472 (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
3473 directly.
3474 (Fx_create_frame): Sync with xfns.c. Use x_get_arg directly.
3475
34762008-07-14 Kenichi Handa <handa@m17n.org>
3477
3478 * xfont.c (xfont_open): Add workaround for X's bug.
3479
34802008-07-14 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
3481
3482 * fontset.c: Include <stdio.h> unconditionally.
3483
34842008-07-13 Michael Albinus <michael.albinus@gmx.de>
3485
3486 * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
3487 for filtering.
3488
34892008-07-13 Dan Nicolaescu <dann@ics.uci.edu>
3490
3491 * s/vms.h: Use __GNUC__ instead of _GNUC_.
3492
3493 * m/macppc.h:
3494 * m/alpha.h: Use GNU_LINUX instead of LINUX. Reorganize conditionals.
3495
3496 * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
3497 (SPECIAL_EMACS_INT):
3498 * m/ia64.h (SPECIAL_EMACS_INT):
3499 * m/amdx86-64.h (SPECIAL_EMACS_INT):
3500 * s/gnu.h (NLIST_STRUCT):
3501 * s/aix4-2.h (X11R5_INHIBIT_I18N):
3502 * s/gnu-linux.h (LINUX):
3503 * s/msdos.h (HAVE_FACES):
3504 * s/ms-w32.h (HAVE_FACES): Don't define, unused.
3505
3506 * systty.h:
3507 * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
3508 anymore.
3509
35102008-07-12 Dan Nicolaescu <dann@ics.uci.edu>
3511
3512 * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was
3513 always defined as int.
3514
3515 * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
3516 * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
3517 * s/gnu-linux.h (HAVE_WAIT_HEADER):
3518 * s/freebsd.h (HAVE_WAIT_HEADER):
3519 * s/bsd-common.h (HAVE_UNION_WAIT):
3520 * s/aix4-2.h (HAVE_WAIT_HEADER):
3521 * m/mips.h (HAVE_UNION_WAIT):
3522 * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
3523 (COFF, static): Do not define, they are undefined later in the file.
3524
3525 * process.c (update_status): Don't use a union.
3526 (status_convert):
3527 (sigchld_handler): Use int instead of WAITTYPE.
3528
35292008-07-12 Chong Yidong <cyd@stupidchicken.com>
3530
3531 * indent.c (Fvertical_motion): Restore hscroll before moving to
3532 goal column.
3533
35342008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
3535
3536 * lisp.h: Remove left over code.
3537
35382008-07-11 Andreas Schwab <schwab@suse.de>
3539
3540 * lisp.h: Fix logic in last change.
3541
3542 * menu.h: New file.
3543 * menu.c: Include it.
3544 * xmenu.c: Likewise.
3545 * Makefile.in: Update dependencies.
3546
35472008-07-11 Kenichi Handa <handa@m17n.org>
3548
3549 * fontset.c (fontset_from_font): Cancel the previous change.
3550
35512008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
3552
3553 * lisp.h:
3554 * w32heap.c:
3555 * emacs.c:
3556 * alloc.c: Replace all references of NO_UNION_TYPE with
3557 USE_LISP_UNION_TYPE.
3558
3559 * m/xtensa.h (NO_UNION_TYPE):
3560 * m/vax.h (NO_UNION_TYPE):
3561 * m/template.h (NO_UNION_TYPE):
3562 * m/sparc.h (NO_UNION_TYPE):
3563 * m/mips.h (NO_UNION_TYPE):
3564 * m/macppc.h (NO_UNION_TYPE):
3565 * m/m68k.h (NO_UNION_TYPE):
3566 * m/iris4d.h (NO_UNION_TYPE):
3567 * m/intel386.h (NO_UNION_TYPE):
3568 * m/ibms390x.h (NO_UNION_TYPE):
3569 * m/ibms390.h (NO_UNION_TYPE):
3570 * m/ibmrs6000.h (NO_UNION_TYPE):
3571 * m/ia64.h (NO_UNION_TYPE):
3572 * m/hp800.h (NO_UNION_TYPE):
3573 * m/arm.h (NO_UNION_TYPE):
3574 * m/amdx86-64.h (NO_UNION_TYPE):
3575 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
3576 defining it the same.
3577
35782008-07-10 Chong Yidong <cyd@stupidchicken.com>
3579
3580 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
3581
35822008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
3583
3584 * fileio.c:
3585 * sysdep.c
3586 * systty.h:
3587 * m/ibmrs6000.h:
3588 * m/iris4d.h:
3589 * s/aix4-2.h:
3590 * s/freebsd.h:
3591 * s/gnu-linux.h:
3592 * s/hpux10-20.h:
3593 * s/hpux11.h:
3594 * s/netbsd.h:
3595 * s/sol2-3.h:
3596 * s/sol2-4.h:
3597 * s/sol2.h:
3598 * s/usg5-4.h:
3599 * s/vms.h: Remove references to unused variables.
3600
36012008-07-10 Andreas Schwab <schwab@suse.de>
3602
3603 * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
3604 pattern before matching the generic family.
3605
36062008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
3607
3608 * unexec.c:
3609 * s/vms.h:
3610 * s/usg5-4-2.h:
3611 * s/sol2-5.h:
3612 * s/freebsd.h:
3613 * s/darwin.h: Remove dead code.
3614
3615 * m/template.h:
3616 * m/sparc.h:
3617 * m/mips.h:
3618 * m/m68k.h:
3619 * m/iris4d.h:
3620 * m/intel386.h:
3621 * m/ibms390x.h:
3622 * m/ibms390.h:
3623 * m/ia64.h:
3624 * m/hp800.h:
3625 * m/arm.h:
3626 * m/amdx86-64.h: Remove dead code and references to unused
3627 and compiler defined symbols.
3628
3629 * unexmips.c:
3630 * unexelf.c: Remove references to desupported systems.
3631
3632 * m/powermac.h: Remove file, it is now identical to m/macppc.h.
3633
3634 * m/powermac.h: Remove boilerplate comments.
3635 (NO_REMAP): Remove unused definition.
3636
3637 * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
3638 define them.
3639
36402008-07-10 Kenichi Handa <handa@m17n.org>
3641
3642 * xfont.c (xfont_open): Log the reason of failure.
3643
36442008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
3645
3646 * fontset.c (fontset_get_font_group):
3647 * font.c (font_check_otf): Specify argument types.
3648
36492008-07-09 Kenichi Handa <handa@m17n.org>
3650
3651 * coding.c (detect_coding_utf_8): Set detect_info->found only when
3652 non-ASCII char is found.
3653
3654 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
3655 (reorder_font_vector): Change the arg preferred_family to font.
3656 Prefer the spec matching with font.
3657 (fontset_get_font_group): New function.
3658 (fontset_find_font): Change the format of an element of a realized
3659 fontset. Use fontset_get_font_group.
3660 (fontset_font): Try the current fontset, the default fontset, the
3661 fallbacks of the current fontset, and the fallbacks of the default
3662 fontset in this order.
3663 (face_for_char): Delete the shortcut to use the current font.
3664 (fontset_from_font): Don't set fonts for Latin in the fontset.
3665
3666 * font.h (font_make_object, font_match_p): Adjust prototypes.
3667
3668 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
3669
3670 * font.c (font_make_object): New arg entity and pixelsize.
3671 (font_check_otf_features, font_check_otf): New functions.
3672 (font_match_p): Check :lang, :script, and :otf properties.
3673
3674 * xfont.c (xfont_open): Adjust it for the change of
3675 font_make_object.
3676 (xfont_text_extents): Fix initial setting of metrics.
3677
3678 * ftfont.c (struct ftfont_info): New member index, delete member
3679 fc_charset_idx. Make the member order compatible with struct
3680 xftfont_info.
3681 (fc_charset_table): Change charset names to registry names.
3682 (ftfont_pattern_entity): Delete the args registry and
3683 fc_charset_idx. Change the value of :font-entity property
3684 to (FONTNAME . INDEX). Always set :registry property to
3685 `iso10646-1'.
3686 (struct ftfont_cache_data): New struct.
3687 (ftfont_lookup_cache): New arg for_face.
3688 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
3689 (ftfont_driver): Set the member otf_capability.
3690 (ftfont_get_charset): Adjust it for the change of
3691 fc_charset_table.
3692 (OTF_TAG_SYM): New macro.
3693 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
3694 for the change of fc_charset_table.
3695 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
3696 ftfont_pattern_entity. Add FC_INDEX to objset.
3697 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
3698 and ftfont_pattern_entity.
3699 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
3700 font_make_object, struct ftfont_info.
3701 (ftfont_has_char): Use ftfont_get_fc_charset.
3702 (ftfont_otf_features, ftfont_otf_capability): New functions.
3703 (ftfont_shape): Use ftfont_get_otf.
3704 (ftfont_text_extents): Fix initial setting of metrics.
3705
3706 * xftfont.c (struct xftfont_info): New member ft_size. Make the
3707 member order compatible with struct ftfont_info.
3708 (xftfont_open): Add FC_CHARSET to the pattern. Set
3709 xftfont_info->ft_size. Don't unlock the face. Check BDF
3710 properties if appropriate.
3711 (xftfont_close): Unlock the face.
3712 (xftfont_anchor_point, xftfont_shape): Deleted.
3713 (syms_of_xftfont): Don't set members anchor_point and shape of
3714 xftfont_driver.
3715
3716 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
3717 font_make_object.
3718
3719 * w32font.c (w32font_open): Adjust it for the change of
3720 font_make_object.
3721 (w32font_open_internal): Don't set properties of font_object here.
3722
37232008-07-08 Chong Yidong <cyd@stupidchicken.com>
3724
3725 * macfns.c (x_create_tip_frame):
3726 * w32fns.c (x_create_tip_frame):
3727 * xfns.c (x_create_tip_frame): Pass parameter argument to
3728 face-set-after-frame-default.
3729
3730 * xfaces.c (Finternal_merge_in_global_face): Save merged
3731 attributes for the default face back into the face vector.
3732
37332008-07-08 Andreas Schwab <schwab@suse.de>
3734
3735 * fontset.h: Declare fontset_from_font. Don't declare
3736 new_fontset_from_font and fontset_from_font_name.
3737 * xterm.c: Include "fontset.h".
3738 * Makefile.in (xterm.o): Update dependencies.
3739
37402008-07-08 Glenn Morris <rgm@gnu.org>
3741
3742 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
3743 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
3744
37452008-07-07 Chong Yidong <cyd@stupidchicken.com>
3746
3747 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
3748 (x_set_frame_parameters): Don't bind it.
3749
37502008-07-07 Juanma Barranquero <lekktu@gmail.com>
3751
3752 * w32fns.c (map_w32_filename): Declare extern.
3753
37542008-07-07 Jason Rumney <jasonr@gnu.org>
3755
3756 * w32term.c (WS_EX_LAYERED): Define if not already.
3757
37582008-07-06 Chong Yidong <cyd@stupidchicken.com>
3759
3760 * xfaces.c (set_font_frame_param): Don't try to set the font
3761 parameter if it is still unspecified in the lface.
3762
37632008-07-05 Chong Yidong <cyd@stupidchicken.com>
3764
3765 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
3766 face if it didn't already exist.
3767
3768 * xdisp.c (try_window_id): Give up if word-wrapping is on.
3769
37702008-07-05 Andreas Schwab <schwab@suse.de>
3771
3772 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
3773
37742008-07-05 Chong Yidong <cyd@stupidchicken.com>
3775
3776 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
3777 word-wrapping.
3778 (IT_DISPLAYING_WHITESPACE): New macro.
3779 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
3780 when word-wrapping. Simplify word-wrapping logic. Use correct
3781 pixel positions when saving copies of the iterator.
3782 (display_line): Use proper wrap point if the last character on a
3783 line was preceded by whitespace.
3784
37852008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
3786
3787 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
3788
37892008-07-04 Kenichi Handa <handa@m17n.org>
3790
3791 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
3792
3793 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
3794
37952008-07-02 Jason Rumney <jasonr@gnu.org>
3796
3797 * xfns.c (syms_of_xfns): Only define x-select-font when both
2ae37cf0 3798 HAVE_FREETYPE and USE_GTK.
aac0c6e3
MR
3799
3800 * xdisp.c (next_element_from_display_vector): Move assignment out
3801 of if statement.
3802
38032008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
3804
3805 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
3806
3807 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
3808 (syms_of_fileio): Initialize and export them.
3809 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
3810
3811 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
3812 (Fsystem_move_file_to_trash): New function.
3813 (syms_of_w32fns): Export it to lisp.
3814
38152008-07-01 Jason Rumney <jasonr@gnu.org>
3816
3817 * w32font.c (w32font_text_extents): Don't count overhang as part
3818 of width.
3819
38202008-06-30 Miles Bader <miles@gnu.org>
3821
3822 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
3823 Add `avoid_cursor_p' field.
3824
3825 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
3826 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
3827 (append_glyph, append_composite_glyph, produce_image_glyph)
3828 (append_stretch_glyph): Initialize avoid_cursor_p.
3829 (get_it_property): Rename from `get_line_height_property'.
3830 (x_produce_glyphs): Use get_it_property.
3831 (handle_line_prefix, push_display_prop): New functions.
3832 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
3833 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
3834 New variables.
3835 (syms_of_xdisp): Initialize them.
3836
38372008-06-30 Kenichi Handa <handa@m17n.org>
3838
3839 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
3840 XftDefaultSubstitute (they are called in XftFontMatch).
3841 (xftfont_open): Fix args to ftfont_font_format.
3842
3843 * ftfont.c (fc_charset_table): New member lang.
3844 (ftfont_resolve_generic_family): New arg pattern.
60612c8f 3845 (ftfont_spec_pattern): Check fc_charset_table[]->lang.
aac0c6e3
MR
3846 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
3847 (ftfont_open): Fix args to ftfont_font_format.
3848 (ftfont_font_format): New arg filename.
3849
38502008-06-30 Chong Yidong <cyd@stupidchicken.com>
3851
3852 * xfaces.c (Finternal_merge_in_global_face): If default face was
3853 modified, realize it again. Update the font face attribute.
3854
38552008-06-29 Jason Rumney <jasonr@gnu.org>
3856
3857 * w32term.c (x_set_frame_alpha): Fix logic.
3858
38592008-06-29 Kenichi Handa <handa@m17n.org>
3860
3861 * fontset.c (Finternal_char_font): Return font-object instead of
3862 font-name.
3863
3864 * composite.c (get_composition_id): Fix the width calculation for TAB.
3865
38662008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
3867
3868 * indent.c (Fvertical_motion): Properly handle float column arg.
3869
38702008-06-28 Jason Rumney <jasonr@gnu.org>
3871
3872 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
3873 (pfnSetLayeredWindowAttributes): New function pointer.
3874 (w32_initialize): Initialize it when supported.
3875 (x_set_frame_alpha): New function.
3876
3877 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
3878 (w32_frame_parm_handlers): Set alpha handler.
3879
3880 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
3881
38822008-06-27 Jason Rumney <jasonr@gnu.org>
3883
3884 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
3885 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
3886 (w32_to_x_charset, x_to_w32_charset)
3887 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
3888 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
3889 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
3890 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
3891 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
3892 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
3893 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
3894 (Qw32_charset_unicode): Remove.
3895 (syms_of_w32fns): Update for above changes.
3896
3897 * w32font.c (w32_to_x_charset, x_to_w32_charset)
3898 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
3899 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
3900 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
3901 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
3902 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
3903 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
3904 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
3905 (syms_of_w32font): Update for above changes.
3906
39072008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
3908
3909 * s/usg5-4.h: Fix previous change: keep the correct branch of a
3910 removed #if.
3911 (USG_SHARED_LIBRARIES): Remove duplicate definition.
3912
39132008-06-26 Juanma Barranquero <lekktu@gmail.com>
3914 Eli Zaretskii <eliz@gnu.org>
3915
3916 * makefile.w32-in (LOCAL_FLAGS):
3917 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
3918
3919 * sysdep.c (_spawnlp, _getpid):
3920 Declare with explicit _cdecl instead of _CRTAPI1.
3921
3922 * editfns.c (Fget_internal_run_time):
3923 Check for WINDOWSNT with #ifdef, not #if.
3924
39252008-06-26 Jason Rumney <jasonr@gnu.org>
3926
3927 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
3928
3929 * w32term.c (x_draw_glyph_string_foreground)
3930 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
3931 Use FONT_HANDLE macro.
3932 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
3933
3934 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
3935 (uniscribe_encode_char): Use FONT_HANDLE macro.
3936
3937 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
3938 (w32font_text_extents): Use precast w32_font.
3939 (w32font_close): Free cached metrics.
3940 (w32font_open_internal): Allocate space for name on stack.
3941
39422008-06-26 Chong Yidong <cyd@stupidchicken.com>
3943
3944 * xdisp.c (extend_face_to_end_of_line): Fix last change.
3945
39462008-06-26 Jason Rumney <jasonr@gnu.org>
3947
3948 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
3949 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
3950
39512008-06-26 Juanma Barranquero <lekktu@gmail.com>
3952
3953 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
3954
39552008-06-26 Jason Rumney <jasonr@gnu.org>
3956
3957 * w32bdf.c, w32bdf.h: Remove obsolete files.
3958
3959 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
3960
3961 * w32gui.h: Don't include w32bdf.h.
3962 (XCharStruct, enum w32_char_font_type, W32FontStruct):
3963 Remove obsolete font support.
3964
3965 * w32font.h (struct w32font_info): Remove compat_w32_font.
3966 Add hfont member.
3967 (FONT_COMPAT): Remove obsolete macro.
3968
3969 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
3970 (w32font_encode_char, w32font_text_extents): Use new hfont member.
3971 (w32font_open_internal): Remove compat code. Set new hfont member.
3972 (Fx_select_font): Use new hfont member.
3973
3974 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
3975 (uniscribe_encode_char): Use new hfont member.
3976
3977 * w32term.c (x_draw_glyph_string_foreground)
3978 (x_draw_composite_glyph_string_foreground): Use new hfont member.
3979 (x_draw_glyph_string): Use metrics in w32font_info.
3980
39812008-06-26 Kenichi Handa <handa@m17n.org>
3982
3983 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
3984
39852008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
3986
3987 * unexnext.c:
3988 * m/ews4800.h:
3989 * m/hp9000s300.h:
3990 * m/ibm370aix.h:
3991 * m/mips-siemens.h:
3992 * m/ncr386.h:
3993 * m/next.h:
3994 * m/pmax.h:
3995 * m/powerpcle.h:
3996 * m/tandem-s2.h:
3997 * s/386bsd.h:
3998 * s/bsd386.h:
3999 * s/bsd4-1.h:
4000 * s/bsd4-2.h:
4001 * s/bsdos2-1.h:
4002 * s/bsdos2.h:
4003 * s/bsdos3.h:
4004 * s/bsdos4.h:
4005 * s/nextstep.h:
4006 * s/ultrix4-3.h:
4007 * s/usg5-0.h:
4008 * s/usg5-2-2.h:
4009 * s/usg5-2.h:
4010 * s/usg5-4-3.h:
4011 * s/ux4800.h:
4012 * s/uxpds.h:
4013 * s/uxpv.h: Remove support for obsolete systems.
4014 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
4015 Remove, insert contents in s/hpux-10.20.h.
4016 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
4017 Remove, insert contents in s/aix4-2.h.
4018 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
4019 * s/bsd4-3.h: Rename to ...
4020 * s/bsd-common.h: ... this.
4021 * data.c:
4022 * doc.c:
4023 * ecrt0.c:
4024 * emacs.c:
4025 * fileio.c:
4026 * floatfns.c:
4027 * keyboard.c:
4028 * mem-limits.h:
4029 * print.c:
4030 * process.c:
4031 * sysdep.c:
4032 * syssignal.h:
4033 * systty.h:
4034 * syswait.h:
4035 * term.c:
4036 * unexec.c:
4037 * unexelf.c:
4038 * unexhp9k800.c:
4039 * m/hp800.h:
4040 * m/ibmrs6000.h:
4041 * m/mips.h:
4042 * m/vax.h:
4043 * s/darwin.h:
4044 * s/freebsd.h:
4045 * s/gnu.h:
4046 * s/ms-w32.h:
4047 * s/msdos.h:
4048 * s/netbsd.h:
4049 * s/template.h: Remove references to obsolete variables.
4050
4051 * Makefile.in: Add dependencies for all unexec files.
4052 (admindir): Remove unused variable.
4053 (UNEXEC_SRC): Remove references.
4054
40552008-06-25 Chong Yidong <cyd@stupidchicken.com>
4056
4057 * xfns.c (x_default_font_parameter): If Xft is available, first
4058 try Monospace-12 for the default font.
4059
40602008-06-25 Jason Rumney <jasonr@gnu.org>
4061
4062 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
4063
40642008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
4065
4066 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
4067
4068 * buffer.c (syms_of_buffer): Remove default-word-wrap.
4069
40702008-06-25 Juanma Barranquero <lekktu@gmail.com>
4071
4072 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
4073 <scroll-conservatively>: Fix typo in docstring.
4074
4075 * xselect.c (Fx_send_client_event): Doc fix.
4076
40772008-06-25 Kenichi Handa <handa@m17n.org>
4078
4079 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
4080
4081 * font.c (font_parse_fcname): Remove unused variables.
4082 (font_sort_entites): Delete the arg SPEC. Caller changed.
4083 Fix for the case of ! best_only.
4084 (font_delete_unmatched): Check DPI and AVGWIDTH too.
4085
4086 * lisp.h (Fstring_to_unibyte): EXFUN it.
4087
4088 * character.h (str_to_unibyte): Extern it.
4089
4090 * character.c (str_to_unibyte): New function.
4091
4092 * fns.c (Fstring_to_unibyte): New function.
4093 (syms_of_fns): Defsubr it.
4094
40952008-06-24 Kenichi Handa <handa@m17n.org>
4096
4097 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
4098 DPI too.
4099 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
4100
41012008-06-24 Andreas Schwab <schwab@suse.de>
4102
4103 * Makefile.in (${lispsource}loaddefs.el): Rename from
4104 ../lisp/loaddefs.el.
4105 (bootstrap-clean): Do what distclean does but don't remove
4106 Makefile.
4107 (distclean): Depend on bootstrap-clean and remove Makefile.
4108
41092008-06-24 Chong Yidong <cyd@stupidchicken.com>
4110
4111 * buffer.h (struct buffer): New member word_wrap.
4112
4113 * buffer.c (syms_of_buffer): New variables default-word-wrap and
4114 word-wrap.
4115 (init_buffer_once): Initialize them.
4116
4117 * dispextern.h (struct it): Replace bool truncate_lines_p with a
4118 line_wrap enum possessing three possible values.
4119
4120 * termopts.h: Replace truncate_partial_width_windows with
4121 Vtruncate_partial_width_windows.
4122
4123 * dispnew.c (direct_output_for_insert): Avoid direct output when
4124 inserting a space with word wrap on.
4125
4126 * indent.c (compute_motion): Obey integer values of
4127 truncate-partial-width-windows.
4128
4129 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
4130 replacing truncate_partial_width_windows.
4131 (init_iterator): If Vtruncate_partial_width_windows is an integer,
4132 truncate only if the window width is below that integer.
4133 (start_display, resize_mini_window, produce_stretch_glyph)
4134 (display_string, move_it_in_display_line_to): Use line_wrap.
4135 (back_to_previous_visible_line_start, reseat_1): Reset
4136 string_from_display_prop_p.
4137 (display_line): Extend default face to end of line when wrapping.
4138
41392008-06-24 Kim F. Storm <storm@cua.dk>
4140
4141 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
4142 to wrap continued lines at word boundaries.
4143
41442008-06-24 Jason Rumney <jasonr@gnu.org>
4145
4146 * font.c (Ffont_face_attributes): Multiply pixel size before point
4147 conversion to avoid multiplying rounding error.
4148
41492008-06-23 Jason Rumney <jasonr@gnu.org>
4150
4151 * w32term.c (x_draw_glyph_string_background)
4152 (x_draw_glyph_string): Remove old bdf font code.
4153
4154 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
4155
41562008-06-22 Kenichi Handa <handa@m17n.org>
4157
4158 * font.c (font_find_for_lface): Try the adstyle specified in
4159 the property of LFACE_FONT of LFACE (if any).
4160
41612008-06-21 Seiji Zenitani <zenitani@mac.com>
4162 Ryo Yoshitake <ryo@shiftmode.net>
4163
4164 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
4165
41662008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
4167
4168 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
4169 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
4170 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
4171 (witness-emacs): Remove.
4172 (lisp, shortlisp): Move loaddefs.el earlier.
4173 (mostlyclean): Forget about witness-emacs.
4174
41752008-06-22 Glenn Morris <rgm@gnu.org>
4176
4177 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
4178 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
4179
41802008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
4181
4182 * Makefile.in (PRECOMP): Remove.
4183 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
4184 (witness-emacs): Run `compile-first'.
4185 (.el.elc): Use the new compile-onefile target.
4186
41872008-06-21 Kenichi Handa <handa@m17n.org>
4188
4189 * xftfont.c (xftfont_open): Handle QCembolden only when
4190 FC_EMBOLDEN is defined.
4191
41922008-06-21 Andreas Schwab <schwab@suse.de>
4193
4194 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
4195 (.el.elc): Likewise.
4196
41972008-06-21 Miles Bader <miles@gnu.org>
4198
4199 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
4200 build dir, not the lisp source dir.
4201
42022008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
4203
4204 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
4205 (bootstrapclean): Remove.
4206 (.el.elc): New rule.
4207 (PRECOMP): New var.
4208 (../lisp/subdirs.el): Remove.
4209 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
4210 (witness-emacs): New target.
4211 (mostlyclean): Remove witness-emacs as well.
4212 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
4213 Add witness-emacs dependency.
4214
42152008-06-20 Chong Yidong <cyd@stupidchicken.com>
4216
4217 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
4218 defined by the font.
4219
42202008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
4221
4222 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
4223 (bootstrap-clean): New target that keeps TAGS around.
4224 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
4225 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
4226
42272008-06-20 Jason Rumney <jasonr@gnu.org>
4228
4229 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
4230 Remove obsolete font code.
4231
4232 * w32font.c (font_matches_spec): Use csb bitfield from font signature
4233 to determine language support.
4234
42352008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
4236
4237 * sysdep.c (cfsetspeed): New fun extracted from the code.
4238 (cfmakeraw): Move before first use.
4239
42402008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
4241
4242 * sysdep.c (cfmakeraw): Provide fallback implementation.
4243 (serial_configure): Provide fallback implementation of cfsetspeed.
4244
42452008-06-20 Kenichi Handa <handa@m17n.org>
4246
4247 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
4248 the pattern.
4249
4250 * fontset.c (fontset_from_font): Copy font_spec before changing
4251 the elements.
4252
4253 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
4254
42552008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
4256
4257 * w32fns.c, xfns.c (x_default_font_parameter): Only set `font-param'
4258 for explicit `font' parameters.
4259
4260 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
4261
42622008-06-19 Kenichi Handa <handa@m17n.org>
4263
4264 * frame.c: Include <ctype.h>.
4265 (x_set_font_backend): Allow spacing characters in the X resource
4266 for FontBackend.
4267
42682008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
4269
4270 * w32fns.c, xfns.c (Qfont_param): New var.
4271 (syms_of_w32fns): Initialize it.
4272 (x_default_font_parameter): Record explicit `font' into
4273 `font-parameter'.
4274
42752008-06-18 Kenichi Handa <handa@m17n.org>
4276
4277 * font.c (font_parse_xlfd): Fix previous change.
4278 (font_parse_fcname): Don't use :fc-unknown-spec.
4279 (FRAME_X_DISPLAY_INFO): Be sure to have at least 1 pixel height.
4280 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
4281 (font_add_log): Prepend the driver name to the resulting fonts.
4282
4283 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
4284 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
4285 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
4286
4287 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
4288 (QCembolden): New variables.
4289 (syms_of_xftfont): DEFSYM them.
4290 (xftfont_open): Call XftFontMatch. Don't trust the result of
4291 XftTextExtents8 if the pixel_size is less than 5.
4292
42932008-06-18 Andreas Schwab <schwab@suse.de>
4294
4295 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
4296 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
4297
42982008-06-18 Jason Rumney <jasonr@gnu.org>
4299
4300 * w32font.c (w32font_list, w32font_match): Add logging.
4301
4302 * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging.
4303
43042008-06-17 Chong Yidong <cyd@stupidchicken.com>
4305
4306 * font.c (font_parse_fcname): Store divider characters for
4307 unknown-spec list. For known key symbols, intern using correct
4308 symbol name.
4309
43102008-06-17 Kenichi Handa <handa@m17n.org>
4311
4312 * xfaces.c (realize_default_face): If the frame is not on window
4313 system, set the fontset of face to nil.
4314
43152008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
4316
4317 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
4318
43192008-06-16 Juanma Barranquero <lekktu@gmail.com>
4320
4321 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
4322 (build_font_name_from_vector): Delete externs.
4323
4324 * xfaces.c (struct font_name): Don't declare.
4325
43262008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
4327
4328 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
4329
43302008-06-16 Chong Yidong <cyd@stupidchicken.com>
4331
4332 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
4333
43342008-06-16 Juanma Barranquero <lekktu@gmail.com>
4335
4336 * font.c (Ffont_spec): Fix usage in docstring.
4337 (Ffont_face_attributes): Doc fix.
4338
43392008-06-16 Andreas Schwab <schwab@suse.de>
4340
4341 * font.c (Ffont_face_attributes): Fix definition.
4342
43432008-06-16 Jason Rumney <jasonr@gnu.org>
4344
4345 * font.h (font_style_symbolic_from_value): Remove.
4346
4347 * font.c (font_style_symbolic_from_value): Remove.
4348 (font_style_symbolic): Revert to pre 2008-06-13 version.
4349
4350 * w32font.c (w32_to_fc_weight): New function.
4351 (w32font_full_name, logfont_to_fcname): Use it.
4352
43532008-06-16 Kenichi Handa <handa@m17n.org>
4354
4355 * font.c (font_check_object): Delete it.
4356 (font_clear_cache): Check if a font-object is alive.
4357 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
4358 font-object to nil.
4359 (font_close_object): Don't check FONT_CLOSE_OBJECT.
4360 (font_at): Don't call font_check_object.
4361 (Ffont_get): Return a symbol for :weight, :slant, and :width.
4362
43632008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
4364
4365 * puresize.h (BASE_PURESIZE): Increase to 1230000.
4366
43672008-06-16 Chong Yidong <cyd@stupidchicken.com>
4368
4369 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
4370
43712008-06-15 Chong Yidong <cyd@stupidchicken.com>
4372
4373 * font.c (font_parse_fcname): Only one decimal point.
4374 (font_unparse_fcname): Handle data in family and foundry indices
4375 as symbols, not strings.
4376 (font_unparse_gtkname, Ffont_face_attributes): New functions.
4377
4378 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
4379
4380 * font.h (font_unparse_gtkname): Add prototype.
4381
43822008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
4383
4384 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
4385
43862008-06-15 Andreas Schwab <schwab@suse.de>
4387
4388 * font.c (font_update_drivers): Fix crash when no drivers match.
4389
43902008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
4391
4392 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
4393 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
4394
43952008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
4396
4397 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
4398
43992008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
4400
4401 * process.c (Fserial_process_configure, Fprocess_send_eof):
4402 Use EQ to compare Lisp_Objects.
4403
44042008-06-13 Jason Rumney <jasonr@gnu.org>
4405
4406 * w32fns.c (Fw32_select_font): Remove old font API function.
4407
4408 * w32font.c (logfont_to_fcname): New function.
4409 (Fx_select_font): New font dialog function compatible with
4410 GTK/fontconfig version.
4411
4412 * font.c (font_style_symbolic_from_value): New function.
4413 (font_style_symbolic): Use it.
4414
4415 * font.h (font_style_symbolic_from_value): Declare new function.
4416
44172008-06-13 Juanma Barranquero <lekktu@gmail.com>
4418
4419 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
4420 <font-width-table>: Fix typos in docstrings.
4421
44222008-06-13 Daniel Engeler <engeler@gmail.com>
4423
4424 These changes add serial port access.
4425 * process.c: Add HAVE_SERIAL.
4426 (Fdelete_process, Fprocess_status, Fset_process_buffer)
4427 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
4428 (list_processes_1, select_wrapper, Fstop_process)
4429 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
4430 (status_notify): Modify to handle serial processes.
4431 [HAVE_SERIAL] (Fserial_process_configure)
4432 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
4433 New functions.
4434 * process.h (struct Lisp_Process): Add `type'.
4435 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
4436 New functions.
4437 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
4438 serial ports.
4439 (serial_open, serial_configure) New functions.
4440 * w32.h: Add FILE_SERIAL.
4441 (struct _child_process): Add ovl_read, ovl_write.
4442
44432008-06-13 Kenichi Handa <handa@m17n.org>
4444
4445 * dispextern.h (enum lface_attribute_index): New member
4446 LFACE_FOUNDRY_INDEX.
4447
4448 * font.c (font_score): Delete arg alternate_families. Check only
4449 weight, slant, width, and size. Ignore the difference of alias
4450 style symbols.
4451 (font_sort_entites): Adjust for the above change. Reflect the
4452 order of font-driver to scores.
4453 (font_list_entities): Don't check alternate_familes here.
4454 (font_clear_prop): Handle foundry.
4455 (font_update_lface): Don't parse "foundry-family" form here.
4456 Handle FONT_FOUNDRY_INDEX.
4457 (font_find_for_lface): Likewise. Handle alternate families here.
4458 If registry is nil, try iso8859-1 and ascii-0.
4459 (font_open_for_lface): Pay attention to size in ENTITY.
4460 (font_open_by_name): Simplify by calling font_load_for_lface.
4461 (free_font_driver_list): Delete it.
4462 (font_update_drivers): Preserve the order of backends.
4463 (syms_of_font): Setting of sort_shift_bits adjusted for the change
4464 of font_score and font_sort_entites.
4465 (font_update_sort_order): Likewise.
4466
4467 * xfaces.c (LFACE_FOUNDRY): New macro.
4468 (check_lface_attrs): Check foundry.
4469 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
4470 (merge_face_vectors): Check foundry.
4471 (merge_face_ref): Likewise.
4472 (Finternal_set_lisp_face_attribute): Likewise.
4473 (x_update_menu_appearance): Likewise.
4474 (Finternal_get_lisp_face_attribute): Likewise.
4475 (lface_hash): Likewise.
4476 (lface_same_font_attributes_p): Likewise.
4477 (x_supports_face_attributes_p): Likewise.
4478 (tty_supports_face_attributes_p): Likewise.
4479 (Finternal_set_alternative_font_family_alist): Intern strings.
4480 (Finternal_set_alternative_font_registry_alist): Downcase strings.
4481 (realize_default_face): Set LFACE_FOUNDRY (lface).
4482
4483 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
4484 font-driver at first.
4485
4486 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
4487
44882008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
4489
4490 * lread.c (Fload): Use xfree, not free on saved_doc_string.
4491
44922008-06-12 Jim Meyering <meyering@redhat.com>
4493
4494 Make unexec_free handle NULL the same way free does.
4495 * unexmacosx.c (unexec_free): Ignore a NULL argument.
4496
44972008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
4498
4499 * character.h (CHAR_TO_BYTE_SAFE): New macro.
4500 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
4501 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
4502 (WEAK_ALIAS): Simplify.
4503 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
4504 when searching a unibyte buffer.
4505
45062008-06-12 Chong Yidong <cyd@stupidchicken.com>
4507
4508 * xfns.c (Fx_select_font): Rename from x-font-dialog.
4509
45102008-06-12 Juanma Barranquero <lekktu@gmail.com>
4511
4512 * w32font.c: Include ctype.h.
4513
45142008-06-11 Jason Rumney <jasonr@gnu.org>
4515
4516 * w32font.c (w32font_encode_char): Detect missing glyphs that are
4517 misreported as space.
4518 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
4519 as aliases for registry iso10646-1.
4520
45212008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
4522
4523 * buffer.c (clone_per_buffer_values): Skip `name'.
4524
45252008-06-11 Chong Yidong <cyd@stupidchicken.com>
4526
4527 * font.c (font_parse_fcname): Fix last change; accept decimal
4528 points in font size.
4529
45302008-06-10 Jason Rumney <jasonr@gnu.org>
4531
4532 * w32uniscribe.c (add_opentype_font_name_to_list):
4533 Skip non unicode fonts.
4534
45352008-06-10 Chong Yidong <cyd@stupidchicken.com>
4536
4537 * xfns.c (Fx_font_dialog): New function.
4538
4539 * gtkutil.c (xg_dialog_response_cb): Rename from
4540 xg_file_response_callback.
4541 (pop_down_dialog): Rename from pop_down_file_dialog.
4542 (xg_get_file_name): Callers changed.
4543 (xg_get_font_name): New function.
4544
4545 * gtkutil.h (xg_get_font_name): Insert prototype.
4546
45472008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
4548
4549 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
4550 x_underline_minimum_display_offset.
4551 (syms_of_xdisp): Declare it here rather than in xterm.c.
4552 * dispextern.h (underline_minimum_offset): Declare it.
4553 * w32term.c (x_draw_glyph_string): Use it.
4554 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
4555 (syms_of_xterm): Don't declare it any more.
4556 (x_draw_glyph_string): Adjust to the new name.
4557
45582008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
4559
4560 * xterm.c (x_underline_minimum_display_offset): New var.
4561 (x_draw_glyph_string): Use it.
4562 (syms_of_xterm): Declare it.
4563
45642008-06-10 Chong Yidong <cyd@stupidchicken.com>
4565
4566 * font.c (font_parse_fcname): Accept GTK-style font names too.
4567
45682008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
4569
4570 * dired.c (file_name_completion): Don't return t if the match is exact
4571 but with different capitalization.
4572 * minibuf.c (Ftry_completion): Simplify.
4573
4574 * window.c (Vwindow_point_insertion_type): New var.
4575 (set_window_buffer): Use it.
4576 (syms_of_window): Init and export it to Lisp.
4577
45782008-06-10 Kenichi Handa <handa@m17n.org>
4579
4580 * font.h (font_intern_prop): Prototype adjusted.
4581
4582 * font.c (font_intern_prop): New arg force_symbol.
4583 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
4584 Adjust for the change of font_intern_prop.
4585
4586 * ftfont.c (ftfont_pattern_entity):
4587 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
4588 (w32_registry):
4589 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
4590 the change of font_intern_prop.
4591
45922008-06-09 Juanma Barranquero <lekktu@gmail.com>
4593
4594 * w32menu.c (digest_single_submenu): Declare extern.
4595
45962008-06-09 Jason Rumney <jasonr@gnu.org>
4597
4598 * w32term.c (x_make_frame_visible): Use alternate restore flags.
4599
4600 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
4601 (parse_single_submenu): Remove.
4602 (digest_single_submenu): Remove.
4603 (syms_of_w32menu): Don't initialise variables that have moved
4604 to menu.c.
4605 (set_frame_menubar): Sync with version in xmenu.c.
4606 (w32_menu_show): Sync with xmenu_show in xmenu.c.
4607
4608 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
4609 Make static again.
4610
46112008-06-09 Jason Rumney <jasonr@gnu.org>
4612
4613 Changes to w32 files related to the move of common menu code
4614 to menu.c on 2008-06-08 by Chong Yidong.
4615
4616 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
4617 defs to w32gui.h.
4618 (single_keymap_panes, push_menu_item, push_menu_pane):
4619 Make globally visible.
4620
4621 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
4622 (local_free, malloc_widget_value, free_widget_value)
4623 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
4624 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
4625 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
4626 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
4627 (menu_items, menu_items_allocated, menu_items_used)
4628 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
4629 (init_menu_items, finish_menu_items, discard_menu_items)
4630 (grow_menu_items, push_submenu_start, push_submenu_end)
4631 (push_left_right_boundary, push_menu_pane, push_menu_item)
4632 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
4633 (free_menubar_widget_tree_value, parse_single_submenu)
4634 (update_submenu_strings): Remove functions.
4635 (xmalloc_widget_value): Remove and declare extern.
4636
4637 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
4638 (OBJ1): Build it.
4639
4640 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
4641 (local_heap, local_alloc, local_free, malloc_widget_value)
4642 (free_widget_value): Define here.
4643
46442008-06-09 Kenichi Handa <handa@m17n.org>
4645
4646 * font.h (Qascii_0): Extern it.
4647
4648 * font.c (Qascii_0): New variable.
4649 (syms_of_font): DEFSYM it.
4650 (font_open_by_name): If the registry "iso8859-1" fails, try also
4651 "ascii-0".
4652
4653 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
4654
46552008-06-08 Kenichi Handa <handa@m17n.org>
4656
4657 * .gdbinit (xfont): New command.
4658
46592008-06-08 Andreas Schwab <schwab@suse.de>
4660
4661 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
4662 * Makefile.in (menu.o): Update dependencies.
4663
4664 * Makefile.in (obj): Always add menu.o.
4665 * emacs.c (main): Always call syms_of_menu.
4666 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
4667
46682008-06-08 Chong Yidong <cyd@stupidchicken.com>
4669
4670 * Makefile.in: Compile menu.c.
4671
4672 * lisp.h: Declare syms_of_menu.
4673
4674 * emacs.c (main): Call syms_of_menu.
4675
4676 * keyboard.h: Relocate platform-independent menu definitions from
4677 xmenu.c.
4678
4679 * menu.c: New file. Relocate platform-independent menu
4680 definitions from xmenu.c. Suggested by Adrian Robert.
4681
4682 * xmenu.c: Remove platform-independent menu definitions.
4683 (menu_items menu_items_inuse, menu_items_allocated)
4684 (menu_items_used, menu_items_n_panes)
4685 (menu_items_submenu_depth): Move to keyboard.h.
4686 (init_menu_items, finish_menu_items, unuse_menu_items)
4687 (discard_menu_items, restore_menu_items, save_menu_items)
4688 (grow_menu_items, push_submenu_start, push_submenu_end)
4689 (push_left_right_boundary, push_menu_pane, push_menu_item)
4690 (keymap_panes, single_keymap_panes, single_menu_item)
4691 (list_of_panes, list_of_items, find_and_call_menu_selection)
4692 (xmalloc_widget_value, free_menubar_widget_value_tree)
4693 (parse_single_submenu, digest_single_submenu)
4694 (update_submenu_strings): Move to menu.c.
4695
46962008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
4697
4698 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
4699
47002008-06-06 Miles Bader <miles@gnu.org>
4701
4702 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
4703 face, not frame default.
4704
47052008-06-05 Martin Rudalics <rudalics@gmx.at>
4706
4707 * window.c (pop_up_windows, pop_up_frames)
4708 (display_buffer_reuse_frames, Vpop_up_frame_function)
4709 (Vdisplay_buffer_function, Veven_window_heights)
4710 (Vspecial_display_buffer_names, Vspecial_display_regexps)
4711 (Vspecial_display_function, Vsame_window_buffer_names)
4712 (Vsame_window_regexps, split_height_threshold)
4713 (Vsplit_window_preferred_function): Move those vars to window.el.
4714 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
4715 (Fdisplay_buffer): Move those functions to window.el.
4716 (syms_of_window): Remove corresponding declarations.
4717 (display_buffer): New function.
4718 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
4719 * dispnew.c (Flast_nonminibuf_frame): New function.
4720 * buffer.c (Fpop_to_buffer): Move to window.el.
4721
47222008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
4723
4724 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
4725
47262008-06-05 Kenichi Handa <handa@m17n.org>
4727
4728 * coding.c (detect_coding): Fix previous change.
4729 (detect_coding_system): Likewise.
4730
47312008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
4732
4733 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
4734
4735 * keymap.c (Vminibuffer_local_filename_must_match_map):
4736 Rename from Vminibuffer_local_must_match_filename_map.
4737 (syms_of_keymap):
4738 * minibuf.c (Fcompleting_read): Adjust accordingly.
4739 * commands.h: Rename declaration as well.
4740
47412008-06-05 Kenichi Handa <handa@m17n.org>
4742
4743 * font.c (Ffont_spec): Don't use font_parse_family_registry for
4744 family name.
4745 (Ffont_put): Likewise.
4746
4747 * fontset.c (fontset_find_font): Call font_open_for_lface with the
4748 current font-spec.
4749
4750 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
4751 is unspecified.
4752
4753 * xfaces.c (realize_x_face): If the font-related face attributes
4754 are the same as those of default face, realize a new fontset from
4755 default->fontset.
4756 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
4757
47582008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
4759
4760 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
4761 (move_it_in_display_line): New wrapper.
4762
4763 * window.c (window_scroll_pixel_based_preserve_x)
4764 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
4765 (window_scroll_pixel_based, window_scroll_line_based):
4766 Use them to preserve column positions.
4767 (syms_of_window): Initialize them.
4768
4769 * indent.c (Fvertical_motion): Extend first arg to allow passing an
4770 (HPOS . VPOS) pair.
4771
4772 * dispextern.h (move_it_in_display_line): Declare.
4773
47742008-06-05 Juanma Barranquero <lekktu@gmail.com>
4775
4776 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
4777 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
4778 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
4779
47802008-06-04 Juanma Barranquero <lekktu@gmail.com>
4781
4782 * window.c (Fset_window_parameter): Doc fix.
4783 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
4784
47852008-06-04 Joakim Verona <joakim@verona.se>
4786
4787 * window.h (struct window): Add new member window_parameters.
4788
4789 * window.c (Fwindow_parameters, Fwindow_parameter)
4790 (Fset_window_parameter): New defuns.
4791 (syms_of_window): Defsubr the new defuns.
4792 (make_window): Initialize window_parameters to nil.
4793
47942008-06-04 John Paul Wallington <jpw@pobox.com>
4795
4796 * eval.c (Fdefmacro): Doc fix.
4797
47982008-06-04 Kenichi Handa <handa@m17n.org>
4799
4800 * coding.c (detect_coding): Fix handling of coding->head_ascii.
4801 Be sure to call setup_coding_system when we find a proper coding system.
4802 (detect_coding_system): Fix handling of coding->head_ascii.
4803
48042008-06-03 Andreas Schwab <schwab@suse.de>
4805
4806 * font.c (font_prop_validate_spacing): Fix last change.
4807
48082008-06-03 Kenichi Handa <handa@m17n.org>
4809
4810 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
4811 (font_parse_fcname): Fix handling of unknown key.
4812
4813 * xfont.c (xfont_list): Try an alias.
4814
4815 * charset.c (char_charset): Return NULL if the arg charset_list is
4816 specified and C doesn't belong to any of them.
4817
48182008-06-02 Chip Coldwell <coldwell@redhat.com>
4819
4820 * font.c (font_pixel_size): Don't take cdr of an integer.
4821
48222008-06-02 Jim Meyering <meyering@redhat.com>
4823
4824 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
4825 * alloc.c (xfree): Return right away for a NULL arg.
4826 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
4827 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
4828 * mac.c (create_apple_event_from_event_ref): Likewise.
4829 (create_apple_event_from_drag_ref, cfstring_create_normalized):
4830 Likewise.
4831 * doprnt.c (doprnt1): Likewise.
4832 * frame.c (frame): Likewise.
4833 * keyboard.c (wipe_kboard): Likewise.
4834 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
4835 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
4836 * term.c (tty_default_color_capabilities, maybe_fatal)
4837 (delete_tty): Likewise.
4838 * w16select.c (string): Likewise.
4839 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
4840 * w32bdf.c (w32_free_bdf_font): Likewise.
4841 * w32fns.c (w32_unload_font): Likewise.
4842 * w32font.c (w32font_close): Likewise.
4843 * window.c (size_window): Likewise.
4844 * xselect.c (receive_incremental_selection): Likewise.
4845 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
4846 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
4847 * w32.c (stat): Likewise.
4848
4849 Remove useless if-before-free tests.
4850 * editfns.c (Fset_time_zone_rule): Likewise.
4851 * lread.c (nosuffix): Likewise.
4852 * ralloc.c (get_bloc): Likewise.
4853 * regex.c (reg_free): Likewise.
4854 * xftfont.c (xftfont_open, xftfont_close): Likewise.
4855 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
4856 * xsmfns.c (smc_save_yourself_CB): Likewise.
4857
48582008-06-02 Kenichi Handa <handa@m17n.org>
4859
4860 * font.c (font_find_for_lface): Handle float font size.
4861 (font_open_for_lface): Likewise.
4862
4863 * xfaces.c (x_supports_face_attributes_p): Check face->font before
4864 comparing the properties.
4865
48662008-06-01 Jason Rumney <jasonr@gnu.org>
4867
4868 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
4869 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
4870 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
4871 Don't add empty script list.
4872 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
4873
48742008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
4875
4876 * Makefile.in (dot, dotdot): Remove, update users.
4877 ".." has been used elsewhere in the file for a long time.
4878 (LIBXT_STATIC): Remove conditional based on unused variable.
4879
48802008-06-01 Miles Bader <miles@gnu.org>
4881
4882 * xfaces.c (Vface_remapping_alist): New variable.
4883 (syms_of_xfaces): Initialize it.
4884 (enum named_merge_point_kind): New type.
4885 (struct named_merge_point): Add `named_merge_point_kind' field.
4886 (push_named_merge_point): Make cycle detection respect different
4887 named-merge-point kinds.
4888 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
4889 Remove face-name alias resolution.
4890 (lface_from_face_name): New definition using
4891 `lface_from_face_name_no_resolve'.
4892 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
4893 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
4894 (get_lface_attributes): New definition that layers face-remapping on
4895 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
4896 (lookup_basic_face): New function.
4897 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
4898 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
4899 `get_lface_attributes'.
4900 (face_at_buffer_position): Use `lookup_basic_face' to lookup
4901 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
4902 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
4903
4904 * xdisp.c (init_iterator): Pass base_face_id through
4905 `lookup_basic_face' when we actually use it as a face-id.
4906 (handle_single_display_prop): Use `lookup_basic_face' to lookup
4907 DEFAULT_FACE_ID.
4908
4909 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
4910 lookup the initial face-id.
4911
4912 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
4913
49142008-06-01 Juanma Barranquero <lekktu@gmail.com>
4915
4916 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
4917 (Fremove_text_properties): Fix typos in docstrings.
4918
49192008-05-31 Kenichi Handa <handa@m17n.org>
4920
4921 * font.c (font_list_entities): Fix the car part of data to be
4922 stored in the cache.
4923
4924 * ftfont.c (ftfont_font_format): Don't use strcasestr.
4925
49262008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
4927
4928 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
4929 Add a `test' argument so another predicate than `equal' can be used.
4930 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
4931 (map_char_table): Remove unused vars `c' and `i'.
4932 * lisp.h (Foptimize_char_table): Adjust declaration.
4933 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
4934
49352008-05-30 Kenichi Handa <handa@m17n.org>
4936
4937 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
4938 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
4939 defined.
4940
49412008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
4942
4943 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
4944 (Fmake_variable_frame_local): Disallow mixing buffer-local and
4945 frame-local settings for the same variable.
4946
49472008-05-30 Kenichi Handa <handa@m17n.org>
4948
4949 * fontset.c (Ffont_info): Move to font.c.
4950 (syms_of_fontset): Delete defsubr of Sfont_info.
4951
4952 * font.c (font_style_to_value, font_score): Delete casting of the
4953 args to xstcasecmp.
4954 (register_font_driver): Increment num_font_drivers only when
4955 registering the driver globally.
4956 (Ffont_info): Move from fontset.c. Handle a font object too.
4957 (syms_of_font): Defsubr Sfont_info.
4958
49592008-05-29 Kenichi Handa <handa@m17n.org>
4960
4961 * coding.h (enum define_coding_utf8_arg_index): New enum.
4962 (enum coding_attr_index): Change coding_attr_utf_16_bom to
4963 coding_attr_utf_bom.
4964 (enum utf_bom_type): Rename from utf_16_bom_type.
4965 (struct utf_16_spec): Adjust for the above change.
4966 (struct coding_system): Add utf_8_bom in `spec' union.
4967
4968 * coding.c (CODING_UTF_8_BOM): New macro.
4969 (enum coding_category): Delete coding_category_utf_8, add
4970 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
4971 coding_category_utf_8_sig.
4972 (CATEGORY_MASK_UTF_8): Delete it.
4973 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
4974 (CATEGORY_MASK_UTF_8_SIG): New macros.
4975 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
4976 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
4977 CATEGORY_MASK_UTF_8_SIG.
4978 (CATEGORY_MASK_UTF_8): New macro.
4979 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
4980 (detect_coding_utf_8): Check BOM.
4981 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
4982 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
4983 (encode_coding_utf_16): Likewise.
4984 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
4985 (detect_coding, detect_coding_system): Handle utf-8-auto.
4986 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
4987 (syms_of_coding): Fix setting up of Vcoding_category_table.
4988
49892008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
4990
4991 * process.c (Faccept_process_output): If `millisec' is non-nil,
4992 `seconds' default to 0.
4993 (wait_reading_process_output): Also return non-nil if we read output
4994 from a non-running process.
4995
49962008-05-29 Jason Rumney <jasonr@gnu.org>
4997
4998 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
4999 `raster' specified.
5000 (add_font_entity_to_list): Allow non-opentype truetype fonts back
5001 in the uniscribe backend, but disallow any font that has no
5002 unicode subrange support.
5003
50042008-05-29 Juanma Barranquero <lekktu@gmail.com>
5005
5006 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
5007 Fix typos in docstrings.
5008
50092008-05-29 Kenichi Handa <handa@m17n.org>
5010
5011 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
5012 (Fx_family_fonts): Set frame correctly.
5013
50142008-05-28 Jason Rumney <jasonr@gnu.org>
5015
5016 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
5017
50182008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
5019
5020 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
5021 calling build_annotations.
5022
50232008-05-28 Juanma Barranquero <lekktu@gmail.com>
5024
5025 * coding.c (Fdecode_coding_region, Fencode_coding_region)
5026 (Fencode_coding_string):
5027 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
5028 <latin-extra-code-table>: Fix typos in docstrings.
5029 (syms_of_coding) <coding-system-alist>: Doc fix.
5030 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
5031
50322008-05-28 Kenichi Handa <handa@m17n.org>
5033
5034 * fontset.c (Ffont_info): Don't call font_close_object.
5035
5036 * font.c (font_parse_family_registry): Use Ffont_put to validate
5037 foundry and family.
5038 (font_delete_unmatched): Don't check spacing.
5039 (font_list_entities): Add spacing to the spec to list fonts.
5040
5041 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
5042 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
5043
5044 * coding.c (encode_coding_raw_text): Fix previous change.
5045 (encode_coding_object): When the dst_object is a buffer and is
5046 different from src_object, move gap to PT.
5047
50482008-05-27 Chong Yidong <cyd@stupidchicken.com>
5049
5050 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
5051
50522008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
5053
5054 * coding.c (encode_coding_raw_text): Set coding->produced_char for
5055 all branches. Compute it differently.
5056
5057 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
5058
50592008-05-27 Juanma Barranquero <lekktu@gmail.com>
5060
5061 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
5062 into "else if () ... else ...".
5063
50642008-05-27 Jason Rumney <jasonr@gnu.org>
5065
5066 * w32font.c (w32font_open_internal): Determine if glyph indices
5067 are likely to work here.
5068
50692008-05-27 Chong Yidong <cyd@stupidchicken.com>
5070
5071 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
5072 draw overlap glyphs with appropriate highlighting.
5073
50742008-05-27 Kenichi Handa <handa@m17n.org>
5075
5076 * xfont.c (xfont_open): Fix calculation of font->average_width.
5077
50782008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
5079
5080 * casefiddle.c (casify_object): Try to guess better whether the
5081 argument is a byte or a char.
5082
50832008-05-26 Andreas Schwab <schwab@suse.de>
5084
5085 * xselect.c (x_reply_selection_request): Properly handle format == 32.
5086 Always send multiples of format size.
5087
5088 * xterm.c (x_set_frame_alpha): Fix type mismatch.
5089
50902008-05-26 Jason Rumney <jasonr@gnu.org>
5091
5092 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
5093 (compute_metrics): Don't set failure if we just cleared the cache.
5094 (w32_weight_table): Remove unused variable.
5095 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
5096 backwards compatibility.
5097
50982008-05-25 Kenichi Handa <handa@m17n.org>
5099
5100 * w32term.c (x_draw_glyph_string):
5101 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
5102
5103 * xfaces.c: Delete unused function prototypes.
5104 (xstrlwr, font_frame): Delete them.
5105 (clear_face_cache): Delete unused variable.
5106
5107 * xftfont.c (xftfont_open): Delete unused variable.
5108 If underline_thickness is not 1, adjust underline_position.
5109
5110 * ftxfont.c (ftxfont_open): Delete unused variable.
5111
5112 * fontset.c (face_for_char): Optimize for the case of no charset
5113 property.
5114
5115 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
5116 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
5117 (otf_open, font_otf_capability, generate_otf_features)
5118 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
5119 Comment out by surrounding "#if 0" and "#endif" for the moment.
5120 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
5121 (syms_of_font): Codes for accessing above commented out.
5122
51232008-05-24 Eli Zaretskii <eliz@gnu.org>
5124
5125 * w32proc.c: Include dispextern.h.
5126
5127 * w32.c: Include dispextern.h.
5128
51292008-05-23 Juanma Barranquero <lekktu@gmail.com>
5130
5131 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
5132 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
5133 Fix typos in docstrings.
5134
51352008-05-23 Jason Rumney <jasonr@gnu.org>
5136
5137 * xsmfns.c: Remove includes that are already included by config.h.
5138
51392008-05-23 Kenichi Handa <handa@m17n.org>
5140
5141 * charset.c (Qemacs, charset_emacs): New variables.
5142 (char_charset): Fix for non-Unicode characters.
5143 (syms_of_charset): Define charset_emacs.
5144
5145 * w32term.c (x_draw_glyph_string): Be sure to update
5146 s->underline_thickness and s->underline_position. Be sure to draw
5147 underline within the current line area.
5148
5149 * xterm.c (x_draw_glyph_string): Be sure to update
5150 s->underline_thickness and s->underline_position. Be sure to draw
5151 underline within the current line area.
5152
5153 * fontset.c: Delete unused variables and add casting for char *
5154 throughout the file.
5155 (fontset_font): Try the fallback fonts of the current fontset
5156 before consulting the default fontset.
5157
5158 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
5159
5160 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
5161
51622008-05-22 Jason Rumney <jasonr@gnu.org>
5163
5164 * font.c: Don't include strings.h.
5165
5166 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
5167
5168 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
5169 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
5170 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
5171 to call xstrcasecmp.
5172
5173 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
5174
5175 * fontset.c (fs_query_fontset): Use xstrcasecmp.
5176
5177 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
5178
5179 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
5180
51812008-05-22 Kenichi Handa <handa@m17n.org>
5182
5183 * puresize.h (BASE_PURESIZE): Increase to 1220000.
5184
5185 * font.c (font_prop_validate_style): Adjust for the format
5186 change of font_style_table.
5187
5188 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
5189 two args.
5190
5191 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
5192 two args.
5193
51942008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
5195
5196 * minibuf.c (keys_of_minibuf): Delete.
5197 * lisp.h (keys_of_minibuf): Delete.
5198 * emacs.c (main): Don't call keys_of_minibuf.
5199
52002008-05-22 Kenichi Handa <handa@m17n.org>
5201
5202 * ftfont.c (ftfont_resolve_generic_family): Rename from
5203 ftfont_list_generic_family. Return a single family for each
5204 generic family.
5205 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
5206 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
5207 Call font_add_log.
5208 (ftfont_match): Call font_add_log.
5209
5210 * font.h (Ffont_xlfd_name): EXFUN adjusted.
5211 (FONT_DEBUG): Define it.
5212 (font_add_log): Extern it.
5213 (font_assert): Rename from xassert.
5214
5215 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
5216 (xfont_list_family): Call font_add_log.
5217 (xfont_match): Likewise.
5218 (memq_no_quit): Delete.
5219
5220 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
5221 call of Ffont_xlfd_name.
5222
5223 * xfaces.c (struct table_entry, slant_table, weight_table)
5224 (swidth_table): Move to font.c.
5225
5226 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
5227 xassert are changed to font_assert. Delete many unused variables.
5228 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
5229 New variables.
5230 (struct table_entry): Move from xfaces.c and modified.
5231 (weight_table, slant_table, width_table): Move from xfaces.c and
5232 contents adjusted for the change of struct table_entry.
5233 (font_style_to_value, font_style_symbolic): Adjust for the
5234 format change of font_style_table.
5235 (font_parse_family_registry): Don't overwrite existing foundry and
5236 family of font_spec.
5237 (font_score): Fix calculation of diff for sizes.
5238 (font_sort_entites): Call font_add_log.
5239 (font_delete_unmatched): Return a newly created list.
5240 (font_list_entities): Fix previous change. Call font_add_log.
5241 (font_matching_entity, font_open_entity, font_close_entity):
5242 Call font_add_log.
5243 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
5244 (Finternal_set_font_style_table): Delete.
5245 (BUILD_STYLE_TABLE): New macro.
5246 (build_style_table): New function.
5247 (Vfont_log, font_log_env_checked): New variables.
5248 (font_add_log): New function.
5249 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
5250 Declare Lisp variables "font-weight-table", "font-slant-table",
5251 "font-width-table", and "font-log". Initialize font_style_table.
5252
52532008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
5254
5255 * xterm.c (x_set_frame_alpha): Move declarations before statements.
5256
52572008-05-21 Seiji Zenitani <zenitani@mac.com>
5258 Ryo Yoshitake <ryo@shiftmode.net>
5259
5260 * frame.c (Qalpha): Add a new frame parameter `alpha'.
5261 (Vframe_alpha_lower_limit): New variable.
5262 (x_set_alpha): New function.
5263
5264 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
5265
5266 * xfns.c (x-create-frame, Qalpha):
5267 Initialize the frame parameter `alpha'.
5268 * xterm.c (OPAQUE, OPACITY): New.
5269 (x_set_frame_alpha): New function.
5270 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
5271
5272 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
5273 * w32fns.c (w32_frame_parm_handlers): Likewise.
5274
52752008-05-20 Jason Rumney <jasonr@gnu.org>
5276
5277 * w32font.c (add_font_entity_to_list): Don't add non-opentype
5278 truetype fonts to opentype list.
5279
52802008-05-20 Juanma Barranquero <lekktu@gmail.com>
5281
5282 * fontset.c (Ffontset_info): Doc fix.
5283 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
5284 <ignore-relative-composition>: Fix typos in docstrings.
5285
5286 * font.c (syms-of-font) <font-encoding-alist>:
5287 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
5288 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
5289 (Ffont_otf_alternates): Doc fixes.
5290
52912008-05-20 Kenichi Handa <handa@m17n.org>
5292
5293 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
5294 font.h through out the file.
5295 (FONT_DRIVERS): Rename from FONTOBJ.
5296 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
5297 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
5298
5299 * emacs.c (main): Call syms_of_font unconditionally.
5300
5301 * font.h (find_font_encoding): Extern it.
5302
5303 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
5304 fontset.c.
5305 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
5306 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
5307 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
5308 only when HAVE_WINDOW_SYSTEM is defined.
5309 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
5310 when HAVE_WINDOW_SYSTEM is defined.
5311
5312 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
5313 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
5314
5315 * xfaces.c: Include font.h unconditionally.
5316 (merge_face_ref, merge_face_vectors)
5317 (Finternal_set_lisp_face_attribute): Cancel the previous change.
5318
53192008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
5320
5321 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
5322 indirect_variable.
5323 * eval.c (lisp_indirect_variable): New fun.
5324 (Fuser_variable_p): Use it.
5325
53262008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
5327
5328 * lisp.h (indirect_variable):
5329 * data.c (indirect_variable, let_shadows_buffer_binding_p):
5330 Use Lisp_Symbol pointers rather than Lisp_Object.
5331 Adjust callers.
5332 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
5333 To this end, change calling-convention.
5334
5335 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
5336 if some non-hidden buffers are selected by string&pred.
5337
53382008-05-19 Chong Yidong <cyd@stupidchicken.com>
5339
5340 * process.c (wait_reading_process_output): Always check status
5341 when in batch mode.
5342
53432008-05-19 Kenichi Handa <handa@m17n.org>
5344
5345 * font.c (font_list_entities): Fix handling of cache.
5346 (font_matching_entity): Likewise.
5347
5348 * ftfont.c (cs_iso8859_1): Delete.
5349 (ft_face_cache): New variable.
5350 (struct ftfont_info): New member fc_charset_idx.
5351 (ftfont_build_basic_charsets): Delete.
5352 (fc_charset_table): New variable.
5353 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
5354 . FC_CHARSET_IDX) as :font-entity property in the font entity.
5355 Callers changed.
5356 (ftfont_lookup_cache, ftfont_get_charset): New functions.
5357 (ftfont_spec_pattern): New argument fc_charset_idx.
5358 Check registry more rigidly. Change callers.
5359 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
5360 change of :font-entity property of the font.
5361
5362 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
5363 property of the font.
5364
53652008-05-18 Juanma Barranquero <lekktu@gmail.com>
5366
5367 * coding.c (Fcoding_system_p): Rename argument to match docstring.
5368 (Funencodable_char_position, Fcheck_coding_systems_region)
5369 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
5370 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
5371 (Ffind_operation_coding_system, Fset_coding_system_priority)
5372 (Fcoding_system_eol_type): Doc fixes.
5373
53742008-05-17 Glenn Morris <rgm@gnu.org>
5375
5376 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
5377
53782008-05-16 Eli Zaretskii <eliz@gnu.org>
5379
5380 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
5381 and st_gid.
5382
5383 * frame.c (Fdelete_frame): Don't call font_update_drivers if
5384 HAVE_WINDOW_SYSTEM is not defined.
5385
5386 * xfaces.c (merge_face_ref, merge_face_vectors)
5387 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
5388 HAVE_WINDOW_SYSTEM is defined.
5389 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
5390
53912008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
5392
5393 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
5394
53952008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5396
5397 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
5398
53992008-05-15 Kenichi Handa <handa@m17n.org>
5400
5401 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
5402 preference.
5403
54042008-05-15 Glenn Morris <rgm@gnu.org>
5405
5406 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
5407
54082008-05-15 Chong Yidong <cyd@stupidchicken.com>
5409
5410 * fns.c (init_fns): Don't initialize weak_hash_tables here.
5411 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
5412
5413 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
5414
54152008-05-15 Kenichi Handa <handa@m17n.org>
5416
5417 * ftfont.c (ftfont_list): Downcase family name to check generic
5418 families.
5419
5420 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
5421 font-spec for QCfont value.
5422
5423 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
5424 buffer. Check the return value of it.
5425
54262008-05-14 Jason Rumney <jasonr@gnu.org>
5427
5428 * w32term.c (w32_get_glyph_overhangs): Remove.
5429 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
5430
54312008-05-14 Kenichi Handa <handa@m17n.org>
5432
5433 * font.c (font_prop_validate): Make nil a valid value.
5434 (font_clear_cache): Check if the cached vector of entities is nil
5435 or not.
5436
54372008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5438
5439 * emacs.c (main_thread): Conditionalize on
5440 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
5441 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
5442
5443 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
5444 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
5445 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
5446
54472008-05-14 Kenichi Handa <handa@m17n.org>
5448
5449 * coding.c (detect_coding_iso_2022): Ignore a coding category that
5450 has no corresponding coding system.
5451
54522008-05-14 Jason Rumney <jasonr@gnu.org>
5453
5454 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
5455
5456 * w32font.h (w32font_open_internal): Update declaration.
5457
5458 * w32font.c (w32font_open_internal): Change last argument from
5459 w32font_info struct to font object. Fill in font object from
5460 font_entity. Get Outline metrics if possible. Use them to
5461 calculate underline position and thickness. Use xlfd name as name
5462 property. Don't set codepage.
5463 (w32font_open): Pass font_object to w32font_open_internal. Don't
5464 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
5465 (w32font_draw): Use s->font.
5466 (clear_cached_metrics): Don't clear non-existent blocks.
5467
5468 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
5469 font was not found.
5470 (x_draw_glyph_string): Use underline position and thickness from font.
5471
5472 * w32uniscribe.c (uniscribe_open): Pass font_object to
5473 w32font_open_internal.
5474
54752008-05-14 Kenichi Handa <handa@m17n.org>
5476
5477 These changes are to delete all legacy font-handling codes, and
5478 make Emacs use only font-backends.
5479
5480 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
5481 (frame.o, image.o, print.o): Depend on $(FONTSRC).
5482
5483 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
5484
5485 * charset.h (Vcharset_non_preferred_head)
5486 (Vcurrent_iso639_language): Extern them.
5487
5488 * charset.c (Vcharset_non_preferred_head): New variable.
5489 (Vcurrent_iso639_language): New variable.
5490 (syms_of_charset): Declare it as a Lisp variable.
5491 (char_charset): Don't check non preferred charsets. As a last
5492 resort, return charset_unicode.
5493 (Fset_charset_priority): Update Vcharset_non_preferred_head.
5494
5495 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
5496 conditionals. Don't check enable_font_backend. Delete all codes
5497 used only when USE_FONT_BACKEND is not defined.
5498
5499 * dispextern.h (struct glyph_string): Change type of `font' to
5500 `struct font *'.
5501 (struct glyph_string): New member underline_position and
5502 underline_thickness.
5503 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
5504 (struct face): Change type of `font' to `struct font *'. Remove
5505 members `font_name', `font_info_id'.
5506 (per_char_metric, encode_char): Delete externs.
5507 (calc_pixel_width_or_height): Adjust the prototype.
5508
5509 * emacs.c (enable_font_backend): Delete extern.
5510 (main): Don't set enable_font_backend. Don't check the command
5511 line argument "-disable-font-backend".
5512
5513 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
5514 (enum font_property_index): New members FONT_DPI_INDEX,
5515 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
5516 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
5517 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
5518 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
5519 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
5520 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
5521 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
5522 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
5523 (struct font_spec, struct font_entity): New structs.
5524 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
5525 (struct font): Many members from old "struct font_info" moved to
5526 here. Members font and entity deleted.
5527 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
5528 the new font-related objects.
5529 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
5530 (CHECK_FONT_GET_OBJECT): Likewise.
5531 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
5532 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
5533 (struct font_driver): New members case_sensitive anc check. Type
5534 of the member list and open changed.
5535 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
5536 (font_symbolic_width, font_find_object, font_get_spec)
5537 (font_set_lface_from_name): Delete extern.
5538 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
5539
5540 * font.c: Include <strings.h>.
5541 (enable_font_backend): Delete it.
5542 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
5543 (CHECK_VALIDATE_FONT_SPEC): Delete it.
5544 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
5545 (null_string): Delete it.
5546 (null_vector): Make it static.
5547 (font_family_alist): Delete it.
5548 (Qnormal): Extern it.
5549 (QCextra, QClanguage): Delete it.
5550 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
5551 (font_make_spec, font_make_entity, font_make_object)
5552 (font_intern_prop): Renamed from intern_downcase. Don't downcase
5553 the string. Callers changed.
5554 (font_pixel_size): Adjusted for the format change of font-related
5555 objects.
5556 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
5557 (font_style_to_value, font_style_symbolic): New function.
5558 (build_font_family_alist): Delete it.
5559 (font_registry_charsets): Use Fassoc_string instead of
5560 assq_no_quit.
5561 (font_prop_validate_symbol): Don't return null_string.
5562 (font_prop_validate_style): Adjusted for the change of
5563 style-related values in a font vector.
5564 (font_property_table): Delete entries for QClanguage and
5565 QCantialias, add entries for QCavgwidth.
5566 (get_font_prop_index): Delete the 2nd argument FROM.
5567 (font_prop_validate): Arguments changed.
5568 (font_put_extra): Adjusted for the change of font-related objects.
5569 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
5570 (font_parse_fcname, font_unparse_fcname)
5571 (font_prepare_composition): Likewise.
5572 (font_parse_family_registry): Renamed from font_merge_old_spec.
5573 (otf_open): Delete the 1st arg entity.
5574 (font_otf_capability): Adjusted for the above change.
5575 (font_score): New arg alternate_families. Adjusted for the change
5576 of font-related objects.
5577 (font_sort_entites): New arg best_only.
5578 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
5579 Delete them.
5580 (font_match_p): Check alternate families.
5581 (font_find_object): Delete it.
5582 (font_check_object): New function.
5583 (font_clear_cache): Adjusted for the change of font-related objects.
5584 (font_delete_unmatched): New arg.
5585 (font_list_entities): Call font_driver->list with a spec that
5586 doesn't specify style-related properties.
5587 (font_matching_entity): Arguments changed. Caller changed.
5588 (font_open_entity): Adjusted for the change of font-related objects.
5589 (font_close_object, font_has_char, font_encode_char)
5590 (font_get_name, font_get_spec): Likewise.
5591 (font_spec_from_name, font_clear_prop, font_update_lface):
5592 New functions.
5593 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
5594 (font_prepare_for_face, font_done_for_face, font_open_by_name)
5595 (font_at): Adjusted for the change of font-related objects.
5596 (font_range): New function.
5597 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
5598 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
5599 (Fcopy_font_spec, Fmerge_font_spec): New function.
5600 (Ffont_family_list): Renamed from list-families.
5601 (Finternal_set_font_style_table): Arguments changed.
5602 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
5603 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
5604 change of font-related objects.
5605 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
5606
5607 * fontset.h (struct font_info): Delete it. Most members go to
5608 struct font.
5609 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
5610 (enum FONT_SPEC_INDEX): Delete it.
5611 (font_info, list_fonts_func, load_font_func, query_font_func)
5612 (set_frame_fontset_func, find_ccl_program_func)
5613 (get_font_repertory_func, new_fontset_from_font_name): Delete
5614 externs.
5615 (fontset_from_font_name): Extern it.
5616 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
5617 (FONT_INFO_FROM_FACE): Deleted.
5618 (face_for_font): Adjust prototype.
5619
5620 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
5621 conditionals. Don't check enable_font_backend. Delete all codes
5622 used only when USE_FONT_BACKEND is not defined.
5623 (get_font_info_func, list_font_func, load_font_func)
5624 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
5625 (get_font_repertory_func): Delete them.
5626 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
5627 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
5628 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
5629 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
5630 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
5631 (fontset_compare_rfontdef): New function.
5632 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
5633 rfont-defs by qsort. Adjusted for the change of font-group vector.
5634 (load_font_get_repertory): Deleted.
5635 (fontset_find_font): Use new macros to ref/set elements of
5636 font-def and rfont-def.
5637 (fontset_font): Fix the timing of remembering that no font for C.
5638 (free_face_fontset): Do nothing if the face has no fontset.
5639 (face_suitable_for_char_p): Use new macros to ref/set elements of
5640 rfont-def.
5641 (face_for_char): Likewise. Call face_for_char with font_object.
5642 (fs_load_font): Delete. Delete #pragma surrounding it.
5643 (fs_query_fontset): Use strcasecmp instead of strcmp.
5644 (generate_ascii_font_name): Adjusted for the format change of
5645 font-spec.
5646 (Fset_fontset_font): Likewise. Use new macros to set elements of
5647 font-def.
5648 (Fnew_fontset): Use font_unparse_xlfd to generate
5649 FONTSET_ASCII (fontset).
5650 (new_fontset_from_font_name): Deleted.
5651 (fontset_from_font): Renamed from new_fontset_from_font. Check if
5652 a fontset is already created for the font. FIx updating of
5653 Vfontset_alias_alist.
5654 (fontset_ascii_font): Deleted.
5655 (Ffont_info): Adjusted for the format change of font-spec.
5656 (Finternal_char_font): Likewise.
5657 (Ffontset_info): Likewise.
5658 (syms_of_fontset): Don't check load_font_func.
5659
5660 * fns.c (internal_equal): Handle PREV_FONT.
5661
5662 * frame.h: Delete USE_FONT_BACKEND conditional.
5663
5664 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
5665 conditionals. Don't check enable_font_backend. Delete all codes
5666 used only when USE_FONT_BACKEND is not defined.
5667 (x_set_font): Call x_new_font, not x_new_fontset2.
5668 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
5669 already set for the frame.
5670
5671 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
5672 a font-entity by font_make_entity. Use font_intern_prop instead
5673 of intern_downcase. Use FONT_SET_STYLE to set a style-related
5674 font property. If a font is scalable, set avgwidth property to 0.
5675 Set font-entity property by font_put_extra.
5676 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
5677 (ffont_driver): Adjusted for the change of struct font_driver.
5678 (ftfont_spec_pattern): New function.
5679 (ftfont_list): Return a list, not vector.
5680 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
5681 (ftfont_list_family): Don't downcase names.
5682 (ftfont_free_entity): Deleted.
5683 (ftfont_open): Return a font-object. Adjusted for the change of
5684 struct font. Get underline_thickness and underline_position from
5685 font property. Don't update dpyinfo->smallest_font_height and
5686 dpyinfo->smallest_char_width.
5687 (ftfont_close): Don't free `struct font'.
5688 (ftfont_has_char): Adjusted for the format change of font-entity.
5689 (ftfont_encode_char, ftfont_text_extents): Likewise.
5690
5691 * ftxfont.c (ftxfont_list): Return a list, not vector.
5692 (ftxfont_open): Return a font-object. Adjusted for the change of
5693 struct font. Get underline_thickness and underline_position from
5694 font property. Don't update dpyinfo->smallest_font_height and
5695 dpyinfo->smallest_char_width.
5696 (ftxfont_close): Don't decrease FRAME_X_DISPLAY_INFO (f)->n_fonts.
5697 (ftxfont_draw): Adjusted for the change of struct font.
5698
5699 * image.c (image_ascent): Don't include "charset.h". Include
5700 "character.h" and "font.h".
5701
5702 * lisp.h (enum pvec_type): New member PREV_FONT.
5703 (Fassoc_string): EXFUN it.
5704
5705 * print.c: Include font.h.
5706 (print_object): Handle font-related objects.
5707
5708 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
5709 conditionals. Don't check enable_font_backend. Delete all codes
5710 used only when USE_FONT_BACKEND is not defined.
5711 (handle_auto_composed_prop): Do nothing if it->f is not on a
5712 window system. Check how many following characters can be
5713 displayed by the same font.
5714 (calc_pixel_width_or_height): Type of the 4th arg is changed to
5715 'struct font *'.
5716 (get_char_face_and_encoding): Assign the whole encoding task to
5717 the `encode-char' method of a font driver.
5718 (fill_composite_glyph_string): Adjusted for the change of `struct
5719 face' and `struct glyph_string'.
5720 (fill_glyph_string): Likewise.
5721 (get_per_char_metric): Arguments changed.
5722 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
5723 and `struct glyph_string'.
5724 (produce_stretch_glyph, calc_line_height_property)
5725 (x_produce_glyphs): Likewise.
5726
5727 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
5728 conditionals. Don't check enable_font_backend. Delete all codes
5729 used only when USE_FONT_BACKEND is not defined. Use
5730 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
5731 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
5732 (Qp): Extern them.
5733 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
5734 Deleted.
5735 (struct font_name): Deleted.
5736 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
5737 (compare_fonts_by_sort_order): New function.
5738 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
5739 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
5740 Deleted.
5741 (Fx_family_fonts): Use font_list_entities, and sort fonts by
5742 compare_fonts_by_sort_order.
5743 (Fx_font_family_list): Call Ffont_family_list.
5744 (face_numeric_value, face_numeric_weight, face_numeric_slant)
5745 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
5746 (face_symbolic_slant, face_symbolic_swidth)
5747 (split_font_name_into_vector, build_font_name_from_vector)
5748 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
5749 (font_rescale_ratio, split_font_name, build_font_name)
5750 (free_font_names, sort_fonts, x_face_list_fonts)
5751 (face_font_available_p, sorted_font_list, cmp_font_names)
5752 (font_list_1, concat_font_list, font_list, remove_duplicates):
5753 Deleted.
5754 (Fx_list_fonts): Use Ffont_list.
5755 (LFACE_AVGWIDTH): Deleted.
5756 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
5757 by FONTP.
5758 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
5759 (set_lface_from_font_name): Delete it.
5760 (set_lface_from_font): Renamed from
5761 set_lface_from_font_and_fontset. Caller changed. Don't set
5762 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
5763 for face.
5764 (merge_face_vectors): Copy font-spec if necessary.
5765 Clear properties of the font-spec if necessary.
5766 (merge_face_ref): Clear properties of the font-spec if necessary.
5767 (Finternal_set_lisp_face_attribute): Likewise.
5768 (set_font_frame_param): Use font_load_for_lface to load a
5769 font-object, and call Fmodify_frame_parameters with it.
5770 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
5771 font name by Ffont_xlfd_name.
5772 (Finternal_lisp_face_attribute_values): Don't check QCweight,
5773 QCslant, and QCwidth.
5774 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
5775 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
5776 Compare fonts by EQ.
5777 (lookup_non_ascii_face): Deleted.
5778 (face_for_font): The 2nd argument changed.
5779 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
5780 Check atomic font properties by case insensitive.
5781 (realize_non_ascii_face): Set face->overstrike correctly.
5782 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
5783 (dump_realized_face): Get font name from
5784 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
5785
5786 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
5787 conditionals. Don't check enable_font_backend. Delete all codes
5788 used only when USE_FONT_BACKEND is not defined.
5789 (xic_create_xfontset): Original code deleted and renamed from
5790 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
5791 (x_make_gc): Don't set GCFont in GCs.
5792 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
5793 opened by "fixed".
5794 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
5795 find_ccl_program_func, query_font_func, set_frame_fontset_func,
5796 get_font_repertory_func.
5797
5798 * xfont.c: Include <stdlib.h> and "ccl.h".
5799 (struct xfont_info): New structure.
5800 (xfont_query_font): Deleted.
5801 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
5802 moved from xterm.c.
5803 (xfont_driver): Adjusted for the change of struct font_driver.
5804 (compare_font_names): New function.
5805 (xfont_list_pattern): Sort font names case insensitively. Make
5806 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
5807 (xfont_list): Return a list, not vector.
5808 (xfont_match): If the font doesn't have QCname property, generate
5809 a name from the other font properties.
5810 (xfont_open): Return a font-object. Adjusted for the change of
5811 struct font. Get underline_thickness and underline_position from
5812 font property. Don't update dpyinfo->smallest_font_height and
5813 dpyinfo->smallest_char_width.
5814 (xfont_close): Don't free struct font.
5815 (xfont_prepare_face): Adjusted for the change of struct font.
5816 (xfont_done_face): Deleted.
5817 (xfont_has_char): Adjusted for the change of struct font.
5818 (xfont_encode_char, xfont_draw): Likewise.
5819 (xfont_check): New function.
5820
5821 * xftfont.c (xftfont_list): Adjusted for the change of `list'
5822 callback function.
5823 (xftfont_match): Adjusted for the format change of font-entity.
5824 (xftfont_open): Adjusted for the format change of font-entity and
5825 font-object. Adjusted for the change of struct font. Return a
5826 font-object. Don't update dpyinfo->smallest_font_height and
5827 dpyinfo->smallest_char_width.
5828 (xftfont_close): Block input while calling XftFontClose.
5829 (xftfont_prepare_face): Don't block input while calling
5830 xftfont_get_colors. Adjusted for the change of struct font.
5831 (xftfont_shape): Return value of error case fixed.
5832
5833 * xrdb.c (x_load_resources): Don't setup a fontset resource.
5834
5835 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
5836 conditionals.
5837 (FONT_WIDTH): Return (f)->max_width.
5838 (struct x_display_info): Delete member `font'.
5839 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
5840 (x_find_ccl_program, x_get_font_repertory): Delete externs.
5841 (struct x_output): Change type of `font' to `struct font *'.
5842
5843 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
5844 conditionals. Don't check enable_font_backend. Delete all codes
5845 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
5846 (x_per_char_metric, x_encode_char): Deleted.
5847 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
5848 (x_compute_glyph_string_overhangs): Adjusted for the change of
5849 `struct face'.
5850 (x_draw_glyph_string_foreground)
5851 (x_draw_composite_glyph_string_foreground): Likewise.
5852 (x_draw_glyph_string): Likewise. Use font->underline_position and
5853 font->underline_thickness.
5854 (x_new_font): Renamed from x_new_fontset2.
5855 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
5856 (x_check_font): Call `check' method of a font driver.
5857 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
5858 (x_query_font, x_get_font_repertory): Deleted.
5859 (x_find_ccl_program): Renamed and moved to xfont.c.
5860 (x_redisplay_interface): Adjusted for the change of `struct
5861 redisplay_interface'.
5862
5863 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
5864 conditionals. Don't check enable_font_backend. Delete all codes
5865 used only when USE_FONT_BACKEND is not defined. Surround non-used
5866 code by "#ifdef OLD_FONT" and "endif".
5867 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
5868
5869 * w32font.h (struct w32font_info): New member.
5870 (FONT_COMPAT): New macro.
5871 (w32font_open_internal): Prototype adjusted.
5872
5873 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
5874 OLD_FONT" and "endif".
5875
5876 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
5877 conditionals. Don't check enable_font_backend. Delete all codes
5878 used only when USE_FONT_BACKEND is not defined.
5879 (w32font_open): Return a font-object. Make a font-object by
5880 font_make_object. Adjusted for the change of struct w32font_info.
5881 (w32font_close): Don't free struct font. Adjusted for the change
5882 of struct w32font_info.
5883 (w32font_encode_char, w32font_text_extents, w32font_draw):
5884 Adjusted for the change of struct w32font_info.
5885 (w32font_draw): Likewise.
5886 (w32font_list_internal): Return a list, not vector.
5887 (w32font_open_internal): Change the 4th arg to font-object.
5888 Adjusted for the change of struct w32font_info and font-object format.
5889 (add_font_name_to_list): Don't downcase names.
5890 (w32_enumfont_pattern_entity): Make a font-entity by
5891 font_make_entity. Adjusted for the format change of font-entity.
5892 Use FONT_SET_STYLE to set a style-related font property. If a
5893 font is scalable, set avgwidth property to 0. Set font-entity
5894 property by font_put_extra.
5895 (font_matches_spec): Adjusted for the format change of font-entity.
5896 (w32_weight_table, w32_decode_weight): New variables.
5897 (w32_encode_weight): New function.
5898 (fill_in_logfont): Adjusted for the format change of font-spec.
5899 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
5900 weight value.
5901 (w32font_driver): Adjusted for the change of struct font_driver.
5902
5903 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
5904 conditionals. Don't check enable_font_backend. Surround non-used
5905 code by "#ifdef OLD_FONT" and "endif".
5906 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
5907 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
5908
5909 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
5910 conditionals. Don't check enable_font_backend. Delete all codes
5911 used only when USE_FONT_BACKEND is not defined. Surround non-used
5912 code by "#ifdef OLD_FONT" and "endif".
5913
5914 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
5915 (uniscribe_open): Return value changed to font-object.
5916 Adjusted for the format change of font-object.
5917 (uniscribe_otf_capability): Adjusted for the change of struct font.
5918 (add_opentype_font_name_to_list): Don't downcase names.
5919 (uniscribe_font_driver): Adjusted for the change of struct
5920 font_driver.
5921
59222008-05-13 Chong Yidong <cyd@stupidchicken.com>
5923
5924 * dispnew.c (update_frame_1): Check if tty output is still valid
5925 before flushing it.
5926
59272008-05-13 Jan Djärv <jan.h.d@swipnet.se>
5928
5929 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
5930 to Gtk+ menus.
5931
59322008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
5933
5934 * dired.c (file_name_completion): Tweak the code so as to always do it
5935 in a single pass. Tighten the scope of some variables.
5936
5937 * dired.c (Qdefault_directory): New var.
5938 (file_name_completion): Use it instead of Fexpand_file_name.
5939 (syms_of_dired): Initialize it.
5940
59412008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
5942
5943 * fileio.c (double_dollars): Remove dead code.
5944
59452008-05-10 Eli Zaretskii <eliz@gnu.org>
5946
5947 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
5948 Mention w32-get-true-file-attributes in doc string.
5949
5950 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
5951
59522008-05-09 Glenn Morris <rgm@gnu.org>
5953
5954 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
5955 2008-04-23.
5956
59572008-05-09 Eli Zaretskii <eliz@gnu.org>
5958
5959 Support for reporting owner and group of each file on MS-Windows:
5960 * dired.c (stat_uname, stat_gname): New functions, with special
5961 implementation for w32.
5962 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
5963
5964 * w32.c: Rename the_passwd_* to dflt_passwd_*.
5965 (dflt_group_name): New static variable.
5966 (dflt_group): Rename from the_group.
5967 (init_user_info): Init dflt_group fields. Get user's group name
5968 from LookupAccountSid.
5969 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
5970 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
5971 New initialization states.
5972 (globals_of_w32): Initialize them to zero. Initialize the default
5973 group name to "None".
5974 (GetFileSecurity_Name): New global var, the name of the function
5975 to call for GetFileSecurity.
5976 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
5977 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
5978 (get_file_security, get_security_descriptor_owner)
5979 (get_security_descriptor_group, is_valid_sid)
5980 (get_file_security_desc, get_rid, get_name_and_id)
5981 (get_file_owner_and_group): New functions.
5982 (stat): Use get_file_security_desc and get_file_owner_and_group to
5983 report the owner and primary group of each file. Don't ignore the
5984 high 32 bits of file's size, now that st_size is 64-bit wide.
5985 Fix test when to get true file attributes.
5986 (init_user_info): Use get_rid instead of equivalent inline code.
5987 (fstat): Don't ignore the high 32 bits of file's size.
5988
59892008-05-09 Chong Yidong <cyd@stupidchicken.com>
5990
5991 * image.c (png_load): Use correct bit-depth for setting background
5992 color.
5993
59942008-05-08 Eli Zaretskii <eliz@gnu.org>
5995
5996 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
5997 epa-hook.elc.
5998
59992008-05-08 Juanma Barranquero <lekktu@gmail.com>
6000
6001 * font.c (Ffont_match_p): Don't use `iff' in docstring.
6002
60032008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
6004
6005 * macfns.c (Fx_create_frame): Make a copy of frame parameters
6006 because the original parameters are in pure storage now.
6007 (mac_window): Remove unused params. Update callers.
6008
60092008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
6010
6011 * lread.c (substitute_object_recurse): Use lower-level primitives.
6012 Don't signal errors when traversing sub-char-tables.
6013 Don't loop over all the possible characters when traversing char-tables.
6014
6015 * print.c (print_preprocess): Add sub-char-tables to the print-table,
6016 just like we do in print.c.
6017
60182008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
6019
6020 * minibuf.c (Ftry_completion): Remove code left over from when we used
6021 scmp instead of Fcompare_strings.
6022
60232008-05-04 Juanma Barranquero <lekktu@gmail.com>
6024
6025 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
6026
60272008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6028
6029 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
6030 Create bitmap context in native byte order.
6031
6032 * macterm.c (XDrawLine)
6033 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
6034 context in native byte order.
6035
60362008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6037
6038 * config.in: Regenerate.
6039
6040 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
6041 New definitions for Image I/O support.
6042 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
6043 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
6044 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
6045 (mac_data_provider_release_data, image_load_image_io)
6046 [USE_MAC_IMAGE_IO]: New functions.
6047 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
6048 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
6049 (init_image_func_pointer) [MAC_OSX]: Remove function.
6050 (image_load_quartz2d) [MAC_OSX]: Check availability of
6051 CGImageCreateWithPNGDataProvider at compile time.
6052 Use lowercase `false' for boolean constant.
6053 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
6054 Use image_load_image_io.
6055 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
6056 Don't check MyCGImageCreateWithPNGDataProvider.
6057 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
6058 Don't call init_image_func_pointer.
6059
6060 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
6061
6062 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
6063 Make variable non-static.
6064 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
6065 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
6066
6067 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
6068 (RED_FROM_ULONG): Mask off higher bits.
6069 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
6070
6071 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
6072 Include AvailabilityMacros.h.
6073 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
6074 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
6075
60762008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
6077
6078 * chartab.c (Fset_char_table_range): If range is t, really set all
6079 chars to that value.
6080
60812008-05-03 Eli Zaretskii <eliz@gnu.org>
6082
6083 * dired.c (Ffile_attributes): Don't allow the device number become
6084 negative.
6085
60862008-05-02 Daiki Ueno <ueno@unixuser.org>
6087
6088 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
6089
60902008-05-02 Juri Linkov <juri@jurta.org>
6091
6092 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
6093 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
6094 DEFAULT argument as a list of default values in docstrings.
6095
60962008-05-01 Chong Yidong <cyd@stupidchicken.com>
6097
6098 * puresize.h (BASE_PURESIZE): Increase to 1210000.
6099
61002008-05-01 Martin Rudalics <rudalics@gmx.at>
6101
6102 * dispnew.c (change_frame_size_1): Preserve small windows when
6103 shrinking frames by calling set_window_height|width with third
6104 arg 2.
6105
6106 * window.h (struct window): Replace field too_small_ok by field
6107 resize_proportionally.
6108
6109 * window.c (make_window): Initialize resize_proportionally.
6110 (enlarge_window): Temporarily set resize_proportionally to make
6111 sure that shrink_windows does scale the window proportionally.
6112 (shrink_windows): When window has resize_proportionally set try
6113 to shrink it proportionally by stealing from other windows.
6114 (struct saved_window, Fset_window_configuration)
6115 (compare_window_configurations): Handle resize_proportionally.
6116 (WINDOW_TOTAL_SIZE): New macro.
6117 (window_min_size, shrink_windows, size_window): Use it.
6118 (check_min_window_sizes): Remove. Invalid values of
6119 window-min-height|width are handled by window_min_size_2 now.
6120 (size_window, Fsplit_window, enlarge_window)
6121 (adjust_window_trailing_edge, grow_mini_window): Don't call
6122 check_min_window_sizes.
6123 (window_min_size_2, window_min_size_1, window_min_size):
6124 New argument safe_p for retrieving "safe" minimum sizes.
6125 (Fdisplay_buffer, Fsplit_window, enlarge_window)
6126 (adjust_window_trailing_edge, grow_mini_window):
6127 Adjust arguments of window_min_size... functions.
6128 (shrink_windows): Argument min_size removed. New argument
6129 safe_p allows shrinking windows to their safe minimum sizes.
6130 Calculate minimum size and decide whether a window shall be
6131 deleted for each window individually.
6132 (size_window): When nodelete_p equals 2, tell shrink_windows to
6133 delete windows only if their new minimum size is no more safe.
6134 (shrink_window_lowest_first): Call window_min_size_1 to make
6135 sure to preserve modeline of bottom-most window when resizing
6136 the minibuffer.
6137 (Fset_window_configuration, Fcurrent_window_configuration)
6138 (compare_window_configurations): Do not handle
6139 window-min-height|width any more.
6140 (syms_of_window): Clarify window-min-height|width doc-strings.
6141
61422008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
6143
6144 * dired.c (file_name_completion): Fix up the encoding/decoding issue
6145 some more. Copy some of the code from Ftry_completions.
6146 Remove special case code that dates back to initial revision when the
6147 slash was only added when necessary and that can't trigger nowadays.
6148
61492008-04-27 Kenichi Handa <handa@m17n.org>
6150
6151 * font.c (font_prop_validate): Signal `error' instead of `font'.
6152
61532008-04-29 Jason Rumney <jasonr@gnu.org>
6154
6155 * w32fns.c (Fw32_battery_status): New defun.
6156 (syms_of_w32fns): Defsubr it.
6157
61582008-04-28 Andreas Schwab <schwab@suse.de>
6159
6160 * dired.c (file_name_completion): Fix another mixing of encoded
6161 and decoded names.
6162
61632008-04-28 Juanma Barranquero <lekktu@gmail.com>
6164
6165 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
6166
61672008-04-27 Juanma Barranquero <lekktu@gmail.com>
6168
6169 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
6170
61712008-04-27 Andreas Schwab <schwab@suse.de>
6172
6173 * dired.c (file_name_completion): Fix inappropriate mixing of
6174 encoded and decoded names.
6175
6176 * xterm.c (XTread_socket): Fix use of uninitialized variable.
6177
6178 * puresize.h (BASE_PURESIZE): Increase to 1200000.
6179
61802008-04-26 Eli Zaretskii <eliz@gnu.org>
6181
6182 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
6183 2008-03-31, it's not needed anymore with `struct stat' definition
6184 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
6185 for the same reasons.
6186
61872008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
6188
6189 * m/sparc.h: Additional redefinitions for GNU/Linux.
6190
61912008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6192
6193 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
6194 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
6195 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
6196 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
6197 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
6198 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
6199 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
6200 Likewise.
6201
6202 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
6203 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
6204 (mac_ax_number_of_characters): Add externs.
6205 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
6206 [USE_MAC_TSM]: Likewise.
6207 (mac_handle_text_input_event) [MAC_OSX]:
6208 Handle kEventTextInputOffsetToPos for no active input area case.
6209 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
6210 (mac_handle_document_access_event)
6211 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
6212 (install_application_handler) [MAC_OSX]: Register handlers for
6213 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
6214 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
6215 Register mac_handle_document_access_event.
6216
6217 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
6218 Make functions non-static.
6219
62202008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
6221
6222 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
6223 (read_file_name_completion_ignore_case, insert_default_directory)
6224 (Qdefault_directory): Move to minibuffer.el.
6225 (Fread_file_name): Call the new `read-file-name' instead.
6226
62272008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6228
6229 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
6230 Make function non-static.
6231 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
6232 Remove function.
6233 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
6234 Move to mactoolbox.c.
6235 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
6236
6237 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
6238 (mac_rect_make): New macro.
6239
6240 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
6241 instead of float.
6242 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
6243 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
6244 (XSetBackground) [USE_CG_DRAWING]: Likewise.
6245 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
6246 CGRectMake.
6247 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
6248 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
6249 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
6250 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
6251 instead of WindowRef in argument type.
6252 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
6253 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
6254 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
6255 instead of DISPLAY. All uses changed.
6256 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
6257 (x_calc_absolute_position): Simplify so as not to use
6258 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
6259
6260 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
6261 instead of WindowRef in argument type.
6262 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
6263 [TARGET_API_MAC_CARBON]: Remove externs.
6264 (create_apple_event, mac_event_parameters_to_lisp)
6265 [TARGET_API_MAC_CARBON]: Add externs.
6266
6267 * mactoolbox.c (Vmac_ts_script_language_on_focus)
6268 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
6269 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
6270 is clicked.
6271 (x_activate_menubar): Remove extern for saved_menu_event_location.
6272 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
6273 Move from mac.c.
6274
62752008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6276
6277 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
6278 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
6279
62802008-04-23 Jason Rumney <jasonr@gnu.org>
6281
6282 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
6283 attributes only for local files.
6284
6285 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
6286 default to Qlocal.
6287
62882008-04-22 Juri Linkov <juri@jurta.org>
6289
6290 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
6291 read-buffer-to-switch instead of using the letter "B".
6292
62932008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
6294
6295 * fileio.c (Qdefault_directory): New variable.
6296 (Fread_file_name): Use it to pass `dir' to the completion functions.
6297
62982008-04-20 Chong Yidong <cyd@stupidchicken.com>
6299
6300 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
6301
63022008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
6303
6304 * keyboard.c (Vpre_help_message): Remove.
6305 (show_help_echo): Remove default C code.
6306
6307 * dired.c (directory_files_internal, file_name_completion):
6308 Only call ENCODE_FILE if the string is indeed decoded.
6309
63102008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
6311
6312 * Makefile.in (TOOLKIT_DEFINES): Remove.
6313 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
6314
63152008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6316
6317 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
6318 (mactoolbox.o): New target.
6319
6320 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
6321 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
6322
6323 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
6324 Use mac_set_frame_window_background instead of XSetWindowBackground.
6325 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
6326 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
6327 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
6328 instead of SetWindowTitleWithCFString.
6329 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
6330 Move function to mactoolbox.c.
6331 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
6332 Use mac_set_window_modified instead of SetWindowModified.
6333 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
6334 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
6335 (Fx_focus_frame): Use mac_front_non_floating_window instead of
6336 FrontNonFloatingWindow. Use mac_activate_window instead of
6337 ActivateWindow. Use mac_active_non_floating_window instead of
6338 ActiveNonFloatingWindow.
6339 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
6340 Use mac_show_hourglass and mac_hide_hourglass.
6341 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
6342 instead of GetGlobalMouse.
6343 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
6344 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
6345 Use mac_bring_window_to_front instead of BringToFront.
6346 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
6347 mactoolbox.c.
6348 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
6349 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
6350 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
6351 mactoolbox.c.
6352
6353 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
6354 (XtPointer): Move typedef from macmenu.c.
6355 (enum button_type): Move enum from macmenu.c.
6356 (widget_value): Move typedef from macmenu.c.
6357 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
6358 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
6359 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
6360 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
6361 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
6362 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
6363 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
6364 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
6365 (Selection): Move typedef from macselect.c.
6366 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
6367 macterm.c.
6368 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
6369 (mac_is_window_collapsed, mac_bring_window_to_front)
6370 (mac_send_window_behind, mac_hide_window, mac_show_window)
6371 (mac_collapse_window, mac_front_non_floating_window)
6372 (mac_active_non_floating_window, mac_activate_window)
6373 (mac_move_window_structure, mac_move_window, mac_size_window)
6374 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
6375
6376 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
6377 (enum mac_menu_kind): Move enum to mactoolbox.c.
6378 (min_menu_id): Move variable to mactoolbox.c.
6379 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
6380 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
6381 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
6382 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
6383 [TARGET_API_MAC_CARBON]: Likewise.
6384 (XtPointer): Move typedef to macgui.h.
6385 (enum button_type): Move enum to macgui.h.
6386 (widget_value): Move typedef to macgui.h.
6387 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
6388 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
6389 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
6390 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
6391 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
6392 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
6393 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
6394 (popup_activated_flag): Make variable non-static.
6395 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
6396 (add_menu_item, fill_menu, dispose_menus):
6397 Move functions to mactoolbox.c.
6398 (restore_show_help_function, menu_target_item_handler)
6399 (install_menu_target_item_handler, mac_handle_dialog_event)
6400 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
6401 [TARGET_API_MAC_CARBON]: Likewise.
6402 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
6403 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
6404 (find_and_call_menu_selection, name_is_separator): Make function
6405 non-static.
6406 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
6407 to mactoolbox.c.
6408 (set_frame_menubar): Don't call install_menu_quit_handler.
6409 (menu_item_selection): New variable.
6410 (mac_menu_show): Use create_and_show_popup_menu.
6411 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
6412 selection but set variable menu_item_selection. All uses changed.
6413 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
6414 Call install_menu_quit_handler. Move to mactoolbox.c.
6415
6416 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
6417 (Selection): Move typedef to macgui.h.
6418 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
6419 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
6420 Make variables non-static.
6421 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
6422 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
6423 Make functions non-static.
6424 (Vmac_service_selection) [MAC_OSX]: Likewise.
6425 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
6426 (mac_valid_selection_target_p, mac_clear_selection)
6427 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
6428 (mac_put_selection_value, mac_selection_has_target_p)
6429 (mac_get_selection_value, mac_get_selection_target_list)
6430 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
6431 Move functions to mactoolbox.c.
6432 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
6433 Likewise.
6434 (copy_scrap_flavor_data, mac_handle_service_event)
6435 (install_service_handler) [MAC_OSX]: Likewise.
6436 (syms_of_macselect) <Vmac_dnd_known_types>:
6437 Use mac_dnd_default_known_types.
6438
6439 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
6440 Move to mactoolbox.c.
6441 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
6442 (Fx_selection_owner_p): Add EXFUN.
6443 (install_window_handler, remove_window_handler, XSetWindowBackground):
6444 Remove externs.
6445 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
6446 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
6447 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
6448 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
6449 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
6450 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
6451 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
6452 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
6453 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
6454 (create_and_show_popup_menu, mac_get_selection_from_symbol)
6455 (mac_valid_selection_target_p, mac_clear_selection)
6456 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
6457 (mac_put_selection_value, mac_selection_has_target_p)
6458 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
6459 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
6460 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
6461 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
6462 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
6463 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
6464 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
6465 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
6466 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
6467
6468 * mactoolbox.c: New file.
6469
64702008-04-18 Jason Rumney <jasonr@gnu.org>
6471
6472 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
6473
64742008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
6475
6476 * character.c (Fmultibyte_char_to_unibyte):
6477 Return latin1 chars unchanged.
6478
6479 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
6480 relocated if it points to `name'.
6481
64822008-04-17 Kenichi Handa <handa@m17n.org>
6483
6484 * data.c (Faset): Allow setting a multibyte character in an
6485 ASCII-only unibyte string.
6486
6487 * lisp.h (STRING_SET_MULTIBYTE): New macro.
6488
64892008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
6490
6491 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
6492 done in config.h.
6493
64942008-04-16 Juanma Barranquero <lekktu@gmail.com>
6495
6496 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
6497 (Fchar_direction): Add usage in the docstring.
6498
64992008-04-15 Chong Yidong <cyd@stupidchicken.com>
6500
6501 * keyboard.c (read_key_sequence): Remove always-true checks.
6502
65032008-04-14 Jason Rumney <jasonr@gnu.org>
6504
6505 * w32font.c (w32font_open_internal): Set max_bounds.descent in
6506 compatibility struct, for better underline positioning.
6507
65082008-04-13 David Hansen <david.hansen@gmx.net>
6509
6510 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
6511 string.
6512
65132008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
6514
6515 * m/hp800.h (XUINT, XSET): Remove.
6516
65172008-04-12 Juanma Barranquero <lekktu@gmail.com>
6518
6519 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
6520 previous change.
6521
65222008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
6523
6524 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
6525 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
6526
65272008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
6528
6529 * keymap.h (map_keymap_canonical): Declare.
6530 * xmenu.c (single_keymap_panes): Use it.
6531
65322008-04-11 Glenn Morris <rgm@gnu.org>
6533
6534 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
6535 set the target's value to that of the alias.
6536
65372008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
6538
6539 * term.c (set_tty_color_mode): Left over typo.
6540
65412008-04-10 Michael Albinus <michael.albinus@gmx.de>
6542
6543 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
6544 only after check for file name handler functions. Signal, when
6545 native functionality is not supported.
6546 (syms_of_fileio): Declare it unconditionally.
6547
65482008-04-10 Jason Rumney <jasonr@gnu.org>
6549
6550 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
6551 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
6552
6553 * w32.c (logon_network_drive): Also logon to remote drives that
6554 are mapped to drive letters.
6555
65562008-04-10 Glenn Morris <rgm@gnu.org>
6557
6558 * xdisp.c (truncate-partial-width-windows): Doc fix.
6559
65602008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
6561
6562 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
6563 Move functions to minibuffer.el.
6564 (syms_of_fileio): Don't declare them.
6565
65662008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
6567
6568 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
6569 (syms_of_minibuf): Remove its initialization.
6570
6571 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
6572
65732008-04-09 Juanma Barranquero <lekktu@gmail.com>
6574
6575 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
6576
65772008-04-09 Jason Rumney <jasonr@gnu.org>
6578
6579 * makefile.w32-in (distclean): Delete makefile too.
6580 (maintainer-clean): New target.
6581
6582 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
6583
6584 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
6585 for new font backend and composite cases.
6586
65872008-04-09 Jan Djärv <jan.h.d@swipnet.se>
6588
6589 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
6590 Most of the code moved to run_timers.
6591 (do_pending_atimers): Call run_timers.
6592 (run_timers): New function.
6593
6594 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
6595 run atimers.
6596
6597 * process.c (wait_reading_process_output): The same as above.
6598
65992008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
6600
6601 * minibuf.c (last_exact_completion): Remove variable.
6602 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
6603 (complete_and_exit_1, complete_and_exit_2)
6604 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
6605 (Fdisplay_completion_list, display_completion_list_1)
6606 (Fminibuffer_completion_help, Fself_insert_and_exit)
6607 (Fexit_minibuffer, Fminibuffer_message): Move functions to
6608 minibuffer.el.
6609 (syms_of_minibuf): Remove corresponding initializations.
6610
6611 * keyboard.c (Qdeactivate_mark): New var.
6612 (command_loop_1): Use it to call `deactivate-mark'.
6613 (syms_of_keyboard): Initialize it.
6614
6615 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
6616 to another frame.
6617 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
6618 Don't call set_tty_color_mode.
6619 (store_frame_param): Reset previous_frame rather than call
6620 set_tty_color_mode.
6621 * term.c (set_tty_color_mode): Rewrite.
6622 * dispextern.h (set_tty_color_mode): New type.
6623 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
6624
66252008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
6626
6627 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
6628 for generic chars, which do not exist any more in emacs-unicode.
6629
66302008-04-08 Michael Albinus <michael.albinus@gmx.de>
6631
6632 * coding.c (detect_coding_emacs_mule)
6633 (Ffind_operation_coding_system): Fix typo.
6634
66352008-04-08 Jason Rumney <jasonr@gnu.org>
6636
6637 * w32uniscribe.c (SNAME): Extract only symbol name.
6638
6639 * w32font.h (struct w32_metric_cache): New struct.
6640 (w32font_info): Use it.
6641 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
6642 (CACHE_BLOCKSIZE): New constants.
6643
6644 * w32font.c (Qja, Qko, Qzh): New symbols.
6645 (syms_of_w32font): Initialise them.
6646 (font_matches_spec): Use them to filter by language.
6647 (recompute_cached_metrics): Remove function.
6648 (compute_metrics, clear_cached_metrics): New functions.
6649 (w32font_encode_char): Use them to manage metric cache.
6650 (w32font_text_extents): Cache metrics for all glyphs on demand.
6651 Delay converting glyph indices to WORD until needed.
6652 (w32font_open_internal): Initialize metric cache to empty.
6653 (registry_to_w32_charset): Charset should always be a symbol.
6654 (fill_in_logfont, list_all_matching_fonts): Family should
6655 always be a symbol.
6656
66572008-04-06 Jason Rumney <jasonr@gnu.org>
6658
6659 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
6660 Give up if glyph indices not supported. Use uniscribe obtained
6661 ABC widths for individual metrics. Map glyph clusters back to
6662 characters using fClusterStart flag. Return number of glyphs
6663 produced, not chars processed.
6664 (uniscribe_shape): Map char at FROM to current glyph.
6665
66662008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6667
6668 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
6669 Use SetMenuItemHierarchicalMenu.
6670
66712008-04-05 Jason Rumney <jasonr@gnu.org>
6672
6673 * image.c (pbm_load): Allow color values up to 65535.
6674 Throw an error if max_color_idx is outside the supported range.
6675 Report an error when image size is invalid.
6676 Read two bytes at a time when raw images have max_color_idx above 255.
6677
66782008-04-05 Eli Zaretskii <eliz@gnu.org>
6679
6680 * w32.c (readdir): If FindFirstFile/FindNextFile return in
6681 cFileName a file name that includes `?' characters, use the 8+3
6682 alias in cAlternateFileName instead.
6683
66842008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
6685
6686 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
6687 append "CCL: Quitted" when the CCL program is quitted.
6688 (setup_ccl_program): Initialize ccl->quit_silently to zero.
6689
6690 * ccl.h (struct ccl_program): New member quit_silently.
6691
66922008-04-05 Chong Yidong <cyd@stupidchicken.com>
6693
6694 * search.c (compile_pattern_1): Treat non-nil and non-string of
6695 search-spaces-regexp as nil.
6696
6697 * minibuf.c (Fassoc_string): Tweak docstring.
6698
66992008-04-05 Eli Zaretskii <eliz@gnu.org>
6700
6701 * dired.c (Ffile_attributes): Support inode numbers wider than 32
6702 bits. Remove ugly WINDOWSNT-specific kludge introduced on
6703 2008-03-14 to force inode be positive.
6704
6705 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
6706 _S_* ones, since we now use our own sys/stat.h.
6707 (stat, fstat): Don't mangle the inode number.
6708 (init_user_info): Don't restrict UID and GID to 0-60000 range.
6709
67102008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
6711
6712 * frame.h (struct frame): Give one more bit to `visible' since we use
6713 values larger than 1 to indicate obscured frames on ttys.
6714
6715 * keymap.c (Qkeymap_canonicalize): New var.
6716 (Fmap_keymap_internal): New fun.
6717 (describe_map): Use keymap-canonicalize.
6718
6719 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
6720 (Fundo_boundary): Set them.
6721 (syms_of_undo): Initialize them.
6722 (record_point): Use them instead of last_point_position*.
6723 (last_undo_buffer): Change type.
6724
67252008-04-04 Jason Rumney <jasonr@gnu.org>
6726
6727 * w32font.c (w32font_text_extents): Use font's ascent and descent.
6728 (recompute_cached_metrics): Don't set ascent and descent per char.
6729
6730 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
6731 (uniscribe_check_otf): Add GC protection before consing.
6732 Rearrange loop for counting features.
6733
67342008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
6735
6736 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
6737 buffer with byte-size of source buffer.
6738
67392008-04-03 Chong Yidong <cyd@stupidchicken.com>
6740
6741 * callint.c (Fcall_interactively): Handle temporary region even
6742 when shift-select-mode is off.
6743
67442008-04-03 Jason Rumney <jasonr@gnu.org>
6745
6746 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
6747
67482008-04-03 Kenichi Handa <handa@m17n.org>
6749
6750 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
6751 (CATEGORY_MASK_UTF_16): Likewise.
6752 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
6753 binary file.
6754 (detect_coding): Add null-byte detection for a binary file.
6755 (detect_coding_system): Likewise.
6756
67572008-04-03 Jason Rumney <jasonr@gnu.org>
6758
6759 * w32uniscribe.c: New file.
6760
6761 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
6762
6763 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
6764
6765 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
6766 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
6767 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
6768 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
6769 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
6770 (Qphonetic): New symbols.
6771 (syms_of_w32font): Initialize them.
6772 (font_supported_scripts): Use them.
6773 (w32font_list_family): List all charsets.
6774 (w32font_text_extents, recompute_cached_metrics): Fix metric
6775 calculations.
6776 (w32_enumfont_pattern_entity): Make full_type a DWORD.
6777 Give opentype fonts their own format.
6778 (font_matches_spec): New arguments backend and logfont.
6779 Handle :otf spec for uniscribe backend.
6780 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
6781 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
6782
6783 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
6784 font backend.
6785 (globals_of_w32fns): Initialize uniscribe font backend.
6786
6787 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
6788 dependencies.
6789 (w32uniscribe.$(O)): New file to build.
6790 (FONT_OBJ): Include w32uniscribe.$(O).
6791 (LIBS): Add uniscribe libraries.
6792
6793 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
6794
67952008-04-02 Chong Yidong <cyd@stupidchicken.com>
6796
6797 * callint.c (Vshift_select_mode): New var.
6798 (Finteractive): Document new ^ spec.
6799 (Fcall_interactively): Call handle-shift-selection if the ^ spec
6800 is present.
6801
6802 * keyboard.c (Vthis_command_keys_shift_translated): New var.
6803 (command_loop_1): Avoid running the direct display versions of
6804 forward-char and backward-char if shift-selection may occur.
6805 (read_key_sequence): Set Vthis_command_keys_shift_translated if
6806 shift-translation takes place.
6807
6808 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
6809 avoid clobbering by define-minor-mode.
6810
6811 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
6812 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
6813
6814 * syntax.c (Fforward_word): Add ^ interactive spec.
6815
6816 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
6817 (Fscroll_right): Add ^ interactive spec.
6818
68192008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
6820
6821 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
6822
6823 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
6824
6825 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
6826
68272008-03-31 Juri Linkov <juri@jurta.org>
6828
6829 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
6830
68312008-03-30 Jan Djärv <jan.h.d@swipnet.se>
6832
6833 * gtkutil.c (xg_set_geometry): Fix indentation.
6834 (xg_resize_outer_widget): Remove.
6835 (x_wm_size_hint_off): Fix indentation.
6836 (xg_frame_set_char_size): Call flush_and_sync after
6837 gtk_window_resize.
6838 (x_wm_set_size_hint): Pass NULL as geometry window to
6839 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
6840 Add menu bar and tool bar height to base height.
6841 (xg_update_frame_menubar, free_frame_menubar)
6842 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
6843 (update_frame_tool_bar, free_frame_tool_bar):
6844 Change xg_resize_outer_widget to xg_frame_set_char_size.
6845
68462008-03-30 Michael Albinus <michael.albinus@gmx.de>
6847
6848 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
6849 (Fdbus_call_method): New parameter TIMEOUT.
6850 (dbus-send-signal): Optimize UNGCPRO call.
6851
68522008-03-29 Juri Linkov <juri@jurta.org>
6853
6854 * window.c (Fdisplay_buffer): Move call to
6855 Vsplit_window_preferred_function out of conditions that check
6856 if window is eligible for vertical splitting.
6857 When Vsplit_window_preferred_function is non-nil, call it and use
6858 its non-nil return value as window. Otherwise, continue doing
6859 vertical splitting using Fsplit_window with arg horflag=nil.
6860 (syms_of_window) <Vsplit_window_preferred_function>: Change the
6861 default value from `split-window' to nil.
6862
68632008-03-29 Juri Linkov <juri@jurta.org>
6864
6865 * callint.c (Fcall_interactively): Revert 2008-03-16 change
6866 for interactive code letters 'b' and 'B'.
6867
68682008-03-29 Eli Zaretskii <eliz@gnu.org>
6869
6870 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
6871 multibyte string.
6872
68732008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
6874
6875 * keyboard.c (pending_funcalls): New var.
6876 (timer_check): Run it.
6877 (syms_of_keyboard): Initialize it.
6878 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
6879 (Vdelete_terminal_functions): New vars.
6880 (syms_of_terminal): Initialize them.
6881 (Fdelete_terminal): Run delete-terminal-functions.
6882 * xdisp.c (safe_eval): Rewrite.
6883 (safe_call2): New fun.
6884 * frame.c (Qdelete_frame_functions): New var.
6885 (syms_of_frame): Initialize it.
6886 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
6887 * lisp.h (safe_call2, pending_funcalls): Declare.
6888
68892008-03-28 Andreas Schwab <schwab@suse.de>
6890
6891 * indent.c (Fmove_to_column): Move declaration before statements.
6892
68932008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
6894
6895 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
6896 (struct frame): Use bit fields for boolean vars.
6897
6898 * process.c (server_accept_connection): Simplify naming.
6899 (emacs_get_tty_pgrp): Use SDATA.
6900
6901 * coding.c (decode_coding_object): Fix last change.
6902
69032008-03-27 Jason Rumney <jasonr@gnu.org>
6904
6905 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
6906
69072008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
6908
6909 * charset.c (Fdefine_charset_internal): Change the way of
6910 registering charsets in Vcharset_order_list.
6911 (syms_of_charset): Make the charset `eight-bit' supplementary.
6912
69132008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
6914
6915 * regex.c (EXTEND_BUFFER): Change order of pointer addition
6916 operations, to avoid having the difference between pointers
6917 overflow.
6918
69192008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
6920
6921 * indent.c (check_display_width): New fun.
6922 (scan_for_column): Use it.
6923
6924 * data.c (syms_of_data): Mark most-positive-fixnum and
6925 most-negative-fixnum as constants.
6926
6927 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
6928
6929 * indent.c (scan_for_column): Extract from current_column_1.
6930 Merge with the same code from Fmove_to_column.
6931 (current_column_1, Fmove_to_column): Use it.
6932
69332008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
6934
6935 * keymap.c (map_keymap_internal): New fun.
6936 (map_keymap): Use it.
6937 (Fmap_keymap_internal): New fun.
6938 (Fmap_keymap): Remove left-out test from before make_save_value.
6939
6940 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
6941
6942 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
6943 Use XCAR/XCDR.
6944
6945 * process.h (struct Lisp_Process): Remove filter_multibyte.
6946 * process.c (QCfilter_multibyte): Remove.
6947 (setup_process_coding_systems): Don't use filter_multibyte.
6948 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
6949 (read_process_output): Don't adjust multibyteness to filter_multibyte.
6950 (Fset_process_filter_multibyte): Change the coding-system to
6951 approximate the previous behavior.
6952 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
6953 coding-system.
6954
6955 * coding.c (decode_coding_object): When not decoding into a buffer,
6956 obey the coding system's preference of (uni|multi)byte.
6957
69582008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
6959
6960 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
6961 every char is changed and has a different byte-length.
6962 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
6963 Fix int -> EMACS_INT.
6964
69652008-03-23 David Hansen <david.hansen@gmx.net>
6966
6967 * dbusbind.c (xd_read_message): Remove extra copying of message
6968 strings. Check for NULL `interface' or `member'.
6969
69702008-03-22 Eli Zaretskii <eliz@gnu.org>
6971
6972 * w32.c (readdir): If FindFirstFile/FindNextFile return in
6973 cFileName a file name that includes `?' characters, use the 8+3
6974 alias in cAlternateFileName instead.
6975
69762008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
6977
6978 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
6979
69802008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
6981
6982 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
6983 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
6984 work on current_buffer only instead (that was already the case
6985 for some of the code anyway).
6986 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
6987 (temp_set_point, temp_set_point_both): Use EMACS_INT.
6988 (SET_PT, SET_PT_BOTH): Adjust.
6989 * intervals.h (set_point, temp_set_point, set_point_both)
6990 (temp_set_point_both): Remove redundant declarations.
6991
69922008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
6993
6994 * fileio.c (Finsert_file_contents):
6995 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
6996 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
6997 when buffer != current_buffer anyway.
6998
69992008-03-20 Andreas Schwab <schwab@suse.de>
7000
7001 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
7002 as default.
7003
70042008-03-19 Jason Rumney <jasonr@gnu.org>
7005
7006 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
7007 (syms_of_w32fns): Initialize them.
7008 (HOURGLASS_ID): New constant.
7009 (x_window_to_frame): Don't check hourglass_window.
7010 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
7011 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
7012 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
7013 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
7014 Only change the cursor if hourglass is not active.
7015 (Fx_create_frame): Initialize frame's current_cursor.
7016 (hourglass_atimer): Remove.
7017 (hourglass_started): New function.
7018 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
7019 (show_hourglass): Adapt to w32, changing argument to frame.
7020
7021 * w32term.h (struct w32_output): Remove hourglass_window.
7022 Add current_cursor.
7023
7024 * eval.c (call_debugger, Fsignal):
7025 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
7026 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
7027 (Fexecute_extended_command, cancel_hourglass_unwind):
7028 * minibuf.c (read_minibuf):
7029 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
7030
70312008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
7032
7033 * window.c (run_funs): New fun.
7034 (run_window_configuration_change_hook): Use it to run the buffer-local
7035 and the global part of the hook.
7036
7037 * xdisp.c (format_mode_line_unwind_data): Add window argument.
7038 (unwind_format_mode_line): Restore selected window.
7039 (x_consider_frame_title, Fformat_mode_line): Set selected window.
7040
70412008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
7042
7043 * editfns.c (Fchar_equal): Check they are valid characters.
7044
7045 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
7046
70472008-03-17 Andreas Schwab <schwab@suse.de>
7048
7049 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
7050 against a charset.
7051
7052 * lisp.h (Fbuffer_list): Declare.
7053
70542008-03-17 Jan Djärv <jan.h.d@swipnet.se>
d6c952f8 7055
aac0c6e3
MR
7056 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
7057 handlebox_widget is != 0.
7058
70592008-03-16 Juri Linkov <juri@jurta.org>
7060
7061 * callint.c (Fcall_interactively): For interactive code letters
7062 'b' and 'B' put the buffer list into the list of default "future"
7063 values of the minibuffer.
7064
70652008-03-16 Andreas Schwab <schwab@suse.de>
7066
7067 * keyboard.c (read_key_sequence): Fix downcasing of letters with
7068 modifiers.
7069
7070 * regex.c (re_match_2_internal): Correct matching of a charset
7071 against latin-1 characters.
7072
70732008-03-16 Kenichi Handa <handa@m17n.org>
7074
7075 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
7076 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
7077 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
7078 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
7079 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
7080 CHAR_STRING_ADVANCE.
7081 (produce_chars): Fix for the case that the source and the
7082 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
7083 instead of CHAR_STRING_ADVANCE.
7084 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
7085 STRING_CHAR_ADVANCE.
7086
70872008-03-15 Andreas Schwab <schwab@suse.de>
7088
7089 * regex.c (re_match_2_internal): Correct matching of eight bit
7090 characters in unibyte strings.
7091
70922008-03-15 Martin Rudalics <rudalics@gmx.at>
7093
7094 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
7095 at end of range when it coincides with the end of the buffer.
7096
70972008-03-14 Eli Zaretskii <eliz@gnu.org>
7098
7099 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
7100
7101 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
7102
71032008-03-14 Jason Rumney <jasonr@gnu.org>
7104
7105 * editfns.c (initial_tz): New variable.
7106 (syms_of_editfns): Initialize it.
7107 (Fset_time_zone_rule): Set it when first called.
7108 Use it when TZSTRING is nil.
7109
7110 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
7111 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
7112 (monitor_from_point_fn, get_monitor_info_fn): New globals.
7113 (globals_of_w32fns): Initialize them.
7114 (compute_tip_xy): Use them to position tooltips.
7115
71162008-03-14 Glenn Morris <rgm@gnu.org>
7117
7118 * emacs.c (main): Revert previous change.
7119 (standard_args): Revert -internal-script back to -scriptload,
7120 and remove the long-option form.
7121
71222008-03-13 Glenn Morris <rgm@gnu.org>
7123
7124 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
7125 Remove option -enable-font-backend.
7126
71272008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
7128
7129 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
7130
71312008-03-11 Jan Djärv <jan.h.d@swipnet.se>
7132
7133 * xterm.c (x_connection_closed): For GTK: If this is the last
7134 terminal just exit without closing the display.
7135
71362008-03-11 Jason Rumney <jasonr@gnu.org>
7137
7138 * w32font.c (w32font_full_name): Use floor to round.
7139
f0131492 71402008-03-10 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
aac0c6e3
MR
7141
7142 * sound.c (alsa_configure): Declare vol at beginning of block.
7143
7144 * fontset.c (Ffontset_info): Remove extra semicolon.
7145
71462008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
7147
7148 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
7149 size of resulting string.
7150
71512008-03-10 Jason Rumney <jasonr@gnu.org>
7152
7153 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
7154
71552008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7156
7157 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
7158 Don't pretend as if characters with display property haven't been
7159 consumed for string-replacing-string case.
7160
71612008-03-08 Kim F. Storm <storm@cua.dk>
7162
7163 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
7164 (get_next_display_element, next_element_from_string)
7165 (next_element_from_ellipsis, next_element_from_buffer): Use it.
7166
71672008-03-08 Andreas Schwab <schwab@suse.de>
7168
7169 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
7170
71712008-03-06 Jason Rumney <jasonr@gnu.org>
7172
7173 * w32font.c (w32_registry): Take font_type argument. Use ANSI
7174 when charset not specified. Only translate ANSI to unicode when
7175 font_type is truetype.
7176 (w32font_coverage_ok): New function.
7177 (add_font_entity_to_list): Use it to filter unsuitable fonts.
7178
71792008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
7180
7181 * lread.c (Fread_char): Resolve modifiers.
7182 (Fread_char_exclusive): Likewise.
7183
7184 * character.c (char_resolve_modifier_mask): New function.
7185 (char_string): Use char_resolve_modifier_mask.
7186 (Fchar_resolve_modifiers): New function.
7187 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
7188 function.
7189
71902008-03-04 Jason Rumney <jasonr@gnu.org>
7191
7192 * makefile.w32-in: Always include w32font.c in the build.
7193 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
7194
71952008-03-04 Andreas Schwab <schwab@suse.de>
7196
7197 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
7198 (versionclean): Likewise.
7199
72002008-03-04 Juanma Barranquero <lekktu@gmail.com>
7201
7202 * .cvsignore: Add oo.
7203
72042008-03-03 Andreas Schwab <schwab@suse.de>
7205
7206 * coding.c (decode_coding_object): Inhibit gap shrinking while
7207 decoding in place.
7208
72092008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
7210
7211 * w32term.c: Remove unused include "gnu.h".
7212 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
7213
7214 * gnu.h: Rename to ...
7215 * emacs-icon.h: ... this.
7216 * xterm.c: Use emacs-icon.h instead of gnu.h.
7217 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
7218
72192008-03-03 Juanma Barranquero <lekktu@gmail.com>
7220
7221 * w32font.c: Include math.h.
7222
72232008-03-03 Jason Rumney <jasonr@gnu.org>
7224
7225 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
7226 Compute options separately.
7227 (w32font_open_internal): Set glyph_idx before caching metrics.
7228
7229 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
7230 Define if system headers don't.
7231 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
7232 (w32font_encode_char): Don't declare here.
7233
7234 * w32font.c (Quniscribe, QCformat): New symbols.
7235 (syms_of_w32font): Define them.
7236 (w32font_has_char): Indicate uncertainty.
7237 (w32font_encode_char): Encode as glyph point. Make static.
7238 (recompute_cached_metrics): New function.
7239 (w32font_open_internal): Use it. Set font to use glyph points
7240 initially. Set format based on type of font.
7241 (w32font_text_extents, w32font_draw): Optionally use glyph points.
7242 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
7243 on it. Set format based on information available here.
7244 (add_font_entity_to_list): Identify backend based on opentype_only.
7245
72462008-03-02 Andreas Schwab <schwab@suse.de>
7247
7248 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
7249
7250 * coding.c (decode_coding_big5, produce_chars):
7251 Fix typos in last change.
7252
72532008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
7254
7255 * gnu.h: New icon.
7256
72572008-03-02 Kenichi Handa <handa@m17n.org>
7258
7259 * coding.c (decode_coding_utf_8): When eol-type of CODING is
7260 `dos', don't decode '\r' if that is the last in the source.
7261 (decode_coding_utf_16, decode_coding_emacs_mule)
7262 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
7263 (decode_coding_raw_text, decode_coding_charset): Likewise.
7264 (produce_chars): Don't decode EOL here. Use EMACS_INT.
7265
72662008-03-01 Jason Rumney <jasonr@gnu.org>
7267
7268 * w32font.c (w32font_full_name): Report point size for scalable fonts.
7269
72702008-03-01 Kim F. Storm <storm@cua.dk>
7271
7272 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
7273
72742008-03-01 Jason Rumney <jasonr@gnu.org>
7275
7276 * w32font.c (w32font_full_name): New function.
7277 (w32font_open_internal): Use it.
7278
72792008-03-01 Kim F. Storm <storm@cua.dk>
7280
7281 * dispnew.c (line_draw_cost): Fix invalid glyph check.
7282
72832008-03-01 Jason Rumney <jasonr@gnu.org>
7284
7285 * font.c (font_unparse_fcname): Increase len when style is a symbol.
7286
72872008-03-01 Jan Djärv <jan.h.d@swipnet.se>
7288
7289 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
7290 xg_frame_resized when the event is for the edit widget.
7291
7292 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
7293
7294 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
7295 set_char_size.
7296 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
7297 operations on widgets here. Just set frame size if needed.
7298 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
7299 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
7300 (x_wm_set_size_hint): Set size hints on the edit widget only, not
7301 the whole frame.
7302 (xg_create_tool_bar): Move attachment of the tool bar to
7303 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
7304 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
7305
73062008-03-01 Jason Rumney <jasonr@gnu.org>
7307
7308 * w32fns.c (w32_msg_pump): Disable debug code.
7309
73102008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7311
7312 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
7313
73142008-02-29 Chong Yidong <cyd@stupidchicken.com>
7315
7316 * xdisp.c (next_overlay_string): Don't set
7317 overlay_strings_at_end_processed_p if we're currently reading from
7318 a display string.
7319
73202008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
7321
7322 * xdisp.c (get_overlay_strings_1): Fix typo.
7323
73242008-02-29 Chong Yidong <cyd@stupidchicken.com>
7325
7326 * xdisp.c (get_overlay_strings_1): Add missing argument type.
7327
73282008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
7329
7330 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
7331
7332 * xdisp.c (display_mode_element): Cancel the previous change.
7333 (decode_mode_spec): Likewise.
7334 (handle_auto_composed_prop): Don't make composition if it->string
7335 is a string.
7336
73372008-02-27 Kim F. Storm <storm@cua.dk>
7338
7339 * lisp.h (GLYPH): Change type from int to struct with separate char
7340 and face_id members.
7341 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
7342 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
7343 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
7344 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
7345 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
7346 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
7347 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
7348 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
7349 handle new Lisp glyph code encoding, either an integer or a cons.
7350
7351 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
7352 (GLYPH_ALIAS): Delete.
7353 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
7354 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
7355 (GLYPH_FROM_CHAR): Replace macro by ...
7356 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
7357
7358 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
7359 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
7360 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
7361 (GLYPH_INVALID_P): New macro.
7362 (spec_glyph_lookup_face): Update prototype.
7363
7364 * dispnew.c (line_draw_cost): Adapt to new glyph type.
7365 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
7366 new glyph code encoding.
7367 (spec_glyph_lookup_face): No return value; update passed glyph instead.
7368 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
7369
7370 * xdisp.c (get_next_display_element, next_element_from_display_vector):
7371 Adapt to new glyph type and new glyph code encoding.
7372
7373 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
7374
7375 * indent.c (current_column, current_column_1, Fmove_to_column)
7376 (compute_motion): Adapt to new glyph code encoding.
7377
7378 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
7379
73802008-02-27 Chong Yidong <cyd@stupidchicken.com>
7381
7382 * process.c (wait_reading_process_output): Check for window
7383 changes caused by timers.
7384 Suggested by Johan Bockgård.
7385
73862008-02-27 Glenn Morris <rgm@gnu.org>
7387
7388 * emacs.c (USAGE1): Add `--disable-font-backend'.
7389
73902008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
7391
7392 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
7393 is made to the buffer.
7394
73952008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
7396
7397 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
7398 (face_at_string_position):
7399 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
7400 (face_at_string_position):
7401 * xdisp.c (display_string, next_overlay_change):
7402 * buffer.h (overlays_at):
7403 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
7404 Update callers.
7405
74062008-02-26 Chong Yidong <cyd@stupidchicken.com>
7407
7408 * editfns.c (Fformat): Doc fix.
7409
74102008-02-26 Juanma Barranquero <lekktu@gmail.com>
7411
7412 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
7413 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
7414 (Ffont_otf_alternates, Fquery_font): Doc fixes.
7415
74162008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
7417
7418 * buffer.c (Fbuffer_swap_text): New function.
7419 (syms_of_buffer): Defsubr it.
7420
74212008-02-25 Chong Yidong <cyd@stupidchicken.com>
7422
7423 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
7424
74252008-02-25 Jason Rumney <jasonr@gnu.org>
7426
7427 * w32font.c (w32font_draw): Draw one character at a time when padding.
7428
74292008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
7430
7431 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
7432 Handle a nil arg. Use run_window_configuration_change_hook.
7433 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
7434 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
7435 Use run_window_configuration_change_hook.
7436
74372008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
7438
7439 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
7440 1-pixel width.
7441
74422008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
7443
7444 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
7445 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
7446 if the glyph in the font is zero pixel with.
7447
7448 * dispextern.h (struct glyph_string): New member padding_p.
7449
7450 * w32font.c (w32font_draw): Pay attention to s->padding_p.
7451
7452 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
7453
7454 * xfont.c (xfont_draw): Pay attention to s->padding_p.
7455
7456 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
7457
7458 * font.c: If the font driver doesn't have `shape' function, return Qnil.
7459
74602008-02-25 Jason Rumney <jasonr@gnu.org>
7461
7462 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
7463
74642008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
7465
7466 Allow fine-grained image-cache flushing.
7467 * dispextern.h (struct image): Add `dependencies' field.
7468 (clear_image_caches): Change arg to Lisp_Object.
7469 * image.c (make_image): Initialize `dependencies' field.
7470 (clear_image_cache): Change arg to allow fine-grained flushing.
7471 Perform the flush even if image-cache-eviction-delay is nil.
7472 (clear_image_caches): Change arg to Lisp_Object.
7473 (Fclear_image_cache): Expand meaning of the argument.
7474 (mark_image): Mark `dependencies' field.
7475 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
7476 (lface_hash): Use XHASH rather than XFASTINT.
7477 (face_at_buffer_position): Fix int -> EMACS_INT position.
7478 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
7479 (select_frame_for_redisplay): Remove code duplication.
7480 (redisplay_internal): Adapt arg to call to clear_image_caches.
7481
74822008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
7483
7484 * s/vms4-0.h:
7485 * s/vms4-2.h:
7486 * s/vms4-4.h:
7487 * s/vms5-5.h: Remove, unused.
7488
7489 * s/irix5-2.h:
7490 * s/irix6-0.h:
7491 * s/riscos5.h:
7492 * s/mach-bsd4-3.h:
7493 * m/mips4.h: Remove files for obsolete systems.
7494
7495 * Makefile.in:
7496 * filelock.c:
7497 * unexmips.c:
7498 * m/hp9000s300.h:
7499 * m/iris4d.h:
7500 * s/aix3-1.h:
7501 * s/hpux.h:
7502 * s/msdos.h:
7503 * s/usg5-0.h:
7504 * s/usg5-2-2.h:
7505 * s/usg5-2.h:
7506 * s/usg5-3.h: Remove references to obsolete variables.
7507
7508 * s/irix5-0.h: Remove, move all the contents ...
7509 * s/irix6-5.h: ... here. Simplify.
7510 * config.in: Regenerate.
7511
75122008-02-24 Jason Rumney <jasonr@gnu.org>
7513
7514 * w32term.c (x_draw_glyph_string_background): Clear the background
7515 manually when cleartype is in use.
7516 (x_draw_glyph_string_foreground): Draw text transparently when
7517 cleartype is in use.
7518
7519 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
7520 a font into it unless we have to.
7521
75222008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
7523
7524 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
7525 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
d6c952f8 7526
aac0c6e3
MR
75272008-02-18 Jason Rumney <jasonr@gnu.org>
7528
7529 * w32fns.c (Fw32_shell_execute): Encode parameters.
7530
75312008-02-09 Eli Zaretskii <eliz@gnu.org>
7532
7533 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
7534
75352008-02-05 Juanma Barranquero <lekktu@gmail.com>
7536
7537 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
7538
75392008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
7540
7541 * xterm.c (x_set_offset): Don't change the gravity if
7542 CHANGE_GRAVITY is -1.
7543
75442008-02-23 Chong Yidong <cyd@stupidchicken.com>
7545
7546 * fileio.c (auto_save_error_occurred): New var.
7547 (auto_save_error): Set it.
7548 (Fdo_auto_save): Don't overwrite the error message if an auto-save
7549 error occurred.
7550
75512008-02-23 Eli Zaretskii <eliz@gnu.org>
7552
7553 * w32.c (globals_of_w32): Add initializations for
7554 g_b_init_get_sid_sub_authority and
7555 g_b_init_get_sid_sub_authority_count.
7556
75572008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
7558
7559 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
7560 (font_parse_xlfd): Use them for sanity check.
7561 (Finternal_set_font_style_table): Make sure the table is bijective.
7562
7563 Consolidate the image_cache to the terminal struct.
7564 * termhooks.h (P_): Remove redundant def.
7565 (struct terminal): New field `image_cache'.
7566 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
7567 of FRAME_X_IMAGE_CACHE.
7568 * xterm.h (struct x_display_info): Remove image_cache field.
7569 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7570 * w32term.h (struct w32_display_info): Remove image_cache field.
7571 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7572 * macterm.h (struct mac_display_info): Remove image_cache field.
7573 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7574 * xterm.c (x_term_init):
7575 * w32term.c (w32_term_init):
7576 * macterm.c (mac_term_init): Set the image_cache in the terminal.
7577 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
7578 Remove declarations.
7579 (clear_image_caches, mark_image_cache): New declarations.
7580 * xfaces.c (clear_face_cache):
7581 * xdisp.c (redisplay_internal): Use clear_image_caches.
7582 * image.c (clear_image_cache): Don't check that a frame is on
7583 a window-system before checking if it shares the same cache.
7584 (clear_image_caches): New function.
7585 (Fclear_image_cache): Use it.
7586 (mark_image): Move from allo.c.
7587 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
7588 * alloc.c (mark_image, mark_image_cache): Move to image.c.
7589 (mark_object): Don't call mark_image_cache for frames.
7590 (mark_terminals): Call mark_image_cache.
7591
7592 * lisp.h (Fdelete_terminal): Declare.
7593
7594 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
7595 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
7596 wrong_type_argument.
7597
75982008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
7599
7600 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
7601 malayalam.el, and tamil.el. Add sinhala.el.
7602
76032008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
7604
7605 * xterm.c (x_connection_closed): Consolidate identical tests.
7606 (x_delete_terminal): Don't crash if called via x_connection_closed.
7607
76082008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
7609
7610 * xdisp.c (decode_mode_spec): New arg string.
7611 (display_mode_element): Adjust for the above change.
7612
76132008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
7614
7615 * callint.c (Fcall_interactively): Use AREF.
7616
76172008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
7618
7619 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
7620
76212008-02-18 Jan Djärv <jan.h.d@swipnet.se>
7622
7623 * xfns.c (Fx_show_tip): Set string to " " if empty.
7624
76252008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
7626
7627 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
7628 with Qt.
7629
76302008-02-17 Kenichi Handa <handa@m17n.org>
7631
7632 * ftfont.c (ftfont_shape): Return Lispy number.
7633
7634 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
7635 for GCs.
7636 (Finternal_set_font_selection_order): Call font_update_sort_order
7637 only when enable_font_backend is set.
7638 (realize_x_face): Set face->font_info to that of default face only
7639 when enable_font_backend is set.
7640
7641 * xdisp.c (handle_composition_prop): Set it->c to the fist
7642 character of the composed region.
7643 (fill_composite_glyph_string): Set base_face->font_info to
7644 s->font_info. Get a face for ascii from base_face->ascii_face.
7645 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
7646 with a face already decided.
7647 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
7648 non-negative.
7649 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
7650 call font_prepare_composition unconditionally.
7651
7652 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
7653
7654 * xterm.h (struct x_display_info): New member font.
7655
7656 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
7657 (x_set_mouse_face_gc, x_new_font): Likewise.
7658 (x_term_init): Setup display_info->font.
7659 (x_delete_terminal): Free display_info->font.
7660
7661 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
7662
7663 * ftxfont.c (ftxfont_default_fid): Delete it.
7664 (ftxfont_open): Set xfont->fid to 0.
7665 (ftxfont_end_for_frame): Clear data specific to the frame and the
7666 font-driver.
7667
7668 * xftfont.c (xftfont_default_fid): Delete it.
7669 (xftfont_open): Set xfont->fid to 0.
7670
7671 * fontset.c (FONTSET_OBJLIST): New macro.
7672 (fontset_find_font): Update font-object list of the fontset.
7673 (free_realized_fontset): New function.
7674 (free_face_fontset): Call free_realized_fontset.
7675 (Ffont_info): Call font_close_object only when enable_font_backend
7676 is set.
7677
7678 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
7679 [HAVE_NTGUI]: Include w32term.h.
7680 [MAC_OS]: Include macterm.ch.
7681 (font_otf_ValueRecord): Use make_number.
7682 (font_finish_cache): Fix handling of reference count.
7683 (font_clear_cache): Update num_fonts.
7684 (font_open_entity): Update smallest_char_width and
7685 smallest_font_height of the frame.
7686 (font_close_object): Update num_fonts.
7687 (Fclear_font_cache): Fix finding the target cache data.
7688
76892008-02-16 Glenn Morris <rgm@gnu.org>
7690
7691 * fontset.c (Finternal_char_font): Fix compilation warning.
7692
76932008-02-16 Eli Zaretskii <eliz@gnu.org>
7694
7695 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
7696 instead of char arrays. Enlarge the size of array passed to
7697 get_token_information.
7698
7699 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
7700 warnings.
7701
77022008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
7703
7704 * .gdbinit: Don't set `args', it breaks gdb --args.
7705
77062008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
7707
7708 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
7709 within a narrowed buffer.
7710
77112008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
7712
7713 * coding.c (decode_coding_object, encode_coding_object):
7714 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
7715
77162008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
7717
7718 * coding.c (coding_set_destination): Use BEG_BYTE rather than
7719 hardcoding 1.
7720 (detect_coding_system):
7721 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
7722 (string_char_to_byte, string_byte_to_char, insert_from_gap):
7723 * insdel.c (insert_from_gap):
7724 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
7725 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
7726 (string_to_multibyte):
7727 * character.c (chars_in_text, multibyte_chars_in_text):
7728 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
7729
7730 * character.h (FETCH_STRING_CHAR_ADVANCE)
7731 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
7732 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
7733 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
7734
7735 * casefiddle.c (casify_region): Only call after-change and composition
7736 functions on the part of the region that was changed.
7737
7738 * keyboard.c (read_avail_input):
7739 * frame.c (Fdelete_frame): Call Fdelete_terminal.
7740
77412008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
7742
7743 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
7744 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
7745
77462008-02-11 Juanma Barranquero <lekktu@gmail.com>
7747
7748 * w32menu.c (push_submenu_start, push_submenu_end)
7749 (push_left_right_boundary, push_menu_pane, push_menu_item):
7750 * keyboard.c (read_key_sequence): Don't pass args with side effects
7751 to AREF, it fails when compiling with -DENABLE_CHECKING.
7752
77532008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
7754
7755 * Makefile.in (${lispsource}international/charprop.el):
7756 Delete this target.
7757
7758 * search.c (boyer_moore): Fix incorrect synching of the trunk and
7759 emacs-unicode-2.
7760
77612008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
7762
7763 * terminal.c (Fdelete_terminal): Clean up the `force' path.
7764
77652008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
7766
7767 * frame.c (Qnoelisp): New symbol.
7768 (syms_of_frame): Initialize it.
7769 (Fdelete_frame): Use it to distinguish a mere `force' passed from some
7770 harmless Elisp code, from a strong `force' from x_connection_closed.
7771 * frame.h (Qnoelisp): Declare.
7772 * xterm.c (x_connection_closed): Pass `noelisp'.
7773
7774 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
7775 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
7776 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
7777 rather than `int' for the type of `type'.
7778
77792008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
7780
7781 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
7782
7783 * Makefile.in (GNUC): Remove support for gcc-1.x.
7784
77852008-02-10 Richard Stallman <rms@gnu.org>
7786
7787 * lisp.h (ASET): Use AREF, not ASLOT.
7788
77892008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
7790
7791 * lisp.h (ASET): Check bounds.
7792
77932008-02-10 Glenn Morris <rgm@gnu.org>
7794
7795 * buffer.c (mode-name): Doc fix.
7796
77972008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
7798
7799 * Makefile.in:
7800 * emacs.c:
7801 * gmalloc.c:
7802 * keyboard.c:
7803 * lisp.h:
7804 * m/ibm370aix.h:
7805 * process.c:
7806 * regex.c:
7807 * s/hpux.h:
7808 * sysdep.c:
7809 * sysselect.h:
7810 * systty.h:
7811 * unexec.c:
7812 * w32term.c:
7813 * xsmfns.c:
7814 * xterm.c: Remove code that deals with obsolete variables.
7815
7816 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
7817
7818 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
7819 nothing else needs it anymore.
7820
78212008-02-09 Eli Zaretskii <eliz@gnu.org>
7822
7823 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
7824 instead of unibyte_char_to_multibyte.
7825
78262008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
7827
7828 * s/gnu-linux.h: Remove commented out code.
7829
7830 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
7831
7832 * Makefile.in: Update what RMS says about using autoconf.
7833 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
7834 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
7835 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
7836 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
7837
78382008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
7839
7840 * keymap.c (Fkey_description): Move side effect outside of macro call.
7841
7842 * xfaces.c (Finternal_make_lisp_face):
7843 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
7844
7845 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
7846 (syms_of_fontset): Use ASET.
7847
7848 * fns.c (concat): Move side effect outside of macro call.
7849 (hash_clear): Use ASET.
7850
78512008-02-08 Richard Stallman <rms@gnu.org>
7852
7853 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
7854 If FORCE, and frame has a surrogate minibuffer for another frame,
7855 delete the other frame first.
7856
78572008-02-07 Timo Savola <timo.savola@iki.fi>
7858
7859 * xterm.c (x_detect_focus_change): Handle embed client message.
7860 (handle_one_xevent): Ditto.
7861 (handle_one_xevent): If embedded and we get a button press/release,
7862 request focus.
7863 (xembed_set_info, xembed_send_message): New functions.
7864 (x_make_frame_visible): Call xembed_set_info if embedded.
7865 (x_make_frame_invisible): Call xembed_set_info if embedded.
7866 (x_term_init): Initialize Xatom_XEMBED.
7867 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
7868 (x_iconify_frame): Ditto.
7869
7870 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
7871 (enum xembed_info, enum xembed_message, enum xembed_focus)
7872 (enum xembed_modifier, enum xembed_accelerator): New.
7873 (xembed_set_info, xembed_send_message): Declare.
7874 (FRAME_X_EMBEDDED_P): New.
7875
7876 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
7877 gtk_plug_new.
7878
7879 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
7880 window ID of a frame.
7881 (x_window): Reparent frame if embedded.
7882 (Fx_create_frame): Don't set border width if embedded.
7883
7884 * emacs.c (USAGE3): Add --parent-id.
7885 (standard_args): Ditto.
7886
78872008-02-07 Jan Djärv <jan.h.d@swipnet.se>
7888
7889 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
7890
78912008-02-07 Jim Meyering <meyering@redhat.com>
7892
7893 Use "do...while (0)", not "if (1)...else" in macro definitions.
7894 The latter provokes a warning from gcc about the empty else, when
7895 followed by ";". Also, without that trailing semicolon, it would
7896 silently swallow up any following statement.
7897 * syntax.h (SETUP_SYNTAX_TABLE)
7898 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
7899 * buffer.h (DECODE_POSITION): Likewise.
7900 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
7901 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
7902 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
7903 (FETCH_CHAR_ADVANCE): Likewise.
7904 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
7905
79062008-02-07 Jim Meyering <meyering@redhat.com>
7907
7908 * lread.c [lint]: Don't include <sys/inode.h>.
7909
79102008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
7911
7912 * xselect.c (x_handle_dnd_message):
7913 * xmenu.c (digest_single_submenu, xmenu_show):
7914 * xdisp.c (with_echo_area_buffer_unwind_data)
7915 (format_mode_line_unwind_data, unwind_format_mode_line)
7916 (display_menu_bar):
7917 * eval.c (Ffetch_bytecode):
7918 * doc.c (store_function_docstring):
7919 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
7920 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
7921 * buffer.c (add_overlay_mod_hooklist): Use ASET.
7922
79232008-02-07 Kenichi Handa <handa@m17n.org>
7924
7925 * ftxfont.c (ftxfont_open): Don't set
7926 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
7927
7928 * ftfont.c (ftfont_open): Fix previous change.
7929
79302008-02-06 Jason Rumney <jasonr@gnu.org>
7931
7932 * w32font.c (w32font_text_extents): Fill in lbearing metric.
7933 Use cached metrics for ASCII characters.
7934 (w32font_open_internal): Don't set font's owning_frame.
7935 Cache metrics for ASCII characters.
7936
7937 * w32font.h (struct w32font_info): Add ascii_metrics.
7938 Remove owning_frame.
7939
79402008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
7941
7942 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
7943 to negative value.
7944
7945 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
7946
7947 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
7948
7949 * charset.c (syms_of_charset): Set QCtest and Qeq.
7950
79512008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
7952
7953 * process.c (Fstart_process):
7954 * callproc.c (Fcall_process): Handle the case where
7955 Funhandled_file_name_directory returns nil.
7956
7957 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
7958 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
7959 * font.c (check_gstring): Use them and AREF to access the vector before
7960 we know it's really a gstring.
7961 (Ffont_shape_text): Fix typo.
7962 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Oject mixups.
7963
7964 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
7965 Declare.
7966
7967 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
7968
79692008-02-05 Jason Rumney <jasonr@gnu.org>
7970
7971 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
7972 Set smallest_font_height and smallest_char_width in display info.
7973
79742008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
7975
7976 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
7977
79782008-02-05 Miles Bader <miles@gnu.org>
7979
7980 * xfaces.c (get_lface_attributes, merge_named_face)
7981 (lookup_named_face, lookup_derived_face, realize_named_face):
7982 Revert 2008-02-01 change by cyd@stupidchicken.com.
7983
79842008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
7985
7986 * fontset.c (Ffontset_info): Handle the case of inhibitting the
7987 fallback fonts.
7988 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
7989
79902008-02-04 Jason Rumney <jasonr@gnu.org>
7991
7992 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
7993 set full_name.
7994 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
7995
79962008-02-03 Jason Rumney <jasonr@gnu.org>
7997
7998 * makefile.w32-in (OBJ1): Include font.o here.
7999 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
8000
80012008-02-02 Jason Rumney <jasonr@gnu.org>
8002
8003 * makefile.w32-in (temacs): Bump EMHEAP to 21.
8004
80052008-02-01 Jason Rumney <jasonr@gnu.org>
8006
8007 * s/cygwin.h: Define VIRT_ADDR_VARIES.
8008
8009 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
8010
80112008-02-01 Andreas Schwab <schwab@suse.de>
8012
8013 * Makefile.in (shortlisp, lisp): Update for rename of
8014 ../lisp/language/myanmar.el.
8015
80162008-02-01 Chong Yidong <cyd@stupidchicken.com>
8017
8018 * xfaces.c (get_lface_attributes): Delete function.
8019 (merge_named_face, lookup_named_face, lookup_derived_face)
8020 (realize_named_face): Call lface_from_face_name directly, and use
8021 the fact that merge_face_vectors does not alter its FROM argument.
8022
80232008-02-01 Jason Rumney <jasonr@gnu.org>
8024
8025 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
8026 input in the default locale. Handle non-Unicode multibyte input.
8027
80282008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8029
8030 * fontset.c (reorder_font_vector): Exclude nil elements from the
8031 font group. Don't try multiple fonts.
8032 (fontset_font): Adjust for the above change.
8033 (Finternal_char_font): Return nil if the found font doesn't
8034 contain the character ch.
8035
8036 * Makefile.in (lisp, shortlisp): Add cham.el.
8037
80382008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8039
8040 * font.h (FONTP): Make it return 1 also for a font-object.
8041
8042 * .gdbinit (xfontset): New function.
8043
8044 * font.c (font_find_for_lface): Check if the character C is
8045 supported or not only for the first font.
8046
8047 * fontset.c (reorder_font_vector): Fix typo.
8048 (fontset_find_font): Don't add a font-spec specifying a script.
8049 Use 0 (not Qt) for the indication of empty font-group. Change the
8050 format of RFONT-DEF. Return Qt if no font in the font-group
8051 support the character.
8052 (fontset_font): Adjust for the above change. If no font was
8053 found the character, remember that.
8054 (face_for_char): Adjust for the change of RFONT-DEF.
8055 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
8056 no font for the target.
8057 (Finternal_char_font): Adjust for the change of RFONT-DEF.
8058
80592008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8060
8061 * font.c (font_load_for_face): Handle the case that the font in
8062 face->lface is a string.
8063
80642008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8065
8066 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
8067
80682008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8069
8070 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
8071 Fix previous change. If the frame is not on a window system,
8072 signal an error.
8073
80742008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8075
8076 * coding.c (decode_coding_object, encode_coding_object): Adjust
8077 marker positions after conversion.
8078
8079 * lisp.h (struct Lisp_Marker): New member need_adjustment.
8080
80812008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8082
8083 * font.c (font_find_for_lface): Fix the handling of the return
8084 value of font_has_char.
8085 (Ffont_shape_text): Fix previous change.
8086
8087 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
8088 (fontset_ref_and_range): Delete it.
8089 (fontset_find_font): Call char_table_ref_and_range instead of
8090 FONTSET_REF_AND_RANGE.
8091 (make_fontset): Don't setup font groups of Latin here.
8092 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
8093 (new_fontset_from_font): Make the specified font the default for
8094 all Latin characters.
8095
80962008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8097
8098 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
8099 is on a window system before accessing the fontset of the frame.
8100
81012008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8102
8103 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
8104
8105 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
8106 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
8107
8108 * font.c (Ffont_shape_text): If the font driver doesn't have a
8109 shaper function, make zero-width glyphs to have at least one-pixel
8110 width. Fix setting of `to' field of glyphs.
8111
81122008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8113
8114 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
8115 glyphs.
8116
8117 * font.h (struct font_driver): Improve docstring of member `shape'.
8118
81192008-02-01 Kenichi Handa <handa@m17n.org>
8120
8121 * composite.c (syms_of_composite): Fix docstring of
8122 auto-composition-function.
8123
8124 * font.h (LGLYPH_SIZE): New macro.
8125
8126 * font.c (Ffont_fill_gstring): Stop filling when a character not
8127 supported by the font is found.
8128 (Ffont_shape_text): When a shape callback function returns nil,
8129 try at most two more times with larger gstring.
8130 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
8131
8132 * xdisp.c (handle_auto_composed_prop): Change the argument to
8133 auto-composition-function.
8134
8135 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
8136 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
8137 Lispy glyph and store it in the lgstring.
8138
8139 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
8140
8141 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
8142
81432008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8144
8145 * font.c (Ffont_shape_text): Avoid unnecessary composition.
8146
8147 * fontset.c (Vfont_encoding_charset_alist): New variable.
8148 (syms_of_fontset): DEFVAR it.
8149 (reorder_font_vector, fontset_find_font): Optimize for the case of
8150 no need of reordering.
8151 (face_for_char): Map the charset property by
8152 Vfont_encoding_charset_alist.
8153
81542008-02-01 Jason Rumney <jasonr@gnu.org>
8155
8156 * w32font.c (logfonts_match): Don't check adstyle here.
8157 (font_matches_spec): Check here against physical font instead.
8158 (add_font_entity_to_list): Avoid some substitutions.
8159
8160 * font.c (font_parse_fcname): Default weight and slant to normal.
8161 (font_score): Prefer normal fonts if weight or slant unspecified.
8162 (font_score) [WINDOWSNT]: Scale weight difference down to closer
8163 match freetype scores.
8164
81652008-02-01 Jason Rumney <jasonr@gnu.org>
8166
8167 * w32font.c (w32font_text_extents): Don't use the frame stored in the
8168 font, as it may have been deleted.
8169 (w32_enumfont_pattern_entity): Map generic family to adstyle using
8170 most common hyphenless variation.
8171 (logfonts_match): Check generic family.
8172 (font_matches_spec): Don't check generic family here.
8173 (fill_in_logfont): Set generic family based on adstyle.
8174
8175 * w32font.h (w32font_get_cache): Update declaration.
8176
81772008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8178
8179 * ftfont.c (ftfont_get_cache): Adjust the argument type.
8180
8181 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
8182 If none of the new drivers are available, call font_update_drivers
8183 with the old drivers.
8184
8185 * w32font.c (w32font_get_cache): Adjust the argument type.
8186
8187 * xfont.c (xfont_get_cache): Adjust the argument type.
8188
8189 * font.h (struct font_driver): Change argument type of get_cache.
8190
8191 * xftfont.c (xftfont_start_for_frame): Delete prototype.
8192
8193 * font.c (Ffont_get): Fix arguments to Fassoc.
8194 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
8195 (font_clear_cache): New function.
8196 (font_list_entities, font_matching_entity): Use font_get_cache.
8197 (font_update_drivers): Call font_clear_cache when finishing a driver.
8198
8199 * fontset.c (fontset_find_font): Fix previous change.
8200
82012008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8202
8203 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
8204 dpyinfo->font_table.
8205 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
8206 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
8207
8208 * font.c (font_at): Handle the case that the arg C is negative.
8209 Handle the unibyte case.
8210 (Ffont_at): Call font_at with the arg C -1.
8211
8212 * xdisp.c (handle_auto_composed_prop): Don't get a character at
8213 the position here, and call font_at with the arg C -1.
8214 Don't check the range of the existing composition at the point.
8215
82162008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8217
8218 * fontset.c (fontset_add): New args charset_id and family.
8219 Change caller.
8220 (load_font_get_repertory, fontset_find_font): Assume that
8221 font_spec is always a font-spec object.
8222 (Fset_fontset_font): Always store a font-spec object in a fontset.
8223
8224 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
8225 instead of get_property_and_range.
8226
82272008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8228
8229 * xftfont.c (struct xftfont_info): Delete the member ft_face.
8230 (xftfont_open): Don't keep locking face.
8231 (xftfont_close): Don't unlock face.
8232 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
8233
8234 * fontset.c (fontset_find_font): Don't prefer a font of
8235 supplementary charset.
8236
82372008-02-01 Kenichi Handa <handa@m17n.org>
8238
8239 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
8240 script, langsys_tag to langsys, new member script.
8241 (OTF_TAG_STR): Terminate by '\0'.
8242 (ftfont_get_open_type_spec): If :otf prop is is spec, Limit the
8243 listing to the script specified in that property. Fix arg to
8244 OTF_check_features.
8245
82462008-02-01 Jason Rumney <jasonr@gnu.org>
8247
8248 * w32font.h: New file.
8249
8250 * w32font.c: Include it.
8251 (struct w32font_info): Add owning_frame field. Move to w32font.h.
8252 (w32font_open): Set owning_frame.
8253 (w32font_text_extents): Use owning_frame.
8254 (struct font_callback_data): Add opentype_only field.
8255 (add_font_entity_to_list): Use it to filter fonts.
8256 Don't check against full name.
8257 (w32font_list_internal): New function.
8258 (w32font_list): Use it.
8259 (w32font_match_internal): New function.
8260 (w32font_match): Use it.
8261 (w32font_open_internal): New function.
8262 (w32font_open): Use it.
8263 (w32font_get_cache, w32font_close, w32font_has_char)
8264 (w32font_encode_char, w32font_text_extents, w32font_draw):
8265 Make non-static.
8266
8267 * makefile.w32-in (w32font.o): Depend on w32font.h.
8268
82692008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8270
8271 * charset.c (Fdefine_charset_internal): Record a supplementary
8272 charset at the tail of Vcharset_order_list.
8273
8274 * font.c (Ffont_shape_text): Fix the return value.
8275
8276 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
8277
8278 * xdisp.c (handle_auto_composed_prop): Fix previous change.
8279
82802008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8281
8282 * ftfont.c (struct OpenTypeSpec): New struct.
8283 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
8284 (ftfont_get_open_type_spec): New function.
8285 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
8286
8287 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
8288
82892008-02-01 Jason Rumney <jasonr@gnu.org>
8290
8291 * w32font.c (add_font_entity_to_list): Compare only the beginning
8292 of full name.
8293
82942008-02-01 Kenichi Handa <handa@m17n.org>
8295
8296 * xdisp.c (handle_auto_composed_prop): Simplify the code.
8297 Never return HANDLED_RECOMPUTE_PROPS.
8298
82992008-02-01 Kenichi Handa <handa@m17n.org>
8300
8301 * font.c (font_gstring_produce): Delete it.
8302
8303 * composite.h (COMPOSITION_METHOD):
8304 Handle COMPOSITION_WITH_GLYPH_STRING.
8305
83062008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8307
8308 * xfont.c (Qx): Delete.
8309 (syms_of_xfont): Don't initialize Qx.
8310
8311 * composite.h (enum composition_method):
8312 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
8313
83142008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8315
8316 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
8317 (choose_face_font): Accept new form of font-spec.
8318
8319 * frame.h (font_driver_list): Declare it unconditionally.
8320 (struct frame): Define members font_driver_list and font_data_list
8321 unconditionally.
8322
8323 * fontset.c: Include "font.h" unconditionally.
8324 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
8325 (Fset_fontset_font): Accept a font-spec object.
8326
8327 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
8328 PIXEL_SIZE part a wild card.
8329
8330 * dispextern.h (struct glyph_string): Define members clip and
8331 num_clips unconditionally.
8332 (struct face): Define members font_info and extra unconditionally.
8333
8334 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
8335 ftfont_info only when HAVE_LIBOTF is defined.
8336
83372008-02-01 Andreas Schwab <schwab@suse.de>
8338
8339 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
8340 and end.
8341
83422008-02-01 Jason Rumney <jasonr@gnu.org>
8343
8344 * w32font.c (w32font_driver): Add new fields.
8345
83462008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8347
8348 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
8349 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
8350 (LIBES): Add @M17N_FLT_CFLAGS@.
8351
8352 * composite.c (compose_text): Don't treat the new style
8353 composition specially.
8354
8355 * emacs.c (main): Call syms_of_font unconditionally.
8356
8357 * font.h (FONT_ENTITY_NOT_LOADABLE)
8358 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
8359 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
8360 (struct font_driver): New member shape.
8361 (font_registry_charsets): Extern it.
8362 (font_find_for_lface, font_prepare_composition): Adjust prototype.
8363 (font_otf_capability, font_drive_otf): Delete their externs.
8364
8365 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
8366 (font_charset_alist, font_registry_charsets): Move from xfont.c
8367 and rename.
8368 (font_prop_validate_otf): New function.
8369 (font_property_table): Register it for QCotf.
8370 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
8371 (font_drive_otf): Delete.
8372 (font_prepare_composition): New arg F. Adjust for the change of
8373 lispy gstring.
8374 (font_find_for_lface): New arg C.
8375 (font_load_for_face): Adjust for the change of font_find_for_lface.
8376 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
8377 lispy gstring.
8378 (Ffont_shape_text): New function.
8379 (Fopen_font): If the font size is not given, use 12-pixel.
8380 (Ffont_at): New arg STRING.
8381 (syms_of_font): Initalize font_charset_alist.
8382 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
8383 conditionally.
8384
8385 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
8386 fonts of the same font-spec. Change the format of RFONT-DEF.
8387 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
8388 Adjust for the change of RFONT-DEF.
8389 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
8390
8391 * ftfont.h: New file.
8392
8393 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
8394 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
8395 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
8396 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
8397 font_otf_capability and font_drive_otf, set ftfont_shape.
8398 (ftfont_list): Adjust for the change of :otf property value.
8399 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
8400 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
8401 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
8402 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
8403 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
8404 (otf_gstring, gstring, m17n_flt_initialized): New variables.
8405
8406 * w32term.c (x_draw_composite_glyph_string_foreground):
8407 Adjust for the change of lispy gstring.
8408
8409 * xdisp.c (handle_composition_prop): Adjust for the change of
8410 lispy gstring. Call a function for auto-composition with the
8411 third arg it->window.
8412 (fill_composite_glyph_string): Adjust for the change of lispy string.
8413 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
8414
8415 * xfaces.c (set_font_frame_param): Adjust for the change of
8416 font_find_for_lface.
8417
8418 * xfont.c (x_font_charset_alist): Move to font.c and rename.
8419 (xfont_registry_charsets): Likewise. Change caller.
8420 (syms_of_xfont): Don't handle x_font_charset_alist.
8421
8422 * xftfont.c: Include "ftfont.h".
8423 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
8424 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
8425 (xftfont_close) [HAVE_LIBOTF]: Close otf.
8426 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
8427 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
8428 Set xftfont_driver.shape to xftfont_shape.
8429
8430 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
8431 the change of lispy gstring.
8432
84332008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8434
8435 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
8436
84372008-02-01 Jason Rumney <jasonr@gnu.org>
8438
8439 * w32font.c (w32font_draw): Fill background manually.
8440
84412008-02-01 Jason Rumney <jasonr@gnu.org>
8442
8443 * font.c (Qfontp): Remove unused symbol.
8444 (QCantialias): New symbol.
8445 (syms_of_font): Define it.
8446 (font_property_table): Set a validator for QCantialias.
8447
8448 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
8449 Define if not already.
8450 (QCfamily): Share with xfaces.c.
8451 (Qstandard, Qsubpixel, Qnatural): New symbols.
8452 (syms_of_w32font): Define them. Don't define QCfamily here.
8453 (w32_antialias_type, lispy_antialias_type): New functions.
8454 (w32_enumfont_pattern_entity): New arg requested_font.
8455 Set antialias parameter if non-default was requested.
8456 (fill_in_logfont): Fill in lfQuality if :antialias specified.
8457
84582008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8459
8460 * lread.c (read1): Undo the previous change.
8461
84622008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
8463
8464 * frame.c (Fdelete_frame): Call font_update_drivers only when
8465 USE_FONT_BACKEND is defined.
8466
84672008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8468
8469 * font.h (struct font_bitmap): New member bits_per_pixel.
8470 (struct font_driver): New members start_for_frame and end_for_frame.
8471 (struct font_data_list): New struct.
8472 (font_put_frame_data, font_get_frame_data): Extern them.
8473
8474 * frame.h (struct frame): New member font_data_list.
8475
8476 * font.c (font_update_drivers): Call driver->start_for_frame and
8477 driver->end_for_frame at proper timings.
8478 (font_put_frame_data, font_get_frame_data): New functions.
8479 (Ffont_spec): Add usage in the docstring.
8480
8481 * frame.c (make_frame): Initialize f->font_data_list to NULL.
8482 (Fdelete_frame): Call font_update_drivers.
8483
8484 * xftfont.c (struct xftface_info): Delete the member xft_draw.
8485 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
8486 (xftfont_get_xft_draw): New function.
8487 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
8488 (xftfont_end_for_frame): New function.
8489 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
8490
8491 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
8492 Change argument. Cache GCs in the per-frame data.
8493 (struct ftxfont_frame_data): New struct.
8494 (ftxfont_draw_bitmap): New arg gc_fore and flush.
8495 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
8496 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
8497 (ftxfont_end_for_frame): New function.
8498 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
8499
8500 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
8501
85022008-02-01 Kenichi Handa <handa@m17n.org>
8503
8504 * xselect.c (Vselection_coding_system)
8505 (Vnext_selection_coding_system): Delete them.
8506 (syms_of_xselect): Don't declare selection-coding-system and
8507 next-selection-coding-system. They are declared in select.el.
8508
85092008-02-01 Jason Rumney <jasonr@gnu.org>
8510
8511 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
8512
8513 * w32fns.c: Include imm.h.
8514 (get_composition_string_fn, get_ime_context_fn): New optional
8515 system functions.
8516 (globals_of_w32fns): Load them from imm32.dll.
8517 (ignore_ime_char): New flag.
8518 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
8519 WM_IME_ENDCOMPOSITION messages.
8520
8521 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
8522 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
8523
85242008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8525
8526 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
8527 (READCHAR_REPORT_MULTIBYTE): New macro.
8528 (readchar): New 2nd arg MULTIBYTE.
8529 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
8530 Make symbol's name multibyte according to the multibyteness of the
8531 source.
8532
85332008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8534
8535 * xfaces.c (face_for_overlay_string): Call lookup_face with
8536 correct arguments (fix of synching with the trunk).
8537
85382008-02-01 Kenichi Handa <handa@m17n.org>
8539
8540 * font.c (font_prop_validate_symbol, font_prop_validate_style)
8541 (font_prop_validate_non_neg, font_prop_validate_spacing):
8542 Delete argument prop_index.
8543 (font_property_table): Change arguments to validater. Change Callers.
8544 (font_lispy_object): Delete.
8545 (font_at): Use font_find_object instead fo font_lispy_object.
8546
85472008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8548
8549 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
8550 and file names.
8551
85522008-02-01 Jason Rumney <jasonr@gnu.org>
8553
8554 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
8555 (font_matches_spec): Remove debug output.
8556 (add_font_entity_to_list): Avoid using substituted fonts.
8557
85582008-02-01 Jason Rumney <jasonr@gnu.org>
8559
8560 * doc.c (Fsnarf_documentation):
8561 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
8562
85632008-02-01 Miles Bader <miles@gnu.org>
8564
8565 * dispextern.h (struct glyph_row): Only define "clip" field if
8566 HAVE_WINDOW_SYSTEM is defined.
8567
85682008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
8569
8570 Fix up multi-tty merge.
8571
8572 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
8573 and indentation.
8574
8575 * xfaces.c (free_realized_face, clear_face_gcs):
8576 Include font_done_for_face in the input_blocked section, just in case.
8577
8578 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
8579 (get_char_face_and_encoding): Undo last change and remove the *other*
8580 duplicate definition (i.e. keep the one that's better scoped and that
8581 includes code for the font-backend).
8582
8583 * terminal.c (create_terminal): Default keyboard_coding to
8584 `no-conversion' and terminal_coding to `undecided'.
8585
8586 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
8587
8588 * fontset.c (free_realized_fontsets): Check that the table entry does
8589 contain a fontset before trying to compare it to `base'.
8590
8591 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
8592 syms_of_charset, and syms_of_coding earlier because init_window_once
8593 now needs Vcoding_system_hash_table to be setup.
8594
8595 * coding.h (default_buffer_file_coding): Remove.
8596
8597 * coding.c (default_buffer_file_coding): Remove.
8598 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
8599 than ->symbol, and use the terminal-local coding system.
8600 (syms_of_coding): Don't setup the coding-systems that are not
8601 terminal-local.
8602 (Fdefine_coding_system_internal): Use XCAR/XCDR.
8603
8604 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
8605 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
8606
8607 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
8608 in chartab.c and were re-added here by mistake.
8609 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
8610
8611 * doc.c (Fsnarf_documentation):
8612 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
8613 src to etc.
8614
8615 * ChangeLog.10: Add mistakenly removed entry.
8616
86172008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
8618
8619 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
8620
86212008-02-01 Miles Bader <miles@gnu.org>
8622
8623 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
8624 Add extra args to FACE_FOR_CHAR.
8625
86262008-02-01 Kenichi Handa <handa@m17n.org>
8627
8628 * keymap.c (where_is_internal_1): If key is a cons, store the copy
8629 in sequence.
8630
8631 * chartab.c (map_sub_char_table, map_char_table): If the range
8632 contains just one character, call the function with that character
8633 even if the depth is not 3.
8634
86352008-02-01 Jason Rumney <jasonr@gnu.org>
8636
8637 * w32font.c (w32font_text_extents): Calculate metrics for the
8638 whole string.
8639
86402008-02-01 Jason Rumney <jasonr@gnu.org>
8641
8642 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
8643
86442008-02-01 Jason Rumney <jasonr@gnu.org>
8645
8646 * w32term.c (x_set_glyph_string_clipping): Use
8647 get_glyph_string_clip_rects.
8648 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
8649 Adjust for the change of struct glyph_string.
8650
8651 * w32font.c (w32font_draw): Do clipping here.
8652
86532008-02-01 Kenichi Handa <handa@m17n.org>
8654
8655 * xftfont.c (xftfont_draw): Adjust for the change of struct
8656 glyph_string.
8657
8658 * xterm.c (x_set_glyph_string_clipping): Use
8659 get_glyph_string_clip_rects.
8660 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
8661 Adjust for the change of struct glyph_string.
8662
8663 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
8664 the resulting clip(s}.
8665 (expose_overlaps): Add arg r. Change callers. Set it to
8666 row->clip temporarily.
8667 (expose_window): Redraw rows overlapping the exposed area.
8668
8669 * dispextern.h (struct glyph_row): New member clip.
8670 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
8671 clip_height, new member clip, and num_clips.
8672
86732008-02-01 Kenichi Handa <handa@m17n.org>
8674
8675 * data.c (Fchar_or_string_p): Fix docstring.
8676
86772008-02-01 Kenichi Handa <handa@m17n.org>
8678
8679 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
8680 create a temporary XftDraw object.
8681
86822008-02-01 Kenichi Handa <handa@m17n.org>
8683
8684 * font.c (Ffontp): Fix docstring.
8685
8686 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
8687 strong evidence of ISO-2022.
8688
86892008-02-01 Kenichi Handa <handa@m17n.org>
8690
8691 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
8692 SYNTAX_ENTRY_FOLLOW_PARENT.
8693
86942008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
8695
8696 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
8697 its type.
8698 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
8699 Update to the new type of weak_hash_tables and next_weak.
8700
8701 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
8702 a plain C pointer to Lisp_Hash_Table.
8703
8704 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
8705 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
8706 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
8707 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
8708 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
8709 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
8710 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
8711 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
8712 (GC_EQ): Remove since they've been identical to their non-GC_
8713 alter-egos ever since the markbit was eradicated.
8714
8715 * alloc.c:
8716 * buffer.c:
8717 * buffer.h:
8718 * data.c:
8719 * fileio.c:
8720 * filelock.c:
8721 * fns.c:
8722 * frame.h:
8723 * lisp.h:
8724 * macterm.c:
8725 * print.c:
8726 * process.c:
8727 * w32fns.c:
8728 * w32menu.c:
8729 * w32term.c:
8730 * xfns.c:
8731 * xmenu.c:
8732 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
8733
87342008-02-01 Kenichi Handa <handa@m17n.org>
8735
8736 * chartab.c (map_sub_char_table): Make it work for the top-level
8737 char-table. Fix handling of parent char-table.
8738 (map_char_table): Adjust for the above change.
8739
87402008-02-01 Jason Rumney <jasonr@gnu.org>
8741
8742 * w32font.c (Qgdi): Rename from Qw32.
8743
87442008-02-01 Jason Rumney <jasonr@gnu.org>
8745
8746 * w32bdf.c (get_quoted_string): Make function static.
8747
87482008-02-01 Kenichi Handa <handa@m17n.org>
8749
8750 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
8751 bigger ascent and descent than those of the font, use them as
8752 font's ascent and descent.
8753
87542008-02-01 Kenichi Handa <handa@m17n.org>
8755
8756 * Makefile.in (${lispsource}international/charprop.el): Move this
8757 target within "#ifdef HAVE_UNIDATA" and "#endif".
8758
87592008-02-01 Kenichi Handa <handa@m17n.org>
8760
8761 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
8762 (shortlisp): Add ../lisp/language/tai-viet.el.
8763
87642008-02-01 Ulrich Mueller <ulm@gentoo.org>
8765
8766 * Makefile.in (${lispsource}international/charprop.el): Depend on
8767 temacs${EXEEXT}.
8768
87692008-02-01 Jason Rumney <jasonr@gnu.org>
8770
8771 * w32font.c (w32font_close): Delete the GDI font object.
8772
8773 * w32menu.c: Include character.h.
8774
8775 * w32proc.c: Likewise.
8776
8777 * w32select.c: Likewise.
8778
8779 * makefile.w32-in (w32proc.o): Depend on character.h.
8780
87812008-02-01 Jason Rumney <jasonr@gnu.org>
8782
8783 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
8784
8785 * w32menu.c (syms_of_w32menu): Likewise.
8786
8787 * w32proc.c (syms_of_ntproc): Likewise.
8788
8789 * w32select.c (syms_of_w32select): Likewise.
8790
8791 * w32term.c (syms_of_w32term): Likewise.
8792
87932008-02-01 Jason Rumney <jasonr@gnu.org>
8794
8795 * w32font.c (w32font_draw): Delete brush after using it.
8796
87972008-02-01 Jason Rumney <jasonr@gnu.org>
8798
8799 * w32font.c (w32font_open): Don't set font_idx.
8800 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
8801 to font settings.
8802 (w32font_draw): Fill background explicitly.
8803
88042008-02-01 Jason Rumney <jasonr@gnu.org>
8805
8806 * w32term.c (w32_initialize): Don't call w32font_initialize.
8807
8808 * w32font.c (w32font_info): Remove subranges.
8809 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
8810 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
8811 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
8812 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
8813 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
8814 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
8815 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
8816 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
8817 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
8818 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
8819 New symbols.
8820 (font_callback_data): New struct.
8821 (w32font_list, w32font_match): Use it.
8822 (w32font_open): Don't populate subranges.
8823 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
8824 (w32font_encode_char): Always return unicode code-point as-is.
8825 (w32font_text_extents): Supply a transformation matrix to
8826 GetGlyphOutline. Never look up by glyph index. Avoid looping
8827 twice. Use unicode version of GetTexExtentPoint32 instead of
8828 glyph index version.
8829 (set_fonts_frame): Remove.
8830 (w32_enumfont_pattern_entity): Add frame parameter, use it to
8831 set frame parameter. Use backward compatible fake foundries.
8832 Save generic family in extra slot under QCfamily. Make width slot
8833 constant. Save QCspacing value. Save list of scripts instead of
8834 binary subranges.
8835 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
8836 (add_font_entity_to_list): Use font_callback_data struct. Filter
8837 unwanted fonts.
8838 (add_one_font_entity_to_list): Use font_callback_data struct.
8839 (w32_registry): Default to iso10646_1.
8840 (fill_in_logfont): Use dpi from extra slot. Don't bother with
8841 string font registries. Don't fill in font name if it is a generic
8842 family name, fill family instead. Use spacing, family and script
8843 extra info to fill pitch, family and charset fields.
8844 (list_all_matching_fonts): Use font_callback_data struct.
8845 (unicode_range_for_char): Remove.
8846 (font_supported_scripts): New function.
8847 (w32font_initialize): Remove.
8848 (syms_of_w32font): Update which symbols are defined.
8849
88502008-02-01 Jason Rumney <jasonr@gnu.org>
8851
8852 * font.c (font_pixel_size): Reverse assq_no_quit args.
8853
8854 * w32term.h (FONT_WIDTH): Report max width, not average.
8855 (FONT_MAX_WIDTH): Remove.
8856 (FONT_AVG_WIDTH): New macro.
8857
8858 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
8859 redefinition of FONT_WIDTH.
8860
8861 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
8862 (w32_cache_char_metrics): Use FONT_WIDTH.
8863
8864 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
8865
88662008-02-01 Jason Rumney <jasonr@gnu.org>
8867
8868 * w32font.c (w32font_open): Make lfHeight negative.
8869
8870 * w32fns.c (x_default_font_parameter): Use new style font name.
8871 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
8872
88732008-02-01 Jason Rumney <jasonr@gnu.org>
8874
8875 * w32font.c (QCsubranges): New symbol.
8876 (w32font_open, w32font_has_char): Get subranges from subproperty
8877 of extra.
8878 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
8879 (syms_of_w32font): Define :subranges symbol.
8880
8881 * font.c (font_put_extra): Expose externally.
8882
8883 * font.h (font_put_extra): Move declaration from font.c.
8884
8885 * font.c (Ffont_get): Use font driver to determine otf capability.
8886 (adjust_anchor): Check if driver defines anchor_point before using.
8887
8888 * w32font.c (w32font_open): Handle size, height and pixel_size better.
8889 (w32font_draw): Use options.
8890 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
8891 Fix detection of truetype fonts.
8892 (registry_to_w32_charset): Handle charsets other than iso8859-1
8893 expressed as lisp symbols.
8894 (w32_registry): Express charset as lisp symbol.
8895 (fill_in_logfont): Reverse pixel and point height logic.
8896 Don't set width here. Set quality to default.
8897
8898 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
8899 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
8900
8901 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
8902 Remove redundant loop and allocation.
8903
8904 * makefile.w32-in (font.o, w32font.o): New objects.
8905 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
8906 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
8907
8908 * xdisp.c (fill_composite_glyph_string): Make the first arg to
8909 STORE_XCHARB a valid l-value.
8910
8911 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
8912 calculations for non-Truetype fonts.
8913 (x_draw_glyph_string): Sync with xterm.c.
8914 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
8915 Remove redundant code.
8916 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
8917
8918 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
8919 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
8920
8921 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
8922 (x_to_w32_charset, w32_to_x_charset): Expose externally.
8923
8924 * w32font.c: New file for w32 font backend.
8925
89262008-02-01 Kenichi Handa <handa@m17n.org>
8927
8928 * term.c: Don't include "buffer.h" twice.
8929
89302008-02-01 Kenichi Handa <handa@m17n.org>
8931
8932 * character.c (Funibyte_string): New function.
8933 (syms_of_character): Defsubr it.
8934
89352008-02-01 Jason Rumney <jasonr@gnu.org>
8936
8937 * w32term.c [USE_FONT_BACKEND]:
8938 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
8939 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
8940 (x_draw_glyph_string, x_draw_glyph_string_foreground)
8941 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
8942 (x_free_frame_resources): Sync with xterm.c.
8943
89442008-02-01 Andreas Schwab <schwab@suse.de>
8945
8946 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
8947 char-table size.
8948
89492008-02-01 Kenichi Handa <handa@m17n.org>
8950
8951 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
8952
89532008-02-01 Kenichi Handa <handa@m17n.org>
8954
8955 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
8956 font_otf_gpos, add font_drive_otf.
8957
8958 * fontset.c (fontset_find_font): Pay attention to font size
8959 specified for a font.
8960 (reorder_font_vector): Check contents of font_def.
8961
8962 * font.c (struct otf_list): Delete it.
8963 (otf_list): Make it a lisp variable.
8964 (otf_open): Use lispy otf_list.
8965 (generate_otf_features): Rename from parse_gsub_gpos_spec.
8966 (check_otf_features): New function.
8967 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
8968 New functions.
8969 (font_drive_otf): New function merging font_otf_gsub and
8970 font_otf_gpos.
8971 (font_open_for_lface): New arg spec. Change argument order.
8972 (font_load_for_face): Adjust for the change of font_open_for_lface.
8973 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
8974 Ffont_otf_gpos.
8975 (syms_of_font): Staticpro otf_list. Delete defsubr of
8976 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
8977
8978 * xfaces.c (set_font_frame_param): Adjust for the change of
8979 font_open_for_lface.
8980
8981 * font.h (font_open_for_lface): Adjust prototype.
8982 (struct font_driver): Delete members otf_gsub and otf_gpos, add
8983 member otf_drive.
8984 (font_otf_gsub, font_otf_gpos): Delete externs.
8985 (font_drive_otf): Extern it.
8986
89872008-02-01 Kenichi Handa <handa@m17n.org>
8988
8989 * font.c (font_at): If the window W is not on a window system,
8990 return Qnil.
8991
8992 * coding.c (produce_chars, encode_coding): Don't call
8993 insert_from_gap if no characters to produce.
8994
89952008-02-01 Kenichi Handa <handa@m17n.org>
8996
8997 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
8998 Fclear_face_cache.
8999
9000 * xfaces.c (face_for_font): Check also face->font==font->font.font.
9001
90022008-02-01 Miles Bader <miles@gnu.org>
9003
9004 * emacs.c (main): Change default value of `enable_font_backend' to 1.
9005 Parse "--disable-font-backend" option.
9006 (standard_args): Add "--disable-font-backend" option.
9007
90082008-02-01 Kenichi Handa <handa@m17n.org>
9009
9010 * fontset.c (fontset_find_font): New function.
9011 (fontset_font): Use fontset_find_font.
9012 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
9013 Register the specified font for all Latin characters.
9014 (new_fontset_from_font): Register the specified font for all Latin
9015 characters.
9016 (dump_fontset): For a realized fontset, include the base fontset
9017 name in the returned vector.
9018
90192008-02-01 Kenichi Handa <handa@m17n.org>
9020
9021 * character.h (CHAR_STRING): Cast C to unsigned on calling
9022 char_string.
9023
9024 * character.c (char_string): Type of arg C changed to unsigned.
9025 Signal an error if C is an invalid character code.
9026
9027 * editfns.c (general_insert_function, Fchar_to_string):
9028 Use CHARACTERP, not INTEGERP.
9029
90302008-02-01 Kenichi Handa <handa@m17n.org>
9031
9032 * character.h (MIN_MULTIBYTE_LEADING_CODE)
9033 (MAX_MULTIBYTE_LEADING_CODE): New macros.
9034
9035 * regex.c (analyse_first): Fix for multibyte characters in "case
9036 charset:" and "case categoryspec:".
9037
90382008-02-01 Andreas Schwab <schwab@suse.de>
9039
9040 * Makefile.in (LIBES): Move standard libraries to the end.
9041
90422008-02-01 Kenichi Handa <handa@m17n.org>
9043
9044 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
9045 nonzero, don't shrink the buffer nextb.
9046
9047 * buffer.h (struct buffer_text): New member inhibit_shrinking.
9048
9049 * coding.c (coding_alloc_by_making_gap): New arg offset.
9050 (alloc_destination): Call coding_alloc_by_making_gap with the arg
9051 offset.
9052 (decode_coding_iso_2022): Update coding->safe_charsets.
9053 (decode_coding_gap): Temporarily set
9054 current_buffer->text->inhibit_shrinking to 1.
9055
90562008-02-01 Kenichi Handa <handa@m17n.org>
9057
9058 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
9059 indexing into elements of s->cmp and s->char2b.
9060
90612008-02-01 Juanma Barranquero <lekktu@gmail.com>
9062
9063 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
9064
90652008-02-01 Kenichi Handa <handa@m17n.org>
9066
9067 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
9068 target_multibyte instead of multibyte.
9069 (re_match_2_internal): Call bcmp_translate with target_multibyte.
9070 (bcmp_translate): Change the argument name from multibyte to
9071 target_multibyte.
9072
90732008-02-01 Kenichi Handa <handa@m17n.org>
9074
9075 These changes are to compile a regexp into a pattern that can be
9076 used both for multibyte and unibyte targets.
9077
9078 * Makefile.in (search.o): Depend on charset.h.
9079
9080 * character.c (multibyte_char_to_unibyte_safe): New function.
9081
9082 * search.c: Include "charset.h".
9083 (compile_pattern_1): Delete argument multibyte. Don't set
9084 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
9085 (compile_pattern): Don't compare cp->buf.target_multibyte.
9086 Compare cp->buf.charset_unibyte.
9087 (compile_pattern): Set cp->buf.target_multibyte.
9088
9089 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
9090
9091 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
9092
9093 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
9094 multibyte. Change callers.
9095 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
9096 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
9097 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
9098 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
9099 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
9100 (regex_compile): Make the compiled pattern usable both for
9101 multibyte and unibyte targets.
9102 (analyse_first): Make the fastmap usable both for multibyte and
9103 unibyte targets.
9104 (TRANSLATE_VIA_MULTIBYTE): Delete.
9105 (re_match_2_internal): Pay attention to the case that the
9106 multibyteness of bufp and target may be different.
9107
91082008-02-01 Kenichi Handa <handa@m17n.org>
9109
9110 * xdisp.c (x_produce_glyphs): When a font is not found, make the
9111 empty box occupy at least one column width.
9112
91132008-02-01 Miles Bader <miles@gnu.org>
9114
9115 * Makefile.in: Remove redundant HAVE_XFT clause.
9116
91172008-02-01 Kenichi Handa <handa@m17n.org>
9118
9119 * xrdb.c (x_load_resources): Setup the default fontSet X resource.
9120
91212008-02-01 Kenichi Handa <handa@m17n.org>
9122
9123 * fontset.c (Finternal_char_font): Fix for the case of POSITION
9124 being nil.
9125
91262008-02-01 Kenichi Handa <handa@m17n.org>
9127
9128 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
9129
91302008-02-01 Kenichi Handa <handa@m17n.org>
9131
9132 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
9133
91342008-02-01 Kenichi Handa <handa@m17n.org>
9135
9136 * search.c (simple_search): Fix previous change.
9137
91382008-02-01 Kenichi Handa <handa@m17n.org>
9139
9140 * xftfont.c (ftfont_font_format): Extern declaration.
9141
9142 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
9143
9144 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
9145 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
9146
9147 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
9148 (ftfont_font_format): Fix previous change.
9149
9150 * font.h (Ffont_xlfd_name): EXFUN it.
9151
9152 * font.c (font_parse_xlfd): Fix the array size of `f'.
9153 (register_font_driver): Use EQ to compare driver->type.
9154
9155 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
9156 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
9157 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
9158
91592008-02-01 Kenichi Handa <handa@m17n.org>
9160
9161 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
9162 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
9163
91642008-02-01 Kenichi Handa <handa@m17n.org>
9165
9166 * xfont.c (xfont_open): Set font->format.
9167
9168 * xftfont.c (xftfont_open): Set font->format.
9169
9170 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
9171 (ftfont_list): Include FC_FONTFORMAT in FcObject.
9172 (ftfont_open): Set font->format.
9173 (ftfont_font_format): New function.
9174
9175 * font.h (struct font): New member format.
9176
9177 * font.c (Qopentype): New variable.
9178 (syms_of_font): Defsym it.
9179 (Fquery_font): Change the format of the last element of the return
9180 value.
9181
91822008-02-01 Kenichi Handa <handa@m17n.org>
9183
9184 * xfns.c (xic_create_xfontset): Try the default fontset name as a
9185 last resort.
9186
91872008-02-01 Kenichi Handa <handa@m17n.org>
9188
9189 * coding.c (detect_coding_charset): Fix detection of multi-byte
9190 charset.
9191
91922008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
9193
9194 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
9195
91962008-02-01 Kenichi Handa <handa@m17n.org>
9197
9198 * xdisp.c (get_next_display_element): Set it->face_id for the
9199 first component of a composition.
9200 (x_produce_glyphs): Check if the font is changed or not for composition.
9201
92022008-02-01 Kenichi Handa <handa@m17n.org>
9203
9204 * fontset.c (Qlatin): New variable.
9205 (syms_of_fontset): Define it as a lisp symbol.
9206 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
9207
92082008-02-01 Kenichi Handa <handa@m17n.org>
9209
9210 * font.c (font_unparse_fcname): Pay attention to the case that
9211 some of font property is a null string.
9212
92132008-02-01 Kenichi Handa <handa@m17n.org>
9214
9215 * term.c: Include "composite.h".
9216 (encode_terminal_code): Output all components of composition.
9217 Check the size of encode_terminal_src.
9218 (produce_glyphs): For composition, call produce_composite_glyph.
9219 (append_composite_glyph, produce_composite_glyph): New functions.
9220
9221 * xdisp.c (x_produce_glyphs): In handling composition, if a font
9222 is not found, get font_info from the current ascii face.
9223
92242008-02-01 Kenichi Handa <handa@m17n.org>
9225
9226 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
9227 buffer-file-name to Qnil before calling insert_from_buffer.
9228
9229 * font.c (font_unparse_fcname): Pay attention to the case that
9230 foundry is a null string.
9231
92322008-02-01 Kenichi Handa <handa@m17n.org>
9233
9234 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
9235
9236 * font.c (Qunicode_sip): New variable.
9237 (syms_of_font): Declare it as a Lisp symbol.
9238
9239 * font.h (Qunicode_sip): Extern it.
9240
92412008-02-01 Kenichi Handa <handa@m17n.org>
9242
9243 * composite.c (get_composition_id): Pay attention to TAB component.
9244
9245 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
9246 TAB. Adjust for the change of s->char2b which always points to
9247 the first element of allocated memory.
9248
9249 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
9250
9251 * xdisp.c (handle_composition_prop): Set it->c to the first
9252 non-TAB component.
9253 (fill_composite_glyph_string): Change argument.
9254 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
9255 (x_produce_glyphs): Fix handling of left/right padding.
9256
92572008-02-01 Kenichi Handa <handa@m17n.org>
9258
9259 * coding.c (detect_coding_system): Fix for handling off
9260 inhibit_iso_escape_detection. Fix for the case that no coding
9261 system is defined for a specific coding category.
9262
92632008-02-01 Kenichi Handa <handa@m17n.org>
9264
9265 * font.c (font_matching_entity): Delete unused local var.
9266
9267 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
9268 opening a font.
9269
9270 * fileio.c (Finsert_file_contents): On recovering a file, assume
9271 Unix-like eol.
9272 (choose_write_coding_system): On auto-saving a file, force
9273 Unix-like eol.
9274
9275 * coding.c (setup_coding_system): Fix setting of
9276 coding->common_flags based on eol_type.
9277 (coding_inherit_eol_type): If PARENT is not nil, be sure to
9278 inherit from it.
9279
92802008-02-01 Kenichi Handa <handa@m17n.org>
9281
9282 * alloc.c (NSTATICS): Increas to 0x600.
9283
92842008-02-01 Kenichi Handa <handa@m17n.org>
9285
9286 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
9287 (ftfont_list): Don't check :name property.
9288 (ftfont_match): New function.
9289 (ftfont_pattern_entity): If the pattern doesn't contain
9290 FC_SPACING, don't assume FC_MONO.
9291
9292 * font.h (struct font_driver): New member `match'.
9293 (font_update_drivers): Adjust prototype.
9294
9295 * font.c (font_parse_fcname, font_parse_name): Don't change :name
9296 property of FONT.
9297 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
9298 them unconditionally.
9299 (font_matching_entity): New function.
9300 (font_open_by_name): Try font_matching_entity if exact match is
9301 not found.
9302 (font_update_drivers): Delete the arg FONT. Return a list of
9303 actually used backends. Don't free faces, font caches here.
9304 Don't store data in frame parameters. Don't call x_set_font.
9305 (Ffont_spec): Store :name property as is.
9306 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
9307 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
9308 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
9309 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
9310 Call font->driver->otf_gsub instead of font_otf_gsub.
9311
9312 * frame.c (x_set_font_backend): Do more works that were done in
9313 font_update_drivers before.
9314
9315 * xfont.c (xfont_match): New function.
9316 (xfont_driver): Set xfont_driver.match to xfont_match.
9317 (xfont_draw): Set font in GC if necessary.
9318
9319 * ftxfont.c (ftxfont_match): New function.
9320 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
9321
9322 * xftfont.c (xftfont_match): New function.
9323 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
9324
93252008-02-01 Kenichi Handa <handa@m17n.org>
9326
9327 * font.h (struct font): New member scalable.
9328 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
9329 (font_otf_gsub): Adjust prototype.
9330
9331 * font.c (font_otf_capability): Fix handling of the default langsys.
9332 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
9333 Check the contents of SPEC.
9334 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
9335 (check_gstring): New function.
9336 (REPLACEMENT_CHARACTER): New macro.
9337 (font_otf_gsub): New arg alternate_subst. Be sure to set all
9338 glyph codes of GSTRING.
9339 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
9340 (font_prepare_composition): Set cmp->glyph_len.
9341 (font_open_entity): Set font->scalable.
9342 (Ffont_get): Handle :otf property.
9343 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
9344 functions.
9345 (Fquery_font): Use font->font.full_name.
9346 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
9347 Sfont_otf_alternates.
9348
9349 * ftfont.c (ftfont_open): Set font->font.full_name and
9350 font->font.name properly. Fix calculation of font->font.height
9351 and font->min_width.
9352
9353 * ftxfont.c (ftxfont_create_gcs): New function.
9354 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
9355 (ftxfont_draw_backgrond): Fix filling region.
9356 (ftxfont_default_fid): New function.
9357 (ftxfont_open): Set xfont->fid to the return value of
9358 ftxfont_default_fid.
9359 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
9360 (ftxfont_done_face): Free only GCs that are created by
9361 ftxfont_create_gcs.
9362 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
9363
9364 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
9365 Clip to src->width, etc (not src->clip_XXX).
9366
9367 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
9368 FontBackend frame parameter.
9369
93702008-02-01 Kenichi Handa <handa@m17n.org>
9371
9372 * font.h (struct font_driver_list): New member `on'.
9373 (Fclear_font_cache): EXFUN it.
9374 (font_update_drivers): Extern it.
9375
9376 * font.c (font_unparse_fcname): Fix typo (swidth->width).
9377 (font_list_entities): Check driver_list->on.
9378 (register_font_driver): Initalize `on' member to 0.
9379 (font_update_drivers): New function.
9380 (Fclear_font_cache): Check driver_list->on.
9381
9382 * frame.h (Qfont_backend): Extern it.
9383 (x_set_font_backend): Extern it.
9384
9385 * frame.c (Qfont_backend): New variable.
9386 (frame_parms): New element for font-backend.
9387 (x_set_font_backend): New function.
9388
9389 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
9390 FontBackend frame parameter.
9391 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
9392 x_set_font_backend.
9393
9394 * xfont.c (xfont_list): Don't try listing by :name property if the
9395 name is not for XLFD.
9396
93972008-02-01 Kenichi Handa <handa@m17n.org>
9398
9399 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
9400 (LGLYPH_SET_TO): New macros.
9401 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
9402 element of G is vector or not.
9403 (font_at): Extern it.
9404
9405 * font.c: Include window.h.
9406 (font_lispy_object): New function.
9407 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
9408 end of valid glyph.
9409 (font_close_object): Fix getting (struct font *).
9410 (font_at): New function.
9411 (Ffont_get): If FONT is a font-object, get entity from it.
9412 (Ffont_make_gstring): Initialize elements of glyphs with nil.
9413 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
9414 range check.
9415 (Ffont_at): New function.
9416 (syms_of_font): Defsubr Sfont_at.
9417
9418 * xdisp.c (it_props): Move the entry for Qauto_composed to just
9419 before the entry for Qcomposition.
9420 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
9421 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
9422 the font in gstring.
9423 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
9424 LGLYPH_FORM (g) to detect the end of valid glyph.
9425 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
9426 we are composing with gstring.
9427
9428 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
9429 Check if adjustment is vector or not.
9430
9431 * Makefile.in (font.o): Make it depends on window.h.
9432
94332008-02-01 Kenichi Handa <handa@m17n.org>
9434
9435 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
9436 adjustment is vector or not.
9437
94382008-02-01 Miles Bader <miles@gnu.org>
9439
9440 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
9441
94422008-02-01 Kenichi Handa <handa@m17n.org>
9443
9444 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
9445 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
9446 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
9447
9448 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
9449 (DEVICE_DELTA): Fix typo.
9450 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
9451 LGLYPH format.
9452
9453 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
9454 the change of LGLYPH format.
9455
94562008-02-01 Kenichi Handa <handa@m17n.org>
9457
9458 * ftfont.c (ftfont_list): Fix typo.
9459 (ftfont_build_basic_charsets): Don't include letters with diacritics.
9460
94612008-02-01 Jan Djärv <jan.h.d@swipnet.se>
9462
9463 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
9464
9465 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
9466 xftface_info is non-NULL.
9467
94682008-02-01 Jan Djärv <jan.h.d@swipnet.se>
9469
9470 * ftfont.c (ftfont_list): Move misplaced #endif.
9471
94722008-02-01 Kenichi Handa <handa@m17n.org>
9473
9474 * ftfont.c (ftfont_list): Pay attention to the case that
9475 FC_CAPABILITY is not defined.
9476
94772008-02-01 Kenichi Handa <handa@m17n.org>
9478
9479 * xftfont.c (xftfont_open): Set charset related members to -1.
9480
9481 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
9482 QCname.
9483 (ftfont_open): Set charset related members to -1.
9484
9485 * fontset.c (Votf_script_alist): New variable.
9486 (syms_of_fontset): Initialize it.
9487 (fontset_font): Delete unused variable.
9488
9489 * fontset.h (Votf_script_alist): Extern it.
9490
9491 * font.c (font_find_for_lface): Optimize code.
9492
9493 * font.h (font_close_object, font_merge_old_spec): Extern them.
9494
94952008-02-01 Kenichi Handa <handa@m17n.org>
9496
9497 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
9498 (syms_of_font): Initialize them.
9499 (font_pixel_size): Allow float value in dpi.
9500 (font_prop_validate_type): Delete.
9501 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
9502 Change caller.
9503 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
9504 (font_prop_validate_extra): Delete.
9505 (font_prop_validate_spacing): New function.
9506 (font_property_table): Add elements for all known properties.
9507 (get_font_prop_index): Rename from check_font_prop_name. New
9508 argument FROM. Change caller.
9509 (font_prop_validate): Validate all known properties.
9510 (font_put_extra): Delete argument force. Change caller.
9511 (font_expand_wildcards): Make it static. Fix the way of shrinking
9512 the possible range.
9513 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
9514 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
9515 Change caller.
9516 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
9517 (font_parse_fcname): Delete argument merge. Fix parsing of point
9518 size. Don't validate properties values here. Change caller.
9519 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
9520 (font_open_by_name): Delete unused variable.
9521 (Ffont_spec): Likewise. Validate property values.
9522 (Ffont_match_p): New function.
9523
9524 * font.h (QCscalable): Extern it.
9525 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
9526
9527 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
9528
9529 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
9530 (xfont_list_pattern): New function.
9531 (xfont_list): Use xfont_list_pattern.
9532
95332008-02-01 Kenichi Handa <handa@m17n.org>
9534
9535 * font.h (Flist_fonts): EXFUN it.
9536
95372008-02-01 Jason Rumney <jasonr@gnu.org>
9538
9539 * w32term.c (w32_initialize): Add back smoothing_type and
9540 smoothing_enabled definitions.
9541
95422008-02-01 Kenichi Handa <handa@m17n.org>
9543
9544 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
9545 s->face->font on determining underline position.
9546
95472008-02-01 Kenichi Handa <handa@m17n.org>
9548
9549 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
9550 (font_has_char): Accept font-object too.
9551 (font_find_for_lface): Try at first with a size specified in face.
9552
95532008-02-01 Kenichi Handa <handa@m17n.org>
9554
9555 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
9556 font_open_by_name.
9557
95582008-02-01 Kenichi Handa <handa@m17n.org>
9559
9560 * font.h (QCspacing, QCdpi): Extern them.
9561 (enum font_spacing): New enum.
9562 (FONT_PIXEL_SIZE_QUANTUM): New macro.
9563
9564 * font.c (POINT_TO_PIXEL): Don't divide POINT by 10.
9565 (QCspacing, QCdpi): New variables.
9566 (syms_of_font): Initialize them.
9567 (font_pixel_size): New function.
9568 (font_put_extra): New function.
9569 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
9570 in FONT_EXTRA.
9571 (font_parse_fcname): Handle enumerated values (e.g. bold).
9572 Fix handling font size. Add QCname property that contains only
9573 unknown properties.
9574 (font_score): Change argument. Change caller. Pay attention to
9575 FONT_PIXEL_SIZE_QUANTUM.
9576 (font_sort_entites, font_list_entities, font_find_for_lface)
9577 (font_open_for_lface, font_open_by_name): Fix handling of font size.
9578 (Ffont_spec): Add QCname property that contains only unknown properties.
9579
9580 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
9581 include weight in listing pattern, instead check weight of each
9582 listed font. Don't include scalable in pattern. Pay attention to
9583 FONT_PIXEL_SIZE_QUANTUM.
9584
95852008-02-01 Kenichi Handa <handa@m17n.org>
9586
9587 * font.c (font_parse_fcname): Fix parsing of point-size.
9588 (font_unparse_fcname): Produce symbolic names for style properties.
9589 (font_list_entities): Handle float size correctly.
9590 (font_open_by_name): Prefer `normal' property values if the name
9591 doesn't specify them.
9592
9593 * fontset.c (Finternal_char_font): Use font_get_name, not
9594 Ffont_xlfd_name.
9595
9596 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
9597 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
9598 pattern. Don't force scalable.
9599
9600 * xftfont.c (xftfont_open): For generating a name, start from
9601 96-byte buffer.
9602
96032008-02-01 Jan Djärv <jan.h.d@swipnet.se>
9604
9605 * frame.h (x_new_fontset2): Fix prototype.
9606
96072008-02-01 Kenichi Handa <handa@m17n.org>
9608
9609 * font.h (struct font_driver): Delete member parse_name.
9610 (font_match_p, font_get_spec, font_parse_fcname)
9611 (font_unparse_fcname): Extern them.
9612 (font_get_name): Adjust prototype.
9613
9614 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
9615 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
9616 (font_expand_wildcards): Fix handling ENCODING field. Avoid
9617 unnecessary checks for weight, slant, and swidth.
9618 (font_parse_fcname): New function.
9619 (font_unparse_fcname): New function.
9620 (font_parse_name): New function.
9621 (font_match_p): New function.
9622 (font_get_name): Change return value to Lisp string.
9623 (font_get_spec): New function.
9624 (Qunspecified, Qignore_defface): Don't extern them.
9625 (font_find_for_lface): Assume that LFACE is fully specified.
9626 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
9627 object, use it for FACE.
9628 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
9629 driver->parse_name.
9630 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
9631
9632 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
9633 prototype.
9634
9635 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
9636 argument F. Don't call Fnew_fontset. Instead, directly call
9637 make_fontset.
9638
9639 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
9640
9641 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
9642 of x_new_fontset2.
9643
9644 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
9645 (Qsans__serif): New variables.
9646 (ftfont_generic_family_list): New variable.
9647 (syms_of_ftfont): Initialize the above variables.
9648 (ftfont_pattern_entity): Delete argument NAME.
9649 (ftfont_list_generic_family): New function.
9650 (ftfont_parse_name): Delete this function.
9651 (ftfont_list): Try generic family only when FcFontList found no font.
9652 (ftfont_list_family): Fix args to FcObjectSetBuild.
9653
9654 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
9655 object in attrs[LFACE_FONT_INDEX].
9656 (set_lface_from_font_name): Cancel all changes for font-backend.
9657 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
9658 function.
9659 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
9660 font object in QCfont attribute.
9661 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
9662 (realize_default_face) [USE_FONT_BACKEND]: Call
9663 set_lface_from_font_and_fontset.
9664
9665 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
9666 "fixed", and signal error here if no suitable font was found.
9667
9668 * xfont.c (xfont_parse_name): Delete this function.
9669
9670 * xftfont.c (xftfont_open): Change coding style of error
9671 handling. Generate fontconfig's fontname pattern.
9672
9673 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
9674 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
9675
9676 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
9677 Both args FONTSET and FONT_OBJECT must be existing ones.
9678
96792008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9680
9681 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
9682
96832008-02-01 Kenichi Handa <handa@m17n.org>
9684
9685 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
9686
9687 * font.h (struct font): Fix typo.
9688
9689 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
9690 XLFD_XXX_INDEX.
9691 (enum xlfd_field_mask): New enum.
9692 (intern_font_field): Changed argument. Change caller. If digits
9693 are followed by non-digits, return a symbol.
9694 (font_expand_wildcards): New function.
9695 (font_parse_xlfd): Fix wildcard handling.
9696 (Ffont_spec): If :name is specified, reflect the info in the other
9697 properties.
9698
9699 * ftfont.c (ftfont_pattern_entity): Fix typo.
9700 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
9701 locale.
9702
97032008-02-01 Kenichi Handa <handa@m17n.org>
9704
9705 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
9706
9707 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
9708 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
9709 registry doesn't specify encoding part.
9710 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
9711 (font_open_by_name): At first try parsing the name.
9712 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
9713 as Lisp symbols.
9714
9715 * fontset.c (reorder_font_vector): Pay attention to the case that
9716 the 3rd element of font_def is nil.
9717 (fontset_font): For the default fontset, append one more fontset
9718 elements for a script-based font specification. Don't add script
9719 attribute on finding a font.
9720 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
9721 font name.
9722 (fontset_ascii_font): If a font can't be opened, return nil.
9723
9724 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
9725 (ftfont_pattern_entity): New function.
9726 (ftfont_get_cache): Assume that freetype_font_cache is already
9727 initialized.
9728 (ftfont_list): Handle the case that a file is specified in font
9729 name. Use ftfont_pattern_entity to generate entities.
9730 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
9731 (syms_of_ftfont): Initialize freetype_font_cache.
9732
9733 * xftfont.c (xftfont_open): Make the font name fontconfig's
9734 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
9735 (xftfont_close): Free font->font.name if not NULL.
9736
9737 * xfont.c (xfont_list): If script is specified for a font, return
9738 null_vector.
9739 (xfont_list_family): Declare argument type.
9740
9741 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
9742 name, set LFACE_FONT (lface) to nil.
9743
9744 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
9745 return Qnil.
9746
97472008-02-01 Kenichi Handa <handa@m17n.org>
9748
9749 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
9750 (standard_args): Add "-enable-font-backend".
9751
97522008-02-01 Kenichi Handa <handa@m17n.org>
9753
9754 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
9755 (struct xftdraw_list, xftdraw_list): Delete them.
9756 (register_xftdraw, check_xftdraw): Delete them.
9757 (xftfont_prepare_face): Don't call register_xftdraw.
9758 (xftfont_done_face): Don't call check_xftdraw.
9759 (xftfont_draw): Get background color only when with_background is
9760 nonzero.
9761
9762 * xfont.c (xfont_encode_char): Fix calculation of char2b.
9763
97642008-02-01 Kenichi Handa <handa@m17n.org>
9765
9766 These changes are for the new font handling codes.
9767
9768 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
9769 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
9770 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
9771 (FONTSRC, FONTOBJ): New variables.
9772 (obj): Add $(FONTOBJ).
9773 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
9774 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
9775 @LIBOTF_LIBS@.
9776 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
9777 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
9778
9779 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
9780
9781 * character.h (Vscript_representative_chars): Extern it.
9782
9783 * character.c (Vscript_representative_chars): New variable.
9784 (syms_of_character): Declare it as a Lisp variable.
9785
9786 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
9787 enable_font_backend is nonzero, accept the composition method
9788 COMPOSITION_WITH_GLYPH_STRING.
9789
9790 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
9791 enumeration COMPOSITION_WITH_GLYPH_STRING.
9792
9793 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
9794 members clip_x, clip_y, clip_width, and clip_height.
9795 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
9796
9797 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
9798 --enable-font-backend. Call syms_of_font.
9799
9800 * fns.c (assoc_no_quit): New function.
9801
9802 * fontset.h (FONT_INFO_FROM_FACE): New macro.
9803 (face_for_font, new_fontset_from_font)
9804 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
9805
9806 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
9807 (fontset_font, fontset_ascii, face_for_char)
9808 (make_fontset_for_ascii_face, Ffont_info)
9809 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
9810 is nonzero, use font-backend mechanism.
9811 (find_font_encoding): Make it non-static.
9812 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
9813 New functions.
9814
9815 * frame.h (struct frame): New members resx and resy.
9816 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
9817 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
9818
9819 * frame.c [USE_FONT_BACKEND]: Include "font.h".
9820 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
9821
9822 * lisp.h (assoc_no_quit): Extern it.
9823
9824 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
9825 Through out the file, use FONT_INFO_FROM_FACE instead of
9826 FONT_INFO_FROM_ID, use get_per_char_metric instead of
9827 rif->per_char_metric.
9828 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
9829 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
9830 (get_glyph_face_and_encoding, fill_composite_glyph_string)
9831 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
9832 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
9833 nonzero, use font-backend mechanism.
9834 (get_per_char_metric): New function.
9835
9836 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
9837 (set_lface_from_font_name)
9838 (set_font_frame_param, free_realized_face)
9839 (prepare_face_for_display, clear_face_gcs)
9840 (Finternal_set_font_selection_order, realize_x_face)
9841 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
9842 font-backend mechanism.
9843 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
9844 (load_face_font) [USE_FONT_BACKEND]: Abort.
9845 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
9846 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
9847
9848 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
9849 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
9850 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
9851 nonzero, register all available font drivers. Call
9852 x_default_font_parameter for deciding a font.
9853 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
9854
9855 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
9856 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
9857 (x_set_glyph_string_clipping_exactly)
9858 (x_compute_glyph_string_overhangs)
9859 (x_draw_glyph_string_foreground)
9860 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
9861 (x_free_frame_resources) [USE_FONT_BACKEND]: If
9862 enable_font_backend is nonzero, use font-backend mechanism.
9863 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
9864
98652008-02-01 Kenichi Handa <handa@m17n.org>
9866
9867 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
9868 system_eol_type.
9869 (syms_of_coding): Initialize system_eol_type.
9870
9871 * process.c (Fset_process_coding_system): Inherit system's eol
9872 format if necessary.
9873
98742008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9875
9876 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
9877
98782008-02-01 Kenichi Handa <handa@m17n.org>
9879
9880 * coding.c (decode_eol): Pay attention to buffer relocation in
9881 del_range_2.
9882 (decode_coding): Call decode_eol before restoring undo_list.
9883
98842008-02-01 Kenichi Handa <handa@m17n.org>
9885
9886 * charset.c (Fdefine_charset_internal): Fix setting of
9887 emacs_mule_bytes.
9888
98892008-02-01 Kenichi Handa <handa@m17n.org>
9890
9891 * keyboard.c (read_char): Check if C is a character or not before
9892 looking up Vkeyboard_translate_table.
9893
98942008-02-01 Kenichi Handa <handa@m17n.org>
9895
9896 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
9897 condition to terminate the loop.
9898
98992008-02-01 Kenichi Handa <handa@m17n.org>
9900
9901 * coding.c (produce_composition): Compare charbuf[i] instead of
9902 args[i] against 0.
9903 (Fterminal_coding_system): Use EQ to compare Lisp objects.
9904
99052008-02-01 Kenichi Handa <handa@m17n.org>
9906
9907 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
9908 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
9909 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
9910 detect_coding.
9911 (emacs_mule_char): Handle old style (Emacs 20) component character
9912 of a composition.
9913 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
9914 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
9915 composition rule.
9916 (decode_coding_emacs_mule): Handle invalid bytes correctly.
9917
99182008-02-01 Kenichi Handa <handa@m17n.org>
9919
9920 * coding.c (encode_coding_ccl): Allocate destination dynamically
9921 when necessary.
9922
99232008-02-01 Kenichi Handa <handa@m17n.org>
9924
9925 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
9926 the loop. When quitted, show a proper error message.
9927
99282008-02-01 Kenichi Handa <handa@m17n.org>
9929
9930 * xterm.c (x_set_glyph_string_clipping_exactly): Set
9931 src->clip_head and src->clip_tail temporarily instead of src->hl.
9932
9933 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
9934 character sequence.
9935 (Fccl_execute_on_string): Use ASET, not XSET.
9936
99372008-02-01 Kenichi Handa <handa@m17n.org>
9938
9939 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
9940
99412008-02-01 Kenichi Handa <handa@m17n.org>
9942
9943 * coding.c (decode_coding): Fix the condition of terminating the
9944 decoding loop.
9945
99462008-02-01 Kenichi Handa <handa@m17n.org>
9947
9948 * data.c (Faset): On setting a character bigger than 255 in a
9949 unibyte string, signal an error instead of make the string multibyte.
9950
99512008-02-01 Kenichi Handa <handa@m17n.org>
9952
9953 * charset.c (map_charset_chars): Fix for ascii-compatible charset
9954 made by a mapping table.
9955
99562008-02-01 Kenichi Handa <handa@m17n.org>
9957
9958 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
9959 not.
9960 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
9961 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
9962
9963 * xterm.c (x_draw_composite_glyph_string_foreground): Check
9964 s->face is NULL or not.
9965
99662008-02-01 Kenichi Handa <handa@m17n.org>
9967
9968 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
9969 (x_draw_glyph_string): Fix drawing of right_overhang and
9970 left_overhang around/on cursor.
9971
9972 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
9973
99742008-02-01 Kenichi Handa <handa@m17n.org>
9975
9976 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
9977
99782008-02-01 Kenichi Handa <handa@m17n.org>
9979
9980 * coding.c (Fdefine_coding_system_internal)
9981 (Fdefine_coding_system_alias): Avoid a duplicated element in
9982 Vcoding_system_alist.
9983
99842008-02-01 Kenichi Handa <handa@m17n.org>
9985
9986 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
9987
9988 * coding.c (Qcoding_system_define_form): New variable.
9989 (syms_of_coding): Intern and staticpro it.
9990 (Fcoding_system_p): Check Qcoding_system_define_form.
9991 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
9992
9993 * coding.h (CODING_SYSTEM_P): If ID is not available, call
9994 Fcoding_system_p.
9995 (CHECK_CODING_SYSTEM): If ID is not available, call
9996 Fcheck_coding_system.
9997 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
9998 Try also Fcheck_coding_system.
9999
100002008-02-01 Kenichi Handa <handa@m17n.org>
10001
10002 * coding.c (code_conversion_restore): GCPRO arg.
10003
100042008-02-01 Kenichi Handa <handa@m17n.org>
10005
10006 * character.c (lisp_string_width): Check multibyteness of STRING.
10007
100082008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10009
10010 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
10011 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
10012 (decode_mac_font_name): Use decode_coding_c_string instead of
10013 decode_coding.
10014 (x_load_font): Initialize fontp->fontset to -1. Set
10015 fontp->encoding_type.
10016
100172008-02-01 Kenichi Handa <handa@m17n.org>
10018
10019 * search.c (search_buffer): Give up BM search on case-fold-search
10020 if one of a target character has a case-equivalence of different
10021 byte length even if that target charcter is an ASCII.
10022 (simple_search): Fix calculation of byte length of matched text.
10023 (boyer_moore): Fix handling of case-equivalent multibyte characters.
10024
100252008-02-01 Kenichi Handa <handa@m17n.org>
10026
10027 * coding.c (decode_coding): Fix handling of invalid bytes.
10028
100292008-02-01 Kenichi Handa <handa@m17n.org>
10030
10031 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
10032 Unicode characters.
10033
100342008-02-01 Kenichi Handa <handa@m17n.org>
10035
10036 * coding.c (encode_coding_object): If a pre-write-conversion
10037 function makes a new buffer, kill it.
10038
100392008-02-01 Kenichi Handa <handa@m17n.org>
10040
10041 * coding.c (QCascii_compatible_p): New variable.
10042 (syms_of_coding): Initialize it.
10043 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
10044 calling string_char.
10045 (record_conversion_result): Add `default:' case.
10046 (coding_charset_list): Delete unused variable `coding_type'.
10047 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
10048 property in the plist of the coding system.
10049 (Fcoding_system_put): Check QCascii_compatible_p.
10050
100512008-02-01 Miles Bader <miles@gnu.org>
10052
10053 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
10054 removed calculation of frame `f', as it's now used.
10055
100562008-02-01 Kenichi Handa <handa@m17n.org>
10057
10058 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
10059 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
10060 (UNIDATA): New variable.
10061 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
10062 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
10063 $(RUN_TEMACS) unconditionally.
10064
100652008-02-01 Kenichi Handa <handa@m17n.org>
10066
10067 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
10068 (admindir): New variable.
10069 ($(lispsource)international/charprop.el): New target.
10070
100712008-02-01 Miles Bader <miles@gnu.org>
10072
10073 * character.c (chars-in-region): Remove obsolete function.
10074 (syms_of_character): Remove its initialization.
10075
100762008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
10077
10078 * w32select.c (validate_coding_system)
10079 (setup_windows_coding_system): New functions.
10080 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
10081 setup_windows_coding_system.
10082 (setup_config, Fw32_get_clipboard_data): Use
10083 validate_coding_system.
10084 (Fx_selection_exists): Move call to setup_config to a place
10085 where signals are allowed.
10086
10087 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
10088 (Fcheck_coding_system): Add declarations.
10089
100902008-02-01 Kenichi Handa <handa@m17n.org>
10091
10092 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
10093
100942008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10095
10096 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
10097 string as the second argument for x_new_fontset.
10098
100992008-02-01 Kenichi Handa <handa@m17n.org>
10100
10101 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
10102 (encode_coding_object): Use safe_call instead of call2.
10103
101042008-02-01 Kenichi Handa <handa@m17n.org>
10105
10106 * fontset.c (Fset_fontset_font): Check family element of a given vector.
10107
10108 * Makefile.in (lisp): Include charprop.el.
10109
101102008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10111
10112 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
10113 Not sure if it's unnecessary.
10114
101152008-02-01 Steven Tamm <steventamm@mac.com>
10116
10117 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
10118 some possibly unnecessary fontset checking code that crashed
10119 when creating a new frame.
10120
101212008-02-01 Kenichi Handa <handa@m17n.org>
10122
10123 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
10124 lookup_face.
10125
10126 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
10127
10128 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
10129
101302008-02-01 Kenichi Handa <handa@m17n.org>
10131
10132 * coding.c: Cancel the change done in HEAD on 2008-02-01.
10133 (coding_charset_list): New function.
10134
10135 * coding.h (coding_charset_list): Extern it.
10136
101372008-02-01 Kenichi Handa <handa@m17n.org>
10138
10139 * fontset.c (Fset_fontset_font): Call find_font_encoding with
10140 concatenation of family and registry.
10141
101422008-02-01 Kenichi Handa <handa@m17n.org>
10143
10144 * character.h (BYTE8_STRING): Fix typo.
10145
10146 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
10147 string to multibyte (sync to HEAD).
10148
10149 * casefiddle.c (casify_region): Handle changes in byte-length
10150 using replace_range_2 (sync to HEAD).
10151
101522008-02-01 Andreas Schwab <schwab@suse.de>
10153
10154 * chartab.c (map_char_table): GCPRO table and arg.
10155
101562008-02-01 Kenichi Handa <handa@m17n.org>
10157
10158 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
10159 already at limit.
10160
101612008-02-01 Kenichi Handa <handa@m17n.org>
10162
10163 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
10164 instead of fast_c_string_match_ignore_case.
10165 (find_font_encoding): Change argument to Lisp_Object. Use
10166 fast_string_match_ignore_case instead of
10167 fast_c_string_match_ignore_case. Change caller.
10168
101692008-02-01 Kenichi Handa <handa@m17n.org>
10170
10171 * xdisp.c (get_next_display_element): In unibyte case, decide to
10172 display in octal form by checking a character by
10173 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
10174
10175 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
10176
10177 * character.c (unibyte_has_multibyte_table): New variable.
10178
10179 * character.h (unibyte_has_multibyte_table): Extern it.
10180 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
10181
101822008-02-01 Kenichi Handa <handa@m17n.org>
10183
10184 * coding.c (encode_coding_iso_2022): Fix handling of charset
10185 annotation.
10186
101872008-02-01 Kenichi Handa <handa@m17n.org>
10188
10189 * coding.c (setup_coding_system): If coding_system is nil, use
10190 Qundecided.
10191 (Fterminal_coding_system): Return nil if terminal coding system is
10192 `undecided'.
10193 (syms_of_coding): Define coding-system `undecided' here. Setup
10194 terminal_coding as `undecided'.
10195
101962008-02-01 Kenichi Handa <handa@m17n.org>
10197
10198 * xdisp.c (message_dolog, set_message_1): Call
10199 unibyte_char_to_multibyte with arg type int.
10200
10201 * lread.c (read1): Fix reading of a char-table.
10202
10203 * print.c (print_object): Include sub char-table in circularities
10204 detection.
10205
102062008-02-01 Kenichi Handa <handa@m17n.org>
10207
10208 * keymap.c (where_is_internal_2): Fix for the case that KEY is a cons.
10209 Append the found sequences in car of ARGS instead of prepending.
10210
102112008-02-01 Kenichi Handa <handa@m17n.org>
10212
10213 * fileio.c (report_file_error): Make a unibyte string from
10214 strerror (errorno).
10215 (Fsubstitute_in_file_name): Fix the arg to
10216 unibyte_char_to_multibyte. It is evaluated twice.
10217
102182008-02-01 Kenichi Handa <handa@m17n.org>
10219
10220 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
10221
102222008-02-01 Kenichi Handa <handa@m17n.org>
10223
10224 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
10225 BOM is not found.
10226 (detect_coding, detect_coding_system): Optimization for ISO-2022
10227 when no 8-bit data is found.
10228
102292008-02-01 Jason Rumney <jasonr@gnu.org>
10230
10231 * w32fns.c (x_to_w32_font): Update to use new coding struct.
10232
102332008-02-01 Kenichi Handa <handa@m17n.org>
10234
10235 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
10236 CHARS.
10237
102382008-02-01 Steven Tamm <steventamm@mac.com>
10239
10240 * macterm.c (mac_encode_char): Add charset argument and update
10241 to use encoding_type.
10242 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
10243 switch to pure fontset.
10244 (decode_mac_font_name): Temporarily remove decoding.
10245 (x_font_name_to_mac_font_name): Temporarily remove encoding.
10246 (x_load_font): Temporarily remove encoding.
10247
102482008-02-01 Kenichi Handa <handa@m17n.org>
10249
10250 * xfaces.c (Fface_font): If frame is not on a window system,
10251 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
10252 refer to face->font.
10253 (split_font_name_into_vector, build_font_name_from_vector)
10254 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
10255 when HAVE_WINDOW_SYSTEM is defined.
10256
102572008-02-01 Kenichi Handa <handa@m17n.org>
10258
10259 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
10260 (x_produce_glyphs): Fix setting of members of cmp in case
10261 cmp->glyph_len is zero.
10262
10263 * fontset.c (Fset_fontset_font): Fix docstring.
10264 (Ffontset_info): Make it backward compatible. New arg ALL.
10265
102662008-02-01 Kim F. Storm <storm@cua.dk>
10267
10268 * process.c (read_process_output): Grow decoding_buf when needed;
10269 this could cause a crash in allocate_string and compact_small_strings.
10270
102712008-02-01 Kenichi Handa <handa@m17n.org>
10272
10273 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
10274
102752008-02-01 Kenichi Handa <handa@m17n.org>
10276
10277 * coding.c (setup_coding_system): Set coding->common_flags
10278 correctly for raw-text.
10279 (consume_chars): On encoding unibyte text by raw-text, don't check
10280 multibyte form.
10281 (encode_coding): On encoding by raw-text, never use translation tables.
10282
10283 * fileio.c (e_write): Short cut for the case of no encoding.
10284
102852008-02-01 Kenichi Handa <handa@m17n.org>
10286
10287 * coding.c (detect_coding, detect_coding_system): Delete unused
10288 variables.
10289
102902008-02-01 Kenichi Handa <handa@m17n.org>
10291
10292 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
10293 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
10294
102952008-02-01 Kenichi Handa <handa@m17n.org>
10296
10297 * coding.c (Ffind_coding_systems_region_internal): Include
10298 raw-text and no-conversion in the result.
10299
103002008-02-01 Kenichi Handa <handa@m17n.org>
10301
10302 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
10303 (load_font_get_repertory): Delete unnecessary check of ENCODING of
10304 FONT_DEF.
10305 (font_def_arg, add_arg, from_arg, to_arg): New args.
10306 (set_fontset_font): Change argument.
10307 (Fset_fontset_font): Fix for the case that TARGET is a script
10308 name and charset name.
10309 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
10310
103112008-02-01 Kenichi Handa <handa@m17n.org>
10312
10313 * fontset.c (fontset_font): Rename from fontset_face. Change return
10314 value.
10315 (face_suitable_for_char_p, face_for_char): Adjust for the change
10316 of fontset_font.
10317 (make_fontset_for_ascii_face): Fix setting of the fontset element
10318 for ASCII.
10319 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
10320 to get a font name.
10321 (Ffontset_info): Adjust for the change of fontset_font.
10322
10323 * coding.c (emacs_mule_char): Check invalid code more rigidly.
10324
10325 * character.h (LEADING_CODE_LATIN_1_MIN)
10326 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
10327
103282008-02-01 Kenichi Handa <handa@m17n.org>
10329
10330 * editfns.c (check_translation): New function.
10331 (Ftranslate_region_internal): Handle M:N mapping.
10332
103332008-02-01 Kenichi Handa <handa@m17n.org>
10334
10335 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
10336
103372008-02-01 Kenichi Handa <handa@m17n.org>
10338
10339 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
10340 goto invalid_code.
10341 (decode_coding_iso_2022): Fix handling of invalid designation.
10342
10343 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
10344 after calling code_conversion_save.
10345
103462008-02-01 Kenichi Handa <handa@m17n.org>
10347
10348 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
10349
10350 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
10351
10352 * fontset.c: Include "intervals.h".
10353 (fontset_face): Fix comparing of Lisp_Objects.
10354 (free_face_fontset, new_fontset_from_font_name): Fix
10355 Lisp_Object/int mixup.
10356
10357 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
10358
10359 * coding.c: Add many prototypes for static functions.
10360 (get_translation_table): Allow max_lookup to be NULL.
10361 (decode_coding, Ffind_coding_systems_region_internal)
10362 (Funencodable_char_position, Fcheck_coding_systems_region): Call
10363 get_translation_table with max_lookup NULL.
10364
103652008-02-01 Kenichi Handa <handa@m17n.org>
10366
10367 * coding.c (get_translation_table): Declare it as Lisp_Object.
10368 (LOOKUP_TRANSLATION_TABLE): New macro.
10369 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
10370 instead of CHAR_TABLE_REF.
10371
103722008-02-01 Kenichi Handa <handa@m17n.org>
10373
10374 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
10375 annotation data format.
10376 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
10377 Change arguments FROM and TO to single argument NCHARS. Change caller.
10378 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
10379 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
10380 (decode_coding_ccl, decode_coding_charset): Pay attention to
10381 coding->charbuf_used.
10382 (get_translation): New function.
10383 (produce_chars): New arguments translation_table and last_block.
10384 Translate characters here. Return number of carryover chars.
10385 Change caller.
10386 (produce_composition): New argument pos. Change caller.
10387 Adjust for the change of annotation data format.
10388 (produce_charset, produce_annotation): Likewise.
10389 (decode_coding, encode_coding): Don't call translate_chars.
10390 (consume_chars): New arg translation_table. Change caller.
10391 (translate_chars): Delete.
10392 (syms_of_coding): Make translation-table's number of extra slots 2.
10393
103942008-02-01 Kenichi Handa <handa@m17n.org>
10395
10396 * search.c (simple_search): Fix setting this_pos_byte in backward
10397 search.
10398
10399 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
10400 byte sequence.
10401 (detect_coding_ccl): Fix setting of the variable valids.
10402
104032008-02-01 Kenichi Handa <handa@m17n.org>
10404
10405 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
10406
10407 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
10408
10409 * editfns.c (Ftranslate_region_internal): Rename from
10410 Ftranslate_region. Accept a char-table in TABLE.
10411 (syms_of_editfns): Defsubr Stranslate_region_internal.
10412
10413 * xfaces.c (set_lface_from_font_name): If a font is specified for
10414 a frame, generate a fontset from the font.
10415 (build_scalable_font_name): If the scalable font is requested for
10416 a specific size, don't change that size.
10417 (try_font_list): Try a scalable font also in the case that a
10418 pattern string is specified.
10419
104202008-02-01 Kenichi Handa <handa@m17n.org>
10421
10422 * xfaces.c (Fface_font): New optional arg CHARACTER.
10423
104242008-02-01 Kenichi Handa <handa@m17n.org>
10425
10426 * charset.h (CHARSET_OFFSET): New macro.
10427
104282008-02-01 Kenichi Handa <handa@m17n.org>
10429
10430 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
10431
10432 * fontset.c (fontset_face): Handle the case that repertory is a
10433 char-table.
10434 (find_font_encoding): Return nil for unknown encoding.
10435 (Fset_fontset_font): Ignore a font of unknown encoding.
10436
104372008-02-01 Kenichi Handa <handa@m17n.org>
10438
10439 * keymap.c (describe_vector): Handle default value of a char table.
10440
10441 * fontset.c (fontset_face): Handle fallback fonts correctly.
10442 (Ffontset_info): Return infomation about fallback fonts.
10443
104442008-02-01 Kenichi Handa <handa@m17n.org>
10445
10446 * fontset.c (FONTSET_DEFAULT): New macro.
10447 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
10448 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
10449 the case that it is nil.
10450 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
10451 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
10452
10453 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
10454 subset or superset.
10455
104562008-02-01 Kenichi Handa <handa@m17n.org>
10457
10458 * emacs.c (main): Call init_charset after syms_of_XXX.
10459
10460 * charset.c (Vcharset_map_directory): Delete.
10461 (Vcharset_map_path): New variable.
10462 (load_charset_map_from_file): Use Vcharset_map_path instead.
10463 (init_charset): Initialize Vcharset_map_path.
10464 (syms_of_charset): Delete declaration of "charset-map-directory",
10465 add declaration of "charset-map-path".
10466
104672008-02-01 Kenichi Handa <handa@m17n.org>
10468
10469 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
10470 ASCII only string.
10471
10472 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
10473
10474 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
10475 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
10476
104772008-02-01 Kenichi Handa <handa@m17n.org>
10478
10479 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
10480
10481 * coding.c (QCmnemonic, QCdefalut_char)
10482 (QCdecode_translation_table, QCencode_translation_table)
10483 (QCpost_read_conversion, QCpre_write_conversion): New variables.
10484 (get_translation_table): Return a list of translation tables if
10485 necessary.
10486 (decode_coding): Call get_translation_table with ENCODEP 0.
10487 (char_encodable_p): If translation_table is non-nil, always call
10488 translate_char.
10489 (Fdefine_coding_system_internal): Accept list of translation
10490 tables as :encode-translation-table and :decode-translation-table.
10491 (Fcoding_system_put): New function.
10492 (syms_of_coding): Declare new symbols. Defsubr
10493 Scoding_system_put.
10494 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
10495 typically JISX0212.
10496
10497 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
10498 when the charset is superset type.
10499
10500 * character.c (translate_char): Accept list of translation tables.
10501
105022008-02-01 Kenichi Handa <handa@m17n.org>
10503
10504 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
10505 (CODING_ATTR_TRANS_TBL): New macro.
10506
10507 * coding.c (get_translation_table): New function.
10508 (translate_chars): Fix the bug of skipping annotation data.
10509 (decode_coding, encode_coding): Utilize get_translation_table.
10510 (char_encodable_p, Funencodable_char_position): Translate char if
10511 necessary.
10512 (Ffind_coding_systems_region_internal)
10513 (Fcheck_coding_systems_region): Setup translation table for encode
10514 in a coding system attribute vector in advance.
10515 (Fdefine_coding_system_internal): Allow a symbol as translation
10516 table. For shift-jis type coding system, allow 4th charset.
10517
105182008-02-01 Kenichi Handa <handa@m17n.org>
10519
10520 * coding.c (decode_coding_sjis): Check the first byte rigidly.
10521
10522 * xdisp.c (get_next_display_element): Pass -1 as POS to
10523 FACE_FOR_CHAR if displaying a C-string.
10524
105252008-02-01 Kenichi Handa <handa@m17n.org>
10526
10527 * composite.c (get_composition_id): Handle xoff and yoff in a
10528 composition rule.
10529
10530 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
10531 (struct composition): New member lbearing and rbearing.
10532
10533 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
10534 (x_get_glyph_overhangs): Handle a composition glyph.
10535 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
10536
10537 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
10538 composition glyph.
10539
105402008-02-01 Kenichi Handa <handa@m17n.org>
10541
10542 * print.c: Include charset.h.
10543 (Vprint_charset_text_property): New variable.
10544 (Qdefault): Extern it.
10545 (PRINT_STRING_NON_CHARSET_FOUND)
10546 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
10547 (print_check_string_result): New variable.
10548 (print_check_string_charset_prop): New function.
10549 (print_prune_charset_plist): New variable.
10550 (print_prune_string_charset): New function.
10551 (print_object): Call print_prune_string_charset if
10552 Vprint_charset_text_property is not t.
10553 (print_interval): Print nothing if interval->plist is nil.
10554 (syms_of_print): Declare Vprint_charset_text_property as a lisp
10555 variable. Init and staticpro print_prune_charset_plist.
10556
105572008-02-01 Kenichi Handa <handa@m17n.org>
10558
10559 * fontset.c (new_fontset_from_font_name): Use the specified font
10560 for all characters in the new fontset.
10561
10562 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
10563 OBJECT args.
10564
10565 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
10566 OBJECT args for composition too.
10567
10568 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
10569 OBJECT args.
10570
105712008-02-01 Kenichi Handa <handa@m17n.org>
10572
10573 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
10574
10575 * fontset.c (reorder_font_vector): Adjust for the change of
10576 FONT_DEF format.
10577 (fontset_face): New arg id. Change caller.
10578 (face_for_char): New args pos and object.
10579 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
10580 (fs_query_fontset): Check NAME by Fassoc too.
10581 (Fset_fontset_font): Allow non-XLFD font name.
10582 (Ffontset_info): Adjust for the change of FONT_DEF format.
10583
10584 * fontset.h (face_for_char): Adjust prototype.
10585
10586 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
10587 (append_space, extend_face_to_end_of_line)
10588 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
10589 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
10590
10591 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
10592 POS and OBJECT args.
10593
10594 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
10595 POS and OBJECT args.
10596
105972008-02-01 Jason Rumney <jasonr@gnu.org>
10598
10599 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
10600 of GlobalAlloc'ed memory.
10601
106022008-02-01 Kenichi Handa <handa@m17n.org>
10603
10604 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
10605
10606 * charset.h (charset_table_used): Delete extern.
10607
10608 * charset.c (charset_table_used): Make it static.
10609 (map_charset_chars): Fix args to c_function with.
10610
10611 * chartab.c (map_sub_char_table_for_charset): Fix args to
10612 c_function with.
10613
10614 * coding.h (enum coding_result_code): Delete
10615 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
10616
10617 * coding.c (Qinsufficient_source, Qinconsistent_eol)
10618 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
10619 (Vlast_code_conversion_error): New variables.
10620 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
10621 (ONE_MORE_BYTE): Record error if any instead of signaling an
10622 error. If non-ASCII multibyte char is found, return the negative
10623 value of the code. All callers changed to check it.
10624 (ONE_MORE_BYTE_NO_CHECK): Likewise.
10625 (record_conversion_result): New function. Change all codes setting
10626 coding->result to call this function.
10627 (detect_coding_utf_8, decode_coding_utf_8)
10628 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
10629 Don't use the local variable incomplete.
10630 (emacs_mule_char): Change the second arg to `const'.
10631 (decode_coding): Fix of flushing out unprocessed data.
10632 (make_conversion_work_buffer): Fix making of a work buffer.
10633 (decode_coding_object): Return coding->dst_object.
10634
10635 * fontset.c (set_fontset_font): Fix args.
10636
10637 * lisp.h (CHARACTERBITS): Define as 22.
10638
10639 * process.c (send_process): Be sure to set coding->src_multibyte.
10640
10641 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
10642
106432008-02-01 Kenichi Handa <handa@m17n.org>
10644
10645 * xdisp.c (handle_auto_composed_prop): Give limit to
10646 Fnext_single_char_property_change.
10647
106482008-02-01 Kenichi Handa <handa@m17n.org>
10649
10650 * composite.c (syms_of_composite): Don't make the composition hash
10651 table weak.
10652
10653 * fontset.c (Fset_fontset_font): Fix docstring.
10654
10655 * lisp.h (detect_coding_system): Adjust prototype.
10656
10657 * fileio.c (kill_workbuf_unwind): Delete this function.
10658 (Finsert_file_contents): Adjust the call of detect_coding_system.
10659 Get conversion_buffer by code_conversion_save. Use the macro
10660 CODING_MAY_REQUIRE_DECODING. After decoding, update
10661 coding_system.
10662
10663 * coding.h (make_conversion_work_buffer): Delete extern.
10664 (code_conversion_save): Extern it.
10665
10666 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
10667 (CODING_GET_INFO): Delete argument eol_type. Change callers.
10668 (decode_coding_utf_8): Don't do eol converion.
10669 (detect_coding_utf_16): Check coding->src_chars, not
10670 coding->src_bytes. Add heuristics for those that have no signature.
10671 (decode_coding_emacs_mule, decode_coding_iso_2022)
10672 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
10673 Don't do eol converion.
10674 (adjust_coding_eol_type): Return a new coding system.
10675 (detect_coding): Don't detect eol. Fix for utf-16 detection.
10676 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
10677 each change.
10678 (decode_coding): Pay attention to undo_list. Do eol conversion for
10679 all types of coding-systems (if necessary).
10680 (Vcode_conversion_work_buf_list): Delete it.
10681 (Vcode_conversion_reused_workbuf): Rename from
10682 Vcode_conversion_reused_work_buf.
10683 (Vcode_conversion_workbuf_name): New variable.
10684 (reused_workbuf_in_use): New variable.
10685 (make_conversion_work_buffer): Delete the arg DEPTH.
10686 (code_conversion_restore): Change argument to cons.
10687 (code_conversion_save): Delete the argument BUFFER. Change callers.
10688 (detect_coding_system): New argument src_chars. Change callers.
10689 Fix for utf-16 detection.
10690 (init_coding_once): Don't use ISO_carriage_return.
10691 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
10692 reused_workbuf_in_use.
10693
106942008-02-01 Kenichi Handa <handa@m17n.org>
10695
10696 * keymap.c (store_in_keymap): Pay attention to the case that idx
10697 is a cons specifying a character range.
10698
106992008-02-01 Kenichi Handa <handa@m17n.org>
10700
10701 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
10702 HANDLED_RECOMPUTE_PROPS.
10703
10704 * coding.c (Fdefine_coding_system_internal): Fix checking of
10705 ascii compatibility.
10706
107072008-02-01 Kenichi Handa <handa@m17n.org>
10708
10709 * charset.c (find_charsets_in_text): Delete unused locale variable.
10710 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
10711
10712 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
10713 Resync charset_list to Vemacs_mule_charset_list.
10714
10715 * keymap.c (store_in_keymap): Pay attention to the case that idx
10716 is a cons specifying a character range.
10717
107182008-02-01 Kenichi Handa <handa@m17n.org>
10719
10720 * composite.c (update_compositions): Bind inhibit-read-only, etc
10721 to t before calling remove-list-of-text-properties.
10722
10723 * print.c (print_object): Always print ASCII chars as is.
10724
107252008-02-01 Kenichi Handa <handa@m17n.org>
10726
10727 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
10728
10729 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
10730 is a char table.
10731
107322008-02-01 Kenichi Handa <handa@m17n.org>
10733
10734 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
10735
107362008-02-01 Kenichi Handa <handa@m17n.org>
10737
10738 * xfaces.c (set_lface_from_font_name): Fix for the case that
10739 FONTNAME is not fontset name.
10740
107412008-02-01 Kenichi Handa <handa@m17n.org>
10742
10743 * fns.c (base64_encode_1): Fix previous change.
10744
107452008-02-01 Kenichi Handa <handa@m17n.org>
10746
10747 * fontset.c (set_fontset_font): New function.
10748 (Fset_fontset_font): If a font is specified for a charset, use
10749 map_charset_chars to store the font spec in a fontset.
10750
107512008-02-01 Kenichi Handa <handa@m17n.org>
10752
10753 * fontset.c (fontset_face): Create a fallback fontset on demand.
10754 (make_fontset): Don't create a fallback fontset here.
10755 (free_face_fontset): Free a fallback fontset (if any) too.
10756 (n_auto_fontsets): Delete this variable.
10757 (auto_fontset_alist): New variable.
10758 (new_fontset_from_font_name): Check auto_fontset_alist.
10759 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
10760 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
10761 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
10762 Defsubr Sfontset_list_all.
10763
107642008-02-01 Kenichi Handa <handa@m17n.org>
10765
10766 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
10767
107682008-02-01 Kenichi Handa <handa@m17n.org>
10769
10770 * fontset.c (Fnew_fontset): Check NAME more rigidly.
10771
107722008-02-01 Kenichi Handa <handa@m17n.org>
10773
10774 * editfns.c (Fgoto_char): Fix docstring.
10775
107762008-02-01 Kenichi Handa <handa@m17n.org>
10777
10778 * insdel.c (insert_from_gap): Adjust intervals correctly.
10779
107802008-02-01 Jason Rumney <jasonr@gnu.org>
10781
10782 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
10783 (pfnGetFontUnicodeRanges): New dynamically loaded function.
10784 (w32_initialize): Try to load it.
10785 (x_get_font_repertory): Use it if available.
10786 (w32_encode_char): Add shortcut for unicode output.
10787
10788 * w32fns.c (w32_load_system_font): Default charset to -1.
10789 (x_to_w32_charset): Match all fonts for unicode.
10790 (w32_to_x_charset): New parameter matching. Don't return partial
10791 or wildcard charsets.
10792 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
10793 (w32_codepage_for_font): Return CP_UNICODE for unicode.
10794 (w32_to_x_font): Match charset to real charset.
10795 (enum_font_cb2): Always list unicode versions.
10796
10797 * makefile.w32-in (temacs): Increase EMHEAP.
10798
107992008-02-01 Jason Rumney <jasonr@gnu.org>
10800
10801 * w32term.c (w32_encode_char): New charset parameter.
10802 font_info.encoding becomes encoding_type.
10803 (x_get_font_repertory): New function. Warning: stub only!
10804 (x_new_font): Return quickly if font already set.
10805 (x_new_fontset): fontsetname parameter is Lisp_Object.
10806 Use new fs_query_fontset. Try new_fontset_from_font_name.
10807 Use fontset_name for return value.
10808
10809 * w32term.h: Declare x_get_font_repertory.
10810
10811 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
10812 place of find_charset_in_text. Use encode_coding_object in place
10813 of encode_coding.
10814 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
10815 decode_coding.
10816
10817 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
10818 of x_new_fontset.
10819 (w32_load_system_font): Initialize charset as unicode.
10820 font_info.encoding becomes encoding_type.
10821 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
10822 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
10823 (syms_of_w32fns): Set get_font_repertory_func.
10824
10825 * w32console.c: Include character.h. Use terminal_encode_buffer
10826 from term.c.
10827 (write_glyphs): Use new version of encode_terminal_code. Use
10828 encode_coding_object in place of encode_coding.
10829
10830 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
10831 encoding becomes encoding_type.
10832
10833 * term.c (terminal_encode_buffer): Make externally visible.
10834
10835 * makefile.w32-in: Add character.h dependancies.
10836 (character.o, chartab.o): New targets.
10837
108382008-02-01 Kenichi Handa <handa@m17n.org>
10839
10840 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
10841 CODING_ID_EOL_TYPE.
10842
108432008-02-01 Andreas Schwab <schwab@suse.de>
10844
10845 * coding.c (produce_chars): Revert last change.
10846
108472008-02-01 Kenichi Handa <handa@m17n.org>
10848
10849 * charset.h (charset_unicode): Extern it.
10850
10851 * charset.c (string_xstring_p): Check by (C >= 0x100).
10852 (find_charsets_in_text): Change format of the arc CHARSETS. New
10853 arg MULTIBYTE.
10854 (Ffind_charset_region, Ffind_charset_string): Adjust for the
10855 change of find_charsets_in_text.
10856 (Fsplit_char): Fix doc. Never return unknown.
10857
10858 * chartab.c (char_table_translate): Use CHARACTERP, not INTEGERP.
10859
10860 * coding.c (Fdefine_coding_system_alias): Update
10861 Vcoding_system_list.
10862
10863 * fontset.c (load_font_get_repertory): Pay attention to the case
10864 that ENCODING of a font is specified by a char-table.
10865
10866 * xterm.c (x_get_font_repertory): Handle the case that the
10867 encoding of font is other than Unicode.
10868
108692008-02-01 Kenichi Handa <handa@m17n.org>
10870
10871 * term.c (encode_terminal_code): Don't handle glyph-table. Check
10872 if a character is encodable by the terminal coding system. If
10873 not, produces proper number of `?'s. Update
10874 terminal_encode_buffer and terminal_encode_buf_size if necessary.
10875 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
10876
108772008-02-01 Kenichi Handa <handa@m17n.org>
10878
10879 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
10880 variables.
10881 (encode_terminal_code): Change argument. Encode multiple
10882 characters at once. Store the result of encoding in
10883 terminal_encode_buffer.
10884 (write_glyphs, insert_glyphs): Adjust for the change of
10885 encode_terminal_code.
10886 (term_init): Initialize terminal_encode_buffer and
10887 terminal_encode_buf_size.
10888
10889 * coding.c (consume_chars): If coding->src_object is nil, don't
10890 check annotation.
10891
108922008-02-01 Kenichi Handa <handa@m17n.org>
10893
10894 * character.c (char_string): Use ASCII_CHAR_P instead of
10895 SINGLE_BYTE_CHAR_P.
10896
108972008-02-01 Kenichi Handa <handa@m17n.org>
10898
10899 * xdisp.c (handle_auto_composed_prop): Check if the last
10900 characters of auto-composed region is newly composed with the
10901 following characters.
10902 (handle_composition_prop): Fix checking of point being inside
10903 composition.
10904
109052008-02-01 Kenichi Handa <handa@m17n.org>
10906
10907 * fns.c (concat): Don't change multibyteness of the result by
10908 concatenating an 8-bit character.
10909
10910 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
10911 multibyteness of the result when newelt is an 8-bit character.
10912
109132008-02-01 Dave Love <fx@gnu.org>
10914
10915 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
10916 EMACS_INT.
10917
10918 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
10919
10920 * xfaces.c (face_numeric_value): Declare dim size_t.
10921 (Finternal_lisp_face_equal_p): Remove unused f.
10922
10923 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
10924 (MATRIX_ROW): Remove unused vars.
10925 (draw_glyphs, x_insert_glyphs, fast_find_position)
10926 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
10927 byte/char counts.
10928
10929 * regex.c (regex_compile): Remove unused var.
10930
10931 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
10932
10933 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
10934 (Faccessible_keymaps, where_is_internal): Remove unused vars.
10935
10936 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
10937
10938 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
10939
10940 * fileio.c (Fwrite_region): Remove unused var.
10941
10942 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
10943 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
10944
10945 * composite.c (Fremove_list_of_text_properties): Declare.
10946
10947 * coding.c (inhibit_pre_post_conversion): Remove (unused).
10948 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
10949 (coding_inherit_eol_type): Remove unused attrs.
10950 (detect_coding): Cast arg of detect_eol.
10951
10952 * charset.c (syms_of_charset): Remove unused var p.
10953 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
10954 byte/char counts.
10955
10956 * casetab.c (set_case_table): Remove unused var.
10957
10958 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
10959 unused vars.
10960
109612008-02-01 Dave Love <fx@gnu.org>
10962
10963 * xterm.c (x_bitmap_mask): Declare.
10964
109652008-02-01 Dave Love <fx@gnu.org>
10966
10967 * xterm.c (x_term_init): Fix type error.
10968
10969 * lisp.h: Add Funibyte_char_to_multibyte.
10970
10971 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
10972 (Fset_coding_system_priority): Doc fix.
10973
10974 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
10975
10976 * indent.c (check_composition): Make start and end EMACS_INT.
10977
10978 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
10979
10980 * xdisp.c (handle_composition_prop, check_point_in_composition):
10981 Make buffer positions EMACS_INT.
10982
10983 * composite.c (find_composition, run_composition_function)
10984 (update_compositions, Ffind_composition_internal): Make buffer
10985 positions EMACS_INT.
10986
10987 * composite.h (find_composition, update_compositions): Make
10988 position args EMACS_INT.
10989
10990 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
10991
10992 * intervals.c (get_property_and_range):
10993 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
10994
10995 * unexalpha.c: Don't include varargs.h.
10996
109972008-02-01 Dave Love <fx@gnu.org>
10998
10999 * coding.h (ENCODE_UTF_8): New.
11000
11001 * Makefile.in (gtkutil.o): Depend on coding.h.
11002
11003 * coding.c (Fset_coding_system_priority): Doc fix.
11004
110052008-02-01 Kenichi Handa <handa@m17n.org>
11006
11007 * fileio.c (Finsert_file_contents): Call setup_coding_system in
11008 the case of auto saving.
11009
110102008-02-01 Andreas Schwab <schwab@suse.de>
11011
11012 * chartab.c (map_char_table, map_char_table_for_charset): Protect
11013 `range' from GC.
11014
110152008-02-01 Kenichi Handa <handa@m17n.org>
11016
11017 * coding.c (decode_coding_sjis): Check bytes more rigidly.
11018
110192008-02-01 Kenichi Handa <handa@m17n.org>
11020
11021 * fileio.c (choose_write_coding_system): Return a decided coding system.
11022 (Fwrite_region): Set Vlast_coding_system_used to the return value
11023 of choose_write_coding_system.
11024
110252008-02-01 Kenichi Handa <handa@m17n.org>
11026
11027 * charset.c (Fset_charset_priority): Pay attention to duplicated
11028 arguments.
11029
11030 * coding.c (QCcategory): New variable.
11031 (syms_of_coding): Defsym it. Set all elements of
11032 Vcoding_category_table and their symbol values.
11033 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
11034 coding-category-XXX, and coding-category-list.
11035 (Fdefine_coding_system_internal): Add category in the plist.
11036
110372008-02-01 Kenichi Handa <handa@m17n.org>
11038
11039 * callproc.c (Fcall_process): Handle carryover correctly.
11040
11041 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
11042 (raw_text_coding_system): Check NILP (coding_system).
11043 (coding_inherit_eol_type): Check NILP (coding_system) and
11044 NILP (parent).
11045 (consume_chars): Fix for the case of raw-text.
11046
11047 * process.c (read_process_output): Handle carryover correctly.
11048
110492008-02-01 Dave Love <fx@gnu.org>
11050
11051 * regex.c (re_search_2): Fix last change.
11052
110532008-02-01 Kenichi Handa <handa@m17n.org>
11054
11055 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
11056 target_multibyte. Even in a unibyte case, return a converted
11057 multibyte char.
11058 (GET_CHAR_AFTER): New macro.
11059 (PATFETCH): Translate via multibyte char.
11060 (HANDLE_UNIBYTE_RANGE): Delete this macro.
11061 (SETUP_MULTIBYTE_RANGE): New macro.
11062 (regex_compile): Setup compiled code so that its multibyteness
11063 matches that of a target. Fix the handling of "[X-YZ]" using
11064 SETUP_MULTIBYTE_RANGE.
11065 (analyse_first) <charset>: For filling fastmap for all multibyte
11066 characters, don't check by BASE_LEADING_CODE_P.
11067 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
11068 the same as RE_MULTIBYTE_P (bufp) now.
11069 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
11070 (TARGET_CHAR_AND_LENGTH): Delete this macro.
11071 (TRANSLATE_VIA_MULTIBYTE): New macro.
11072 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
11073 It is the same as RE_MULTIBYTE_P (bufp) now.
11074 <exactn>: Translate via multibyte.
11075 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
11076 translate it.
11077 <charset, charset_not>: Fetch a character by
11078 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
11079 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
11080 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
11081 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
11082 by GET_CHAR_AFTER.
11083 (bcmp_translate): Likewise.
11084
11085 * search.c (compile_pattern): Check the member target_multibyte,
11086 not the member multibyte of buf.
11087
11088 * lread.c (read1): While reading a string, set force_singlebyte
11089 and force_multibyte correctly.
11090
11091 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
11092 up of unibyte_to_multibyte_table.
11093
110942008-02-01 Kenichi Handa <handa@m17n.org>
11095
11096 * coding.c (setup_coding_system): If coding has
11097 post-read-conversion or pre-write-conversion, set
11098 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
11099 respectively.
11100 (decode_coding_gap): Run post-read-conversion if any.
11101
11102 * fileio.c (Finsert_file_contents): Even if we read into a
11103 unibyte buffer, check if we must decode the result or not.
11104
111052008-02-01 Kenichi Handa <handa@m17n.org>
11106
11107 * coding.c (make_conversion_work_buffer): Change the work buffer
11108 name to the same one as that of Emacs 21.
11109
111102008-02-01 Kenichi Handa <handa@m17n.org>
11111
11112 * coding.h (make_conversion_work_buffer): Adjust prototype.
11113 (code_conversion_restore): Don't extern it.
11114
11115 * coding.c (detected_mask): Delete unused variable.
11116 (decode_coding_iso_2022): Pay attention to the byte sequence of
11117 CTEXT extended segment, and retain those bytes as is.
11118 (decode_coding_ccl): Delete unused variable `valids'.
11119 (setup_coding_system): Delete unused variable `category'.
11120 (consume_chars): Delete unused variable `category'. Make it work
11121 for non-multibyte case.
11122 (make_conversion_work_buffer): Change argument.
11123 (saved_coding): Delete unused variable.
11124 (code_conversion_restore): Don't check saved_coding->destination.
11125 (code_conversion_save): New function.
11126 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
11127 instead of record_unwind_protect.
11128 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
11129 (detect_coding_system): Delete unused variable `mask'.
11130 (Fdefine_coding_system_internal): Delete unused variable id.
11131
11132 * fileio.c (kill_workbuf_unwind): New function.
11133 (Finsert_file_contents): On replacing, call
11134 make_conversion_work_buffer with correct args, and call
11135 record_unwind_protect with the first arg kill_workbuf_unwind.
11136
11137 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
11138
111392008-02-01 Kenichi Handa <handa@m17n.org>
11140
11141 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
11142 (fontset_add): Fix for the case that TO is less than TO1.
11143 (Ffontset_info): Don't use fallback fontset on checking the
11144 default fontset.
11145 (dump_fontset): New function for debugging.
11146
11147 * coding.c (Fdefine_coding_system_internal): Fix for the case that
11148 coding_type is Qcharset.
11149
111502008-02-01 Kenichi Handa <handa@m17n.org>
11151
11152 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
11153 (map_char_table): Don't inherit the value from the parent on
11154 initializing VAL. Adjust for the above change.
11155
111562008-02-01 Kenichi Handa <handa@m17n.org>
11157
11158 * coding.c (Qsignature, Qendian): Delete these variables.
11159 (syms_of_coding): Don't initialize them.
11160 (CATEGORY_MASK_UTF_16_AUTO): New macro.
11161 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
11162 detect_info->found.
11163 (decode_coding_utf_16): Don't detect BOM here.
11164 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
11165 is NOT utf_16_without_bom.
11166 (setup_coding_system): For a coding system of type utf-16, check
11167 if the attribute :endian is Qbig or not (not nil or not), and set
11168 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
11169 (detect_coding): If coding type is utf-16 and BOM detection is
11170 required, detect it.
11171 (Fdefine_coding_system_internal): For a coding system of type
11172 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
11173
111742008-02-01 Kenichi Handa <handa@m17n.org>
11175
11176 * coding.c (coding_set_source): Fix for the case that the current
11177 buffer is different from coding->src_object.
11178 (decode_coding_object): Don't use the conversion work buffer if
11179 DST_OBJECT is a buffer.
11180
111812008-02-01 Dave Love <fx@gnu.org>
11182
11183 * lread.c (read_emacs_mule_char) [len==2]: Index
11184 emacs_mule_charset correctly.
11185
111862008-02-01 Dave Love <fx@gnu.org>
11187
11188 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
11189 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
11190 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
11191 treated specially.)
11192 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
11193 (detected_mask): Remove Big5 bits.
11194
111952008-02-01 Kenichi Handa <handa@m17n.org>
11196
11197 The following changes are to make the font rescaling facility
11198 compatible with Emacs 21.
11199
11200 * xfaces.c (Vface_font_rescale_alist): Rename from
11201 Vface_resizing_fonts.
11202 (struct font_name): Rename member resizing_ratio to rescale_ratio.
11203 (font_rescale_ratio): Rename from font_resizing_ratio.
11204 (split_font_name): Set font->rescale_ratio.
11205 (better_font_p): Pay attention to font->rescale_ratio.
11206 (build_scalable_font_name): Likewise. Change RESX, and RESY
11207 fields.
11208 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
11209
112102008-02-01 Kenichi Handa <handa@m17n.org>
11211
11212 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
11213 (Qutf_16_le): Remove these variables.
11214 (syms_of_coding): Don't DEFSYM them.
11215 (decode_coding_utf_16): Fix handling of BOM.
11216 (encode_coding_utf_16): Fix handling of BOM.
11217
112182008-02-01 Kenichi Handa <handa@m17n.org>
11219
11220 * fileio.c (Finsert_file_contents): On replacing, before decoding
11221 the file into the work buffer, set point of the work buffer to the end.
11222
112232008-02-01 Dave Love <fx@gnu.org>
11224
11225 * coding.c (Fcheck_coding_systems_region): Fix type errors.
11226
112272008-02-01 Dave Love <fx@gnu.org>
11228
11229 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
11230 and fix C types.
11231
112322008-02-01 Kenichi Handa <handa@m17n.org>
11233
11234 * xdisp.c (SKIP_GLYPHS): New macro.
11235 (set_cursor_from_row): Pay attention to string display properties.
11236
11237 * category.c (copy_category_entry): Fix for the case that RANGE
11238 is an integer.
11239
11240 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
11241
11242 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
11243
112442008-02-01 Kenichi Handa <handa@m17n.org>
11245
11246 * charset.c (Fcharset_id_internal): New function.
11247 (syms_of_charset): Defsubr it.
11248
11249 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
11250 with the last arg charset_list acquired from coding.
11251 (Fdefine_coding_system_internal): For ccl-based coding system, fix
11252 the attribute coding_attr_ccl_valids.
11253
11254 * coding.h (enum define_coding_ccl_arg_index): Set the first
11255 member coding_arg_ccl_decoder to coding_arg_max.
11256
11257 * ccl.h (ccl_driver): Adjust prototype.
11258
11259 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
11260 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
60612c8f 11261 of DECODE_CHAR, ENCODE_CHAR, CHAR_CHARSET.
aac0c6e3
MR
11262 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
11263 last arg Qnil.
11264
112652008-02-01 Kenichi Handa <handa@m17n.org>
11266
11267 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
11268 call encode_char.
11269
11270 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
11271
112722008-02-01 Dave Love <fx@gnu.org>
11273
11274 * composite.c (syms_of_composite): Make composition_hash_table weak.
11275
112762008-02-01 Kenichi Handa <handa@m17n.org>
11277
11278 * dispextern.h (check_face_attributes, generate_ascii_font_name)
11279 (font_name_registry): Don't extern them.
11280 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
11281
11282 * fontset.h (Qfontset): Don't extern it.
11283 (new_fontset_from_font_name): Extern it.
11284
11285 * fontset.c: Give 8 extra slots to fontset objects.
11286 (Qfontset_info): New variable.
11287 (syms_of_fontset): Defsym it.
11288 (FONTSET_FALLBACK): New macro.
11289 (fontset_face): Try also the default fontset.
11290 (make_fontset): Realize a fallback fontset from the default fontset.
11291 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
11292 using split_font_name_into_vector and build_font_name_from_vector.
11293 (Fset_fontset_font): Access the elements of font_spec by enum
11294 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
11295 name by using split_font_name_into_vector.
11296 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
11297 generate a proper font name from the fontset name. Update
11298 Vfontset_alias_alist.
11299 (n_auto_fontsets): New variable.
11300 (new_fontset_from_font_name): New function.
11301 (Ffont_info): Store the information about fonts generated from the
11302 default fontset in the first extra slot of the returned char-table.
11303
11304 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
11305 (font_name_registry): Delete function.
11306 (split_font_name_into_vector): New function.
11307 (build_font_name_from_vector): New function.
11308 (font_list): The argument REGISTRY is now a list of registry names.
11309 (choose_face_font): If we are choosing an ASCII font, and ATTRS
11310 specifies an explicit font name, return the name as is. Make a
11311 list of registy names.
11312
11313 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
11314 of x_new_fontset.
11315 (Fx_create_frame): Don't call x_new_fontset here. Just use
11316 x_list_fonts to check the existence of fonts.
11317
11318 * xterm.h (x_new_fontset): Adjust prototype.
11319
11320 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
11321 string. Use new_fontset_from_font_name to create a fontset from a
11322 font name.
11323
113242008-02-01 Kenichi Handa <handa@m17n.org>
11325
11326 * syntax.c (Vfind_word_boundary_function_table): New name for
11327 Vnext_word_boundary_function_table.
11328 (find-word-boundary-function-table): New name for
11329 next-word-boundary-function-table.
11330
113312008-02-01 Dave Love <fx@gnu.org>
11332
11333 * Makefile.in: Fix some dependencies.
11334
11335 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
11336 set it to nil before returning.
11337
11338 * composite.c (update_compositions): Fix type error.
11339
11340 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
11341
113422008-02-01 Kenichi Handa <handa@m17n.org>
11343
11344 * xterm.c (x_new_font): Optimize for the case that the font is
11345 already set for the frame.
11346
113472008-02-01 Kenichi Handa <handa@m17n.org>
11348
11349 * chartab.c (char_table_ascii): Check if the char table contents
11350 is sub-char-table or not.
11351 (char_table_set, char_table_set_range): Fix argument to
11352 char_table_ascii.
11353
11354 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
11355 (detect_coding_utf_8, detect_coding_utf_16)
11356 (detect_coding_emacs_mule, detect_coding_iso_2022)
11357 (detect_coding_sjis, detect_coding_big5)
11358 (detect_coding_ccl, detect_coding_charset): Change argument MASK
11359 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
11360 sequence is valid in this coding system. Change callers.
11361 (MAX_ANNOTATION_LENGTH): New macro.
11362 (ADD_ANNOTATION_DATA): New macro.
11363 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
11364 ADD_ANNOTATION_DATA. Change the format of annotation data.
11365 (ADD_CHARSET_DATA): New macro.
11366 (emacs_mule_char): New argument ID. Change callers.
11367 (decode_coding_emacs_mule, decode_coding_iso_2022)
11368 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
11369 Produce charset annotation data in coding->charbuf.
11370 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
11371 to charset annotation data in coding->charbuf.
11372 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
11373 coding->common_flags if the coding system is iso-2022 based and
11374 uses designation.
11375 (produce_composition): Adjust for the new annotation data format.
11376 (produce_charset): New function.
11377 (produce_annotation): Handle charset annotation.
11378 (handle_composition_annotation, handle_charset_annotation): New
11379 functions.
11380 (consume_chars): Handle charset annotation. Utilize the above two
11381 functions.
11382 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
11383 buffer, get the deleted text as a string and set
11384 coding->src_object to that string.
11385 (detect_coding, detect_coding_system): Use the new struct
11386 coding_detection_info.
11387
11388 * coding.h (struct coding_detection_info): New structure.
11389 (struct coding_system): Adjust prototype of the member `detector'.
11390 (CODING_ANNOTATE_CHARSET_MASK): New macro.
11391
113922008-02-01 Kenichi Handa <handa@m17n.org>
11393
11394 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
11395
113962008-02-01 Dave Love <fx@gnu.org>
11397
11398 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
11399 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
11400 to new local and nullify apropos_accumulate before returning.
11401 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
11402
114032008-02-01 Kenichi Handa <handa@m17n.org>
11404
11405 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
11406 correctly.
e3eea1fc 11407
aac0c6e3
MR
114082008-02-01 Dave Love <fx@gnu.org>
11409
11410 * fns.c (Flanginfo): Call synchronize_system_time_locale.
11411
114122008-02-01 Kenichi Handa <handa@m17n.org>
11413
11414 The following changes are to make character composition happen
11415 automatically on displaying.
11416
11417 * Makefile.in (lisp, shortlisp): Add composite.elc.
11418
11419 * composite.h (Qauto_composed, Vauto_composition_function)
11420 (Qauto_composition_function): Extern them.
11421
11422 * composite.c (Vcomposition_function_table)
11423 (Qcomposition_function_table): Delete variables.
11424 (Qauto_composed, Vauto_composition_function)
11425 (Qauto_composition_function): New variables.
11426 (run_composition_function): Don't call
11427 compose-chars-after-function.
11428 (update_compositions): Clear `auto-composed' text property.
11429 (compose_chars_in_text): Delete this function.
11430 (syms_of_composite): Staticpro Qauto_composed and
11431 Qauto_composition_function. Declare Vauto_composition_function as
11432 a Lisp variable.
11433
11434 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
11435
11436 * xdisp.c (it_props): Add an entry for Qauto_composed.
11437 (handle_auto_composed_prop): New function.
11438
11439 * xselect.c (selection_data_to_lisp_data): Don't call
11440 compose_chars_in_text.
11441
114422008-02-01 Dave Love <fx@gnu.org>
11443
11444 * keyboard.c (read_char): Modify checking around use of
11445 Vkeyboard_translate_table.
11446
11447 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
11448 and fix C types.
11449
114502008-02-01 Kenichi Handa <handa@m17n.org>
11451
11452 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
11453 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
11454 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
11455 the case that the last byte is '\r' correctly.
11456 (decode_coding): Flush out the unprocessed data correctly.
11457 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
11458
114592008-02-01 Dave Love <fx@gnu.org>
11460
11461 * xterm.c (XTread_socket): Fix changes for defined keysyms.
11462 Add XK_ISO... case.
11463 (xaw_scroll_callback): Revert last change.
11464
114652008-02-01 Kenichi Handa <handa@m17n.org>
11466
11467 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
11468
114692008-02-01 Kenichi Handa <handa@m17n.org>
11470
11471 * xfaces.c (Vface_resizing_fonts): New variable.
11472 (struct font_name): New member `resizing_ratio'.
11473 (font_resizing_ratio): New function.
11474 (split_font_name): Set font->resizing_ratio.
11475 (better_font_p): Pay attention to font->resizing_ratio.
11476 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
11477 RESX, and RESY fields.
11478 (try_alternative_families): Try scalable fonts if
11479 Vscalable_fonts_allowed is not Qt.
11480 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
11481
114822008-02-01 Dave Love <fx@gnu.org>
11483
11484 * xterm.c (xaw_scroll_callback): Cast correctly.
11485
114862008-02-01 Dave Love <fx@gnu.org>
11487
11488 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
11489 (lispy_kana_keys): Comment out.
11490 (make_lispy_event) [XK_kana_A]: Comment out.
11491
11492 * xterm.c (xaw_scroll_callback): Cast call_data.
11493 (XTread_socket): Deal with ASCII keysyms.
11494 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
11495
114962008-02-01 Dave Love <fx@gnu.org>
11497
11498 * xterm.c (Vx_keysym_table): New.
11499 (syms_of_xterm): Initialize it.
11500 (XTread_socket): Use it.
11501 From head: Eliminate incorrect optimization that tried to avoid
11502 decoding the output of X*LookupString.
11503 (x_get_font_repertory): Delete charset declaration.
11504
115052008-02-01 Kenichi Handa <handa@m17n.org>
11506
11507 * coding.c (detect_coding_charset): If only ASCII bytes are found,
11508 return 0.
11509 (Fdefine_coding_system_internal): Setup
11510 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
11511
115122008-02-01 Dave Love <fx@gnu.org>
11513
11514 * coding.c (Fcheck_coding_system): Doc fix.
11515
11516 * editfns.c (Finsert_byte): Return a proper value.
11517
115182008-02-01 Kenichi Handa <handa@m17n.org>
11519
11520 * coding.c (decode_coding): Fix args to translate_chars. Pay
11521 attention to Vstandard_translation_table_for_decode.
11522 (encode_coding): Fix args to translate_chars. Pay attention to
11523 Vstandard_translation_table_for_encode.
11524
11525 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
11526 SINGLE_BYTE_CHAR_P.
11527
11528 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
11529 not by SINGLE_BYTE_CHAR_P.
11530
11531 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
11532 SINGLE_BYTE_CHAR_P.
11533
11534 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
11535 SINGLE_BYTE_CHAR_P.
11536
11537 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
11538 by SINGLE_BYTE_CHAR_P.
11539
11540 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
11541 SINGLE_BYTE_CHAR_P.
11542
115432008-02-01 Dave Love <fx@gnu.org>
11544
11545 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
11546
115472008-02-01 Dave Love <fx@gnu.org>
11548
11549 * fns.c (Flanginfo): Fix typo.
11550
11551 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
11552
115532008-02-01 Kenichi Handa <handa@m17n.org>
11554
11555 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
11556 (detect_coding_emacs_mule, detect_coding_iso_2022)
11557 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
11558 incomplete byte sequence. Don't update *mask when correctly detected.
11559 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
11560 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
11561 (detect_coding, detect_coding_system): Adjust for the changes above.
11562
115632008-02-01 Kenichi Handa <handa@m17n.org>
11564
11565 * character.c (char_string): Rename from
11566 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
11567 (string_char): Rename from string_char.
11568
11569 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
11570 if C is greater than MAX_3_BYTE_CHAR.
11571 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
11572 string_char instead of string_char_with_unification.
11573
115742008-02-01 Dave Love <fx@gnu.org>
11575
11576 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
11577
115782008-02-01 Kenichi Handa <handa@m17n.org>
11579
11580 * keymap.c (push_key_description): Pay attention to force_multibyte.
11581
11582 * regex.c (re_search_2): Fix for the case of unibyte buffer.
11583
115842008-02-01 Dave Love <fx@gnu.org>
11585
11586 * charset.c (define_charset_internal): Rename `supprementary'.
11587
11588 * Makefile.in (lisp, shortlisp): Remove latin-N.
11589
115902008-02-01 Dave Love <fx@gnu.org>
11591
11592 * xfns.c (x_window, x_window): Use use_xim.
11593
11594 * xterm.c (use_xim): Initialize.
11595 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
11596 (x_term_init): Maybe set use_xim.
11597
11598 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
11599
116002008-02-01 Kenichi Handa <handa@m17n.org>
11601
11602 * search.c (search_buffer): Fix case-fold-search of multibyte
11603 characters.
11604 (boyer_moore): Rename the last argument to char_high_bits.
11605
116062008-02-01 Kenichi Handa <handa@m17n.org>
11607
11608 * xdisp.c (display_string): Fix for the case of zero width glyph.
11609
11610 * xfns.c (x_set_font): Change the error message of the case that
11611 x_new_fontset returns Qt.
11612
11613 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
11614 (Finternal_set_lisp_face_attribute): Use signal_error for the
11615 error of invalid fontset.
11616
11617 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
11618 fontset, return Qt.
11619
116202008-02-01 Dave Love <fx@gnu.org>
11621
11622 * unexelf.c (unexec): Make .got handling not SGI-specific.
11623
11624 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
11625
11626 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
11627
11628 * keyboard.c (read_key_sequence): Fix type error.
11629
11630 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
11631 type error.
11632
11633 * fontset.c (fontset_add): Return Lisp_Object.
11634
116352008-02-01 Dave Love <fx@gnu.org>
11636
11637 * charset.h (charset_ordered_list_tick): Declare extern.
11638
116392008-02-01 Kenichi Handa <handa@m17n.org>
11640
11641 The following changes (and some of 2008-02-01 changes of mine) are
11642 for handling syntax, category, and case conversion for unibyte
11643 characters by converting them to multibyte on the fly. With these
11644 changes, we don't have to setup syntax and case tables for unibyte
11645 characters in each language environment.
11646
11647 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
11648 multibyte if necessary.
11649
11650 * bytecode.c (Fbyte_code): Likewise.
11651
11652 * character.h (LEADING_CODE_LATIN_1_MIN)
11653 (LEADING_CODE_LATIN_1_MAX): New macros.
11654 (unibyte_to_multibyte_table): Extern it.
11655 (unibyte_char_to_multibyte): New macro.
11656 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
11657 (CHAR_LEADING_CODE): New macro.
11658 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
11659
11660 * character.c (unibyte_to_multibyte_table): New variable.
11661 (unibyte_char_to_multibyte): Move to character.h and define as macro.
11662 (multibyte_char_to_unibyte): If C is an eight-bit character,
11663 convert it to the corresponding byte value.
11664
11665 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
11666 not 1, signals an error. Update the elements of
11667 unibyte_to_multibyte_table.
11668 (init_charset_once): Initialize unibyte_to_multibyte_table.
11669 (syms_of_charset): Define the charset `iso-8859-1'.
11670
11671 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
11672 as is without converting it to unibyte. In a unibyte buffer,
11673 convert C to multibyte before checking the syntax.
11674
11675 * lisp.h (unibyte_char_to_multibyte): Delete extern.
11676
11677 * minibuf.c (Fminibuffer_complete_word): Use the macro
11678 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
11679
11680 * regex.h (struct re_pattern_buffer): New member target_multibyte.
11681
11682 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
11683 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
11684 that is zero, convert an eight-bit char to multibyte.
11685 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
11686 non-emacs case.
11687 (PATFETCH): Convert an eight-bit char to multibyte.
11688 (HANDLE_UNIBYTE_RANGE): New macro.
11689 (regex_compile): Setup the compiled pattern for multibyte chars
11690 even if the given regex string is unibyte. Use PATFETCH_RAW
11691 instead of PATFETCH in many places. To handle `charset'
11692 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
11693 only for ASCII chars.
11694 (analyse_first) <exactn>: Simplify because the compiled pattern
11695 is multibyte.
11696 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
11697 <charset>: Use CHAR_LEADING_CODE to get leading codes.
11698 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
11699 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
11700 multibyte always 1.
11701 (re_search_2): In emacs, set the locale variable multibyte to 1,
11702 otherwise to 0. New local variable target_multibyte. Check it
11703 to decide the multibyteness of STR1 and STR2. If
11704 target_multibyte is zero, convert unibyte chars to multibyte
11705 before translating and checking fastmap.
11706 (TARGET_CHAR_AND_LENGTH): New macro.
11707 (re_match_2_internal): In emacs, set the locale variable multibyte
11708 to 1, otherwise to 0. New local variable target_multibyte. Check
11709 it to decide the multibyteness of STR1 and STR2. Use
11710 TARGET_CHAR_AND_LENGTH to fetch a character from D.
11711 <charset, charset_not>: If multibyte is nonzero, check fastmap
11712 only for ASCII chars. Call bcmp_translate with
11713 target_multibyte, not with multibyte.
11714 <begline>: Declare the local variable C as `unsigned'.
11715 (bcmp_translate): Change the last arg name to target_multibyte.
11716
11717 * search.c (compile_pattern_1): Don't adjust the multibyteness of
11718 the regexp pattern and the matching target. Set cp->buf.multibyte
11719 to the multibyteness of the regexp pattern. Set
11720 cp->but.target_multibyte to the multibyteness of the matching target.
11721 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
11722 FETCH_STRING_CHAR_ADVANCE.
11723 (Freplace_match): Convert unibyte chars to multibyte.
11724
11725 * syntax.c (char_quoted, back_comment, scan_words)
11726 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
11727 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
11728 unibyte chars to multibyte.
11729 (skip_chars): Delete the arg syntaxp, and move the code for
11730 handling syntaxes to skip_syntaxes. Change callers.
11731 Fix the case that the multibyteness of STRING and the current
11732 buffer doesn't match.
11733 (skip_syntaxes): New function.
11734 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
11735 SINGLE_BYTE_CHAR_P.
11736
117372008-02-01 Kenichi Handa <handa@m17n.org>
11738
11739 * xfaces.c (QCfontset): New variable.
11740 (LFACE_FONTSET): New macro.
11741 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
11742 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
11743 (Finternal_set_lisp_face_attribute)
11744 (Finternal_get_lisp_face_attribute): Handle QCfontset.
11745 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
11746 check also LFACE_FONTSET_INDEX.
11747 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
11748 attrs[LFACE_FONT_INDEX].
11749 (syms_of_xfaces): Intern and staticpro QCfontset.
11750
11751 * dispextern.h (enum lface_attribute_index): New member
11752 LFACE_FONTSET_INDEX.
11753
11754 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
11755
117562008-02-01 Kenichi Handa <handa@m17n.org>
11757
11758 * coding.c (coding_set_destination): Fix coding->destination for
11759 the case converting a region.
11760 (encode_coding_utf_8): Encode eight-bit chars as single byte.
11761 (encode_coding_object): Fix coding->dst_pos and
11762 coding->dst_pos_byte for the case converting a region.
11763
11764 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
11765
11766 * character.h (BYTE8_STRING): New macro.
11767
11768 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
11769
117702008-02-01 Kenichi Handa <handa@m17n.org>
11771
11772 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
11773 characters by octal form.
11774
11775 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
11776
11777 * buffer.h (_fetch_multibyte_char_len): Delete extern.
11778 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
11779 _fetch_multibyte_char_len.
11780 (FETCH_CHAR_AS_MULTIBYTE): New macro.
11781
11782 * casetab.c (set_canon, set_identity, shuffle): Simplify.
11783
11784 * casefiddle.c (casify_object): Simplify. Handle the case that
11785 the case conversion change the byte length.
11786 (casify_region): Likewise.
11787
11788 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
11789
11790 * character.c (_fetch_multibyte_char_len): Delete this variable.
11791 (syms_of_character): Setup Vprintable_chars.
11792
11793 * editfns.c (Fchar_equal): Fix for the unibyte case.
11794 (Finsert_byte): New function.
11795 (syms_of_editfns): Defsubr it.
11796
11797 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
11798 of direct code 0x3ffff.
11799
11800 * search.c (Freplace_match): Fix for the unibyte case.
11801
118022008-02-01 Kenichi Handa <handa@m17n.org>
11803
11804 * lread.c (safe_to_load_p): Fix the logic.
11805
11806 * syntax.c (scan_words): Don't treat characters belonging to
11807 different scripts as constituting a word.
11808
11809 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
11810
11811 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
11812
11813 * emacs.c (main): In the case of --unibyte, instead of aborting on
11814 finding non-empty buffer, make it unibyte.
11815
118162008-02-01 Kenichi Handa <handa@m17n.org>
11817
11818 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
11819 to create a fontset.
11820
118212008-02-01 Dave Love <fx@gnu.org>
11822
11823 * character.c (Funibyte_char_to_multibyte): Doc fix.
11824
11825 * xfns.c [HAVE_STDLIB_H]: Fix last change.
11826
118272008-02-01 Kenichi Handa <handa@m17n.org>
11828
11829 * fontset.c (fontset_add): Make the type `int'.
11830 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
11831
11832 * character.c (unibyte_char_to_multibyte)
11833 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
11834 charset_unibyte, not charset_primary.
11835
11836 * charset.h (charset_unibyte): Extern it instead of charset_primary.
11837
11838 * charset.c (charset_unibyte): Rename from charset_primary.
11839 (Funibyte_charset): Rename from Fprimary_charset.
11840 (Fset_unibyte_charset): Rename from Fset_primary_charset.
11841 (syms_of_charset): Adjust for the above changes.
11842
11843 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
11844 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
11845 it->multibyte_p is zero.
11846
11847 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
11848 Delete extern.
11849
118502008-02-01 Kenichi Handa <handa@m17n.org>
11851
11852 * coding.c (Fdefine_coding_system_internal): Fix category setting
11853 for a coding system of type iso-2022.
11854
118552008-02-01 Kenichi Handa <handa@m17n.org>
11856
11857 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
11858
118592008-02-01 Kenichi Handa <handa@m17n.org>
11860
11861 * syntax.c (Vnext_word_boundary_function_table): New variable.
11862 (next-word-boundary-function-table): Declare it as a Lisp variable
11863 in syms_of_syntax.
11864 (scan_words): Call functions in Vnext_word_boundary_function_table
11865 if any.
11866
11867 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
11868
11869 * fontset.c (fs_load_font): If fontp->charset is not negative,
11870 return fontp without setting its members.
11871
118722008-02-01 Dave Love <fx@gnu.org>
11873
11874 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
11875
11876 * m/sparc.h (HAVE_ALLOCA): Delete.
11877
11878 * s/irix6-5.h: Don't include strings.h.
11879 (bcopy, bzero, bcmp): Don't undef.
11880
11881 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
11882
11883 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
11884 (TIOCSIGSEND): Don't test IRIX6.
11885 (bcopy, bzero, bcmp): Define conditionally.
11886
118872008-02-01 Kenichi Handa <handa@m17n.org>
11888
11889 * buffer.c (Qas, Qmake, Qto): New variables.
11890 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
11891 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
11892
11893 * callproc.c (Fcall_process): Don't call insert_1_both directly if
11894 we are inserting a process output into a multibyte buffer.
11895
11896 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
11897 multibyte_char_to_unibyte.
11898
11899 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
11900 by the primary charset, make it eight-bit char.
11901 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
11902
11903 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
11904 (charset_8_bit__control, charset_8_bit_graphic)
11905 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
11906 (define_charset_internal): New function.
11907 (syms_of_charset): Call define_charset_internal for pre-defined
11908 charsets.
11909
11910 * charset.h (charset_8_bit): Extern it.
11911
11912 * coding.c (make_conversion_work_buffer): Adjust for the change
11913 of Fset_buffer_multibyte.
11914 (encode_coding_raw_text): Increment p0 in the loop.
11915
11916 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
11917
11918 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
11919 for the change of Fset_buffer_multibyte.
11920
11921 * fns.c (Fstring_to_multibyte): New function.
11922 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
11923
119242008-02-01 Dave Love <fx@gnu.org>
11925
11926 * xfns.c (x_put_x_image): Declare args.
11927
11928 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
11929 (try_font_list): Declare an arg.
11930
11931 * xdisp.c (message2_nolog, set_message): Declare an arg.
11932
11933 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
11934
11935 * syntax.c (scan_sexps_forward): Declare an arg.
11936
11937 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
11938 Declare an arg.
11939
11940 * lisp.h (Fnew_fontset): Declare.
11941
11942 * keymap.c (push_key_description): Call CHARACTERP correctly.
11943
11944 * fontset.c (fontset_add): Declare args. Call make_number correctly.
11945 (face_for_char): Delete unused vars.
11946 (Fset_fontset_font): Doc fix. Delete unused vars.
11947
11948 * doc.c (Fsubstitute_command_keys): Delete unused vars.
11949
11950 * composite.c (update_compositions): Declare arg.
11951
11952 * cm.c (calccost, cmgoto): Declare args.
11953
11954 * charset.c: Remove `emacs' conditional. Doc fixes.
11955 (map_char_table_for_charset): Declare.
11956
11957 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
11958
11959 * ccl.c: Remove `emacs' conditional.
11960
119612008-02-01 Kenichi Handa <handa@m17n.org>
11962
11963 The following changes are to allow specifying multiple font
11964 patterns for a character range (specified by script or charset).
11965
11966 * Makefile.in (abbrev.o): Depend on syntax.h.
11967 (xfaces.o): Depend on charset.h.
11968
11969 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
11970 SINGLE_BYTE_CHAR_P.
11971
11972 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
11973
11974 * character.h (Vchar_script_table): Extern it.
11975
11976 * character.c (Vscript_alist): Delete.
11977 (Vchar_script_table, Qchar_script_table): New variable.
11978 (syms_of_character): Declare Vchar_script_table as a lisp variable
11979 and initialize it.
11980
11981 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
11982 have property char-table-extra-slots, make no extra slot.
11983
11984 * dispextern.h (struct face): Delete member `charset'.
11985 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
11986 SINGLE_BYTE_CHAR_P.
11987 (choose_face_font, lookup_non_ascii_face, font_name_registry):
11988 Add prototypes.
11989 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
11990 (generate_ascii_font_name): Rename from generate_ascii_font.
11991
11992 * fontset.h (get_font_repertory_func): New prototype.
11993 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
11994 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
11995
11996 * fontset.c (Qprepend, Qappend): New variables.
11997 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
11998 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
11999 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
12000 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
12001 (fontset_ref_and_range, fontset_add, reorder_font_vector)
12002 (load_font_get_repertory): New functions.
12003 (fontset_set): Delete.
12004 (fontset_face): New arg FACE. Return face ID, not face.
12005 Complete re-write to handle new fontset structure. Change caller.
12006 (free_face_fontset): Use ASET istead of AREF (X) = Y.
12007 (face_for_char): Don't call lookup_face.
12008 (make_fontset_for_ascii_face): New arg FACE.
12009 (fs_load_font): New arg CHARSET_ID. Don't check
12010 Vfont_encoding_alist here.
12011 (find_font_encoding): New function.
12012 (list_fontsets): Use STRINGP, not ! NILP.
12013 (accumulate_script_ranges): New function.
12014 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
12015 re-written to handle new fontset structure.
12016 (Ffontset_font): Return a copy of element.
12017 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
12018 docstring of font-encoding-alist.
12019
12020 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
12021 (Fset_fotset_font): Fix arguments to 5.
12022
12023 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
12024
12025 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
12026 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12027 (highlight_trailing_whitespace): Adjust for the change of
12028 lookup_named_face.
12029
12030 * xfaces.c: Include charset.h.
12031 (load_face_font): Delete argument C. Change caller.
12032 (generate_ascii_font_name): Rename from generate_ascii_font.
12033 (font_name_registry): New function.
12034 (cache_face): Store ascii faces before non-ascii faces in buckets.
12035 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
12036 Lookup only ascii faces.
12037 (lookup_non_ascii_face): New function.
12038 (lookup_named_face): Delete argument C. Change caller.
12039 (lookup_derived_face): Delete argument C. Change caller.
12040 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
12041 a string, just call font_list with it.
12042 (choose_face_font): Delete arguments FACE and C. New arg
12043 FONT_SPEC. Change caller.
12044 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
12045 Change caller.
12046 (realize_non_ascii_face): New function.
12047 (realize_x_face): Call load_face_font here.
12048 (realize_tty_face): Delete argument C. Change caller.
12049 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
12050 get a face ID.
12051 (dump_realized_face): Don't print charset of FACE.
12052
12053 * xfns.c (x_set_font): Always call x_new_fontset and
12054 store_frame_parameter.
12055 (Fx_create_frame): Call x_new_fontset, not x_new_font.
12056 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
12057
12058 * xterm.h (x_get_font_repertory): Extern it.
12059
12060 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
12061 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
12062 it->multibyte_p is zero.
12063 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12064 (x_new_fontset): If FONTSETNAME doesn't match any existing
12065 fontsets, create a new one.
12066 (x_get_font_repertory): New function.
12067
120682008-02-01 Kenichi Handa <handa@m17n.org>
12069
12070 * coding.c (Ffind_coding_systems_region_internal): Detect an
12071 ASCII only string correctly.
12072
12073 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
12074 version is 0.
12075
120762008-02-01 Kenichi Handa <handa@m17n.org>
12077
12078 * lread.c: Include "coding.h".
12079 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
12080 (load_each_byte, unread_char): New variables.
12081 (readchar_backlog): Delete.
12082 (readchar): Return a character unless load_each_byte is nonzero.
12083 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
12084 cons. If unread_char is not -1, simply return it.
12085 (unreadchar): Handle the case that readcharfun is
12086 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
12087 (read_multibyte): Delete.
12088 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
12089 (read_emacs_mule_char): New functions.
12090 (Fload): Even if the file doesn't have the extension ".elc", if
12091 safe_to_load_p returns a positive version number, assume that the
12092 file contains bytecompiled code. If the version is less than 22,
12093 load the file while decoding multibyte sequences by emacs-mule.
12094 (readevalloop): Don't use readchar_backlog.
12095 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
12096 (Fread_from_string): Pay attention to the case that STREAM is a cons.
12097 (read_escape): Delete the arg BYTEREP.
12098 (read1): Set load_each_byte to 1 temporarily while handling
12099 #@NUMBER. Don't call read_multibyte.
12100 (read_vector): Call Fread with a cons. If readcharfun is
12101 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
12102 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
12103 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
12104 and Qload_force_doc_strings.
12105
121062008-02-01 Kenichi Handa <handa@m17n.org>
12107
12108 * xdisp.c (face_before_or_after_it_pos): Call
12109 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
12110
121112008-02-01 Kenichi Handa <handa@m17n.org>
12112
12113 * character.h (TRAILING_CODE_P): New macro.
12114 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
12115 (string_char_with_unification): Fix prototype.
12116 (Vscript_alist): Extern it.
12117
12118 * character.c (Vscript_alist): New variable.
12119 (string_char_with_unification, str_as_unibyte)
12120 (string_escape_byte8): Add `const' to local variables.
12121 (syms_of_character): Declare script-alist as a Lisp variable.
12122
12123 * charset.h (Vcharset_ordered_list): Extern it.
12124 (charset_ordered_list_tick): Extern it.
12125 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
12126 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
12127 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
12128 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
12129 (Funify_charset): Adjust for the change of Funify_charset.
12130
12131 * charset.c (charset_ordered_list_tick): New variable.
12132 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
12133 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
12134 deunify intead of unify a charset.
12135 (string_xstring_p): Add `const' to local variables.
12136 (find_charsets_in_text): Add `const' to arguments and local variables.
12137 (encode_char): Adjust for the change of Funify_charset. Fix
12138 detecting of invalid code.
12139 (Fset_charset_priority): Increment charset_ordered_list_tick.
12140 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
12141 and TO_CODE.
12142
12143 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
12144 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
12145 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
12146 (decode_coding_ccl, consume_chars)
12147 (Ffind_coding_systems_region_internal)
12148 (Fcheck_coding_systems_region): Add `const' to local variables.
12149
12150 * print.c (print_object): Use octal form for printing the
12151 contents of a bool vector.
12152
121532008-02-01 Dave Love <fx@gnu.org>
12154
12155 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
12156 <version == 20>: Refuse to load.
12157
121582008-02-01 Dave Love <fx@gnu.org>
12159
12160 * fns.c: Move coding.h.
12161 (Qcodeset, Qdays, Qmonths): New.
12162 (concat): Use CHARACTERP instead of INTEGERP.
12163 (Flocale_codeset): Delete.
12164 (Flanginfo): New function.
12165 (syms_of_fns): Change accordingly.
12166
12167 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
12168
121692008-02-01 Dave Love <fx@gnu.org>
12170
12171 * casetab.c (init_casetab_once, init_casetab_once): Fix
12172 CHAR_TABLE_SET call.
12173
12174 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
12175
12176 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
12177
12178 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
12179 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
12180 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
12181
12182 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
12183
12184 * coding.c (ENCODE_DESIGNATION, decode_eol)
12185 (make_conversion_work_buffer, code_conversion_restore)
12186 (Fdefine_coding_system_internal): Convert Lisp types.
12187 (code_conversion_restore): Use EQ, not ==.
12188 (Fencode_coding_string): Fix code_convert_string call.
12189
12190 * coding.h (code_convert_region): Fix prototype.
12191
12192 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
12193
12194 * fontset.c (fontset_ref, fontset_set, fs_load_font)
12195 (Ffontset_info): Convert Lisp types.
12196
12197 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
12198
12199 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
12200
12201 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
12202
12203 * chartab.c: Include "...h", not <...h> in some cases.
12204
12205 * callproc.c (Fcall_process): Remove unused variables.
12206
122072008-02-01 Dave Love <fx@gnu.org>
12208
12209 * coding.c (Fset_coding_system_priority): Allow null arg list.
12210
122112008-02-01 Dave Love <fx@gnu.org>
12212
12213 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
12214 (Fself_insert_and_exit): Use CHARACTERP.
12215
12216 * callproc.c (Fcall_process): Remove unused vars.
12217
12218 * xterm.c (XTread_socket): Add extra dead keysyms.
12219
12220 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
12221
12222 * dispextern.h: Remove prototypes for redraw_frame,
12223 redraw_garbaged_frames.
12224
12225 * cmds.c (Fself_insert_command): Use CHARACTERP.
12226
12227 * chartab.c (make_sub_char_table): Remove unused var.
12228 (Fset_char_table_default, Fmap_char_table): Doc fix.
12229
12230 * keymap.c (access_keymap): Remove generic char code.
12231 (push_key_description): Use CHARACTERP.
12232
122332008-02-01 Dave Love <fx@gnu.org>
12234
12235 * charset.c: Doc fixes.
12236 (Funify_charset): Extra checking.
12237
122382008-02-01 Dave Love <fx@gnu.org>
12239
12240 * lread.c: Remove some unused variables.
12241 (safe_to_load_p): If safe, return the magic number version byte.
12242 (Fload): Maybe use load-with-code-conversion.
12243
122442008-02-01 Kenichi Handa <handa@m17n.org>
12245
12246 * category.c (Fmodify_category_entry): Don't modify the contents
12247 of category_set for characters out of the range. Avoid
12248 unnecessary modification.
12249
12250 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
12251 Vchar_unify_table. The default value of the table is now nil.
12252
12253 * character.c (syms_of_character): Setup Vchar_width_table for
12254 eight-bit-control and raw-byte chars.
12255
12256 * charset.h (enum define_charset_arg_index): Delete
12257 charset_arg_parents and add charset_arg_subset and
12258 charset_arg_superset.
12259 (enum charset_attr_index): Delete charset_parents and add
12260 charset_subset and charset_superset.
12261 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
12262 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
12263 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
12264 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
12265 (CHARSET_SUPERSET): New macros.
12266 (charset_work): Extern it.
12267 (ENCODE_CHAR): Use charset_work.
12268 (CHAR_CHARSET_P): Adjust for the change of encoder format.
12269 (map_charset_chars): Extern it.
12270
12271 * charset.c (load_charset_map): Set the default value of encoder
12272 and deunifier char-tables to nil.
12273 (map_charset_chars): Change argument. Change callers. Use
12274 map_char_table_for_charset instead of map_char_table.
12275 (Fmap_charset_chars): New optional args from_code and to_code.
12276 (Fdefine_charset_internal): Adjust for the change of
12277 `define-charset' (:parents -> :subset or :superset).
12278 (charset_work): New variable.
12279 (encode_char, syms_of_charset): Adjust for the change of
12280 Fdefine_charset_internal.
12281 (Ffind_charset_string): Setup the vector `charsets' correctly.
12282
12283 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
12284 the previous change.
12285 (char_table_ref_and_range): Adjust for the above change.
12286 (map_sub_char_table_for_charset): New function.
12287 (map_char_table_for_charset): New function.
12288
12289 * keymap.c (describe_vector): Handle a char-table directly here.
12290 (describe_char_table): Delete.
12291
12292 * lisp.h (map_charset_chars): Delete.
12293
122942008-02-01 Dave Love <fx@gnu.org>
12295
12296 * fns.c (count_combining): Comment out (unused).
12297 (Flocale_codeset): New.
12298 (syms_of_fns): Defsubr it.
12299
12300 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
12301 (size_t): Remove.
12302
123032008-02-01 Dave Love <fx@gnu.org>
12304
12305 * Makefile.in (chartab.o): Depend on charset.h.
12306
123072008-02-01 Kenichi Handa <handa@m17n.org>
12308
12309 * character.c (syms_of_character): Set the default value of
12310 Vprintable_chars to Qnil.
12311
123122008-02-01 Dave Love <fx@gnu.org>
12313
12314 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
12315
123162008-02-01 Kenichi Handa <handa@m17n.org>
12317
12318 * charset.c (load_charset_map): Handle the case that from < to
12319 correctly.
12320
12321 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
12322 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
12323 Pay attention to raw-8-bit chars.
12324
123252008-02-01 Kenichi Handa <handa@m17n.org>
12326
12327 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
12328 It is not bytecompiled now.
12329
12330 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
12331 (charset_jisx0208): New variables.
12332 (Fdefine_charset_internal): Setup them if appropriate.
12333 (init_charset_once): Initialize them to -1.
12334
12335 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
12336 (charset_jisx0208): Extern them.
12337
12338 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
12339 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
12340 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
12341 (setup_iso_safe_charsets): Fix arguments to Fassq.
12342 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
12343 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
12344 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
12345 (encode_coding_iso_2022): Change the 1st arg to
12346 ENCODE_ISO_CHARACTER to a variable.
12347
123482008-02-01 Kenichi Handa <handa@m17n.org>
12349
12350 * charset.h (enum define_charset_arg_index): New enums
12351 charset_arg_min_code and charset_arg_max_code.
12352 (struct charset): New member char_index_offset.
12353
12354 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
12355 Take charset->char_index_offset into account.
12356 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
12357 args[charset_arg_max_code]. Setup charset.char_index_offset.
12358 (syms_of_charset): Fix args to Fdefine_charset_internal.
12359
123602008-02-01 Dave Love <fx@gnu.org>
12361
12362 * coding.c (decode_coding_utf_8): Reject overlong sequences.
12363
123642008-02-01 Dave Love <fx@gnu.org>
12365
12366 * coding.c: Doc fixes.
12367 (Fcoding_system_aliases): Fix return value.
12368 (Qmac): Remove (duplicated) definition.
12369
123702008-02-01 Dave Love <fx@gnu.org>
12371
12372 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
12373 functions.
12374
12375 * character.c (Fstring): Doc fix.
12376
12377 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
12378
12379 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
12380 ids.
12381 (font-encoding-alist): Doc fix.
12382
123832008-02-01 Dave Love <fx@gnu.org>
12384
12385 * term.c (costs_set): Declare static, non-initialized for pcc.
12386 (encode_terminal_code): Remove unused var.
12387
12388 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
12389 for K&R.
12390
12391 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
12392
12393 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
12394 (suffixes): Move out of make_subsidiaries for K&R.
12395
12396 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
12397
12398 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
12399
124002008-02-01 Dave Love <fx@gnu.org>
12401
12402 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
12403
12404 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
12405
124062008-02-01 Yong Lu <lyongu@asia-infonet.com>
12407
12408 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
12409
12410 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
12411
124122008-02-01 Kenichi Handa <handa@m17n.org>
12413
12414 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
12415 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
12416
124172008-02-01 Kenichi Handa <handa@m17n.org>
12418
12419 * coding.c (decode_coding_charset): Adjust for the change of
12420 Fdefine_coding_system_internal.
12421 (Fdefine_coding_system_internal): For a coding system of
12422 `charset' type, store a list of charset IDs in
12423 `charset_attr_charset_valids' element of coding attributes.
12424
124252008-02-01 Kenichi Handa <handa@m17n.org>
12426
12427 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
12428 (emacs_mule_char): New arg src. Delete arg `composition'. Change
12429 caller. Handle 2-byte and 3-byte charsets correctly.
12430 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
12431 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
12432 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
12433 (DECODE_EMACS_MULE_21_COMPOSITION): Call
12434 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
12435 sequence.
12436 (decode_coding_emacs_mule): Handle composition correctly. Rewind
12437 `src' and `consumed_chars' correctly before calling emacs_mule_char.
12438 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
12439 and alt&rule composition.
12440 (decode_coding_iso_2022): Handle composition correctly.
12441 (init_coding_once): Setup emacs_mule_bytes for private charsets.
12442
12443 * charset.c (Fdefine_charset_internal): Fix bug for the case of
12444 re-defining a charset. If the charset has :emacs-mule-id, setup
12445 emacs_mule_bytes.
12446 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
12447
124482008-02-01 Kenichi Handa <handa@m17n.org>
12449
12450 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
12451 (encode_coding_big5, encode_coding_charset): If coding requires safe
12452 encoding, produce a character specified by
12453 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
12454
124552008-02-01 Dave Love <fx@gnu.org>
12456
12457 * xterm.c (XSetIMValues): Declare.
12458
12459 * process.c: Conditionally include sys/wait.h, pty.h.
12460
12461 * print.c (print_object): Fix print format for 64-bit systems.
12462
12463 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
12464
12465 * buffer.c (emacs_strerror): Declare.
12466
12467 * fontset.c (Fclear_face_cache): Declare.
12468 (accumulate_font_info): Comment-out (unused).
12469 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
12470 variables.
12471
12472 * character.h (string_escape_byte8): Declare.
12473
12474 * charset.c (load_charset_map, load_charset_map_from_file): Remove
12475 unused vars.
12476 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
12477 (Fmap_charset_chars): Doc fix.
12478
12479 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
12480 (Fset_coding_system_priority, Fset_coding_system_priority)
12481 (Fdefine_coding_system_internal): Doc fix.
12482
124832008-02-01 Dave Love <fx@gnu.org>
12484
12485 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
12486
124872008-02-01 Kenichi Handa <handa@m17n.org>
12488
12489 * character.c (string_escape_byte8): Make multibyte string with
12490 correct size.
12491
12492 * charset.c (Fmake_char): Delete unnecessary code.
12493
124942008-02-01 Kenichi Handa <handa@m17n.org>
12495
12496 * xfns.c (x_encode_text): Allocate coding.destination here, and
12497 call encode_coding_object with dst_object Qnil.
12498
12499 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
12500 multibyte form correctly.
12501
12502 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
12503 against Vfont_encoding_alist.
12504
12505 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
12506 handling of charset list.
12507 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
12508 (decode_coding_object): Move point to coding->dst_pos before
12509 calling post-read-conversion function.
12510 (encode_coding_object): Give correct arguments to
12511 pre-write-conversion. Ignore the return value of
12512 pre-write-conversion function. Pay attention to the case that
12513 pre-write-conversion changes the current buffer. If dst_object is
12514 Qt, even if coding->src_bytes is zero, allocate at least one byte
12515 to coding->destination.
12516
12517 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
12518
12519 * charset.c (Fmake_char): Make it more backward compatible.
12520 (Fmap_charset_chars): Fix docstring.
12521
125222008-02-01 Dave Love <fx@gnu.org>
12523
12524 * coding.c: Doc fixes.
12525 (Fdefine_coding_system_alias): Use names, not symbols, in
12526 coding-system-alist.
12527
125282008-02-01 Kenichi Handa <handa@m17n.org>
12529
12530 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
12531 of calling free_realized_face.
12532
125332008-02-01 Yong Lu <lyongu@asia-infonet.com>
12534
12535 * charset.c (read_hex): Don't treat SPC as a comment starter.
12536 (decode_char): If CODE_POINT_TO_INDEX returns -1, always return -1.
12537 (Fdecode_char): Fix typo.
12538
125392008-02-01 Kenichi Handa <handa@m17n.org>
12540
12541 * charset.h (struct charset): New member `code_space_mask'.
12542
12543 * coding.c (coding_set_source): Delete the local variable beg_byte.
12544 (encode_coding_charset, Fdefine_coding_system_internal):
12545 Delete the local variable charset.
12546 (Fdefine_coding_system_internal): Setup
12547 attrs[coding_attr_charset_valids] correctly.
12548
12549 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
12550 member to check if CODE is valid or not.
12551 (Fdefine_charset_internal): Initialize `code_space_mask' member.
12552 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
12553 is within the range of charset->min_code and carset->max_code.
12554
125552008-02-01 Dave Love <fx@gnu.org>
12556
12557 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
12558
12559 * dispextern.h (generate_ascii_font): Fix return type.
12560
12561 * xfaces.c (generate_ascii_font): Fix arg declaration.
12562
12563 * coding.c (coding_inherit_eol_type)
12564 (Fset_terminal_coding_system_internal)
12565 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
12566
125672008-02-01 Kenichi Handa <handa@m17n.org>
12568
12569 * coding.c (decode_coding_charset, encode_coding_charset): Handle
12570 multiple charsets correctly.
12571
125722008-02-01 Kenichi Handa <handa@m17n.org>
12573
12574 * search.c (boyer_moore): Fix handling of multibyte character
12575 translation.
12576
12577 * xdisp.c (display_mode_element): When the variable `elt' is
12578 changed, update `this' and `lisp_string'.
12579
125802008-02-01 Kenichi Handa <handa@m17n.org>
12581
12582 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
12583
12584 * callproc.c (Fcall_process): Be sure to give the current buffer
12585 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
12586
12587 * charset.c (struct charset_map_entries): New struct.
12588 (load_charset_map): Rename from parse_charset_map. New args
12589 entries and n_entries. Change caller.
12590 (load_charset_map_from_file): Rename from load_charset_map.
12591 Change caller. New arg control_flag. Call load_charset_map at
12592 the tail.
12593 (load_charset_map_from_vector): New function.
12594 (Fdefine_charset_internal): Setup charset.compact_codes_p.
12595 (encode_char): If the charset is compact, change a character index
12596 to a code point.
12597
12598 * coding.c (coding_alloc_by_making_gap): Check the case that the
12599 source and destination are the same correctly.
12600 (decode_coding_raw_text): Set coding->consumed_char and
12601 coding->consumed to 0.
12602 (produce_chars): If coding->chars_at_source is nonzero, update
12603 coding->consumed_char and coding->consumed before calling
12604 alloc_destination.
12605 (Fdefine_coding_system_alias): Register ALIAS in
12606 Vcoding_system_alist.
12607 (syms_of_coding): Define `no-conversion' coding system at the tail.
12608
12609 * fileio.c (Finsert_file_contents): Set coding_system instead of
12610 val. If the current buffer is multibyte, always call
12611 decode_coding_gap.
12612
12613 * xfaces.c (try_font_list): Give higher priority to fontset's
12614 family than face's family.
12615
126162008-02-01 Kenichi Handa <handa@m17n.org>
12617
12618 * callproc.c (Fcall_process): Be sure to give the current buffer
12619 to decode_coding_c_string.
12620
12621 * xfaces.c (try_font_list): Give a family specified in a fontset
12622 higher priority than a family specified in a face.
12623
126242008-02-01 Kenichi Handa <handa@m17n.org>
12625
12626 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
12627 Fix arguments to insert_from_buffer.
12628
12629 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
12630
126312008-02-01 Kenichi Handa <handa@m17n.org>
12632
12633 * coding.c (produce_chars): Set the variable `multibytep' correctly.
12634 (decode_coding_gap): Set coding->dst_multibyte correctly.
12635
126362008-02-01 Kenichi Handa <handa@m17n.org>
12637
12638 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
12639 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
12640 (encode_coding_utf_16): Substitute coding->default_char for
12641 non-Unicode characters.
12642 (decode_coding): Don't call record_insert here.
12643 (setup_coding_system): Initialize `surrogate' of
12644 coding->spec.utf_16 to 0.
12645 (EMIT_ONE_BYTE): Fix for multibyte case.
12646
12647 * insdel.c (insert_from_gap): Call record_insert.
12648
126492008-02-01 Kenichi Handa <handa@m17n.org>
12650
12651 * casefiddle.c (casify_region): Fix multibyte case.
12652
12653 * character.c (c_string_width): Add return type `int'.
12654 (char_string_with_unification): Delete arg ADVANCED.
12655
12656 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
12657 (CHAR_STRING): Adjust for the change of char_string_with_unification.
12658 (CHAR_STRING_ADVANCE): Make it do-while statement.
12659
12660 * chartab.c (sub_char_table_set_range): Optimize for the case
12661 DEPTH == 3. Add workaround code for a GCC optimization bug.
12662
12663 * charset.c (parse_charset_map): Remove an unused variable.
12664
12665 * coding.c: Delete unused variables.
12666
12667 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
12668 earlier. If inserted is zero and the coding system doesn't
12669 require flushing, don't call decode_coding_gap.
12670
12671 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
12672
126732008-02-01 Kenichi Handa <handa@m17n.org>
12674
12675 The following changes are for using Unicode as an internal
12676 character model, and use UTF-8 format for buffer/string
12677 representation.
12678
12679 * .gdbinit (xchartable): Adjust for the change of char table structure.
12680 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
12681
12682 * Makefile.in (obj): Add character.o and chartab.o.
12683 (lisp, shortlisp): Remove utf-8.elc.
12684 (*.o): For many files, change dependency on charset.h to
12685 character.h, and add dependency on character.h.
12686 (character.o, chartab.o): New targets.
12687
12688 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
12689 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
12690 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
12691 of "charset.h".
12692
12693 * dired.c, filelock.c: Include "character.h".
12694
12695 * alloc.c: Include "character.h" instead of "charset.h".
12696 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
12697 (syms_of_alloc): Remove defsubr for Smake_char_table.
12698
12699 * buffer.c: Include "character.h" instead of "charset.h", don't
12700 include "coding.h".
12701 (Fset_buffer_multibyte): Adjust for UTF-8.
12702
12703 * buffer.h: EXFUN Fbuffer_live_p.
12704
12705 * callproc.c: Include "character.h" instead of "charset.h".
12706 (Fcall_process): Big change for the new code-conversion APIs.
12707
12708 * casetab.c: Include "character.h" instead of "charset.h".
12709 (set_canon, set_identity, shuffle): Adjust for the new
12710 map_char_table spec.
12711 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
12712 accessing the char table structure.
12713
12714 * chartab.c: New file that implements char table.
12715
12716 * category.c: Include "character.h".
12717 (copy_category_entry): New function.
12718 (copy_category_table): Call map_char_table and copy_category_entry.
12719 (Fmake_category_table): Initialize all top-level slots.
12720 (char_category_set): New function.
12721 (modify_lower_category_set): Delete.
12722 (Fmodify_category_entry): Call char_table_ref_and_range.
12723
12724 * category.h (CATEGORY_SET): Just call char_category_set.
12725
12726 * ccl.c: Include "character.h".
12727 (Qccl, Qcclp): New variables.
12728 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
12729 it's less than 256.
12730 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
12731 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
12732 and DST type.
12733 (ccl_driver): Change types of argument, adjust code accordingly.
12734 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
12735 ccl_driver.
12736 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
12737
12738 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
12739 New members src_multibyte, dst_multibyte, consumed, and produced.
12740 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
12741 (CODING_SPEC_CCL_PROGRAM): New macro.
12742 (ccl_driver): Update prototype.
12743 (Qccl, Qcclp, Fccl_program_p): Extern them.
12744 (CHECK_CCL_PROGRAM): New macro.
12745
12746 * character.c, character.h, chartab.c: New files.
12747
12748 * charset.c: Mostly re-written. Move character and multibyte sequence
12749 handling codes to character.c.
12750
12751 * charset.h: Mostly re-written. Move character and multibyte sequence
12752 handling codes to character.h.
12753
12754 * coding.c, coding.h: Mostly re-written.
12755
12756 * composite.c: Include "character.h" instead of "charset.h".
12757 (CHAR_WIDTH): Move to character.h.
12758 (HASH_KEY, HASH_VALUE): Delete.
12759
12760 * composite.h (enum composition_method): Change order of enumeration
12761 symbols.
12762
12763 * data.c: Include "character.h" instead of "charset.h".
12764 (Faref): Call CHAR_TABLE_REF for a char table.
12765 (Faset): Call CHAR_TABLE_SET for a char table.
12766
12767 * dispextern.h (free_realized_face, check_face_attribytes)
12768 (generate_ascii_font): Extern them.
12769 (free_realized_multibyte_face): Delete extern.
12770
12771 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
12772 table structure.
12773
12774 * editfns.c: Include "character.h" instead of "charset.h".
12775 (Fchar_to_string): Always call CHAR_STRING.
12776
12777 * emacs.c (main): Call init_charset_once, init_charset,
12778 syms_of_chartab, and syms_of_character.
12779
12780 * fileio.c: Include "character.h" instead of "charset.h".
12781 (Finsert_file_contents): Big change for the new code-conversion API.
12782 (choose_write_coding_system, Fwrite_region): Likewise.
12783 (build_annotations_2): Delete.
12784 (e_write): Big change for the new code-conversion API.
12785
12786 * fns.c: Include "character.h" instead of "charset.h".
12787 (copy_sub_char_table): Move to chartab.c.
12788 (Fcopy_sequence): Call copy_char_table for a char table.
12789 (concat): Delete codes calling count_multibyte.
12790 (string_char_to_byte, string_byte_to_char): Adjust for the new
12791 multibyte form.
12792 (internal_equal): Adjust for the change of char table structure.
12793 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
12794 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
12795 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
12796 (char_table_translate, optimize_sub_char_table)
12797 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
12798 chartab.c.
12799 (char_table_ref_and_index): Delete.
12800 (HASH_KEY, HASH_VALUE): Move to lisp.h.
12801 (Fmd5): Call preferred_coding_system instead of accessing
12802 Vcoding_category_list. Adjust for the new code-conversion API.
12803 (syms_of_fns): Move defsubr for char table related functions to
12804 chartab.c.
12805
12806 * fontset.c: Mostly re-written.
12807
12808 * fontset.h (struct font_info): Change type of the member encoding_type.
12809 (enum FONT_SPEC_INDEX): New enum.
12810 (fontset_font_pattern, fs_load_font): Update prototype.
12811 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
12812
12813 * indent.c: Include "character.h" instead of "charset.h".
12814 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
12815
12816 * insdel.c: Include "character.h" instead of "charset.h".
12817 (copy_text): Don't refer to Vnonascii_translation_table.
12818 (insert_from_gap): New function.
12819
12820 * keyboard.c: Include "character.h" instead of "charset.h".
12821 (command_loop_1): Never call direct_output_forward_char before
12822 a non-ASCII character.
12823 (read_char): If Vkeyboard_translate_table is a char table, always
12824 translate a character.
12825
12826 * keymap.c: Include "character.h".
12827 (store_in_keymap): Handle the case that IDX is a cons.
12828 (Fdefine_key): Handle the case that KEY is a cons and the car part
12829 is also a cons (range).
12830 (push_key_description): Adjust for the new character code.
12831 (describe_vector): Call describe_char_table for a char table.
12832 (describe_char_table): New function.
12833
12834 * keymap.h (describe_char_table): Extern it.
12835
12836 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
12837 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
12838 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
12839 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
12840 Delete.
12841 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
12842 structure.
12843 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
12844 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
12845 (CHARTAB_SIZE_BITS_3): New macros.
12846 (chartab_size): Extern it.
12847 (struct Lisp_Char_Table): Re-design.
12848 (struct Lisp_Sub_Char_Table): New structure.
12849 (HASH_KEY, HASH_VALUE): Move from fns.c.
12850 (CHARACTERBITS): Define as 22.
12851 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
12852 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
12853 (GC_SUB_CHAR_TABLE_P): New macro.
12854 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
12855 (code_convert_string_norecord): Deleted extern.
12856 (init_character_once, syms_of_character, init_charset)
12857 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
12858
12859 * lread.c: Include "character.h".
12860 (read_multibyte): New arg NBYTES.
12861 (read_escape): Change the meaning of returned *BYTEREP.
12862 (to_multibyte): Delete.
12863 (read1): Adjust the handling of char table and string.
12864
12865 * print.c: Include "character.h" instead of "charset.h".
12866 (print_string): Convert 8-bit raw bytes to octal form by
12867 string_escape_byte8.
12868 (print_object): Adjust for the new multibyte form. Print 8-bit
12869 raw bytes always in octal form. Handle sub char table correctly.
12870
12871 * process.c: Include "character.h" instead of "charset.h".
12872 (read_process_output, send_process): Adjust for the new
12873 code-conversion API.
12874
12875 * puresize.h (BASE_PURESIZE): Increase.
12876
12877 * regex.c: Include "character.h" instead of "charset.h".
12878 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
12879 (regex_compile): Accept a range whose starting and ending
12880 character have different leading bytes.
12881 (analyse_first): Adjust for the above change.
12882
12883 * search.c: Include "character.h" instead of "charset.h".
12884 (search_buffer, boyer_moore): Adjust for the new multibyte form.
12885 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
12886
12887 * syntax.c: Include "character.h" instead of "charset.h".
12888 (syntax_parent_lookup): Delete.
12889 (Fmodify_syntax_entry): Accept a cons as CHAR.
12890 (skip_chars): Adjust for the new multibyte form.
12891 (init_syntax_once): Call char_table_set_range instead of directly
12892 accessing the structure of a char table.
12893
12894 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
12895 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
12896 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
12897 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
12898
12899 * term.c: Include "buffer.h" and "character.h".
12900 (encode_terminal_code, write_glyphs): Adjust for the new
12901 code-conversion API.
12902 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
12903
12904 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
12905
12906 * xdisp.c: Include "character.h".
12907 (get_next_display_element): Adjust for the new multibyte form.
12908 (disp_char_vector): Adjust for the new char table structure.
12909 (decode_mode_spec_coding): Adjust for the new structure of
12910 coding system.
12911 (decode_mode_spec): Adjust for the new code-conversion API.
12912
12913 * xfaces.c: Include "character.h" instead of "charset.h".
12914 (load_face_font): Adjust for the change of choose_face_font and
12915 FS_LOAD_FONT.
12916 (generate_ascii_font): New function.
12917 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
12918 (set_font_frame_param): Adjust for the change of choose_face_font.
12919 (free_realized_face): Make it public.
12920 (free_realized_faces_for_fontset): Rename from
12921 free_realized_multibyte_face. Free also faces realized for ASCII.
12922 (choose_face_font): Change arguments. Adjust for the change of
12923 fontset_font_pattern and FS_LOAD_FONT.
12924
12925 * xfns.c: Include "character.h".
12926 (x_encode_text): Adjust for the new code-conversion API.
12927
12928 * xselect.c: Don't include "charset.h".
12929 (selection_data_to_lisp_data): Adjust for the new code conversion API.
12930
12931 * xterm.c: Include "character.h".
12932 (x_encode_char): New argument CHARSET. Change caller.
12933 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
12934 Call ENCODE_CHAR instead of SPLIT_CHAR.
12935 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
12936 CHAR_WIDTH instead of CHARSET_WIDTH.
12937 (XTread_socket): Adjust for the new code-conversion API.
12938 (x_new_font): Adjust for the change of FS_LOAD_FONT.
12939 (x_load_font): Adjust for the change of struct font.
12940
129412008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
12942
12943 * xfaces.c (face_at_buffer_position): Remove unused vars.
12944
129452008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12946
12947 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
12948 Fix overflow checking.
12949
129502008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12951
12952 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
12953 Cancel previous change.
12954
129552008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
12956
12957 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
12958 ccl->eight_bit_control. Fix check for buffer overflow.
12959 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
12960 (ccl_driver): Initialize extra_bytes to 0.
12961
129622008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
12963
12964 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
12965 return it ORed with ctrl_modifier.
12966
129672008-01-29 Miles Bader <miles@gnu.org>
12968
12969 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
12970
129712008-01-28 Jason Rumney <jasonr@gnu.org>
12972
12973 * w32.c (stat): Don't double check for networked drive.
12974
129752008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
12976
12977 * window.c (run_window_configuration_change_hook): New function.
12978 Code extracted from set_window_buffer. Set the selected frame.
12979 (set_window_buffer): Use it.
12980 * window.h (run_window_configuration_change_hook): Declare.
12981 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
12982
12983 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
12984
129852008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
12986
12987 * Makefile.in: Remove references to unused macros.
12988
129892008-01-26 Eli Zaretskii <eliz@gnu.org>
12990
12991 * w32.c (g_b_init_get_sid_sub_authority)
12992 (g_b_init_get_sid_sub_authority_count): New static variables.
12993 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
12994 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
12995 (init_user_info): Use them to retrieve uid and gid.
12996 Use 500/513, the Windows defaults, as Administrator's uid/gid.
12997 (fstat): Use pw_uid and pw_gid from the_passwd structure for
12998 st_uid and st_gid of the file.
12999
130002008-01-26 Jason Rumney <jasonr@gnu.org>
13001
13002 * w32.c (logon_network_drive): New function.
13003 (stat): Use it.
13004
130052008-01-26 Chong Yidong <cyd@stupidchicken.com>
13006
13007 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
13008 invisible text covered with an ellipsis.
13009
130102008-01-25 Richard Stallman <rms@gnu.org>
13011
13012 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
13013 jump back to beginning. Move some other initializations after that.
13014 (Qwindow_text_change_functions, Vwindow_text_change_functions):
13015 New variables.
13016 (syms_of_xdisp): Init them.
13017
13018 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
13019
13020 * buffer.c (reset_buffer_local_variables):
13021 Implement `permanent-local-hook'.
13022 (Qpermanent_local_hook): New variable.
13023 (syms_of_buffer): Init and staticpro it.
13024
130252008-01-25 Michael Albinus <michael.albinus@gmx.de>
13026
13027 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
13028
130292008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
13030
13031 * fns.c (Fclrhash): Return TABLE.
13032
130332008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13034
13035 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
13036 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
13037 is set even without positional changes.
13038 (x_scroll_bar_clear): Set bar->redraw_needed_p.
13039
13040 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
13041
130422008-01-23 Jason Rumney <jasonr@gnu.org>
13043
13044 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
13045
13046 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
13047 the unicode range available in MULE by locale-coding-system.
13048 Improve dbcs lead byte detection. Set event timestamp and modifiers
13049 earlier.
13050
130512008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13052
13053 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
13054 [MAC_OSX] (init_mac_osx_environment): Initialize it.
13055 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
13056 when used on child processes.
13057
130582008-01-21 Michael Albinus <michael.albinus@gmx.de>
13059
13060 * dbusbind.c (Fdbus_method_return_internal): Rename from
13061 Fdbus_method_return.
13062 (Fdbus_unregister_object): Move to dbus.el.
13063 (Fdbus_call_method, Fdbus_method_return_internal)
13064 (Fdbus_send_signal): Improve debug messages.
13065
130662008-01-20 Martin Rudalics <rudalics@gmx.at>
13067
13068 * undo.c (undo_inhibit_record_point): New variable.
13069 (syms_of_undo): Initialize it.
13070 (record_point): Don't record point when undo_inhibit_record_point
13071 is set.
13072
130732008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
13074
13075 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
13076
13077 * xdisp.c (Qauto_hscroll_mode): New var.
13078 (syms_of_xdisp): Initialize it.
13079 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
13080 window's buffer.
13081 (hscroll_windows): Don't check automatic_hscrolling_p here.
13082
13083 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
13084 vscroll if we're setting window-buffer to the value it already has.
13085
130862008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
13087
13088 * m/intel386.h: Remove references to XENIX.
13089
130902008-01-17 Andreas Schwab <schwab@suse.de>
13091
13092 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
13093 instead of HAVE_X86_64_LIB64_DIR.
13094 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
13095
130962008-01-17 Glenn Morris <rgm@gnu.org>
13097
13098 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
13099 to HAVE_X86_64_LIB64_DIR.
13100
131012008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
13102
13103 * s/irix3-3.h:
13104 * s/irix4-0.h:
13105 * s/386-ix.h:
13106 * s/domain.h:
13107 * s/hpux9-x11r4.h:
13108 * s/hpux9shxr4.h: Remove files for systems no longer supported.
13109
13110 * sysdep.c: Remove code containing references to symbols defined
13111 by unsupported systems.
13112
131132008-01-16 Glenn Morris <rgm@gnu.org>
13114
13115 * coding.c (select-safe-coding-system-function): Doc fix.
13116
131172008-01-15 Glenn Morris <rgm@gnu.org>
13118
13119 * config.in: Revert 2008-01-13 change: this is a generated file.
13120
131212008-01-13 Tom Tromey <tromey@redhat.com>
13122
13123 * lisp.h: Fix typo.
13124
131252008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
13126
13127 * m/sequent-ptx.h:
13128 * m/sequent.h:
13129 * s/ptx.h:
13130 * s/ptx4-2.h:
13131 * s/ptx4.h: Remove files for systems no longer supported.
13132
13133 * callproc.c (Fcall_process): Fix previous change.
13134
131352008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
13136
13137 * unexsunos4.c: Remove file, system not supported anymore.
13138
13139 * m/mips.h:
13140 * m/intel386.h:
13141 * callproc.c:
13142 * config.in:
13143 * ecrt0.c:
13144 * emacs.c:
13145 * fileio.c:
13146 * frame.c:
13147 * getpagesize.h:
13148 * keyboard.c:
13149 * lread.c:
13150 * process.c:
13151 * puresize.h:
13152 * sysdep.c:
13153 * systty.h:
13154 * syswait.h:
13155 * unexec.c:
13156 * xdisp.c:
13157 * alloc.c: Remove code containing references to symbols defined by
13158 unsupported systems.
13159
131602008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
13161
13162 * coding.c (detect_coding_mask): Fix previous change.
13163
131642008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
13165
13166 * coding.c (detect_coding_iso2022): New arg
13167 latin_extra_code_state. Allow Latin extra codes only
13168 when *latin_extra_code_state is nonzero.
13169 (detect_coding_mask): If there is a NULL byte, detect the encoding
13170 as UTF-16 or binary. If Latin extra codes exist, detect the
13171 encoding as ISO-2022 only when there's no other proper encoding is
13172 found.
13173
131742008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13175
13176 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
13177 #ifdef MAC_OS.
13178
131792008-01-08 Richard Stallman <rms@gnu.org>
13180
13181 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
13182
131832008-01-06 Nick Roberts <nickrob@snap.net.nz>
13184
13185 * keyboard.c (parse_menu_item): Don't enclose key bindings on
13186 menu bar in parentheses.
13187
131882008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
13189
13190 * m/7300.h:
13191 * m/acorn.h:
13192 * m/alliant-2800.h:
13193 * m/alliant.h:
13194 * m/alliant1.h:
13195 * m/alliant4.h:
13196 * m/altos.h:
13197 * m/amdahl.h:
13198 * m/apollo.h:
13199 * m/att3b.h:
13200 * m/aviion-intel.h:
13201 * m/aviion.h:
13202 * m/celerity.h:
13203 * m/clipper.h:
13204 * m/cnvrgnt.h:
13205 * m/convex.h:
13206 * m/cydra5.h:
13207 * m/delta88k.h:
13208 * m/dpx2.h:
13209 * m/dual.h:
13210 * m/elxsi.h:
13211 * m/f301.h:
13212 * m/gould-np1.h:
13213 * m/gould.h:
13214 * m/i860.h:
13215 * m/ibmps2-aix.h:
13216 * m/ibmrt-aix.h:
13217 * m/ibmrt.h:
13218 * m/irist.h:
13219 * m/is386.h:
13220 * m/isi-ov.h:
13221 * m/mega68.h:
13222 * m/mg1.h:
13223 * m/news-r6.h:
13224 * m/news-risc.h:
13225 * m/news.h:
13226 * m/nh3000.h:
13227 * m/nh4000.h:
13228 * m/ns16000.h:
13229 * m/ns32000.h:
13230 * m/nu.h:
13231 * m/orion.h:
13232 * m/orion105.h:
13233 * m/paragon.h:
13234 * m/pfa50.h:
13235 * m/plexus.h:
13236 * m/pyramid.h:
13237 * m/pyrmips.h:
13238 * m/sh3el.h:
13239 * m/sps7.h:
13240 * m/sr2k.h:
13241 * m/stride.h:
13242 * m/sun1.h:
13243 * m/sun2.h:
13244 * m/sun3-68881.h:
13245 * m/sun3-fpa.h:
13246 * m/sun3-soft.h:
13247 * m/sun3.h:
13248 * m/sun386.h:
13249 * m/symmetry.h:
13250 * m/tad68k.h:
13251 * m/tahoe.h:
13252 * m/targon31.h:
13253 * m/tek4300.h:
13254 * m/tekxd88.h:
13255 * m/tower32.h:
13256 * m/tower32v3.h:
13257 * m/ustation.h:
13258 * m/wicat.h:
13259 * m/xps100.h:
13260 * s/cxux.h:
13261 * s/cxux7.h:
13262 * s/dgux.h:
13263 * s/dgux4.h:
13264 * s/dgux5-4-3.h:
13265 * s/dgux5-4r2.h:
13266 * s/esix.h:
13267 * s/esix5r4.h:
13268 * s/hiuxmpp.h:
13269 * s/hiuxwe2.h:
13270 * s/iris3-5.h:
13271 * s/iris3-6.h:
13272 * s/isc2-2.h:
13273 * s/isc3-0.h:
13274 * s/isc4-0.h:
13275 * s/isc4-1.h:
13276 * s/newsos5.h:
13277 * s/newsos6.h:
13278 * s/osf1.h:
13279 * s/osf5-0.h:
13280 * s/riscix1-1.h:
13281 * s/riscix12.h:
13282 * s/sco4.h:
13283 * s/sco5.h:
13284 * s/sunos4-0.h:
13285 * s/sunos4-1.h:
13286 * s/sunos413.h:
13287 * s/sunos4shr.h:
13288 * s/umax.h:
13289 * s/unipl5-2.h:
13290 * s/xenix.h:
13291 * cxux-crt0.s:
13292 * unexapollo.c:
13293 * unexconvex.c:
13294 * unexenix.c:
13295 * unexsni.c: Remove files for systems no longer supported.
13296
13297 * m/intel386.h: Remove references to unsupported systems.
13298
13299 * w32.c (get_emacs_configuration): Remove reference to i860.
13300
13301 * sysdep.c: Remove dead code.
13302
133032008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
13304
13305 * s/rtu.h:
13306 * m/masscomp.h: Remove files. Platform is obsolete.
13307
133082008-01-04 Michael Albinus <michael.albinus@gmx.de>
13309
13310 * dbusbind.c (Fdbus_method_return): New function.
13311 (xd_read_message): Add the serial number to the event.
13312 (Fdbus_register_method): Activate the function.
13313
133142008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
13315
13316 * keyboard.c (read_key_sequence): Fix typo.
13317
133182008-01-03 Michael Albinus <michael.albinus@gmx.de>
13319
13320 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
13321 (xd_signature, xd_append_arg): Handle element type detection for
13322 empty arrays.
13323 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
13324 SDATA () calls; this must be solved more general.
13325 (Fdbus_register_signal): Use SBYTES instead of strlen.
13326
133272008-01-03 Magnus Henoch <magnus@zemdatav>
13328
13329 * dbusbind.c (xd_append_arg): Use unsigned char instead of
13330 unsigned int for byte values (necessary for big-endian platform).
13331 (Fdbus_call_method): Handle the case of no returned arguments.
13332
133332007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
13334
13335 * dbusbind.c (xd_read_message): Use non-static input_event struct.
13336
133372007-12-31 Magnus Henoch <mange@freemail.hu>
13338
13339 * dbusbind.c (xd_signature): Signature of variant is just "v".
13340
133412007-12-30 Michael Albinus <michael.albinus@gmx.de>
13342
13343 * dbusbind.c: Fix several errors and compiler warnings.
13344 Reported by Tom Tromey <tromey@redhat.com>.
13345 (XD_ERROR, XD_DEBUG_MESSAGE)
13346 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
13347 (xd_append_arg): Part for basic D-Bus types rewritten.
13348 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
13349 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
13350 appropriate.
13351 (xd_read_message): Return Qnil. Don't signal an error; it is not
13352 useful during event reading.
13353 (Fdbus_register_signal): Signal an error if the check for
13354 FUNCTIONP fails.
13355 (Fdbus_register_method): New function. The implementation is not
13356 complete, the call of the function signals an error therefore.
13357 (Fdbus_unregister_object): New function, renamed from
13358 Fdbus_unregister_signal. The initial check signals an error, if
13359 the object is not well formed.
13360
133612007-12-30 Richard Stallman <rms@gnu.org>
13362
13363 * textprop.c (get_char_property_and_overlay):
13364 Signal error if POSITION is out of range in a buffer.
13365
133662007-12-29 Martin Rudalics <rudalics@gmx.at>
13367
13368 * w32fns.c (Fx_create_frame): Make copy of frame parameters
13369 because the original parameters are in pure storage now.
13370
133712007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13372
13373 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
13374
133752007-12-22 Eli Zaretskii <eliz@gnu.org>
13376
13377 * callint.c (syms_of_callint) <command-history>: Add reference to
13378 history-length in the doc string.
13379
133802007-12-17 Jason Rumney <jasonr@gnu.org>
13381
13382 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
13383 before passing as wParam.
13384
133852007-12-22 Michael Albinus <michael.albinus@gmx.de>
13386
13387 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
13388 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
13389 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
13390 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
13391 as number.
13392 (Fdbus_call_method): Fix docstring.
13393
133942007-12-21 Michael Albinus <michael.albinus@gmx.de>
13395
13396 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
13397 New macros.
13398 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
13399 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
13400 Simplify.
13401 (xd_signature): New function.
13402 (xd_append_arg): Compute also signatures. Major rewrite.
13403 (xd_retrieve_arg): Make debug messages friendly.
13404 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
13405 Check for signatures of arguments.
13406
134072007-12-19 Michael Albinus <michael.albinus@gmx.de>
13408
13409 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
13410 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
13411 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
13412 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
13413 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
13414 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
13415 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
13416 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
13417 (xd_retrieve_value): Remove. Functionality included in ...
13418 (xd_append_arg): New function.
13419 (Fdbus_call_method, Fdbus_send_signal): Apply it.
13420
134212007-12-16 Michael Albinus <michael.albinus@gmx.de>
13422
13423 * dbusbind.c (top): Include <stdio.h>.
13424 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
13425 dbus_message_new_method_call and dbus_message_new_signal.
13426 (Fdbus_register_signal): Rename unique_name to uname.
13427 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
13428 non-existing unique name. Fix typos in matching rule. Return an
13429 object which is useful in Fdbus_unregister_signal.
13430 (Fdbus_unregister_signal): Reimplementation, in order to remove
13431 only the corresponding entry.
13432 (Vdbus_registered_functions_table): Change the order of entries.
13433 Apply these changes in xd_read_message and Fdbus_register_signal.
13434
134352007-12-16 Andreas Schwab <schwab@suse.de>
13436
13437 * fileio.c (Finsert_file_contents): Fix overflow check to not
13438 depend on undefined integer overflow.
13439
134402007-12-14 Jason Rumney <jasonr@gnu.org>
13441
13442 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
13443 for characters above 127.
13444
134452007-12-13 Jason Rumney <jasonr@gnu.org>
13446
13447 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
13448 before dereferencing array.
13449 (lookup_vk_code): Remove zero comparison.
13450
134512007-12-14 Michael Albinus <michael.albinus@gmx.de>
13452
13453 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
13454 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
13455 Use `unsigned int' instead of `uint'.
13456 (xd_read_message, Fdbus_register_signal): Split expressions into
13457 multiple lines before operators "&&" and "||", according to the
13458 GNU Coding Standards.
13459
134602007-12-14 Eli Zaretskii <eliz@gnu.org>
13461
13462 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
13463
134642007-12-12 Juri Linkov <juri@jurta.org>
13465
13466 * buffer.c (Frename_buffer): In interactive spec replace
13467 `read-buffer' with `read-string' that uses `buffer-name-history'
13468 as history, and the current buffer's name as default.
13469
134702007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
13471
13472 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
13473 manipulating the backtrace manually.
13474 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
13475 (struct backtrace, backtrace_list): Remove.
13476 (command_loop_1): Remove dead var `no_direct'.
13477
13478 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
13479 preserve non-built-in buffer-local variables.
13480 (Fkill_all_local_variables): Don't re-create&re-set permanent
13481 buffer-local variables.
13482
134832007-12-09 Juri Linkov <juri@jurta.org>
13484
13485 * buffer.c (Frename_buffer): Change interactive spec from "s" to
13486 Lisp code that uses `read-buffer' with current buffer as default.
13487
134882007-12-08 Michael Albinus <michael.albinus@gmx.de>
13489
13490 * dbusbind.c (xd_read_message): Generate an event for every
13491 registered handler. There might be several handlers registered
13492 for the same signal.
13493 (Fdbus_register_signal): Don't overwrite a registration for the
13494 same signal. Add a new registration if handlers are different.
13495 (Vdbus_registered_functions_table): Rework doc string.
13496
134972007-12-07 Michael Albinus <michael.albinus@gmx.de>
13498
13499 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
13500 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
13501 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
13502 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
13503 Unify argument lists.
13504 (xd_read_message, Fdbus_register_signal): Reorder and extend event
13505 arguments and hash table keys. Use unique name for service.
13506 (Fdbus_unregister_signal): Remove checks.
13507 (Vdbus_registered_functions_table): Fix doc string.
13508
135092007-12-05 Magnus Henoch <mange@freemail.hu>
13510
13511 * process.c (make_process): Initialize pty_flag to 0.
13512
135132007-12-05 Jason Rumney <jasonr@gnu.org>
13514
13515 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
13516 specified XBMs.
13517
135182007-12-05 Richard Stallman <rms@gnu.org>
13519
13520 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
13521
135222007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13523
13524 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
13525 New variable.
13526 (mac_try_close_socket) [MAC_OSX]: New function.
13527 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
13528 Update cfsockets_for_select. Replace invalid CFRunLoop source.
13529
13530 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
13531 Use mac_try_close_socket.
13532
135332007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13534
13535 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
13536 reloc_base.
13537 (copy_dysymtab): Compute relocation base here.
13538 (rebase_reloc_address) [__ppc64__]: New function.
13539 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
13540 changed.
13541
135422007-12-05 Jason Rumney <jasonr@gnu.org>
13543
13544 * w32proc.c (sys_spawnve): Quote args with wildcards.
13545
135462007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13547
13548 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
13549 __objc_* sections.
13550 (unrelocate) [_LP64]: Set relocation base to address of data segment.
13551
135522007-12-05 Michael Albinus <michael.albinus@gmx.de>
13553
13554 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
13555 Move check for Vdbus_registered_functions_table to
13556 xd_read_queued_messages.
13557 (xd_read_queued_messages): Protect xd_read_message calls by
13558 internal_condition_case_1.
13559
135602007-12-04 Michael Albinus <michael.albinus@gmx.de>
13561
13562 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
13563 Qdbus_system_bus and Qdbus_session_bus, respectively.
13564 (Vdbus_intern_symbols): Remove.
13565 (Vdbus_registered_functions_table): New hash table.
13566 (XD_SYMBOL_INTERN_SYMBOL): Remove.
13567 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
13568 Rewrite in order to manage registered functions by hash table
13569 Vdbus_registered_functions_table.
13570
135712007-12-03 Jan Djärv <jan.h.d@swipnet.se>
13572
13573 * xterm.c: Update URL to Window Manager Specification in comment.
13574
135752007-12-02 Michael Albinus <michael.albinus@gmx.de>
13576
13577 * config.in (HAVE_DBUS): Add.
13578
13579 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
13580 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
13581 (obj): Add $(DBUS_OBJ).
13582 (LIBES): Add $(DBUS_LIBS).
13583 (dbusbind.o): New target.
13584
13585 * dbusbind.c: New file.
13586
13587 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
13588
13589 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
13590 (Qdbus_event): New Lisp symbol.
13591 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
13592 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
b97439ce 13593 (keys_of_keyboard): Define dbus-event.
aac0c6e3
MR
13594
13595 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
13596
135972007-12-01 Richard Stallman <rms@gnu.org>
13598
13599 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
13600
136012007-11-30 Jason Rumney <jasonr@gnu.org>
13602
13603 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
13604 (w32con_reset_terminal_modes): Clear screen buffer.
13605 (w32_face_attributes): Don't use color indexes that are out of range.
13606 Only reverse the default colors.
13607
13608 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
13609 WINDOWSNT.
13610
13611 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
13612
136132007-11-29 Jason Rumney <jasonr@gnu.org>
13614
13615 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
13616 (w32_face_attributes): Use Vtty_defined_color_alist to determine
13617 if the terminal colors are initialized.
13618 (unspecified_fg, unspecified_bg): Remove unused declarations.
13619
136202007-11-29 Andreas Schwab <schwab@suse.de>
13621
13622 * keyboard.c (apply_modifiers): Fix typo.
13623
136242007-11-29 Richard Stallman <rms@gnu.org>
13625
13626 * keymap.c (Fcurrent_local_map): Doc fix.
13627
136282007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
13629
13630 * s/gnu-kfreebsd.h: New file.
13631
136322007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
13633
13634 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
13635 Don't cast redundantly.
13636
13637 * keyboard.c (KEY_TO_CHAR): New macro.
13638 (parse_modifiers, apply_modifiers): Accept integer arguments.
13639 (read_key_sequence): Use them to unify the "shift->unshift" mapping
13640 for chars and symbol keys.
13641 After doing such remapping, apply function-key-map again.
13642
136432007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
13644
13645 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
13646 compiled anymore.
13647
136482007-11-26 Andreas Schwab <schwab@suse.de>
13649
13650 * process.c (list_processes_1): Fix indentation level of the
13651 command column.
13652
136532007-11-23 Andreas Schwab <schwab@suse.de>
13654
13655 * editfns.c (Fformat): Handle %c specially since it requires the
13656 argument to be of type int.
13657
136582007-11-23 Markus Triska <markus.triska@gmx.at>
13659
13660 * emacs.c (main): Call init_editfns before init_process, since
13661 init_process sets Vprocess_connection_type depending on OS release.
13662
136632007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
13664
13665 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
13666 (find_symbol_value): Use do_symval_forwarding.
13667
13668 * data.c (set_internal): Set the value in the `cons-cell' (for
13669 Buffer_Local_values) not only for frame-local variables.
13670
136712007-11-22 Andreas Schwab <schwab@suse.de>
13672
13673 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
13674 values to sprintf.
13675 * keymap.c (Fsingle_key_description): Likewise.
13676 * print.c (print_object): Likewise.
13677
136782007-11-22 Jan Djärv <jan.h.d@swipnet.se>
13679
13680 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
13681 file for image is nil.
13682
136832007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
13684
13685 * term.c: Include stdarg.h.
13686 (fatal): Implement using varargs.
13687 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
13688
136892007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
13690
13691 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
13692 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
13693 Update call to buffer_slot_type_mismatch.
13694 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
13695 (buffer_slot_type_mismatch): Update.
13696 * buffer.c (buffer_local_types): Remove.
13697 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
13698 (defvar_per_buffer): Set the type in the buffer_objfwd.
13699
137002007-11-21 Jason Rumney <jasonr@gnu.org>
13701
13702 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
13703 CreateFileMapping returns NULL on failure.
13704
137052007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
13706
13707 * search.c (Fset_match_data): Remove the `evaporate' feature.
13708 (unwind_set_match_data): Don't use the `evaporate' feature.
13709
137102007-11-21 Jason Rumney <jasonr@gnu.org>
13711
13712 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
13713
13714 * w32console.c (w32con_write_glyphs): Remove unused variables.
13715
137162007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
13717
13718 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
13719
13720 * s/darwin.h (MULTI_KBOARD): Remove.
13721
13722 * macfns.c (x_create_tip_frame, Fx_create_frame)
13723 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
13724
137252007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
13726
13727 * buffer.c (Fbuffer_local_value): Remove redundant test.
13728 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
13729 than in `current-buffer' to match the comment.
13730 Do the swap using swap_in_global_binding.
13731
13732 * data.c (store_symval_forwarding, set_internal):
13733 * eval.c (specbind): Remove dead code.
13734
13735 * coding.c (detect_coding, Fupdate_coding_systems_internal):
13736 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
13737 Since we do not want to see internal Lisp_*fwd objects here.
13738
137392007-11-18 Jan Djärv <jan.h.d@swipnet.se>
13740
13741 * sysdep.c (init_system_name): Use getaddrinfo if available.
13742
13743 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
13744 (x_scroll_bar_note_movement): start, end, with, height in struct
13745 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
13746
137472007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
13748
13749 * puresize.h (BASE_PURESIZE): Increase to 1190000.
13750
137512007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
13752
13753 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
13754 This undoes Richard's change of 14-Oct-2002.
13755
13756 * alloc.c (allocate_other_vector):
13757 * lisp.h (allocate_other_vector): Remove.
13758
13759 * window.c (struct save_window_data): Move non-lisp data to the end
13760 and make it `int' rather than Lisp_Object.
13761 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
13762 Done wrap/unwrap integer values.
13763 (Fset_window_configuration, compare_window_configurations):
13764 Update use of fields to their new types.
13765
13766 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
13767 Turn integer fields into `int'. Merge x_window_low and x_window_high.
13768 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
13769 (SET_SCROLL_BAR_X_WINDOW): Remove.
13770 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
13771 Access the new x_window field directly.
13772 * xterm.c (x_scroll_bar_create): Use a pseudovector.
13773 Don't wrap/unwrap integers into Lisp_Objects.
13774 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
13775 (x_scroll_bar_report_motion):
13776 Don't wrap/unwrap integers into Lisp_Objects.
13777 (x_term_init): Use SDATA.
13778 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
13779 (x_scroll_bar_set_handle, x_scroll_bar_remove)
13780 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
13781 (x_scroll_bar_report_motion, x_scroll_bar_clear):
13782 * xfns.c (x_set_background_color):
13783 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
13784 Access the new x_window field directly.
13785
13786 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
13787 (allocate_pseudovector): Make non-static.
13788
13789 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
13790 (allocate_pseudovector): Declare.
13791 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
13792
137932007-11-15 Andreas Schwab <schwab@suse.de>
13794
13795 * editfns.c (Fformat): Correctly format EMACS_INT values.
13796 Also take precision into account when formatting an integer.
13797
13798 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
13799
138002007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
13801
13802 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
13803 (syms_of_keyboard): Defsubr it.
13804
13805 * data.c (swap_in_global_binding): Fix longstanding bug where
13806 store_symval_forwarding was not called with the right second argument,
13807 thus causing objfwd-ing from being dropped.
13808
138092007-11-14 Juanma Barranquero <lekktu@gmail.com>
13810
13811 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
13812 (Fx_display_pixel_height, Fx_display_planes)
13813 (Fx_display_color_cells, Fx_server_max_request_size)
13814 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
13815 (Fx_display_visual_class, Fx_display_save_under):
13816 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
13817 (Fx_display_pixel_height, Fx_display_planes)
13818 (Fx_display_color_cells, Fx_server_max_request_size)
13819 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
13820 (Fx_display_mm_height, Fx_display_mm_width)
13821 (Fx_display_backing_store, Fx_display_visual_class)
13822 (Fw32_select_font, Fx_display_save_under):
13823 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
13824 (Fx_display_pixel_height, Fx_display_planes)
13825 (Fx_display_color_cells, Fx_server_max_request_size)
13826 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
13827 (Fx_display_save_under): Fix typos in docstrings.
13828
138292007-11-14 Juanma Barranquero <lekktu@gmail.com>
13830
13831 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
13832 corresponding to deleted entries; they are an implementation detail.
13833 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
13834 Remove variables.
13835 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
13836 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
13837 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
13838 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
13839 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
13840 (Fw32_define_rgb_color, Fw32_load_color_file)
13841 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
13842 Fix typos in docstrings.
13843 (Fx_server_version): Reflow docstring.
13844 (Fw32_shell_execute): Doc fixes.
13845
138462007-11-13 Juanma Barranquero <lekktu@gmail.com>
13847
13848 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
13849 if w32_parse_hot_key returned nil.
13850
138512007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
13852
13853 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
13854
138552007-11-09 Jason Rumney <jasonr@gnu.org>
d6c952f8 13856
aac0c6e3
MR
13857 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
13858
13859 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
13860
13861 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
13862 Remove W32_SCROLL_BAR_CLICK_EVENT.
13863
13864 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
13865 Add MULTIMEDIA_KEY_EVENT.
13866
13867 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
13868 (lispy_multimedia_keys) [WINDOWSNT]: New array.
13869 (make_lispy_event) [WINDOWSNT]: Use it to translate
13870 MULTIMEDIA_KEY_EVENT.
13871
13872 * w32term.h (WM_APPCOMMAND): Define if not already.
13873 (GET_APPCOMMAND_LPARAM): Likewise.
13874
13875 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
13876 WM_APPCOMMAND.
13877
13878 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
13879 (syms_of_w32fns): Export and initialize it.
13880 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
13881
138822007-11-09 Chong Yidong <cyd@stupidchicken.com>
13883
13884 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
13885 twice.
13886
13887 * xdisp.c (handle_face_prop): Fix last change.
13888
138892007-11-09 Richard Stallman <rms@gnu.org>
13890
13891 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
13892 not just for after-strings and before-strings.
13893 Call face_for_overlay_string and pass the overlay to it.
13894 (handle_display_prop): Determine whether property came from an overlay.
13895 Pass OVERLAY arg to handle_single_display_spec.
13896 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
13897 (load_overlay_strings): Fill in it->string_overlays.
13898 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
13899
13900 * xfaces.c (face_for_overlay_string): Function renamed from
13901 face_at_buffer_position_no_overlays, and add arg OVERLAY.
13902
13903 * dispextern.h (struct it): New elt string_overlays.
13904 New elt from_overlay, also in stack.
13905 Rearrange a few elements.
13906 (face_for_overlay_string): Decl renamed from
13907 face_at_buffer_position_no_overlays, and add argument.
13908
139092007-11-09 Richard Stallman <rms@gnu.org>
13910
13911 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
13912 to get the base face for an overlay string.
13913
13914 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
13915
13916 * xfaces.c (face_at_buffer_position_no_overlays): New function.
13917
13918 * xdisp.c (handle_stop): Move some code out of loop.
13919
139202007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13921
13922 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
13923 Fix conversion from Lisp object to ATSUFontID.
13924
139252007-11-09 Jason Rumney <jasonr@gnu.org>
13926
13927 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
13928
139292007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13930
13931 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
13932 Don't assume regions are aligned to page boundary.
13933 (print_load_command_name): Add LC_UUID if defined.
13934
139352007-11-09 Richard Stallman <rms@gnu.org>
13936
13937 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
13938
139392007-11-07 Jason Rumney <jasonr@gnu.org>
13940
13941 * s/windows95.h: Remove.
13942
139432007-11-06 Jan Djärv <jan.h.d@swipnet.se>
13944
13945 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
13946 abort with a message on unhandled store_type values.
13947
139482007-11-01 Jan Djärv <jan.h.d@swipnet.se>
13949
13950 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
13951 Remove HAVE_X11R5 and HAVE_X11R4.
13952
139532007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
13954
13955 * Makefile.in: Remove references to sunfns.c and sunfns.o.
13956
139572007-11-01 Johan Bockgård <bojohan@gnu.org>
13958
13959 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
13960 Don't set s->stippled_p here, since it has already been set by
13961 x_set_glyph_string_gc from x_draw_glyph_string.
13962
139632007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
13964
13965 * sunfns.c: Remove file.
13966
13967 * m/sun386.h:
13968 * m/sun2.h:
13969 * m/sparc.h: Remove Sun windows code.
13970
139712007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
13972
13973 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
13974 (init_keyboard): Set current_kboard's window-system to nil.
13975 (tty_read_avail_input): Typo.
13976 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
13977
139782007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
13979
13980 * s/usg5-4.h:
13981 * s/usg5-3.h:
13982 * s/ptx.h:
13983 * m/is386.h:
13984 * m/ibmps2-aix.h:
13985 * Makefile.in: Remove all mentions of X10.
13986
13987 * dispnew.c (syms_of_display): Don't mention version 10.
13988
139892007-10-28 Juanma Barranquero <lekktu@gmail.com>
13990
13991 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
13992 ($(BLD)/abbrev.$(O)): Remove.
13993
139942007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
13995
13996 Rewrite abbrev.c in Elisp.
13997 * image.c (Qcount): Don't declare as extern.
13998 (syms_of_image): Initialize and staticpro `Qcount'.
13999 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
14000 * emacs.c (main): Don't call syms_of_abbrev.
14001 * Makefile.in (obj): Remove abbrev.o.
14002 (abbrev.o): Remove.
14003 * abbrev.c: Remove.
14004
140052007-10-26 Martin Rudalics <rudalics@gmx.at>
14006
14007 * window.c (window_min_size_2): Don't count header-line.
14008
140092007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
14010
14011 * frame.h (struct frame): Move all bit fields after the first bit
14012 field to take advantage of the available space. Group all the
14013 chars together to reduce wasted space due to padding.
14014
140152007-10-26 Juanma Barranquero <lekktu@gmail.com>
14016
14017 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
14018
14019 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
14020 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
14021 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
14022 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
14023 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
14024 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
14025 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
14026 (last_marked, mark_object_loop_halt): Make static.
14027
14028 * frame.c (syms_of_frame) <delete-frame-functions>:
14029 Fix typo in docstring.
14030
140312007-10-25 Juanma Barranquero <lekktu@gmail.com>
14032
14033 * w32.c (init_environment): Fix tiny memory leak.
14034 (w32_get_resource): Remove unused variable `ok'.
14035
140362007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
14037
14038 Make `window-system' into a keyboard-local variable (rather than
14039 frame-local as done originally by multi-tty).
14040
14041 * keyboard.h (struct kboard): Add Vwindow_system.
14042 * keyboard.c (init_kboard): Set a default for Vwindow_system.
14043 (mark_kboards): Mark Vwindow_system.
14044
14045 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
14046 (init_display): Don't set the obsolete `window-system' frame-param.
14047
14048 * xterm.c (x_term_init):
14049 * w32term.c (w32_create_terminal):
14050 * term.c (init_tty): Set Vwindow_system.
14051 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
14052 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
14053
14054 * xfns.c (Fx_create_frame, x_create_tip_frame):
14055 * w32fns.c (Fx_create_frame, x_create_tip_frame):
14056 * macfns.c (Fx_create_frame):
14057 Don't set the obsolete `window-system' frame-param.
14058
14059 * frame.h (Qwindow_system): Remove.
14060 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
14061 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
14062
140632007-10-24 Richard Stallman <rms@gnu.org>
14064
14065 * frame.c (x_figure_window_size): For fullscreen case,
14066 set USPosition | PPosition without clobbering rest of window_prompting.
14067
14068 * keyboard.c (Fcurrent_idle_time): Doc fix.
14069
14070 * print.c (Fwith_output_to_temp_buffer): Doc fix.
14071
140722007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
14073
14074 * process.c (unwind_request_sigio): Only define if __ultrix__.
14075
14076 * callproc.c (child_setup): Remove spurious *.
14077
14078 * lisp.h (Fget_text_property): Declare.
14079 (have_menus_p): Declare it here rather than in sys-dep header files.
14080 * macterm.h (have_menus_p):
14081 * msdos.h (have_menus_p):
14082 * xterm.h (have_menus_p): Remove.
14083
14084 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
14085 (Fmake_variable_frame_local): Just check the variable's const-ness
14086 rather than checking nil or t.
14087
140882007-10-22 Jason Rumney <jasonr@gnu.org>
14089
14090 * w32fns.c: Include math.h.
14091 (w32_abort): Declaration moved to nt/config.nt.
14092
14093 * s/ms-w32.h (HAVE_STDLIB_H): Define.
14094 (abort): Redefinition moved to nt/config.nt.
14095
14096 * m/windowsnt.h: Remove.
14097
140982007-10-22 Juanma Barranquero <lekktu@gmail.com>
14099
14100 * emacs.c (Fdump_emacs): Fix typo in message.
14101 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
14102 <installation-directory>: Reflow docstring.
14103
141042007-10-22 Juri Linkov <juri@jurta.org>
14105
14106 * minibuf.c: Allow minibuffer default to be a list of default values.
14107 With empty input use the first element of this list as returned default.
14108 (string_to_object)
14109 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
14110 (read_minibuf): If defalt is cons, set histstring to its car.
14111 (Fread_string): If default_value is cons, set val to its car.
14112 (Fread_buffer): If def is cons, use its car.
14113 (Fcompleting_read): If defalt is cons, set val to its car.
14114
141152007-10-21 Michael Albinus <michael.albinus@gmx.de>
14116
14117 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
14118
141192007-10-20 Juanma Barranquero <lekktu@gmail.com>
14120
14121 * doc.c (Fdocumentation): Check for advice in all cases.
14122
141232007-10-19 Chong Yidong <cyd@stupidchicken.com>
14124
14125 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
14126
141272007-10-19 Richard Stallman <rms@gnu.org>
14128
14129 * doc.c (Fdocumentation): Check for and handle an advised function.
14130
141312007-10-19 Juanma Barranquero <lekktu@gmail.com>
14132
14133 * process.c (Fset_process_filter): Doc fix.
14134
141352007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
14136
14137 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
14138 which caused key-translation-map to applied repeatedly (thus breaking
14139 double-mode).
14140
141412007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
14142
14143 * xselect.c (x_own_selection, x_handle_selection_clear)
14144 (x_clear_frame_selections):
14145 * w32menu.c (list_of_panes, list_of_items):
14146 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
14147 * textprop.c (validate_plist, interval_has_all_properties)
14148 (interval_has_some_properties, interval_has_some_properties_list)
14149 (add_properties, text_property_list):
14150 * process.c (Fget_buffer_process, list_processes_1, status_notify):
14151 * minibuf.c (Fassoc_string):
14152 * macselect.c (x_own_selection, x_clear_frame_selections)
14153 (Fx_disown_selection_internal):
14154 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
14155 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
14156
141572007-10-17 Chong Yidong <cyd@stupidchicken.com>
14158
14159 * process.c: Link to libs for calling res_init() if available.
14160 (Fmake_network_process): Call res_init() before getaddrinfo or
14161 gethostbyname, if possible.
14162
141632007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
14164
14165 * lread.c (read1): Set pvectype for char_tables.
14166
14167 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
14168 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
14169 Add type checks.
14170 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
14171
14172 * alloc.c (free_misc): Use XMISCTYPE.
14173 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
14174
141752007-10-17 Glenn Morris <rgm@gnu.org>
14176
14177 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
14178 (syms_of_minibuf): Add Qcompletion_ignore_case.
14179 * dired.c (Qcompletion_ignore_case): Change to external.
14180 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
14181 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
14182 (Fread_file_name): Use it rather than intern'ing.
14183
14184 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
14185 (Fread_coding_system): Ignore case of user input.
14186
141872007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14188
14189 * xdisp.c (handle_display_prop): Ignore display specs after
14190 replacing one when string text is being replaced.
14191 (handle_single_display_spec): Pretend as if characters with display
14192 property haven't been consumed only when buffer text is being replaced.
14193
141942007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
14195
14196 * xfns.c (Fx_create_frame, Fx_display_list):
14197 * window.c (window_fixed_size_p, enlarge_window)
14198 (shrink_window_lowest_first):
14199 * macterm.c (init_font_name_table):
14200 * macfns.c (Fx_create_frame, Fx_display_list):
14201 * lread.c (close_load_descs):
14202 * keyboard.c (read_char_x_menu_prompt):
14203 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
14204 * coding.c (code_convert_region_unwind): Test the type of an object
14205 rather than just !NILP before extracting data from it.
14206
14207 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
14208
14209 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
14210 (XMISCANY): New macro.
14211 (XMISCTYPE): Use it.
14212 (struct Lisp_Misc_Any): New type.
14213 (union Lisp_Misc): Use it.
14214 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
14215 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
14216 (find_symbol_value, set_internal, default_value, Fset_default)
14217 (Fmake_variable_buffer_local, Fmake_local_variable)
14218 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
14219 (Flocal_variable_if_set_p, Fvariable_binding_locus):
14220 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
14221 * alloc.c (allocate_buffer): Set the size and tag.
14222 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
14223 Use XMISCANY.
14224 (die): Follow the GNU convention for error messages.
14225 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
14226 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
14227 tag any more.
14228 (set_buffer_internal_1):
14229 * frame.c (store_frame_param):
14230 * eval.c (specbind):
14231 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
14232
14233 * doc.c (Fsnarf_documentation): Simplify.
14234
142352007-10-14 Juanma Barranquero <lekktu@gmail.com>
14236
14237 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
14238 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
14239
142402007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
14241
14242 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
14243
142442007-10-14 Juanma Barranquero <lekktu@gmail.com>
14245
14246 * eval.c (do_autoload): Don't save autoloads.
14247
14248 * data.c (Ffset): Save autoload of the function being set.
14249
142502007-10-07 John Paul Wallington <jpw@pobox.com>
14251
14252 * xfns.c (x_create_tip_frame): Set the `display-type' frame
14253 parameter before setting up faces.
14254
142552007-10-13 Eli Zaretskii <eliz@gnu.org>
14256
14257 * ccl.c (Fregister_code_conversion_map):
14258 * keyboard.c (append_tool_bar_item): Reformat last change.
14259
14260 * lisp.h (eabs): Rename from `abs'. All callers changed.
14261
142622007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
14263
14264 * buffer.c (add_overlay_mod_hooklist):
14265 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
14266 * fontset.c (make_fontset):
14267 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
14268 (append_tool_bar_item):
14269 * macmenu.c (grow_menu_items):
14270 * w32menu.c (grow_menu_items):
14271 * xmenu.c (grow_menu_items): Use larger_vector.
14272
142732007-10-13 Eli Zaretskii <eliz@gnu.org>
14274
14275 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
14276 selected frame'' on MSDOS).
14277
142782007-10-12 Martin Rudalics <rudalics@gmx.at>
14279
14280 * frame.c (Qexplicit_name): New variable.
14281 (x_report_frame_params): Report it in parameter alist.
14282 (syms_of_frame): Intern and staticpro it.
14283
142842007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
14285
14286 * macfns.c (x_create_tip_frame): Set terminal for frame.
14287
142882007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
14289
14290 * frame.c (Qenvironment): Remove.
14291 (syms_of_frame) <Qenvironment>: Don't initialize.
14292 (Fdelete_frame): Don't treat the `environment' param specially.
14293 * frame.h (Qenvironment): Don't declare.
14294 * callproc.c (set_initial_environment): Don't set unused frame param.
14295
14296 * frame.c (Fframe_with_environment): Remove.
14297 (syms_of_frame) <Sframe_with_environment>: Don't declare.
14298
14299 * lisp.h (Fframe_with_environment): Don't declare.
14300
143012007-10-10 Juanma Barranquero <lekktu@gmail.com>
14302
14303 * indent.c (indent_tabs_mode, last_known_column)
14304 (last_known_column_modified): Make static.
14305 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
14306
143072007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
14308
14309 * puresize.h (BASE_PURESIZE): Increase to 1170000.
14310
143112007-10-09 Jason Rumney <jasonr@gnu.org>
14312
14313 * w32term.c (x_set_window_size): Disable code that attempts to tell
14314 Lisp code about a size change before it actually happens.
14315
143162007-10-09 Richard Stallman <rms@gnu.org>
14317
14318 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
14319 return HANDLED_RETURN.
14320
143212007-10-08 Martin Rudalics <rudalics@gmx.at>
14322
14323 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
14324 when there's an unread command event.
14325
14326 * frame.c (focus_follows_mouse): Move here from frame.el to allow
14327 window autoselection act appropriately when leaving selected frame.
14328 (syms_of_frame): Initialize focus_follows_mouse.
14329 * frame.h (focus_follows_mouse): Extern it.
14330 * macterm.c (XTread_socket): When focus_follows_mouse is nil
14331 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
14332 * msdos.c (dos_rawgetc): Likewise.
14333 * w32term.c (w32_read_socket): Likewise.
14334 * xterm.c (handle_one_xevent): Likewise.
14335 * xdisp.c (syms_of_xdisp): In doc-string of
14336 mouse-autoselect-window mention focus-follows-mouse.
14337
143382007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14339
14340 * macterm.c (mac_load_query_font): Fix missing return value.
14341 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
14342 Add BLOCK_INPUT.
14343
143442007-10-08 Richard Stallman <rms@gnu.org>
14345
14346 * xdisp.c (get_window_cursor_type): Implement documented behavior
14347 for cursor-in-non-selected-windows = t.
14348
143492007-10-08 Jason Rumney <jasonr@gnu.org>
14350
14351 * w32.c (w32_get_resource): Always close registry keys.
14352
143532007-10-08 Jason Rumney <jasonr@gnu.org>
14354
14355 * makefile.w32-in (LIBS): Add COMCTL32.
14356
14357 * w32fns.c (globals_of_w32fns): Init common controls.
14358
143592007-10-08 Richard Stallman <rms@gnu.org>
14360
14361 * image.c (our_memory_buffer): Rename from omfib_buffer.
14362
143632007-10-08 Richard Stallman <rms@gnu.org>
14364
14365 * buffer.c (Foverlays_at): Doc fix.
14366
143672007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
14368
14369 * fns.c (Fplist_put): Preserve uneven tail data.
14370
143712007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
14372
14373 * termhooks.h (enum event_kind): Remove trailing comma.
14374
14375 * frame.h (enum): Remove trailing comma.
14376
143772007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
14378
14379 * w32proc.c (delete_child): Don't terminate threads of zombies.
14380
143812007-10-08 Martin Rudalics <rudalics@gmx.at>
14382
14383 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
14384
14385 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
14386 last-repeatable-command.
14387 (init_kboard): Initialize Vlast_repeatable_command.
14388 (command_loop_1): Set it to real_this_command unless that was
14389 bound to an input event.
14390 (mark_kboards): Mark it.
14391
143922007-10-08 Richard Stallman <rms@gnu.org>
14393
14394 * eval.c (condition-case): Doc fix.
14395
143962007-10-08 Masatake YAMATO <jet@gyve.org>
14397
14398 * xfaces.c (tty_supports_face_attributes_p): Fix code
14399 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
14400 was copied and not edited.
14401
144022007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
14403
14404 Add new `input-decode-map' keymap and use it for terminal
14405 escape sequences.
14406 * keyboard.h (struct kboard): Add Vinput_decode_map.
14407 Remove Vlocal_key_translation_map.
14408 * keyboard.c (read_key_sequence): Add support for input-decode-map.
14409 (init_kboard): Init input-decode-map.
14410 Replace local-key-translation-map back with key-translation-map.
14411 (syms_of_keyboard): Declare input-decode-map.
14412 Remove local-key-translation-map. Update docstrings.
14413 (mark_kboards): Mark Vinput_decode_map.
14414 Don't mark Vlocal_key_translation_map.
14415 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
14416 Replace local-key-translation-map back with key-translation-map.
14417 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
14418 Bind in input-decode-map rather than function-key-map.
14419
14420 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
14421 This was made redundant by the previous introduction of XSETPVECTYPE.
14422
144232007-10-09 Richard Stallman <rms@gnu.org>
14424
14425 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
14426
144272007-09-29 Richard Stallman <rms@gnu.org>
14428
14429 * eval.c (internal_condition_case_2, internal_condition_case_1)
14430 (internal_condition_case): Reenable abort if x_catching_errors ()
14431 to see if that really happens and why.
14432
144332007-10-06 Andreas Schwab <schwab@suse.de>
14434
14435 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
14436
144372007-10-04 Juanma Barranquero <lekktu@gmail.com>
14438
14439 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
14440
144412007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
14442
14443 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
14444
144452007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
14446
14447 * window.h (struct window):
14448 * window.c (struct save_window_data, struct saved_window):
14449 * termhooks.h (struct terminal):
14450 * process.h (struct Lisp_Process):
14451 * frame.h (struct frame):
14452 * buffer.h (struct buffer):
14453 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
14454 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
14455 The size field of (pseudo)vectors is now unsigned.
14456 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
14457
14458 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
14459 Turn `count' into an integer.
14460
14461 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
14462 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
14463 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
14464 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
14465 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
14466
14467 * alloc.c (allocate_pseudovector): New fun.
14468 (ALLOCATE_PSEUDOVECTOR): New macro.
14469 (allocate_window, allocate_terminal, allocate_frame)
14470 (allocate_process): Use it.
14471 (mark_vectorlike): New function.
14472 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
14473 (mark_terminals): Use it.
14474 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
14475 (Fmake_byte_code): Use XSETPVECTYPE.
14476
14477 * frame.c (Fframe_parameters): Minor simplification.
14478
14479 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
14480
14481 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
14482
14483 * buffer.c (Fget_buffer_create, init_buffer_once):
14484 * lread.c (defsubr):
14485 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
14486
14487 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
14488 defined differently in the m/*.h files.
14489 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
14490 (XSETPVECTYPE): New macro.
14491 (XSETPSEUDOVECTOR): Use it.
14492
14493 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
14494 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
14495
14496 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
14497 * lread.c (defvar_per_buffer):
14498 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
14499
14500 * window.c (candidate_window_p): Only consider as visible frames that
14501 are on the same terminal.
14502
14503 * m/ibms390x.h (MARKBIT): Remove unused macro.
14504
145052007-10-01 Juanma Barranquero <lekktu@gmail.com>
14506
14507 * lread.c (Fload): Fix typo in docstring.
14508
145092007-10-01 Michaël Cadilhac <michael@cadilhac.name>
14510
14511 * floatfns.c (Fexpt): Manually check for overflows, so that a power
14512 of a non-zero value can't yield zero.
14513
145142007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
14515
14516 * term.c (term_clear_mouse_face, term_mouse_highlight)
14517 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
14518
14519 * print.c (safe_debug_print): Use XHASH.
14520
14521 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
14522 Lisp elements such as tags.
14523 (XHASH): New macro.
14524 (EQ): Use it.
14525 (SREF, SSET, STRING_COPYIN): Use SDATA.
14526 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
14527
14528 * alloc.c (mark_terminal): Remove left-over declaration.
14529 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
14530 (allocate_vectorlike): Remove type argument. Adjust callers.
14531 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
14532 Only handle the one remaining MEM_TYPE_VECTORLIKE.
14533
14534 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
14535 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
14536 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
14537 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
14538 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
14539 Use them.
14540
14541 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
14542 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
14543 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
14544
145452007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
14546
14547 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
14548 loaded by default.
14549
145502007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
14551
14552 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
14553 on this tty.
14554 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
14555
14556 * term.c (mouse_face_window): Rename from Qmouse_face_window.
14557 Update all users.
14558 (handle_one_term_event): Use Gpm_DrawPointer.
14559 (Fgpm_mouse_start): Rename from Fterm_open_connection.
14560 Signal errors instead of returning nil. Always return nil.
14561 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
14562 Make it a noop if gpm-mouse was not activated.
14563 (syms_of_term): Update names.
14564
145652007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
14566
14567 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
14568 (init_sys_modes): Check that gpm_tty is the current tty.
14569
14570 * alloc.c (allocate_terminal): Set the vector size to only count the
14571 lisp fields. Initialize those to nil.
14572 (mark_object): Don't treat terminals specially.
14573 (mark_terminal): Remove.
14574 (mark_terminals): Use mark_object instead.
14575
14576 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
14577 the GC to the beginning.
14578
14579 * indent.h:
14580 * indent.c: Use EMACS_INT for ints coming from Elisp data.
14581
14582 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
14583
145842007-09-25 Jason Rumney <jasonr@gnu.org>
14585
14586 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
14587
14588 * w32console.c (create_w32cons_output): Remove.
14589
14590 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
14591
14592 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
14593 (reset_sys_modes): Use reset_terminal_modes_hook.
14594
145952007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
14596
14597 * eval.c (do_autoload): Don't output any message.
14598
145992007-09-24 Juri Linkov <juri@jurta.org>
14600
14601 * emacs.c (standard_args): Change priority of "--no-splash"
14602 from 40 to 3. Add "--no-desktop" with the same priority.
14603
146042007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
14605
14606 * alloc.c (gc_sweep): Check cons cell mark bits word by word
14607 and optimize the case where they are all 1.
14608
146092007-09-23 Johannes Weiner <hannes@saeurebad.de>
14610
14611 * lisp.h (abs): Define if not defined.
14612 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
14613 Don't define `abs', since it's defined in lisp.h.
14614
146152007-09-22 Eli Zaretskii <eliz@gnu.org>
14616
14617 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
14618 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
14619 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
14620 (init_tty): Use DEV_TTY instead of "/dev/tty".
14621 [WINDOWSNT]: No need to protect from NAME arg being null.
14622
146232007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
14624
14625 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
14626 up the tty state.
14627
146282007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
14629
14630 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
14631 (gpm_tty): Change its type.
14632 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
14633 (gpm_tty): Change its type and initialize it.
14634 (Fterm_open_connection): Check the frame is indeed a tty.
14635 Use the new gpm_tty.
14636 (Fterm_close_connection): Use the new gpm_tty.
14637 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
14638 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
14639
146402007-09-21 Juanma Barranquero <lekktu@gmail.com>
14641
14642 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
14643 underline_color, to draw strike-through.
14644
146452007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
14646
14647 * lisp.h (allocate_terminal): Declare.
14648
14649 * window.c (candidate_window_p): Consider frames that are being placed
14650 by the user as somewhere between visible and iconified.
14651 (window_loop): Prefer windows on the current frame.
14652 (Fselect_window): Move the use of select-frame to the beginning so we
14653 can just delegate all the work (it'll call us back anyway).
14654
14655 * frame.c (Qdisplay_environment_variable):
14656 * frame.h (Qdisplay_environment_variable): Delete.
14657
14658 * .gdbinit (xbacktrace): Print the arg's address rather than the value
14659 of the first arg, since that value may be a union.
14660
14661 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
14662 parameter rather than Qdisplay_environment_variable. If all else
14663 fails, look for DISPLAY in initial-environment.
14664
146652007-09-21 Glenn Morris <rgm@gnu.org>
14666
14667 * Makefile.in (emacstool): Remove target.
14668 (lisp, shortlisp): Remove termdev.elc.
14669
146702007-09-21 Markus Triska <markus.triska@gmx.at>
14671
14672 * xterm.c (x_delete_display): Compile session management conditionally.
14673
146742007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
14675
14676 * callproc.c (getenv_internal_1): New function.
14677 (getenv_internal): Use it.
14678 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
14679
14680 * terminal.c (get_terminal): Don't accept ints to represent terminals.
14681 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
14682 (Fset_terminal_parameter): Work with dead terminals as well.
14683 (Fmodify_terminal_parameters): Remove.
14684
14685 * terminal.c (get_terminal): Handle terminals.
14686 Make sure the terminal returned is live.
14687 (create_terminal): Use allocate_terminal.
14688 (mark_terminals): Move to alloc.c.
14689 (delete_terminal): Use terminal->name as liveness status.
14690 NULL out fields after freeing their contents.
14691 Don't deallocate the object.
14692 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
14693 rather than an int.
14694 (Fterminal_live_p): Accept non-integer arguments.
14695 (Fterminal_list): Return terminal objects rather than an ints.
14696
14697 * alloc.c (enum mem_type): New member for `terminal' objects.
14698 (allocate_terminal): New function.
14699 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
14700 Handle terminals.
14701 (mark_terminal): New fun.
14702 (mark_terminals): Move from terminal.c.
14703
14704 * term.c (get_tty_terminal): Don't treat output_initial specially.
14705 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
14706 (delete_tty): Use terminal->name as liveness status.
14707
14708 * termhooks.h (struct terminal): Make it into a pseudovector.
14709 Remove `deleted' replaced by checking `name's nullness.
14710
14711 * print.c (print_object): Handle terminals.
14712
14713 * lisp.h (enum pvec_type): New `terminal' pseudovector.
14714 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
14715
14716 * frame.c (make_terminal_frame):
14717 * keyboard.c (tty_read_avail_input):
14718 * w32term.c (x_delete_terminal):
14719 * xfns.c (Fx_create_frame, x_create_tip_frame):
14720 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
14721
147222007-09-20 Glenn Morris <rgm@gnu.org>
14723
14724 * process.c (Fmake_network_process): Doc fix.
14725
147262007-09-19 Jason Rumney <jasonr@gnu.org>
14727
14728 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
14729
147302007-09-19 Michaël Cadilhac <michael@cadilhac.name>
14731
14732 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
14733 Fix a C warning regarding variable constness.
14734
14735 * xterm.c (handle_one_xevent): Fix a C warning.
14736
147372007-09-18 Jason Rumney <jasonr@gnu.org>
14738
14739 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
14740
147412007-09-17 Jan Djärv <jan.h.d@swipnet.se>
14742
14743 * gtkutil.c (gdpy_def): New variable.
14744 (xg_initialize): Initialize gdpy_def.
14745 (xg_display_close): If no other display exists, set gdpy_def to a
14746 new connection.
14747
147482007-09-16 Jan Djärv <jan.h.d@swipnet.se>
14749
14750 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
14751 when we have no file name for the icon.
14752 (xg_tool_bar_expose_callback): Remove.
14753 (xg_create_tool_bar): Don't connect expose signal to
14754 xg_tool_bar_expose_callback.
14755 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
14756
147572007-09-16 Andreas Schwab <schwab@suse.de>
14758
14759 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
14760 values instead of zapping them.
14761
147622007-09-14 Glenn Morris <rgm@gnu.org>
14763
14764 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
14765 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
14766 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
14767 scope and rename to omfib_buffer for clarity.
14768 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
14769
147702007-09-14 Kenichi Handa <handa@m17n.org>
14771
14772 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
14773
147742007-09-13 Jason Rumney <jasonr@gnu.org>
14775
14776 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
14777
14778 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
14779
14780 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
14781 (mac_term_init): Call here instead, passing rif.
14782
147832007-09-13 Glenn Morris <rgm@gnu.org>
14784
14785 * s/hpux.h: No longer define `static' as nothing.
14786
147872007-09-13 Johan Bockgård <bojohan@gnu.org>
14788
14789 * callint.c (Fcall_interactively): Remove unused var `fun'.
14790
147912007-09-12 Romain Francoise <romain@orebokech.com>
14792
14793 * window.c (prefer_window_split_horizontally, display_buffer):
14794 Revert 2007-09-08 change.
14795
147962007-09-12 Glenn Morris <rgm@gnu.org>
14797
14798 * alloca.c: Remove file.
14799 * Makefile.in (alloca): Do not undef.
14800 (allocaobj, alloca.o): Remove.
14801 (otherobj): Remove allocaobj.
14802 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
14803 * regex.c (C_ALLOCA): Remove all references and code that was only
14804 used when this was defined.
14805 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
14806 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
14807 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
14808
14809 * Makefile.in (SOURCES, unlock, relock): Delete.
14810
14811 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
14812 (menu_grab_callback): All uses changed.
14813
14814 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
14815 (x_reply_selection_request): All uses changed.
14816
148172007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
14818
14819 * lread.c (load_warn_old_style_backquotes): Change message to look
14820 better when it appears in the middle of byte-compiler messages.
14821
148222007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
14823
14824 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
14825
14826 * xterm.c (x_create_terminal): Add comment.
14827
14828 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
14829
148302007-09-10 Richard Stallman <rms@gnu.org>
14831
14832 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
14833
148342007-09-10 Michaël Cadilhac <michael@cadilhac.name>
14835
14836 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
14837 (DEFUN): Document `intspec', use it instead of `prompt'.
14838
14839 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
14840
14841 * data.c (Finteractive_form): If the interactive specification starts
14842 with a `(', use it as a Lisp form.
14843
14844 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
14845 name and file modes.
14846
14847 * callint.c (Fcall_interactively): Comment fixes.
14848
148492007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
14850
14851 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
14852 and compiled functions.
14853
148542007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
14855
14856 * window.c (prefer_window_split_horizontally): New variable.
14857 (display_buffer): Consider splitting window horizontally depending
14858 on prefer_window_split_horizontally.
14859
148602007-09-08 Eli Zaretskii <eliz@gnu.org>
14861
14862 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
14863
148642007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
14865
14866 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
14867
14868 * frame.c (x_set_frame_parameters): Check number is positive before
14869 using XFASTINT.
14870
14871 * window.c (freeze_window_start): Don't presume selected_window holds
14872 a window object.
14873 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
14874
148752007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
14876
14877 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
14878
148792007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
14880
14881 * window.c (Vsplit_window_preferred_function): New var.
14882 (Fdisplay_buffer): Use it.
14883 (syms_of_window): Export, and initialize it.
14884
148852007-09-06 Pixel <pixel@mandriva.com> (tiny change)
14886
14887 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
14888
148892007-09-06 Glenn Morris <rgm@gnu.org>
14890
14891 * gtkutil.c (menu_grab_callback) <cnt>:
14892 * xselect.c (x_reply_selection_request) <cnt>: Move static
14893 variable to file scope.
14894
148952007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
14896
14897 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
14898 consistent values of selected_frame and selected_window.
14899
149002007-09-04 Jason Rumney <jasonr@gnu.org>
14901
14902 * w32console.c (initialize_w32_display): Zero unused hooks.
14903
149042007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
14905
14906 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
14907 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
14908
149092007-09-04 Jason Rumney <jasonr@gnu.org>
14910
14911 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
14912 in w32console.c. Set up input. Remove XXX comments that have been
14913 confirmed as correct.
14914
14915 * s/ms-w32.h (MULTI_KBOARD): Define.
14916
14917 * w32console.c (one_and_only_w32cons): Remove.
14918 (initialize_w32_display): Take terminal argument.
14919
14920 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
14921 initialize_w32_display.
14922 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
14923
14924 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
14925
14926 * keyboard.c (discard_mouse_events): Discard it.
14927 (make_lispy_event): Translate it to a lisp event.
14928 (lispy_wheel_names): Add wheel-left and right events.
14929 (syms_of_keyboard): Enlarge wheel_syms.
14930
14931 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
14932 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
14933
14934 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
14935
14936 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
14937 from WM_MOUSEHWHEEL.
14938 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
14939
14940 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
14941 terminal.
14942
14943 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
14944 keyboard for the terminal.
14945
149462007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
14947
14948 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
14949 (Vresume_tty_hook): Rename from Vresume_tty_functions.
14950 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
14951 and resume-tty-function to resume-tty-hook.
14952 (Fsuspend_tty, Fresume_tty): Use new names.
14953
149542007-09-02 Jan Djärv <jan.h.d@swipnet.se>
14955
14956 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
14957 if it starts with "n:".
14958
149592007-08-31 Jan Djärv <jan.h.d@swipnet.se>
14960
14961 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
14962
149632007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
14964
14965 * frame.h:
14966 * frame.c (Qterm_environment_variable): Remove.
14967 (syms_of_frame): Don't init and staticpro it.
14968
14969 * callproc.c (getenv_internal): Remove special case for $TERM.
14970
14971 * callproc.c (Vinitial_environment): New variable.
14972 (set_initial_environment): Initialize it.
14973 (syms_of_callproc): Declare it.
14974 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
14975 TERM under which a process runs is never related to the TERM in which
14976 Emacs is running.
14977
149782007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
14979
14980 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
14981 * s/darwin.h: ... do it here.
14982
149832007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
14984
14985 * lisp.h (set_initial_environment): Rename from set_global_environment.
14986
14987 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
14988 removed by mistake on the multi-tty branch.
14989
14990 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
14991 (Fmodify_frame_parameters): Return a value.
14992
14993 * image.c (png_load): Comment-out var only used in commented-out code.
14994
14995 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
14996 before passing it to mark_object.
14997
14998 * xfaces.c (internal_resolve_face_name): Return a value.
14999 (internal_resolve_face_name, resolve_face_name_error): Comment out.
15000
15001 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
15002 (x_icon): Comment-out var only used in commented-out code.
15003
150042007-08-29 Romain Francoise <romain@orebokech.com>
15005
15006 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
15007 QUIT hasn't been provided.
15008
150092007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
15010
15011 * callproc.c (child_setup, getenv_internal): Use the
15012 display-environment-variable and term-environment-variable frame params.
15013 (set_initial_environment): Initialise Vprocess_environment.
15014
15015 * config.in: Disable multi-keyboard support on a mac.
15016
15017 * frame.c (Qterm_environment_variable)
15018 (Qdisplay_environment_variable): New variables.
15019 (syms_of_frame): Intern and staticpro them.
15020 (Fmake_terminal_frame): Disable output method test.
15021
15022 * frame.h: Declare them here.
15023
15024 * macfns.c (x_set_mouse_color): Get rif from the frame.
15025 (x_set_tool_bar_lines): Don't use updating_frame.
15026 (mac_window): Add 2 new parameters for consistency with other systems.
15027 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
15028 frame parameters following what is done in X11 and w32. Don't use
15029 FRAME_MAC_DISPLAY_INFO.
15030 (Fx_open_connection, start_hourglass): Remove window-system check.
15031 (x_create_tip_frame): Get the keyboard from the terminal.
15032
15033 * macmenu.c: Reorder includes.
15034 (Fx_popup_menu): Use terminal specific mouse_position_hook.
15035
15036 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
15037 terminal parameter.
15038 (x_clear_frame): Add a frame parameter.
15039 (note_mouse_movement): Get rif from the frame.
15040 (mac_term_init): Initialize the terminal.
15041 (mac_initialize): Make static and move terminal initialization ...
15042 (mac_create_terminal): ... to this new function.
15043
15044 * macterm.h (struct mac_display_info): Add terminal.
15045 (mac_initialize): Delete declaration.
15046
15047 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
15048
15049 * sysdep.c: Comment out text after #endif.
15050
15051 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
15052 is defined. Better initialize ttys in windows. Use terminal
15053 specific mouse_position_hook.
15054
15055 * termhooks.h (union display_info): Add mac_display_info.
15056
15057 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
15058 Set the default minibuffer frame, window_system and the rest of the
15059 frame parameters following what is done in X11.
15060
15061 * w32term.c (w32_initialize): Make static.
15062
15063 * xselect.c (x_handle_selection_clear): Only access
15064 terminal->kboard when MULTI_KBOARD is defined.
15065
15066 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
15067 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
15068
150692007-08-29 Jason Rumney <jasonr@gnu.org>
15070
15071 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
15072 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
15073
15074 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
15075 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
15076
15077 * keyboard.c (restore_kboard_configuration): Only define when
15078 MULTI_KBOARD defined.
15079
15080 * makefile.w32-in: Update dependancies from Makefile.in.
15081 (OBJ1): Add terminal.$(O)
15082
15083 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
15084 Don't define function body.
15085 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
15086
15087 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
15088
15089 * w32.c (request_sigio, unrequest_sigio): Remove.
15090
15091 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
15092 (w32con_clear_frame, w32con_clear_end_of_line)
15093 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
15094 (w32con_delete_glyphs, w32con_set_terminal_window)
15095 (scroll_line, w32_sys_ring_bell): Add frame arg.
15096 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
15097 Add terminal arg.
15098 (PICK_FRAME): Remove.
15099 (w32con_write_glyphs): Use frame specific terminal coding.
15100 (one_and_only_w32cons): New global variable.
15101 (initialize_w32_display): Use it for storing hooks.
15102 (create_w32cons_output): New function.
15103
15104 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
15105 arg a frame.
15106
15107 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
15108 Set window_system.
15109 (x_set_tool_bar_lines): Don't use updating_frame.
15110 (Fx_create_frame): Set terminal and ref count.
15111 (Fx_open_connection): Remove window-system check.
15112
15113 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
15114
15115 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
15116 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
15117 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
15118 Add frame arg.
15119 (x_delete_terminal, w32_create_terminal): New functions.
15120 (w32_term_init): Create a terminal.
15121 (w32_initialize): Move terminal specific initialization to
15122 w32_create_terminal.
15123
15124 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
15125 (w32_clear_rect, w32_clear_area): Use background from frame.
15126 (w32_display_info): Add terminal.
15127 (w32_sys_ring_bell, x_delete_display): Declare here.
15128
15129 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
15130
15131 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
15132
151332007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
15134
15135 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
15136 Fix get_named_tty calls for the controlling tty.
15137
151382007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
15139
15140 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
15141
151422007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
15143
15144 * term.c (tty_insert_glyphs): Add missing first parameter.
15145
151462007-08-29 Károly Lőrentey <karoly@lorentey.hu>
15147
15148 * buffer.c (Fbuffer_list, Fbury_buffer):
15149 Take frame->buried_buffer_list into account.
15150
15151 * cm.c (current_tty): New variable, for cmputc().
15152 (cmputc): Use it.
15153 (cmcheckmagic): Add tty parameter, look up terminal streams there.
15154 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
15155 (cmgoto): Add tty parameter. Pass it on to calccost().
15156 Use emacs_tputs() instead of tputs().
15157
15158 * cm.h (emacs_tputs): New macro to set current_tty, and then call
15159 tputs().
15160 (current_tty): New variable, for cmputc().
15161 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
15162
15163 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
15164 (internal_condition_case, internal_condition_case_1)
15165 (internal_condition_case_2): Don't abort when x_catching_errors.
15166
15167 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
15168 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
15169 prevent crashes caused by bogus longjmps in read_char.
15170
15171 * keymap.h (Fset_keymap_parent): Add EXFUN.
15172
15173 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
15174 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
15175 Remove redundant definition.
15176
15177 * macfns.c (x_set_mouse_color, x_make_gc):
15178 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15179
15180 * w32term.c (x_free_frame_resources):
15181 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15182 (w32_initialize): Use the accessor macros for terminal characteristics.
15183
15184 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
15185 Use the accessor macros for terminal characteristics.
15186 * msdos.c (internal_terminal_init): Use the accessor macros for
15187 terminal characteristics.
15188 (ScreenVisualBell, internal_terminal_init):
15189 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15190
15191 * termopts.h (no_redraw_on_reenter): Declare.
15192
15193 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
15194 (mark_terminals, mark_ttys): Declare.
15195 (Fgarbage_collect): Call them.
15196 (mark_object): Mark buried_buffer_list.
15197
15198 * prefix-args.c: Include stdlib.h for exit.
15199
15200 * syssignal.h: Add comment.
15201
15202 * indent.c: Include stdio.h.
15203
15204 * window.h (Vinitial_window_system): Declare.
15205 (Vwindow_system): Delete declaration.
15206
15207 * fontset.c (Finternal_char_font): Use FRAME_RIF.
15208
15209 * image.c (lookup_image): Don't initialize `c' until the xasserts
15210 have been run.
15211
15212 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
15213 FRAME_FOREGROUND_PIXEL.
15214
15215 * print.c (print_preprocess): Don't lose print_depth levels while
15216 iterating.
15217
15218 * widget.c (update_from_various_frame_slots):
15219 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15220
15221 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
15222 frames.
15223 (window_internal_height): Remove bogus make_number call.
15224 (init_window_once): Call make_terminal_frame with two zero parameters.
15225
15226 * fileio.c (Fread_file_name): Update comment.
15227
15228 * callint.c (Fcall_interactively):
15229 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
15230 Make sure it is correctly unwound.
15231
15232 * xsmfns.c (x_session_close): New function.
15233
15234 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
15235 Delete declarations.
15236
15237 * xterm.h: Remove declaration for x_fully_uncatch_errors.
15238 (x_output): Remove background_pixel and foreground_pixel fields.
15239 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
15240 (x_delete_device, x_session_close): Declare.
15241
15242 * lread.c: Include setjmp.h. Update declaration of `read_char'.
15243 (read_filtered_event): Call `read_char' with a local
15244 `wrong_kboard_jmpbuf'.
15245
15246 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
15247 Don't call single_kboard_state. Use FRAME_RIF.
15248
15249 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
15250 systems.
15251
15252 * lisp.h (set_process_environment): Rename to `set_global_environment'.
15253 (Fframe_with_environment, Fset_input_meta_mode)
15254 (Fset_quit_char): EXFUN.
15255 (x_create_device, tty_output, terminal, tty_display_info): Declare.
15256 (init_sys_modes, reset_sys_modes): Update prototypes.
15257 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
15258
15259 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
15260 Vlocal_key_translation_map, and Vkeyboard_translate_table.
15261 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
15262 Delete declarations.
15263 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
15264 (temporarily_switch_to_single_kboard, tty_read_avail_input):
15265 New declarations.
15266
15267 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
15268 already does that during init_display(). Call syms_of_keymap
15269 before syms_of_keyboard. Call `syms_of_terminal'.
15270 Call set_initial_environment, not set_process_environment.
15271 (shut_down_emacs): Call reset_all_sys_modes() instead of
15272 reset_sys_modes().
15273
15274 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
15275 (internal_resolve_face_name, resolve_face_name_error): New functions.
15276 (resolve_face_name): Protect against loops and errors thrown by Fget.
15277 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
15278 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
15279
15280 * scroll.c: Replace CURTTY() with local variables throughout the
15281 file (where applicable).
15282 (calculate_scrolling, calculate_direct_scrolling)
15283 (scrolling_1, scroll_cost): Use the accessor macros for terminal
15284 characteristics.
15285
15286 * keymap.c (Vfunction_key_map): Remove.
15287 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
15288 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
15289 (Vkey_translation_map): Remove.
15290 (syms_of_keymap): Remove DEFVAR for key-translation-map.
15291 (Fdescribe_buffer_bindings)
15292 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
15293 Update for terminal-local key-translation-map.
15294
15295 * Makefile.in (callproc.o): Update dependencies.
15296 (lisp, shortlisp): Add termdev.elc.
15297 (obj): Add terminal.o.
15298 (terminal.o): Add dependencies.
15299 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
15300 (data.o, fns.o): Add termhooks.h dependency.
15301 (SOME_MACHINE_LISP): Add dnd.elc.
15302 (minibuf.o): Fix typo.
15303 Update dependencies.
15304
15305 * data.c (do_symval_forwarding, store_symval_forwarding)
15306 (find_symbol_value): Use the selected frame's keyboard, not
15307 current_kboard.
15308
15309 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
15310 Vwindow_system.
15311
15312 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
15313 Fmenu_bar_open.
15314 (syms_of_xmenu): Update defsubr.
15315 (mouse_position_for_popup, Fx_popup_menu)
15316 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
15317 (set_frame_menubar, free_frame_menubar)
b97439ce 15318 (create_and_show_popup_menu, xmenu_show)
aac0c6e3
MR
15319 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
15320 an X frame.
15321
15322 * xselect.c (x_own_selection): Abort if not an X frame.
15323 (some_frame_on_display): Check if it is an X frame.
15324 (x_handle_selection_clear): Deal with MULTI_KBOARD.
15325
15326 * coding.c: Include frame.h and termhooks.h.
15327 (terminal_coding, keyboard_coding): Delete.
15328 (Fset_terminal_coding_system_internal)
15329 (Fset_keyboard_coding_system_internal)
15330 (Fkeyboard_coding_system)
15331 (Fterminal_coding_system): Add a terminal parameter.
15332 Get terminal_coding from the terminal.
15333 (init_coding_once): Don't call setup_coding_system here.
15334
15335 * dispextern.h (set_scroll_region, turn_off_insert)
15336 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
15337 (tty_clear_end_of_line, tty_setup_colors)
15338 (delete_tty, updating_frame)
15339 (produce_special_glyphs, produce_glyphs, write_glyphs)
15340 (insert_glyphs): Remove.
15341 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
15342 (tty_turn_off_highlight, get_tty_size): Add declaration.
15343 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
15344
15345 * frame.h (enum output_method): Add output_initial.
15346 (struct x_output): Delete.
15347 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
15348 Access foreground_pixel and background_pixel directly from the frame.
15349 (tty_display): Delete.
15350 (struct frame): Add buried_buffer_list, foreground_pixel,
15351 background_pixel and terminal. Delete kboard.
15352 (union output_data): Add tty.
15353 (FRAME_KBOARD): Get the kboard from the terminal.
15354 (FRAME_INITIAL_P): New macro.
15355 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
15356 (Qterm_environment_variable, Qdisplay_environment_variable)
15357 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
15358 New declarations.
15359
15360 * termchar.h (tty_output, tty_display_info): New structures.
15361 (tty_list): Declare.
15362 (FRAME_TTY, CURTTY): New macros.
15363 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
15364 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
15365 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
15366 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
15367
15368 * callproc.c: Include frame.h and termhooks.h, for terminal
15369 parameters.
15370 (add_env): New function.
15371 (child_setup): Use it.
15372 (child_setup, getenv_internal): Handle the new Vprocess_environment.
15373 (getenv_internal): Fix get_terminal_param call.
15374 (Fgetenv_internal, egetenv): Update doc.
15375 (syms_of_callproc): Initialize Vprocess_environment to nil.
15376 Register and initialize them. Remove obsolete defvars. Update doc
15377 strings.
15378 (child_setup): Handle Vlocal_environment_variables.
15379 (getenv_internal): Add terminal parameter.
15380 Handle Vlocal_environment_variables.
15381 (Fgetenv_internal): Add terminal parameter.
15382 (child_setup, getenv_internal, Fgetenv_internal): Store the local
15383 environment in a frame (not terminal) parameter. Update doc strings.
15384 (set_initial_environment): Rename from set_global_environment.
15385 Store Emacs environment in initial frame parameter.
15386
15387 * xdisp.c (redisplay_internal): Update references to
15388 `previous_terminal_frame'.
15389 (display_mode_line, Fformat_mode_line): Replace calls to
15390 `push_frame_kboard' with `push_kboard'.
15391 (get_glyph_string_clip_rects): Add extra parentheses and
15392 braces to prevent compiler warnings.
15393 (calc_pixel_width_or_height): Add xassert to check that the
15394 frame is alive. Don't call `lookup_image' on a termcap frame.
15395 (message2_nolog, message3_nolog, redisplay_internal)
15396 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
15397 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
15398 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
15399 (Fx_display_pixel_width, Fx_display_pixel_height)
15400 (Fx_display_planes, Fx_display_color_cells)
15401 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
15402 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
15403 (Fx_display_backing_store, Fx_display_visual_class)
15404 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
15405 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
15406
15407 * xfns.c (x_set_foreground_color x_set_background_color)
15408 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
15409 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15410 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
15411 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
15412 terminal that is being deleted.
15413 (Fx_create_frame): Use `store_frame_param' to set `window-system'
15414 frame parameter, and make sure it overrides any user-supplied setting.
15415 (Fx_close_connection, Fx_synchronize): Unify argument names with
15416 the rest of the DEFUNs.
15417
15418 * dispnew.c (Fsend_string_to_terminal): Update call to
15419 `get_tty_terminal'.
15420 (Fredraw_frame, Fsend_string_to_terminal)
15421 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
15422 FRAME_TERMCAP_P and FRAME_TTY.
15423 (window_change_signal): Don't believe width/height values that are
15424 impossibly small.
15425 (Vinitial_window_system): Rename from Vwindow_system.
15426 (termscript, Wcm, rif): Delete.
15427
15428 * termhooks.h (struct terminal): New struct containing the
15429 previously global text display hooks and new members NAME,
15430 DELETED and PARAM_ALIST.
15431 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
15432 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
15433 (FRAME_RIF): New macros.
15434 (get_terminal_param, get_device): New declarations.
15435 (termscript): Delete declaration.
15436
15437 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
15438 (XTflash, x_free_frame_resources, x_scroll_bar_create)
15439 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
15440 FRAME_FOREGROUND_PIXEL.
15441 (x_fully_uncatch_errors): Disable definition.
15442 (x_scroll_bar_expose): Fix reference to foreground pixel.
15443 (XTread_socket): Disable loop on all X displays.
15444 (x_delete_terminal): Don't set terminal->deleted and let
15445 delete_terminal delete the frames on the terminal.
15446 (x_delete_display): Doc update to reflect changes in
15447 delete_terminal.
15448 (x_display_info) <terminal>: Move member earlier in the struct.
15449 (deleting_tty): Remove old variable.
15450 (Fsuspend_tty): Call clear_tty_hooks.
15451 (Fresume_tty, init_tty): Call set_tty_hooks.
15452 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
15453 errors on X frames.
15454 (x_catch_errors_unwind): Abort if x_error_message is NULL.
15455 (handle_one_xevent): Initialize `f' to NULL.
15456 (x_delete_terminal, x_create_terminal): New functions.
15457 (XTset_terminal_modes, XTreset_terminal_modes)
15458 (XTread_socket, x_connection_closed, x_term_init)
15459 (x_term_init, x_delete_display): Add terminal parameter.
15460 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
15461 X connections.
15462
15463 * frame.c: Include termchar.h.
15464 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
15465 (Qwindow_system, Qenvironment, Qterm_environment_variable)
15466 (Qdisplay_environment_variable): New vars.
15467 (Fframep): Deal with output_initial.
15468 (Fframe-live-p): Doc fix.
15469 (Fwindow-system): New function.
15470 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
15471 (make_terminal_frame): Don't create frames on a terminal that is
15472 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15473 (store_frame_param): Check for found_for_frame before calling XFRAME.
15474 (Fmake_terminal_frame): Handle NULL tty names correctly.
15475 (syms_of_frame): Enhance doc string of `default-frame-alist'.
15476 (Fdelete_frame): Remove unused variable `count'. Don't allow other
15477 frames to refer to a deleted frame in their 'environment parameter.
15478 (Fframe_with_environment): New function.
15479 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
15480 (get_future_frame_param): New function.
15481 (Fmake_terminal_frame): Use it.
15482 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
15483
15484 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
15485 * sysdep.c (reset_sys_modes): Update for renames.
15486
15487 * keyboard.c (tty_read_avail_input): New function.
15488 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
15489 (syms_of_keyboard): Defsubr them.
15490 (Fset_input_meta_mode, Fset_quit_char): New functions.
15491 (Fset_input_mode): Split to above functions.
15492 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
15493 parameter. Use it in call to `read_char'.
15494 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
15495 Set wrong_kboard_jmpbuf correctly in recursive calls.
15496 Use current_kboard to access Vkeyboard_translate_table.
15497 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
15498 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
15499 Update longjmp invocations. Remember the original current_kboard,
15500 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
15501 changes it. Comment out unnecessary calls to
15502 `record_single_kboard_state' and `any_kboard_state'.
15503 Update recursive calls.
15504 (wrong_kboard_jmpbuf): Remove global variable.
15505 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
15506 Handle deleted interrupted_kboards correctly; that is a legal
15507 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
15508 and read_char calls. Abort if interrupted_kboard died in read_char.
15509 (any_kboard_state, single_kboard_state)
15510 (push_frame_kboard): Remove function.
15511 (pop_kboard): Switch out of single_kboard mode if the kboard has
15512 been deleted. Remove unused variable. Help debugging by not
15513 changing current_kboard unnecessarily. Set current_kboard to the
15514 kboard of the selected frame when the stored kboard object has
15515 been deleted before pop_kboard.
15516 (temporarily_switch_to_single_kboard): Change first parameter to a
15517 frame pointer. Throw an error when caller wants to change kboards
15518 while in single_kboard mode. Don't push_kboard if we weren't in
15519 single kboard state. Don't pop_kboard if we popped into any
15520 kboard state.
15521 (restore_kboard_configuration): Abort if pop_kboard changed the
15522 kboard in single_kboard mode. Call pop_kboard only after setting
15523 up single_kboard mode.
15524 (Frecursive_edit): Switch to single_kboard mode only in nested
15525 command loops.
15526 (cmd_error, command_loop, command_loop_1, timer_check):
15527 Comment out unnecessary call to `any_kboard_state' and
15528 `record_single_kboard_state'.
15529 (delete_kboard): Exit single_kboard mode if we have just deleted
15530 that kboard. Use FRAME_KBOARD.
15531 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
15532 `fatal_error_signal'.
15533 (record_single_kboard_state): Don't push_kboard if we weren't in
15534 single kboard state. Don't pop_kboard if we popped into any
15535 kboard state.
15536 (push_frame_kboard): Rename to push_kboard.
15537 (kbd_buffer_get_event): Use FRAME_TERMINAL.
15538 (read_avail_input): Read input from all terminals.
15539 (mark_kboards): Also mark Vkeyboard_translate_table.
15540 (kbd_buffer_store_event_hold): Simplify condition.
15541 (read_key_sequence): Reinitialize fkey and keytran at each replay.
15542 (Vkeyboard_translate_table): Move to struct kboard.
15543 (init_kboard): Initialize Vkeyboard_translate_table.
15544 (syms_of_keyboard): Use DEFVAR_KBOARD to define
15545 Vkeyboard_translate_table. Update doc strings. Update docs of
15546 local-function-key-map and function-key-map.
15547
15548 * terminal.c: New file.
15549
15550 * term.c: Include errno.h.
15551 (Vring_bell_function, device_list, initial_device)
15552 (next_device_id, ring_bell, update_begin, update_end)
15553 (set_terminal_window, cursor_to, raw_cursor_to)
15554 (clear_to_end, clear_frame, clear_end_of_line)
15555 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
15556 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
15557 (syms_of_term): Move their initialization to terminal.c.
15558 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
15559 (Ftty_display_color_cells)
15560 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
15561 (clear_tty_hooks, set_tty_hooks)
15562 (init_tty, maybe_fatal): New functions.
15563 (Ftty_type): Return nil if terminal is not on a tty instead of
15564 throwing an error. Doc update.
15565 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
15566 Doc update. Initialize new subrs and variables.
15567 (delete_tty): Use terminal->deleted.
15568 (tty_set_terminal_modes): Rename from set_terminal_modes.
15569 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
15570 (set_scroll_region): Rename to `tty_set_scroll_region'.
15571 (turn_on_insert): Rename to `tty_turn_on_insert'.
15572 (turn_off_insert): Rename to `tty_turn_off_insert'.
15573 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
15574 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
15575 (toggle_highligh): Rename to `tty_toggle_highlight'.
15576 (background_highlight): Rename to `tty_background_highlight'.
15577 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
15578 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
15579 (tty_set_scroll_region, tty_background_highlight)
15580 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
15581 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
15582 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
15583 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
15584 Add static modifier.
15585 (tty_reset_terminal_modes, tty_set_terminal_window)
15586 (tty_set_scroll_region, tty_background_highlight)
15587 (tty_highlight_if_desired, tty_cursor_to)
15588 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
15589 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
15590 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
15591 renames.
15592
155932007-08-28 Jan Djärv <jan.h.d@swipnet.se>
15594
15595 * keyboard.c: Qrtl is new.
15596 (parse_tool_bar_item): Handle :rtl keyword.
15597 (syms_of_keyboard): Intern :rtl keyword.
15598
15599 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
15600
15601 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
15602 so no Lisp code is executed.
15603 (file_for_image, find_rtl_image): New functions.
15604 (xg_get_image_for_pixmap): Use file_for_image.
15605 (update_frame_tool_bar): If direction is RTL, use RTL image if
15606 defined. Use Gtk stock images if defined.
15607
156082007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15609
15610 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
15611 for nonexistent or zero-width glyph in composition glyph.
15612
156132007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
15614
15615 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
15616
15617 * xdisp.c (Finvisible_p): New function.
15618 (syms_of_xdisp): defsubr it.
15619
156202007-08-24 Juanma Barranquero <lekktu@gmail.com>
15621
15622 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
15623 Doc fixes.
15624
156252007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15626
15627 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
15628
156292007-08-24 Martin Rudalics <rudalics@gmx.at>
15630
15631 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
15632 whether decoding has modified buffer contents.
15633
156342007-08-24 Jason Rumney <jasonr@gnu.org>
15635
15636 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
15637 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
15638 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
15639 (init_svg_functions) [HAVE_NTGUI]: New function.
15640 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
15641 (svg_load_image): Use them.
15642 (svg_load_image) [HAVE_NTGUI]: Implement background.
15643
156442007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15645
15646 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
15647 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
15648 (LIBX): Remove @RSVG_LIBS@.
15649 (LIBES): Add $(RSVG_LIBS).
15650
15651 * image.c (svg_load_image): Blend with specified background if exists.
15652 Use IMAGE_BACKGROUND. Add Mac OS Support.
15653
15654 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
15655 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
15656 Remove macros.
15657 [MAC_OSX] (socket_callback): Do nothing.
15658 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
15659 ReceiveNextEvent.
15660 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
15661 socket_callback.
15662 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
15663
156642007-08-22 Glenn Morris <rgm@gnu.org>
15665
15666 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
15667
156682007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
15669
15670 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
15671
15672 * image.c: Add support for SVG images. Some additional comments
15673 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
15674 (svg_image_p): New function to test for SVG image.
15675 (svg_load): New function to load SVG image.
15676 (svg_load_image): New function, helper for svg_load.
15677 (Qsvg): New Lisp_object.
15678 (svg_keyword_index): New enum.
15679 (svg_format): New static `image_keyword' struct.
15680 (svg_type): New static `image_type' struct.
15681 (librsvg/rsvg.h): Include it.
15682
156832007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
15684
15685 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
15686
156872007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
15688
15689 * lread.c (Qold_style_backquotes): New var.
15690 (syms_of_lread): Init and staticpro it.
15691 (load_warn_old_style_backquotes): New fun.
15692 (Fload): Use them to warn about old style backquotes.
15693 (end_of_file_error, Fload): Remove unused vars.
15694
15695 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
15696
15697 * lread.c (Vold_style_backquotes): New var.
15698 (syms_of_lread): Init and export it to Elisp.
15699 (read1): Set it when we find an old-style (back)quote.
15700
157012007-08-22 Jason Rumney <jasonr@gnu.org>
15702
15703 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
15704
157052007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
15706
15707 * puresize.h (BASE_PURESIZE): Increase to 1140000.
15708
157092007-08-19 Richard Stallman <rms@gnu.org>
15710
15711 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
15712
157132007-08-19 Andreas Schwab <schwab@suse.de>
15714
15715 * alloc.c (pure): Round PURESIZE up.
15716
157172007-08-17 Jan Djärv <jan.h.d@swipnet.se>
15718
15719 * xterm.c (handle_one_xevent): Remove check that mouse click is in
15720 active frame.
15721
157222007-08-16 Richard Stallman <rms@gnu.org>
15723
15724 * eval.c (Fcommandp): Add parens to clarify.
15725
15726 * minibuf.c (Fall_completions): Use enum for type of table.
15727
15728 * emacs.c (USAGE2): Improve text.
15729
157302007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
15731
15732 * term.c (tty_default_color_capabilities): Declare static
15733 variables in file scope, to avoid HPUX compiler problem.
15734
157352007-08-13 Jan Djärv <jan.h.d@swipnet.se>
15736
15737 * gtkutil.c (update_frame_tool_bar): Use -1 as index
15738 to gtk_toolbar_insert.
15739
157402007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
15741
15742 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
15743
15744 * insdel.c (reset_var_on_error): New fun.
15745 (signal_before_change, signal_after_change):
15746 Use it to reset (after|before)-change-functions to nil in case of error.
15747 Bind inhibit-modification-hooks to t.
15748 Don't bind (after|before)-change-functions to nil while they run.
15749
157502007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15751
15752 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
15753 filling pixmap with stippled background.
15754
157552007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15756
15757 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
15758 Don't use invisible frame as parent window for repositioning.
15759
157602007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
15761
15762 * print.c (new_backquote_output): Rename from old_backquote_output.
15763 (print): Inverse its logic (according to its name) so as to match the
15764 behavior of new_backquote_flag in lread.c.
15765
157662007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15767
15768 * gmalloc.c (posix_memalign): New function.
15769
15770 * macterm.c (frame_highlight, frame_unhighlight): Don't call
15771 ActivateControl/DeactivateControl here.
15772 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
15773 frame-notice-user-settings is non-nil.
15774 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
15775 for kEventParamFMFontStyle.
15776 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
15777 mac_pass_command_to_system and mac_pass_control_to_system here.
15778 (XTread_socket): Call ActivateControl/DeactivateControl here.
15779 (XTread_socket) [TARGET_API_MAC_CARBON]:
15780 Check mac_pass_command_to_system and mac_pass_control_to_system here.
15781 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
15782 for window repositioning.
15783
157842007-08-08 Glenn Morris <rgm@gnu.org>
15785
15786 * Replace `iff' in doc-strings and comments.
15787
157882007-08-07 Chong Yidong <cyd@stupidchicken.com>
15789
15790 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
15791
157922007-08-07 Martin Rudalics <rudalics@gmx.at>
15793
15794 * fileio.c (Finsert_file_contents): Run format-decode and
15795 after_insert_file_functions on entire buffer when REPLACE is
15796 non-nil and inhibit modification_hooks and point_motion_hooks.
15797 For consistency, run after_insert_file_functions iff something
15798 got inserted. Move signal_after_change and update_compositions
15799 after code running after_insert_file_functions. Make sure that
15800 undo_list doesn't record intermediate steps of the decoding process.
15801
158022007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15803
15804 * emacs.c (main)
15805 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
15806 Call malloc_enable_thread on interactive startup.
15807
15808 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
15809 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
15810 [USE_PTHREAD]: Conditionalize with it.
15811 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
15812 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
15813 New functions.
15814
158152007-08-06 Chong Yidong <cyd@stupidchicken.com>
15816
15817 * xdisp.c (redisplay_window): When restoring original buffer
15818 position, make sure it is still valid.
15819
15820 * image.c (png_load): Ignore png-supplied background color.
15821
158222007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15823
15824 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
15825 Use kCFAbsoluteTimeIntervalSince1970.
15826
15827 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
15828 New variable.
15829 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
15830 event loop should be quit.
15831 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
15832 Quit dialog event loop if quit_dialog_event_loop is set.
15833
15834 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
15835 (Selection): New typedef. Use instead of ScrapRef.
15836 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
15837 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
15838 (mac_clear_selection): Rename from clear_scrap.
15839 (get_flavor_type_from_symbol): New argument SEL and subsume function of
15840 scrap_has_target_type. All uses changed.
15841 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
15842 (mac_selection_has_target_p): New functions.
15843 (mac_put_selection_value): Rename from put_scrap_string.
15844 (mac_get_selection_value): Rename from get_scrap_string.
15845 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
15846 (put_scrap_private_timestamp, scrap_has_target_type)
15847 (get_scrap_private_timestamp): Remove functions.
15848 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
15849 (x_own_selection, x_get_local_selection):
15850 Use mac_valid_selection_value_p.
15851 (x_own_selection): Don't use put_scrap_private_timestamp.
15852 Record OWNERSHIP-INFO into Vselection_alist instead.
15853 (x_get_local_selection): Don't check type if request is local.
15854 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
15855 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
15856
158572007-08-04 Jan Djärv <jan.h.d@swipnet.se>
15858
15859 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
15860 add comment explaining why.
15861
158622007-08-03 Richard Stallman <rms@gnu.org>
15863
15864 * fileio.c (Fvisited_file_modtime): Use make_time.
15865
158662007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
15867
15868 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
15869 build.
15870
158712007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
15872
15873 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
15874
158752007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
15876
15877 * puresize.h (BASE_PURESIZE): Increase to 1130000.
15878
158792007-07-30 Richard Stallman <rms@gnu.org>
15880
15881 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
15882
158832007-07-29 Jan Djärv <jan.h.d@swipnet.se>
15884
15885 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
15886
158872007-07-28 Nick Roberts <nickrob@snap.net.nz>
15888
15889 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
15890 remote default-directory.
15891
15892 * buffer.c (mode-line-format): Update doc string.
15893
158942007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15895
15896 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
15897 scroll bar gap.
15898 (x_scroll_bar_create): Set bar->fringe_extended_p.
15899 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
15900 on frame edge. Check fringe background extension. Don't clear
15901 extended fringe background area.
15902
15903 * w32term.h (struct scroll_bar): New member fringe_extended_p.
15904 (w32_fill_area): Enclose multiple statements with do ... while (0).
15905
15906 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
15907 Extend fringe background to scroll bar gap.
15908 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
15909 Set bar->fringe_extended_p.
15910 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
15911 Put leftmost/rightmost scroll bars on frame edge. Check fringe
15912 background extension. Don't clear extended fringe background area.
15913
15914 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
15915 New member fringe_extended_p.
15916
159172007-07-25 Glenn Morris <rgm@gnu.org>
15918
15919 * Relicense all FSF files to GPLv3 or later.
15920
15921 * COPYING: Switch to GPLv3.
15922
159232007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
15924
15925 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
15926
15927 * data.c (Finteractive_form): Check for the presence of an
15928 `interactive-form' symbol property more thoroughly.
15929
15930 * data.c (Finteractive_form): Use an `interactive-form' property if
15931 present, analogous to the function-documentation property.
15932
159332007-07-24 Jason Rumney <jasonr@gnu.org>
15934
15935 * w32fns.c (x_real_positions): Get real position from OS instead of
15936 calculating it.
15937
159382007-07-23 Jason Rumney <jasonr@gnu.org>
15939
15940 * filelock.c (current_lock_owner): Allow for @ sign in username.
15941
159422007-07-22 Nick Roberts <nickrob@snap.net.nz>
15943
15944 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
15945 remote default-directory.
15946
15947 * buffer.c (mode-line-format): Describe above case in doc string.
15948
159492007-07-20 Eli Zaretskii <eliz@gnu.org>
15950
15951 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
15952 Define if not defined.
15953
159542007-07-18 Jason Rumney <jasonr@gnu.org>
15955
15956 * w32proc.c (w32_executable_type): Handle 64 bit executables.
15957
159582007-07-18 Richard Stallman <rms@gnu.org>
15959
15960 * data.c (Fsetq_default): Doc fix.
15961
15962 * eval.c (Fsetq): Doc fix.
15963
159642007-07-18 Juanma Barranquero <lekktu@gmail.com>
15965
15966 * coding.c (Ffind_operation_coding_system):
15967 * eval.c (For, Fand): Doc fixes.
15968 Reported by Johan Bockgård.
15969
159702007-07-18 Jan Djärv <jan.h.d@swipnet.se>
15971
15972 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
15973
15974 * xterm.h: Declare x_ewmh_activate_frame.
15975
15976 * xterm.c (x_ewmh_activate_frame): New function.
15977 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
15978
159792007-07-17 Martin Rudalics <rudalics@gmx.at>
15980
15981 * window.c (Fdisplay_buffer): If largest or LRU window is the
15982 only window, split it even if it is not eligible for splitting.
15983 This restores the original behavior broken by the 2007-07-15
15984 change.
15985
159862007-07-17 Glenn Morris <rgm@gnu.org>
15987
15988 * abbrev.c (abbrev_check_chars): New function.
15989 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
15990 Call abbrev_check_chars to check abbrev characters are word
15991 constituents. Doc fix.
15992
159932007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
15994
15995 * process.c (Fstart_process, Fmake_network_process)
15996 (read_process_output): Fix up last changes.
15997
159982007-07-16 Eli Zaretskii <eliz@gnu.org>
15999
16000 * makefile.w32-in (clean): Don't delete *~.
16001
160022007-07-16 Andreas Schwab <schwab@suse.de>
16003
16004 * window.c (Fdisplay_buffer): Use NILP.
16005 (Fset_window_scroll_bars): Likewise.
16006
160072007-07-15 Martin Rudalics <rudalics@gmx.at>
16008
16009 * window.c (window_min_size_2): New function.
16010 (window_min_size_1, size_window, Fdisplay_buffer)
16011 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
16012 windows without mode- or header-lines when window-min-height is
16013 too small.
16014 (size_window): Reset nodelete_p after testing it, following an
16015 earlier note by Kim F. Storm.
16016 (display_buffer): Do not set split_height_threshold to twice the
16017 value of window_min_height to avoid changing the value of a
16018 customizable variable. Rather explicitly check whether the
16019 height of the window that shall be splitted is at least as large
16020 as split_height_threshold.
16021 (Fwindow_full_width_p): New defun.
16022 (syms_of_window): Defsubr it.
16023
16024 * window.h: Add EXFUN for Fwindow_full_width_p.
16025
160262007-07-14 Jason Rumney <jasonr@gnu.org>
16027
16028 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
16029
160302007-07-14 Richard Stallman <rms@gnu.org>
16031
16032 * eval.c (maybe_call_debugger): New function.
16033 (find_handler_clause): Use maybe_call_debugger.
16034 Call it when the handler says `debug'.
16035 Eliminate DEBUGGER_VALUE_PTR.
16036 (Fsignal): Eliminate debugger_value.
16037 (Qdebug): New variable.
16038 (syms_of_eval): Initialize it.
16039
160402007-07-14 Juanma Barranquero <lekktu@gmail.com>
16041
16042 * eval.c (Fprogn):
16043 * keyboard.c (Ftrack_mouse):
16044 * print.c (Fwith_output_to_temp_buffer):
16045 * window.c (Fsave_window_excursion): Doc fix.
16046
160472007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
16048
16049 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
16050
160512007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
16052
16053 * process.h (struct Lisp_Process): Turn slots infd, outfd,
16054 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
16055 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
16056 read_output_delay, and read_output_skip from Lisp_Objects to ints.
16057 Remove unused encoding_carryover.
16058 * process.c: Adjust all functions accordingly.
16059
160602007-07-12 Richard Stallman <rms@gnu.org>
16061
16062 * term.c: Include unistd.h only if HAVE_UNISTD_H.
16063
160642007-07-11 Jason Rumney <jasonr@gnu.org>
16065
16066 * makefile.w32-in (LIBS): Include OLE32.
16067
16068 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
16069 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
16070
160712007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
16072
16073 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
16074 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
16075 from a Lisp_Object into a bare pointer.
16076 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
16077 Adjust the code correspondingly.
16078
16079 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
16080
16081 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
16082 (term_show_mouse_face): Remove unused var `j'.
16083 (handle_one_term_event): Remove unused vars `i' and `j'.
16084 Don't cast return value of ttyname since it's not necessary.
16085
160862007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
16087
16088 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
16089 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
16090
16091 * fns.c (map_char_table): Use an array of int for `indices' rather than
16092 an array of Lisp_Objects (which are only ever integers anyway).
16093 (Fmap_char_table): Update caller.
16094 * lisp.h: Update prototype.
16095 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
16096 * fontset.c (Ffontset_info):
16097 * casetab.c (set_case_table): Update callers.
16098
16099 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
16100
16101 * keymap.c (struct accessible_keymaps_data)
16102 (struct where_is_internal_data): New structures.
16103 (accessible_keymaps_1, where_is_internal_1): Use them to change
16104 interface to adhere to the one used by map_keymap.
16105 (Faccessible_keymaps, where_is_internal): Use map_keymap.
16106 (accessible_keymaps_char_table, where_is_internal_2): Remove.
16107
16108 * keymap.h (map_keymap_function_t): More informative prototype.
16109
161102007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
16111
16112 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
16113 (looking_at_1): Don't change search_regs and last_thing_searched
16114 if `inhibit-changing-match-data' is non-nil.
16115 (string_match_1, search_buffer, set_search_regs): Likewise.
16116 (syms_of_search): Add Lisp level definition for
16117 `inhibit-changing-match-data' and set it to nil.
16118 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
16119 start and end of the match, instead of using values in search_regs.
16120
161212007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
16122
16123 * minibuf.c (Fcompleting_read): New value `confirm-only'
16124 for `require-match'.
16125
161262007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
16127
16128 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
16129 part of the 2007-06-27 change to syms_of_fileio.
16130
161312007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16132
16133 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
16134 Check WINDOWP before using XWINDOW. Consolidate return statements.
16135
161362007-06-27 Richard Stallman <rms@gnu.org>
16137
16138 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
16139
161402007-06-27 Juanma Barranquero <lekktu@gmail.com>
16141
16142 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
16143
161442007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16145
16146 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
16147 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
16148 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
16149 (_free_internal, memalign): Use them.
16150 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
16151 Initialize to PTHREAD_MUTEX_INITIALIZER.
16152 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
16153 (morecore_nolock): Rename from morecore. All uses changed.
16154 Use only nolock versions of internal allocation functions.
16155 (_malloc_internal_nolock, _realloc_internal_nolock)
16156 (_free_internal_nolock): New functions created from
16157 _malloc_internal, _realloc_internal, and _free_internal.
16158 (_malloc_internal, _realloc_internal, _free_internal): Use them.
16159 Copy hook value to automatic variable before its use.
16160 (memalign): Copy hook value to automatic variable before its use.
16161
161622007-06-26 Kenichi Handa <handa@m17n.org>
16163
16164 * coding.c (Ffind_operation_coding_system): Docstring improved.
16165 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
16166
161672007-06-25 David Kastrup <dak@gnu.org>
16168
16169 * keymap.c (Fcurrent_active_maps): Add `position' argument.
16170 (Fwhere_is_internal): Adjust call to `current-active-maps' to
16171 cater for additional parameter.
16172
16173 * keymap.h: Adjust number of parameters to `current-active-maps'.
16174
16175 * doc.c (Fsubstitute_command_keys): Adjust call of
16176 `current-active-maps'.
16177
161782007-06-25 David Kastrup <dak@gnu.org>
16179
16180 * callint.c (Fcall_interactively): Make the parsing of interactive
16181 specs somewhat more readable.
16182
161832007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16184
16185 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
16186 to scroll bar gap also when bitmap fills fringe. Draw only foreground
16187 if extended background has already been filled.
16188
161892007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16190
16191 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
16192 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
16193
16194 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
16195 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
16196 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
16197 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
16198 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
16199 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
16200 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
16201 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
16202 Run timers during dialog popup.
16203 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
16204
162052007-06-21 Jason Rumney <jasonr@gnu.org>
16206
16207 * image.c (convert_mono_to_color_image): Swap fore and background.
16208
162092007-06-20 Jason Rumney <jasonr@gnu.org>
16210
16211 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
16212 (w32_free_bdf_font): Unmap memory not handle.
16213
162142007-06-20 Sam Steingold <sds@gnu.org>
16215
16216 * gmalloc.c (__morecore): Fix the declaration to comply with the
16217 definition.
16218
162192007-06-20 Juanma Barranquero <lekktu@gmail.com>
16220
16221 * w32term.c (w32_delete_display): Remove leftover declaration.
16222 (w32_define_cursor, w32_initialize): Make static.
16223
16224 * w32.c (_wsa_errlist): Fix typo in error message.
16225 (init_environment): Ignore any environment variable from the
16226 registry having a null value.
16227
162282007-06-20 Glenn Morris <rgm@gnu.org>
16229
16230 * Makefile.in (LIBGIF): Default to -lgif.
16231
162322007-06-17 Jason Rumney <jasonr@gnu.org>
16233
16234 * w32menu.c (add_menu_item): Don't use multibyte string functions on
16235 unicode strings.
16236
162372007-06-16 Juanma Barranquero <lekktu@gmail.com>
16238
16239 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
16240 Fix typo in docstring.
16241
162422007-06-16 Eli Zaretskii <eliz@gnu.org>
16243
16244 * w32menu.c (add_menu_item): Escape `&' characters in menu items
16245 and their keybindings.
16246
162472007-06-15 Chong Yidong <cyd@stupidchicken.com>
16248
16249 * composite.c (update_compositions): Fix last fix.
16250
162512007-06-14 Jason Rumney <jasonr@gnu.org>
16252
16253 * w32.c (get_process_times_fn): New function pointer.
16254 (globals_of_w32): Intialize it if present in kernel32.dll.
16255 (w32_get_internal_run_time): New function.
16256
16257 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
16258
162592007-06-14 Kenichi Handa <handa@etlken.m17n.org>
16260
16261 * composite.c (update_compositions): Check the validness of
16262 compositions.
16263
162642007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16265
16266 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
16267 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
16268
16269 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
16270 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
16271
16272 * macgui.h (USE_MAC_TOOLBAR): New define.
16273
16274 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
16275 Return immediately unless popup is activated.
16276
16277 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
16278 background to scroll bar gap.
16279 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
16280 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
16281 scroll bars on frame edge. Check fringe background extension.
16282 Don't clear extended fringe background area.
16283 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
16284 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
16285 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
16286 [USE_MAC_TOOLBAR]: New macros.
16287 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
16288 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
16289 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
16290 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
16291 [USE_MAC_TOOLBAR]: New functions.
16292 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
16293 manually if previous repositioning has failed.
16294 (mac_handle_keyboard_event): Use precomputed event kind.
16295 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
16296 as tool bar item click. Handle mouse movement over tool bar items.
16297
16298 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
16299 toolbar_win_gravity.
16300 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
16301 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
16302 Add externs.
16303
16304 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
16305 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
16306
163072007-06-14 Chong Yidong <cyd@stupidchicken.com>
16308
16309 * image.c (search_image_cache): Remove unused variable.
16310
163112007-06-13 Chong Yidong <cyd@stupidchicken.com>
16312
16313 * xfns.c, xmenu.c: Link to xaw3d if available.
16314
163152007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16316
16317 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
16318 frame_foreground and frame_background.
16319
16320 * image.c (lookup_image): Save frame foreground and background colors.
16321 (search_image_cache): Check if saved and current frame colors match.
16322
163232007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
16324
16325 * regex.c (regex_compile): Remove the `regnum' counter.
16326 Use bufp->re_nsub instead. Add support for \(?N:RE\).
16327
163282007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
16329
16330 * term.c: Include intervals.h to declare Fget_text_property.
16331
163322007-06-10 Jason Rumney <jasonr@gnu.org>
16333
16334 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
16335
163362007-06-08 Juanma Barranquero <lekktu@gmail.com>
16337
16338 * callint.c (Fcall_interactively):
16339 * editfns.c (Fdelete_and_extract_region):
16340 * fileio.c (Fread_file_name):
16341 * fns.c (Fmapconcat):
16342 * keyboard.c (cmd_error_internal):
16343 * keymap.c (Fkey_description):
16344 * lread.c (openp):
16345 * minibuf.c (read_minibuf):
16346 * search.c (wordify):
16347 * sunfns.c (sel_read):
16348 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
16349 * xfns.c (x_default_scroll_bar_color_parameter):
16350 * xmenu.c (menu_help_callback):
16351 * xselect.c (Fx_get_atom_name):
16352 * xterm.c (x_term_init): Use empty_unibyte_string.
16353
163542007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
16355
16356 * alloc.c (init_strings): Initialize canonical empty strings.
16357 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
16358 canonical empty string when the requested size is 0.
16359
16360 * emacs.c (empty_unibyte_string): Rename from empty_string.
16361 (empty_multibyte_string): New canonical empty string.
16362 (syms_of_emacs): Don't initialize empty_string.
16363
16364 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
16365 string, if appropriate.
16366 (empty_unibyte_string, empty_multibyte_string): New externs.
16367 (empty_string): Remove extern.
16368
16369 * lread.c (syms_of_lread): Use empty_unibyte_string.
16370
163712007-06-07 Jason Rumney <jasonr@gnu.org>
16372
16373 * s/ms-w32.h: Don't define HAVE_TZNAME.
16374
16375 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
16376
163772007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16378
16379 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
16380
16381 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
16382 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
16383
16384 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
16385 Don't call next handler.
16386 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
16387 Remove argument. Install handler to application.
16388 (set_frame_menubar): Don't change deep_p.
16389 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
16390 FRAME_OUTER_TO_INNER_DIFF_Y.
16391 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
16392 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
16393 [HAVE_DIALOGS]: New macros.
16394 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
16395 Use them.
16396 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
16397
16398 * macselect.c [MAC_OSX] (install_service_handler): Rename from
16399 init_service_handler. All callers changed. Return OSStatus value.
16400
16401 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
16402 All callers changed so as not to call SetPortWindowPort.
16403 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
16404 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
16405 mac_draw_string_common.
16406 (mac_draw_image_string_qd): Likewise.
16407 (mac_draw_string_common): Use them. Add INLINE.
16408 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
16409 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
16410 GetGlobalMouse.
16411 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
16412 and FRAME_OUTER_TO_INNER_DIFF_Y.
16413 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
16414 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
16415 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
16416 repositioning window to mac_handle_window_event.
16417 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
16418 saving window location to mac_handle_window_event
16419 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
16420 (install_menu_target_item_handler): Remove argument in extern.
16421 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
16422 Also accept command events.
16423 (do_keystroke): New function created from XTread_socket.
16424 (init_command_handler): Remove functions.
16425 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
16426 and save window location by kEventWindowShowing and kEventWindowHiding
16427 handlers here. Don't call next handler for window state change and
16428 focus events.
16429 (mac_handle_application_event, mac_handle_keyboard_event)
16430 [TARGET_API_MAC_CARBON]: New functions.
16431 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
16432 kEventWindowShowing and kEventWindowHiding events. Move installation
16433 of mouse, font, text input and menu target item handlers to
16434 install_application_handler.
16435 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
16436 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
16437 New function.
16438 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
16439 Register it.
16440 (XTread_socket) [TARGET_API_MAC_CARBON]:
16441 Consolidate SendEventToEventTarget calls.
16442 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
16443 Move application activation handler to mac_handle_application_event.
16444 Move keyboard handler to mac_handle_keyboard_event.
16445 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
16446 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
16447 init_command_handler. Call install_application_handler.
16448
16449 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
16450 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
16451
164522007-06-07 Glenn Morris <rgm@gnu.org>
16453
16454 * emacs.c (main): Use `emacs-copyright' in --version output.
16455
164562007-06-06 Chong Yidong <cyd@stupidchicken.com>
16457
16458 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
16459
164602007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16461
16462 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
16463
16464 * macgui.h: Replace WindowPtr with WindowRef.
16465
16466 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
16467 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
16468 Replace ControlHandle with ControlRef.
16469 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
16470
16471 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
16472 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
16473 Replace ControlHandle with ControlRef.
16474 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
16475 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
16476
16477 * macterm.h (struct scroll_bar): Rename member control_handle_low
16478 and control_handle_high to control_ref_low and control_ref_high.
16479 All uses changed.
16480 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
16481 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
16482 respectively. All uses changed.
16483 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
16484 (install_window_handler, remove_window_handler): Replace WindowPtr
16485 with WindowRef in externs.
16486
164872007-06-05 Juanma Barranquero <lekktu@gmail.com>
16488
16489 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
16490
164912007-06-03 Nick Roberts <nickrob@snap.net.nz>
16492
16493 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
16494
16495 * frame.c (Fmouse_position, Fmouse_pixel_position):
16496 Condition on HAVE_GPM too.
16497
16498 * term.c (term_mouse_highlight): Remove unused variables.
16499 (Fterm_open_connection): Set gpm_zerobased to 1.
16500 (term_mouse_movement, term_mouse_click, handle_one_term_event):
16501 Use zero based co-ordinates.
16502 (handle_one_term_event): Report a drag as mouse movement too.
16503
16504 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
16505
165062007-06-03 Chong Yidong <cyd@stupidchicken.com>
16507
16508 * image.c (search_image_cache): New function. Require background
16509 color match if background color is unspecified in the image spec.
16510 (uncache_image, lookup_image): Use it.
16511
165122007-06-01 Juanma Barranquero <lekktu@gmail.com>
16513
16514 * window.c (Fshrink_window): Reflow docstring.
16515
165162007-06-02 Chong Yidong <cyd@stupidchicken.com>
16517
16518 * Version 22.1 released.
16519
165202007-06-01 Richard Stallman <rms@gnu.org>
16521
16522 * xfns.c (x_encode_text): Add GCPRO.
16523
165242007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16525
16526 * xfns.c (x_set_name_internal): Save encoded name before
16527 x_encode_text in case string data is relocated.
16528
165292007-05-31 Richard Stallman <rms@gnu.org>
16530
16531 * buffer.c (syms_of_buffer): Doc fix.
16532
165332007-05-30 Nick Roberts <nickrob@snap.net.nz>
16534
16535 * sysdep.c (init_sys_modes): Add rather than replace with
16536 O_NONBLOCK.
16537
16538 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
16539 term_mouse_moveto.
16540
16541 * termhooks.h (term_mouse_moveto): New extern.
16542
16543 * term.c (mouse_face_window): Rename...
16544 (Qmouse_face_window): ...to this.
16545 (term_show_mouse_face, term_clear_mouse_face)
16546 (term_mouse_highlight): Use Qmouse_face_window.
16547 (term_mouse_moveto): New function.
16548 (term_mouse_position): Make it work.
16549 (syms_of_term): Uncomment assignment to mouse_position_hook.
16550 Staticpro Qmouse_face_window.
16551
165522007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16553
16554 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
16555 around current_column call.
16556
165572007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
16558
16559 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
16560 * xdisp.c (next_element_from_buffer):
16561 * window.c (delete_window):
16562 * term.c (term_mouse_highlight):
16563 * msdos.c (getdefdir):
16564 * macterm.c (mac_create_bitmap_from_bitmap_data)
16565 (init_font_name_table):
16566 * fns.c (Fsxhash):
16567 * data.c (Fmake_local_variable):
16568 * ccl.c (ccl_driver): Likewise.
16569
165702007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16571
16572 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
16573 Call mac_wakeup_from_rne on window size change.
16574
165752007-05-25 Chong Yidong <cyd@stupidchicken.com>
16576
16577 * image.c (uncache_image): Fix typo.
16578
165792007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
16580
16581 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
16582
165832007-05-22 Richard Stallman <rms@gnu.org>
16584
16585 * xterm.c (x_connection_closed): Remove NO_RETURN.
16586
165872007-05-22 Martin Rudalics <rudalics@gmx.at>
16588
16589 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
16590
165912007-05-21 Chong Yidong <cyd@stupidchicken.com>
16592
16593 * image.c (uncache_image): New function.
16594 (Fimage_refresh): New function.
16595
165962007-05-20 Jan Djärv <jan.h.d@swipnet.se>
16597
16598 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
16599
166002007-05-20 Nick Roberts <nickrob@snap.net.nz>
16601
16602 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
16603 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
16604
166052007-05-20 Nick Roberts <nickrob@snap.net.nz>
16606
16607 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
16608 conditional on [HAVE_GPM_H].
16609
166102007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
16611
16612 * syntax.c (skip_chars): Update syntax-table only after we checked that
16613 the new location is valid.
16614
166152007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16616
16617 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
16618 mac_get_window_bounds.
16619
166202007-05-20 Nick Roberts <nickrob@snap.net.nz>
16621
16622 * Makefile.in (LIBGPM): Allow it to be set from configure.
16623 If set then link Emacs with it.
16624
16625 * config.in: Regenerate.
16626
16627 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
16628 New externs.
16629
16630 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
16631 Include gpm.h.
16632 (handle_one_term_event, term_gpm): New externs.
16633
16634 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
16635 and allow it to be interrupted by SIGIO.
16636
16637 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
16638 (wait_reading_process_output): Wait on gpm_fd too.
16639 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
16640 (add_gpm_wait_descriptor_called_flag): New variable.
16641 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
16642
16643 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
16644 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
16645 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
16646 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
16647 (make_lispy_event): Add case GPM_CLICK_EVENT.
16648 (read_avail_input): Handle mouse input.
16649
16650 * term.c (write_glyphs_with_face): New function.
16651 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
16652 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
16653 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
16654 (mouse_face_face_id, term_gpm, pos_x, pos_y)
16655 (last_mouse_x, last_mouse_y): New variables.
16656 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
16657 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
16658 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
16659 (Fterm_close_connection): New functions.
16660 (term_init): Initialise mouse_face_window.
16661
166622007-05-19 Chong Yidong <cyd@stupidchicken.com>
16663
16664 * xdisp.c (redisplay_window): If first window line is a
16665 continuation line, recompute the new window start instead of
16666 recentering.
16667
166682007-05-18 Glenn Morris <rgm@gnu.org>
16669
16670 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
16671 Suggested by Alfred M. Szmidt <ams@gnu.org>.
16672
166732007-05-17 Glenn Morris <rgm@gnu.org>
16674
16675 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
16676
166772007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16678
16679 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
16680 dead key repeat and up events.
16681
166822007-05-14 Chong Yidong <cyd@stupidchicken.com>
16683
16684 * image.c (pbm_load): Check image size for monochrome pbm.
16685
166862007-05-13 Chong Yidong <cyd@stupidchicken.com>
16687
16688 * xterm.c (XTread_socket): Revert last change.
16689
166902007-05-12 Chong Yidong <cyd@stupidchicken.com>
16691
16692 * image.c (pbm_load): Correctly check image size for greyscale pbm.
16693
16694 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
16695
166962007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
16697
16698 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
16699 mixup (YAILOM).
16700
167012007-05-07 Andreas Schwab <schwab@suse.de>
16702
16703 * keymap.c (Flookup_key): Fix typo in last change.
16704
167052007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
16706
16707 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
16708 mapping for unibyte strings.
16709
167102007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16711
16712 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
16713 (Fx_popup_dialog) [MAC_OSX]: Likewise.
16714
167152007-04-29 Richard Stallman <rms@gnu.org>
16716
16717 * insdel.c (replace_range): For undo, record insertion first.
16718
167192007-04-29 Andreas Schwab <schwab@suse.de>
16720
16721 * lisp.h (VECSIZE): Use OFFSETOF.
16722
167232007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16724
16725 * xdisp.c (try_window_reusing_current_matrix): Fix number of
16726 disabled lines.
16727
167282007-04-28 Richard Stallman <rms@gnu.org>
16729
16730 * lread.c (read_escape): In a string, \s is always space.
16731
167322007-04-27 Jan Djärv <jan.h.d@swipnet.se>
16733
16734 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
16735
16736 * gtkutil.c (xg_update_menubar, create_menus): Create empty
16737 submenu for menu bar items.
16738
16739See ChangeLog.10 for earlier changes.
16740
16741;; Local Variables:
16742;; coding: utf-8
16743;; add-log-time-zone-rule: t
16744;; bug-reference-url-format: "http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=%s"
16745;; End:
16746
16747 Copyright (C) 2007, 2008 Free Software Foundation, Inc.
16748
16749 This file is part of GNU Emacs.
16750
16751 GNU Emacs is free software: you can redistribute it and/or modify
16752 it under the terms of the GNU General Public License as published by
16753 the Free Software Foundation, either version 3 of the License, or
16754 (at your option) any later version.
16755
16756 GNU Emacs is distributed in the hope that it will be useful,
16757 but WITHOUT ANY WARRANTY; without even the implied warranty of
16758 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16759 GNU General Public License for more details.
16760
16761 You should have received a copy of the GNU General Public License
16762 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
16763
16764;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40