* sysdep.c (system_process_attributes): Add implementation for Solaris.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
53934c98
DN
12008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
2
3 * sysdep.c: Include alloca.h.
f4f634e8
DN
4 (system_process_attributes): Add implementation for Solaris.
5
6 * s/sol2-10.h (HAVE_PROCFS, _STRUCTURED_PROC): New defines.
53934c98 7
06e111a6
DN
82008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
9
10 Reorganize implementation of Flist_system_processes and
11 Fsystem_process_attributes. No functional changes.
12 * process.c: Don't #include pwd.h, grp.h and limits.h.
13 (Flist_system_processes): Just call list_system_processes.
14 (Fsystem_process_attributes): Just call system_process_attributes.
15 (procfs_list_system_processes, time_from_jiffies)
16 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
17 (procfs_get_total_memory, procfs_system_process_attributes): Move ...
18
19 * sysdep.c: ... here. Include pwd.h, grp.h and limits.h.
20 (list_system_processes): Rename from
21 procfs_list_system_processes. Enclose in #ifdef HAVE_PROCFS.
22 Provide a do nothing implementation.
23 (system_process_attributes): Rename from
24 procfs_list_system_processes.
25 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
26 (procfs_get_total_memory): Enclose in #ifdef GNU_LINUX.
27
28 * w32.c (list_system_processes): Rename from
29 w32_list_system_processes.
30 (system_process_attributes): Rename from
31 w32_system_process_attributes.
32
33 * s/gnu-linux.h (LISTPROC, PROCATTR): Remove.
34
35 * process.h (w32_list_system_processes)
36 (w32_system_process_attributes): Remove.
37 (list_system_processes, system_process_attributes): New
38 prototypes.
39
6a705b23
KH
402008-12-19 Kenichi Handa <handa@m17n.org>
41
42 * xfont.c (xfont_decode_coding_xlfd): New function.
43 (xfont_encode_coding_xlfd): New function.
44 (xfont_list_pattern): Decode XLFD by iso-8859-1.
45 (xfont_list): Decode and encode XLFD by iso-8859-1.
46 (xfont_match): Likewise.
47 (xfont_list_family): Likewise.
48 (xfont_open): Likewise.
49
50 * ftfont.c (ftfont_open): Genarate a multibyte string if given
51 names are utf-8.
52
53 * xftfont.c (xftfont_open): Genarate a multibyte string if given
54 names are utf-8.
55
5a130941
JD
562008-12-18 Jan Djärv <jan.h.d@swipnet.se>
57
58 * gtkutil.c (xg_frame_resized): Remove check if rows/columns have
59 changed.
bfd20325
JD
60 (xg_tool_bar_proxy_callback): Put focus on the frame after we have
61 clicked on a detached tool bar button.
5a130941 62
fd95644b
DN
632008-12-18 Dan Nicolaescu <dann@ics.uci.edu>
64
65 * emacs.c (main): Print and error and exit when no data is read
66 from the pipe.
67
e6eee6ae
JR
682008-12-17 Jason Rumney <jasonr@gnu.org>
69
70 * w32font.c (w32font_has_char): Always return -1.
71
a35dd56b
KH
722008-12-16 Kenichi Handa <handa@m17n.org>
73
74 * font.c (font_open_entity): Fix previous change.
75
0e3635c2
DN
762008-12-16 Dan Nicolaescu <dann@ics.uci.edu>
77
78 * process.c: Include <limits.h>.
79
d4835507 802008-12-16 Chetan Pandya <pandyacus@sbcglobal.net> (tiny change)
b5356c39
CY
81
82 * font.c (font_update_drivers): Fix mistake in reconstructing the
83 driver list.
84
852008-12-16 Chong Yidong <cyd@stupidchicken.com>
86
87 * font.c (font_clear_cache): Fix format of font cache data.
88
e2cbc401
CY
892008-12-15 Chong Yidong <cyd@stupidchicken.com>
90
91 * xftfont.c (xftfont_open): Free Xft font pattern if
92 XftFontOpenPattern fails.
93
94 * xterm.c (x_free_frame_resources): Remove extraneous call to
95 free_frame_faces.
96
b131d535
CY
972008-12-13 Chong Yidong <cyd@stupidchicken.com>
98
99 * xterm.c (x_delete_display): Move xim_close_dpy call to
100 x_delete_terminal.
101 (x_delete_terminal): Call xim_close_dpy.
102
e6df5336
JR
1032008-12-13 Jason Rumney <jasonr@gnu.org>
104
105 * w32font.c (intern_font_name): New function.
106 (add_font_name_to_list, w32_enumfont_pattern_entity): Use it.
107 (w32font_open_internal, Fx_select_font): Decode font name.
108 (fill_in_logfont, list_all_matching_fonts): Encode font name.
109
110 * w32font.h (intern_font_name): Declare new function.
111
112 * w32uniscribe.c (add_opentype_font_name_to_list):
113 Use intern_font_name.
114
20d68145
CY
1152008-12-13 Chong Yidong <cyd@stupidchicken.com>
116
9f2554de
CY
117 * frame.c (Fdelete_frame): Call free_font_driver_list.
118
3d9bec9a
CY
119 * font.c (free_font_driver_list): Implement missing function.
120
20d68145
CY
121 * w32term.c (w32_term_init): Don't initialize the image cache
122 here; it will be done in init_frame_faces.
123
124 * xterm.h (struct xim_inst_t): Definition moved from xterm.c.
125 (struct x_display_info): Remove unused member null_pixel. New
126 member xim_callback_data.
127
128 * xterm.c (struct xim_inst_t): Definition moved to xterm.h.
129 (xim_initialize): Save pointer to callback function data.
130 (xim_close_dpy): Free callback function data. Call XCloseIM,
131 reverting 2008-11-04 change by David Smith.
132 (x_term_init): Don't initialize the image cache here; it will be
133 done in init_frame_faces. Remove ancient "null_pixel" cruft.
134 (x_delete_display): Free x_dnd_atoms member.
135
96f9306b
KH
1362008-12-13 Kenichi Handa <handa@m17n.org>
137
138 * font.c (font_rescale_ratio): Moved from xfaces.c. Argument
139 type changed. Handle a font-spec too.
140 (font_score): Check Vface_font_rescale_alist.
141 (font_open_entity): Likewise.
142
143 * xfaces.c (font_rescale_ratio): Moved to font.c.
144
8d5b4964
CY
1452008-12-13 Chong Yidong <cyd@stupidchicken.com>
146
147 * xfns.c (Fx_wm_set_size_hint): Check if the frame is an X frame.
148
e6df5336
JR
1492008-12-12 Jason Rumney <jasonr@gnu.org>
150
151 * w32fns.c (x_display_info_for_name, Fx_open_connection): Set
152 Vwindow_system_version to the real w32 major version.
153
97c6058a
DN
1542008-12-12 Dan Nicolaescu <dann@ics.uci.edu>
155
156 * term.c (init_tty): Move setting the terminal name before the
157 potential user: maybe_fatal.
158
ec4e88d7
CY
1592008-12-11 Chong Yidong <cyd@stupidchicken.com>
160
d4835507
JB
161 * term.c (tty_free_frame_resources): Renamed from delete_tty_output;
162 all callers changed. Call free_frame_faces to free the face cache.
ec4e88d7 163
b4233ec9
JR
1642008-12-11 Jason Rumney <jasonr@gnu.org>
165
8ec71e23
JR
166 * w32font.c (fill_in_logfont): Don't assume symbol script means
167 SYMBOL_CHARSET.
168
b4233ec9
JR
169 * w32uniscribe.c (uniscribe_encode_char): Increase glyph buffer
170 size for surrogates.
171
011a0143
JB
1722008-12-11 Juanma Barranquero <lekktu@gmail.com>
173
174 * w32proc.c (Fw32_get_locale_info): Decode long form of locale name.
175
3c309f34
JB
1762008-12-11 Juanma Barranquero <lekktu@gmail.com>
177
178 * process.c (Fsystem_process_attributes, syms_of_process):
179 Fix typo in name of Ssystem_process_attributes.
180 Reported by Ulrich Mueller <ulm@kph.uni-mainz.de>.
181
fedc6ab5
JB
1822008-12-11 Juanma Barranquero <lekktu@gmail.com>
183
184 * syntax.c (Fmodify_syntax_entry): Doc fix.
185
ba3de0e8
JB
1862008-12-10 Juanma Barranquero <lekktu@gmail.com>
187
188 * font.c (Ffont_spec): Move usage to end of docstring.
189
174f1c74
JR
1902008-12-10 Jason Rumney <jasonr@gnu.org>
191
192 * w32font.c (Qcham): New symbol.
193 (font_supported_scripts): Add cham, and comments for other new
194 scripts in bitfield from OpenType spec.
9d32f818
JR
195 (add_font_entity_to_list): Limit unicode-sip fonts to those that
196 contain characters beyond the bmp.
174f1c74 197
7b649478
KH
1982008-12-10 Kenichi Handa <handa@m17n.org>
199
200 * ftfont.c (fc_charset_table): Add "unicode-sip".
2ae37cf0 201 (ftfont_spec_pattern): Lookup fc_charset_table for the registry
7b649478
KH
202 Qunicode_sip.
203
2133e2d1
JB
2042008-12-10 Juanma Barranquero <lekktu@gmail.com>
205
206 * coding.c (QCdefault_char): Rename from QCdefalut_char.
207 (Fcoding_system_put): Use QCdefault_char.
208 (syms_of_coding): Set QCdefault_char, not QCdefalut_char.
209
9af886ee
CY
2102008-12-09 Chong Yidong <cyd@stupidchicken.com>
211
74d819eb
CY
212 * xftfont.c (syms_of_xftfont): Fix typo.
213
4ccfa1c0 214 * buffer.c (Fbuffer_swap_text): Signal error if swapping a dead buffer.
9af886ee 215
7c19d3ae
DN
2162008-12-08 Dan Nicolaescu <dann@ics.uci.edu>
217
218 * emacs.c (main): Close daemon_pipe on exec.
219
567826bb
CY
2202008-12-08 Chong Yidong <cyd@stupidchicken.com>
221
222 * termchar.h (struct tty): New members termcap_term_buffer and
223 termcap_strings_buffer.
224
225 * term.c (encode_terminal_code): Free any previous memory blocks
4ccfa1c0 226 before calling xmalloc for encode_terminal_src or encode_terminal_dst.
567826bb
CY
227 (maybe_fatal): Buffer argument deleted. Don't free buffer here.
228 All callers changed.
229 (init_tty): Store termcap data and string buffers in new struct
230 tty members termcap_term_buffer and termcap_strings_buffer.
231 (delete_tty): Free them.
4ccfa1c0 232 (syms_of_term): Initialize encode_terminal_src and encode_terminal_dst.
567826bb 233
aa96c42b
SZ
2342008-12-07 Seiji Zenitani <zenitani@mac.com>
235
236 * nsfns.m (ns_set_background_color): Remove code duplication.
4ccfa1c0 237 It was a substitute for face-transparency on OS X 10.3.
aa96c42b 238
b7e1d896
CY
2392008-12-06 Chong Yidong <cyd@stupidchicken.com>
240
241 * coding.c (make_conversion_work_buffer): Disable buffer
242 modification hooks in the work buffer.
243
b5ec91a5
EZ
2442008-12-05 Eli Zaretskii <eliz@gnu.org>
245
246 * process.c (procfs_system_process_attributes): If `nread' has a
247 negative value, assign zero to it.
248
a5d2a52b
CY
2492008-12-05 Chong Yidong <cyd@stupidchicken.com>
250
68c5540b 251 * eval.c (Vdebug_on_error): Doc fix.
a5d2a52b 252
7bf1bb21
KH
2532008-12-05 Kenichi Handa <handa@m17n.org>
254
255 * ftfont.c (ftfont_shape_by_flt): Use "combining" flt if the
256 second character is a combining character.
257
2fdc7d00
EZ
2582008-12-05 Eli Zaretskii <eliz@gnu.org>
259
260 * process.c (procfs_system_process_attributes): Don't use cmd,
261 cmdsize, and q without initializing them first.
262
bf6bfba8
JR
2632008-12-04 Jason Rumney <jasonr@gnu.org>
264
265 * w32font.c (w32font_draw): Initialize orig_clip before getting
266 it, and delete it when finished.
267
a3b1a468
DN
2682008-12-04 Dan Nicolaescu <dann@ics.uci.edu>
269
270 * keyboard.c (kbd_buffer_get_event): Follow the non-interactive
271 case when running as a daemon before detaching.
272
8b8be8eb
JB
2732008-12-03 Juanma Barranquero <lekktu@gmail.com>
274
805f2638 275 * w32.c (init_environment): Don't unload library shell32.dll.
8b8be8eb 276
b1bde622
KH
2772008-12-03 Kenichi Handa <handa@m17n.org>
278
e500c47d
KH
279 * font.c (font_at): Set `multibyte' at first.
280
ca516334
KH
281 * coding.c (decode_coding_charset): Check type of an element of
282 vector VALIDS.
7bf1bb21 283 (encode_coding_emacs_mule): Be sure to set `code'.
ca516334 284
4ccfa1c0 285 * fontset.c (face_for_char): Handle invalid charset property correctly.
b1bde622
KH
286 (font_for_char): Likewise.
287
1e5ecd37
CY
2882008-12-03 Chong Yidong <cyd@stupidchicken.com>
289
d5b01609 290 * font.c (Fopen_font): Compute pixel size correctly.
ba207571
CY
291 (font_update_lface): Handle fonts with corrupted size specs,
292 i.e. non-int and non-float.
d5b01609 293
11e3a6e4 294 * ftfont.c (ftfont_match): Initialize entity variable.
9a48c8cb 295 (ftfont_resolve_generic_family): Avoid using uninitialized var.
8adb3a3b 296 (ftfont_list_family): Initialize list var earlier.
11e3a6e4 297
ab06788b
CY
298 * xselect.c (Fx_get_cut_buffer_internal): Fix memory leak.
299
1e5ecd37 300 * xterm.c (x_draw_glyph_string): Fall back on
0cff82ab 301 underline_minimum_offset for underline position.
1e5ecd37 302
63c125ab
DN
3032008-12-03 Dan Nicolaescu <dann@ics.uci.edu>
304
305 * keyboard.c (read_char_help_form_unwind): Specify the type for ARG.
306
307 * character.c (c_string_width): Specify the type for LEN.
308
3a8406e1
KH
3092008-12-03 Kenichi Handa <handa@m17n.org>
310
4ccfa1c0 311 * coding.c (decode_coding_utf_16): Initialize consumed_chars_base to 0.
453b38f0 312 (decode_coding_utf_8): Likewise.
4ccfa1c0 313 (detect_coding_system): Initialize utf_16_le_eol to -1, val to Qnil.
4533845d 314 (produce_chars): Initialize consumed_chars to 0.
3a8406e1 315
651df7d9
CY
3162008-12-02 Chong Yidong <cyd@stupidchicken.com>
317
318 * keyboard.c (make_lispy_position): Only use PT if the selected
319 window is current.
320
1f625c6c
AS
3212008-12-02 Andreas Schwab <schwab@suse.de>
322
f7741ce9
AS
323 * font.c (font_unparse_fcname): Fix use of uninitialized variable.
324
1f625c6c
AS
325 * doprnt.c (doprnt1): Fix size of charbuf.
326
92bc2678
CY
3272008-12-02 Chong Yidong <cyd@stupidchicken.com>
328
329 * keyboard.c (timer_check): Revert last change.
330
93b9e8cc
JB
3312008-12-02 Juanma Barranquero <lekktu@gmail.com>
332
333 * makefile.w32-in ($(BLD)/w32console.$(O)): Fix silly, silly typo.
334
fd7a37d5
JB
3352008-12-01 Juanma Barranquero <lekktu@gmail.com>
336
337 * makefile.w32-in: Update dependencies.
338 (CONFIG_H): Add $(EMACS_ROOT)/nt/inc/sys/time.h.
339
c115043b
AS
3402008-12-01 Andreas Schwab <schwab@suse.de>
341
342 * font.c (register_font_driver): Use xmalloc.
343 (font_put_frame_data): Likewise.
344
f5668d2a
CY
3452008-12-01 Chong Yidong <cyd@stupidchicken.com>
346
860d96be
CY
347 * xfaces.c (realize_x_face): Make abort condition clearer.
348
f5668d2a
CY
349 * gtkutil.c (update_frame_tool_bar): Initialize variable.
350
379c17e7
CY
3512008-11-30 Chong Yidong <cyd@stupidchicken.com>
352
353 * keyboard.c (timer_check): After a timer runs, ensure that the
354 selected window's buffer is current.
355
35f36d65
JB
3562008-11-30 Juanma Barranquero <lekktu@gmail.com>
357
f952c61c
JB
358 * makefile.w32-in ($(BLD)/abbrev.$(O)): Remove.
359 It was accidentally restored by the Unicode merge.
360
35f36d65
JB
361 * w32proc.c (Fw32_get_locale_info): Fix typo in docstring.
362
b23077df
JB
3632008-11-29 Juanma Barranquero <lekktu@gmail.com>
364
365 * w32proc.c: Include "coding.h".
366 (Fw32_short_file_name): Encode filename passed to Windows API.
367 (Fw32_long_file_name): Encode filename passed to Windows API and
368 decode back the result. (Bug#1433)
369
b8ebe9dd
KH
3702008-11-29 Kenichi Handa <handa@m17n.org>
371
8cc53f96
KH
372 * charset.h (CHAR_CHARSET_P): Check if the encoder is loaded or
373 not before accessing it.
374
b8ebe9dd
KH
375 * charset.c (Fdefine_charset_internal): After calculating
376 min_char, max_char, and fastmap, copy the charset structure again.
377 (encode_char): Fix the previous change.
378
59bc82c0
SZ
3792008-11-28 Seiji Zenitani <zenitani@mac.com>
380
381 * frame.c (x_set_alpha) [NS_IMPL_COCOA]: Call x_set_frame_alpha.
382
383 * nsfns.m (ns_frame_parm_handlers): Set alpha handler.
384
385 * nsterm.m (x_set_frame_alpha): New function.
386
32247e3d
EZ
3872008-11-27 Eli Zaretskii <eliz@gnu.org>
388
389 * xfaces.c (Fx_font_family_list, syms_of_xfaces): Fix last change.
390
b003e5ff
JB
3912008-11-27 Juanma Barranquero <lekktu@gmail.com>
392
393 * w32font.c (add_font_entity_to_list): Pass the right LOGFONT
394 pointer to check_face_name.
395
708550f5
KH
3962008-11-27 Kenichi Handa <handa@m17n.org>
397
398 * category.h (SET_CATEGORY_SET): Call set_category_set.
399 (set_category_set): Extern it.
400
401 * category.c (hash_get_category_set): New function.
402 (Fmodify_category_entry): Adjusted for the change of
403 char_table_ref_and_range. Call hash_get_category_set to get a
404 category set to store in the table.
405
406 * character.h (MAYBE_UNIFY_CHAR): Call maybe_unify_char instead of
407 Funify_charset.
408
2ae37cf0 409 * charset.h (enum charset_method): Delete CHARSET_METHOD_MAP_DEFERRED.
708550f5
KH
410 (DECODE_CHAR): Check if the decoder vector is ready.
411 (ENCODE_CHAR): Check if the encoder char-table is ready.
412 (maybe_unify_char): Extern it.
413
414 * charset.c (Vchar_unified_charset_table): Delete it.
415 (inhibit_load_charset_map): New variable.
416 (temp_charset_work): New variable.
417 (SET_TEMP_CHARSET_WORK_ENCODER, GET_TEMP_CHARSET_WORK_ENCODER)
418 (SET_TEMP_CHARSET_WORK_DECODER, GET_TEMP_CHARSET_WORK_DECODER):
419 New macros.
420 (load_charset_map): Meaning of control_flag changed. If
421 inhibit_load_charset_map is nonzero, setup a table in
422 temp_charset_work.
423 (load_charset): New argument control_flag.
424 (map_charset_for_dump): New function.
425 (map_charset_chars): If inhibit_load_charset_map is nonzero, use
426 map_charset_for_dump.
427 (Fdefine_charset_internal): If the charset method is MAP, load
428 mapping tables by calling load_charset.
429 (Funify_charset): Don't load a mapping table but directly set
430 Vchar_unify_table.
431 (maybe_unify_char): New function.
432 (decode_char): Don't handle the deleted method MAP_DEFERRED.
433 Handle the case of inhibit_load_charset_map being nonzero.
434 (encode_char): Don't handle the deleted method MAP_DEFERRED.
435 Handle the case of inhibit_load_charset_map being nonzero.
436 (Fclear_charset_maps): Just free temp_charset_work.
437 (syms_of_charset): Make `inhibit-load-charset-map' a Lisp
438 variable.
439
440 * chartab.c (sub_char_table_ref_and_range): Adjusted for the
441 change of char_table_ref_and_range.
442 (char_table_ref_and_range): Change the meaning of argument FROM
443 and TO. Now the caller must provide initial values for *FROM
444 and *TO.
445
446 * fontset.c (fontset_add): Adjusted for the change of
447 char_table_ref_and_range.
448 (fontset_get_font_group): Likewise.
449 (Ffontset_info): Likewise.
450
451 * keymap.c (describe_vector): Adjusted for the change of
452 char_table_ref_and_range. For char-table, put boundary between
453 non-ASCII and 8-bit characters.
454
455 * print.c (print_object): For bool-vector, delete unnecessary
456 check of ASCII_BYTE_P.
457
9196133b
JR
4582008-11-26 Jason Rumney <jasonr@gnu.org>
459
460 * w32font.c (w32font_open_internal): Don't include external
461 leading in font height.
462
9f688acf
GM
4632008-11-26 Glenn Morris <rgm@gnu.org>
464
465 * xfaces.c (Fx_font_family_list): Replace lisp/term/pc-win.el
466 redefinition with ifdef. (Bug#1383)
467
90d19aff
AR
4682008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
469
470 * nsterm.m (ns_get_color): Handle long hex strings (fixes bug #1044).
471
4ccfa1c0 4722008-11-24 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
90d19aff
AR
473
474 * nsterm.m (-otherMouseDown:, -otherMouseUp:, -otherMouseDragged):
475 New EmacsView methods.
476 (EV_UDMODIFIERS, EV_BUTTON): Add OtherMouse constants.
477 Fixes bug #1048,1357,1414.
478
4792008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
480
481 Fix bug #1362.
482 * image.c (x_clear_image_1): Do not free background under HAVE_NS, it
483 is not an indexed color.
484 * nsterm.m (free_indexed_color): Add argument checking.
485 * nsfns.m: Move config.h to before system includes (advised by Dan N.).
486
e7d5ecb3
CY
4872008-11-24 Chong Yidong <cyd@stupidchicken.com>
488
489 * minibuf.c (Fcompleting_read, Vminibuffer_completion_confirm):
490 Document confirm-after-completion value for
491 minibuffer-completion-confirm.
492
c285743c
JR
4932008-11-24 Jason Rumney <jasonr@gnu.org>
494
495 * w32font.c (check_face_name): Use xstrcasecmp. Avoid compiler
496 warning.
497
b0857706
JR
4982008-11-23 Jason Rumney <jasonr@gnu.org>
499
500 * w32uniscribe.c (uniscribe_encode_char): Ensure context is
501 restored before returning.
502
503 * w32font.c (check_face_name): New function.
504 (add_font_entity_to_list): Use it to filter out common substituted
505 fonts.
506
ee50ff07
MR
5072008-11-22 Martin Rudalics <rudalics@gmx.at>
508
509 * buffer.c (Fswitch_to_buffer): Reword and mention new option
510 confirm-nonexistent-file-or-buffer in doc-string.
511
b8ff72fa
SM
5122008-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
513
514 * buffer.c (Fbuffer_swap_text): Remove redundant marker manipulation.
515 Fix copy/paste typo. Add checks.
516
cee53ed4
KH
5172008-11-21 Kenichi Handa <handa@m17n.org>
518
519 * coding.c (detect_coding_iso_2022): Reject invalid composition
520 sequence.
521 (DECODE_COMPOSITION_START): If the current source is the last
522 block, and the current composition doesn't end, regard this
523 sequence as invalid.
524 (decode_coding_iso_2022): Handle invalid composition sequence.
525
f6ef1e65
MR
5262008-11-20 Martin Rudalics <rudalics@gmx.at>
527
528 * window.c (coordinates_in_window): Don't return
529 ON_VERTICAL_BORDER for the rightmost position of a mode/header
530 line when the window is not the rightmost one. (Bug#1372)
531
e08b1705
MR
5322008-11-16 Ben North <ben@redfrontdoor.org> (tiny change)
533
534 * buffer.c (syms_of_buffer): Fix doc-string of cursor-type.
535
ad98e89f
EZ
5362008-11-15 Eli Zaretskii <eliz@gnu.org>
537
538 * msdos.c (run_msdos_command): Don't call dos_ttcooked, dos_ttraw,
539 and bright_bg if noninteractive is non-zero.
540
fb098a4b
CY
5412008-11-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
542
543 * xterm.c (x_draw_glyph_string): For stretch glyphs, don't call
544 x_draw_glyph_string_background.
545
546 * w32term.c (x_draw_glyph_string): Likewise.
547
ce952b6e
CY
5482008-11-15 Chong Yidong <cyd@stupidchicken.com>
549
550 * xterm.c (x_draw_glyph_string): Stop drawing the background of
551 the next glyph string once past the overhang width.
552
553 * nsterm.m (ns_draw_glyph_string): Likewise.
554
555 * w32term.c (x_draw_glyph_string): Likewise.
556
26ea7079
CY
5572008-11-14 Fabrice Popineau <fabrice.popineau@supelec.fr> (tiny change)
558
559 * fileio.c (Finsert_file_contents): Decrement specpdl_ptr to avoid
560 double file close.
561
1c33c906
MR
5622008-11-14 Martin Rudalics <rudalics@gmx.at>
563
564 * window.c (window_loop): In DELETE_BUFFER_WINDOWS case, reset
565 dedicated status of window before attempting to display another
566 buffer in it.
567
8fc29035
JB
5682008-11-14 Juanma Barranquero <lekktu@gmail.com>
569
570 * msdos.c (Fmsdos_long_file_names):
571 (syms_of_msdos) <dos-unsupported-char-glyph>:
572 * dosfns.c (Fint86): Fix typos in docstrings.
573
55fb4286
EZ
5742008-11-14 Eli Zaretskii <eliz@gnu.org>
575
576 * makefile.w32-in (OBJ1, WIN32OBJ): Fix whitespace.
577
3fda0315
KY
5782008-11-14 Katsumi Yamaoka <yamaoka@jpl.org>
579
580 * puresize.h (BASE_PURESIZE): Increase to 1260000.
581
7e849c17
CY
5822008-11-12 Michal Nazarewicz <mina86@tlen.pl> (tiny change)
583
584 * frame.c (x_set_alpha): Set alpha to -1 if nil given.
585
586 * frame.h: Negative alpha means "don't touch".
587
588 * w32term.c (x_set_frame_alpha): Do nothing if alpha is negative.
589
590 * xterm.c (x_set_frame_alpha): Do nothing if alpha is negative.
591
b9fd67bd
DN
5922008-11-12 Dan Nicolaescu <dann@ics.uci.edu>
593
594 * hftctl.c:
595 * chpdef.h:
596 * acldef.h: Remove files used only for systems no longer supported.
597
598 * Makefile.in: Fix .o alphabetical ordering.
599 (hftctl.o): Remove dependency, file removed.
600 (keymap.o, print.o): Depend on charset.h.
601
d5998e03
KH
6022008-11-10 Kenichi Handa <handa@m17n.org>
603
2ae37cf0 604 * character.c (Fget_byte): Fix and make it faster for unibyte target.
d5998e03 605
be70e183
CY
6062008-11-08 Chong Yidong <cyd@stupidchicken.com>
607
608 * dired.c (file_name_completion): If completion_ignore_case is
609 enabled, ignore case when checking completion-regexp-list.
610
7cf94eac
EZ
6112008-11-08 Eli Zaretskii <eliz@gnu.org>
612
613 * vm-limit.c (get_lim_data): Fix last change.
614
ee107a89
KH
6152008-11-08 Kenichi Handa <handa@m17n.org>
616
617 * character.c (Fget_byte): New function.
618 (syms_of_character): Defsubr Fget_byte.
619
5fd15622
CY
6202008-11-07 Chong Yidong <cyd@stupidchicken.com>
621
622 * xdisp.c (try_window_reusing_current_matrix): Ensure that window
623 cursor position is valid after scrolling.
624
13d62fad
JB
6252008-11-06 Juanma Barranquero <lekktu@gmail.com>
626
627 * fns.c (Frandom): Rename arg N to LIMIT to match the docs; doc fix.
628
a1dd2936
GM
6292008-11-06 Glenn Morris <rgm@gnu.org>
630
631 * xterm.c (handle_one_xevent): Don't let popup menus cause
632 mouse-autoselect-window related window switching. (Bug#1261)
633
860cd236
CY
6342008-11-04 David Smith <davidsmith@acm.org> (tiny change)
635
636 * xterm.c (xim_close_dpy): Avoid double-free on X11R6 XIM.
637
653a3150
AS
6382008-11-04 Andreas Schwab <schwab@suse.de>
639
640 * xfns.c (Fx_wm_set_size_hint): Add missing return value.
641
870f5cac
CY
6422008-11-03 Chong Yidong <cyd@stupidchicken.com>
643
644 * xfns.c (Fx_wm_set_size_hint): New function.
645
1e02f3cb
MR
6462008-11-03 Martin Rudalics <rudalics@gmx.at>
647
648 * textprop.c (Fprevious_single_char_property_change): Return 0
649 when there's no change in a string. (Bug#1301)
650
e630dfc6
MR
6512008-11-02 Martin Rudalics <rudalics@gmx.at>
652
653 * frame.c (do_switch_frame): New argument NORECORD passed to
654 Fselect_window.
655 (Fselect_frame): New argument NORECORD passed to
656 do_switch_frame.
657 (Fset_frame_selected_window): New argument NORECORD passed to
658 Fselect_frame.
659 (Fhandle_switch_frame, Fdelete_frame): Handle NORECORD argument
660 in call of do_switch_frame.
661 (Fset_mouse_position, Fset_mouse_pixel_position, Fraise_frame):
662 Handle NORECORD argument in call of Fselect_frame.
663 * lisp.h (do_switch_frame, Fselect_frame)
664 (Fset_frame_selected_window): Adjust declarations.
665 * window.c (select_frame_norecord): New function.
666 (run_window_configuration_change_hook): Use it and call
667 Fselect_frame with NORECORD set.
668 (Fselect_window): Pass NORECORD to Fselect_frame.
669 (Fset_window_configuration): Handle NORECORD argument in call of
670 do_switch_frame.
671 * minibuf.c (choose_minibuf_frame): Handle NORECORD in call of
672 Fset_frame_selected_window.
673 * keyboard.c (command_loop_1): Handle NORECORD in call of
674 Fselect_frame (currently ifdefd).
675
9020b223
GM
6762008-11-02 Ulrich Mueller <ulm@kph.uni-mainz.de>
677
678 * emacs.c (USAGE2): Untabify.
679
793ffee8
SM
6802008-11-01 Stefan Monnier <monnier@iro.umontreal.ca>
681
682 * composite.c (fill_gstring_header): Fix copy/paste typo.
683
ab6d1131
MR
6842008-10-31 Martin Rudalics <rudalics@gmx.at>
685
686 * window.c (Fnext_window, Fprevious_window): Rewrite doc-string.
687 (Fother_window): Rename argument and rewrite doc-string.
688 (select_window_norecord): Fix return value. (Bug#1276)
689
601a9cf1
JB
6902008-10-30 Juanma Barranquero <lekktu@gmail.com>
691
692 * w32fns.c (x_create_tip_frame): Prevent default foreground color for
693 new frames overriding foreground for tooltips. Based on similar patch
694 from Martin Rudalics <rudalics@gmx.at>. (Bug#1032)
695
813b0652
CY
6962008-10-29 Chong Yidong <cyd@stupidchicken.com>
697
698 * emacs.c (Fdaemon_initialized): Initialize nfd.
699
4414f58f
MR
7002008-10-29 Martin Rudalics <rudalics@gmx.at>
701
702 * window.c (Fwindow_height, Fdelete_window, set_window_buffer)
703 (Fwindow_text_height): Clarify doc-strings.
704 * xdisp.c (syms_of_xdisp): Mention set-window-buffer in
705 doc-string of window-scroll-functions.
706
ecdcaa09
RS
7072008-10-28 Reiner Steib <Reiner.Steib@gmx.de>
708
709 * category.c (syms_of_category): Fix typo in docstring.
710
23fe745a
JB
7112008-10-28 Juanma Barranquero <lekktu@gmail.com>
712
713 * window.c (Fwindowp, Fwindow_live_p, Fwindow_minibuffer_p)
714 (Fcoordinates_in_window_p, Fscroll_left, Fscroll_right):
715 Fix typos in docstrings.
716
ff808935
DN
7172008-10-28 Dan Nicolaescu <dann@ics.uci.edu>
718
719 * emacs.c (daemon_pipe): Make non-static.
720 (IS_DAEMON): Move definition ...
721 * lisp.h (IS_DAEMON): ... here.
722 (daemon_pipe): Declare.
723 (is_daemon): Remove.
724 * dispnew.c (init_display): Use IS_DAEMON.
725
fc012771
SM
7262008-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
727
728 * xdisp.c (pos_visible_p, redisplay_internal, message3_nolog)
729 (message2_nolog): Check FRAME_INITIAL_P instead of noninteractively.
730
731 * emacs.c (is_daemon): Remove.
732 (main): Don't set is_daemon.
733 (IS_DAEMON): New macro.
734 (Fdaemonp, Fdaemon_initialized): Use it.
601a9cf1 735 (Fdaemon_initialized): Write a char into the pipe to make sure the
fc012771
SM
736 parent exits.
737 (syms_of_emacs): Explicitly initialize daemon_pipe[1].
738
d8bdbe6f
CY
7392008-10-27 Chong Yidong <cyd@stupidchicken.com>
740
d1a072bf
CY
741 * nsterm.m (ns_draw_window_cursor): When hbar cursor is on
742 over-sized glyph, draw it with the default glyph width.
743
e2e325aa
CY
744 * w32term.c (x_draw_bar_cursor): When hbar cursor is on over-sized
745 glyph, draw it with the default glyph width.
746
747 * xterm.c (x_draw_bar_cursor): When hbar cursor is on over-sized
748 glyph, draw it with the default glyph width.
749
d8bdbe6f
CY
750 * xdisp.c (try_scrolling): When computing the distance from the
751 scroll margin to PT, try moving some distance past the window
752 bottom before giving up.
753
7bfac547
MR
7542008-10-27 Martin Rudalics <rudalics@gmx.at>
755
756 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p)
757 (Fset_window_buffer): Explain in doc-string that a window can be
758 "strongly" dedicated to its buffer.
759
4ff029f6
DN
7602008-10-27 Dan Nicolaescu <dann@ics.uci.edu>
761
762 * emacs.c (daemon_name): New variable.
763 (main): Deal with --daemon=SERVER_NAME.
764 (Fdaemonp): Return a name if one was passed to --daemon.
765
5790ef40
DN
7662008-10-26 Romain Francoise <romain@orebokech.com>
767
f9bd0df9 768 * emacs.c (daemon_pipe): New variable.
5790ef40
DN
769 (main): Create a pipe before forking, make the parent exit only after
770 the child has closed its end of the pipe. Move closing the
771 descriptors ...
772 (Fdaemon_initialized): ... here. New function.
773
f5385255
SM
7742008-10-26 Stefan Monnier <monnier@iro.umontreal.ca>
775
4d632321
SM
776 * chartab.c (Foptimize_char_table): Make sure `ascii' doesn't point to
777 the previous unoptimized table.
778
f5385255
SM
779 * window.c (Fset_window_buffer): Undo 2008-10-18 change to re-instate
780 the distinction between non-nil and non-t value of `dedicated'.
781
6c56a0f3
CY
7822008-10-25 Chong Yidong <cyd@stupidchicken.com>
783
784 * keyboard.c (read_char_minibuf_menu_prompt): Ensure that
f5385255 785 read_char_minibuf_menu_text is large enough to hold the menu string.
6c56a0f3 786
fec89261
MR
7872008-10-25 Martin Rudalics <rudalics@gmx.at>
788
789 * window.c (Fget_buffer_window, Fdelete_windows_on)
790 (Freplace_buffer_in_windows): Make buffer argument optional and
791 rename to buffer_or_name.
792
34fcddd0
CY
7932008-10-24 Chong Yidong <cyd@stupidchicken.com>
794
f5385255
SM
795 * xdisp.c (handle_single_display_spec, handle_display_prop):
796 Undo 2005-05-16 change.
34fcddd0
CY
797 (handle_stop): Pop iterator if it's loaded with an empty string.
798 (get_overlay_strings_1): Don't save iterator if it's loaded with
799 an empty string (bug#1201).
800
064766f2
KH
8012008-10-24 Kenichi Handa <handa@m17n.org>
802
803 * ftfont.c (ftfont_otf_features): Fix previous change.
804 (ftfont_otf_capability): Check FeatureList.FeatureCount before
805 calling ftfont_otf_features.
806
f9bd0df9 8072008-10-24 Kenichi Handa <handa@m17n.org>
064766f2
KH
808
809 * font.c (font_match_p): Fix for the case that a vector of
810 characters is in script-representative-chars.
811
1dae9197
MA
8122008-10-24 Michael Albinus <michael.albinus@gmx.de>
813
814 * dbusbind.c (xd_in_read_queued_messages): New variable.
f5385255 815 (XD_SIGNAL1, XD_SIGNAL2, XD_SIGNAL3): New macros. Throw Qdbus_error.
1dae9197
MA
816 (xd_read_queued_messages): Catch Qdbus_error from the macros.
817 (all): Replace xsignal1, xsignal2, xsignal3 by the respective
818 macro. (Bug#1186).
819
f9bd0df9 8202008-10-23 Ali Bahrami <ali_gnu@emvision.com> (tiny change)
9b3362b8
DN
821
822 * s/sol2-10.h: New file.
823
878a4584
JB
8242008-10-23 Juanma Barranquero <lekktu@gmail.com>
825
826 * xdisp.c (fill_glyph_string): Fix typo in source (though the
827 poor beast has survived 9+ years and the jump from xterm.c!).
828
cd265ca6
MR
8292008-10-23 Martin Rudalics <rudalics@gmx.at>
830
831 * buffer.c (Fget_buffer_create): Rename arg to buffer_or_name.
832 Reword doc-string.
f5385255 833 (Fbury_buffer): In doc-string say what happens to the buffer's window.
cd265ca6 834
472a4dc9
JB
8352008-10-23 Juanma Barranquero <lekktu@gmail.com>
836
837 * character.c (syms_of_character) <script-representative-chars>:
838 <unicode-category-table>: Doc fixes.
839
159bd5a2
NF
8402008-10-23 Noah Friedman <friedman@splode.com>
841
842 * coding.c (make_conversion_work_buffer): Check that
843 Vcode_conversion_reused_workbuf is a live buffer, otherwise call
844 Fget_buffer_create.
845
49f9c344
KH
8462008-10-23 Kenichi Handa <handa@m17n.org>
847
848 * font.c (font_add_log): Check the values of extra properties.
849
12bb3111
MR
8502008-10-22 Martin Rudalics <rudalics@gmx.at>
851
852 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
853 Reword doc-string.
854 (Fset_window_parameter): Use NILP.
855 (Fscroll_up, Fscroll_down, Fminibuffer_selected_window)
f5385255 856 (Frecenter): Use "selected" instead of "current" window in doc-strings.
12bb3111 857
bbeb4e99
JB
8582008-10-22 Juanma Barranquero <lekktu@gmail.com>
859
860 * xdisp.c (next_element_from_buffer): Remove bogus xassert condition.
861
8622008-10-22 Adrian Robert <Adrian.B.Robert@gmail.com>
cb83c00b
AR
863
864 * nsfns.m (ns_appkit_version): New function.
865 (x-server-version): Use it.
866 (syms_of_nsfns): Define ns-version-string here, not nsterm.m.
867 (x-server-vendor): Don't check_ns().
868
869 * nsterm.m (syms_of_nsterm): Drop ns-version-string.
870
a9b555d3
JB
8712008-10-22 Juanma Barranquero <lekktu@gmail.com>
872
873 * w32fns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert.
874 Copied from 2005-02-03 change to xfns.c by Kim F. Storm.
875
4626499f
KH
8762008-10-22 Kenichi Handa <handa@m17n.org>
877
e3681952
KH
878 * syntax.c (scan_words): Call word_boundary_p instead of comparing
879 scripts.
880
4626499f
KH
881 * category.c (word_boundary_p): Check scripts instead of charset.
882 Handle nil value in word-separating-categories and
883 word-combining-categories.
884 (syms_of_category): Fix docstrings of word-separating-categories
885 and word-combining-categories.
886
1560f91a
EZ
8872008-10-21 Eli Zaretskii <eliz@gnu.org>
888
889 * coding.c (Fencode_coding_region, Fdecode_coding_region)
890 (Fdecode_coding_string, Fencode_coding_string): Doc fix.
891
f4668441
MR
8922008-10-21 Martin Rudalics <rudalics@gmx.at>
893
894 * buffer.c (Fget_buffer, Fbury_buffer, switch_to_buffer_1):
895 Rename arg "buffer" to "buffer_or_name".
896 (Fkill_buffer): Rename arg "buffer" to "buffer_or_name" and make
897 it optional.
898 (no_switch_window): Remove since the return value is not used.
a9b555d3 899 (Fswitch_to_buffer): Rename arg "buffer" to "buffer_or_name".
f4668441
MR
900 Consider window as dedicated when Fwindow_dedicated_p returns a
901 non-nil value.
902 * lisp.h: Remove prototype for no_switch_window.
903
fd75ddb2
JD
9042008-10-21 Jan Djärv <jan.h.d@swipnet.se>
905
906 * emacs.c (main): Unconditionally set PER_LINUX32 and exec
2ae37cf0 907 temacs when dumping if HAVE_PERSONALITY_LINUX32 is defined.
fd75ddb2 908
07295713
KH
9092008-10-21 Kenichi Handa <handa@m17n.org>
910
911 * coding.c (detect_coding_charset): For iso-8859-* coding systems,
912 check Vlatin_extra_code_table.
913
712adc82
EZ
9142008-10-20 Eli Zaretskii <eliz@gnu.org>
915
916 * fileio.c (Fset_file_modes): Doc fix.
917
f549eb0b
MA
9182008-10-19 Michael Albinus <michael.albinus@gmx.de>
919
920 * dbusbind.c (XD_OBJECT_TO_DBUS_TYPE): Handle simple type symbols
921 in arrays.
922
aac0c6e3
MR
9232008-10-19 Martin Rudalics <rudalics@gmx.at>
924
925 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
926 Mention kill-buffer in doc-string.
927 (Fset_window_buffer): Reinsert tem check removed in last commit.
928 (Fenlarge_window, Fshrink_window): Have argument names and
929 doc-string follow Elisp manual more closely.
930
9312008-10-18 Eli Zaretskii <eliz@gnu.org>
932
933 * fileio.c (Fset_file_modes): Doc fix.
934
9352008-10-18 Martin Rudalics <rudalics@gmx.at>
936
937 * window.c (Fwindow_width, Fset_window_start)
938 (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter)
f5385255
SM
939 (Fdelete_windows_on, Freplace_buffer_in_windows):
940 Make doc-strings follow code and Elisp manual more closely.
aac0c6e3
MR
941 (Fwindow_dedicated_p): Make window argument optional.
942 (Fset_window_dedicated_p): Rename argument "arg" to "flag".
943 (Fset_window_buffer): Respect any non-nil dedicated value for
944 window. Rename "buffer" argument to "buffer_or_name".
945
9462008-10-18 Ulrich Mueller <ulm@gentoo.org>
947
948 * m/sh3.h: New file, machine description for SuperH.
949
9502008-10-17 Martin Rudalics <rudalics@gmx.at>
951
952 * window.c (Fsplit_window): Rename arg horflag to horizontal.
953
9542008-10-17 Kenichi Handa <handa@m17n.org>
955
956 * ftfont.c (ftfont_otf_features): Fix indexing
957 gsub_gpos->FeatureList.Feature. Check the validity of indices.
958
9592008-10-16 Magnus Henoch <mange@freemail.hu>
960
961 * dbusbind.c (Fdbus_call_method): Unbreak usage line.
962 (Fdbus_call_method_asynchronously): Ditto.
963 This change makes C-h f display the argument list.
964
9652008-10-16 Chong Yidong <cyd@stupidchicken.com>
966
967 * fileio.c (Fexpand_file_name): Doc fix.
968
969 * xfaces.c (Finternal_set_lisp_face_attribute): Make null values
970 of :foreground and :background equivalent to unspecified (20.x
971 compatibility).
972
9732008-10-15 Eli Zaretskii <eliz@gnu.org>
974
975 * buffer.c (syms_of_buffer): Doc fix.
976
9772008-10-14 Kenichi Handa <handa@m17n.org>
978
979 * font.c (font_clear_prop): When clearing font width, clear the
980 average width field too.
981
9822008-10-12 Andreas Schwab <schwab@suse.de>
983
984 * ftfont.c (ftfont_shape_by_flt): Make static.
985 * ftfont.h (ftfont_shape_by_flt): Don't declare.
986
987 * font.c: Don't include <m17n-flt.h>.
988
9892008-10-10 Eli Zaretskii <eliz@gnu.org>
990
991 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Decrease to 10000.
992
9932008-10-09 Eli Zaretskii <eliz@gnu.org>
994
995 * frame.c (make_terminal_frame) [MSDOS]: Remove unused #ifdef'ed
996 away code.
997
9982008-10-09 Chong Yidong <cyd@stupidchicken.com>
999
1000 * dispnew.c (update_text_area): Avoid looping due to large glyph
1001 overhangs (bug#1070).
1002
10032008-10-09 Kenichi Handa <handa@m17n.org>
1004
1005 * fontset.c (face_for_char): If face->fontset is negative, just
1006 return ascii_face.
1007
f5385255
SM
1008 * font.c (font_delete_unmatched): Fix previous change.
1009 Don't reject an entity if DPI and AVGWIDTH of an entity are 0.
aac0c6e3
MR
1010
10112008-10-09 Martin Rudalics <rudalics@gmx.at>
1012
1013 * frame.c (Fraise_frame): On text-only terminals select frame in
1014 order to make it visible. (Bug#1061)
1015
10162008-10-08 Chong Yidong <cyd@stupidchicken.com>
1017
1018 * fontset.c (fontset_find_font): Check frame validity.
1019
10202008-10-07 Chong Yidong <cyd@stupidchicken.com>
1021
a9b555d3 1022 * gtkutil.c (xg_display_open): Reset default display if none exists.
aac0c6e3
MR
1023 (xg_display_close): Allow Emacs to close all displays (bug#985).
1024
10252008-10-06 Andreas Schwab <schwab@suse.de>
1026
f5385255 1027 * sysdep.c (sys_signal): Always set SA_RESTART when noninteractively.
aac0c6e3
MR
1028
10292008-10-06 Chong Yidong <cyd@stupidchicken.com>
1030
f5385255 1031 * emacs.c (Vbefore_init_time, Vafter_init_time): Move from startup.el.
aac0c6e3 1032
a9b555d3 1033 * lisp.h (Vbefore_init_time, Vafter_init_time): Declare.
aac0c6e3
MR
1034
1035 * gtkutil.c (x_wm_set_size_hint): Return immediately if called
1036 during initialization.
1037
10382008-10-04 Eli Zaretskii <eliz@gnu.org>
1039
1040 * xdisp.c (redisplay_internal): If frame switched, redisplay the
1041 whole thing on MSDOS frames as well as on a TTY.
1042
1043 * dispnew.c (update_frame): Flush termscript for MSDOS frames as
1044 well as for TTY.
1045 (Fopen_termscript): Allow opening a termscript on MSDOS frames as
1046 well as on a TTY.
1047
1048 * sysdep.c (init_sys_modes): Set FRAME_GARBAGED_P for MSDOS frames
1049 as well as for TTY.
1050
1051 * systime.h (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
1052
1053 * dispnew.c (change_frame_size_1): Set FrameRows and FrameCols for
1054 MSDOS frames as well.
1055
10562008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
1057
1058 * image.c (x_clear_image_1): Under NS, call ns_free_indexed_color with
1059 correct arguments.
1060 * menu.c (find_and_return_menu_selection) Add cast.
1061
10622008-10-03 Glenn Morris <rgm@gnu.org>
1063
1064 * emacs.c (USAGE1): Add --daemon.
1065
10662008-10-02 Eli Zaretskii <eliz@gnu.org>
1067
1068 * process.c (procfs_system_process_attributes): Multiply `pcpu' by
1069 100, so it's in percents as advertised.
1070
10712008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
1072
1073 * nsterm.h (ns_cursor_types, ns_output.desired_cursor_color)
1074 (ns_output.current_cursor, ns_output.desired_cursor)
1075 (ns_output.last_inactive, FRAME_CURSOR, FRAME_NEW_CURSOR)
1076 (FRAME_NEW_CURSOR_COLOR): Remove.
1077
1078 * nsfns.m (ns_set_cursor_color): Use FRAME_CURSOR_COLOR.
a9b555d3 1079 (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp): Use core Emacs
aac0c6e3
MR
1080 enumeration (HOLLOW_BOX_CURSOR, etc.).
1081
1082 * nsterm.m (ns_frame_rehighlight): Remove commented code.
1083 (draw_window_cursor): Simplify code.
f5385255
SM
1084 (EmacsView-windowDidBecomeKey:,-windowDidResignKey:):
1085 Don't change cursor type. In latter, call rehighlight instead of doing
aac0c6e3 1086 updates manually.
a9b555d3
JB
1087 (EmacsPrefsController-setPanelFromValues,-setValuesFromPanel):
1088 Use core Emacs cursor types.
aac0c6e3 1089
b8ff72fa 1090 * xdisp.c (draw_glyphs): Don't call notice_overwritten_cursor under NS.
aac0c6e3
MR
1091
10922008-10-02 Martin Rudalics <rudalics@gmx.at>
1093
1094 * process.c (Faccept_process_output): Fix doc-string.
1095
10962008-10-02 Dan Nicolaescu <dann@ics.uci.edu>
1097
1098 * gmalloc.c (__sbrk): Also define for uClibc.
1099
1100 * s/gnu-linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Add definition
1101 for uClibc.
1102
11032008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1104
1105 * nsfont.m (nsfont_spec_to_traits): Use UnXX masks only for non-normal
1106 styles.
1107 (nsfont_open): Reenable the cache.
1108
11092008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1110
1111 * font.c (font_matching_entity): Reflect ATTRS in font selection.
1112 (font_find_for_lface) [HAVE_NS]: Don't ignore case.
1113
11142008-09-30 Stefan Monnier <monnier@iro.umontreal.ca>
1115
1116 * dispnew.c (Fsend_string_to_terminal): Don't try to send a string to
1117 a suspended terminal.
1118
11192008-09-30 Michael Albinus <michael.albinus@gmx.de>
1120
1121 * dbusbind.c (xd_signature): Use strcat instead of sprintf.
1122
11232008-09-30 Eli Zaretskii <eliz@gnu.org>
1124
1125 * Makefile.in (MSDOS_SUPPORT): Remove ccl.elc and codepage.elc.
1126
11272008-09-30 Chong Yidong <cyd@stupidchicken.com>
1128
1129 * xdisp.c (move_it_to): Don't advance the iterator if the last tab
1130 in a continued line coincides with a line beginning.
1131
11322008-09-29 Adrian Robert <Adrian.B.Robert@gmail.com>
1133
1134 * nsfont.m (nsfont_trait_distance): Fix bug.
1135 (nsfont_list): Return a list rather than a vector (syncs with Handa
1136 changes of 2008-05-14).
1137 (nsfont_open): Improve logging.
1138
11392008-09-29 Andreas Schwab <schwab@suse.de>
1140
1141 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
1142
11432008-09-28 Martin Rudalics <rudalics@gmx.at>
1144
1145 * character.c (Fchar_resolve_modifiers): Rewrite Elisp function
1146 name as char-resolve-modifiers.
1147 Reported by: Markus Triska <markus.triska@gmx.at>
1148
11492008-09-28 Dan Nicolaescu <dann@ics.uci.edu>
1150
1151 * dispnew.c (init_display): Return earlier when running as a daemon.
1152
11532008-09-27 Adrian Robert <Adrian.B.Robert@gmail.com>
1154
1155 * nsfont.m (nsfont_draw): Fix up composition rendering (cmp_from, ...).
1156
11572008-09-27 Eli Zaretskii <eliz@gnu.org>
1158
1159 * composite.c (Fcomposition_get_gstring)
1160 (Fcompose_region_internal, Fcompose_string_internal)
1161 (Ffind_composition_internal): Doc fix.
1162 (syms_of_composite) <compose-chars-after-function>: Doc fix.
1163 (syms_of_composite) <auto-composition-function>: Doc fix.
1164 (syms_of_composite) <composition-function-table>: Doc fix.
1165
11662008-09-25 Chong Yidong <cyd@stupidchicken.com>
1167
1168 * search.c (wordify): New argument for lax word-ends.
1169 (Fword_search_forward_lax, Fword_search_backward_lax): New funs.
1170
11712008-09-24 Dan Nicolaescu <dann@ics.uci.edu>
1172
1173 * lisp.h (is_daemon): Declare.
1174 * dispnew.c (init_display): Do not try to initialize the terminal
1175 when running as a daemon.
1176
11772008-09-22 Chong Yidong <cyd@stupidchicken.com>
1178
1179 * nsfns.m (compute_tip_xy): Use x_display_pixel_width and
1180 x_display_pixel_height.
1181
11822008-09-22 Martin Rudalics <rudalics@gmx.at>
1183
1184 * undo.c (record_point): Don't call Fundo_boundary for first
1185 change. (Bug#731)
1186
11872008-09-22 Juanma Barranquero <lekktu@gmail.com>
1188
1189 * emacs.c (Fdaemonp): Doc fix.
1190
11912008-09-22 Dan Nicolaescu <dann@ics.uci.edu>
1192
1193 * emacs.c (main): Place #ifdef in the proper place.
1194
11952008-09-21 Dan Nicolaescu <dann@ics.uci.edu>
1196
1197 * emacs.c (standard_args): Add --daemon.
1198 (main): Disconnect from the terminal when --daemon is passed.
1199 (is_daemon): New variable.
1200 (Fdaemonp): New function.
1201 (syms_of_emacs): Defsubr it.
1202
12032008-09-20 Chong Yidong <cyd@stupidchicken.com>
1204
1205 * xdisp.c (get_next_display_element): Handle string display
1206 correctly when checking for the end of a box run.
1207
12082008-09-20 Glenn Morris <rgm@gnu.org>
1209
1210 * fileio.c (Qdelete_by_moving_to_trash): New Lisp_Object.
1211 (syms_of_fileio): Add Qdelete_by_moving_to_trash.
1212 (Frename_file): Avoid copying to trash if a rename involves
1213 a delete. (Bug#964).
1214
12152008-09-20 Eli Zaretskii <eliz@gnu.org>
1216
1217 * keyboard.c (Fset_quit_char, Fset_input_meta_mode)
1218 (Fset_output_flow_control, Fcurrent_input_mode): Support MSDOS
1219 frames as well as termcap frames.
1220 (handle_interrupt): Remove "#ifndef MSDOS" around the call to
1221 get_named_tty.
1222
12232008-09-19 Eli Zaretskii <eliz@gnu.org>
1224
1225 * process.c (procfs_system_process_attributes): Fix cmdline in
1226 case /proc/PID/cmdline is empty.
1227
1228 * xterm.c (x_wm_set_size_hint): Use x_display_pixel_width and
1229 x_display_pixel_height.
1230
12312008-09-19 Juanma Barranquero <lekktu@gmail.com>
1232
1233 * frame.c (x_fullscreen_adjust): Declare var as Display_Info.
1234
1235 * w32fns.c (Fx_display_pixel_width, Fx_display_pixel_height)
1236 (compute_tip_xy): Use x_display_pixel_width, x_display_pixel_height.
1237
12382008-09-19 Dan Nicolaescu <dann@ics.uci.edu>
1239
1240 * dispextern.h (struct it): Move line_wrap away from the middle of
1241 bitfields. Move voffset in struct iterator_stack_entry after the
1242 bitfields. Move tab_width near after another short.
1243
12442008-09-18 Dan Nicolaescu <dann@ics.uci.edu>
1245
1246 * frame.h (struct frame): Move alpha from the middle of bitfields.
1247
1248 * window.h (struct window): Move frozen_window_start_p after the
1249 rest of the bitfields to reduce padding.
1250
12512008-09-18 Chong Yidong <cyd@stupidchicken.com>
1252
1253 * xterm.h (x_display_info): Remove `height' and `width' members.
1254
1255 * nsterm.h (ns_display_info): Remove `height' and `width' members.
1256
1257 * w32term.h (w32_display_info): Remove `height', `width',
1258 `height_in', and `width_in' members.
1259
b8ff72fa
SM
1260 * xterm.c (x_display_pixel_height, x_display_pixel_width):
1261 New functions.
aac0c6e3
MR
1262 (x_calc_absolute_position): Use them.
1263 (x_term_init): Omit removed `height' and `width' members.
1264
b8ff72fa
SM
1265 * w32term.c (x_display_pixel_height, x_display_pixel_width):
1266 New functions.
aac0c6e3
MR
1267 (w32_read_socket, x_calc_absolute_position): Use them.
1268 (w32_initialize_display_info, w32_term_init): Omit removed members
1269 of w32_display_info.
1270
b8ff72fa
SM
1271 * nsterm.m (x_display_pixel_height, x_display_pixel_width):
1272 New functions.
1273 (ns_initialize_display_info): Omit removed members of ns_display_info.
aac0c6e3 1274
b8ff72fa
SM
1275 * xterm.c (x_display_pixel_height, x_display_pixel_width):
1276 New functions.
aac0c6e3
MR
1277 (x_calc_absolute_position): Use them.
1278 (x_term_init): Omit removed `height' and `width' members.
1279
1280 * xfns.c (Fx_display_pixel_width, Fx_display_pixel_height)
b8ff72fa
SM
1281 (compute_tip_xy):
1282 * frame.c (x_fullscreen_adjust):
aac0c6e3
MR
1283 * xmenu.c (menu_position_func): Use x_display_pixel_height and
1284 x_display_pixel_width.
1285
12862008-09-18 Kenichi Handa <handa@m17n.org>
1287
1288 * composite.c (fill_gstring_header): Don't check FROM and TO here.
1289 (composition_compute_stop_pos): Fix handling of static composition.
1290 (Fcomposition_get_gstring): Check FROM and TO at first.
1291
12922008-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
1293
1294 * composite.c (Fcomposition_get_gstring): Yet another int/Lisp_Oject
1295 mixup (YAILOM).
1296
12972008-09-17 Chong Yidong <cyd@stupidchicken.com>
1298
1299 * indent.c (Fvertical_motion): Use position reported by iterator
1300 instead of PT for determining screen motion (bug#943).
1301
13022008-09-17 Romain Francoise <romain@orebokech.com>
1303
1304 * composite.c (composition_adjust_point): Fix int/EMACS_INT mixup.
1305
13062008-09-17 Kenichi Handa <handa@m17n.org>
1307
1308 * ftfont.c (ftfont_shape_by_flt): Downcase family name.
1309
1310 * composite.c (Fcomposition_get_gstring): Make bigger gstring_work
1311 if necessary.
1312
13132008-09-16 Kenichi Handa <handa@m17n.org>
1314
1315 * coding.c (make_conversion_work_buffer): Avoid calling
1316 Fget_buffer_create if it is not necessary.
1317
13182008-09-15 Martin Rudalics <rudalics@gmx.at>
1319
1320 * window.c (Fselect_window): Don't update window_select_count and
1321 use_time when norecord is not nil.
1322
13232008-09-14 Kenichi Handa <handa@m17n.org>
1324
1325 * fileio.c (Finsert_file_contents): Delete incorrect decrement of
1326 specpdl_ptr.
1327
13282008-09-12 Kenichi Handa <handa@m17n.org>
1329
1330 * indent.c (scan_for_column): Don't handle automatic composition
1331 if the current buffer is not associated with a window.
1332
1333 * composite.c (composition_reseat_it): If the current buffer is
1334 not associated with a window, ignore the automatic composition.
1335 (find_automatic_composition): Likewise.
1336
13372008-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
1338
1339 * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
1340 (Fgpm_mouse_stop): Use it.
1341 * termhooks.h (close_gpm): Declare.
1342 * keyboard.c (tty_read_avail_input): Forcefully close the gpm
1343 connection if Gpm_GetEvent fails.
1344
1345 * window.c (set_window_buffer): Always preserve current-buffer.
1346
13472008-09-12 Glenn Morris <rgm@gnu.org>
1348
1349 * charset.c (init_charset): Warn if etc/charsets not found. (Bug#909)
1350
13512008-09-11 Glenn Morris <rgm@gnu.org>
1352
1353 * charset.c (charset-map-path): Doc fix.
1354
13552008-09-10 Kenichi Handa <handa@m17n.org>
1356
1357 * xdisp.c (handle_composition_prop): Set it->cmp_it.ch to -1.
1358
1359 * font.c (Ffont_shape_gstring): Make glyphs of non-nil adjustment
1360 compose a grapheme cluster with the preceding base glyph.
1361
1362 * composite.c (composition_compute_stop_pos): Fix previous change.
1363 Reset cmp_it->id to -1 at first.
1364
13652008-09-10 Glenn Morris <rgm@gnu.org>
1366
1367 * Makefile.in (character.o, chartab.o): Fix config.h typo.
1368
13692008-09-09 Chong Yidong <cyd@stupidchicken.com>
1370
1371 * keyboard.c (read_key_sequence): Reapply translation maps when
1372 switching keyboards.
1373
13742008-09-09 Kenichi Handa <handa@m17n.org>
1375
1376 * ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII
1377 characters.
1378
1379 * composite.c (FORWARD_CHAR): Fix calculation
1380 of (POSITION).pos_byte.
1381 (composition_compute_stop_pos): Limit the search of composition to
1382 at most 500 characters ahead. If we reach the limit or find a
1383 newline, set cmp_it->ch to -2 and return 0.
1384 (composition_reseat_it): Handle the case that cmp_it->ch is -2.
1385
13862008-09-08 Kenichi Handa <handa@m17n.org>
1387
1388 * indent.c (Fvertical_motion): Be sure to set
1389 it_overshoot_expected if it.cmp_it.id is non-negative.
1390
13912008-09-07 Andreas Schwab <schwab@suse.de>
1392
1393 * callproc.c (Fcall_process): Don't hold references to string data
1394 across garbage collection. Move initialisation of new_argv down
1395 to avoid compiler bug.
1396
13972008-09-07 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
1398
1399 * process.c (Fsystem_process_attributes): Doc fix.
1400
14012008-09-07 Chong Yidong <cyd@stupidchicken.com>
1402
1403 * callproc.c (Fcall_process): Canonicalize current directory name.
1404
1405 * xdisp.c (move_it_to): When moving by vpos, ensure that the
1406 iterator advances to the next line if the current line ends in a
1407 continued tab.
1408
14092008-09-07 Teodor Zlatanov <tzz@lifelogs.com>
1410
1411 * nsfont.m (nsfont_draw): Fix the references to missing gidx data
1412 member to point to cmp_from.
1413
1414 * xdisp.c: Doc fix for references to gidx data member.
1415
14162008-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
1417
1418 * buffer.c (Fbuffer_swap_text): Reset window->point markers.
1419
14202008-09-07 Kenichi Handa <handa@m17n.org>
1421
1422 * composite.c (FORWARD_CHAR): Check STOP after
1423 incrementing (POSITION).pos.
1424
14252008-09-06 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
1426
1427 * process.c (Fsystem_process_attributes): Doc fix.
1428
14292008-09-06 Chong Yidong <cyd@stupidchicken.com>
1430
1431 * keyboard.c (Ftop_level): Doc fix.
1432
14332008-09-06 Eli Zaretskii <eliz@gnu.org>
1434
1435 * xmenu.c (xmenu_show) [!HAVE_X_WINDOWS]: If frame has a
1436 minibuffer, don't let lower part of menu invade the echo area.
1437
1438 * msdos.c (IT_menu_display): Use STRING_CHAR_ADVANCE instead of a
1439 "char *q" to access menu text and advance through it. Revert the
1440 change that displayed ">" instead of ASCII character 0x10.
1441
14422008-09-05 Eli Zaretskii <eliz@gnu.org>
1443
1444 * menu.c (single_menu_item) [!HAVE_BOXES]: Enable emulation of
1445 toggle boxes and radio buttons on MS-DOS as well.
1446
14472008-09-05 Kenichi Handa <handa@m17n.org>
1448
1449 * composite.c (autocmp_chars): Check lookback count.
1450 (composition_compute_stop_pos): Set cmp_it->lookback.
1451 (composition_reseat_it): Check lookback count.
1452 (struct position_record): New struct.
1453 (FORWARD_CHAR, BACKWARD_CHAR, CHAR_COMPOSABLE_P): New macros.
1454 (find_automatic_composition): New function.
1455 (composition_adjust_point): Use find_automatic_composition.
1456
1457 * dispextern.h (struct composition_it): New member lookback.
1458
14592008-09-02 Chong Yidong <cyd@stupidchicken.com>
1460
1461 * indent.c (Fvertical_motion): Don't call move_it_by_lines again
1462 if moving by a single line.
1463
14642008-09-02 Andreas Schwab <schwab@suse.de>
1465
1466 * xterm.c (x_delete_display): Fix merge error.
1467
1468 * fileio.c (Fexpand_file_name): Remove unused variables.
1469
14702008-09-02 Eli Zaretskii <eliz@gnu.org>
1471
1472 * fileio.c (Fexpand_file_name): Copy argument `name' into local
1473 storage on all platforms, not just on DOS_NT.
1474
14752008-09-02 Jason Rumney <jasonr@gnu.org>
1476
b8ff72fa
SM
1477 * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show):
1478 Ensure mouse is not grabbed after menu is finished.
aac0c6e3
MR
1479
14802008-09-01 Chong Yidong <cyd@stupidchicken.com>
1481
1482 * xfaces.c (Finternal_set_alternative_font_family_alist)
1483 (Finternal_set_alternative_font_registry_alist): Properly copy
1484 entire alist structure.
1485
14862008-09-01 Kenichi Handa <handa@m17n.org>
1487
1488 * ftfont.c (ftfont_spec_pattern): Don't create a charset of the
1489 representative chars of the script is a vector.
1490 (ftfont_list): Handle the case the representative chars of the
1491 script is a vector.
1492
1493 * character.c (syms_of_character): Docstring of
1494 script-representative-chars fixed.
1495
14962008-08-31 Eli Zaretskii <eliz@gnu.org>
1497
1498 * msdos.c (BUILD_CHAR_GLYPH): New macro.
1499 (IT_menu_display): Use it instead of SET_CHAR_GLYPH to construct
1500 the menu. Allocate larger buffer for `text', to account for
1501 possible ^C characters.
1502
15032008-08-31 Martin Rudalics <rudalics@gmx.at>
1504
1505 * xdisp.c (prepare_menu_bars): Don't call
1506 Vwindow_size_change_functions with arg Qt.
1507
15082008-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
1509
1510 * font.h (font_range):
1511 * fileio.c (report_file_error):
1512 * composite.c (composition_update_it): Yet another int/Lisp_Oject mixup.
1513
15142008-08-30 Glenn Morris <rgm@gnu.org>
1515
1516 * data.c (Fmake_variable_frame_local): Doc fix.
1517
1518 * frame.c (Fmodify_frame_parameters): Doc fix.
1519
15202008-08-30 Eli Zaretskii <eliz@gnu.org>
1521
1522 * w32.c (init_user_info): Allocate buf[] with xmalloc using the size
1523 needed by GetTokenInformation.
1524 (w32_system_process_attributes): Check return values of all system
1525 APIs.
1526
1527 * msdos.c (IT_display_cursor): Write "CURSOR ON/OFF" to termscript
1528 only when the state changes.
1529 (IT_update_begin, IT_update_end): Add termscript trace.
1530
1531 * w16select.c (Fw16_set_clipboard_data): Don't encode text if
1532 clipboard is unavailable. Set dst to NULL if it doesn't point to
1533 malloc'ed data.
1534 (Fw16_get_clipboard_data): Initialize htext to NULL, to avoid
1535 passing random values to xfree.
1536
1537 * dispnew.c (init_display): Set `tty's association in frame's
b8ff72fa 1538 parameters alist to the name of the terminal device, if that is known.
aac0c6e3
MR
1539
15402008-08-29 Jason Rumney <jasonr@gnu.org>
1541
1542 * w32uniscribe.c (uniscribe_check_otf): Don't fallback on DFLT script.
1543
15442008-08-29 Eli Zaretskii <eliz@gnu.org>
1545
1546 * composite.c (fill_gstring_body): Avoid compiler warnings.
1547
1548 * font.c (font_fill_lglyph_metrics): Use EMACS_INT in
1549 LGLYPH_SET_CODE to avoid compiler warnings.
1550
2ae37cf0 1551 * makefile.w32-in ($(BLD)/w32uniscribe.$(O)): Depend on composite.h.
aac0c6e3
MR
1552
1553 * composite.h (LGLYPH_SET_CODE): Cast `val' to EMACS_INT.
1554
1555 * w32uniscribe.c (uniscribe_shape): Shut up compiler warning in
1556 LGLYPH_SET_CODE.
1557
15582008-08-29 Kenichi Handa <handa@m17n.org>
1559
1560 * fileio.c (report_file_error): Don't downcase the first character
1561 of errstring if it is still unibyte.
1562
15632008-08-29 Kenichi Handa <handa@m17n.org>
1564
1565 These changes are to re-implement the automatic composition so
1566 that it doesn't use text properties.
1567
1568 * Makefile.in (ftfont.o): Depend on composite.h.
1569 (composite.o): Depend dispextern.h, font.h, frame, and window.h.
1570
1571 * character.h (Vunicode_category_table): Extern it.
1572
1573 * character.c (Vunicode_category_table): New variable.
1574 (syms_of_character): DEFVAR_LISP Vunicode_category_table.
1575
1576 * chartab.c (optimize_sub_char_table): Perform more greedy
1577 optimization.
1578
b8ff72fa
SM
1579 * composite.h (enum composition_method):
1580 Delete COMPOSITION_WITH_GLYPH_STRING.
aac0c6e3
MR
1581 (COMPOSITION_METHOD): Don't check COMPOSITION_WITH_GLYPH_STRING.
1582 (Vcomposition_function_table): Extern it.
1583 (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h.
1584 (composition_gstring_put_cache, composition_gstring_from_id)
1585 (composition_gstring_p, composition_gstring_width)
1586 (composition_compute_stop_pos, composition_reseat_it)
1587 (composition_update_it, composition_adjust_point): Extern them.
1588 (Fcomposition_get_gstring): EXFUN it.
1589
1590 * composite.c: Include window.h, frame.h, dispextern.h font.h.
1591 (Vcomposition_function_table)
1592 (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING.
b8ff72fa
SM
1593 (gstring_hash_table, gstring_work, gstring_work_headers):
1594 New variables.
aac0c6e3
MR
1595 (gstring_lookup_cache, composition_gstring_put_cache)
1596 (composition_gstring_from_id, composition_gstring_p)
1597 (composition_gstring_width, fill_gstring_header)
1598 (fill_gstring_body, autocmp_chars, composition_compute_stop_pos)
1599 (composition_reseat_it, composition_update_it)
b8ff72fa 1600 (composition_adjust_point, Fcomposition_get_gstring): New functions.
aac0c6e3
MR
1601 (syms_of_composite): Initialize gstring_hash_table, gstrint_work,
1602 and gstring_work_headers. DEFVAR_LISP composition-function-table.
1603 Defsubr compostion_get_gstring.
1604
1605 * dispextern.h (struct glyph): New union u.cmp. Delete the member
1606 cmp_id.
1607 (struct glyph_string): Delete the member gidx. New members
1608 cmp_id, cmp_from, and cmp_to.
1609 (enum it_method): Delete GET_FROM_COMPOSITION.
1610 (struct composition_it): New struct.
1611 (struct it): New member cmp_it, and iterator_stack_entry.cmp_it.
1612 Delete c, len, cmp_id, cmp_len in u.comp.
1613
1614 * font.h (enum lgstring_indices): Delete it.
b8ff72fa 1615 (LGSTRING_XXX, LGLYPH_XXX): Move these macros to composite.h.
aac0c6e3 1616 (enum lglyph_indices): Likewise.
b8ff72fa 1617 (font_range): Adjust extern.
aac0c6e3
MR
1618 (font_fill_lglyph_metrics): Extern it.
1619
1620 * font.c (QCf): New variable.
1621 (check_gstring): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
1622 (font_prepare_composition): Delete this function.
1623 (font_range): Type and arguments changed.
1624 (Ffont_make_gstring, Ffont_fill_gstring): Delete them.
1625 (font_fill_lglyph_metrics): New function.
b8ff72fa 1626 (Ffont_shape_text): Rename to Ffont_shape_gstring and change arguments.
aac0c6e3 1627 (syms_of_font): DEFSYM QCf. Delete defsubr for
b8ff72fa
SM
1628 Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text.
1629 Defsubr Sfont_shape_gstring.
aac0c6e3
MR
1630
1631 * fontset.h (font_for_char): Extern it.
1632
1633 * fontset.c (font_for_char): New function.
1634
1635 * ftfont.c: Include composite.h.
1636 (ftfont_resolve_generic_family): Add langset "en" to pattern.
b8ff72fa 1637 (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
aac0c6e3
MR
1638
1639 * indent.c: Include composite.h and dispextern.h.
1640 (check_composition): Delete this function.
1641 (scan_for_column): Handle composition by
1642 composition_compute_stop_pos, composition_reseat_it, and
1643 composition_update_it.
1644 (compute_motion): Likewise.
1645 (Fvertical_motion): Fix checking of composition.
1646
1647 * keyboard.c (adjust_point_for_property): Check composition by
1648 composition_adjust_point.
1649
b8ff72fa 1650 * nsterm.m (ns_draw_glyph_string): Adjust for the change of
aac0c6e3
MR
1651 struct glyph_string.
1652
b8ff72fa
SM
1653 * term.c (encode_terminal_code): Adjust for the change of struct glyph.
1654 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3
MR
1655 struct glyph.
1656 (produce_composite_glyph): Likewise.
1657
b8ff72fa
SM
1658 * w32term.c (x_draw_composite_glyph_string_foreground):
1659 Adjust for the change of struct glyph_string.
aac0c6e3
MR
1660 (x_draw_glyph_string): Likewise.
1661
1662 * w32uniscribe.c (struct uniscribe_font_info): Include composite.h.
1663 (uniscribe_shape): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
1664
1665 * xdisp.c: Include font.h.
1666 (it_props): Delete the entry for Qauto_composed.
1667 (init_iterator): Initialize it->cmp_it.id to -1.
1668 (compute_stop_pos): Call composition_compute_stop_pos.
b8ff72fa 1669 (face_before_or_after_it_pos): Adjust for the change of struct it.
aac0c6e3
MR
1670 (handle_auto_composed_prop): Delete it.
1671 (handle_composition_prop): Handle only static composition.
1672 (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION
1673 from xassert. Initialize it->cmp_it.stop_pos.
b8ff72fa 1674 (push_it): Adjust for the change of struct it.
aac0c6e3
MR
1675 (pop_it): Likewise.
1676 (get_next_element): Delete next_element_from_composition.
1677 (CHAR_COMPOSED_P): New macro.
1678 (get_next_display_element): For automatic composition, get a face
1679 from the font in the glyph-string.
1680 (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING,
b8ff72fa 1681 check composition by it->cmp_it.id. Delete GET_FROM_COMPOSITION case.
aac0c6e3
MR
1682 (next_element_from_string): Check if the character at the current
1683 position is composed by CHAR_COMPOSED_P.
1684 (next_element_from_buffer): Likewise.
b8ff72fa 1685 (next_element_from_composition): Adjust for the change of struct
aac0c6e3 1686 it. Update it->cmp_it.
b8ff72fa
SM
1687 (dump_glyph): Adjust for the change of struct glyph.
1688 (fill_composite_glyph_string): Adjust for the change of struct
aac0c6e3
MR
1689 it and struct glyph. Don't handle automatic composition here.
1690 (fill_gstring_glyph_string): New function.
1691 (x_get_glyph_overhangs): Handle automatic composition.
b8ff72fa 1692 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the change of struct glyph.
aac0c6e3
MR
1693 (BUILD_GSTRING_GLYPH_STRING): New macro.
1694 (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for
1695 automatic composition.
b8ff72fa 1696 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3 1697 struct glyph.
b8ff72fa 1698 (x_produce_glyphs): Adjust for the change of struct it.
aac0c6e3 1699
b8ff72fa 1700 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aac0c6e3
MR
1701 the change of struct glyph_string.
1702 (x_draw_glyph_string): Likewise.
1703
17042008-08-29 Glenn Morris <rgm@gnu.org>
1705
1706 * buffer.c (word-wrap): Doc fix.
1707 * xdisp.c (truncate-partial-width-windows): Doc fix.
1708 Increase default to 50.
1709
17102008-08-29 Chong Yidong <cyd@stupidchicken.com>
1711
1712 * xdisp.c (update_tool_bar_unwind): New function.
1713 (update_tool_bar): Temporarily set selected frame before building
1714 tool-bar items.
1715
17162008-08-28 Michael Albinus <michael.albinus@gmx.de>
1717
1718 * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and
1719 snprintf, respectively.
1720 (xd_append_arg): Convert strings with Fstring_make_unibyte.
1721
17222008-08-28 Chong Yidong <cyd@stupidchicken.com>
1723
1724 * Makefile.in: Revert (undocumented) 2008-08-20 change adding
1725 LDFLAGS to GNUstep CC invocation.
1726
17272008-08-27 Chong Yidong <cyd@stupidchicken.com>
1728
1729 * indent.c (Fvertical_motion): Revert last change. Handle the
1730 general case where we are moving forward, and PT spans multiple
1731 screen lines.
1732
1733 * eval.c (find_handler_clause): Temporarily increase
1734 max-lisp-eval-depth while printing the backtrace buffer, to
1735 guarantee that help-mode code can run.
1736
17372008-08-27 Eli Zaretskii <eliz@gnu.org>
1738
1739 * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame
1740 colors under -rv.
1741 (IT_set_frame_parameters): Don't swap foreground and background
1742 colors if `(reverse . t)' is present in the frame properties.
1743 (internal_terminal_init): Call init_frame_faces only for the
1744 initial frame.
1745
17462008-08-27 Andreas Schwab <schwab@suse.de>
1747
1748 * dired.c (Ffile_attributes): Avoid compiler warning in bitshift.
1749
17502008-08-27 Andreas Schwab <schwab@suse.de>
1751
1752 * search.c (search_buffer): Set char_base to zero only at the end.
1753
17542008-08-27 Kenichi Handa <handa@m17n.org>
1755
b8ff72fa 1756 * fileio.c (report_file_error): Fix handling of multibyte error string.
aac0c6e3
MR
1757
17582008-08-27 Andreas Seltenreich <seltenreich@gmx.de>
1759
1760 * xterm.c (x_term_init): Temporarily hide the partially
1761 initialized terminal while calling vendor-specific-keysyms.
1762
17632008-08-26 Eli Zaretskii <eliz@gnu.org>
1764
1765 * msdos.c (internal_terminal_init): Most initializations done only
1766 once, especially initial_screen_colors[] and termscript open.
1767
17682008-08-26 Chong Yidong <cyd@stupidchicken.com>
1769
1770 * eval.c (Fcondition_case): Doc fix.
1771
1772 * widgetprv.h (EmacsFramePart): Change font member to the new font
1773 struct.
1774
1775 * widget.c: Include character.h and font.h for XSETFONT.
1776 (setup_frame_gcs): Compute X font id from font struct, just once.
1777
17782008-08-26 Eli Zaretskii <eliz@gnu.org>
1779
1780 * term.c (get_named_tty): Fix last change.
1781
17822008-08-26 Chong Yidong <cyd@stupidchicken.com>
1783
1784 * indent.c (Fvertical_motion): If moving forward starting from a
b8ff72fa 1785 multi-line string, move the iterator to the last line of that string.
aac0c6e3
MR
1786
17872008-08-25 Eli Zaretskii <eliz@gnu.org>
1788
1789 * frame.c (do_switch_frame): Mark previously displayed frame as
1790 obscured for FRAME_MSDOS_P frames as well.
1791
17922008-08-24 Eli Zaretskii <eliz@gnu.org>
1793
1794 * frame.c (make_terminal_frame): Initialize f->terminal,
1795 f->terminal->reference_count, and scroll bars on MS-DOS as well.
1796 Set the top frame to newly created frame.
1797 (Fmake_terminal_frame): Reuse the_only_display_info.
1798
1799 * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of
1800 estimating available memory.
1801
b97439ce 18022008-08-23 David Reitter <david.reitter@gmail.com>
aac0c6e3
MR
1803
1804 * nsterm.m (ns_draw_window_cursor): Don't call
1805 NSDisableScreenUpdates and NSEnableScreenUpdates on
1806 non-NS_IMPL_COCOA systems.
1807
18082008-08-23 Andreas Schwab <schwab@suse.de>
1809
1810 * process.c (procfs_system_process_attributes): Fix use of
1811 uninitialized variables.
1812
18132008-08-23 Eli Zaretskii <eliz@gnu.org>
1814
1815 * emacs.c (main) [MSDOS]: Call syms_of_xmenu.
1816
1817 * dispnew.c (init_display): Remove MS-DOS specific conditions for
1818 calling tty-set-up-initial-frame-faces.
1819
b8ff72fa
SM
1820 * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show):
1821 Allow MSDOS frames along with X frames.
aac0c6e3
MR
1822
1823 * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in
1824 addition to output_termcap.
1825
1826 * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode.
1827
1828 * termchar.h (FRAME_TTY): Support output_msdos_raw.
1829 (struct tty_display_info) [MSDOS]: Add fields related to mouse
1830 highlight.
1831
1832 * process.c [!subprocesses]: Define QCname.
1833 (syms_of_process): Intern and staticpro it.
1834
1835 * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
b8ff72fa
SM
1836 Adjust for changes in encoding/decoding routines.
1837 Use encode_coding_object and decode_coding_object instead of
aac0c6e3
MR
1838 encode_coding and decode_coding.
1839
b8ff72fa 1840 * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as argument.
aac0c6e3
MR
1841
1842 * dosfns.c: Include frame.h before termhooks.h.
1843 (dos_cleanup): Use CURTTY ()->termscript instead of a global
1844 variable termscript.
1845
1846 * s/msdos.h (USER_FULL_NAME): Define.
1847 (SYSTEM_PURESIZE_EXTRA): Bump up to 100K.
1848
1849 * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined.
1850 (Fuser_full_name): Use USER_FULL_NAME instead of a literal
1851 pw->pw_gecos.
1852
1853 * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with
1854 SELECTED_FRAME as additional (1st) argument.
1855 (tty_read_avail_input): Handle output_msdos_raw in
1856 addition to output_termcap.
1857
1858 * msdos.c: Include frame.h before termhooks.h.
1859 (mouse_on, mouse_off, mouse_moveto, mouse_init)
1860 (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs)
1861 (show_mouse_face, IT_clear_end_of_line, IT_clear_screen)
1862 (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto)
1863 (IT_set_terminal_modes, IT_reset_terminal_modes)
1864 (IT_set_frame_parameters): Use tty->termscript instead of a global
1865 variable termscript.
1866 (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a
1867 global variable terminal_coding. Don't refer to
1868 Vnonascii_translation_table.
1869 (internal_terminal_init): Set Vwindow_system in current_kboard.
1870 Don't use TTY_CHAR_INS_DEL_OK. Set Vinitial_window_system.
1871 Announce date and time of session start, if termscript is open.
1872 Don't zero out the_only_display_info (it is done in
b8ff72fa
SM
1873 term.c:init_tty). Open termscript only of not already open.
1874 Log "SCREEN SAVED" here, instead of IT_set_terminal_modes. Init mouse
aac0c6e3
MR
1875 here instead of dos_ttraw. Don't initialize display if this is an
1876 initial tty. Don't set FRAME_FONT.
1877 (Vwindow_system_version): Bump to 23.
1878 (dos_ttraw): Accept a TTY argument; all callers fixed. If mouse
1879 is available, set up mouse_position_hook.
1880 (dos_ttraw, IT_set_terminal_modes): If called with initial
1881 terminal, do nothing.
1882 (IT_set_frame_parameters): Handle the Qtty_type frame
1883 parameter by calling internal_terminal_init.
1884 (dos_set_window_size, show_mouse_face)
1885 (clear_mouse_face, IT_note_mode_line_highlight)
1886 (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date)
1887 (dos_rawgetc): Use tty_display_info instead of x_display_info.
1888 (initialize_msdos_display): New function.
1889 (IT_cursor_to, IT_clear_to_end, IT_clear_screen)
1890 (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs)
1891 (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes)
1892 (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin):
b8ff72fa 1893 Accept additional argument: a pointer to a frame. Update all callers.
aac0c6e3
MR
1894 (request_sigio, unrequest_sigio): Don't define, now defined on
1895 sysdep.c.
1896 (IT_write_glyphs): Rewrite to use encode_terminal_code.
1897
1898 * term.c [MSDOS]: Include msdos.h.
1899 (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch. Change cpp
1900 conditional to DOS_NT. Allow only one call to this function in a
1901 session. Don't allocate a new struct tty_display_info; instead,
1902 reuse the_only_display_info. Call get_tty_size to get screen
1903 dimensions. Call init_baud_rate to set bad_rate.
1904 (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body.
1905 (Fsuspend_tty) [MSDOS]: Don't close input and output.
b8ff72fa 1906 (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use stdin/stdout.
aac0c6e3
MR
1907 (get_tty_terminal, get_named_tty, Ftty_type)
1908 (Fcontrolling_tty_p): Handle output_msdos_raw in addition to
1909 output_termcap.
b8ff72fa
SM
1910 (Fresume_tty, Fsuspend_tty, init_tty, delete_tty):
1911 Call add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor
2ae37cf0 1912 only when subprocesses are supported.
aac0c6e3
MR
1913
1914 * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of
1915 f->output_data.x.
1916 (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new
1917 terminal devices.
1918
5582fbc7 1919 * msdos.h: Remove definition of struct x_display_info and struct
aac0c6e3
MR
1920 x_output.
1921 (FRAME_FONT): Use output_data.tty.
1922 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define.
b8ff72fa
SM
1923 (struct x_display_info): Rename from display_info. Update all users in
1924 msdos.c.
aac0c6e3 1925 (struct x_output): Remove background_pixel and foreground_pixel.
b8ff72fa 1926 (the_only_display_info): Rename from the_only_x_display.
aac0c6e3
MR
1927 (dos_ttraw): Update prototype.
1928
1929 * Makefile.in (MSDOS_OBJ): Add xmenu.o.
1930 (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc.
1931
19322008-08-23 Jason Rumney <jasonr@gnu.org>
1933
1934 * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword.
1935 (fn_TIFFSetDirectory): New library function used.
1936 (init_tiff_functions) [HAVE_NTGUI]: Initialize it.
1937 (tiff_load): Use :index to select among multiple images. Set count
1938 property when multiple images exist.
1939 (gif_format): Use :index, not :image.
1940
19412008-08-23 Chong Yidong <cyd@stupidchicken.com>
1942
1943 * xdisp.c (try_scrolling): Check INT_MAX instead of
1944 MOST_POSITIVE_FIXNUM for maximum integer value. Include limits.h
1945 to obtain INT_MAX.
1946
19472008-08-21 İsmail Dönmez <ismail@namtrac.org> (tiny change)
1948
1949 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+.
1950
19512008-08-21 Christian Faulhammer <opfer@gentoo.org> (tiny change)
1952
1953 * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate
1954 GNUstep library location.
1955
19562008-08-21 Chong Yidong <cyd@stupidchicken.com>
1957
1958 * xfaces.c (x_update_menu_appearance): Check validity of menu font
1959 before using it.
1960
1961 * puresize.h (BASE_PURESIZE): Increase to 1250000.
1962
19632008-08-20 Adrian Robert <Adrian.B.Robert@gmail.com>
1964
1965 * nsfns.m (ns-read-file-name): Add casts to avoid warning.
1966 (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly.
1967 * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil.
1968 * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration.
1969 (EmacsApp-cursor_blink_handler): Remove declaration.
1970 * nsterm.m (ns_draw_glyph_string): Update first conditional body to
1971 match 01 Feb 2008 changes in xterm.c.
1972 (ns_read_socket): Add cast to avoid warning.
1973 (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on
1974 GNUstep.
1975
19762008-08-20 Chong Yidong <cyd@stupidchicken.com>
1977
1978 * xselect.c (x_get_foreign_selection): Return nil if desired
1979 selection could not be obtained, instead of signalling an error.
1980
19812008-08-20 David Reitter <david.reitter@gmail.com>
1982
1983 * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c.
1984 * nsterm.m: Remove ns-specific code for cursor blinking.
1985 (ns_draw_window_cursor): Clear cursor properly rather than
1986 redrawing the area. Respect width of bar cursors.
1987 These changes enable the use of generic blink-cursor-mode and
1988 generic cursor types in NS and support smooth cursor movements (do
1989 not blink off after command).
1990 * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on
1991 Nextstep, too.
1992
19932008-08-19 Kenichi Handa <handa@m17n.org>
1994
1995 * font.c (Vfont_log_deferred): New variable.
1996 (font_add_log): Check Vfont_log_deferred.
1997 (font_deferred_log): New function.
1998
1999 * font.h (font_deferred_log): Extern it.
2000
2001 * fontset.c (reorder_font_vector): Use encoding charset of fonts
2002 for sorting.
2003 (face_for_char): Use deferred log.
2004
20052008-08-18 Kenichi Handa <handa@m17n.org>
2006
2007 * fontset.c (face_for_char): Add font log.
2008
2009 * font.c (font_add_log): Add the font properties :script, :lang,
2010 and :otf in the log.
2011
20122008-08-17 Chong Yidong <cyd@stupidchicken.com>
2013
2014 * xdisp.c: Remove dead code.
2015 (handle_invisible_prop, next_overlay_string): Defer call to
2016 setup_for_ellipsis.
2017 (handle_stop, set_iterator_to_next): Call setup_for_ellipsis.
2018
20192008-08-15 Chong Yidong <cyd@stupidchicken.com>
2020
2021 * xfaces.c (lookup_derived_face): Properly handle possible zero
2022 return value of get_lface_attributes.
2023 (merge_faces): Don't tell lookup_derived_face to signal an error
2024 if face is not found.
2025
2026 * dired.c (Fdirectory_files): Doc fix.
2027
2028 * process.c (make_process): Initialize kill_without_query struct
2029 member.
2030
20312008-08-15 Eli Zaretskii <eliz@gnu.org>
2032
2033 * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]:
2034 Alternative calculation of totphys for Visual Studio 6.
2035
2036 * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR.
2037
2038 * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX):
2039 Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX.
2040 All users changed.
2041 (stat): Only root directory passed to GetDriveType. Allow RAM
2042 disk as well as local fixed disk when w32-get-true-file-attributes
2043 is set to `local'.
2044 (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs.
2045 (equal_sid, get_length_sid, copy_sid): New wrapper functions.
2046 (w32_cached_id, w32_add_to_cache): New functions.
2047 (get_name_and_id): Look account names in the cache before calling
2048 lookup_account_sid.
2049 (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid):
2050 New initialization flags.
2051 (globals_of_w32): Initialize them to zero.
2052 (w32_system_process_attributes): Use w32_cached_id and
2053 w32_add_to_cache.
2054
20552008-08-14 Lawrence Mitchell <wence@gmx.li>
2056
2057 * lread.c (Fread_char, Fread_char_exclusive): If no character
2058 event is read before timeout is reached, return nil, rather than
2059 converting to a number.
2060
20612008-08-14 Chong Yidong <cyd@stupidchicken.com>
2062
2063 * fns.c (use_dialog_box): Doc fix.
2064
2065 * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful
2066 on OS X.
2067
20682008-08-13 Chong Yidong <cyd@stupidchicken.com>
2069
2070 * frame.c (Qns_parse_geometry): New var.
2071 (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry.
2072
20732008-08-11 Chong Yidong <cyd@stupidchicken.com>
2074
2075 * xdisp.c (x_produce_glyphs): Handle the case when font has no
2076 space character in calculating tabs.
2077
20782008-08-11 Dan Nicolaescu <dann@ics.uci.edu>
2079
2080 * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case.
2081
20822008-08-10 Glenn Morris <rgm@gnu.org>
2083
2084 * process.c (procfs_system_process_attributes): Use EMACS_INTs to
2085 silence gcc "limited range of data type" warnings in some
2086 make_fixnum_or_float calls.
2087
20882008-08-09 Eli Zaretskii <eliz@gnu.org>
2089
2090 * w32.c (w32_system_process_attributes): If the process does not
2091 exist, return nil.
2092
2093 * w32.c: Include thelp32.h, psapi.h and coding.h.
2094 (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct
2095 declarations.
2096 (CreateToolhelp32Snapshot_Proc, Process32First_Proc)
2097 (Process32Next_Proc): New typedefs.
2098 (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first)
2099 (g_b_init_process32_next, g_b_init_open_thread_token)
2100 (g_b_init_impersonate_self, g_b_init_revert_to_self)
2101 (g_b_init_get_process_memory_info, g_b_init_global_memory_status)
2102 (g_b_init_get_process_working_set_size)
2103 (g_b_init_global_memory_status_ex): New static variables.
2104 (globals_of_w32): Initialize them.
2105 (create_toolhelp32_snapshot, process32_first, process32_next)
2106 (open_thread_token, impersonate_self, revert_to_self)
2107 (get_process_memory_info, get_process_working_set_size)
2108 (global_memory_status, global_memory_status_ex): New wrapper
2109 functions.
2110 (w32_list_system_processes, w32_system_process_attributes)
2111 (enable_privilege, restore_privilege, ltime, process_times):
2112 New functions.
2113 (convert_time_raw): New function.
2114 (convert_time): Remove conversion of FILETIME into time in 100
2115 nsec units, call convert_time_raw instead.
2116
2117 * process.h (w32_list_system_processes, w32_system_process_attributes):
2118 Add prototypes.
2119 (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname)
2120 (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime)
2121 (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup)
2122 (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations.
2123
2124 * process.c (Fsystem_process_attributes): Doc fix.
2125
21262008-08-08 Chong Yidong <cyd@stupidchicken.com>
2127
2128 * xdisp.c (move_it_to): When stopping at a charpos, check if that's
2129 a continued multi-char glyph; if so, advance to the actual glyph.
2130
21312008-08-07 Dan Nicolaescu <dann@ics.uci.edu>
2132
2133 * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in.
2134
2135 * Makefile.in (ALL_OBJC_CFLAGS): New variable.
2136 (.m.o): Use it.
2137 * config.in: Regenerate.
2138
21392008-08-07 Chong Yidong <cyd@stupidchicken.com>
2140
2141 * xdisp.c (redisplay_window): Revert last change.
2142 (try_window): Check bottom scroll margin too.
2143
21442008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
2145
2146 * config.in: Regenerate.
2147
2148 * Makefile.in (emacs): Remove ifndef NS conditional for 'emacs
2149 -list-load-path-shadows'.
2150 (nsgui.h): Reduce number of things depending on it.
2151
21522008-08-06 Chong Yidong <cyd@stupidchicken.com>
2153
2154 * xdisp.c (try_scrolling): Use iterator to find the scroll margin,
2155 instead of window-end which does the wrong thing at eob.
2156 (try_cursor_movement): Minor optimization.
2157 (redisplay_window): If scroll margin is defined, don't assume
2158 window doesn't need scrolling.
2159
21602008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
2161
2162 * config.in: Regenerate.
2163
2164 * Makefile.in: Move nsXXX.m dependencies into big alphabetical list.
2165 (mostlyclean): Don't delete *.d under NS.
2166
2167 * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER.
2168
21692008-08-06 Kenichi Handa <handa@m17n.org>
2170
2171 * xfont.c (xfont_list_family): Return a list of symbols, not strings.
2172
21732008-08-06 Andreas Schwab <schwab@suse.de>
2174
2175 * config.in: Regenerate.
2176
21772008-08-05 Chong Yidong <cyd@stupidchicken.com>
2178
2179 * xdisp.c (redisplay_window): Don't enforce scroll-margin when
2180 forcing a window start.
2181
2182 * fileio.c (Vauto_save_list_file_name): Move here from file.el.
2183 (auto_save_1): Update modtime when auto-save-list-file-name is on.
2184
21852008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2186
2187 * emacs.c (main): Under NS, set working dir to HOME when get a "psn"
2188 argument.
2189
21902008-08-05 Juanma Barranquero <lekktu@gmail.com>
2191
2192 * buffer.c (syms_of_buffer) <scroll-up-aggressively>:
2193 <scroll-down-aggressively, before-change-functions>:
2194 <after-change-functions>: Reflow docstrings.
2195
21962008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2197 Ken Raeburn <raeburn@gnu.org>
2198
2199 Dock menu customization, based on a patch by Ken Raeburn, plus some
2200 other fixes.
2201 * nsmenu.m (dockMenu): New variable.
2202 (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17.
2203
2204 * nsterm.h (dockMenu): Declare.
2205
2206 * nsterm.m (KEY_NS_NEW_FRAME): New definition.
2207 (ns_term_init): Initialize dockMenu.
2208 (EmacsApp -newFrame:, -applicationDockMenu:): New methods.
2209 (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame
2210 left.
2211
2212 * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA.
2213
22142008-08-04 Chong Yidong <cyd@stupidchicken.com>
2215
2216 * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it.
2217
2218 * config.in: Regenerate.
2219
22202008-08-04 Seiji Zenitani <zenitani@mac.com>
2221
2222 * nsfns.m (x-create-frame): Set the frame parameter alpha to nil.
2223
22242008-08-04 Chong Yidong <cyd@stupidchicken.com>
2225
2226 * nsterm.h (find_and_call_menu_selection): Fix prototype.
2227
22282008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2229
2230 * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS.
2231
2232 * keyboard.h: Comment an #endif.
2233
2234 * lisp.h (have_menus_p): Adjust comment.
2235
2236 * menu.c (find_and_return_menu_selection): Fix comparison with
2237 client_data.
2238
2239 * nsmenu.m (popup_activated_flag): New variable.
2240 (popup_activated): New function.
2241 (menu-or-popup-active-p): New exported lisp definition.
2242 (ns_popup_menu): Set popup_activated_flag. Call discard_menu_items()
2243 when popup done.
2244 (ns_popup_dialog): Set popup_activated_flag.
2245
2246 * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger
2247 version for GNUstep (handled by conditional typedef in nsterm.m).
2248 (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now
2249 in rgb.txt).
2250
2251 * process.c (init_process): Use DARWIN_OS, not DARWIN.
2252
2253 * sysselect.h: Conditionalize init_process undef on DARWIN_OS.
2254
2255 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS.
2256
2257 * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS,
2258 shortcircuit if popup_activated like GTK and X toolkit.
2259
2260 * m/inter386.h: Change DARWIN to DARWIN_OS.
2261
2262 * s/darwin.h: Add #define DARWIN_OS. Get rid of C_SWITCH_SYSTEM def.
2263 Change LIBS_MACGUI to LIBS_NSGUI. Move temacs-conditionalized defs
2264 closer to C_SWITCH_SYSTEM_TEMACS so usage is understood. Expand
2265 comment on NO_SOCK_SIGIO.
2266
22672008-08-03 Chong Yidong <cyd@stupidchicken.com>
2268
2269 * nsterm.m (windowDidResize): Remove stopModal call.
2270
22712008-08-03 Andreas Schwab <schwab@suse.de>
2272
2273 * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define.
2274 (check_memory_limits): Don't handle HAVE_GETRLIMIT here.
2275
22762008-08-02 Chong Yidong <cyd@stupidchicken.com>
2277
2278 * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin.
2279 Don't use uninitialized pointer variable when using getrlimit.
2280
22812008-08-02 Jason Rumney <jasonr@gnu.org>
2282
2283 * w32font.c (compute_metrics): Don't mess with glyph_idx setting here.
2284
22852008-08-02 Eli Zaretskii <eliz@gnu.org>
2286
2287 * alloc.c (NSTATICS): Bump to 0x640.
2288
2289 * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
2290
2291 * lisp.h: Add prototype for directory_files_internal.
2292
2293 * process.c (Fsystem_processes_list, Fsystem_process_attributes):
2294 New functions.
2295 (syms_of_process): Defsubr them. Add initializations for various
2296 Q* symbols used in procfs_system_process_attributes.
2297 (procfs_list_system_processes, procfs_system_process_attributes)
2298 [HAVE_PROCFS]: New functions.
2299 (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname)
2300 (procfs_get_total_memory): New functions.
2301
23022008-08-01 Juanma Barranquero <lekktu@gmail.com>
2303
2304 * xfaces.c (Fx_load_color_file): Fix previous change;
2305 it is #ifdef WINDOWSNT, not WINDOWS_NT.
2306
23072008-08-01 Michael Albinus <michael.albinus@gmx.de>
2308
2309 * dbusbind.c (xd_read_message): Handle D-Bus error messages.
2310
23112008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2312
2313 * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard.
2314
23152008-08-01 Chong Yidong <cyd@stupidchicken.com>
2316
2317 * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha.
2318
2319 * nsterm.m (EmacsApp -application:openFiles:): GNUstep does not
2320 define NSApplicationDelegateReplySuccess.
2321 (EmacsView -converstationIdentifier): Use long instead of
2322 NSInteger for GNUstep, since it doesn't have NSInteger.
2323
2324 * xmenu.c: Revert last change.
2325
2326 * keyboard.h: Fix last change.
2327
23282008-08-01 Juanma Barranquero <lekktu@gmail.com>
2329
2330 * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting
2331 on Windows.
2332
23332008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2334
2335 Warning clearing and clean-up in NS port.
2336 * keyboard.h (xmalloc_widget_value, digest_single_submenu):
2337 Add prototypes.
2338 * nsgui.h (FACE_DEFAULT): Remove, unused.
2339 (XGCValues): Change colors to unsigned long.
2340 * nsterm.h (EmacsApp): Add declaration of all methods implemented in
2341 nsterm.m.
2342 (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class.
2343 (ns_list_fonts): Remove, unused.
2344 (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes.
2345 * nsfns.m (interpret_services_menu): Use NSMenuItem class.
2346 * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc.
2347 (nsfont_draw): Compare face colors to 0, not nil.
2348 * nsmenu.m (struct widget_value): Drop unneeded declaration.
2349 (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:)
2350 (-addSubmenuWithTitle:): Use NSMenuItem class.
2351 (ns_popup_menu): Use NO, not NULL, for enabled setting.
2352 * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0.
2353 (ns_clip_to_row): Make gc arg a BOOL.
2354 (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in
2355 ns_clip_to_row() call.
2356 (ns_draw_glyph_string): Drop face comparison to ~0 (no longer
2357 used). Cast FRAME_FONT assignments.
2358 (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:.
2359 (ns_string_to_lispmod): Change arg to const char.
2360 (ns_term_init): Use NSMenuItem class.
2361 (EmacsApp -openFile:): Move to different section of file.
2362 (EmacsApp -application:openFiles:): Don't return a value, call
2363 -replyToOpenOrPrint:.
2364 (EmacsView -keyDown:): Fix up cast.
2365 (EmacsView -converstationIdentifier): Use NSInteger instead of long.
2366 (EmacsView -menuDown:): Cast tag in call to
2367 find_and_call_menu_selection().
2368 (ns_list_fonts): Remove, unused.
2369 (ns_font_to_xlfd): Make static. Cast result of UTF8String.
2370 (ns_fontname_to_xlfd): Make static.
2371 * w32menu.c (xmalloc_widget_value, digest_single_submenu):
2372 Remove prototypes (now in keyboard.h).
2373 (next_menubar_widget_id): Remove, unused.
2374 * xmenu.c (xmalloc_widget_value, digest_single_submenu):
2375 Remove prototypes (now in keyboard.h).
2376 * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused.
2377
23782008-08-01 Dan Nicolaescu <dann@ics.uci.edu>
2379
2380 * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o)
2381 (floatfns.o): Depend on syssignal.h.
2382 (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC).
2383
2384 * systty.h: Fix previous change that removed BSD_TERMIOS.
2385 Add comments to #ifdefs.
2386
23872008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2388
2389 * w32fns.c (w32-load-color-file): Remove.
2390 (x-open-connection): Use renamed Fx_load_color_file.
2391 * xfaces.c (x-load-color-file): Add.
2392 * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of
2393 Emacs.clr.
2394 (hide_hourglass): BLOCK_INPUT before UNBLOCK.
2395
23962008-07-31 Michael Albinus <michael.albinus@gmx.de>
2397
2398 * dbusbind.c (Fdbus_call_method_asynchronously)
2399 (Fdbus_method_error_internal): New defuns.
2400 (xd_read_message): Handle also reply messages.
2401 (Vdbus_registered_functions_table): Extend docstring.
2402
24032008-07-31 Juanma Barranquero <lekktu@gmail.com>
2404
2405 * keyboard.c (gobble_input): Fix previous change.
2406
24072008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
2408
2409 * bitmaps/README:
2410 * xfns.c:
2411 * termcap.c:
2412 * term.c:
2413 * syswait.h:
2414 * systty.h:
2415 * systime.h:
2416 * syssignal.h:
2417 * sysdep.c:
2418 * process.h:
2419 * process.c:
2420 * print.c:
2421 * ndir.h:
2422 * lread.c:
2423 * keyboard.c:
2424 * getpagesize.h:
2425 * floatfns.c:
2426 * fileio.c:
2427 * emacs.c:
2428 * doc.c:
2429 * dispnew.c:
2430 * dired.c:
2431 * data.c:
2432 * callproc.c:
2433 * buffer.c:
2434 * README:
2435 * Makefile.in:
2436 * s/template.h:
2437 * s/msdos.h:
2438 * m/vax.h: Remove VMS support.
2439 * s/vms.h:
2440 * vlimit.h:
2441 * uaf.h:
2442 * temacs.opt:
2443 * param.h:
2444 * ioctl.h: Remove file.
2445
24462008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
2447
2448 * s/ms-w32.h (MULTI_KBOARD): Remove.
2449 * xterm.c:
2450 * xselect.c:
2451 * xfns.c:
2452 * window.c:
2453 * w32term.c:
2454 * w32fns.c:
2455 * terminal.c:
2456 * termhooks.h:
2457 * term.c:
2458 * sysdep.c:
2459 * keyboard.h:
2460 * keyboard.c:
2461 * frame.h:
2462 * frame.c:
2463 * frame.c: Remove references to MULTI_KBOARD, it is now the default.
2464 * config.in: Regenerate.
2465
24662008-07-30 Jason Rumney <jasonr@gnu.org>
2467
2468 * w32font.h (struct w32font_info): Use unicode version of textmetrics.
2469
2470 * w32font.c (w32font_encode_char): Leave as unicode if in range.
2471 (w32font_open_internal): Get unicode version of textmetrics.
2472 Don't enable or disable glyph indices here.
2473 (w32font_open): Disable use of glyph indices.
2474
2475 * w32uniscribe.c (uniscribe_open): Enable use of glyph indices.
2476
24772008-07-30 Chong Yidong <cyd@stupidchicken.com>
2478
2479 * minibuf.c (Vread_buffer_function): Doc fix.
2480
24812008-07-30 John Paul Wallington <jpw@pobox.com>
2482
2483 * minibuf.c (read_buffer_completion_ignore_case): New var.
2484 (Fread_buffer): Use it.
2485
24862008-07-30 Dan Nicolaescu <dann@ics.uci.edu>
2487
2488 * systty.h (sensemode): Remove empty #if. Remove reference to
2489 BSD_TERMIOS, unused.
2490
2491 * sysdep.c: Remove reference to DGUX.
2492 (closedir): Remove reference to BROKEN_CLOSEDIR, unused.
2493
2494 * config.in: Regenerate.
2495
24962008-07-30 Jason Rumney <jasonr@gnu.org>
2497
2498 * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size.
2499
25002008-07-29 Jason Rumney <jasonr@gnu.org>
2501
2502 * w32uniscribe.c (uniscribe_shape): Avoid using context if cache
2503 is populated.
2504 (uniscribe_encode_char): Always use uniscribe.
2505 Avoid using context if cache is populated.
2506
25072008-07-29 Jan Djärv <jan.h.d@swipnet.se>
2508
2509 * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to
2510 open menu.
2511
2512 * gtkutil.c (menu_nav_ended): Remove.
2513 (create_menus): Remove signal connect for menu_nav_ended.
2514
25152008-07-28 Chong Yidong <cyd@stupidchicken.com>
2516
2517 * xdisp.c (redisplay_window): Check return value of
2518 compute_window_start_on_continuation_line before forcing a window
2519 start.
2520
25212008-07-28 Jason Rumney <jasonr@gnu.org>
2522
2523 * w32font.c (w32font_text_extents): Use w32_metric_cache consistently.
2524
2525 * w32term.c (w32_enable_unicode_output, cleartype_active):
2526 Remove obsolete display options.
2527 (x_draw_glyph_string_background): Don't use old cleartype_active
2528 workaround.
2529 (w32_initialize): Remove cleartype_active initialization.
2530 (syms_of_w32term): Remove w32_enable_unicode_output initialization.
2531
25322008-07-28 Andreas Schwab <schwab@suse.de>
2533
2534 * lisp.h (init_weak_hash_tables, syms_of_font)
2535 (xd_read_queued_messages, syms_of_dbusbind): Declare.
2536 (remove_hash_entry): Don't declare.
2537 * eval.c (maybe_call_debugger): Make static and move before use.
2538 * gtkutil.c: Include <X11/Xft/Xft.h> if HAVE_XFT.
2539 * xdisp.c: Include "gtkutil.h" if USE_GTK.
2540 * xterm.h (x_set_frame_alpha): Declare.
2541
25422008-07-28 Jan Djärv <jan.h.d@swipnet.se>
2543
2544 * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24.
2545 (create_menus): Connect selection-done to menu_nav_ended.
2546
25472008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
2548
2549 * nsfns.m (x-create-frame): Add copy of parms argument to beginning.
2550 Set Vx_resource_name to a fallback. Replace read of 'buffered'
2551 parameter with read of 'alpha' one.
2552 (Qns_frame_parameter): Remove.
5582fbc7 2553 * nsselect.m (selection-coding-system)
aac0c6e3
MR
2554 (next-selection-coding-system, Vselection_coding_system)
2555 (Vnext_selection_coding_system): Drop.
2556
25572008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
2558
2559 * nsfns.m (do-applescript, do_applescript): Rename to
2560 ns-do-applescript, ns_do_applescript, and move within file.
2561
25622008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
2563
2564 Remove support for Mac Carbon.
2565 * mactoolbox.c:
2566 * macterm.h:
2567 * macterm.c:
2568 * macselect.c:
2569 * macmenu.c:
2570 * macgui.h:
2571 * macfns.c:
2572 * mac.c: Remove file.
2573 * s/darwin.h:
2574 * m/intel386.h:
2575 * xfaces.c:
2576 * xdisp.c:
2577 * window.c:
2578 * tparam.c:
2579 * termhooks.h:
2580 * termcap.c:
2581 * term.c:
2582 * syssignal.h:
2583 * sysselect.h:
2584 * sysdep.c:
2585 * process.c:
2586 * lread.c:
2587 * lisp.h:
2588 * keyboard.c:
2589 * image.c:
2590 * fringe.c:
2591 * frame.h:
2592 * frame.c:
2593 * fontset.c:
2594 * font.h:
2595 * font.c:
2596 * fns.c:
2597 * fileio.c:
2598 * emacs.c:
2599 * dispnew.c:
2600 * dispextern.h:
2601 * config.in:
2602 * atimer.c:
2ae37cf0 2603 * Makefile.in: Remove code for Carbon.
aac0c6e3 2604
f0131492 26052008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aac0c6e3
MR
2606
2607 * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.
2608
26092008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2610
2611 * macterm.h (kCGBitmapByteOrder32Host): New define for
2612 non-universal SDKs.
2613
2614 * image.c (mac_create_cg_image_from_image, image_load_image_io)
2615 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
2616
2617 * macterm.c (XDrawLine, XCreatePixmapFromBitmapData)
2618 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
2619
26202008-07-26 David Robinow <drobinow@gmail.com> (tiny change)
2621
2622 * w32inevt.c: Include dispextern.h.
2623
26242008-07-26 Andreas Schwab <schwab@suse.de>
2625
2626 * print.c (print_object): Fix off-by-one in last change.
2627
26282008-07-25 Juanma Barranquero <lekktu@gmail.com>
2629
2630 * term.c (syms_of_term): Don't initialize default_orig_pair,
2631 default_set_foreground and default_set_background on Windows.
2632
26332008-07-25 Jason Rumney <jasonr@gnu.org>
2634
2635 * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to
2636 ScriptItemize. Clean up return value checking. Remove unused
2637 variables.
2638 (uniscribe_encode_char): Encode non-BMP characters with uniscribe
2639 shaping engine.
2640
2641 * w32font.c (w32font_has_char): Handle the case where we can't
2642 determine the script for a character.
2643
26442008-07-25 Chong Yidong <cyd@stupidchicken.com>
2645
2646 * term.c (syms_of_term): Initialize default_orig_pair,
2647 default_set_foreground, and default_set_background.
2648
2649 * getloadavg.c (nl): Rename to name_list to avoid ncurses.h
2650 clash (bug#86).
2651 (getloadavg): Callers changed.
2652
2653 * image.c (svg_load_image): Fix last change.
2654 (svg_load_image): Use rsvg_handle_get_dimensions to check that
2655 image size is valid. Use g_object_unref instead of deprecated
2656 rsvg_handle_free to free rsvg handle.
2657 (x_from_xcolors): Don't initialize pixmap (silence compiler).
2658
26592008-07-25 Jason Rumney <jasonr@gnu.org>
2660
2661 * w32font.c (w32font_encode_char): Encode characters outside BMP as
2662 surrogates before looking up glyph index.
2663 (w32font_text_extents): Encode as surrogates if falling back to
2664 functions that need UTF-16 wide chars.
2665
2666 * w32uniscribe.c (uniscribe_encode_char): Encode characters outside
2667 BMP as surrogates before looking up glyph index.
2668
26692008-07-25 Chong Yidong <cyd@stupidchicken.com>
2670
2671 * image.c (svg_load_image): Check for failure in return value of
2672 rsvg_handle_get_pixbuf. Free rsvg handle when done.
2673
26742008-07-25 Jason Rumney <jasonr@gnu.org>
2675
2676 * w32font.c (Fx_select_font): Reverse sense of second arg.
2677
26782008-07-24 Stefan Monnier <monnier@iro.umontreal.ca>
2679
2680 * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos)
2681 (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions.
2682
2683 * puresize.h (PURESIZE_CHECKING_RATIO): New macro.
2684 (PURESIZE): Use it.
2685
26862008-07-24 Dan Nicolaescu <dann@ics.uci.edu>
2687
2688 * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs.
2689 * m/alpha.h (TEXT_END):
2690 * m/ibmrs6000.h (TEXT_END):
2691 * m/macppc.h (TEXT_END):
2692 * s/darwin.h (TEXT_END):
2693 * s/msdos.h (TEXT_END): Remove, unused.
2694 * s/gnu-linux.h (BSD_PGRPS): Add a comment.
2695 * s/cygwin.h: Remove comment.
2696
2697 * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused.
2698 (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES.
2699 * m/intel386.h (DOT_GLOBAL_START):
2700 * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES.
2701 (USG): Remove, file not used on USG platforms.
2702
2703 * Makefile.in (HAVE_X11): Remove empty #else.
2704
27052008-07-24 Andreas Schwab <schwab@suse.de>
2706
2707 * fileio.c (Finsert_file_contents): Properly adjust undo list
2708 after format conversion.
2709
27102008-07-24 Jan Djärv <jan.h.d@swipnet.se>
2711
2712 * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG.
2713 (menu_nav_ended): Remove.
2714 (create_menus): Remove signal connect for menu_nav_ended.
2715 (xg_update_menubar): Also take deactivate_cb as parameter, pass it to
2716 create_menus.
2717 (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar.
2718
27192008-07-23 Jason Rumney <jasonr@gnu.org>
2720
2721 * w32font.c (w32_enumfont_pattern_entity): Return height consistent
2722 with opened font.
2723 (w32font_open): Set font type to gdi.
2724
2725 * w32uniscribe.c (uniscribe_open): Set font type to uniscribe.
2726
27272008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
2728
2729 * s/usg5-4.h (ADDR_CORRECT): Remove, unused.
2730 * unexaix.c (ADDR_CORRECT): Remove conditional, the only user
2731 defines it.
2732 * unexec.c (ADDR_CORRECT): Define unconditionally.
2733
2734 * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove.
2735
2736 * unexec.c: Remove code depending on !COFF and USG, the file is
2737 not used for such systems.
2738
2739 * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
2740 * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused.
2741 (LD_SWITCH_SYSTEM_1): Remove, update users.
2742
2743 * s/darwin.h (DATA_END):
2744 * m/intel386.h (DATA_END):
2745 * m/ibmrs6000.h (DATA_END):
2746 * m/alpha.h (DATA_END): Remove, unused.
2747
2748 * config.in: Regenerate.
2749 * s/ms-w32.h (subprocesses): Define unconditionally.
2750 * s/template.h (subprocesses): Update comment.
2751 * s/vms.h (subprocesses):
2752 * s/usg5-4.h (subprocesses):
2753 * s/hpux10-20.h (subprocesses):
2754 * s/gnu-linux.h (subprocesses):
2755 * s/cygwin.h (subprocesses):
2756 * s/bsd-common.h (subprocesses):
2757 * s/aix4-2.h (subprocesses):
2758 * s/darwin.h (subprocesses): Do not define, defined by default now.
2759
2760 * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused.
2761 Remove all references.
2762 (temacs): Add GNUstep specific ld flags.
2763
2764 * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing,
2765 similarly to what X does.
2766
27672008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
2768
2769 * nsfns.m (x-list-fonts): Remove.
2770 (syms_of_nsfns): Drop the x-list-fonts declaration.
2771 * nsterm.m: Get rid of remaining "//" comments.
2772
27732008-07-22 Chong Yidong <cyd@stupidchicken.com>
2774
2775 * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
2776
2777 * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p)
2778 (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal)
2779 (Fns_own_selection_internal, Fx_disown_selection_internal)
2780 (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal):
2781
2782 * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /*
2783 ... */' style of docstrings. Doc fixes.
2784
27852008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
2786
2787 * terminfo.c (UP, BC, PC): Undo previous change.
2788
2789 * nsfns.m: Rename ns prefixed functions/variables to the
2790 corresponding x versions. Update references.
2791
27922008-07-22 Stefan Monnier <monnier@iro.umontreal.ca>
2793
2794 * syntax.c (char_quoted): Check "charpos > beg" before decrementing.
2795
27962008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
2797
2798 * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):
2799 Remove forwarding functions.
2800 (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make
2801 non-static.
2802 (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make
2803 non-static.
2804 (ns_frame_parm_handlers): Use the new names.
2805 (syms_of_nsfns): Move to the end of file.
2806
2807 * nsterm.m (syms_of_nsterm): Move to the end of file.
2808
2809 * dispnew.c (init_display): Remove code for X10.
2810
28112008-07-22 Jason Rumney <jasonr@gnu.org>
2812
2813 * w32proc.c (Fw32_long_file_name): Don't append dir separator to
2814 bare drive.
2815
28162008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
2817
2818 * nsterm.m (syms_of_nsterm): Remove debugging println.
2819
28202008-07-22 David Reitter <david.reitter@gmail.com>
2821
2822 * nsfns.m (do_applescript, F_do_applescript): NS version of the
2823 Carbon implementation of the same functionality: execute arbitrary
2824 AppleScript code.
2825
28262008-07-21 Adrian Robert <Adrian.B.Robert@gmail.com>
2827
2828 * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
2829 (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
2830 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
2831 (Fx_display_mm_height, Fx_display_mm_width)
2832 (Fx_display_backing_store, Fx_display_visual_class)
2833 (Fx_display_save_under, Fx_open_connection)
2834 (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
2835 (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
2836 (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
2837 (Fx_display_pixel_width, Fx_display_pixel_height)
2838 (Fx_display_usable_bounds, Fx_display_planes)
2839 (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
2840 ... */' style of docstrings.
2841
28422008-07-21 Dan Nicolaescu <dann@ics.uci.edu>
2843
2844 * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
2845 on this platform.
2846 (mips):
2847 * m/iris4d.h (mips): Do not define.
2848 * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
2849
2850 * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
2851
2852 * image.c:
2853 * nsfns.m:
2854 * nsselect.m:
2855 * nsterm.h:
2856 * nsterm.m: Rename ns prefixed functions/variables to the
2857 corresponding x versions. Update references.
2858
2859 * m/ibms390x.h (NO_REMAP): Do not undefine.
2860
2861 * m/amdx86-64.h: Use SOLARIS2 instead of sun.
2862
28632008-07-21 Chong Yidong <cyd@stupidchicken.com>
2864
2865 * nsfns.m: Change NS to Nextstep in docstrings and error messages.
2866 (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
2867 (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
2868 (Fns_server_vendor, Fns_server_version, Fns_display_screens)
2869 (Fns_display_mm_height, Fns_display_mm_width)
2870 (Fns_display_backing_store, Fns_display_visual_class)
2871 (Fns_display_save_under, Fns_open_connection)
2872 (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
2873 (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
2874 (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
2875 (Fns_display_pixel_width, Fns_display_pixel_height)
2876 (Fns_display_usable_bounds, Fx_display_planes)
2877 (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
2878
28792008-07-21 Ami Fischman <ami@fischman.org> (tiny change)
2880
2881 * print.c (print_object): Check print_depth before searching for
2882 circularities.
2883
28842008-07-21 Michael Albinus <michael.albinus@gmx.de>
2885
2886 * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
2887 only sprintf.
2888
28892008-07-21 Kenichi Handa <handa@m17n.org>
2890
2891 * ftfont.c (adjust_anchor): Check if DeltaValue is not NULL.
2892
28932008-07-20 Andreas Schwab <schwab@suse.de>
2894
2895 * syntax.c (find_start_pos, find_start_value)
2896 (find_start_value_byte, find_start_begv, find_defun_start)
2897 (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions.
2898
28992008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
2900
2901 * s/sol2-3.h: Insert contents of s/sol2.h.
2902 (LD_SWITCH_SYSTEM): Remove redundant definition.
2903 * s/sol2.h: Remove, unused.
2904
29052008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
2906
2907 * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV.
2908
29092008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
2910
2911 * Makefile.in (ns_appdir): Fix typo in find command.
2912
29132008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
2914
2915 * m/intel386.h (NO_REMAP): Do no define for USG, not used.
2916
2917 * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
2918 added not supported anymore.
2919
2920 * s/usg5-4-2.h (LIBS_SYSTEM):
2921 * s/sol2.h (LIBS_SYSTEM): Do not undefine.
2922
2923 * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
2924 * s/lynxos.h (GETPGRP_NO_ARG):
2925 * s/hpux10-20.h (NO_SIOCTL_H):
2926 * s/gnu.h (GETPGRP_NO_ARG):
2927 * s/gnu-linux.h (NO_SIOCTL_H):
2928 * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
2929 * s/cygwin.h (GETPGRP_NO_ARG):
2930 * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
2931 (C_DEBUG_SWITCH): Remove duplicate definition.
2932
2933 * m/ibms390.h: Remove boilerplate comments.
2934
2935 * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
2936
2937 * process.c (HAVE_SERIAL): Consolidate ifdefs.
2938 (wait_reading_process_output): Remove code for SunOS, platform not
2939 supported anymore. Use SOLARIS2 instead of sun.
2940
29412008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2942
2943 * font.c (font_open_by_name): Under NS, default lface height to zero.
2944 (font_open_for_lface): Under NS, set size based on frame fontsize.
2945 * nsterm.m (EmacsView-changeFont:): Remove some commented code.
2946 * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
2947
29482008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2949
2950 * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
2951 (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
2952 DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
2953 YES/NO.
2954 * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
2955 * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
2956 * Makefile.in (clean): Clear out build destination dir.
2957
29582008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2959
2960 * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
2961 xterm, xselect.
2962 * lisp.h: Remove declaration of hash_remove.
2963 * nsgui.h: Remove redefinitions of hash_remove.
2964 * fns.c (hash_remove): Rename to hash_remove_from_table.
2965
29662008-07-19 Seiji Zenitani <zenitani@mac.com>
2967
2968 * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
2969 strdup() the family UTF8String before modifying it.
2970
29712008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2972
2973 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
2974 NS_FACE_BACKGROUND with 0 instead of nil.
2975 * nsfont.m (nsfont_draw): Same.
2976
29772008-07-19 Chong Yidong <cyd@stupidchicken.com>
2978
2979 * nsfns.m (ns_set_background_color): Fix crash.
2980
29812008-07-18 Chong Yidong <cyd@stupidchicken.com>
2982
2983 * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
2984
29852008-07-18 Dan Nicolaescu <dann@ics.uci.edu>
2986
2987 * puresize.h (BASE_PURESIZE): Increase to 1240000.
2988
29892008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2990
2991 * gtkutil.c: Include <config.h> instead of "config.h".
2992
2993 * lisp.h (Foverlay_buffer): Add EXFUN.
2994
2995 * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
2996 child process to complete child_setup. Undo 2005-09-21 change.
2997
2998 * s/darwin.h: Mention setsid after vfork.
2999
30002008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3001
3002 * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
3003 Depend on macgui.h.
3004
3005 * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
3006 gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
3007
3008 * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
3009 and f19.
3010 [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
3011
3012 * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
3013 (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
3014 Remove enumerators.
3015
3016 * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
3017 Check if FACE_FROM_ID returns NULL.
3018
30192008-07-17 David Robinow <drobinow@gmail.com> (tiny change)
3020
3021 * w32inevt.c (change_frame_size): Remove extern declaration.
3022 (resize_event, maybe_generate_resize_event): Pass SAFE arg to
3023 change_frame_size.
3024
30252008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
3026
3027 * getloadavg.c: Revert last change (2008-07-15).
3028
30292008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
3030
3031 * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
3032 set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc) set
3033 from configure.
3034
30352008-07-17 Dan Nicolaescu <dann@ics.uci.edu>
3036
3037 * s/sol2.h:
3038 * s/sol2-4.h: Reorganize conditionals.
3039
3040 * ecrt0.c: Remove code depending on m68000, not used anymore.
3041
3042 * fns.c (hash_remove): Make static.
3043 * lisp.h (hash_remove): Don't prototype.
3044
3045 * m/ibmrs6000.h:
3046 * m/ibms390x.h:
3047 * m/macppc.h: Remove boilerplate comments.
3048
3049 * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
3050 Solaris, which does not need them.
3051
3052 * m/vax.h: Remove comments about unsupported systems.
3053
3054 * s/darwin.h: Reorganize ifdefs.
3055
30562008-07-17 Andreas Schwab <schwab@suse.de>
3057
3058 * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
3059
30602008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
3061
3062 Use SDATA. Follow coding convention of placing operators at
3063 beginning of next line rather than end of previous line, and placing
3064 spaces around infix operators.
3065
3066 * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
3067 in case it was defined already.
3068 USE @GNUSTEP_MAKEFILES@ rather than envvars.
3069 * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
3070 ns_default.
3071 (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
3072 Lisp_Objects.
3073 * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
3074 (ns_defined_color, ns_color_to_lisp): Declare.
3075 * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
3076 (Fns_own_selection_internal): Make the big ugly hack more explicit, so
3077 it's accepted even with USE_LISP_UNION_TYPE.
3078 * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
3079 (update_frame_tool_bar): Remove apparently obsolete tests for
3080 non-integerness of f->tool_bar_lines.
3081 (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
3082 hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
3083 * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
3084 (nsfont_open): Don't confuse NULL for Qnil.
3085 * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
3086 * menu.h (find_and_call_menu_selection):
3087 * menu.c (find_and_call_menu_selection): Use just int for vector size.
3088 (find_and_return_menu_selection): Always return something.
3089 * frame.h: Include dispextern.h for Display_Info.
3090 (display_x_get_resource): Declare.
3091
30922008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
3093
3094 * syntax.c: Remove stdio.h include accidentally introduced in
3095 Emacs.app commit.
3096 * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
3097 NS_IMPL_COCOA.
3098 * keyboard.c (handle_async_input, input_available_signal): Remove
3099 BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
3100
31012008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
3102
3103 * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
3104 (ns_lisp_to_color): Don't mess with internal Lisp data fields.
3105 (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
3106 Use SDATA.
3107
3108 * keymap.c: Remove all NS-specific code.
3109 (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
3110 (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
3111 where_is_preferred_modifier, return a different value depending on how
3112 preferred is the binding.
3113 (where_is_internal): Adjust accordingly.
3114 (Fwhere_is_internal): Refresh where_is_preferred_modifier.
3115 Adjust to new preferred_sequence_p.
3116 (syms_of_keymap): Declare `where-is-preferred-modifier'.
3117 * keyboard.c (parse_solitary_modifier): Not static any more.
3118 * keyboard.h (parse_solitary_modifier): Declare.
3119
31202008-07-16 Andreas Schwab <schwab@suse.de>
3121
3122 * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
3123 of easymenu.
3124
31252008-07-16 Chong Yidong <cyd@stupidchicken.com>
3126
3127 * xdisp.c (move_it_in_display_line): Account for word wrap, so
3128 that we don't move off the line.
3129
31302008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
3131
3132 * keyboard.c (Qsuper): Remove.
3133 (parse_menu_item): Don't call where_is_internal specially for NS.
3134
31352008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
3136
3137 * s/gnu-linux.h: Remove boilerplate comments.
3138
3139 * m/alpha.h (__ELF__): Consolidate conditions.
3140
3141 * m/m68k.h (linux): Use GNU_LINUX instead.
3142 Remove boilerplate comments.
3143
3144 * m/intel386.h: Undo refactoring from previous change.
3145 (LIB_STANDARD): All systems that define USG define LIB_STANDARD
3146 too, remove dead code.
3147 (linux): Use GNU_LINUX instead.
3148
31492008-07-16 Jason Rumney <jasonr@gnu.org>
3150
3151 * w32gui.h: Repeat 26 June changes lost by last change.
3152
31532008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
3154
3155 * systty.h: Remove code for Aix on 386, unsupported platform.
3156
3157 * s/ms-w32.h: Remove boilerplate comments.
3158 (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
3159
3160 * s/gnu-linux.h (TERM): Remove support.
3161 (HAVE_SYSVIPC): Remove, unused.
3162 (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
3163 for this system.
3164
3165 * process.c: Remove support for IRIS, unused.
3166 Remove support for TERM, not relevant anymore.
3167
3168 * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
3169 used with the definition.
3170
3171 * s/aix4-2.h (static): Do not undef.
3172
3173 * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
3174 only used on Aix.
3175 (HAVE_SYSVIPC): Remove, unused.
3176
3177 * m/hp800.h (CANNOT_DUMP): Do not undef.
3178
3179 * m/alpha.h: Fix comment.
3180
3181 * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
3182 (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
3183 used by this configuration.
3184 * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
3185 * unexec.c: Remove code depending on HPUX and
3186 USG_SHARED_LIBRARIES, not used with this file. Remove code
3187 depending on IRIS, unused. Remove if 0-ed code.
3188
3189 * s/template.h: Remove comments about static.
3190
3191 * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
3192 Remove if 0-ed code.
3193 (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
3194 were the same as the default.
3195 * s/vms.h (BAUD_CONVERT): Remove, same as the default.
3196 Remove boilerplate comments.
3197 * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
3198 (HAVE_SYSVIPC): Remove, unused.
3199 (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
3200
3201 * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
3202 Remove boilerplate comments.
3203 * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
3204 Remove boilerplate comments.
3205 * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
3206 Remove boilerplate comments.
3207 * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
3208
3209 * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
3210 USG systems which do not use DATA_SEG_BITS.
3211 Refactor code. Remove boilerplate comments.
3212
3213 * m/ibms390.h:
3214 * m/m68k.h:
3215 * s/bsd-common.h:
3216 * s/cygwin.h:
3217 * s/darwin.h:
3218 * s/freebsd.h:
3219 * s/gnu.h:
3220 * s/msdos.h: Remove boilerplate comments.
3221
3222 * m/iris4d.h: Remove boilerplate comments and code for systems that
3223 do not use this file.
3224 (IRIS_4D): Remove, unused.
3225
3226 * m/mips.h: Remove boilerplate comments and code for systems that
3227 do not use this file.
3228 (SIGN_EXTEND_CHAR):
3229 * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
3230 * unexmips.c: Remove file, unused.
3231
3232 * editfns.c (Fuser_full_name): Replace the only use of
3233 USER_FULL_NAME with its value.
3234 * config.in: Regenerate.
3235
32362008-07-16 David Reitter <david.reitter@gmail.com>
3237
3238 * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
3239 easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
3240
32412008-07-16 Glenn Morris <rgm@gnu.org>
3242
3243 * emacs.c (system-type): Doc fix.
3244
32452008-07-15 Stefan Monnier <monnier@iro.umontreal.ca>
3246
3247 * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
3248 If the cache doesn't work, let's fix it, rather than work around it.
3249
32502008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
3251
3252 * Makefile.in: Correct additions for nsfont.o in last commit.
3253 * nsfont.m: New file (forgot last commit).
3254
32552008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
3256
3257 * callproc.c (set_initial_environment): Initialize
3258 Vprocess_environment under CANNOT_DUMP (fixes crash when
3259 batch-compiling for bootstrap).
3260
32612008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
3262 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3263
3264 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
3265 fix crash due to different init order.
3266
32672008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
3268
3269 Changes and additions for NeXTstep windowing system (Cocoa and
3270 GNUstep) support.
3271
3272 * Makefile.in:
3273 * config.in: Support defines and build commands for NS port.
3274 * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
3275 (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
3276 * dispextern.h: Include nsgui.h and add needed typedefs under NS
3277 windowing.
3278 (struct face): Add synth_ital field.
3279 * dispnew.c: Include nsterm.h when compiling under NS windowing.
3280 (init_display): Initialize Vinitial_window_system to "ns" when so
3281 compiled.
3282 * emacs.c: Include GSConfig.h when compiling under GNUstep.
3283 (display_arg): Use under NS.
3284 (main): Under NS, allocate autorelease pool and handle command line
3285 args. Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
3286 (standard_args): Add NS-specific args.
3287 (shut_down_emacs): Shut down NS terminal if compiled under NS.
3288 * font.c (DEFAULT_ENCODING): New variable.
3289 (font_find_for_lface): Use it.
3290 (syms_of_font): Load syms_of_nsfont under NS.
3291 * font.h: Declare nsfont_driver when compiled under NS.
3292 * fontset.c: When compiling under NS, include nsterm.h.
3293 (fontset_from_font): Autoconstruct fontset under NS.
3294 * frame.c (various): Under NS, include nsterm.h, add Qns window system
3295 symbol, document and use it.
3296 (do_switch_frame): When for_deletion under Cocoa, add
3297 Fraise_frame(Qnil).
3298 (x_set_frame_parameters): Ensure font attribute changes are picked up.
3299 (x_get_arg): Allow "yes" and "no" as boolean values.
3300 (syms_of_frame): Declare Qns. Init Vdefault_frame_scroll_bars to
3301 Qright under Cocoa.
3302 (focus-follows-mouse): Default to 0 under NS.
3303 * frame.h (enum output_method): Add output_ns.
3304 (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
3305 (FRAME_EXTERNAL_MENU_BAR): Use under NS.
3306 (FRAME_WINDOW_P): NS-specific definition.
3307 * fringe.c (max_used_fringe_bitmap): Make public.
3308 * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
3309 (getloadavg): Use NeXT code under descendant OS's.
3310 * image.c (includes and header section, x_create_bitmap_from_data)
3311 (x_create_bitmap_from_file, free_bitmap_record, image_background)
3312 (image_background_transparent, x_clear_image_1)
3313 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
3314 (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
3315 (x_to_xcolors, x_from_xcolors, x_disable_image)
3316 (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
3317 other GUIs, including XPM support using code originally written for
3318 Carbon GUI.
3319 (png_load, jpeg_load, tiff_load, gif_load): Add implementations
3320 using NS API.
3321 (image_ascent): Use font metrics macros instead of direct struct field
3322 access.
3323 * keyboard.c (includes): Add nsterm.h when compiling under NS.
3324 (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
3325 Also, handle NS as GTK for menu bar purposes.
3326 (make_lispy_event): Handle NS as other GUI windowing systems, and as X
3327 toolkit where they differ.
3328 (parse_menu_item): Prefer keybindings using 'super' modifier. Also,
3329 use cachelist, still needed under NS.
3330 * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
3331 (struct widget_value): Define it here for menu.c.
3332 * keymap.c (includes): Include modifier internals.
3333 (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
3334 NS.
3335 (where_is_internal, Fwhere_is_internal): When compiled under NS, add
3336 support for preferring sequences using certain modifiers, specified by
3337 the FIRSTONLY argument.
3338 * lisp.h (hash_remove): Rename to avoid name clash when compiling
3339 under NS GNUstep implementation.
3340 (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
3341 * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
3342 * menu.c: Include nsterm.h under NS.
3343 (single_menu_item, parse_single_submenu, xmalloc_widget_value)
3344 (free_menubar_widget_tree_value, update_submenu_strings)
3345 (find_and_call_menu_selection): Treat NS as X and NT.
3346 (find_and_return_menu_selection): New function, used for popup menus.
3347 * nsgui.h:
3348 * nsterm.h:
3349 * nsfns.m:
3350 * nsimage.m:
3351 * nsmenu.m:
3352 * nsselect.m:
3353 * nsterm.m: New files.
3354 * process.c (wait_reading_process_output): Under NS, call ns_select()
3355 instead of plain select().
3356 * syntax.c (char_quoted): Under NS, avoid a crash when called near
3357 beginning of buffer.
3358 * sysselect.h (init_process): Rename when compiling under Cocoa to
3359 avoid name conflict.
3360 * termhooks.h (display_info): Add ns_display_info to union.
3361 * terminal.c (Fterminal_live_p): Add ns to terminal types.
3362 * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
3363 COCOA environment.
3364 * unexnext.c: Update to work with mach API on Mac OS X, and to use new
3365 unexec() signature. (Note, this will dump, but the resulting file
3366 crashes; unexosx is used instead; keeping around for reference and
3367 possible aid in getting dump working under GNUstep.)
3368 * w32gui.h (button_type, widget_value): Remove definitions (now in
3369 keyboard.h).
3370 * window.c: Include nsterm.h when compiling under NS.
3371 * xdisp.c (includes): Include nsterm.h when compiling under NS.
3372 (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
3373 other GUI windowing systems.
3374 (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
3375 GTK.
3376 (x_consider_frame_title): Under NS, set icon type and frame
3377 modified-state indicator; use ns_set_name_as_filename() when using
3378 formatted title.
3379 (update_window_cursor): Make public when compiling under NS.
3380 (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
3381 (hourglass_atimer, Vhourglass_delay
3382 * xfaces.c (header section, init_frame_faces, clear_font_table)
3383 (defined_color, unload_color, x_face_list_fonts)
3384 (prepare_face_for_display): Add NS support parallel to other GUIs.
3385 Emulate GCs like other non-X GUIs.
3386 (split_font_name): Don't lowercase font name under NS.
3387 (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
3388 under NS.
3389 * s/darwin.h: Add support for compilation under NS.
3390
33912008-07-15 Jason Rumney <jasonr@gnu.org>
3392
3393 * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
3394 (w32_show_hourglass): Rename from show_hourglass.
3395 (w32_hide_hourglass): Rename from hide_hourglass.
3396 (DEFAULT_HOURGLASS_DELAY): Revert from last change.
3397 (Vhourglass_delay): Declare extern.
3398 (hourglass_started): Remove.
3399
3400 * xdisp.c (Vhourglass_delay): Remove static.
3401 (hourglass_started, start_hourglass, cancel_hourglass):
3402 Don't include these versions on WINDOWSNT.
3403
34042008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
3405
3406 * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
3407 variables (formerly in xfns.c).
3408 (show_hourglass, hide_hourglass): New prototypes (same).
3409 * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
3410 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
3411 in xfns.c).
3412 (syms_of_xdisp): Declare/initialize display-hourglass,
3413 hourglass-delay. Initialize hourglass_atimer, hourglass_shown_p.
3414 (hourglass_started, start_hourglass, cancel_hourglass): New functions,
3415 formerly in xfns.c.
3416 * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
3417 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
3418 (start_hourglass, cancel_hourglass): Remove.
3419 (show_hourglass, hide_hourglass): Remove prototypes and static
3420 modifiers.
3421 (syms_of_xfns): Remove display-hourglass, hourglass-delay,
3422 hourglass_atimer, hourglass_shown_p declaration/initialization.
3423 * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
3424 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
3425 (start_hourglass, cancel_hourglass): Remove.
3426 (show_hourglass, hide_hourglass): Remove prototypes and static
3427 modifiers.
3428 (syms_of_macfns): Remove display-hourglass, hourglass-delay,
3429 hourglass_atimer, hourglass_shown_p declaration/initialization.
3430 * w32fns.c (display_hourglass_p, Vhourglass_delay)
3431 (DEFAULT_HOURGLASS_DELAY): Remove.
3432 (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
3433 hourglass_shown_p declaration/initialization.
3434
34352008-07-14 Jason Rumney <jasonr@gnu.org>
3436
3437 * w32fns.c (w32_get_arg): Remove wrapper function.
3438 (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
3439 directly.
3440 (Fx_create_frame): Sync with xfns.c. Use x_get_arg directly.
3441
34422008-07-14 Kenichi Handa <handa@m17n.org>
3443
3444 * xfont.c (xfont_open): Add workaround for X's bug.
3445
34462008-07-14 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
3447
3448 * fontset.c: Include <stdio.h> unconditionally.
3449
34502008-07-13 Michael Albinus <michael.albinus@gmx.de>
3451
3452 * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
3453 for filtering.
3454
34552008-07-13 Dan Nicolaescu <dann@ics.uci.edu>
3456
3457 * s/vms.h: Use __GNUC__ instead of _GNUC_.
3458
3459 * m/macppc.h:
3460 * m/alpha.h: Use GNU_LINUX instead of LINUX. Reorganize conditionals.
3461
3462 * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
3463 (SPECIAL_EMACS_INT):
3464 * m/ia64.h (SPECIAL_EMACS_INT):
3465 * m/amdx86-64.h (SPECIAL_EMACS_INT):
3466 * s/gnu.h (NLIST_STRUCT):
3467 * s/aix4-2.h (X11R5_INHIBIT_I18N):
3468 * s/gnu-linux.h (LINUX):
3469 * s/msdos.h (HAVE_FACES):
3470 * s/ms-w32.h (HAVE_FACES): Don't define, unused.
3471
3472 * systty.h:
3473 * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
3474 anymore.
3475
34762008-07-12 Dan Nicolaescu <dann@ics.uci.edu>
3477
3478 * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was
3479 always defined as int.
3480
3481 * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
3482 * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
3483 * s/gnu-linux.h (HAVE_WAIT_HEADER):
3484 * s/freebsd.h (HAVE_WAIT_HEADER):
3485 * s/bsd-common.h (HAVE_UNION_WAIT):
3486 * s/aix4-2.h (HAVE_WAIT_HEADER):
3487 * m/mips.h (HAVE_UNION_WAIT):
3488 * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
3489 (COFF, static): Do not define, they are undefined later in the file.
3490
3491 * process.c (update_status): Don't use a union.
3492 (status_convert):
3493 (sigchld_handler): Use int instead of WAITTYPE.
3494
34952008-07-12 Chong Yidong <cyd@stupidchicken.com>
3496
3497 * indent.c (Fvertical_motion): Restore hscroll before moving to
3498 goal column.
3499
35002008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
3501
3502 * lisp.h: Remove left over code.
3503
35042008-07-11 Andreas Schwab <schwab@suse.de>
3505
3506 * lisp.h: Fix logic in last change.
3507
3508 * menu.h: New file.
3509 * menu.c: Include it.
3510 * xmenu.c: Likewise.
3511 * Makefile.in: Update dependencies.
3512
35132008-07-11 Kenichi Handa <handa@m17n.org>
3514
3515 * fontset.c (fontset_from_font): Cancel the previous change.
3516
35172008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
3518
3519 * lisp.h:
3520 * w32heap.c:
3521 * emacs.c:
3522 * alloc.c: Replace all references of NO_UNION_TYPE with
3523 USE_LISP_UNION_TYPE.
3524
3525 * m/xtensa.h (NO_UNION_TYPE):
3526 * m/vax.h (NO_UNION_TYPE):
3527 * m/template.h (NO_UNION_TYPE):
3528 * m/sparc.h (NO_UNION_TYPE):
3529 * m/mips.h (NO_UNION_TYPE):
3530 * m/macppc.h (NO_UNION_TYPE):
3531 * m/m68k.h (NO_UNION_TYPE):
3532 * m/iris4d.h (NO_UNION_TYPE):
3533 * m/intel386.h (NO_UNION_TYPE):
3534 * m/ibms390x.h (NO_UNION_TYPE):
3535 * m/ibms390.h (NO_UNION_TYPE):
3536 * m/ibmrs6000.h (NO_UNION_TYPE):
3537 * m/ia64.h (NO_UNION_TYPE):
3538 * m/hp800.h (NO_UNION_TYPE):
3539 * m/arm.h (NO_UNION_TYPE):
3540 * m/amdx86-64.h (NO_UNION_TYPE):
3541 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
3542 defining it the same.
3543
35442008-07-10 Chong Yidong <cyd@stupidchicken.com>
3545
3546 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
3547
35482008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
3549
3550 * fileio.c:
3551 * sysdep.c
3552 * systty.h:
3553 * m/ibmrs6000.h:
3554 * m/iris4d.h:
3555 * s/aix4-2.h:
3556 * s/freebsd.h:
3557 * s/gnu-linux.h:
3558 * s/hpux10-20.h:
3559 * s/hpux11.h:
3560 * s/netbsd.h:
3561 * s/sol2-3.h:
3562 * s/sol2-4.h:
3563 * s/sol2.h:
3564 * s/usg5-4.h:
3565 * s/vms.h: Remove references to unused variables.
3566
35672008-07-10 Andreas Schwab <schwab@suse.de>
3568
3569 * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
3570 pattern before matching the generic family.
3571
35722008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
3573
3574 * unexec.c:
3575 * s/vms.h:
3576 * s/usg5-4-2.h:
3577 * s/sol2-5.h:
3578 * s/freebsd.h:
3579 * s/darwin.h: Remove dead code.
3580
3581 * m/template.h:
3582 * m/sparc.h:
3583 * m/mips.h:
3584 * m/m68k.h:
3585 * m/iris4d.h:
3586 * m/intel386.h:
3587 * m/ibms390x.h:
3588 * m/ibms390.h:
3589 * m/ia64.h:
3590 * m/hp800.h:
3591 * m/arm.h:
3592 * m/amdx86-64.h: Remove dead code and references to unused
3593 and compiler defined symbols.
3594
3595 * unexmips.c:
3596 * unexelf.c: Remove references to desupported systems.
3597
3598 * m/powermac.h: Remove file, it is now identical to m/macppc.h.
3599
3600 * m/powermac.h: Remove boilerplate comments.
3601 (NO_REMAP): Remove unused definition.
3602
3603 * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
3604 define them.
3605
36062008-07-10 Kenichi Handa <handa@m17n.org>
3607
3608 * xfont.c (xfont_open): Log the reason of failure.
3609
36102008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
3611
3612 * fontset.c (fontset_get_font_group):
3613 * font.c (font_check_otf): Specify argument types.
3614
36152008-07-09 Kenichi Handa <handa@m17n.org>
3616
3617 * coding.c (detect_coding_utf_8): Set detect_info->found only when
3618 non-ASCII char is found.
3619
3620 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
3621 (reorder_font_vector): Change the arg preferred_family to font.
3622 Prefer the spec matching with font.
3623 (fontset_get_font_group): New function.
3624 (fontset_find_font): Change the format of an element of a realized
3625 fontset. Use fontset_get_font_group.
3626 (fontset_font): Try the current fontset, the default fontset, the
3627 fallbacks of the current fontset, and the fallbacks of the default
3628 fontset in this order.
3629 (face_for_char): Delete the shortcut to use the current font.
3630 (fontset_from_font): Don't set fonts for Latin in the fontset.
3631
3632 * font.h (font_make_object, font_match_p): Adjust prototypes.
3633
3634 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
3635
3636 * font.c (font_make_object): New arg entity and pixelsize.
3637 (font_check_otf_features, font_check_otf): New functions.
3638 (font_match_p): Check :lang, :script, and :otf properties.
3639
3640 * xfont.c (xfont_open): Adjust it for the change of
3641 font_make_object.
3642 (xfont_text_extents): Fix initial setting of metrics.
3643
3644 * ftfont.c (struct ftfont_info): New member index, delete member
3645 fc_charset_idx. Make the member order compatible with struct
3646 xftfont_info.
3647 (fc_charset_table): Change charset names to registry names.
3648 (ftfont_pattern_entity): Delete the args registry and
3649 fc_charset_idx. Change the value of :font-entity property
3650 to (FONTNAME . INDEX). Always set :registry property to
3651 `iso10646-1'.
3652 (struct ftfont_cache_data): New struct.
3653 (ftfont_lookup_cache): New arg for_face.
3654 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
3655 (ftfont_driver): Set the member otf_capability.
3656 (ftfont_get_charset): Adjust it for the change of
3657 fc_charset_table.
3658 (OTF_TAG_SYM): New macro.
3659 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
3660 for the change of fc_charset_table.
3661 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
3662 ftfont_pattern_entity. Add FC_INDEX to objset.
3663 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
3664 and ftfont_pattern_entity.
3665 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
3666 font_make_object, struct ftfont_info.
3667 (ftfont_has_char): Use ftfont_get_fc_charset.
3668 (ftfont_otf_features, ftfont_otf_capability): New functions.
3669 (ftfont_shape): Use ftfont_get_otf.
3670 (ftfont_text_extents): Fix initial setting of metrics.
3671
3672 * xftfont.c (struct xftfont_info): New member ft_size. Make the
3673 member order compatible with struct ftfont_info.
3674 (xftfont_open): Add FC_CHARSET to the pattern. Set
3675 xftfont_info->ft_size. Don't unlock the face. Check BDF
3676 properties if appropriate.
3677 (xftfont_close): Unlock the face.
3678 (xftfont_anchor_point, xftfont_shape): Deleted.
3679 (syms_of_xftfont): Don't set members anchor_point and shape of
3680 xftfont_driver.
3681
3682 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
3683 font_make_object.
3684
3685 * w32font.c (w32font_open): Adjust it for the change of
3686 font_make_object.
3687 (w32font_open_internal): Don't set properties of font_object here.
3688
36892008-07-08 Chong Yidong <cyd@stupidchicken.com>
3690
3691 * macfns.c (x_create_tip_frame):
3692 * w32fns.c (x_create_tip_frame):
3693 * xfns.c (x_create_tip_frame): Pass parameter argument to
3694 face-set-after-frame-default.
3695
3696 * xfaces.c (Finternal_merge_in_global_face): Save merged
3697 attributes for the default face back into the face vector.
3698
36992008-07-08 Andreas Schwab <schwab@suse.de>
3700
3701 * fontset.h: Declare fontset_from_font. Don't declare
3702 new_fontset_from_font and fontset_from_font_name.
3703 * xterm.c: Include "fontset.h".
3704 * Makefile.in (xterm.o): Update dependencies.
3705
37062008-07-08 Glenn Morris <rgm@gnu.org>
3707
3708 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
3709 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
3710
37112008-07-07 Chong Yidong <cyd@stupidchicken.com>
3712
3713 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
3714 (x_set_frame_parameters): Don't bind it.
3715
37162008-07-07 Juanma Barranquero <lekktu@gmail.com>
3717
3718 * w32fns.c (map_w32_filename): Declare extern.
3719
37202008-07-07 Jason Rumney <jasonr@gnu.org>
3721
3722 * w32term.c (WS_EX_LAYERED): Define if not already.
3723
37242008-07-06 Chong Yidong <cyd@stupidchicken.com>
3725
3726 * xfaces.c (set_font_frame_param): Don't try to set the font
3727 parameter if it is still unspecified in the lface.
3728
37292008-07-05 Chong Yidong <cyd@stupidchicken.com>
3730
3731 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
3732 face if it didn't already exist.
3733
3734 * xdisp.c (try_window_id): Give up if word-wrapping is on.
3735
37362008-07-05 Andreas Schwab <schwab@suse.de>
3737
3738 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
3739
37402008-07-05 Chong Yidong <cyd@stupidchicken.com>
3741
3742 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
3743 word-wrapping.
3744 (IT_DISPLAYING_WHITESPACE): New macro.
3745 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
3746 when word-wrapping. Simplify word-wrapping logic. Use correct
3747 pixel positions when saving copies of the iterator.
3748 (display_line): Use proper wrap point if the last character on a
3749 line was preceded by whitespace.
3750
37512008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
3752
3753 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
3754
37552008-07-04 Kenichi Handa <handa@m17n.org>
3756
3757 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
3758
3759 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
3760
37612008-07-02 Jason Rumney <jasonr@gnu.org>
3762
3763 * xfns.c (syms_of_xfns): Only define x-select-font when both
2ae37cf0 3764 HAVE_FREETYPE and USE_GTK.
aac0c6e3
MR
3765
3766 * xdisp.c (next_element_from_display_vector): Move assignment out
3767 of if statement.
3768
37692008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
3770
3771 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
3772
3773 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
3774 (syms_of_fileio): Initialize and export them.
3775 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
3776
3777 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
3778 (Fsystem_move_file_to_trash): New function.
3779 (syms_of_w32fns): Export it to lisp.
3780
37812008-07-01 Jason Rumney <jasonr@gnu.org>
3782
3783 * w32font.c (w32font_text_extents): Don't count overhang as part
3784 of width.
3785
37862008-06-30 Miles Bader <miles@gnu.org>
3787
3788 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
3789 Add `avoid_cursor_p' field.
3790
3791 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
3792 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
3793 (append_glyph, append_composite_glyph, produce_image_glyph)
3794 (append_stretch_glyph): Initialize avoid_cursor_p.
3795 (get_it_property): Rename from `get_line_height_property'.
3796 (x_produce_glyphs): Use get_it_property.
3797 (handle_line_prefix, push_display_prop): New functions.
3798 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
3799 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
3800 New variables.
3801 (syms_of_xdisp): Initialize them.
3802
38032008-06-30 Kenichi Handa <handa@m17n.org>
3804
3805 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
3806 XftDefaultSubstitute (they are called in XftFontMatch).
3807 (xftfont_open): Fix args to ftfont_font_format.
3808
3809 * ftfont.c (fc_charset_table): New member lang.
3810 (ftfont_resolve_generic_family): New arg pattern.
60612c8f 3811 (ftfont_spec_pattern): Check fc_charset_table[]->lang.
aac0c6e3
MR
3812 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
3813 (ftfont_open): Fix args to ftfont_font_format.
3814 (ftfont_font_format): New arg filename.
3815
38162008-06-30 Chong Yidong <cyd@stupidchicken.com>
3817
3818 * xfaces.c (Finternal_merge_in_global_face): If default face was
3819 modified, realize it again. Update the font face attribute.
3820
38212008-06-29 Jason Rumney <jasonr@gnu.org>
3822
3823 * w32term.c (x_set_frame_alpha): Fix logic.
3824
38252008-06-29 Kenichi Handa <handa@m17n.org>
3826
3827 * fontset.c (Finternal_char_font): Return font-object instead of
3828 font-name.
3829
3830 * composite.c (get_composition_id): Fix the width calculation for TAB.
3831
38322008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
3833
3834 * indent.c (Fvertical_motion): Properly handle float column arg.
3835
38362008-06-28 Jason Rumney <jasonr@gnu.org>
3837
3838 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
3839 (pfnSetLayeredWindowAttributes): New function pointer.
3840 (w32_initialize): Initialize it when supported.
3841 (x_set_frame_alpha): New function.
3842
3843 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
3844 (w32_frame_parm_handlers): Set alpha handler.
3845
3846 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
3847
38482008-06-27 Jason Rumney <jasonr@gnu.org>
3849
3850 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
3851 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
3852 (w32_to_x_charset, x_to_w32_charset)
3853 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
3854 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
3855 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
3856 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
3857 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
3858 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
3859 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
3860 (Qw32_charset_unicode): Remove.
3861 (syms_of_w32fns): Update for above changes.
3862
3863 * w32font.c (w32_to_x_charset, x_to_w32_charset)
3864 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
3865 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
3866 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
3867 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
3868 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
3869 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
3870 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
3871 (syms_of_w32font): Update for above changes.
3872
38732008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
3874
3875 * s/usg5-4.h: Fix previous change: keep the correct branch of a
3876 removed #if.
3877 (USG_SHARED_LIBRARIES): Remove duplicate definition.
3878
38792008-06-26 Juanma Barranquero <lekktu@gmail.com>
3880 Eli Zaretskii <eliz@gnu.org>
3881
3882 * makefile.w32-in (LOCAL_FLAGS):
3883 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
3884
3885 * sysdep.c (_spawnlp, _getpid):
3886 Declare with explicit _cdecl instead of _CRTAPI1.
3887
3888 * editfns.c (Fget_internal_run_time):
3889 Check for WINDOWSNT with #ifdef, not #if.
3890
38912008-06-26 Jason Rumney <jasonr@gnu.org>
3892
3893 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
3894
3895 * w32term.c (x_draw_glyph_string_foreground)
3896 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
3897 Use FONT_HANDLE macro.
3898 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
3899
3900 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
3901 (uniscribe_encode_char): Use FONT_HANDLE macro.
3902
3903 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
3904 (w32font_text_extents): Use precast w32_font.
3905 (w32font_close): Free cached metrics.
3906 (w32font_open_internal): Allocate space for name on stack.
3907
39082008-06-26 Chong Yidong <cyd@stupidchicken.com>
3909
3910 * xdisp.c (extend_face_to_end_of_line): Fix last change.
3911
39122008-06-26 Jason Rumney <jasonr@gnu.org>
3913
3914 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
3915 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
3916
39172008-06-26 Juanma Barranquero <lekktu@gmail.com>
3918
3919 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
3920
39212008-06-26 Jason Rumney <jasonr@gnu.org>
3922
3923 * w32bdf.c, w32bdf.h: Remove obsolete files.
3924
3925 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
3926
3927 * w32gui.h: Don't include w32bdf.h.
3928 (XCharStruct, enum w32_char_font_type, W32FontStruct):
3929 Remove obsolete font support.
3930
3931 * w32font.h (struct w32font_info): Remove compat_w32_font.
3932 Add hfont member.
3933 (FONT_COMPAT): Remove obsolete macro.
3934
3935 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
3936 (w32font_encode_char, w32font_text_extents): Use new hfont member.
3937 (w32font_open_internal): Remove compat code. Set new hfont member.
3938 (Fx_select_font): Use new hfont member.
3939
3940 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
3941 (uniscribe_encode_char): Use new hfont member.
3942
3943 * w32term.c (x_draw_glyph_string_foreground)
3944 (x_draw_composite_glyph_string_foreground): Use new hfont member.
3945 (x_draw_glyph_string): Use metrics in w32font_info.
3946
39472008-06-26 Kenichi Handa <handa@m17n.org>
3948
3949 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
3950
39512008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
3952
3953 * unexnext.c:
3954 * m/ews4800.h:
3955 * m/hp9000s300.h:
3956 * m/ibm370aix.h:
3957 * m/mips-siemens.h:
3958 * m/ncr386.h:
3959 * m/next.h:
3960 * m/pmax.h:
3961 * m/powerpcle.h:
3962 * m/tandem-s2.h:
3963 * s/386bsd.h:
3964 * s/bsd386.h:
3965 * s/bsd4-1.h:
3966 * s/bsd4-2.h:
3967 * s/bsdos2-1.h:
3968 * s/bsdos2.h:
3969 * s/bsdos3.h:
3970 * s/bsdos4.h:
3971 * s/nextstep.h:
3972 * s/ultrix4-3.h:
3973 * s/usg5-0.h:
3974 * s/usg5-2-2.h:
3975 * s/usg5-2.h:
3976 * s/usg5-4-3.h:
3977 * s/ux4800.h:
3978 * s/uxpds.h:
3979 * s/uxpv.h: Remove support for obsolete systems.
3980 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
3981 Remove, insert contents in s/hpux-10.20.h.
3982 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
3983 Remove, insert contents in s/aix4-2.h.
3984 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
3985 * s/bsd4-3.h: Rename to ...
3986 * s/bsd-common.h: ... this.
3987 * data.c:
3988 * doc.c:
3989 * ecrt0.c:
3990 * emacs.c:
3991 * fileio.c:
3992 * floatfns.c:
3993 * keyboard.c:
3994 * mem-limits.h:
3995 * print.c:
3996 * process.c:
3997 * sysdep.c:
3998 * syssignal.h:
3999 * systty.h:
4000 * syswait.h:
4001 * term.c:
4002 * unexec.c:
4003 * unexelf.c:
4004 * unexhp9k800.c:
4005 * m/hp800.h:
4006 * m/ibmrs6000.h:
4007 * m/mips.h:
4008 * m/vax.h:
4009 * s/darwin.h:
4010 * s/freebsd.h:
4011 * s/gnu.h:
4012 * s/ms-w32.h:
4013 * s/msdos.h:
4014 * s/netbsd.h:
4015 * s/template.h: Remove references to obsolete variables.
4016
4017 * Makefile.in: Add dependencies for all unexec files.
4018 (admindir): Remove unused variable.
4019 (UNEXEC_SRC): Remove references.
4020
40212008-06-25 Chong Yidong <cyd@stupidchicken.com>
4022
4023 * xfns.c (x_default_font_parameter): If Xft is available, first
4024 try Monospace-12 for the default font.
4025
40262008-06-25 Jason Rumney <jasonr@gnu.org>
4027
4028 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
4029
40302008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
4031
4032 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
4033
4034 * buffer.c (syms_of_buffer): Remove default-word-wrap.
4035
40362008-06-25 Juanma Barranquero <lekktu@gmail.com>
4037
4038 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
4039 <scroll-conservatively>: Fix typo in docstring.
4040
4041 * xselect.c (Fx_send_client_event): Doc fix.
4042
40432008-06-25 Kenichi Handa <handa@m17n.org>
4044
4045 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
4046
4047 * font.c (font_parse_fcname): Remove unused variables.
4048 (font_sort_entites): Delete the arg SPEC. Caller changed.
4049 Fix for the case of ! best_only.
4050 (font_delete_unmatched): Check DPI and AVGWIDTH too.
4051
4052 * lisp.h (Fstring_to_unibyte): EXFUN it.
4053
4054 * character.h (str_to_unibyte): Extern it.
4055
4056 * character.c (str_to_unibyte): New function.
4057
4058 * fns.c (Fstring_to_unibyte): New function.
4059 (syms_of_fns): Defsubr it.
4060
40612008-06-24 Kenichi Handa <handa@m17n.org>
4062
4063 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
4064 DPI too.
4065 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
4066
40672008-06-24 Andreas Schwab <schwab@suse.de>
4068
4069 * Makefile.in (${lispsource}loaddefs.el): Rename from
4070 ../lisp/loaddefs.el.
4071 (bootstrap-clean): Do what distclean does but don't remove
4072 Makefile.
4073 (distclean): Depend on bootstrap-clean and remove Makefile.
4074
40752008-06-24 Chong Yidong <cyd@stupidchicken.com>
4076
4077 * buffer.h (struct buffer): New member word_wrap.
4078
4079 * buffer.c (syms_of_buffer): New variables default-word-wrap and
4080 word-wrap.
4081 (init_buffer_once): Initialize them.
4082
4083 * dispextern.h (struct it): Replace bool truncate_lines_p with a
4084 line_wrap enum possessing three possible values.
4085
4086 * termopts.h: Replace truncate_partial_width_windows with
4087 Vtruncate_partial_width_windows.
4088
4089 * dispnew.c (direct_output_for_insert): Avoid direct output when
4090 inserting a space with word wrap on.
4091
4092 * indent.c (compute_motion): Obey integer values of
4093 truncate-partial-width-windows.
4094
4095 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
4096 replacing truncate_partial_width_windows.
4097 (init_iterator): If Vtruncate_partial_width_windows is an integer,
4098 truncate only if the window width is below that integer.
4099 (start_display, resize_mini_window, produce_stretch_glyph)
4100 (display_string, move_it_in_display_line_to): Use line_wrap.
4101 (back_to_previous_visible_line_start, reseat_1): Reset
4102 string_from_display_prop_p.
4103 (display_line): Extend default face to end of line when wrapping.
4104
41052008-06-24 Kim F. Storm <storm@cua.dk>
4106
4107 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
4108 to wrap continued lines at word boundaries.
4109
41102008-06-24 Jason Rumney <jasonr@gnu.org>
4111
4112 * font.c (Ffont_face_attributes): Multiply pixel size before point
4113 conversion to avoid multiplying rounding error.
4114
41152008-06-23 Jason Rumney <jasonr@gnu.org>
4116
4117 * w32term.c (x_draw_glyph_string_background)
4118 (x_draw_glyph_string): Remove old bdf font code.
4119
4120 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
4121
41222008-06-22 Kenichi Handa <handa@m17n.org>
4123
4124 * font.c (font_find_for_lface): Try the adstyle specified in
4125 the property of LFACE_FONT of LFACE (if any).
4126
41272008-06-21 Seiji Zenitani <zenitani@mac.com>
4128 Ryo Yoshitake <ryo@shiftmode.net>
4129
4130 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
4131
41322008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
4133
4134 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
4135 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
4136 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
4137 (witness-emacs): Remove.
4138 (lisp, shortlisp): Move loaddefs.el earlier.
4139 (mostlyclean): Forget about witness-emacs.
4140
41412008-06-22 Glenn Morris <rgm@gnu.org>
4142
4143 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
4144 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
4145
41462008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
4147
4148 * Makefile.in (PRECOMP): Remove.
4149 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
4150 (witness-emacs): Run `compile-first'.
4151 (.el.elc): Use the new compile-onefile target.
4152
41532008-06-21 Kenichi Handa <handa@m17n.org>
4154
4155 * xftfont.c (xftfont_open): Handle QCembolden only when
4156 FC_EMBOLDEN is defined.
4157
41582008-06-21 Andreas Schwab <schwab@suse.de>
4159
4160 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
4161 (.el.elc): Likewise.
4162
41632008-06-21 Miles Bader <miles@gnu.org>
4164
4165 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
4166 build dir, not the lisp source dir.
4167
41682008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
4169
4170 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
4171 (bootstrapclean): Remove.
4172 (.el.elc): New rule.
4173 (PRECOMP): New var.
4174 (../lisp/subdirs.el): Remove.
4175 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
4176 (witness-emacs): New target.
4177 (mostlyclean): Remove witness-emacs as well.
4178 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
4179 Add witness-emacs dependency.
4180
41812008-06-20 Chong Yidong <cyd@stupidchicken.com>
4182
4183 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
4184 defined by the font.
4185
41862008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
4187
4188 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
4189 (bootstrap-clean): New target that keeps TAGS around.
4190 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
4191 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
4192
41932008-06-20 Jason Rumney <jasonr@gnu.org>
4194
4195 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
4196 Remove obsolete font code.
4197
4198 * w32font.c (font_matches_spec): Use csb bitfield from font signature
4199 to determine language support.
4200
42012008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
4202
4203 * sysdep.c (cfsetspeed): New fun extracted from the code.
4204 (cfmakeraw): Move before first use.
4205
42062008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
4207
4208 * sysdep.c (cfmakeraw): Provide fallback implementation.
4209 (serial_configure): Provide fallback implementation of cfsetspeed.
4210
42112008-06-20 Kenichi Handa <handa@m17n.org>
4212
4213 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
4214 the pattern.
4215
4216 * fontset.c (fontset_from_font): Copy font_spec before changing
4217 the elements.
4218
4219 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
4220
42212008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
4222
4223 * w32fns.c, xfns.c (x_default_font_parameter): Only set `font-param'
4224 for explicit `font' parameters.
4225
4226 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
4227
42282008-06-19 Kenichi Handa <handa@m17n.org>
4229
4230 * frame.c: Include <ctype.h>.
4231 (x_set_font_backend): Allow spacing characters in the X resource
4232 for FontBackend.
4233
42342008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
4235
4236 * w32fns.c, xfns.c (Qfont_param): New var.
4237 (syms_of_w32fns): Initialize it.
4238 (x_default_font_parameter): Record explicit `font' into
4239 `font-parameter'.
4240
42412008-06-18 Kenichi Handa <handa@m17n.org>
4242
4243 * font.c (font_parse_xlfd): Fix previous change.
4244 (font_parse_fcname): Don't use :fc-unknown-spec.
4245 (FRAME_X_DISPLAY_INFO): Be sure to have at least 1 pixel height.
4246 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
4247 (font_add_log): Prepend the driver name to the resulting fonts.
4248
4249 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
4250 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
4251 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
4252
4253 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
4254 (QCembolden): New variables.
4255 (syms_of_xftfont): DEFSYM them.
4256 (xftfont_open): Call XftFontMatch. Don't trust the result of
4257 XftTextExtents8 if the pixel_size is less than 5.
4258
42592008-06-18 Andreas Schwab <schwab@suse.de>
4260
4261 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
4262 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
4263
42642008-06-18 Jason Rumney <jasonr@gnu.org>
4265
4266 * w32font.c (w32font_list, w32font_match): Add logging.
4267
4268 * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging.
4269
42702008-06-17 Chong Yidong <cyd@stupidchicken.com>
4271
4272 * font.c (font_parse_fcname): Store divider characters for
4273 unknown-spec list. For known key symbols, intern using correct
4274 symbol name.
4275
42762008-06-17 Kenichi Handa <handa@m17n.org>
4277
4278 * xfaces.c (realize_default_face): If the frame is not on window
4279 system, set the fontset of face to nil.
4280
42812008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
4282
4283 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
4284
42852008-06-16 Juanma Barranquero <lekktu@gmail.com>
4286
4287 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
4288 (build_font_name_from_vector): Delete externs.
4289
4290 * xfaces.c (struct font_name): Don't declare.
4291
42922008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
4293
4294 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
4295
42962008-06-16 Chong Yidong <cyd@stupidchicken.com>
4297
4298 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
4299
43002008-06-16 Juanma Barranquero <lekktu@gmail.com>
4301
4302 * font.c (Ffont_spec): Fix usage in docstring.
4303 (Ffont_face_attributes): Doc fix.
4304
43052008-06-16 Andreas Schwab <schwab@suse.de>
4306
4307 * font.c (Ffont_face_attributes): Fix definition.
4308
43092008-06-16 Jason Rumney <jasonr@gnu.org>
4310
4311 * font.h (font_style_symbolic_from_value): Remove.
4312
4313 * font.c (font_style_symbolic_from_value): Remove.
4314 (font_style_symbolic): Revert to pre 2008-06-13 version.
4315
4316 * w32font.c (w32_to_fc_weight): New function.
4317 (w32font_full_name, logfont_to_fcname): Use it.
4318
43192008-06-16 Kenichi Handa <handa@m17n.org>
4320
4321 * font.c (font_check_object): Delete it.
4322 (font_clear_cache): Check if a font-object is alive.
4323 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
4324 font-object to nil.
4325 (font_close_object): Don't check FONT_CLOSE_OBJECT.
4326 (font_at): Don't call font_check_object.
4327 (Ffont_get): Return a symbol for :weight, :slant, and :width.
4328
43292008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
4330
4331 * puresize.h (BASE_PURESIZE): Increase to 1230000.
4332
43332008-06-16 Chong Yidong <cyd@stupidchicken.com>
4334
4335 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
4336
43372008-06-15 Chong Yidong <cyd@stupidchicken.com>
4338
4339 * font.c (font_parse_fcname): Only one decimal point.
4340 (font_unparse_fcname): Handle data in family and foundry indices
4341 as symbols, not strings.
4342 (font_unparse_gtkname, Ffont_face_attributes): New functions.
4343
4344 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
4345
4346 * font.h (font_unparse_gtkname): Add prototype.
4347
43482008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
4349
4350 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
4351
43522008-06-15 Andreas Schwab <schwab@suse.de>
4353
4354 * font.c (font_update_drivers): Fix crash when no drivers match.
4355
43562008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
4357
4358 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
4359 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
4360
43612008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
4362
4363 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
4364
43652008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
4366
4367 * process.c (Fserial_process_configure, Fprocess_send_eof):
4368 Use EQ to compare Lisp_Objects.
4369
43702008-06-13 Jason Rumney <jasonr@gnu.org>
4371
4372 * w32fns.c (Fw32_select_font): Remove old font API function.
4373
4374 * w32font.c (logfont_to_fcname): New function.
4375 (Fx_select_font): New font dialog function compatible with
4376 GTK/fontconfig version.
4377
4378 * font.c (font_style_symbolic_from_value): New function.
4379 (font_style_symbolic): Use it.
4380
4381 * font.h (font_style_symbolic_from_value): Declare new function.
4382
43832008-06-13 Juanma Barranquero <lekktu@gmail.com>
4384
4385 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
4386 <font-width-table>: Fix typos in docstrings.
4387
43882008-06-13 Daniel Engeler <engeler@gmail.com>
4389
4390 These changes add serial port access.
4391 * process.c: Add HAVE_SERIAL.
4392 (Fdelete_process, Fprocess_status, Fset_process_buffer)
4393 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
4394 (list_processes_1, select_wrapper, Fstop_process)
4395 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
4396 (status_notify): Modify to handle serial processes.
4397 [HAVE_SERIAL] (Fserial_process_configure)
4398 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
4399 New functions.
4400 * process.h (struct Lisp_Process): Add `type'.
4401 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
4402 New functions.
4403 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
4404 serial ports.
4405 (serial_open, serial_configure) New functions.
4406 * w32.h: Add FILE_SERIAL.
4407 (struct _child_process): Add ovl_read, ovl_write.
4408
44092008-06-13 Kenichi Handa <handa@m17n.org>
4410
4411 * dispextern.h (enum lface_attribute_index): New member
4412 LFACE_FOUNDRY_INDEX.
4413
4414 * font.c (font_score): Delete arg alternate_families. Check only
4415 weight, slant, width, and size. Ignore the difference of alias
4416 style symbols.
4417 (font_sort_entites): Adjust for the above change. Reflect the
4418 order of font-driver to scores.
4419 (font_list_entities): Don't check alternate_familes here.
4420 (font_clear_prop): Handle foundry.
4421 (font_update_lface): Don't parse "foundry-family" form here.
4422 Handle FONT_FOUNDRY_INDEX.
4423 (font_find_for_lface): Likewise. Handle alternate families here.
4424 If registry is nil, try iso8859-1 and ascii-0.
4425 (font_open_for_lface): Pay attention to size in ENTITY.
4426 (font_open_by_name): Simplify by calling font_load_for_lface.
4427 (free_font_driver_list): Delete it.
4428 (font_update_drivers): Preserve the order of backends.
4429 (syms_of_font): Setting of sort_shift_bits adjusted for the change
4430 of font_score and font_sort_entites.
4431 (font_update_sort_order): Likewise.
4432
4433 * xfaces.c (LFACE_FOUNDRY): New macro.
4434 (check_lface_attrs): Check foundry.
4435 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
4436 (merge_face_vectors): Check foundry.
4437 (merge_face_ref): Likewise.
4438 (Finternal_set_lisp_face_attribute): Likewise.
4439 (x_update_menu_appearance): Likewise.
4440 (Finternal_get_lisp_face_attribute): Likewise.
4441 (lface_hash): Likewise.
4442 (lface_same_font_attributes_p): Likewise.
4443 (x_supports_face_attributes_p): Likewise.
4444 (tty_supports_face_attributes_p): Likewise.
4445 (Finternal_set_alternative_font_family_alist): Intern strings.
4446 (Finternal_set_alternative_font_registry_alist): Downcase strings.
4447 (realize_default_face): Set LFACE_FOUNDRY (lface).
4448
4449 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
4450 font-driver at first.
4451
4452 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
4453
44542008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
4455
4456 * lread.c (Fload): Use xfree, not free on saved_doc_string.
4457
44582008-06-12 Jim Meyering <meyering@redhat.com>
4459
4460 Make unexec_free handle NULL the same way free does.
4461 * unexmacosx.c (unexec_free): Ignore a NULL argument.
4462
44632008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
4464
4465 * character.h (CHAR_TO_BYTE_SAFE): New macro.
4466 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
4467 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
4468 (WEAK_ALIAS): Simplify.
4469 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
4470 when searching a unibyte buffer.
4471
44722008-06-12 Chong Yidong <cyd@stupidchicken.com>
4473
4474 * xfns.c (Fx_select_font): Rename from x-font-dialog.
4475
44762008-06-12 Juanma Barranquero <lekktu@gmail.com>
4477
4478 * w32font.c: Include ctype.h.
4479
44802008-06-11 Jason Rumney <jasonr@gnu.org>
4481
4482 * w32font.c (w32font_encode_char): Detect missing glyphs that are
4483 misreported as space.
4484 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
4485 as aliases for registry iso10646-1.
4486
44872008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
4488
4489 * buffer.c (clone_per_buffer_values): Skip `name'.
4490
44912008-06-11 Chong Yidong <cyd@stupidchicken.com>
4492
4493 * font.c (font_parse_fcname): Fix last change; accept decimal
4494 points in font size.
4495
44962008-06-10 Jason Rumney <jasonr@gnu.org>
4497
4498 * w32uniscribe.c (add_opentype_font_name_to_list):
4499 Skip non unicode fonts.
4500
45012008-06-10 Chong Yidong <cyd@stupidchicken.com>
4502
4503 * xfns.c (Fx_font_dialog): New function.
4504
4505 * gtkutil.c (xg_dialog_response_cb): Rename from
4506 xg_file_response_callback.
4507 (pop_down_dialog): Rename from pop_down_file_dialog.
4508 (xg_get_file_name): Callers changed.
4509 (xg_get_font_name): New function.
4510
4511 * gtkutil.h (xg_get_font_name): Insert prototype.
4512
45132008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
4514
4515 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
4516 x_underline_minimum_display_offset.
4517 (syms_of_xdisp): Declare it here rather than in xterm.c.
4518 * dispextern.h (underline_minimum_offset): Declare it.
4519 * w32term.c (x_draw_glyph_string): Use it.
4520 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
4521 (syms_of_xterm): Don't declare it any more.
4522 (x_draw_glyph_string): Adjust to the new name.
4523
45242008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
4525
4526 * xterm.c (x_underline_minimum_display_offset): New var.
4527 (x_draw_glyph_string): Use it.
4528 (syms_of_xterm): Declare it.
4529
45302008-06-10 Chong Yidong <cyd@stupidchicken.com>
4531
4532 * font.c (font_parse_fcname): Accept GTK-style font names too.
4533
45342008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
4535
4536 * dired.c (file_name_completion): Don't return t if the match is exact
4537 but with different capitalization.
4538 * minibuf.c (Ftry_completion): Simplify.
4539
4540 * window.c (Vwindow_point_insertion_type): New var.
4541 (set_window_buffer): Use it.
4542 (syms_of_window): Init and export it to Lisp.
4543
45442008-06-10 Kenichi Handa <handa@m17n.org>
4545
4546 * font.h (font_intern_prop): Prototype adjusted.
4547
4548 * font.c (font_intern_prop): New arg force_symbol.
4549 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
4550 Adjust for the change of font_intern_prop.
4551
4552 * ftfont.c (ftfont_pattern_entity):
4553 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
4554 (w32_registry):
4555 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
4556 the change of font_intern_prop.
4557
45582008-06-09 Juanma Barranquero <lekktu@gmail.com>
4559
4560 * w32menu.c (digest_single_submenu): Declare extern.
4561
45622008-06-09 Jason Rumney <jasonr@gnu.org>
4563
4564 * w32term.c (x_make_frame_visible): Use alternate restore flags.
4565
4566 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
4567 (parse_single_submenu): Remove.
4568 (digest_single_submenu): Remove.
4569 (syms_of_w32menu): Don't initialise variables that have moved
4570 to menu.c.
4571 (set_frame_menubar): Sync with version in xmenu.c.
4572 (w32_menu_show): Sync with xmenu_show in xmenu.c.
4573
4574 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
4575 Make static again.
4576
45772008-06-09 Jason Rumney <jasonr@gnu.org>
4578
4579 Changes to w32 files related to the move of common menu code
4580 to menu.c on 2008-06-08 by Chong Yidong.
4581
4582 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
4583 defs to w32gui.h.
4584 (single_keymap_panes, push_menu_item, push_menu_pane):
4585 Make globally visible.
4586
4587 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
4588 (local_free, malloc_widget_value, free_widget_value)
4589 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
4590 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
4591 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
4592 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
4593 (menu_items, menu_items_allocated, menu_items_used)
4594 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
4595 (init_menu_items, finish_menu_items, discard_menu_items)
4596 (grow_menu_items, push_submenu_start, push_submenu_end)
4597 (push_left_right_boundary, push_menu_pane, push_menu_item)
4598 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
4599 (free_menubar_widget_tree_value, parse_single_submenu)
4600 (update_submenu_strings): Remove functions.
4601 (xmalloc_widget_value): Remove and declare extern.
4602
4603 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
4604 (OBJ1): Build it.
4605
4606 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
4607 (local_heap, local_alloc, local_free, malloc_widget_value)
4608 (free_widget_value): Define here.
4609
46102008-06-09 Kenichi Handa <handa@m17n.org>
4611
4612 * font.h (Qascii_0): Extern it.
4613
4614 * font.c (Qascii_0): New variable.
4615 (syms_of_font): DEFSYM it.
4616 (font_open_by_name): If the registry "iso8859-1" fails, try also
4617 "ascii-0".
4618
4619 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
4620
46212008-06-08 Kenichi Handa <handa@m17n.org>
4622
4623 * .gdbinit (xfont): New command.
4624
46252008-06-08 Andreas Schwab <schwab@suse.de>
4626
4627 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
4628 * Makefile.in (menu.o): Update dependencies.
4629
4630 * Makefile.in (obj): Always add menu.o.
4631 * emacs.c (main): Always call syms_of_menu.
4632 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
4633
46342008-06-08 Chong Yidong <cyd@stupidchicken.com>
4635
4636 * Makefile.in: Compile menu.c.
4637
4638 * lisp.h: Declare syms_of_menu.
4639
4640 * emacs.c (main): Call syms_of_menu.
4641
4642 * keyboard.h: Relocate platform-independent menu definitions from
4643 xmenu.c.
4644
4645 * menu.c: New file. Relocate platform-independent menu
4646 definitions from xmenu.c. Suggested by Adrian Robert.
4647
4648 * xmenu.c: Remove platform-independent menu definitions.
4649 (menu_items menu_items_inuse, menu_items_allocated)
4650 (menu_items_used, menu_items_n_panes)
4651 (menu_items_submenu_depth): Move to keyboard.h.
4652 (init_menu_items, finish_menu_items, unuse_menu_items)
4653 (discard_menu_items, restore_menu_items, save_menu_items)
4654 (grow_menu_items, push_submenu_start, push_submenu_end)
4655 (push_left_right_boundary, push_menu_pane, push_menu_item)
4656 (keymap_panes, single_keymap_panes, single_menu_item)
4657 (list_of_panes, list_of_items, find_and_call_menu_selection)
4658 (xmalloc_widget_value, free_menubar_widget_value_tree)
4659 (parse_single_submenu, digest_single_submenu)
4660 (update_submenu_strings): Move to menu.c.
4661
46622008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
4663
4664 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
4665
46662008-06-06 Miles Bader <miles@gnu.org>
4667
4668 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
4669 face, not frame default.
4670
46712008-06-05 Martin Rudalics <rudalics@gmx.at>
4672
4673 * window.c (pop_up_windows, pop_up_frames)
4674 (display_buffer_reuse_frames, Vpop_up_frame_function)
4675 (Vdisplay_buffer_function, Veven_window_heights)
4676 (Vspecial_display_buffer_names, Vspecial_display_regexps)
4677 (Vspecial_display_function, Vsame_window_buffer_names)
4678 (Vsame_window_regexps, split_height_threshold)
4679 (Vsplit_window_preferred_function): Move those vars to window.el.
4680 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
4681 (Fdisplay_buffer): Move those functions to window.el.
4682 (syms_of_window): Remove corresponding declarations.
4683 (display_buffer): New function.
4684 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
4685 * dispnew.c (Flast_nonminibuf_frame): New function.
4686 * buffer.c (Fpop_to_buffer): Move to window.el.
4687
46882008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
4689
4690 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
4691
46922008-06-05 Kenichi Handa <handa@m17n.org>
4693
4694 * coding.c (detect_coding): Fix previous change.
4695 (detect_coding_system): Likewise.
4696
46972008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
4698
4699 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
4700
4701 * keymap.c (Vminibuffer_local_filename_must_match_map):
4702 Rename from Vminibuffer_local_must_match_filename_map.
4703 (syms_of_keymap):
4704 * minibuf.c (Fcompleting_read): Adjust accordingly.
4705 * commands.h: Rename declaration as well.
4706
47072008-06-05 Kenichi Handa <handa@m17n.org>
4708
4709 * font.c (Ffont_spec): Don't use font_parse_family_registry for
4710 family name.
4711 (Ffont_put): Likewise.
4712
4713 * fontset.c (fontset_find_font): Call font_open_for_lface with the
4714 current font-spec.
4715
4716 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
4717 is unspecified.
4718
4719 * xfaces.c (realize_x_face): If the font-related face attributes
4720 are the same as those of default face, realize a new fontset from
4721 default->fontset.
4722 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
4723
47242008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
4725
4726 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
4727 (move_it_in_display_line): New wrapper.
4728
4729 * window.c (window_scroll_pixel_based_preserve_x)
4730 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
4731 (window_scroll_pixel_based, window_scroll_line_based):
4732 Use them to preserve column positions.
4733 (syms_of_window): Initialize them.
4734
4735 * indent.c (Fvertical_motion): Extend first arg to allow passing an
4736 (HPOS . VPOS) pair.
4737
4738 * dispextern.h (move_it_in_display_line): Declare.
4739
47402008-06-05 Juanma Barranquero <lekktu@gmail.com>
4741
4742 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
4743 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
4744 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
4745
47462008-06-04 Juanma Barranquero <lekktu@gmail.com>
4747
4748 * window.c (Fset_window_parameter): Doc fix.
4749 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
4750
47512008-06-04 Joakim Verona <joakim@verona.se>
4752
4753 * window.h (struct window): Add new member window_parameters.
4754
4755 * window.c (Fwindow_parameters, Fwindow_parameter)
4756 (Fset_window_parameter): New defuns.
4757 (syms_of_window): Defsubr the new defuns.
4758 (make_window): Initialize window_parameters to nil.
4759
47602008-06-04 John Paul Wallington <jpw@pobox.com>
4761
4762 * eval.c (Fdefmacro): Doc fix.
4763
47642008-06-04 Kenichi Handa <handa@m17n.org>
4765
4766 * coding.c (detect_coding): Fix handling of coding->head_ascii.
4767 Be sure to call setup_coding_system when we find a proper coding system.
4768 (detect_coding_system): Fix handling of coding->head_ascii.
4769
47702008-06-03 Andreas Schwab <schwab@suse.de>
4771
4772 * font.c (font_prop_validate_spacing): Fix last change.
4773
47742008-06-03 Kenichi Handa <handa@m17n.org>
4775
4776 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
4777 (font_parse_fcname): Fix handling of unknown key.
4778
4779 * xfont.c (xfont_list): Try an alias.
4780
4781 * charset.c (char_charset): Return NULL if the arg charset_list is
4782 specified and C doesn't belong to any of them.
4783
47842008-06-02 Chip Coldwell <coldwell@redhat.com>
4785
4786 * font.c (font_pixel_size): Don't take cdr of an integer.
4787
47882008-06-02 Jim Meyering <meyering@redhat.com>
4789
4790 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
4791 * alloc.c (xfree): Return right away for a NULL arg.
4792 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
4793 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
4794 * mac.c (create_apple_event_from_event_ref): Likewise.
4795 (create_apple_event_from_drag_ref, cfstring_create_normalized):
4796 Likewise.
4797 * doprnt.c (doprnt1): Likewise.
4798 * frame.c (frame): Likewise.
4799 * keyboard.c (wipe_kboard): Likewise.
4800 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
4801 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
4802 * term.c (tty_default_color_capabilities, maybe_fatal)
4803 (delete_tty): Likewise.
4804 * w16select.c (string): Likewise.
4805 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
4806 * w32bdf.c (w32_free_bdf_font): Likewise.
4807 * w32fns.c (w32_unload_font): Likewise.
4808 * w32font.c (w32font_close): Likewise.
4809 * window.c (size_window): Likewise.
4810 * xselect.c (receive_incremental_selection): Likewise.
4811 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
4812 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
4813 * w32.c (stat): Likewise.
4814
4815 Remove useless if-before-free tests.
4816 * editfns.c (Fset_time_zone_rule): Likewise.
4817 * lread.c (nosuffix): Likewise.
4818 * ralloc.c (get_bloc): Likewise.
4819 * regex.c (reg_free): Likewise.
4820 * xftfont.c (xftfont_open, xftfont_close): Likewise.
4821 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
4822 * xsmfns.c (smc_save_yourself_CB): Likewise.
4823
48242008-06-02 Kenichi Handa <handa@m17n.org>
4825
4826 * font.c (font_find_for_lface): Handle float font size.
4827 (font_open_for_lface): Likewise.
4828
4829 * xfaces.c (x_supports_face_attributes_p): Check face->font before
4830 comparing the properties.
4831
48322008-06-01 Jason Rumney <jasonr@gnu.org>
4833
4834 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
4835 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
4836 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
4837 Don't add empty script list.
4838 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
4839
48402008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
4841
4842 * Makefile.in (dot, dotdot): Remove, update users.
4843 ".." has been used elsewhere in the file for a long time.
4844 (LIBXT_STATIC): Remove conditional based on unused variable.
4845
48462008-06-01 Miles Bader <miles@gnu.org>
4847
4848 * xfaces.c (Vface_remapping_alist): New variable.
4849 (syms_of_xfaces): Initialize it.
4850 (enum named_merge_point_kind): New type.
4851 (struct named_merge_point): Add `named_merge_point_kind' field.
4852 (push_named_merge_point): Make cycle detection respect different
4853 named-merge-point kinds.
4854 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
4855 Remove face-name alias resolution.
4856 (lface_from_face_name): New definition using
4857 `lface_from_face_name_no_resolve'.
4858 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
4859 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
4860 (get_lface_attributes): New definition that layers face-remapping on
4861 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
4862 (lookup_basic_face): New function.
4863 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
4864 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
4865 `get_lface_attributes'.
4866 (face_at_buffer_position): Use `lookup_basic_face' to lookup
4867 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
4868 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
4869
4870 * xdisp.c (init_iterator): Pass base_face_id through
4871 `lookup_basic_face' when we actually use it as a face-id.
4872 (handle_single_display_prop): Use `lookup_basic_face' to lookup
4873 DEFAULT_FACE_ID.
4874
4875 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
4876 lookup the initial face-id.
4877
4878 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
4879
48802008-06-01 Juanma Barranquero <lekktu@gmail.com>
4881
4882 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
4883 (Fremove_text_properties): Fix typos in docstrings.
4884
48852008-05-31 Kenichi Handa <handa@m17n.org>
4886
4887 * font.c (font_list_entities): Fix the car part of data to be
4888 stored in the cache.
4889
4890 * ftfont.c (ftfont_font_format): Don't use strcasestr.
4891
48922008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
4893
4894 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
4895 Add a `test' argument so another predicate than `equal' can be used.
4896 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
4897 (map_char_table): Remove unused vars `c' and `i'.
4898 * lisp.h (Foptimize_char_table): Adjust declaration.
4899 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
4900
49012008-05-30 Kenichi Handa <handa@m17n.org>
4902
4903 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
4904 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
4905 defined.
4906
49072008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
4908
4909 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
4910 (Fmake_variable_frame_local): Disallow mixing buffer-local and
4911 frame-local settings for the same variable.
4912
49132008-05-30 Kenichi Handa <handa@m17n.org>
4914
4915 * fontset.c (Ffont_info): Move to font.c.
4916 (syms_of_fontset): Delete defsubr of Sfont_info.
4917
4918 * font.c (font_style_to_value, font_score): Delete casting of the
4919 args to xstcasecmp.
4920 (register_font_driver): Increment num_font_drivers only when
4921 registering the driver globally.
4922 (Ffont_info): Move from fontset.c. Handle a font object too.
4923 (syms_of_font): Defsubr Sfont_info.
4924
49252008-05-29 Kenichi Handa <handa@m17n.org>
4926
4927 * coding.h (enum define_coding_utf8_arg_index): New enum.
4928 (enum coding_attr_index): Change coding_attr_utf_16_bom to
4929 coding_attr_utf_bom.
4930 (enum utf_bom_type): Rename from utf_16_bom_type.
4931 (struct utf_16_spec): Adjust for the above change.
4932 (struct coding_system): Add utf_8_bom in `spec' union.
4933
4934 * coding.c (CODING_UTF_8_BOM): New macro.
4935 (enum coding_category): Delete coding_category_utf_8, add
4936 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
4937 coding_category_utf_8_sig.
4938 (CATEGORY_MASK_UTF_8): Delete it.
4939 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
4940 (CATEGORY_MASK_UTF_8_SIG): New macros.
4941 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
4942 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
4943 CATEGORY_MASK_UTF_8_SIG.
4944 (CATEGORY_MASK_UTF_8): New macro.
4945 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
4946 (detect_coding_utf_8): Check BOM.
4947 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
4948 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
4949 (encode_coding_utf_16): Likewise.
4950 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
4951 (detect_coding, detect_coding_system): Handle utf-8-auto.
4952 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
4953 (syms_of_coding): Fix setting up of Vcoding_category_table.
4954
49552008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
4956
4957 * process.c (Faccept_process_output): If `millisec' is non-nil,
4958 `seconds' default to 0.
4959 (wait_reading_process_output): Also return non-nil if we read output
4960 from a non-running process.
4961
49622008-05-29 Jason Rumney <jasonr@gnu.org>
4963
4964 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
4965 `raster' specified.
4966 (add_font_entity_to_list): Allow non-opentype truetype fonts back
4967 in the uniscribe backend, but disallow any font that has no
4968 unicode subrange support.
4969
49702008-05-29 Juanma Barranquero <lekktu@gmail.com>
4971
4972 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
4973 Fix typos in docstrings.
4974
49752008-05-29 Kenichi Handa <handa@m17n.org>
4976
4977 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
4978 (Fx_family_fonts): Set frame correctly.
4979
49802008-05-28 Jason Rumney <jasonr@gnu.org>
4981
4982 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
4983
49842008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
4985
4986 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
4987 calling build_annotations.
4988
49892008-05-28 Juanma Barranquero <lekktu@gmail.com>
4990
4991 * coding.c (Fdecode_coding_region, Fencode_coding_region)
4992 (Fencode_coding_string):
4993 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
4994 <latin-extra-code-table>: Fix typos in docstrings.
4995 (syms_of_coding) <coding-system-alist>: Doc fix.
4996 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
4997
49982008-05-28 Kenichi Handa <handa@m17n.org>
4999
5000 * fontset.c (Ffont_info): Don't call font_close_object.
5001
5002 * font.c (font_parse_family_registry): Use Ffont_put to validate
5003 foundry and family.
5004 (font_delete_unmatched): Don't check spacing.
5005 (font_list_entities): Add spacing to the spec to list fonts.
5006
5007 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
5008 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
5009
5010 * coding.c (encode_coding_raw_text): Fix previous change.
5011 (encode_coding_object): When the dst_object is a buffer and is
5012 different from src_object, move gap to PT.
5013
50142008-05-27 Chong Yidong <cyd@stupidchicken.com>
5015
5016 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
5017
50182008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
5019
5020 * coding.c (encode_coding_raw_text): Set coding->produced_char for
5021 all branches. Compute it differently.
5022
5023 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
5024
50252008-05-27 Juanma Barranquero <lekktu@gmail.com>
5026
5027 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
5028 into "else if () ... else ...".
5029
50302008-05-27 Jason Rumney <jasonr@gnu.org>
5031
5032 * w32font.c (w32font_open_internal): Determine if glyph indices
5033 are likely to work here.
5034
50352008-05-27 Chong Yidong <cyd@stupidchicken.com>
5036
5037 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
5038 draw overlap glyphs with appropriate highlighting.
5039
50402008-05-27 Kenichi Handa <handa@m17n.org>
5041
5042 * xfont.c (xfont_open): Fix calculation of font->average_width.
5043
50442008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
5045
5046 * casefiddle.c (casify_object): Try to guess better whether the
5047 argument is a byte or a char.
5048
50492008-05-26 Andreas Schwab <schwab@suse.de>
5050
5051 * xselect.c (x_reply_selection_request): Properly handle format == 32.
5052 Always send multiples of format size.
5053
5054 * xterm.c (x_set_frame_alpha): Fix type mismatch.
5055
50562008-05-26 Jason Rumney <jasonr@gnu.org>
5057
5058 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
5059 (compute_metrics): Don't set failure if we just cleared the cache.
5060 (w32_weight_table): Remove unused variable.
5061 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
5062 backwards compatibility.
5063
50642008-05-25 Kenichi Handa <handa@m17n.org>
5065
5066 * w32term.c (x_draw_glyph_string):
5067 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
5068
5069 * xfaces.c: Delete unused function prototypes.
5070 (xstrlwr, font_frame): Delete them.
5071 (clear_face_cache): Delete unused variable.
5072
5073 * xftfont.c (xftfont_open): Delete unused variable.
5074 If underline_thickness is not 1, adjust underline_position.
5075
5076 * ftxfont.c (ftxfont_open): Delete unused variable.
5077
5078 * fontset.c (face_for_char): Optimize for the case of no charset
5079 property.
5080
5081 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
5082 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
5083 (otf_open, font_otf_capability, generate_otf_features)
5084 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
5085 Comment out by surrounding "#if 0" and "#endif" for the moment.
5086 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
5087 (syms_of_font): Codes for accessing above commented out.
5088
50892008-05-24 Eli Zaretskii <eliz@gnu.org>
5090
5091 * w32proc.c: Include dispextern.h.
5092
5093 * w32.c: Include dispextern.h.
5094
50952008-05-23 Juanma Barranquero <lekktu@gmail.com>
5096
5097 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
5098 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
5099 Fix typos in docstrings.
5100
51012008-05-23 Jason Rumney <jasonr@gnu.org>
5102
5103 * xsmfns.c: Remove includes that are already included by config.h.
5104
51052008-05-23 Kenichi Handa <handa@m17n.org>
5106
5107 * charset.c (Qemacs, charset_emacs): New variables.
5108 (char_charset): Fix for non-Unicode characters.
5109 (syms_of_charset): Define charset_emacs.
5110
5111 * w32term.c (x_draw_glyph_string): Be sure to update
5112 s->underline_thickness and s->underline_position. Be sure to draw
5113 underline within the current line area.
5114
5115 * xterm.c (x_draw_glyph_string): Be sure to update
5116 s->underline_thickness and s->underline_position. Be sure to draw
5117 underline within the current line area.
5118
5119 * fontset.c: Delete unused variables and add casting for char *
5120 throughout the file.
5121 (fontset_font): Try the fallback fonts of the current fontset
5122 before consulting the default fontset.
5123
5124 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
5125
5126 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
5127
51282008-05-22 Jason Rumney <jasonr@gnu.org>
5129
5130 * font.c: Don't include strings.h.
5131
5132 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
5133
5134 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
5135 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
5136 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
5137 to call xstrcasecmp.
5138
5139 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
5140
5141 * fontset.c (fs_query_fontset): Use xstrcasecmp.
5142
5143 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
5144
5145 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
5146
51472008-05-22 Kenichi Handa <handa@m17n.org>
5148
5149 * puresize.h (BASE_PURESIZE): Increase to 1220000.
5150
5151 * font.c (font_prop_validate_style): Adjust for the format
5152 change of font_style_table.
5153
5154 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
5155 two args.
5156
5157 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
5158 two args.
5159
51602008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
5161
5162 * minibuf.c (keys_of_minibuf): Delete.
5163 * lisp.h (keys_of_minibuf): Delete.
5164 * emacs.c (main): Don't call keys_of_minibuf.
5165
51662008-05-22 Kenichi Handa <handa@m17n.org>
5167
5168 * ftfont.c (ftfont_resolve_generic_family): Rename from
5169 ftfont_list_generic_family. Return a single family for each
5170 generic family.
5171 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
5172 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
5173 Call font_add_log.
5174 (ftfont_match): Call font_add_log.
5175
5176 * font.h (Ffont_xlfd_name): EXFUN adjusted.
5177 (FONT_DEBUG): Define it.
5178 (font_add_log): Extern it.
5179 (font_assert): Rename from xassert.
5180
5181 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
5182 (xfont_list_family): Call font_add_log.
5183 (xfont_match): Likewise.
5184 (memq_no_quit): Delete.
5185
5186 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
5187 call of Ffont_xlfd_name.
5188
5189 * xfaces.c (struct table_entry, slant_table, weight_table)
5190 (swidth_table): Move to font.c.
5191
5192 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
5193 xassert are changed to font_assert. Delete many unused variables.
5194 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
5195 New variables.
5196 (struct table_entry): Move from xfaces.c and modified.
5197 (weight_table, slant_table, width_table): Move from xfaces.c and
5198 contents adjusted for the change of struct table_entry.
5199 (font_style_to_value, font_style_symbolic): Adjust for the
5200 format change of font_style_table.
5201 (font_parse_family_registry): Don't overwrite existing foundry and
5202 family of font_spec.
5203 (font_score): Fix calculation of diff for sizes.
5204 (font_sort_entites): Call font_add_log.
5205 (font_delete_unmatched): Return a newly created list.
5206 (font_list_entities): Fix previous change. Call font_add_log.
5207 (font_matching_entity, font_open_entity, font_close_entity):
5208 Call font_add_log.
5209 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
5210 (Finternal_set_font_style_table): Delete.
5211 (BUILD_STYLE_TABLE): New macro.
5212 (build_style_table): New function.
5213 (Vfont_log, font_log_env_checked): New variables.
5214 (font_add_log): New function.
5215 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
5216 Declare Lisp variables "font-weight-table", "font-slant-table",
5217 "font-width-table", and "font-log". Initialize font_style_table.
5218
52192008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
5220
5221 * xterm.c (x_set_frame_alpha): Move declarations before statements.
5222
52232008-05-21 Seiji Zenitani <zenitani@mac.com>
5224 Ryo Yoshitake <ryo@shiftmode.net>
5225
5226 * frame.c (Qalpha): Add a new frame parameter `alpha'.
5227 (Vframe_alpha_lower_limit): New variable.
5228 (x_set_alpha): New function.
5229
5230 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
5231
5232 * xfns.c (x-create-frame, Qalpha):
5233 Initialize the frame parameter `alpha'.
5234 * xterm.c (OPAQUE, OPACITY): New.
5235 (x_set_frame_alpha): New function.
5236 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
5237
5238 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
5239 * w32fns.c (w32_frame_parm_handlers): Likewise.
5240
52412008-05-20 Jason Rumney <jasonr@gnu.org>
5242
5243 * w32font.c (add_font_entity_to_list): Don't add non-opentype
5244 truetype fonts to opentype list.
5245
52462008-05-20 Juanma Barranquero <lekktu@gmail.com>
5247
5248 * fontset.c (Ffontset_info): Doc fix.
5249 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
5250 <ignore-relative-composition>: Fix typos in docstrings.
5251
5252 * font.c (syms-of-font) <font-encoding-alist>:
5253 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
5254 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
5255 (Ffont_otf_alternates): Doc fixes.
5256
52572008-05-20 Kenichi Handa <handa@m17n.org>
5258
5259 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
5260 font.h through out the file.
5261 (FONT_DRIVERS): Rename from FONTOBJ.
5262 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
5263 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
5264
5265 * emacs.c (main): Call syms_of_font unconditionally.
5266
5267 * font.h (find_font_encoding): Extern it.
5268
5269 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
5270 fontset.c.
5271 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
5272 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
5273 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
5274 only when HAVE_WINDOW_SYSTEM is defined.
5275 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
5276 when HAVE_WINDOW_SYSTEM is defined.
5277
5278 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
5279 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
5280
5281 * xfaces.c: Include font.h unconditionally.
5282 (merge_face_ref, merge_face_vectors)
5283 (Finternal_set_lisp_face_attribute): Cancel the previous change.
5284
52852008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
5286
5287 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
5288 indirect_variable.
5289 * eval.c (lisp_indirect_variable): New fun.
5290 (Fuser_variable_p): Use it.
5291
52922008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
5293
5294 * lisp.h (indirect_variable):
5295 * data.c (indirect_variable, let_shadows_buffer_binding_p):
5296 Use Lisp_Symbol pointers rather than Lisp_Object.
5297 Adjust callers.
5298 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
5299 To this end, change calling-convention.
5300
5301 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
5302 if some non-hidden buffers are selected by string&pred.
5303
53042008-05-19 Chong Yidong <cyd@stupidchicken.com>
5305
5306 * process.c (wait_reading_process_output): Always check status
5307 when in batch mode.
5308
53092008-05-19 Kenichi Handa <handa@m17n.org>
5310
5311 * font.c (font_list_entities): Fix handling of cache.
5312 (font_matching_entity): Likewise.
5313
5314 * ftfont.c (cs_iso8859_1): Delete.
5315 (ft_face_cache): New variable.
5316 (struct ftfont_info): New member fc_charset_idx.
5317 (ftfont_build_basic_charsets): Delete.
5318 (fc_charset_table): New variable.
5319 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
5320 . FC_CHARSET_IDX) as :font-entity property in the font entity.
5321 Callers changed.
5322 (ftfont_lookup_cache, ftfont_get_charset): New functions.
5323 (ftfont_spec_pattern): New argument fc_charset_idx.
5324 Check registry more rigidly. Change callers.
5325 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
5326 change of :font-entity property of the font.
5327
5328 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
5329 property of the font.
5330
53312008-05-18 Juanma Barranquero <lekktu@gmail.com>
5332
5333 * coding.c (Fcoding_system_p): Rename argument to match docstring.
5334 (Funencodable_char_position, Fcheck_coding_systems_region)
5335 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
5336 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
5337 (Ffind_operation_coding_system, Fset_coding_system_priority)
5338 (Fcoding_system_eol_type): Doc fixes.
5339
53402008-05-17 Glenn Morris <rgm@gnu.org>
5341
5342 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
5343
53442008-05-16 Eli Zaretskii <eliz@gnu.org>
5345
5346 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
5347 and st_gid.
5348
5349 * frame.c (Fdelete_frame): Don't call font_update_drivers if
5350 HAVE_WINDOW_SYSTEM is not defined.
5351
5352 * xfaces.c (merge_face_ref, merge_face_vectors)
5353 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
5354 HAVE_WINDOW_SYSTEM is defined.
5355 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
5356
53572008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
5358
5359 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
5360
53612008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5362
5363 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
5364
53652008-05-15 Kenichi Handa <handa@m17n.org>
5366
5367 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
5368 preference.
5369
53702008-05-15 Glenn Morris <rgm@gnu.org>
5371
5372 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
5373
53742008-05-15 Chong Yidong <cyd@stupidchicken.com>
5375
5376 * fns.c (init_fns): Don't initialize weak_hash_tables here.
5377 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
5378
5379 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
5380
53812008-05-15 Kenichi Handa <handa@m17n.org>
5382
5383 * ftfont.c (ftfont_list): Downcase family name to check generic
5384 families.
5385
5386 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
5387 font-spec for QCfont value.
5388
5389 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
5390 buffer. Check the return value of it.
5391
53922008-05-14 Jason Rumney <jasonr@gnu.org>
5393
5394 * w32term.c (w32_get_glyph_overhangs): Remove.
5395 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
5396
53972008-05-14 Kenichi Handa <handa@m17n.org>
5398
5399 * font.c (font_prop_validate): Make nil a valid value.
5400 (font_clear_cache): Check if the cached vector of entities is nil
5401 or not.
5402
54032008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5404
5405 * emacs.c (main_thread): Conditionalize on
5406 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
5407 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
5408
5409 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
5410 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
5411 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
5412
54132008-05-14 Kenichi Handa <handa@m17n.org>
5414
5415 * coding.c (detect_coding_iso_2022): Ignore a coding category that
5416 has no corresponding coding system.
5417
54182008-05-14 Jason Rumney <jasonr@gnu.org>
5419
5420 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
5421
5422 * w32font.h (w32font_open_internal): Update declaration.
5423
5424 * w32font.c (w32font_open_internal): Change last argument from
5425 w32font_info struct to font object. Fill in font object from
5426 font_entity. Get Outline metrics if possible. Use them to
5427 calculate underline position and thickness. Use xlfd name as name
5428 property. Don't set codepage.
5429 (w32font_open): Pass font_object to w32font_open_internal. Don't
5430 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
5431 (w32font_draw): Use s->font.
5432 (clear_cached_metrics): Don't clear non-existent blocks.
5433
5434 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
5435 font was not found.
5436 (x_draw_glyph_string): Use underline position and thickness from font.
5437
5438 * w32uniscribe.c (uniscribe_open): Pass font_object to
5439 w32font_open_internal.
5440
54412008-05-14 Kenichi Handa <handa@m17n.org>
5442
5443 These changes are to delete all legacy font-handling codes, and
5444 make Emacs use only font-backends.
5445
5446 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
5447 (frame.o, image.o, print.o): Depend on $(FONTSRC).
5448
5449 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
5450
5451 * charset.h (Vcharset_non_preferred_head)
5452 (Vcurrent_iso639_language): Extern them.
5453
5454 * charset.c (Vcharset_non_preferred_head): New variable.
5455 (Vcurrent_iso639_language): New variable.
5456 (syms_of_charset): Declare it as a Lisp variable.
5457 (char_charset): Don't check non preferred charsets. As a last
5458 resort, return charset_unicode.
5459 (Fset_charset_priority): Update Vcharset_non_preferred_head.
5460
5461 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
5462 conditionals. Don't check enable_font_backend. Delete all codes
5463 used only when USE_FONT_BACKEND is not defined.
5464
5465 * dispextern.h (struct glyph_string): Change type of `font' to
5466 `struct font *'.
5467 (struct glyph_string): New member underline_position and
5468 underline_thickness.
5469 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
5470 (struct face): Change type of `font' to `struct font *'. Remove
5471 members `font_name', `font_info_id'.
5472 (per_char_metric, encode_char): Delete externs.
5473 (calc_pixel_width_or_height): Adjust the prototype.
5474
5475 * emacs.c (enable_font_backend): Delete extern.
5476 (main): Don't set enable_font_backend. Don't check the command
5477 line argument "-disable-font-backend".
5478
5479 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
5480 (enum font_property_index): New members FONT_DPI_INDEX,
5481 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
5482 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
5483 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
5484 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
5485 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
5486 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
5487 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
5488 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
5489 (struct font_spec, struct font_entity): New structs.
5490 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
5491 (struct font): Many members from old "struct font_info" moved to
5492 here. Members font and entity deleted.
5493 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
5494 the new font-related objects.
5495 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
5496 (CHECK_FONT_GET_OBJECT): Likewise.
5497 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
5498 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
5499 (struct font_driver): New members case_sensitive anc check. Type
5500 of the member list and open changed.
5501 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
5502 (font_symbolic_width, font_find_object, font_get_spec)
5503 (font_set_lface_from_name): Delete extern.
5504 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
5505
5506 * font.c: Include <strings.h>.
5507 (enable_font_backend): Delete it.
5508 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
5509 (CHECK_VALIDATE_FONT_SPEC): Delete it.
5510 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
5511 (null_string): Delete it.
5512 (null_vector): Make it static.
5513 (font_family_alist): Delete it.
5514 (Qnormal): Extern it.
5515 (QCextra, QClanguage): Delete it.
5516 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
5517 (font_make_spec, font_make_entity, font_make_object)
5518 (font_intern_prop): Renamed from intern_downcase. Don't downcase
5519 the string. Callers changed.
5520 (font_pixel_size): Adjusted for the format change of font-related
5521 objects.
5522 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
5523 (font_style_to_value, font_style_symbolic): New function.
5524 (build_font_family_alist): Delete it.
5525 (font_registry_charsets): Use Fassoc_string instead of
5526 assq_no_quit.
5527 (font_prop_validate_symbol): Don't return null_string.
5528 (font_prop_validate_style): Adjusted for the change of
5529 style-related values in a font vector.
5530 (font_property_table): Delete entries for QClanguage and
5531 QCantialias, add entries for QCavgwidth.
5532 (get_font_prop_index): Delete the 2nd argument FROM.
5533 (font_prop_validate): Arguments changed.
5534 (font_put_extra): Adjusted for the change of font-related objects.
5535 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
5536 (font_parse_fcname, font_unparse_fcname)
5537 (font_prepare_composition): Likewise.
5538 (font_parse_family_registry): Renamed from font_merge_old_spec.
5539 (otf_open): Delete the 1st arg entity.
5540 (font_otf_capability): Adjusted for the above change.
5541 (font_score): New arg alternate_families. Adjusted for the change
5542 of font-related objects.
5543 (font_sort_entites): New arg best_only.
5544 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
5545 Delete them.
5546 (font_match_p): Check alternate families.
5547 (font_find_object): Delete it.
5548 (font_check_object): New function.
5549 (font_clear_cache): Adjusted for the change of font-related objects.
5550 (font_delete_unmatched): New arg.
5551 (font_list_entities): Call font_driver->list with a spec that
5552 doesn't specify style-related properties.
5553 (font_matching_entity): Arguments changed. Caller changed.
5554 (font_open_entity): Adjusted for the change of font-related objects.
5555 (font_close_object, font_has_char, font_encode_char)
5556 (font_get_name, font_get_spec): Likewise.
5557 (font_spec_from_name, font_clear_prop, font_update_lface):
5558 New functions.
5559 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
5560 (font_prepare_for_face, font_done_for_face, font_open_by_name)
5561 (font_at): Adjusted for the change of font-related objects.
5562 (font_range): New function.
5563 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
5564 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
5565 (Fcopy_font_spec, Fmerge_font_spec): New function.
5566 (Ffont_family_list): Renamed from list-families.
5567 (Finternal_set_font_style_table): Arguments changed.
5568 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
5569 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
5570 change of font-related objects.
5571 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
5572
5573 * fontset.h (struct font_info): Delete it. Most members go to
5574 struct font.
5575 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
5576 (enum FONT_SPEC_INDEX): Delete it.
5577 (font_info, list_fonts_func, load_font_func, query_font_func)
5578 (set_frame_fontset_func, find_ccl_program_func)
5579 (get_font_repertory_func, new_fontset_from_font_name): Delete
5580 externs.
5581 (fontset_from_font_name): Extern it.
5582 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
5583 (FONT_INFO_FROM_FACE): Deleted.
5584 (face_for_font): Adjust prototype.
5585
5586 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
5587 conditionals. Don't check enable_font_backend. Delete all codes
5588 used only when USE_FONT_BACKEND is not defined.
5589 (get_font_info_func, list_font_func, load_font_func)
5590 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
5591 (get_font_repertory_func): Delete them.
5592 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
5593 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
5594 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
5595 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
5596 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
5597 (fontset_compare_rfontdef): New function.
5598 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
5599 rfont-defs by qsort. Adjusted for the change of font-group vector.
5600 (load_font_get_repertory): Deleted.
5601 (fontset_find_font): Use new macros to ref/set elements of
5602 font-def and rfont-def.
5603 (fontset_font): Fix the timing of remembering that no font for C.
5604 (free_face_fontset): Do nothing if the face has no fontset.
5605 (face_suitable_for_char_p): Use new macros to ref/set elements of
5606 rfont-def.
5607 (face_for_char): Likewise. Call face_for_char with font_object.
5608 (fs_load_font): Delete. Delete #pragma surrounding it.
5609 (fs_query_fontset): Use strcasecmp instead of strcmp.
5610 (generate_ascii_font_name): Adjusted for the format change of
5611 font-spec.
5612 (Fset_fontset_font): Likewise. Use new macros to set elements of
5613 font-def.
5614 (Fnew_fontset): Use font_unparse_xlfd to generate
5615 FONTSET_ASCII (fontset).
5616 (new_fontset_from_font_name): Deleted.
5617 (fontset_from_font): Renamed from new_fontset_from_font. Check if
5618 a fontset is already created for the font. FIx updating of
5619 Vfontset_alias_alist.
5620 (fontset_ascii_font): Deleted.
5621 (Ffont_info): Adjusted for the format change of font-spec.
5622 (Finternal_char_font): Likewise.
5623 (Ffontset_info): Likewise.
5624 (syms_of_fontset): Don't check load_font_func.
5625
5626 * fns.c (internal_equal): Handle PREV_FONT.
5627
5628 * frame.h: Delete USE_FONT_BACKEND conditional.
5629
5630 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
5631 conditionals. Don't check enable_font_backend. Delete all codes
5632 used only when USE_FONT_BACKEND is not defined.
5633 (x_set_font): Call x_new_font, not x_new_fontset2.
5634 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
5635 already set for the frame.
5636
5637 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
5638 a font-entity by font_make_entity. Use font_intern_prop instead
5639 of intern_downcase. Use FONT_SET_STYLE to set a style-related
5640 font property. If a font is scalable, set avgwidth property to 0.
5641 Set font-entity property by font_put_extra.
5642 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
5643 (ffont_driver): Adjusted for the change of struct font_driver.
5644 (ftfont_spec_pattern): New function.
5645 (ftfont_list): Return a list, not vector.
5646 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
5647 (ftfont_list_family): Don't downcase names.
5648 (ftfont_free_entity): Deleted.
5649 (ftfont_open): Return a font-object. Adjusted for the change of
5650 struct font. Get underline_thickness and underline_position from
5651 font property. Don't update dpyinfo->smallest_font_height and
5652 dpyinfo->smallest_char_width.
5653 (ftfont_close): Don't free `struct font'.
5654 (ftfont_has_char): Adjusted for the format change of font-entity.
5655 (ftfont_encode_char, ftfont_text_extents): Likewise.
5656
5657 * ftxfont.c (ftxfont_list): Return a list, not vector.
5658 (ftxfont_open): Return a font-object. Adjusted for the change of
5659 struct font. Get underline_thickness and underline_position from
5660 font property. Don't update dpyinfo->smallest_font_height and
5661 dpyinfo->smallest_char_width.
5662 (ftxfont_close): Don't decrease FRAME_X_DISPLAY_INFO (f)->n_fonts.
5663 (ftxfont_draw): Adjusted for the change of struct font.
5664
5665 * image.c (image_ascent): Don't include "charset.h". Include
5666 "character.h" and "font.h".
5667
5668 * lisp.h (enum pvec_type): New member PREV_FONT.
5669 (Fassoc_string): EXFUN it.
5670
5671 * print.c: Include font.h.
5672 (print_object): Handle font-related objects.
5673
5674 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
5675 conditionals. Don't check enable_font_backend. Delete all codes
5676 used only when USE_FONT_BACKEND is not defined.
5677 (handle_auto_composed_prop): Do nothing if it->f is not on a
5678 window system. Check how many following characters can be
5679 displayed by the same font.
5680 (calc_pixel_width_or_height): Type of the 4th arg is changed to
5681 'struct font *'.
5682 (get_char_face_and_encoding): Assign the whole encoding task to
5683 the `encode-char' method of a font driver.
5684 (fill_composite_glyph_string): Adjusted for the change of `struct
5685 face' and `struct glyph_string'.
5686 (fill_glyph_string): Likewise.
5687 (get_per_char_metric): Arguments changed.
5688 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
5689 and `struct glyph_string'.
5690 (produce_stretch_glyph, calc_line_height_property)
5691 (x_produce_glyphs): Likewise.
5692
5693 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
5694 conditionals. Don't check enable_font_backend. Delete all codes
5695 used only when USE_FONT_BACKEND is not defined. Use
5696 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
5697 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
5698 (Qp): Extern them.
5699 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
5700 Deleted.
5701 (struct font_name): Deleted.
5702 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
5703 (compare_fonts_by_sort_order): New function.
5704 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
5705 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
5706 Deleted.
5707 (Fx_family_fonts): Use font_list_entities, and sort fonts by
5708 compare_fonts_by_sort_order.
5709 (Fx_font_family_list): Call Ffont_family_list.
5710 (face_numeric_value, face_numeric_weight, face_numeric_slant)
5711 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
5712 (face_symbolic_slant, face_symbolic_swidth)
5713 (split_font_name_into_vector, build_font_name_from_vector)
5714 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
5715 (font_rescale_ratio, split_font_name, build_font_name)
5716 (free_font_names, sort_fonts, x_face_list_fonts)
5717 (face_font_available_p, sorted_font_list, cmp_font_names)
5718 (font_list_1, concat_font_list, font_list, remove_duplicates):
5719 Deleted.
5720 (Fx_list_fonts): Use Ffont_list.
5721 (LFACE_AVGWIDTH): Deleted.
5722 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
5723 by FONTP.
5724 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
5725 (set_lface_from_font_name): Delete it.
5726 (set_lface_from_font): Renamed from
5727 set_lface_from_font_and_fontset. Caller changed. Don't set
5728 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
5729 for face.
5730 (merge_face_vectors): Copy font-spec if necessary.
5731 Clear properties of the font-spec if necessary.
5732 (merge_face_ref): Clear properties of the font-spec if necessary.
5733 (Finternal_set_lisp_face_attribute): Likewise.
5734 (set_font_frame_param): Use font_load_for_lface to load a
5735 font-object, and call Fmodify_frame_parameters with it.
5736 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
5737 font name by Ffont_xlfd_name.
5738 (Finternal_lisp_face_attribute_values): Don't check QCweight,
5739 QCslant, and QCwidth.
5740 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
5741 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
5742 Compare fonts by EQ.
5743 (lookup_non_ascii_face): Deleted.
5744 (face_for_font): The 2nd argument changed.
5745 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
5746 Check atomic font properties by case insensitive.
5747 (realize_non_ascii_face): Set face->overstrike correctly.
5748 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
5749 (dump_realized_face): Get font name from
5750 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
5751
5752 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
5753 conditionals. Don't check enable_font_backend. Delete all codes
5754 used only when USE_FONT_BACKEND is not defined.
5755 (xic_create_xfontset): Original code deleted and renamed from
5756 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
5757 (x_make_gc): Don't set GCFont in GCs.
5758 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
5759 opened by "fixed".
5760 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
5761 find_ccl_program_func, query_font_func, set_frame_fontset_func,
5762 get_font_repertory_func.
5763
5764 * xfont.c: Include <stdlib.h> and "ccl.h".
5765 (struct xfont_info): New structure.
5766 (xfont_query_font): Deleted.
5767 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
5768 moved from xterm.c.
5769 (xfont_driver): Adjusted for the change of struct font_driver.
5770 (compare_font_names): New function.
5771 (xfont_list_pattern): Sort font names case insensitively. Make
5772 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
5773 (xfont_list): Return a list, not vector.
5774 (xfont_match): If the font doesn't have QCname property, generate
5775 a name from the other font properties.
5776 (xfont_open): Return a font-object. Adjusted for the change of
5777 struct font. Get underline_thickness and underline_position from
5778 font property. Don't update dpyinfo->smallest_font_height and
5779 dpyinfo->smallest_char_width.
5780 (xfont_close): Don't free struct font.
5781 (xfont_prepare_face): Adjusted for the change of struct font.
5782 (xfont_done_face): Deleted.
5783 (xfont_has_char): Adjusted for the change of struct font.
5784 (xfont_encode_char, xfont_draw): Likewise.
5785 (xfont_check): New function.
5786
5787 * xftfont.c (xftfont_list): Adjusted for the change of `list'
5788 callback function.
5789 (xftfont_match): Adjusted for the format change of font-entity.
5790 (xftfont_open): Adjusted for the format change of font-entity and
5791 font-object. Adjusted for the change of struct font. Return a
5792 font-object. Don't update dpyinfo->smallest_font_height and
5793 dpyinfo->smallest_char_width.
5794 (xftfont_close): Block input while calling XftFontClose.
5795 (xftfont_prepare_face): Don't block input while calling
5796 xftfont_get_colors. Adjusted for the change of struct font.
5797 (xftfont_shape): Return value of error case fixed.
5798
5799 * xrdb.c (x_load_resources): Don't setup a fontset resource.
5800
5801 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
5802 conditionals.
5803 (FONT_WIDTH): Return (f)->max_width.
5804 (struct x_display_info): Delete member `font'.
5805 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
5806 (x_find_ccl_program, x_get_font_repertory): Delete externs.
5807 (struct x_output): Change type of `font' to `struct font *'.
5808
5809 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
5810 conditionals. Don't check enable_font_backend. Delete all codes
5811 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
5812 (x_per_char_metric, x_encode_char): Deleted.
5813 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
5814 (x_compute_glyph_string_overhangs): Adjusted for the change of
5815 `struct face'.
5816 (x_draw_glyph_string_foreground)
5817 (x_draw_composite_glyph_string_foreground): Likewise.
5818 (x_draw_glyph_string): Likewise. Use font->underline_position and
5819 font->underline_thickness.
5820 (x_new_font): Renamed from x_new_fontset2.
5821 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
5822 (x_check_font): Call `check' method of a font driver.
5823 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
5824 (x_query_font, x_get_font_repertory): Deleted.
5825 (x_find_ccl_program): Renamed and moved to xfont.c.
5826 (x_redisplay_interface): Adjusted for the change of `struct
5827 redisplay_interface'.
5828
5829 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
5830 conditionals. Don't check enable_font_backend. Delete all codes
5831 used only when USE_FONT_BACKEND is not defined. Surround non-used
5832 code by "#ifdef OLD_FONT" and "endif".
5833 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
5834
5835 * w32font.h (struct w32font_info): New member.
5836 (FONT_COMPAT): New macro.
5837 (w32font_open_internal): Prototype adjusted.
5838
5839 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
5840 OLD_FONT" and "endif".
5841
5842 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
5843 conditionals. Don't check enable_font_backend. Delete all codes
5844 used only when USE_FONT_BACKEND is not defined.
5845 (w32font_open): Return a font-object. Make a font-object by
5846 font_make_object. Adjusted for the change of struct w32font_info.
5847 (w32font_close): Don't free struct font. Adjusted for the change
5848 of struct w32font_info.
5849 (w32font_encode_char, w32font_text_extents, w32font_draw):
5850 Adjusted for the change of struct w32font_info.
5851 (w32font_draw): Likewise.
5852 (w32font_list_internal): Return a list, not vector.
5853 (w32font_open_internal): Change the 4th arg to font-object.
5854 Adjusted for the change of struct w32font_info and font-object format.
5855 (add_font_name_to_list): Don't downcase names.
5856 (w32_enumfont_pattern_entity): Make a font-entity by
5857 font_make_entity. Adjusted for the format change of font-entity.
5858 Use FONT_SET_STYLE to set a style-related font property. If a
5859 font is scalable, set avgwidth property to 0. Set font-entity
5860 property by font_put_extra.
5861 (font_matches_spec): Adjusted for the format change of font-entity.
5862 (w32_weight_table, w32_decode_weight): New variables.
5863 (w32_encode_weight): New function.
5864 (fill_in_logfont): Adjusted for the format change of font-spec.
5865 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
5866 weight value.
5867 (w32font_driver): Adjusted for the change of struct font_driver.
5868
5869 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
5870 conditionals. Don't check enable_font_backend. Surround non-used
5871 code by "#ifdef OLD_FONT" and "endif".
5872 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
5873 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
5874
5875 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
5876 conditionals. Don't check enable_font_backend. Delete all codes
5877 used only when USE_FONT_BACKEND is not defined. Surround non-used
5878 code by "#ifdef OLD_FONT" and "endif".
5879
5880 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
5881 (uniscribe_open): Return value changed to font-object.
5882 Adjusted for the format change of font-object.
5883 (uniscribe_otf_capability): Adjusted for the change of struct font.
5884 (add_opentype_font_name_to_list): Don't downcase names.
5885 (uniscribe_font_driver): Adjusted for the change of struct
5886 font_driver.
5887
58882008-05-13 Chong Yidong <cyd@stupidchicken.com>
5889
5890 * dispnew.c (update_frame_1): Check if tty output is still valid
5891 before flushing it.
5892
58932008-05-13 Jan Djärv <jan.h.d@swipnet.se>
5894
5895 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
5896 to Gtk+ menus.
5897
58982008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
5899
5900 * dired.c (file_name_completion): Tweak the code so as to always do it
5901 in a single pass. Tighten the scope of some variables.
5902
5903 * dired.c (Qdefault_directory): New var.
5904 (file_name_completion): Use it instead of Fexpand_file_name.
5905 (syms_of_dired): Initialize it.
5906
59072008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
5908
5909 * fileio.c (double_dollars): Remove dead code.
5910
59112008-05-10 Eli Zaretskii <eliz@gnu.org>
5912
5913 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
5914 Mention w32-get-true-file-attributes in doc string.
5915
5916 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
5917
59182008-05-09 Glenn Morris <rgm@gnu.org>
5919
5920 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
5921 2008-04-23.
5922
59232008-05-09 Eli Zaretskii <eliz@gnu.org>
5924
5925 Support for reporting owner and group of each file on MS-Windows:
5926 * dired.c (stat_uname, stat_gname): New functions, with special
5927 implementation for w32.
5928 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
5929
5930 * w32.c: Rename the_passwd_* to dflt_passwd_*.
5931 (dflt_group_name): New static variable.
5932 (dflt_group): Rename from the_group.
5933 (init_user_info): Init dflt_group fields. Get user's group name
5934 from LookupAccountSid.
5935 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
5936 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
5937 New initialization states.
5938 (globals_of_w32): Initialize them to zero. Initialize the default
5939 group name to "None".
5940 (GetFileSecurity_Name): New global var, the name of the function
5941 to call for GetFileSecurity.
5942 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
5943 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
5944 (get_file_security, get_security_descriptor_owner)
5945 (get_security_descriptor_group, is_valid_sid)
5946 (get_file_security_desc, get_rid, get_name_and_id)
5947 (get_file_owner_and_group): New functions.
5948 (stat): Use get_file_security_desc and get_file_owner_and_group to
5949 report the owner and primary group of each file. Don't ignore the
5950 high 32 bits of file's size, now that st_size is 64-bit wide.
5951 Fix test when to get true file attributes.
5952 (init_user_info): Use get_rid instead of equivalent inline code.
5953 (fstat): Don't ignore the high 32 bits of file's size.
5954
59552008-05-09 Chong Yidong <cyd@stupidchicken.com>
5956
5957 * image.c (png_load): Use correct bit-depth for setting background
5958 color.
5959
59602008-05-08 Eli Zaretskii <eliz@gnu.org>
5961
5962 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
5963 epa-hook.elc.
5964
59652008-05-08 Juanma Barranquero <lekktu@gmail.com>
5966
5967 * font.c (Ffont_match_p): Don't use `iff' in docstring.
5968
59692008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
5970
5971 * macfns.c (Fx_create_frame): Make a copy of frame parameters
5972 because the original parameters are in pure storage now.
5973 (mac_window): Remove unused params. Update callers.
5974
59752008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
5976
5977 * lread.c (substitute_object_recurse): Use lower-level primitives.
5978 Don't signal errors when traversing sub-char-tables.
5979 Don't loop over all the possible characters when traversing char-tables.
5980
5981 * print.c (print_preprocess): Add sub-char-tables to the print-table,
5982 just like we do in print.c.
5983
59842008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
5985
5986 * minibuf.c (Ftry_completion): Remove code left over from when we used
5987 scmp instead of Fcompare_strings.
5988
59892008-05-04 Juanma Barranquero <lekktu@gmail.com>
5990
5991 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
5992
59932008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5994
5995 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
5996 Create bitmap context in native byte order.
5997
5998 * macterm.c (XDrawLine)
5999 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
6000 context in native byte order.
6001
60022008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6003
6004 * config.in: Regenerate.
6005
6006 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
6007 New definitions for Image I/O support.
6008 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
6009 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
6010 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
6011 (mac_data_provider_release_data, image_load_image_io)
6012 [USE_MAC_IMAGE_IO]: New functions.
6013 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
6014 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
6015 (init_image_func_pointer) [MAC_OSX]: Remove function.
6016 (image_load_quartz2d) [MAC_OSX]: Check availability of
6017 CGImageCreateWithPNGDataProvider at compile time.
6018 Use lowercase `false' for boolean constant.
6019 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
6020 Use image_load_image_io.
6021 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
6022 Don't check MyCGImageCreateWithPNGDataProvider.
6023 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
6024 Don't call init_image_func_pointer.
6025
6026 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
6027
6028 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
6029 Make variable non-static.
6030 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
6031 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
6032
6033 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
6034 (RED_FROM_ULONG): Mask off higher bits.
6035 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
6036
6037 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
6038 Include AvailabilityMacros.h.
6039 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
6040 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
6041
60422008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
6043
6044 * chartab.c (Fset_char_table_range): If range is t, really set all
6045 chars to that value.
6046
60472008-05-03 Eli Zaretskii <eliz@gnu.org>
6048
6049 * dired.c (Ffile_attributes): Don't allow the device number become
6050 negative.
6051
60522008-05-02 Daiki Ueno <ueno@unixuser.org>
6053
6054 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
6055
60562008-05-02 Juri Linkov <juri@jurta.org>
6057
6058 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
6059 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
6060 DEFAULT argument as a list of default values in docstrings.
6061
60622008-05-01 Chong Yidong <cyd@stupidchicken.com>
6063
6064 * puresize.h (BASE_PURESIZE): Increase to 1210000.
6065
60662008-05-01 Martin Rudalics <rudalics@gmx.at>
6067
6068 * dispnew.c (change_frame_size_1): Preserve small windows when
6069 shrinking frames by calling set_window_height|width with third
6070 arg 2.
6071
6072 * window.h (struct window): Replace field too_small_ok by field
6073 resize_proportionally.
6074
6075 * window.c (make_window): Initialize resize_proportionally.
6076 (enlarge_window): Temporarily set resize_proportionally to make
6077 sure that shrink_windows does scale the window proportionally.
6078 (shrink_windows): When window has resize_proportionally set try
6079 to shrink it proportionally by stealing from other windows.
6080 (struct saved_window, Fset_window_configuration)
6081 (compare_window_configurations): Handle resize_proportionally.
6082 (WINDOW_TOTAL_SIZE): New macro.
6083 (window_min_size, shrink_windows, size_window): Use it.
6084 (check_min_window_sizes): Remove. Invalid values of
6085 window-min-height|width are handled by window_min_size_2 now.
6086 (size_window, Fsplit_window, enlarge_window)
6087 (adjust_window_trailing_edge, grow_mini_window): Don't call
6088 check_min_window_sizes.
6089 (window_min_size_2, window_min_size_1, window_min_size):
6090 New argument safe_p for retrieving "safe" minimum sizes.
6091 (Fdisplay_buffer, Fsplit_window, enlarge_window)
6092 (adjust_window_trailing_edge, grow_mini_window):
6093 Adjust arguments of window_min_size... functions.
6094 (shrink_windows): Argument min_size removed. New argument
6095 safe_p allows shrinking windows to their safe minimum sizes.
6096 Calculate minimum size and decide whether a window shall be
6097 deleted for each window individually.
6098 (size_window): When nodelete_p equals 2, tell shrink_windows to
6099 delete windows only if their new minimum size is no more safe.
6100 (shrink_window_lowest_first): Call window_min_size_1 to make
6101 sure to preserve modeline of bottom-most window when resizing
6102 the minibuffer.
6103 (Fset_window_configuration, Fcurrent_window_configuration)
6104 (compare_window_configurations): Do not handle
6105 window-min-height|width any more.
6106 (syms_of_window): Clarify window-min-height|width doc-strings.
6107
61082008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
6109
6110 * dired.c (file_name_completion): Fix up the encoding/decoding issue
6111 some more. Copy some of the code from Ftry_completions.
6112 Remove special case code that dates back to initial revision when the
6113 slash was only added when necessary and that can't trigger nowadays.
6114
61152008-04-27 Kenichi Handa <handa@m17n.org>
6116
6117 * font.c (font_prop_validate): Signal `error' instead of `font'.
6118
61192008-04-29 Jason Rumney <jasonr@gnu.org>
6120
6121 * w32fns.c (Fw32_battery_status): New defun.
6122 (syms_of_w32fns): Defsubr it.
6123
61242008-04-28 Andreas Schwab <schwab@suse.de>
6125
6126 * dired.c (file_name_completion): Fix another mixing of encoded
6127 and decoded names.
6128
61292008-04-28 Juanma Barranquero <lekktu@gmail.com>
6130
6131 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
6132
61332008-04-27 Juanma Barranquero <lekktu@gmail.com>
6134
6135 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
6136
61372008-04-27 Andreas Schwab <schwab@suse.de>
6138
6139 * dired.c (file_name_completion): Fix inappropriate mixing of
6140 encoded and decoded names.
6141
6142 * xterm.c (XTread_socket): Fix use of uninitialized variable.
6143
6144 * puresize.h (BASE_PURESIZE): Increase to 1200000.
6145
61462008-04-26 Eli Zaretskii <eliz@gnu.org>
6147
6148 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
6149 2008-03-31, it's not needed anymore with `struct stat' definition
6150 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
6151 for the same reasons.
6152
61532008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
6154
6155 * m/sparc.h: Additional redefinitions for GNU/Linux.
6156
61572008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6158
6159 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
6160 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
6161 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
6162 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
6163 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
6164 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
6165 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
6166 Likewise.
6167
6168 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
6169 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
6170 (mac_ax_number_of_characters): Add externs.
6171 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
6172 [USE_MAC_TSM]: Likewise.
6173 (mac_handle_text_input_event) [MAC_OSX]:
6174 Handle kEventTextInputOffsetToPos for no active input area case.
6175 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
6176 (mac_handle_document_access_event)
6177 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
6178 (install_application_handler) [MAC_OSX]: Register handlers for
6179 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
6180 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
6181 Register mac_handle_document_access_event.
6182
6183 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
6184 Make functions non-static.
6185
61862008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
6187
6188 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
6189 (read_file_name_completion_ignore_case, insert_default_directory)
6190 (Qdefault_directory): Move to minibuffer.el.
6191 (Fread_file_name): Call the new `read-file-name' instead.
6192
61932008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6194
6195 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
6196 Make function non-static.
6197 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
6198 Remove function.
6199 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
6200 Move to mactoolbox.c.
6201 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
6202
6203 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
6204 (mac_rect_make): New macro.
6205
6206 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
6207 instead of float.
6208 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
6209 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
6210 (XSetBackground) [USE_CG_DRAWING]: Likewise.
6211 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
6212 CGRectMake.
6213 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
6214 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
6215 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
6216 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
6217 instead of WindowRef in argument type.
6218 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
6219 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
6220 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
6221 instead of DISPLAY. All uses changed.
6222 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
6223 (x_calc_absolute_position): Simplify so as not to use
6224 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
6225
6226 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
6227 instead of WindowRef in argument type.
6228 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
6229 [TARGET_API_MAC_CARBON]: Remove externs.
6230 (create_apple_event, mac_event_parameters_to_lisp)
6231 [TARGET_API_MAC_CARBON]: Add externs.
6232
6233 * mactoolbox.c (Vmac_ts_script_language_on_focus)
6234 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
6235 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
6236 is clicked.
6237 (x_activate_menubar): Remove extern for saved_menu_event_location.
6238 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
6239 Move from mac.c.
6240
62412008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6242
6243 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
6244 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
6245
62462008-04-23 Jason Rumney <jasonr@gnu.org>
6247
6248 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
6249 attributes only for local files.
6250
6251 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
6252 default to Qlocal.
6253
62542008-04-22 Juri Linkov <juri@jurta.org>
6255
6256 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
6257 read-buffer-to-switch instead of using the letter "B".
6258
62592008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
6260
6261 * fileio.c (Qdefault_directory): New variable.
6262 (Fread_file_name): Use it to pass `dir' to the completion functions.
6263
62642008-04-20 Chong Yidong <cyd@stupidchicken.com>
6265
6266 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
6267
62682008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
6269
6270 * keyboard.c (Vpre_help_message): Remove.
6271 (show_help_echo): Remove default C code.
6272
6273 * dired.c (directory_files_internal, file_name_completion):
6274 Only call ENCODE_FILE if the string is indeed decoded.
6275
62762008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
6277
6278 * Makefile.in (TOOLKIT_DEFINES): Remove.
6279 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
6280
62812008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6282
6283 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
6284 (mactoolbox.o): New target.
6285
6286 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
6287 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
6288
6289 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
6290 Use mac_set_frame_window_background instead of XSetWindowBackground.
6291 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
6292 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
6293 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
6294 instead of SetWindowTitleWithCFString.
6295 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
6296 Move function to mactoolbox.c.
6297 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
6298 Use mac_set_window_modified instead of SetWindowModified.
6299 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
6300 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
6301 (Fx_focus_frame): Use mac_front_non_floating_window instead of
6302 FrontNonFloatingWindow. Use mac_activate_window instead of
6303 ActivateWindow. Use mac_active_non_floating_window instead of
6304 ActiveNonFloatingWindow.
6305 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
6306 Use mac_show_hourglass and mac_hide_hourglass.
6307 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
6308 instead of GetGlobalMouse.
6309 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
6310 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
6311 Use mac_bring_window_to_front instead of BringToFront.
6312 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
6313 mactoolbox.c.
6314 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
6315 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
6316 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
6317 mactoolbox.c.
6318
6319 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
6320 (XtPointer): Move typedef from macmenu.c.
6321 (enum button_type): Move enum from macmenu.c.
6322 (widget_value): Move typedef from macmenu.c.
6323 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
6324 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
6325 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
6326 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
6327 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
6328 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
6329 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
6330 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
6331 (Selection): Move typedef from macselect.c.
6332 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
6333 macterm.c.
6334 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
6335 (mac_is_window_collapsed, mac_bring_window_to_front)
6336 (mac_send_window_behind, mac_hide_window, mac_show_window)
6337 (mac_collapse_window, mac_front_non_floating_window)
6338 (mac_active_non_floating_window, mac_activate_window)
6339 (mac_move_window_structure, mac_move_window, mac_size_window)
6340 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
6341
6342 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
6343 (enum mac_menu_kind): Move enum to mactoolbox.c.
6344 (min_menu_id): Move variable to mactoolbox.c.
6345 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
6346 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
6347 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
6348 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
6349 [TARGET_API_MAC_CARBON]: Likewise.
6350 (XtPointer): Move typedef to macgui.h.
6351 (enum button_type): Move enum to macgui.h.
6352 (widget_value): Move typedef to macgui.h.
6353 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
6354 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
6355 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
6356 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
6357 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
6358 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
6359 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
6360 (popup_activated_flag): Make variable non-static.
6361 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
6362 (add_menu_item, fill_menu, dispose_menus):
6363 Move functions to mactoolbox.c.
6364 (restore_show_help_function, menu_target_item_handler)
6365 (install_menu_target_item_handler, mac_handle_dialog_event)
6366 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
6367 [TARGET_API_MAC_CARBON]: Likewise.
6368 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
6369 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
6370 (find_and_call_menu_selection, name_is_separator): Make function
6371 non-static.
6372 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
6373 to mactoolbox.c.
6374 (set_frame_menubar): Don't call install_menu_quit_handler.
6375 (menu_item_selection): New variable.
6376 (mac_menu_show): Use create_and_show_popup_menu.
6377 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
6378 selection but set variable menu_item_selection. All uses changed.
6379 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
6380 Call install_menu_quit_handler. Move to mactoolbox.c.
6381
6382 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
6383 (Selection): Move typedef to macgui.h.
6384 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
6385 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
6386 Make variables non-static.
6387 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
6388 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
6389 Make functions non-static.
6390 (Vmac_service_selection) [MAC_OSX]: Likewise.
6391 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
6392 (mac_valid_selection_target_p, mac_clear_selection)
6393 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
6394 (mac_put_selection_value, mac_selection_has_target_p)
6395 (mac_get_selection_value, mac_get_selection_target_list)
6396 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
6397 Move functions to mactoolbox.c.
6398 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
6399 Likewise.
6400 (copy_scrap_flavor_data, mac_handle_service_event)
6401 (install_service_handler) [MAC_OSX]: Likewise.
6402 (syms_of_macselect) <Vmac_dnd_known_types>:
6403 Use mac_dnd_default_known_types.
6404
6405 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
6406 Move to mactoolbox.c.
6407 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
6408 (Fx_selection_owner_p): Add EXFUN.
6409 (install_window_handler, remove_window_handler, XSetWindowBackground):
6410 Remove externs.
6411 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
6412 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
6413 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
6414 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
6415 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
6416 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
6417 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
6418 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
6419 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
6420 (create_and_show_popup_menu, mac_get_selection_from_symbol)
6421 (mac_valid_selection_target_p, mac_clear_selection)
6422 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
6423 (mac_put_selection_value, mac_selection_has_target_p)
6424 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
6425 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
6426 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
6427 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
6428 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
6429 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
6430 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
6431 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
6432 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
6433
6434 * mactoolbox.c: New file.
6435
64362008-04-18 Jason Rumney <jasonr@gnu.org>
6437
6438 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
6439
64402008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
6441
6442 * character.c (Fmultibyte_char_to_unibyte):
6443 Return latin1 chars unchanged.
6444
6445 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
6446 relocated if it points to `name'.
6447
64482008-04-17 Kenichi Handa <handa@m17n.org>
6449
6450 * data.c (Faset): Allow setting a multibyte character in an
6451 ASCII-only unibyte string.
6452
6453 * lisp.h (STRING_SET_MULTIBYTE): New macro.
6454
64552008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
6456
6457 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
6458 done in config.h.
6459
64602008-04-16 Juanma Barranquero <lekktu@gmail.com>
6461
6462 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
6463 (Fchar_direction): Add usage in the docstring.
6464
64652008-04-15 Chong Yidong <cyd@stupidchicken.com>
6466
6467 * keyboard.c (read_key_sequence): Remove always-true checks.
6468
64692008-04-14 Jason Rumney <jasonr@gnu.org>
6470
6471 * w32font.c (w32font_open_internal): Set max_bounds.descent in
6472 compatibility struct, for better underline positioning.
6473
64742008-04-13 David Hansen <david.hansen@gmx.net>
6475
6476 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
6477 string.
6478
64792008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
6480
6481 * m/hp800.h (XUINT, XSET): Remove.
6482
64832008-04-12 Juanma Barranquero <lekktu@gmail.com>
6484
6485 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
6486 previous change.
6487
64882008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
6489
6490 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
6491 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
6492
64932008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
6494
6495 * keymap.h (map_keymap_canonical): Declare.
6496 * xmenu.c (single_keymap_panes): Use it.
6497
64982008-04-11 Glenn Morris <rgm@gnu.org>
6499
6500 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
6501 set the target's value to that of the alias.
6502
65032008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
6504
6505 * term.c (set_tty_color_mode): Left over typo.
6506
65072008-04-10 Michael Albinus <michael.albinus@gmx.de>
6508
6509 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
6510 only after check for file name handler functions. Signal, when
6511 native functionality is not supported.
6512 (syms_of_fileio): Declare it unconditionally.
6513
65142008-04-10 Jason Rumney <jasonr@gnu.org>
6515
6516 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
6517 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
6518
6519 * w32.c (logon_network_drive): Also logon to remote drives that
6520 are mapped to drive letters.
6521
65222008-04-10 Glenn Morris <rgm@gnu.org>
6523
6524 * xdisp.c (truncate-partial-width-windows): Doc fix.
6525
65262008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
6527
6528 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
6529 Move functions to minibuffer.el.
6530 (syms_of_fileio): Don't declare them.
6531
65322008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
6533
6534 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
6535 (syms_of_minibuf): Remove its initialization.
6536
6537 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
6538
65392008-04-09 Juanma Barranquero <lekktu@gmail.com>
6540
6541 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
6542
65432008-04-09 Jason Rumney <jasonr@gnu.org>
6544
6545 * makefile.w32-in (distclean): Delete makefile too.
6546 (maintainer-clean): New target.
6547
6548 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
6549
6550 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
6551 for new font backend and composite cases.
6552
65532008-04-09 Jan Djärv <jan.h.d@swipnet.se>
6554
6555 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
6556 Most of the code moved to run_timers.
6557 (do_pending_atimers): Call run_timers.
6558 (run_timers): New function.
6559
6560 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
6561 run atimers.
6562
6563 * process.c (wait_reading_process_output): The same as above.
6564
65652008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
6566
6567 * minibuf.c (last_exact_completion): Remove variable.
6568 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
6569 (complete_and_exit_1, complete_and_exit_2)
6570 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
6571 (Fdisplay_completion_list, display_completion_list_1)
6572 (Fminibuffer_completion_help, Fself_insert_and_exit)
6573 (Fexit_minibuffer, Fminibuffer_message): Move functions to
6574 minibuffer.el.
6575 (syms_of_minibuf): Remove corresponding initializations.
6576
6577 * keyboard.c (Qdeactivate_mark): New var.
6578 (command_loop_1): Use it to call `deactivate-mark'.
6579 (syms_of_keyboard): Initialize it.
6580
6581 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
6582 to another frame.
6583 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
6584 Don't call set_tty_color_mode.
6585 (store_frame_param): Reset previous_frame rather than call
6586 set_tty_color_mode.
6587 * term.c (set_tty_color_mode): Rewrite.
6588 * dispextern.h (set_tty_color_mode): New type.
6589 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
6590
65912008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
6592
6593 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
6594 for generic chars, which do not exist any more in emacs-unicode.
6595
65962008-04-08 Michael Albinus <michael.albinus@gmx.de>
6597
6598 * coding.c (detect_coding_emacs_mule)
6599 (Ffind_operation_coding_system): Fix typo.
6600
66012008-04-08 Jason Rumney <jasonr@gnu.org>
6602
6603 * w32uniscribe.c (SNAME): Extract only symbol name.
6604
6605 * w32font.h (struct w32_metric_cache): New struct.
6606 (w32font_info): Use it.
6607 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
6608 (CACHE_BLOCKSIZE): New constants.
6609
6610 * w32font.c (Qja, Qko, Qzh): New symbols.
6611 (syms_of_w32font): Initialise them.
6612 (font_matches_spec): Use them to filter by language.
6613 (recompute_cached_metrics): Remove function.
6614 (compute_metrics, clear_cached_metrics): New functions.
6615 (w32font_encode_char): Use them to manage metric cache.
6616 (w32font_text_extents): Cache metrics for all glyphs on demand.
6617 Delay converting glyph indices to WORD until needed.
6618 (w32font_open_internal): Initialize metric cache to empty.
6619 (registry_to_w32_charset): Charset should always be a symbol.
6620 (fill_in_logfont, list_all_matching_fonts): Family should
6621 always be a symbol.
6622
66232008-04-06 Jason Rumney <jasonr@gnu.org>
6624
6625 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
6626 Give up if glyph indices not supported. Use uniscribe obtained
6627 ABC widths for individual metrics. Map glyph clusters back to
6628 characters using fClusterStart flag. Return number of glyphs
6629 produced, not chars processed.
6630 (uniscribe_shape): Map char at FROM to current glyph.
6631
66322008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6633
6634 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
6635 Use SetMenuItemHierarchicalMenu.
6636
66372008-04-05 Jason Rumney <jasonr@gnu.org>
6638
6639 * image.c (pbm_load): Allow color values up to 65535.
6640 Throw an error if max_color_idx is outside the supported range.
6641 Report an error when image size is invalid.
6642 Read two bytes at a time when raw images have max_color_idx above 255.
6643
66442008-04-05 Eli Zaretskii <eliz@gnu.org>
6645
6646 * w32.c (readdir): If FindFirstFile/FindNextFile return in
6647 cFileName a file name that includes `?' characters, use the 8+3
6648 alias in cAlternateFileName instead.
6649
66502008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
6651
6652 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
6653 append "CCL: Quitted" when the CCL program is quitted.
6654 (setup_ccl_program): Initialize ccl->quit_silently to zero.
6655
6656 * ccl.h (struct ccl_program): New member quit_silently.
6657
66582008-04-05 Chong Yidong <cyd@stupidchicken.com>
6659
6660 * search.c (compile_pattern_1): Treat non-nil and non-string of
6661 search-spaces-regexp as nil.
6662
6663 * minibuf.c (Fassoc_string): Tweak docstring.
6664
66652008-04-05 Eli Zaretskii <eliz@gnu.org>
6666
6667 * dired.c (Ffile_attributes): Support inode numbers wider than 32
6668 bits. Remove ugly WINDOWSNT-specific kludge introduced on
6669 2008-03-14 to force inode be positive.
6670
6671 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
6672 _S_* ones, since we now use our own sys/stat.h.
6673 (stat, fstat): Don't mangle the inode number.
6674 (init_user_info): Don't restrict UID and GID to 0-60000 range.
6675
66762008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
6677
6678 * frame.h (struct frame): Give one more bit to `visible' since we use
6679 values larger than 1 to indicate obscured frames on ttys.
6680
6681 * keymap.c (Qkeymap_canonicalize): New var.
6682 (Fmap_keymap_internal): New fun.
6683 (describe_map): Use keymap-canonicalize.
6684
6685 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
6686 (Fundo_boundary): Set them.
6687 (syms_of_undo): Initialize them.
6688 (record_point): Use them instead of last_point_position*.
6689 (last_undo_buffer): Change type.
6690
66912008-04-04 Jason Rumney <jasonr@gnu.org>
6692
6693 * w32font.c (w32font_text_extents): Use font's ascent and descent.
6694 (recompute_cached_metrics): Don't set ascent and descent per char.
6695
6696 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
6697 (uniscribe_check_otf): Add GC protection before consing.
6698 Rearrange loop for counting features.
6699
67002008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
6701
6702 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
6703 buffer with byte-size of source buffer.
6704
67052008-04-03 Chong Yidong <cyd@stupidchicken.com>
6706
6707 * callint.c (Fcall_interactively): Handle temporary region even
6708 when shift-select-mode is off.
6709
67102008-04-03 Jason Rumney <jasonr@gnu.org>
6711
6712 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
6713
67142008-04-03 Kenichi Handa <handa@m17n.org>
6715
6716 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
6717 (CATEGORY_MASK_UTF_16): Likewise.
6718 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
6719 binary file.
6720 (detect_coding): Add null-byte detection for a binary file.
6721 (detect_coding_system): Likewise.
6722
67232008-04-03 Jason Rumney <jasonr@gnu.org>
6724
6725 * w32uniscribe.c: New file.
6726
6727 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
6728
6729 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
6730
6731 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
6732 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
6733 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
6734 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
6735 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
6736 (Qphonetic): New symbols.
6737 (syms_of_w32font): Initialize them.
6738 (font_supported_scripts): Use them.
6739 (w32font_list_family): List all charsets.
6740 (w32font_text_extents, recompute_cached_metrics): Fix metric
6741 calculations.
6742 (w32_enumfont_pattern_entity): Make full_type a DWORD.
6743 Give opentype fonts their own format.
6744 (font_matches_spec): New arguments backend and logfont.
6745 Handle :otf spec for uniscribe backend.
6746 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
6747 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
6748
6749 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
6750 font backend.
6751 (globals_of_w32fns): Initialize uniscribe font backend.
6752
6753 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
6754 dependencies.
6755 (w32uniscribe.$(O)): New file to build.
6756 (FONT_OBJ): Include w32uniscribe.$(O).
6757 (LIBS): Add uniscribe libraries.
6758
6759 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
6760
67612008-04-02 Chong Yidong <cyd@stupidchicken.com>
6762
6763 * callint.c (Vshift_select_mode): New var.
6764 (Finteractive): Document new ^ spec.
6765 (Fcall_interactively): Call handle-shift-selection if the ^ spec
6766 is present.
6767
6768 * keyboard.c (Vthis_command_keys_shift_translated): New var.
6769 (command_loop_1): Avoid running the direct display versions of
6770 forward-char and backward-char if shift-selection may occur.
6771 (read_key_sequence): Set Vthis_command_keys_shift_translated if
6772 shift-translation takes place.
6773
6774 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
6775 avoid clobbering by define-minor-mode.
6776
6777 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
6778 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
6779
6780 * syntax.c (Fforward_word): Add ^ interactive spec.
6781
6782 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
6783 (Fscroll_right): Add ^ interactive spec.
6784
67852008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
6786
6787 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
6788
6789 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
6790
6791 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
6792
67932008-03-31 Juri Linkov <juri@jurta.org>
6794
6795 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
6796
67972008-03-30 Jan Djärv <jan.h.d@swipnet.se>
6798
6799 * gtkutil.c (xg_set_geometry): Fix indentation.
6800 (xg_resize_outer_widget): Remove.
6801 (x_wm_size_hint_off): Fix indentation.
6802 (xg_frame_set_char_size): Call flush_and_sync after
6803 gtk_window_resize.
6804 (x_wm_set_size_hint): Pass NULL as geometry window to
6805 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
6806 Add menu bar and tool bar height to base height.
6807 (xg_update_frame_menubar, free_frame_menubar)
6808 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
6809 (update_frame_tool_bar, free_frame_tool_bar):
6810 Change xg_resize_outer_widget to xg_frame_set_char_size.
6811
68122008-03-30 Michael Albinus <michael.albinus@gmx.de>
6813
6814 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
6815 (Fdbus_call_method): New parameter TIMEOUT.
6816 (dbus-send-signal): Optimize UNGCPRO call.
6817
68182008-03-29 Juri Linkov <juri@jurta.org>
6819
6820 * window.c (Fdisplay_buffer): Move call to
6821 Vsplit_window_preferred_function out of conditions that check
6822 if window is eligible for vertical splitting.
6823 When Vsplit_window_preferred_function is non-nil, call it and use
6824 its non-nil return value as window. Otherwise, continue doing
6825 vertical splitting using Fsplit_window with arg horflag=nil.
6826 (syms_of_window) <Vsplit_window_preferred_function>: Change the
6827 default value from `split-window' to nil.
6828
68292008-03-29 Juri Linkov <juri@jurta.org>
6830
6831 * callint.c (Fcall_interactively): Revert 2008-03-16 change
6832 for interactive code letters 'b' and 'B'.
6833
68342008-03-29 Eli Zaretskii <eliz@gnu.org>
6835
6836 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
6837 multibyte string.
6838
68392008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
6840
6841 * keyboard.c (pending_funcalls): New var.
6842 (timer_check): Run it.
6843 (syms_of_keyboard): Initialize it.
6844 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
6845 (Vdelete_terminal_functions): New vars.
6846 (syms_of_terminal): Initialize them.
6847 (Fdelete_terminal): Run delete-terminal-functions.
6848 * xdisp.c (safe_eval): Rewrite.
6849 (safe_call2): New fun.
6850 * frame.c (Qdelete_frame_functions): New var.
6851 (syms_of_frame): Initialize it.
6852 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
6853 * lisp.h (safe_call2, pending_funcalls): Declare.
6854
68552008-03-28 Andreas Schwab <schwab@suse.de>
6856
6857 * indent.c (Fmove_to_column): Move declaration before statements.
6858
68592008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
6860
6861 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
6862 (struct frame): Use bit fields for boolean vars.
6863
6864 * process.c (server_accept_connection): Simplify naming.
6865 (emacs_get_tty_pgrp): Use SDATA.
6866
6867 * coding.c (decode_coding_object): Fix last change.
6868
68692008-03-27 Jason Rumney <jasonr@gnu.org>
6870
6871 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
6872
68732008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
6874
6875 * charset.c (Fdefine_charset_internal): Change the way of
6876 registering charsets in Vcharset_order_list.
6877 (syms_of_charset): Make the charset `eight-bit' supplementary.
6878
68792008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
6880
6881 * regex.c (EXTEND_BUFFER): Change order of pointer addition
6882 operations, to avoid having the difference between pointers
6883 overflow.
6884
68852008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
6886
6887 * indent.c (check_display_width): New fun.
6888 (scan_for_column): Use it.
6889
6890 * data.c (syms_of_data): Mark most-positive-fixnum and
6891 most-negative-fixnum as constants.
6892
6893 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
6894
6895 * indent.c (scan_for_column): Extract from current_column_1.
6896 Merge with the same code from Fmove_to_column.
6897 (current_column_1, Fmove_to_column): Use it.
6898
68992008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
6900
6901 * keymap.c (map_keymap_internal): New fun.
6902 (map_keymap): Use it.
6903 (Fmap_keymap_internal): New fun.
6904 (Fmap_keymap): Remove left-out test from before make_save_value.
6905
6906 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
6907
6908 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
6909 Use XCAR/XCDR.
6910
6911 * process.h (struct Lisp_Process): Remove filter_multibyte.
6912 * process.c (QCfilter_multibyte): Remove.
6913 (setup_process_coding_systems): Don't use filter_multibyte.
6914 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
6915 (read_process_output): Don't adjust multibyteness to filter_multibyte.
6916 (Fset_process_filter_multibyte): Change the coding-system to
6917 approximate the previous behavior.
6918 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
6919 coding-system.
6920
6921 * coding.c (decode_coding_object): When not decoding into a buffer,
6922 obey the coding system's preference of (uni|multi)byte.
6923
69242008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
6925
6926 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
6927 every char is changed and has a different byte-length.
6928 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
6929 Fix int -> EMACS_INT.
6930
69312008-03-23 David Hansen <david.hansen@gmx.net>
6932
6933 * dbusbind.c (xd_read_message): Remove extra copying of message
6934 strings. Check for NULL `interface' or `member'.
6935
69362008-03-22 Eli Zaretskii <eliz@gnu.org>
6937
6938 * w32.c (readdir): If FindFirstFile/FindNextFile return in
6939 cFileName a file name that includes `?' characters, use the 8+3
6940 alias in cAlternateFileName instead.
6941
69422008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
6943
6944 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
6945
69462008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
6947
6948 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
6949 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
6950 work on current_buffer only instead (that was already the case
6951 for some of the code anyway).
6952 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
6953 (temp_set_point, temp_set_point_both): Use EMACS_INT.
6954 (SET_PT, SET_PT_BOTH): Adjust.
6955 * intervals.h (set_point, temp_set_point, set_point_both)
6956 (temp_set_point_both): Remove redundant declarations.
6957
69582008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
6959
6960 * fileio.c (Finsert_file_contents):
6961 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
6962 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
6963 when buffer != current_buffer anyway.
6964
69652008-03-20 Andreas Schwab <schwab@suse.de>
6966
6967 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
6968 as default.
6969
69702008-03-19 Jason Rumney <jasonr@gnu.org>
6971
6972 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
6973 (syms_of_w32fns): Initialize them.
6974 (HOURGLASS_ID): New constant.
6975 (x_window_to_frame): Don't check hourglass_window.
6976 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
6977 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
6978 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
6979 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
6980 Only change the cursor if hourglass is not active.
6981 (Fx_create_frame): Initialize frame's current_cursor.
6982 (hourglass_atimer): Remove.
6983 (hourglass_started): New function.
6984 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
6985 (show_hourglass): Adapt to w32, changing argument to frame.
6986
6987 * w32term.h (struct w32_output): Remove hourglass_window.
6988 Add current_cursor.
6989
6990 * eval.c (call_debugger, Fsignal):
6991 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
6992 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
6993 (Fexecute_extended_command, cancel_hourglass_unwind):
6994 * minibuf.c (read_minibuf):
6995 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
6996
69972008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
6998
6999 * window.c (run_funs): New fun.
7000 (run_window_configuration_change_hook): Use it to run the buffer-local
7001 and the global part of the hook.
7002
7003 * xdisp.c (format_mode_line_unwind_data): Add window argument.
7004 (unwind_format_mode_line): Restore selected window.
7005 (x_consider_frame_title, Fformat_mode_line): Set selected window.
7006
70072008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
7008
7009 * editfns.c (Fchar_equal): Check they are valid characters.
7010
7011 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
7012
70132008-03-17 Andreas Schwab <schwab@suse.de>
7014
7015 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
7016 against a charset.
7017
7018 * lisp.h (Fbuffer_list): Declare.
7019
70202008-03-17 Jan Djärv <jan.h.d@swipnet.se>
d6c952f8 7021
aac0c6e3
MR
7022 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
7023 handlebox_widget is != 0.
7024
70252008-03-16 Juri Linkov <juri@jurta.org>
7026
7027 * callint.c (Fcall_interactively): For interactive code letters
7028 'b' and 'B' put the buffer list into the list of default "future"
7029 values of the minibuffer.
7030
70312008-03-16 Andreas Schwab <schwab@suse.de>
7032
7033 * keyboard.c (read_key_sequence): Fix downcasing of letters with
7034 modifiers.
7035
7036 * regex.c (re_match_2_internal): Correct matching of a charset
7037 against latin-1 characters.
7038
70392008-03-16 Kenichi Handa <handa@m17n.org>
7040
7041 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
7042 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
7043 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
7044 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
7045 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
7046 CHAR_STRING_ADVANCE.
7047 (produce_chars): Fix for the case that the source and the
7048 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
7049 instead of CHAR_STRING_ADVANCE.
7050 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
7051 STRING_CHAR_ADVANCE.
7052
70532008-03-15 Andreas Schwab <schwab@suse.de>
7054
7055 * regex.c (re_match_2_internal): Correct matching of eight bit
7056 characters in unibyte strings.
7057
70582008-03-15 Martin Rudalics <rudalics@gmx.at>
7059
7060 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
7061 at end of range when it coincides with the end of the buffer.
7062
70632008-03-14 Eli Zaretskii <eliz@gnu.org>
7064
7065 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
7066
7067 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
7068
70692008-03-14 Jason Rumney <jasonr@gnu.org>
7070
7071 * editfns.c (initial_tz): New variable.
7072 (syms_of_editfns): Initialize it.
7073 (Fset_time_zone_rule): Set it when first called.
7074 Use it when TZSTRING is nil.
7075
7076 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
7077 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
7078 (monitor_from_point_fn, get_monitor_info_fn): New globals.
7079 (globals_of_w32fns): Initialize them.
7080 (compute_tip_xy): Use them to position tooltips.
7081
70822008-03-14 Glenn Morris <rgm@gnu.org>
7083
7084 * emacs.c (main): Revert previous change.
7085 (standard_args): Revert -internal-script back to -scriptload,
7086 and remove the long-option form.
7087
70882008-03-13 Glenn Morris <rgm@gnu.org>
7089
7090 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
7091 Remove option -enable-font-backend.
7092
70932008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
7094
7095 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
7096
70972008-03-11 Jan Djärv <jan.h.d@swipnet.se>
7098
7099 * xterm.c (x_connection_closed): For GTK: If this is the last
7100 terminal just exit without closing the display.
7101
71022008-03-11 Jason Rumney <jasonr@gnu.org>
7103
7104 * w32font.c (w32font_full_name): Use floor to round.
7105
f0131492 71062008-03-10 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
aac0c6e3
MR
7107
7108 * sound.c (alsa_configure): Declare vol at beginning of block.
7109
7110 * fontset.c (Ffontset_info): Remove extra semicolon.
7111
71122008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
7113
7114 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
7115 size of resulting string.
7116
71172008-03-10 Jason Rumney <jasonr@gnu.org>
7118
7119 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
7120
71212008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7122
7123 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
7124 Don't pretend as if characters with display property haven't been
7125 consumed for string-replacing-string case.
7126
71272008-03-08 Kim F. Storm <storm@cua.dk>
7128
7129 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
7130 (get_next_display_element, next_element_from_string)
7131 (next_element_from_ellipsis, next_element_from_buffer): Use it.
7132
71332008-03-08 Andreas Schwab <schwab@suse.de>
7134
7135 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
7136
71372008-03-06 Jason Rumney <jasonr@gnu.org>
7138
7139 * w32font.c (w32_registry): Take font_type argument. Use ANSI
7140 when charset not specified. Only translate ANSI to unicode when
7141 font_type is truetype.
7142 (w32font_coverage_ok): New function.
7143 (add_font_entity_to_list): Use it to filter unsuitable fonts.
7144
71452008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
7146
7147 * lread.c (Fread_char): Resolve modifiers.
7148 (Fread_char_exclusive): Likewise.
7149
7150 * character.c (char_resolve_modifier_mask): New function.
7151 (char_string): Use char_resolve_modifier_mask.
7152 (Fchar_resolve_modifiers): New function.
7153 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
7154 function.
7155
71562008-03-04 Jason Rumney <jasonr@gnu.org>
7157
7158 * makefile.w32-in: Always include w32font.c in the build.
7159 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
7160
71612008-03-04 Andreas Schwab <schwab@suse.de>
7162
7163 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
7164 (versionclean): Likewise.
7165
71662008-03-04 Juanma Barranquero <lekktu@gmail.com>
7167
7168 * .cvsignore: Add oo.
7169
71702008-03-03 Andreas Schwab <schwab@suse.de>
7171
7172 * coding.c (decode_coding_object): Inhibit gap shrinking while
7173 decoding in place.
7174
71752008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
7176
7177 * w32term.c: Remove unused include "gnu.h".
7178 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
7179
7180 * gnu.h: Rename to ...
7181 * emacs-icon.h: ... this.
7182 * xterm.c: Use emacs-icon.h instead of gnu.h.
7183 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
7184
71852008-03-03 Juanma Barranquero <lekktu@gmail.com>
7186
7187 * w32font.c: Include math.h.
7188
71892008-03-03 Jason Rumney <jasonr@gnu.org>
7190
7191 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
7192 Compute options separately.
7193 (w32font_open_internal): Set glyph_idx before caching metrics.
7194
7195 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
7196 Define if system headers don't.
7197 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
7198 (w32font_encode_char): Don't declare here.
7199
7200 * w32font.c (Quniscribe, QCformat): New symbols.
7201 (syms_of_w32font): Define them.
7202 (w32font_has_char): Indicate uncertainty.
7203 (w32font_encode_char): Encode as glyph point. Make static.
7204 (recompute_cached_metrics): New function.
7205 (w32font_open_internal): Use it. Set font to use glyph points
7206 initially. Set format based on type of font.
7207 (w32font_text_extents, w32font_draw): Optionally use glyph points.
7208 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
7209 on it. Set format based on information available here.
7210 (add_font_entity_to_list): Identify backend based on opentype_only.
7211
72122008-03-02 Andreas Schwab <schwab@suse.de>
7213
7214 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
7215
7216 * coding.c (decode_coding_big5, produce_chars):
7217 Fix typos in last change.
7218
72192008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
7220
7221 * gnu.h: New icon.
7222
72232008-03-02 Kenichi Handa <handa@m17n.org>
7224
7225 * coding.c (decode_coding_utf_8): When eol-type of CODING is
7226 `dos', don't decode '\r' if that is the last in the source.
7227 (decode_coding_utf_16, decode_coding_emacs_mule)
7228 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
7229 (decode_coding_raw_text, decode_coding_charset): Likewise.
7230 (produce_chars): Don't decode EOL here. Use EMACS_INT.
7231
72322008-03-01 Jason Rumney <jasonr@gnu.org>
7233
7234 * w32font.c (w32font_full_name): Report point size for scalable fonts.
7235
72362008-03-01 Kim F. Storm <storm@cua.dk>
7237
7238 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
7239
72402008-03-01 Jason Rumney <jasonr@gnu.org>
7241
7242 * w32font.c (w32font_full_name): New function.
7243 (w32font_open_internal): Use it.
7244
72452008-03-01 Kim F. Storm <storm@cua.dk>
7246
7247 * dispnew.c (line_draw_cost): Fix invalid glyph check.
7248
72492008-03-01 Jason Rumney <jasonr@gnu.org>
7250
7251 * font.c (font_unparse_fcname): Increase len when style is a symbol.
7252
72532008-03-01 Jan Djärv <jan.h.d@swipnet.se>
7254
7255 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
7256 xg_frame_resized when the event is for the edit widget.
7257
7258 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
7259
7260 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
7261 set_char_size.
7262 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
7263 operations on widgets here. Just set frame size if needed.
7264 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
7265 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
7266 (x_wm_set_size_hint): Set size hints on the edit widget only, not
7267 the whole frame.
7268 (xg_create_tool_bar): Move attachment of the tool bar to
7269 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
7270 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
7271
72722008-03-01 Jason Rumney <jasonr@gnu.org>
7273
7274 * w32fns.c (w32_msg_pump): Disable debug code.
7275
72762008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7277
7278 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
7279
72802008-02-29 Chong Yidong <cyd@stupidchicken.com>
7281
7282 * xdisp.c (next_overlay_string): Don't set
7283 overlay_strings_at_end_processed_p if we're currently reading from
7284 a display string.
7285
72862008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
7287
7288 * xdisp.c (get_overlay_strings_1): Fix typo.
7289
72902008-02-29 Chong Yidong <cyd@stupidchicken.com>
7291
7292 * xdisp.c (get_overlay_strings_1): Add missing argument type.
7293
72942008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
7295
7296 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
7297
7298 * xdisp.c (display_mode_element): Cancel the previous change.
7299 (decode_mode_spec): Likewise.
7300 (handle_auto_composed_prop): Don't make composition if it->string
7301 is a string.
7302
73032008-02-27 Kim F. Storm <storm@cua.dk>
7304
7305 * lisp.h (GLYPH): Change type from int to struct with separate char
7306 and face_id members.
7307 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
7308 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
7309 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
7310 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
7311 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
7312 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
7313 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
7314 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
7315 handle new Lisp glyph code encoding, either an integer or a cons.
7316
7317 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
7318 (GLYPH_ALIAS): Delete.
7319 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
7320 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
7321 (GLYPH_FROM_CHAR): Replace macro by ...
7322 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
7323
7324 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
7325 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
7326 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
7327 (GLYPH_INVALID_P): New macro.
7328 (spec_glyph_lookup_face): Update prototype.
7329
7330 * dispnew.c (line_draw_cost): Adapt to new glyph type.
7331 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
7332 new glyph code encoding.
7333 (spec_glyph_lookup_face): No return value; update passed glyph instead.
7334 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
7335
7336 * xdisp.c (get_next_display_element, next_element_from_display_vector):
7337 Adapt to new glyph type and new glyph code encoding.
7338
7339 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
7340
7341 * indent.c (current_column, current_column_1, Fmove_to_column)
7342 (compute_motion): Adapt to new glyph code encoding.
7343
7344 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
7345
73462008-02-27 Chong Yidong <cyd@stupidchicken.com>
7347
7348 * process.c (wait_reading_process_output): Check for window
7349 changes caused by timers.
7350 Suggested by Johan Bockgård.
7351
73522008-02-27 Glenn Morris <rgm@gnu.org>
7353
7354 * emacs.c (USAGE1): Add `--disable-font-backend'.
7355
73562008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
7357
7358 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
7359 is made to the buffer.
7360
73612008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
7362
7363 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
7364 (face_at_string_position):
7365 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
7366 (face_at_string_position):
7367 * xdisp.c (display_string, next_overlay_change):
7368 * buffer.h (overlays_at):
7369 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
7370 Update callers.
7371
73722008-02-26 Chong Yidong <cyd@stupidchicken.com>
7373
7374 * editfns.c (Fformat): Doc fix.
7375
73762008-02-26 Juanma Barranquero <lekktu@gmail.com>
7377
7378 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
7379 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
7380 (Ffont_otf_alternates, Fquery_font): Doc fixes.
7381
73822008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
7383
7384 * buffer.c (Fbuffer_swap_text): New function.
7385 (syms_of_buffer): Defsubr it.
7386
73872008-02-25 Chong Yidong <cyd@stupidchicken.com>
7388
7389 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
7390
73912008-02-25 Jason Rumney <jasonr@gnu.org>
7392
7393 * w32font.c (w32font_draw): Draw one character at a time when padding.
7394
73952008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
7396
7397 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
7398 Handle a nil arg. Use run_window_configuration_change_hook.
7399 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
7400 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
7401 Use run_window_configuration_change_hook.
7402
74032008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
7404
7405 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
7406 1-pixel width.
7407
74082008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
7409
7410 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
7411 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
7412 if the glyph in the font is zero pixel with.
7413
7414 * dispextern.h (struct glyph_string): New member padding_p.
7415
7416 * w32font.c (w32font_draw): Pay attention to s->padding_p.
7417
7418 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
7419
7420 * xfont.c (xfont_draw): Pay attention to s->padding_p.
7421
7422 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
7423
7424 * font.c: If the font driver doesn't have `shape' function, return Qnil.
7425
74262008-02-25 Jason Rumney <jasonr@gnu.org>
7427
7428 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
7429
74302008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
7431
7432 Allow fine-grained image-cache flushing.
7433 * dispextern.h (struct image): Add `dependencies' field.
7434 (clear_image_caches): Change arg to Lisp_Object.
7435 * image.c (make_image): Initialize `dependencies' field.
7436 (clear_image_cache): Change arg to allow fine-grained flushing.
7437 Perform the flush even if image-cache-eviction-delay is nil.
7438 (clear_image_caches): Change arg to Lisp_Object.
7439 (Fclear_image_cache): Expand meaning of the argument.
7440 (mark_image): Mark `dependencies' field.
7441 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
7442 (lface_hash): Use XHASH rather than XFASTINT.
7443 (face_at_buffer_position): Fix int -> EMACS_INT position.
7444 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
7445 (select_frame_for_redisplay): Remove code duplication.
7446 (redisplay_internal): Adapt arg to call to clear_image_caches.
7447
74482008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
7449
7450 * s/vms4-0.h:
7451 * s/vms4-2.h:
7452 * s/vms4-4.h:
7453 * s/vms5-5.h: Remove, unused.
7454
7455 * s/irix5-2.h:
7456 * s/irix6-0.h:
7457 * s/riscos5.h:
7458 * s/mach-bsd4-3.h:
7459 * m/mips4.h: Remove files for obsolete systems.
7460
7461 * Makefile.in:
7462 * filelock.c:
7463 * unexmips.c:
7464 * m/hp9000s300.h:
7465 * m/iris4d.h:
7466 * s/aix3-1.h:
7467 * s/hpux.h:
7468 * s/msdos.h:
7469 * s/usg5-0.h:
7470 * s/usg5-2-2.h:
7471 * s/usg5-2.h:
7472 * s/usg5-3.h: Remove references to obsolete variables.
7473
7474 * s/irix5-0.h: Remove, move all the contents ...
7475 * s/irix6-5.h: ... here. Simplify.
7476 * config.in: Regenerate.
7477
74782008-02-24 Jason Rumney <jasonr@gnu.org>
7479
7480 * w32term.c (x_draw_glyph_string_background): Clear the background
7481 manually when cleartype is in use.
7482 (x_draw_glyph_string_foreground): Draw text transparently when
7483 cleartype is in use.
7484
7485 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
7486 a font into it unless we have to.
7487
74882008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
7489
7490 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
7491 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
d6c952f8 7492
aac0c6e3
MR
74932008-02-18 Jason Rumney <jasonr@gnu.org>
7494
7495 * w32fns.c (Fw32_shell_execute): Encode parameters.
7496
74972008-02-09 Eli Zaretskii <eliz@gnu.org>
7498
7499 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
7500
75012008-02-05 Juanma Barranquero <lekktu@gmail.com>
7502
7503 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
7504
75052008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
7506
7507 * xterm.c (x_set_offset): Don't change the gravity if
7508 CHANGE_GRAVITY is -1.
7509
75102008-02-23 Chong Yidong <cyd@stupidchicken.com>
7511
7512 * fileio.c (auto_save_error_occurred): New var.
7513 (auto_save_error): Set it.
7514 (Fdo_auto_save): Don't overwrite the error message if an auto-save
7515 error occurred.
7516
75172008-02-23 Eli Zaretskii <eliz@gnu.org>
7518
7519 * w32.c (globals_of_w32): Add initializations for
7520 g_b_init_get_sid_sub_authority and
7521 g_b_init_get_sid_sub_authority_count.
7522
75232008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
7524
7525 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
7526 (font_parse_xlfd): Use them for sanity check.
7527 (Finternal_set_font_style_table): Make sure the table is bijective.
7528
7529 Consolidate the image_cache to the terminal struct.
7530 * termhooks.h (P_): Remove redundant def.
7531 (struct terminal): New field `image_cache'.
7532 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
7533 of FRAME_X_IMAGE_CACHE.
7534 * xterm.h (struct x_display_info): Remove image_cache field.
7535 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7536 * w32term.h (struct w32_display_info): Remove image_cache field.
7537 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7538 * macterm.h (struct mac_display_info): Remove image_cache field.
7539 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7540 * xterm.c (x_term_init):
7541 * w32term.c (w32_term_init):
7542 * macterm.c (mac_term_init): Set the image_cache in the terminal.
7543 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
7544 Remove declarations.
7545 (clear_image_caches, mark_image_cache): New declarations.
7546 * xfaces.c (clear_face_cache):
7547 * xdisp.c (redisplay_internal): Use clear_image_caches.
7548 * image.c (clear_image_cache): Don't check that a frame is on
7549 a window-system before checking if it shares the same cache.
7550 (clear_image_caches): New function.
7551 (Fclear_image_cache): Use it.
7552 (mark_image): Move from allo.c.
7553 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
7554 * alloc.c (mark_image, mark_image_cache): Move to image.c.
7555 (mark_object): Don't call mark_image_cache for frames.
7556 (mark_terminals): Call mark_image_cache.
7557
7558 * lisp.h (Fdelete_terminal): Declare.
7559
7560 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
7561 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
7562 wrong_type_argument.
7563
75642008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
7565
7566 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
7567 malayalam.el, and tamil.el. Add sinhala.el.
7568
75692008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
7570
7571 * xterm.c (x_connection_closed): Consolidate identical tests.
7572 (x_delete_terminal): Don't crash if called via x_connection_closed.
7573
75742008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
7575
7576 * xdisp.c (decode_mode_spec): New arg string.
7577 (display_mode_element): Adjust for the above change.
7578
75792008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
7580
7581 * callint.c (Fcall_interactively): Use AREF.
7582
75832008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
7584
7585 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
7586
75872008-02-18 Jan Djärv <jan.h.d@swipnet.se>
7588
7589 * xfns.c (Fx_show_tip): Set string to " " if empty.
7590
75912008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
7592
7593 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
7594 with Qt.
7595
75962008-02-17 Kenichi Handa <handa@m17n.org>
7597
7598 * ftfont.c (ftfont_shape): Return Lispy number.
7599
7600 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
7601 for GCs.
7602 (Finternal_set_font_selection_order): Call font_update_sort_order
7603 only when enable_font_backend is set.
7604 (realize_x_face): Set face->font_info to that of default face only
7605 when enable_font_backend is set.
7606
7607 * xdisp.c (handle_composition_prop): Set it->c to the fist
7608 character of the composed region.
7609 (fill_composite_glyph_string): Set base_face->font_info to
7610 s->font_info. Get a face for ascii from base_face->ascii_face.
7611 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
7612 with a face already decided.
7613 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
7614 non-negative.
7615 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
7616 call font_prepare_composition unconditionally.
7617
7618 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
7619
7620 * xterm.h (struct x_display_info): New member font.
7621
7622 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
7623 (x_set_mouse_face_gc, x_new_font): Likewise.
7624 (x_term_init): Setup display_info->font.
7625 (x_delete_terminal): Free display_info->font.
7626
7627 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
7628
7629 * ftxfont.c (ftxfont_default_fid): Delete it.
7630 (ftxfont_open): Set xfont->fid to 0.
7631 (ftxfont_end_for_frame): Clear data specific to the frame and the
7632 font-driver.
7633
7634 * xftfont.c (xftfont_default_fid): Delete it.
7635 (xftfont_open): Set xfont->fid to 0.
7636
7637 * fontset.c (FONTSET_OBJLIST): New macro.
7638 (fontset_find_font): Update font-object list of the fontset.
7639 (free_realized_fontset): New function.
7640 (free_face_fontset): Call free_realized_fontset.
7641 (Ffont_info): Call font_close_object only when enable_font_backend
7642 is set.
7643
7644 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
7645 [HAVE_NTGUI]: Include w32term.h.
7646 [MAC_OS]: Include macterm.ch.
7647 (font_otf_ValueRecord): Use make_number.
7648 (font_finish_cache): Fix handling of reference count.
7649 (font_clear_cache): Update num_fonts.
7650 (font_open_entity): Update smallest_char_width and
7651 smallest_font_height of the frame.
7652 (font_close_object): Update num_fonts.
7653 (Fclear_font_cache): Fix finding the target cache data.
7654
76552008-02-16 Glenn Morris <rgm@gnu.org>
7656
7657 * fontset.c (Finternal_char_font): Fix compilation warning.
7658
76592008-02-16 Eli Zaretskii <eliz@gnu.org>
7660
7661 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
7662 instead of char arrays. Enlarge the size of array passed to
7663 get_token_information.
7664
7665 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
7666 warnings.
7667
76682008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
7669
7670 * .gdbinit: Don't set `args', it breaks gdb --args.
7671
76722008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
7673
7674 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
7675 within a narrowed buffer.
7676
76772008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
7678
7679 * coding.c (decode_coding_object, encode_coding_object):
7680 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
7681
76822008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
7683
7684 * coding.c (coding_set_destination): Use BEG_BYTE rather than
7685 hardcoding 1.
7686 (detect_coding_system):
7687 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
7688 (string_char_to_byte, string_byte_to_char, insert_from_gap):
7689 * insdel.c (insert_from_gap):
7690 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
7691 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
7692 (string_to_multibyte):
7693 * character.c (chars_in_text, multibyte_chars_in_text):
7694 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
7695
7696 * character.h (FETCH_STRING_CHAR_ADVANCE)
7697 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
7698 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
7699 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
7700
7701 * casefiddle.c (casify_region): Only call after-change and composition
7702 functions on the part of the region that was changed.
7703
7704 * keyboard.c (read_avail_input):
7705 * frame.c (Fdelete_frame): Call Fdelete_terminal.
7706
77072008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
7708
7709 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
7710 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
7711
77122008-02-11 Juanma Barranquero <lekktu@gmail.com>
7713
7714 * w32menu.c (push_submenu_start, push_submenu_end)
7715 (push_left_right_boundary, push_menu_pane, push_menu_item):
7716 * keyboard.c (read_key_sequence): Don't pass args with side effects
7717 to AREF, it fails when compiling with -DENABLE_CHECKING.
7718
77192008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
7720
7721 * Makefile.in (${lispsource}international/charprop.el):
7722 Delete this target.
7723
7724 * search.c (boyer_moore): Fix incorrect synching of the trunk and
7725 emacs-unicode-2.
7726
77272008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
7728
7729 * terminal.c (Fdelete_terminal): Clean up the `force' path.
7730
77312008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
7732
7733 * frame.c (Qnoelisp): New symbol.
7734 (syms_of_frame): Initialize it.
7735 (Fdelete_frame): Use it to distinguish a mere `force' passed from some
7736 harmless Elisp code, from a strong `force' from x_connection_closed.
7737 * frame.h (Qnoelisp): Declare.
7738 * xterm.c (x_connection_closed): Pass `noelisp'.
7739
7740 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
7741 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
7742 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
7743 rather than `int' for the type of `type'.
7744
77452008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
7746
7747 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
7748
7749 * Makefile.in (GNUC): Remove support for gcc-1.x.
7750
77512008-02-10 Richard Stallman <rms@gnu.org>
7752
7753 * lisp.h (ASET): Use AREF, not ASLOT.
7754
77552008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
7756
7757 * lisp.h (ASET): Check bounds.
7758
77592008-02-10 Glenn Morris <rgm@gnu.org>
7760
7761 * buffer.c (mode-name): Doc fix.
7762
77632008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
7764
7765 * Makefile.in:
7766 * emacs.c:
7767 * gmalloc.c:
7768 * keyboard.c:
7769 * lisp.h:
7770 * m/ibm370aix.h:
7771 * process.c:
7772 * regex.c:
7773 * s/hpux.h:
7774 * sysdep.c:
7775 * sysselect.h:
7776 * systty.h:
7777 * unexec.c:
7778 * w32term.c:
7779 * xsmfns.c:
7780 * xterm.c: Remove code that deals with obsolete variables.
7781
7782 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
7783
7784 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
7785 nothing else needs it anymore.
7786
77872008-02-09 Eli Zaretskii <eliz@gnu.org>
7788
7789 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
7790 instead of unibyte_char_to_multibyte.
7791
77922008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
7793
7794 * s/gnu-linux.h: Remove commented out code.
7795
7796 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
7797
7798 * Makefile.in: Update what RMS says about using autoconf.
7799 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
7800 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
7801 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
7802 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
7803
78042008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
7805
7806 * keymap.c (Fkey_description): Move side effect outside of macro call.
7807
7808 * xfaces.c (Finternal_make_lisp_face):
7809 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
7810
7811 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
7812 (syms_of_fontset): Use ASET.
7813
7814 * fns.c (concat): Move side effect outside of macro call.
7815 (hash_clear): Use ASET.
7816
78172008-02-08 Richard Stallman <rms@gnu.org>
7818
7819 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
7820 If FORCE, and frame has a surrogate minibuffer for another frame,
7821 delete the other frame first.
7822
78232008-02-07 Timo Savola <timo.savola@iki.fi>
7824
7825 * xterm.c (x_detect_focus_change): Handle embed client message.
7826 (handle_one_xevent): Ditto.
7827 (handle_one_xevent): If embedded and we get a button press/release,
7828 request focus.
7829 (xembed_set_info, xembed_send_message): New functions.
7830 (x_make_frame_visible): Call xembed_set_info if embedded.
7831 (x_make_frame_invisible): Call xembed_set_info if embedded.
7832 (x_term_init): Initialize Xatom_XEMBED.
7833 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
7834 (x_iconify_frame): Ditto.
7835
7836 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
7837 (enum xembed_info, enum xembed_message, enum xembed_focus)
7838 (enum xembed_modifier, enum xembed_accelerator): New.
7839 (xembed_set_info, xembed_send_message): Declare.
7840 (FRAME_X_EMBEDDED_P): New.
7841
7842 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
7843 gtk_plug_new.
7844
7845 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
7846 window ID of a frame.
7847 (x_window): Reparent frame if embedded.
7848 (Fx_create_frame): Don't set border width if embedded.
7849
7850 * emacs.c (USAGE3): Add --parent-id.
7851 (standard_args): Ditto.
7852
78532008-02-07 Jan Djärv <jan.h.d@swipnet.se>
7854
7855 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
7856
78572008-02-07 Jim Meyering <meyering@redhat.com>
7858
7859 Use "do...while (0)", not "if (1)...else" in macro definitions.
7860 The latter provokes a warning from gcc about the empty else, when
7861 followed by ";". Also, without that trailing semicolon, it would
7862 silently swallow up any following statement.
7863 * syntax.h (SETUP_SYNTAX_TABLE)
7864 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
7865 * buffer.h (DECODE_POSITION): Likewise.
7866 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
7867 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
7868 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
7869 (FETCH_CHAR_ADVANCE): Likewise.
7870 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
7871
78722008-02-07 Jim Meyering <meyering@redhat.com>
7873
7874 * lread.c [lint]: Don't include <sys/inode.h>.
7875
78762008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
7877
7878 * xselect.c (x_handle_dnd_message):
7879 * xmenu.c (digest_single_submenu, xmenu_show):
7880 * xdisp.c (with_echo_area_buffer_unwind_data)
7881 (format_mode_line_unwind_data, unwind_format_mode_line)
7882 (display_menu_bar):
7883 * eval.c (Ffetch_bytecode):
7884 * doc.c (store_function_docstring):
7885 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
7886 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
7887 * buffer.c (add_overlay_mod_hooklist): Use ASET.
7888
78892008-02-07 Kenichi Handa <handa@m17n.org>
7890
7891 * ftxfont.c (ftxfont_open): Don't set
7892 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
7893
7894 * ftfont.c (ftfont_open): Fix previous change.
7895
78962008-02-06 Jason Rumney <jasonr@gnu.org>
7897
7898 * w32font.c (w32font_text_extents): Fill in lbearing metric.
7899 Use cached metrics for ASCII characters.
7900 (w32font_open_internal): Don't set font's owning_frame.
7901 Cache metrics for ASCII characters.
7902
7903 * w32font.h (struct w32font_info): Add ascii_metrics.
7904 Remove owning_frame.
7905
79062008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
7907
7908 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
7909 to negative value.
7910
7911 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
7912
7913 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
7914
7915 * charset.c (syms_of_charset): Set QCtest and Qeq.
7916
79172008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
7918
7919 * process.c (Fstart_process):
7920 * callproc.c (Fcall_process): Handle the case where
7921 Funhandled_file_name_directory returns nil.
7922
7923 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
7924 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
7925 * font.c (check_gstring): Use them and AREF to access the vector before
7926 we know it's really a gstring.
7927 (Ffont_shape_text): Fix typo.
7928 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Oject mixups.
7929
7930 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
7931 Declare.
7932
7933 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
7934
79352008-02-05 Jason Rumney <jasonr@gnu.org>
7936
7937 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
7938 Set smallest_font_height and smallest_char_width in display info.
7939
79402008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
7941
7942 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
7943
79442008-02-05 Miles Bader <miles@gnu.org>
7945
7946 * xfaces.c (get_lface_attributes, merge_named_face)
7947 (lookup_named_face, lookup_derived_face, realize_named_face):
7948 Revert 2008-02-01 change by cyd@stupidchicken.com.
7949
79502008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
7951
7952 * fontset.c (Ffontset_info): Handle the case of inhibitting the
7953 fallback fonts.
7954 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
7955
79562008-02-04 Jason Rumney <jasonr@gnu.org>
7957
7958 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
7959 set full_name.
7960 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
7961
79622008-02-03 Jason Rumney <jasonr@gnu.org>
7963
7964 * makefile.w32-in (OBJ1): Include font.o here.
7965 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
7966
79672008-02-02 Jason Rumney <jasonr@gnu.org>
7968
7969 * makefile.w32-in (temacs): Bump EMHEAP to 21.
7970
79712008-02-01 Jason Rumney <jasonr@gnu.org>
7972
7973 * s/cygwin.h: Define VIRT_ADDR_VARIES.
7974
7975 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
7976
79772008-02-01 Andreas Schwab <schwab@suse.de>
7978
7979 * Makefile.in (shortlisp, lisp): Update for rename of
7980 ../lisp/language/myanmar.el.
7981
79822008-02-01 Chong Yidong <cyd@stupidchicken.com>
7983
7984 * xfaces.c (get_lface_attributes): Delete function.
7985 (merge_named_face, lookup_named_face, lookup_derived_face)
7986 (realize_named_face): Call lface_from_face_name directly, and use
7987 the fact that merge_face_vectors does not alter its FROM argument.
7988
79892008-02-01 Jason Rumney <jasonr@gnu.org>
7990
7991 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
7992 input in the default locale. Handle non-Unicode multibyte input.
7993
79942008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7995
7996 * fontset.c (reorder_font_vector): Exclude nil elements from the
7997 font group. Don't try multiple fonts.
7998 (fontset_font): Adjust for the above change.
7999 (Finternal_char_font): Return nil if the found font doesn't
8000 contain the character ch.
8001
8002 * Makefile.in (lisp, shortlisp): Add cham.el.
8003
80042008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8005
8006 * font.h (FONTP): Make it return 1 also for a font-object.
8007
8008 * .gdbinit (xfontset): New function.
8009
8010 * font.c (font_find_for_lface): Check if the character C is
8011 supported or not only for the first font.
8012
8013 * fontset.c (reorder_font_vector): Fix typo.
8014 (fontset_find_font): Don't add a font-spec specifying a script.
8015 Use 0 (not Qt) for the indication of empty font-group. Change the
8016 format of RFONT-DEF. Return Qt if no font in the font-group
8017 support the character.
8018 (fontset_font): Adjust for the above change. If no font was
8019 found the character, remember that.
8020 (face_for_char): Adjust for the change of RFONT-DEF.
8021 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
8022 no font for the target.
8023 (Finternal_char_font): Adjust for the change of RFONT-DEF.
8024
80252008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8026
8027 * font.c (font_load_for_face): Handle the case that the font in
8028 face->lface is a string.
8029
80302008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8031
8032 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
8033
80342008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8035
8036 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
8037 Fix previous change. If the frame is not on a window system,
8038 signal an error.
8039
80402008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8041
8042 * coding.c (decode_coding_object, encode_coding_object): Adjust
8043 marker positions after conversion.
8044
8045 * lisp.h (struct Lisp_Marker): New member need_adjustment.
8046
80472008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8048
8049 * font.c (font_find_for_lface): Fix the handling of the return
8050 value of font_has_char.
8051 (Ffont_shape_text): Fix previous change.
8052
8053 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
8054 (fontset_ref_and_range): Delete it.
8055 (fontset_find_font): Call char_table_ref_and_range instead of
8056 FONTSET_REF_AND_RANGE.
8057 (make_fontset): Don't setup font groups of Latin here.
8058 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
8059 (new_fontset_from_font): Make the specified font the default for
8060 all Latin characters.
8061
80622008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8063
8064 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
8065 is on a window system before accessing the fontset of the frame.
8066
80672008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8068
8069 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
8070
8071 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
8072 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
8073
8074 * font.c (Ffont_shape_text): If the font driver doesn't have a
8075 shaper function, make zero-width glyphs to have at least one-pixel
8076 width. Fix setting of `to' field of glyphs.
8077
80782008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8079
8080 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
8081 glyphs.
8082
8083 * font.h (struct font_driver): Improve docstring of member `shape'.
8084
80852008-02-01 Kenichi Handa <handa@m17n.org>
8086
8087 * composite.c (syms_of_composite): Fix docstring of
8088 auto-composition-function.
8089
8090 * font.h (LGLYPH_SIZE): New macro.
8091
8092 * font.c (Ffont_fill_gstring): Stop filling when a character not
8093 supported by the font is found.
8094 (Ffont_shape_text): When a shape callback function returns nil,
8095 try at most two more times with larger gstring.
8096 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
8097
8098 * xdisp.c (handle_auto_composed_prop): Change the argument to
8099 auto-composition-function.
8100
8101 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
8102 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
8103 Lispy glyph and store it in the lgstring.
8104
8105 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
8106
8107 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
8108
81092008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8110
8111 * font.c (Ffont_shape_text): Avoid unnecessary composition.
8112
8113 * fontset.c (Vfont_encoding_charset_alist): New variable.
8114 (syms_of_fontset): DEFVAR it.
8115 (reorder_font_vector, fontset_find_font): Optimize for the case of
8116 no need of reordering.
8117 (face_for_char): Map the charset property by
8118 Vfont_encoding_charset_alist.
8119
81202008-02-01 Jason Rumney <jasonr@gnu.org>
8121
8122 * w32font.c (logfonts_match): Don't check adstyle here.
8123 (font_matches_spec): Check here against physical font instead.
8124 (add_font_entity_to_list): Avoid some substitutions.
8125
8126 * font.c (font_parse_fcname): Default weight and slant to normal.
8127 (font_score): Prefer normal fonts if weight or slant unspecified.
8128 (font_score) [WINDOWSNT]: Scale weight difference down to closer
8129 match freetype scores.
8130
81312008-02-01 Jason Rumney <jasonr@gnu.org>
8132
8133 * w32font.c (w32font_text_extents): Don't use the frame stored in the
8134 font, as it may have been deleted.
8135 (w32_enumfont_pattern_entity): Map generic family to adstyle using
8136 most common hyphenless variation.
8137 (logfonts_match): Check generic family.
8138 (font_matches_spec): Don't check generic family here.
8139 (fill_in_logfont): Set generic family based on adstyle.
8140
8141 * w32font.h (w32font_get_cache): Update declaration.
8142
81432008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8144
8145 * ftfont.c (ftfont_get_cache): Adjust the argument type.
8146
8147 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
8148 If none of the new drivers are available, call font_update_drivers
8149 with the old drivers.
8150
8151 * w32font.c (w32font_get_cache): Adjust the argument type.
8152
8153 * xfont.c (xfont_get_cache): Adjust the argument type.
8154
8155 * font.h (struct font_driver): Change argument type of get_cache.
8156
8157 * xftfont.c (xftfont_start_for_frame): Delete prototype.
8158
8159 * font.c (Ffont_get): Fix arguments to Fassoc.
8160 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
8161 (font_clear_cache): New function.
8162 (font_list_entities, font_matching_entity): Use font_get_cache.
8163 (font_update_drivers): Call font_clear_cache when finishing a driver.
8164
8165 * fontset.c (fontset_find_font): Fix previous change.
8166
81672008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8168
8169 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
8170 dpyinfo->font_table.
8171 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
8172 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
8173
8174 * font.c (font_at): Handle the case that the arg C is negative.
8175 Handle the unibyte case.
8176 (Ffont_at): Call font_at with the arg C -1.
8177
8178 * xdisp.c (handle_auto_composed_prop): Don't get a character at
8179 the position here, and call font_at with the arg C -1.
8180 Don't check the range of the existing composition at the point.
8181
81822008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8183
8184 * fontset.c (fontset_add): New args charset_id and family.
8185 Change caller.
8186 (load_font_get_repertory, fontset_find_font): Assume that
8187 font_spec is always a font-spec object.
8188 (Fset_fontset_font): Always store a font-spec object in a fontset.
8189
8190 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
8191 instead of get_property_and_range.
8192
81932008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8194
8195 * xftfont.c (struct xftfont_info): Delete the member ft_face.
8196 (xftfont_open): Don't keep locking face.
8197 (xftfont_close): Don't unlock face.
8198 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
8199
8200 * fontset.c (fontset_find_font): Don't prefer a font of
8201 supplementary charset.
8202
82032008-02-01 Kenichi Handa <handa@m17n.org>
8204
8205 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
8206 script, langsys_tag to langsys, new member script.
8207 (OTF_TAG_STR): Terminate by '\0'.
8208 (ftfont_get_open_type_spec): If :otf prop is is spec, Limit the
8209 listing to the script specified in that property. Fix arg to
8210 OTF_check_features.
8211
82122008-02-01 Jason Rumney <jasonr@gnu.org>
8213
8214 * w32font.h: New file.
8215
8216 * w32font.c: Include it.
8217 (struct w32font_info): Add owning_frame field. Move to w32font.h.
8218 (w32font_open): Set owning_frame.
8219 (w32font_text_extents): Use owning_frame.
8220 (struct font_callback_data): Add opentype_only field.
8221 (add_font_entity_to_list): Use it to filter fonts.
8222 Don't check against full name.
8223 (w32font_list_internal): New function.
8224 (w32font_list): Use it.
8225 (w32font_match_internal): New function.
8226 (w32font_match): Use it.
8227 (w32font_open_internal): New function.
8228 (w32font_open): Use it.
8229 (w32font_get_cache, w32font_close, w32font_has_char)
8230 (w32font_encode_char, w32font_text_extents, w32font_draw):
8231 Make non-static.
8232
8233 * makefile.w32-in (w32font.o): Depend on w32font.h.
8234
82352008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8236
8237 * charset.c (Fdefine_charset_internal): Record a supplementary
8238 charset at the tail of Vcharset_order_list.
8239
8240 * font.c (Ffont_shape_text): Fix the return value.
8241
8242 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
8243
8244 * xdisp.c (handle_auto_composed_prop): Fix previous change.
8245
82462008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8247
8248 * ftfont.c (struct OpenTypeSpec): New struct.
8249 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
8250 (ftfont_get_open_type_spec): New function.
8251 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
8252
8253 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
8254
82552008-02-01 Jason Rumney <jasonr@gnu.org>
8256
8257 * w32font.c (add_font_entity_to_list): Compare only the beginning
8258 of full name.
8259
82602008-02-01 Kenichi Handa <handa@m17n.org>
8261
8262 * xdisp.c (handle_auto_composed_prop): Simplify the code.
8263 Never return HANDLED_RECOMPUTE_PROPS.
8264
82652008-02-01 Kenichi Handa <handa@m17n.org>
8266
8267 * font.c (font_gstring_produce): Delete it.
8268
8269 * composite.h (COMPOSITION_METHOD):
8270 Handle COMPOSITION_WITH_GLYPH_STRING.
8271
82722008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8273
8274 * xfont.c (Qx): Delete.
8275 (syms_of_xfont): Don't initialize Qx.
8276
8277 * composite.h (enum composition_method):
8278 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
8279
82802008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8281
8282 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
8283 (choose_face_font): Accept new form of font-spec.
8284
8285 * frame.h (font_driver_list): Declare it unconditionally.
8286 (struct frame): Define members font_driver_list and font_data_list
8287 unconditionally.
8288
8289 * fontset.c: Include "font.h" unconditionally.
8290 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
8291 (Fset_fontset_font): Accept a font-spec object.
8292
8293 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
8294 PIXEL_SIZE part a wild card.
8295
8296 * dispextern.h (struct glyph_string): Define members clip and
8297 num_clips unconditionally.
8298 (struct face): Define members font_info and extra unconditionally.
8299
8300 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
8301 ftfont_info only when HAVE_LIBOTF is defined.
8302
83032008-02-01 Andreas Schwab <schwab@suse.de>
8304
8305 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
8306 and end.
8307
83082008-02-01 Jason Rumney <jasonr@gnu.org>
8309
8310 * w32font.c (w32font_driver): Add new fields.
8311
83122008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8313
8314 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
8315 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
8316 (LIBES): Add @M17N_FLT_CFLAGS@.
8317
8318 * composite.c (compose_text): Don't treat the new style
8319 composition specially.
8320
8321 * emacs.c (main): Call syms_of_font unconditionally.
8322
8323 * font.h (FONT_ENTITY_NOT_LOADABLE)
8324 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
8325 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
8326 (struct font_driver): New member shape.
8327 (font_registry_charsets): Extern it.
8328 (font_find_for_lface, font_prepare_composition): Adjust prototype.
8329 (font_otf_capability, font_drive_otf): Delete their externs.
8330
8331 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
8332 (font_charset_alist, font_registry_charsets): Move from xfont.c
8333 and rename.
8334 (font_prop_validate_otf): New function.
8335 (font_property_table): Register it for QCotf.
8336 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
8337 (font_drive_otf): Delete.
8338 (font_prepare_composition): New arg F. Adjust for the change of
8339 lispy gstring.
8340 (font_find_for_lface): New arg C.
8341 (font_load_for_face): Adjust for the change of font_find_for_lface.
8342 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
8343 lispy gstring.
8344 (Ffont_shape_text): New function.
8345 (Fopen_font): If the font size is not given, use 12-pixel.
8346 (Ffont_at): New arg STRING.
8347 (syms_of_font): Initalize font_charset_alist.
8348 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
8349 conditionally.
8350
8351 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
8352 fonts of the same font-spec. Change the format of RFONT-DEF.
8353 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
8354 Adjust for the change of RFONT-DEF.
8355 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
8356
8357 * ftfont.h: New file.
8358
8359 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
8360 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
8361 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
8362 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
8363 font_otf_capability and font_drive_otf, set ftfont_shape.
8364 (ftfont_list): Adjust for the change of :otf property value.
8365 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
8366 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
8367 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
8368 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
8369 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
8370 (otf_gstring, gstring, m17n_flt_initialized): New variables.
8371
8372 * w32term.c (x_draw_composite_glyph_string_foreground):
8373 Adjust for the change of lispy gstring.
8374
8375 * xdisp.c (handle_composition_prop): Adjust for the change of
8376 lispy gstring. Call a function for auto-composition with the
8377 third arg it->window.
8378 (fill_composite_glyph_string): Adjust for the change of lispy string.
8379 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
8380
8381 * xfaces.c (set_font_frame_param): Adjust for the change of
8382 font_find_for_lface.
8383
8384 * xfont.c (x_font_charset_alist): Move to font.c and rename.
8385 (xfont_registry_charsets): Likewise. Change caller.
8386 (syms_of_xfont): Don't handle x_font_charset_alist.
8387
8388 * xftfont.c: Include "ftfont.h".
8389 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
8390 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
8391 (xftfont_close) [HAVE_LIBOTF]: Close otf.
8392 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
8393 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
8394 Set xftfont_driver.shape to xftfont_shape.
8395
8396 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
8397 the change of lispy gstring.
8398
83992008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8400
8401 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
8402
84032008-02-01 Jason Rumney <jasonr@gnu.org>
8404
8405 * w32font.c (w32font_draw): Fill background manually.
8406
84072008-02-01 Jason Rumney <jasonr@gnu.org>
8408
8409 * font.c (Qfontp): Remove unused symbol.
8410 (QCantialias): New symbol.
8411 (syms_of_font): Define it.
8412 (font_property_table): Set a validator for QCantialias.
8413
8414 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
8415 Define if not already.
8416 (QCfamily): Share with xfaces.c.
8417 (Qstandard, Qsubpixel, Qnatural): New symbols.
8418 (syms_of_w32font): Define them. Don't define QCfamily here.
8419 (w32_antialias_type, lispy_antialias_type): New functions.
8420 (w32_enumfont_pattern_entity): New arg requested_font.
8421 Set antialias parameter if non-default was requested.
8422 (fill_in_logfont): Fill in lfQuality if :antialias specified.
8423
84242008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8425
8426 * lread.c (read1): Undo the previous change.
8427
84282008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
8429
8430 * frame.c (Fdelete_frame): Call font_update_drivers only when
8431 USE_FONT_BACKEND is defined.
8432
84332008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8434
8435 * font.h (struct font_bitmap): New member bits_per_pixel.
8436 (struct font_driver): New members start_for_frame and end_for_frame.
8437 (struct font_data_list): New struct.
8438 (font_put_frame_data, font_get_frame_data): Extern them.
8439
8440 * frame.h (struct frame): New member font_data_list.
8441
8442 * font.c (font_update_drivers): Call driver->start_for_frame and
8443 driver->end_for_frame at proper timings.
8444 (font_put_frame_data, font_get_frame_data): New functions.
8445 (Ffont_spec): Add usage in the docstring.
8446
8447 * frame.c (make_frame): Initialize f->font_data_list to NULL.
8448 (Fdelete_frame): Call font_update_drivers.
8449
8450 * xftfont.c (struct xftface_info): Delete the member xft_draw.
8451 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
8452 (xftfont_get_xft_draw): New function.
8453 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
8454 (xftfont_end_for_frame): New function.
8455 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
8456
8457 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
8458 Change argument. Cache GCs in the per-frame data.
8459 (struct ftxfont_frame_data): New struct.
8460 (ftxfont_draw_bitmap): New arg gc_fore and flush.
8461 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
8462 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
8463 (ftxfont_end_for_frame): New function.
8464 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
8465
8466 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
8467
84682008-02-01 Kenichi Handa <handa@m17n.org>
8469
8470 * xselect.c (Vselection_coding_system)
8471 (Vnext_selection_coding_system): Delete them.
8472 (syms_of_xselect): Don't declare selection-coding-system and
8473 next-selection-coding-system. They are declared in select.el.
8474
84752008-02-01 Jason Rumney <jasonr@gnu.org>
8476
8477 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
8478
8479 * w32fns.c: Include imm.h.
8480 (get_composition_string_fn, get_ime_context_fn): New optional
8481 system functions.
8482 (globals_of_w32fns): Load them from imm32.dll.
8483 (ignore_ime_char): New flag.
8484 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
8485 WM_IME_ENDCOMPOSITION messages.
8486
8487 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
8488 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
8489
84902008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8491
8492 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
8493 (READCHAR_REPORT_MULTIBYTE): New macro.
8494 (readchar): New 2nd arg MULTIBYTE.
8495 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
8496 Make symbol's name multibyte according to the multibyteness of the
8497 source.
8498
84992008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8500
8501 * xfaces.c (face_for_overlay_string): Call lookup_face with
8502 correct arguments (fix of synching with the trunk).
8503
85042008-02-01 Kenichi Handa <handa@m17n.org>
8505
8506 * font.c (font_prop_validate_symbol, font_prop_validate_style)
8507 (font_prop_validate_non_neg, font_prop_validate_spacing):
8508 Delete argument prop_index.
8509 (font_property_table): Change arguments to validater. Change Callers.
8510 (font_lispy_object): Delete.
8511 (font_at): Use font_find_object instead fo font_lispy_object.
8512
85132008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8514
8515 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
8516 and file names.
8517
85182008-02-01 Jason Rumney <jasonr@gnu.org>
8519
8520 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
8521 (font_matches_spec): Remove debug output.
8522 (add_font_entity_to_list): Avoid using substituted fonts.
8523
85242008-02-01 Jason Rumney <jasonr@gnu.org>
8525
8526 * doc.c (Fsnarf_documentation):
8527 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
8528
85292008-02-01 Miles Bader <miles@gnu.org>
8530
8531 * dispextern.h (struct glyph_row): Only define "clip" field if
8532 HAVE_WINDOW_SYSTEM is defined.
8533
85342008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
8535
8536 Fix up multi-tty merge.
8537
8538 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
8539 and indentation.
8540
8541 * xfaces.c (free_realized_face, clear_face_gcs):
8542 Include font_done_for_face in the input_blocked section, just in case.
8543
8544 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
8545 (get_char_face_and_encoding): Undo last change and remove the *other*
8546 duplicate definition (i.e. keep the one that's better scoped and that
8547 includes code for the font-backend).
8548
8549 * terminal.c (create_terminal): Default keyboard_coding to
8550 `no-conversion' and terminal_coding to `undecided'.
8551
8552 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
8553
8554 * fontset.c (free_realized_fontsets): Check that the table entry does
8555 contain a fontset before trying to compare it to `base'.
8556
8557 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
8558 syms_of_charset, and syms_of_coding earlier because init_window_once
8559 now needs Vcoding_system_hash_table to be setup.
8560
8561 * coding.h (default_buffer_file_coding): Remove.
8562
8563 * coding.c (default_buffer_file_coding): Remove.
8564 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
8565 than ->symbol, and use the terminal-local coding system.
8566 (syms_of_coding): Don't setup the coding-systems that are not
8567 terminal-local.
8568 (Fdefine_coding_system_internal): Use XCAR/XCDR.
8569
8570 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
8571 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
8572
8573 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
8574 in chartab.c and were re-added here by mistake.
8575 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
8576
8577 * doc.c (Fsnarf_documentation):
8578 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
8579 src to etc.
8580
8581 * ChangeLog.10: Add mistakenly removed entry.
8582
85832008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
8584
8585 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
8586
85872008-02-01 Miles Bader <miles@gnu.org>
8588
8589 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
8590 Add extra args to FACE_FOR_CHAR.
8591
85922008-02-01 Kenichi Handa <handa@m17n.org>
8593
8594 * keymap.c (where_is_internal_1): If key is a cons, store the copy
8595 in sequence.
8596
8597 * chartab.c (map_sub_char_table, map_char_table): If the range
8598 contains just one character, call the function with that character
8599 even if the depth is not 3.
8600
86012008-02-01 Jason Rumney <jasonr@gnu.org>
8602
8603 * w32font.c (w32font_text_extents): Calculate metrics for the
8604 whole string.
8605
86062008-02-01 Jason Rumney <jasonr@gnu.org>
8607
8608 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
8609
86102008-02-01 Jason Rumney <jasonr@gnu.org>
8611
8612 * w32term.c (x_set_glyph_string_clipping): Use
8613 get_glyph_string_clip_rects.
8614 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
8615 Adjust for the change of struct glyph_string.
8616
8617 * w32font.c (w32font_draw): Do clipping here.
8618
86192008-02-01 Kenichi Handa <handa@m17n.org>
8620
8621 * xftfont.c (xftfont_draw): Adjust for the change of struct
8622 glyph_string.
8623
8624 * xterm.c (x_set_glyph_string_clipping): Use
8625 get_glyph_string_clip_rects.
8626 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
8627 Adjust for the change of struct glyph_string.
8628
8629 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
8630 the resulting clip(s}.
8631 (expose_overlaps): Add arg r. Change callers. Set it to
8632 row->clip temporarily.
8633 (expose_window): Redraw rows overlapping the exposed area.
8634
8635 * dispextern.h (struct glyph_row): New member clip.
8636 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
8637 clip_height, new member clip, and num_clips.
8638
86392008-02-01 Kenichi Handa <handa@m17n.org>
8640
8641 * data.c (Fchar_or_string_p): Fix docstring.
8642
86432008-02-01 Kenichi Handa <handa@m17n.org>
8644
8645 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
8646 create a temporary XftDraw object.
8647
86482008-02-01 Kenichi Handa <handa@m17n.org>
8649
8650 * font.c (Ffontp): Fix docstring.
8651
8652 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
8653 strong evidence of ISO-2022.
8654
86552008-02-01 Kenichi Handa <handa@m17n.org>
8656
8657 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
8658 SYNTAX_ENTRY_FOLLOW_PARENT.
8659
86602008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
8661
8662 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
8663 its type.
8664 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
8665 Update to the new type of weak_hash_tables and next_weak.
8666
8667 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
8668 a plain C pointer to Lisp_Hash_Table.
8669
8670 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
8671 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
8672 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
8673 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
8674 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
8675 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
8676 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
8677 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
8678 (GC_EQ): Remove since they've been identical to their non-GC_
8679 alter-egos ever since the markbit was eradicated.
8680
8681 * alloc.c:
8682 * buffer.c:
8683 * buffer.h:
8684 * data.c:
8685 * fileio.c:
8686 * filelock.c:
8687 * fns.c:
8688 * frame.h:
8689 * lisp.h:
8690 * macterm.c:
8691 * print.c:
8692 * process.c:
8693 * w32fns.c:
8694 * w32menu.c:
8695 * w32term.c:
8696 * xfns.c:
8697 * xmenu.c:
8698 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
8699
87002008-02-01 Kenichi Handa <handa@m17n.org>
8701
8702 * chartab.c (map_sub_char_table): Make it work for the top-level
8703 char-table. Fix handling of parent char-table.
8704 (map_char_table): Adjust for the above change.
8705
87062008-02-01 Jason Rumney <jasonr@gnu.org>
8707
8708 * w32font.c (Qgdi): Rename from Qw32.
8709
87102008-02-01 Jason Rumney <jasonr@gnu.org>
8711
8712 * w32bdf.c (get_quoted_string): Make function static.
8713
87142008-02-01 Kenichi Handa <handa@m17n.org>
8715
8716 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
8717 bigger ascent and descent than those of the font, use them as
8718 font's ascent and descent.
8719
87202008-02-01 Kenichi Handa <handa@m17n.org>
8721
8722 * Makefile.in (${lispsource}international/charprop.el): Move this
8723 target within "#ifdef HAVE_UNIDATA" and "#endif".
8724
87252008-02-01 Kenichi Handa <handa@m17n.org>
8726
8727 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
8728 (shortlisp): Add ../lisp/language/tai-viet.el.
8729
87302008-02-01 Ulrich Mueller <ulm@gentoo.org>
8731
8732 * Makefile.in (${lispsource}international/charprop.el): Depend on
8733 temacs${EXEEXT}.
8734
87352008-02-01 Jason Rumney <jasonr@gnu.org>
8736
8737 * w32font.c (w32font_close): Delete the GDI font object.
8738
8739 * w32menu.c: Include character.h.
8740
8741 * w32proc.c: Likewise.
8742
8743 * w32select.c: Likewise.
8744
8745 * makefile.w32-in (w32proc.o): Depend on character.h.
8746
87472008-02-01 Jason Rumney <jasonr@gnu.org>
8748
8749 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
8750
8751 * w32menu.c (syms_of_w32menu): Likewise.
8752
8753 * w32proc.c (syms_of_ntproc): Likewise.
8754
8755 * w32select.c (syms_of_w32select): Likewise.
8756
8757 * w32term.c (syms_of_w32term): Likewise.
8758
87592008-02-01 Jason Rumney <jasonr@gnu.org>
8760
8761 * w32font.c (w32font_draw): Delete brush after using it.
8762
87632008-02-01 Jason Rumney <jasonr@gnu.org>
8764
8765 * w32font.c (w32font_open): Don't set font_idx.
8766 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
8767 to font settings.
8768 (w32font_draw): Fill background explicitly.
8769
87702008-02-01 Jason Rumney <jasonr@gnu.org>
8771
8772 * w32term.c (w32_initialize): Don't call w32font_initialize.
8773
8774 * w32font.c (w32font_info): Remove subranges.
8775 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
8776 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
8777 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
8778 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
8779 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
8780 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
8781 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
8782 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
8783 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
8784 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
8785 New symbols.
8786 (font_callback_data): New struct.
8787 (w32font_list, w32font_match): Use it.
8788 (w32font_open): Don't populate subranges.
8789 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
8790 (w32font_encode_char): Always return unicode code-point as-is.
8791 (w32font_text_extents): Supply a transformation matrix to
8792 GetGlyphOutline. Never look up by glyph index. Avoid looping
8793 twice. Use unicode version of GetTexExtentPoint32 instead of
8794 glyph index version.
8795 (set_fonts_frame): Remove.
8796 (w32_enumfont_pattern_entity): Add frame parameter, use it to
8797 set frame parameter. Use backward compatible fake foundries.
8798 Save generic family in extra slot under QCfamily. Make width slot
8799 constant. Save QCspacing value. Save list of scripts instead of
8800 binary subranges.
8801 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
8802 (add_font_entity_to_list): Use font_callback_data struct. Filter
8803 unwanted fonts.
8804 (add_one_font_entity_to_list): Use font_callback_data struct.
8805 (w32_registry): Default to iso10646_1.
8806 (fill_in_logfont): Use dpi from extra slot. Don't bother with
8807 string font registries. Don't fill in font name if it is a generic
8808 family name, fill family instead. Use spacing, family and script
8809 extra info to fill pitch, family and charset fields.
8810 (list_all_matching_fonts): Use font_callback_data struct.
8811 (unicode_range_for_char): Remove.
8812 (font_supported_scripts): New function.
8813 (w32font_initialize): Remove.
8814 (syms_of_w32font): Update which symbols are defined.
8815
88162008-02-01 Jason Rumney <jasonr@gnu.org>
8817
8818 * font.c (font_pixel_size): Reverse assq_no_quit args.
8819
8820 * w32term.h (FONT_WIDTH): Report max width, not average.
8821 (FONT_MAX_WIDTH): Remove.
8822 (FONT_AVG_WIDTH): New macro.
8823
8824 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
8825 redefinition of FONT_WIDTH.
8826
8827 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
8828 (w32_cache_char_metrics): Use FONT_WIDTH.
8829
8830 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
8831
88322008-02-01 Jason Rumney <jasonr@gnu.org>
8833
8834 * w32font.c (w32font_open): Make lfHeight negative.
8835
8836 * w32fns.c (x_default_font_parameter): Use new style font name.
8837 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
8838
88392008-02-01 Jason Rumney <jasonr@gnu.org>
8840
8841 * w32font.c (QCsubranges): New symbol.
8842 (w32font_open, w32font_has_char): Get subranges from subproperty
8843 of extra.
8844 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
8845 (syms_of_w32font): Define :subranges symbol.
8846
8847 * font.c (font_put_extra): Expose externally.
8848
8849 * font.h (font_put_extra): Move declaration from font.c.
8850
8851 * font.c (Ffont_get): Use font driver to determine otf capability.
8852 (adjust_anchor): Check if driver defines anchor_point before using.
8853
8854 * w32font.c (w32font_open): Handle size, height and pixel_size better.
8855 (w32font_draw): Use options.
8856 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
8857 Fix detection of truetype fonts.
8858 (registry_to_w32_charset): Handle charsets other than iso8859-1
8859 expressed as lisp symbols.
8860 (w32_registry): Express charset as lisp symbol.
8861 (fill_in_logfont): Reverse pixel and point height logic.
8862 Don't set width here. Set quality to default.
8863
8864 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
8865 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
8866
8867 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
8868 Remove redundant loop and allocation.
8869
8870 * makefile.w32-in (font.o, w32font.o): New objects.
8871 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
8872 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
8873
8874 * xdisp.c (fill_composite_glyph_string): Make the first arg to
8875 STORE_XCHARB a valid l-value.
8876
8877 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
8878 calculations for non-Truetype fonts.
8879 (x_draw_glyph_string): Sync with xterm.c.
8880 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
8881 Remove redundant code.
8882 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
8883
8884 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
8885 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
8886
8887 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
8888 (x_to_w32_charset, w32_to_x_charset): Expose externally.
8889
8890 * w32font.c: New file for w32 font backend.
8891
88922008-02-01 Kenichi Handa <handa@m17n.org>
8893
8894 * term.c: Don't include "buffer.h" twice.
8895
88962008-02-01 Kenichi Handa <handa@m17n.org>
8897
8898 * character.c (Funibyte_string): New function.
8899 (syms_of_character): Defsubr it.
8900
89012008-02-01 Jason Rumney <jasonr@gnu.org>
8902
8903 * w32term.c [USE_FONT_BACKEND]:
8904 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
8905 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
8906 (x_draw_glyph_string, x_draw_glyph_string_foreground)
8907 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
8908 (x_free_frame_resources): Sync with xterm.c.
8909
89102008-02-01 Andreas Schwab <schwab@suse.de>
8911
8912 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
8913 char-table size.
8914
89152008-02-01 Kenichi Handa <handa@m17n.org>
8916
8917 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
8918
89192008-02-01 Kenichi Handa <handa@m17n.org>
8920
8921 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
8922 font_otf_gpos, add font_drive_otf.
8923
8924 * fontset.c (fontset_find_font): Pay attention to font size
8925 specified for a font.
8926 (reorder_font_vector): Check contents of font_def.
8927
8928 * font.c (struct otf_list): Delete it.
8929 (otf_list): Make it a lisp variable.
8930 (otf_open): Use lispy otf_list.
8931 (generate_otf_features): Rename from parse_gsub_gpos_spec.
8932 (check_otf_features): New function.
8933 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
8934 New functions.
8935 (font_drive_otf): New function merging font_otf_gsub and
8936 font_otf_gpos.
8937 (font_open_for_lface): New arg spec. Change argument order.
8938 (font_load_for_face): Adjust for the change of font_open_for_lface.
8939 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
8940 Ffont_otf_gpos.
8941 (syms_of_font): Staticpro otf_list. Delete defsubr of
8942 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
8943
8944 * xfaces.c (set_font_frame_param): Adjust for the change of
8945 font_open_for_lface.
8946
8947 * font.h (font_open_for_lface): Adjust prototype.
8948 (struct font_driver): Delete members otf_gsub and otf_gpos, add
8949 member otf_drive.
8950 (font_otf_gsub, font_otf_gpos): Delete externs.
8951 (font_drive_otf): Extern it.
8952
89532008-02-01 Kenichi Handa <handa@m17n.org>
8954
8955 * font.c (font_at): If the window W is not on a window system,
8956 return Qnil.
8957
8958 * coding.c (produce_chars, encode_coding): Don't call
8959 insert_from_gap if no characters to produce.
8960
89612008-02-01 Kenichi Handa <handa@m17n.org>
8962
8963 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
8964 Fclear_face_cache.
8965
8966 * xfaces.c (face_for_font): Check also face->font==font->font.font.
8967
89682008-02-01 Miles Bader <miles@gnu.org>
8969
8970 * emacs.c (main): Change default value of `enable_font_backend' to 1.
8971 Parse "--disable-font-backend" option.
8972 (standard_args): Add "--disable-font-backend" option.
8973
89742008-02-01 Kenichi Handa <handa@m17n.org>
8975
8976 * fontset.c (fontset_find_font): New function.
8977 (fontset_font): Use fontset_find_font.
8978 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
8979 Register the specified font for all Latin characters.
8980 (new_fontset_from_font): Register the specified font for all Latin
8981 characters.
8982 (dump_fontset): For a realized fontset, include the base fontset
8983 name in the returned vector.
8984
89852008-02-01 Kenichi Handa <handa@m17n.org>
8986
8987 * character.h (CHAR_STRING): Cast C to unsigned on calling
8988 char_string.
8989
8990 * character.c (char_string): Type of arg C changed to unsigned.
8991 Signal an error if C is an invalid character code.
8992
8993 * editfns.c (general_insert_function, Fchar_to_string):
8994 Use CHARACTERP, not INTEGERP.
8995
89962008-02-01 Kenichi Handa <handa@m17n.org>
8997
8998 * character.h (MIN_MULTIBYTE_LEADING_CODE)
8999 (MAX_MULTIBYTE_LEADING_CODE): New macros.
9000
9001 * regex.c (analyse_first): Fix for multibyte characters in "case
9002 charset:" and "case categoryspec:".
9003
90042008-02-01 Andreas Schwab <schwab@suse.de>
9005
9006 * Makefile.in (LIBES): Move standard libraries to the end.
9007
90082008-02-01 Kenichi Handa <handa@m17n.org>
9009
9010 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
9011 nonzero, don't shrink the buffer nextb.
9012
9013 * buffer.h (struct buffer_text): New member inhibit_shrinking.
9014
9015 * coding.c (coding_alloc_by_making_gap): New arg offset.
9016 (alloc_destination): Call coding_alloc_by_making_gap with the arg
9017 offset.
9018 (decode_coding_iso_2022): Update coding->safe_charsets.
9019 (decode_coding_gap): Temporarily set
9020 current_buffer->text->inhibit_shrinking to 1.
9021
90222008-02-01 Kenichi Handa <handa@m17n.org>
9023
9024 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
9025 indexing into elements of s->cmp and s->char2b.
9026
90272008-02-01 Juanma Barranquero <lekktu@gmail.com>
9028
9029 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
9030
90312008-02-01 Kenichi Handa <handa@m17n.org>
9032
9033 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
9034 target_multibyte instead of multibyte.
9035 (re_match_2_internal): Call bcmp_translate with target_multibyte.
9036 (bcmp_translate): Change the argument name from multibyte to
9037 target_multibyte.
9038
90392008-02-01 Kenichi Handa <handa@m17n.org>
9040
9041 These changes are to compile a regexp into a pattern that can be
9042 used both for multibyte and unibyte targets.
9043
9044 * Makefile.in (search.o): Depend on charset.h.
9045
9046 * character.c (multibyte_char_to_unibyte_safe): New function.
9047
9048 * search.c: Include "charset.h".
9049 (compile_pattern_1): Delete argument multibyte. Don't set
9050 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
9051 (compile_pattern): Don't compare cp->buf.target_multibyte.
9052 Compare cp->buf.charset_unibyte.
9053 (compile_pattern): Set cp->buf.target_multibyte.
9054
9055 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
9056
9057 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
9058
9059 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
9060 multibyte. Change callers.
9061 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
9062 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
9063 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
9064 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
9065 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
9066 (regex_compile): Make the compiled pattern usable both for
9067 multibyte and unibyte targets.
9068 (analyse_first): Make the fastmap usable both for multibyte and
9069 unibyte targets.
9070 (TRANSLATE_VIA_MULTIBYTE): Delete.
9071 (re_match_2_internal): Pay attention to the case that the
9072 multibyteness of bufp and target may be different.
9073
90742008-02-01 Kenichi Handa <handa@m17n.org>
9075
9076 * xdisp.c (x_produce_glyphs): When a font is not found, make the
9077 empty box occupy at least one column width.
9078
90792008-02-01 Miles Bader <miles@gnu.org>
9080
9081 * Makefile.in: Remove redundant HAVE_XFT clause.
9082
90832008-02-01 Kenichi Handa <handa@m17n.org>
9084
9085 * xrdb.c (x_load_resources): Setup the default fontSet X resource.
9086
90872008-02-01 Kenichi Handa <handa@m17n.org>
9088
9089 * fontset.c (Finternal_char_font): Fix for the case of POSITION
9090 being nil.
9091
90922008-02-01 Kenichi Handa <handa@m17n.org>
9093
9094 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
9095
90962008-02-01 Kenichi Handa <handa@m17n.org>
9097
9098 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
9099
91002008-02-01 Kenichi Handa <handa@m17n.org>
9101
9102 * search.c (simple_search): Fix previous change.
9103
91042008-02-01 Kenichi Handa <handa@m17n.org>
9105
9106 * xftfont.c (ftfont_font_format): Extern declaration.
9107
9108 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
9109
9110 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
9111 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
9112
9113 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
9114 (ftfont_font_format): Fix previous change.
9115
9116 * font.h (Ffont_xlfd_name): EXFUN it.
9117
9118 * font.c (font_parse_xlfd): Fix the array size of `f'.
9119 (register_font_driver): Use EQ to compare driver->type.
9120
9121 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
9122 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
9123 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
9124
91252008-02-01 Kenichi Handa <handa@m17n.org>
9126
9127 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
9128 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
9129
91302008-02-01 Kenichi Handa <handa@m17n.org>
9131
9132 * xfont.c (xfont_open): Set font->format.
9133
9134 * xftfont.c (xftfont_open): Set font->format.
9135
9136 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
9137 (ftfont_list): Include FC_FONTFORMAT in FcObject.
9138 (ftfont_open): Set font->format.
9139 (ftfont_font_format): New function.
9140
9141 * font.h (struct font): New member format.
9142
9143 * font.c (Qopentype): New variable.
9144 (syms_of_font): Defsym it.
9145 (Fquery_font): Change the format of the last element of the return
9146 value.
9147
91482008-02-01 Kenichi Handa <handa@m17n.org>
9149
9150 * xfns.c (xic_create_xfontset): Try the default fontset name as a
9151 last resort.
9152
91532008-02-01 Kenichi Handa <handa@m17n.org>
9154
9155 * coding.c (detect_coding_charset): Fix detection of multi-byte
9156 charset.
9157
91582008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
9159
9160 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
9161
91622008-02-01 Kenichi Handa <handa@m17n.org>
9163
9164 * xdisp.c (get_next_display_element): Set it->face_id for the
9165 first component of a composition.
9166 (x_produce_glyphs): Check if the font is changed or not for composition.
9167
91682008-02-01 Kenichi Handa <handa@m17n.org>
9169
9170 * fontset.c (Qlatin): New variable.
9171 (syms_of_fontset): Define it as a lisp symbol.
9172 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
9173
91742008-02-01 Kenichi Handa <handa@m17n.org>
9175
9176 * font.c (font_unparse_fcname): Pay attention to the case that
9177 some of font property is a null string.
9178
91792008-02-01 Kenichi Handa <handa@m17n.org>
9180
9181 * term.c: Include "composite.h".
9182 (encode_terminal_code): Output all components of composition.
9183 Check the size of encode_terminal_src.
9184 (produce_glyphs): For composition, call produce_composite_glyph.
9185 (append_composite_glyph, produce_composite_glyph): New functions.
9186
9187 * xdisp.c (x_produce_glyphs): In handling composition, if a font
9188 is not found, get font_info from the current ascii face.
9189
91902008-02-01 Kenichi Handa <handa@m17n.org>
9191
9192 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
9193 buffer-file-name to Qnil before calling insert_from_buffer.
9194
9195 * font.c (font_unparse_fcname): Pay attention to the case that
9196 foundry is a null string.
9197
91982008-02-01 Kenichi Handa <handa@m17n.org>
9199
9200 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
9201
9202 * font.c (Qunicode_sip): New variable.
9203 (syms_of_font): Declare it as a Lisp symbol.
9204
9205 * font.h (Qunicode_sip): Extern it.
9206
92072008-02-01 Kenichi Handa <handa@m17n.org>
9208
9209 * composite.c (get_composition_id): Pay attention to TAB component.
9210
9211 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
9212 TAB. Adjust for the change of s->char2b which always points to
9213 the first element of allocated memory.
9214
9215 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
9216
9217 * xdisp.c (handle_composition_prop): Set it->c to the first
9218 non-TAB component.
9219 (fill_composite_glyph_string): Change argument.
9220 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
9221 (x_produce_glyphs): Fix handling of left/right padding.
9222
92232008-02-01 Kenichi Handa <handa@m17n.org>
9224
9225 * coding.c (detect_coding_system): Fix for handling off
9226 inhibit_iso_escape_detection. Fix for the case that no coding
9227 system is defined for a specific coding category.
9228
92292008-02-01 Kenichi Handa <handa@m17n.org>
9230
9231 * font.c (font_matching_entity): Delete unused local var.
9232
9233 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
9234 opening a font.
9235
9236 * fileio.c (Finsert_file_contents): On recovering a file, assume
9237 Unix-like eol.
9238 (choose_write_coding_system): On auto-saving a file, force
9239 Unix-like eol.
9240
9241 * coding.c (setup_coding_system): Fix setting of
9242 coding->common_flags based on eol_type.
9243 (coding_inherit_eol_type): If PARENT is not nil, be sure to
9244 inherit from it.
9245
92462008-02-01 Kenichi Handa <handa@m17n.org>
9247
9248 * alloc.c (NSTATICS): Increas to 0x600.
9249
92502008-02-01 Kenichi Handa <handa@m17n.org>
9251
9252 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
9253 (ftfont_list): Don't check :name property.
9254 (ftfont_match): New function.
9255 (ftfont_pattern_entity): If the pattern doesn't contain
9256 FC_SPACING, don't assume FC_MONO.
9257
9258 * font.h (struct font_driver): New member `match'.
9259 (font_update_drivers): Adjust prototype.
9260
9261 * font.c (font_parse_fcname, font_parse_name): Don't change :name
9262 property of FONT.
9263 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
9264 them unconditionally.
9265 (font_matching_entity): New function.
9266 (font_open_by_name): Try font_matching_entity if exact match is
9267 not found.
9268 (font_update_drivers): Delete the arg FONT. Return a list of
9269 actually used backends. Don't free faces, font caches here.
9270 Don't store data in frame parameters. Don't call x_set_font.
9271 (Ffont_spec): Store :name property as is.
9272 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
9273 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
9274 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
9275 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
9276 Call font->driver->otf_gsub instead of font_otf_gsub.
9277
9278 * frame.c (x_set_font_backend): Do more works that were done in
9279 font_update_drivers before.
9280
9281 * xfont.c (xfont_match): New function.
9282 (xfont_driver): Set xfont_driver.match to xfont_match.
9283 (xfont_draw): Set font in GC if necessary.
9284
9285 * ftxfont.c (ftxfont_match): New function.
9286 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
9287
9288 * xftfont.c (xftfont_match): New function.
9289 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
9290
92912008-02-01 Kenichi Handa <handa@m17n.org>
9292
9293 * font.h (struct font): New member scalable.
9294 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
9295 (font_otf_gsub): Adjust prototype.
9296
9297 * font.c (font_otf_capability): Fix handling of the default langsys.
9298 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
9299 Check the contents of SPEC.
9300 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
9301 (check_gstring): New function.
9302 (REPLACEMENT_CHARACTER): New macro.
9303 (font_otf_gsub): New arg alternate_subst. Be sure to set all
9304 glyph codes of GSTRING.
9305 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
9306 (font_prepare_composition): Set cmp->glyph_len.
9307 (font_open_entity): Set font->scalable.
9308 (Ffont_get): Handle :otf property.
9309 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
9310 functions.
9311 (Fquery_font): Use font->font.full_name.
9312 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
9313 Sfont_otf_alternates.
9314
9315 * ftfont.c (ftfont_open): Set font->font.full_name and
9316 font->font.name properly. Fix calculation of font->font.height
9317 and font->min_width.
9318
9319 * ftxfont.c (ftxfont_create_gcs): New function.
9320 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
9321 (ftxfont_draw_backgrond): Fix filling region.
9322 (ftxfont_default_fid): New function.
9323 (ftxfont_open): Set xfont->fid to the return value of
9324 ftxfont_default_fid.
9325 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
9326 (ftxfont_done_face): Free only GCs that are created by
9327 ftxfont_create_gcs.
9328 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
9329
9330 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
9331 Clip to src->width, etc (not src->clip_XXX).
9332
9333 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
9334 FontBackend frame parameter.
9335
93362008-02-01 Kenichi Handa <handa@m17n.org>
9337
9338 * font.h (struct font_driver_list): New member `on'.
9339 (Fclear_font_cache): EXFUN it.
9340 (font_update_drivers): Extern it.
9341
9342 * font.c (font_unparse_fcname): Fix typo (swidth->width).
9343 (font_list_entities): Check driver_list->on.
9344 (register_font_driver): Initalize `on' member to 0.
9345 (font_update_drivers): New function.
9346 (Fclear_font_cache): Check driver_list->on.
9347
9348 * frame.h (Qfont_backend): Extern it.
9349 (x_set_font_backend): Extern it.
9350
9351 * frame.c (Qfont_backend): New variable.
9352 (frame_parms): New element for font-backend.
9353 (x_set_font_backend): New function.
9354
9355 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
9356 FontBackend frame parameter.
9357 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
9358 x_set_font_backend.
9359
9360 * xfont.c (xfont_list): Don't try listing by :name property if the
9361 name is not for XLFD.
9362
93632008-02-01 Kenichi Handa <handa@m17n.org>
9364
9365 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
9366 (LGLYPH_SET_TO): New macros.
9367 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
9368 element of G is vector or not.
9369 (font_at): Extern it.
9370
9371 * font.c: Include window.h.
9372 (font_lispy_object): New function.
9373 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
9374 end of valid glyph.
9375 (font_close_object): Fix getting (struct font *).
9376 (font_at): New function.
9377 (Ffont_get): If FONT is a font-object, get entity from it.
9378 (Ffont_make_gstring): Initialize elements of glyphs with nil.
9379 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
9380 range check.
9381 (Ffont_at): New function.
9382 (syms_of_font): Defsubr Sfont_at.
9383
9384 * xdisp.c (it_props): Move the entry for Qauto_composed to just
9385 before the entry for Qcomposition.
9386 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
9387 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
9388 the font in gstring.
9389 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
9390 LGLYPH_FORM (g) to detect the end of valid glyph.
9391 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
9392 we are composing with gstring.
9393
9394 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
9395 Check if adjustment is vector or not.
9396
9397 * Makefile.in (font.o): Make it depends on window.h.
9398
93992008-02-01 Kenichi Handa <handa@m17n.org>
9400
9401 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
9402 adjustment is vector or not.
9403
94042008-02-01 Miles Bader <miles@gnu.org>
9405
9406 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
9407
94082008-02-01 Kenichi Handa <handa@m17n.org>
9409
9410 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
9411 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
9412 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
9413
9414 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
9415 (DEVICE_DELTA): Fix typo.
9416 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
9417 LGLYPH format.
9418
9419 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
9420 the change of LGLYPH format.
9421
94222008-02-01 Kenichi Handa <handa@m17n.org>
9423
9424 * ftfont.c (ftfont_list): Fix typo.
9425 (ftfont_build_basic_charsets): Don't include letters with diacritics.
9426
94272008-02-01 Jan Djärv <jan.h.d@swipnet.se>
9428
9429 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
9430
9431 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
9432 xftface_info is non-NULL.
9433
94342008-02-01 Jan Djärv <jan.h.d@swipnet.se>
9435
9436 * ftfont.c (ftfont_list): Move misplaced #endif.
9437
94382008-02-01 Kenichi Handa <handa@m17n.org>
9439
9440 * ftfont.c (ftfont_list): Pay attention to the case that
9441 FC_CAPABILITY is not defined.
9442
94432008-02-01 Kenichi Handa <handa@m17n.org>
9444
9445 * xftfont.c (xftfont_open): Set charset related members to -1.
9446
9447 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
9448 QCname.
9449 (ftfont_open): Set charset related members to -1.
9450
9451 * fontset.c (Votf_script_alist): New variable.
9452 (syms_of_fontset): Initialize it.
9453 (fontset_font): Delete unused variable.
9454
9455 * fontset.h (Votf_script_alist): Extern it.
9456
9457 * font.c (font_find_for_lface): Optimize code.
9458
9459 * font.h (font_close_object, font_merge_old_spec): Extern them.
9460
94612008-02-01 Kenichi Handa <handa@m17n.org>
9462
9463 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
9464 (syms_of_font): Initialize them.
9465 (font_pixel_size): Allow float value in dpi.
9466 (font_prop_validate_type): Delete.
9467 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
9468 Change caller.
9469 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
9470 (font_prop_validate_extra): Delete.
9471 (font_prop_validate_spacing): New function.
9472 (font_property_table): Add elements for all known properties.
9473 (get_font_prop_index): Rename from check_font_prop_name. New
9474 argument FROM. Change caller.
9475 (font_prop_validate): Validate all known properties.
9476 (font_put_extra): Delete argument force. Change caller.
9477 (font_expand_wildcards): Make it static. Fix the way of shrinking
9478 the possible range.
9479 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
9480 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
9481 Change caller.
9482 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
9483 (font_parse_fcname): Delete argument merge. Fix parsing of point
9484 size. Don't validate properties values here. Change caller.
9485 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
9486 (font_open_by_name): Delete unused variable.
9487 (Ffont_spec): Likewise. Validate property values.
9488 (Ffont_match_p): New function.
9489
9490 * font.h (QCscalable): Extern it.
9491 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
9492
9493 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
9494
9495 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
9496 (xfont_list_pattern): New function.
9497 (xfont_list): Use xfont_list_pattern.
9498
94992008-02-01 Kenichi Handa <handa@m17n.org>
9500
9501 * font.h (Flist_fonts): EXFUN it.
9502
95032008-02-01 Jason Rumney <jasonr@gnu.org>
9504
9505 * w32term.c (w32_initialize): Add back smoothing_type and
9506 smoothing_enabled definitions.
9507
95082008-02-01 Kenichi Handa <handa@m17n.org>
9509
9510 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
9511 s->face->font on determining underline position.
9512
95132008-02-01 Kenichi Handa <handa@m17n.org>
9514
9515 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
9516 (font_has_char): Accept font-object too.
9517 (font_find_for_lface): Try at first with a size specified in face.
9518
95192008-02-01 Kenichi Handa <handa@m17n.org>
9520
9521 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
9522 font_open_by_name.
9523
95242008-02-01 Kenichi Handa <handa@m17n.org>
9525
9526 * font.h (QCspacing, QCdpi): Extern them.
9527 (enum font_spacing): New enum.
9528 (FONT_PIXEL_SIZE_QUANTUM): New macro.
9529
9530 * font.c (POINT_TO_PIXEL): Don't divide POINT by 10.
9531 (QCspacing, QCdpi): New variables.
9532 (syms_of_font): Initialize them.
9533 (font_pixel_size): New function.
9534 (font_put_extra): New function.
9535 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
9536 in FONT_EXTRA.
9537 (font_parse_fcname): Handle enumerated values (e.g. bold).
9538 Fix handling font size. Add QCname property that contains only
9539 unknown properties.
9540 (font_score): Change argument. Change caller. Pay attention to
9541 FONT_PIXEL_SIZE_QUANTUM.
9542 (font_sort_entites, font_list_entities, font_find_for_lface)
9543 (font_open_for_lface, font_open_by_name): Fix handling of font size.
9544 (Ffont_spec): Add QCname property that contains only unknown properties.
9545
9546 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
9547 include weight in listing pattern, instead check weight of each
9548 listed font. Don't include scalable in pattern. Pay attention to
9549 FONT_PIXEL_SIZE_QUANTUM.
9550
95512008-02-01 Kenichi Handa <handa@m17n.org>
9552
9553 * font.c (font_parse_fcname): Fix parsing of point-size.
9554 (font_unparse_fcname): Produce symbolic names for style properties.
9555 (font_list_entities): Handle float size correctly.
9556 (font_open_by_name): Prefer `normal' property values if the name
9557 doesn't specify them.
9558
9559 * fontset.c (Finternal_char_font): Use font_get_name, not
9560 Ffont_xlfd_name.
9561
9562 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
9563 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
9564 pattern. Don't force scalable.
9565
9566 * xftfont.c (xftfont_open): For generating a name, start from
9567 96-byte buffer.
9568
95692008-02-01 Jan Djärv <jan.h.d@swipnet.se>
9570
9571 * frame.h (x_new_fontset2): Fix prototype.
9572
95732008-02-01 Kenichi Handa <handa@m17n.org>
9574
9575 * font.h (struct font_driver): Delete member parse_name.
9576 (font_match_p, font_get_spec, font_parse_fcname)
9577 (font_unparse_fcname): Extern them.
9578 (font_get_name): Adjust prototype.
9579
9580 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
9581 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
9582 (font_expand_wildcards): Fix handling ENCODING field. Avoid
9583 unnecessary checks for weight, slant, and swidth.
9584 (font_parse_fcname): New function.
9585 (font_unparse_fcname): New function.
9586 (font_parse_name): New function.
9587 (font_match_p): New function.
9588 (font_get_name): Change return value to Lisp string.
9589 (font_get_spec): New function.
9590 (Qunspecified, Qignore_defface): Don't extern them.
9591 (font_find_for_lface): Assume that LFACE is fully specified.
9592 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
9593 object, use it for FACE.
9594 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
9595 driver->parse_name.
9596 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
9597
9598 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
9599 prototype.
9600
9601 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
9602 argument F. Don't call Fnew_fontset. Instead, directly call
9603 make_fontset.
9604
9605 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
9606
9607 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
9608 of x_new_fontset2.
9609
9610 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
9611 (Qsans__serif): New variables.
9612 (ftfont_generic_family_list): New variable.
9613 (syms_of_ftfont): Initialize the above variables.
9614 (ftfont_pattern_entity): Delete argument NAME.
9615 (ftfont_list_generic_family): New function.
9616 (ftfont_parse_name): Delete this function.
9617 (ftfont_list): Try generic family only when FcFontList found no font.
9618 (ftfont_list_family): Fix args to FcObjectSetBuild.
9619
9620 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
9621 object in attrs[LFACE_FONT_INDEX].
9622 (set_lface_from_font_name): Cancel all changes for font-backend.
9623 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
9624 function.
9625 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
9626 font object in QCfont attribute.
9627 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
9628 (realize_default_face) [USE_FONT_BACKEND]: Call
9629 set_lface_from_font_and_fontset.
9630
9631 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
9632 "fixed", and signal error here if no suitable font was found.
9633
9634 * xfont.c (xfont_parse_name): Delete this function.
9635
9636 * xftfont.c (xftfont_open): Change coding style of error
9637 handling. Generate fontconfig's fontname pattern.
9638
9639 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
9640 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
9641
9642 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
9643 Both args FONTSET and FONT_OBJECT must be existing ones.
9644
96452008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9646
9647 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
9648
96492008-02-01 Kenichi Handa <handa@m17n.org>
9650
9651 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
9652
9653 * font.h (struct font): Fix typo.
9654
9655 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
9656 XLFD_XXX_INDEX.
9657 (enum xlfd_field_mask): New enum.
9658 (intern_font_field): Changed argument. Change caller. If digits
9659 are followed by non-digits, return a symbol.
9660 (font_expand_wildcards): New function.
9661 (font_parse_xlfd): Fix wildcard handling.
9662 (Ffont_spec): If :name is specified, reflect the info in the other
9663 properties.
9664
9665 * ftfont.c (ftfont_pattern_entity): Fix typo.
9666 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
9667 locale.
9668
96692008-02-01 Kenichi Handa <handa@m17n.org>
9670
9671 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
9672
9673 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
9674 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
9675 registry doesn't specify encoding part.
9676 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
9677 (font_open_by_name): At first try parsing the name.
9678 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
9679 as Lisp symbols.
9680
9681 * fontset.c (reorder_font_vector): Pay attention to the case that
9682 the 3rd element of font_def is nil.
9683 (fontset_font): For the default fontset, append one more fontset
9684 elements for a script-based font specification. Don't add script
9685 attribute on finding a font.
9686 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
9687 font name.
9688 (fontset_ascii_font): If a font can't be opened, return nil.
9689
9690 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
9691 (ftfont_pattern_entity): New function.
9692 (ftfont_get_cache): Assume that freetype_font_cache is already
9693 initialized.
9694 (ftfont_list): Handle the case that a file is specified in font
9695 name. Use ftfont_pattern_entity to generate entities.
9696 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
9697 (syms_of_ftfont): Initialize freetype_font_cache.
9698
9699 * xftfont.c (xftfont_open): Make the font name fontconfig's
9700 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
9701 (xftfont_close): Free font->font.name if not NULL.
9702
9703 * xfont.c (xfont_list): If script is specified for a font, return
9704 null_vector.
9705 (xfont_list_family): Declare argument type.
9706
9707 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
9708 name, set LFACE_FONT (lface) to nil.
9709
9710 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
9711 return Qnil.
9712
97132008-02-01 Kenichi Handa <handa@m17n.org>
9714
9715 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
9716 (standard_args): Add "-enable-font-backend".
9717
97182008-02-01 Kenichi Handa <handa@m17n.org>
9719
9720 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
9721 (struct xftdraw_list, xftdraw_list): Delete them.
9722 (register_xftdraw, check_xftdraw): Delete them.
9723 (xftfont_prepare_face): Don't call register_xftdraw.
9724 (xftfont_done_face): Don't call check_xftdraw.
9725 (xftfont_draw): Get background color only when with_background is
9726 nonzero.
9727
9728 * xfont.c (xfont_encode_char): Fix calculation of char2b.
9729
97302008-02-01 Kenichi Handa <handa@m17n.org>
9731
9732 These changes are for the new font handling codes.
9733
9734 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
9735 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
9736 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
9737 (FONTSRC, FONTOBJ): New variables.
9738 (obj): Add $(FONTOBJ).
9739 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
9740 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
9741 @LIBOTF_LIBS@.
9742 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
9743 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
9744
9745 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
9746
9747 * character.h (Vscript_representative_chars): Extern it.
9748
9749 * character.c (Vscript_representative_chars): New variable.
9750 (syms_of_character): Declare it as a Lisp variable.
9751
9752 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
9753 enable_font_backend is nonzero, accept the composition method
9754 COMPOSITION_WITH_GLYPH_STRING.
9755
9756 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
9757 enumeration COMPOSITION_WITH_GLYPH_STRING.
9758
9759 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
9760 members clip_x, clip_y, clip_width, and clip_height.
9761 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
9762
9763 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
9764 --enable-font-backend. Call syms_of_font.
9765
9766 * fns.c (assoc_no_quit): New function.
9767
9768 * fontset.h (FONT_INFO_FROM_FACE): New macro.
9769 (face_for_font, new_fontset_from_font)
9770 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
9771
9772 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
9773 (fontset_font, fontset_ascii, face_for_char)
9774 (make_fontset_for_ascii_face, Ffont_info)
9775 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
9776 is nonzero, use font-backend mechanism.
9777 (find_font_encoding): Make it non-static.
9778 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
9779 New functions.
9780
9781 * frame.h (struct frame): New members resx and resy.
9782 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
9783 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
9784
9785 * frame.c [USE_FONT_BACKEND]: Include "font.h".
9786 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
9787
9788 * lisp.h (assoc_no_quit): Extern it.
9789
9790 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
9791 Through out the file, use FONT_INFO_FROM_FACE instead of
9792 FONT_INFO_FROM_ID, use get_per_char_metric instead of
9793 rif->per_char_metric.
9794 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
9795 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
9796 (get_glyph_face_and_encoding, fill_composite_glyph_string)
9797 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
9798 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
9799 nonzero, use font-backend mechanism.
9800 (get_per_char_metric): New function.
9801
9802 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
9803 (set_lface_from_font_name)
9804 (set_font_frame_param, free_realized_face)
9805 (prepare_face_for_display, clear_face_gcs)
9806 (Finternal_set_font_selection_order, realize_x_face)
9807 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
9808 font-backend mechanism.
9809 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
9810 (load_face_font) [USE_FONT_BACKEND]: Abort.
9811 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
9812 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
9813
9814 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
9815 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
9816 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
9817 nonzero, register all available font drivers. Call
9818 x_default_font_parameter for deciding a font.
9819 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
9820
9821 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
9822 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
9823 (x_set_glyph_string_clipping_exactly)
9824 (x_compute_glyph_string_overhangs)
9825 (x_draw_glyph_string_foreground)
9826 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
9827 (x_free_frame_resources) [USE_FONT_BACKEND]: If
9828 enable_font_backend is nonzero, use font-backend mechanism.
9829 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
9830
98312008-02-01 Kenichi Handa <handa@m17n.org>
9832
9833 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
9834 system_eol_type.
9835 (syms_of_coding): Initialize system_eol_type.
9836
9837 * process.c (Fset_process_coding_system): Inherit system's eol
9838 format if necessary.
9839
98402008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9841
9842 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
9843
98442008-02-01 Kenichi Handa <handa@m17n.org>
9845
9846 * coding.c (decode_eol): Pay attention to buffer relocation in
9847 del_range_2.
9848 (decode_coding): Call decode_eol before restoring undo_list.
9849
98502008-02-01 Kenichi Handa <handa@m17n.org>
9851
9852 * charset.c (Fdefine_charset_internal): Fix setting of
9853 emacs_mule_bytes.
9854
98552008-02-01 Kenichi Handa <handa@m17n.org>
9856
9857 * keyboard.c (read_char): Check if C is a character or not before
9858 looking up Vkeyboard_translate_table.
9859
98602008-02-01 Kenichi Handa <handa@m17n.org>
9861
9862 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
9863 condition to terminate the loop.
9864
98652008-02-01 Kenichi Handa <handa@m17n.org>
9866
9867 * coding.c (produce_composition): Compare charbuf[i] instead of
9868 args[i] against 0.
9869 (Fterminal_coding_system): Use EQ to compare Lisp objects.
9870
98712008-02-01 Kenichi Handa <handa@m17n.org>
9872
9873 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
9874 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
9875 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
9876 detect_coding.
9877 (emacs_mule_char): Handle old style (Emacs 20) component character
9878 of a composition.
9879 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
9880 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
9881 composition rule.
9882 (decode_coding_emacs_mule): Handle invalid bytes correctly.
9883
98842008-02-01 Kenichi Handa <handa@m17n.org>
9885
9886 * coding.c (encode_coding_ccl): Allocate destination dynamically
9887 when necessary.
9888
98892008-02-01 Kenichi Handa <handa@m17n.org>
9890
9891 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
9892 the loop. When quitted, show a proper error message.
9893
98942008-02-01 Kenichi Handa <handa@m17n.org>
9895
9896 * xterm.c (x_set_glyph_string_clipping_exactly): Set
9897 src->clip_head and src->clip_tail temporarily instead of src->hl.
9898
9899 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
9900 character sequence.
9901 (Fccl_execute_on_string): Use ASET, not XSET.
9902
99032008-02-01 Kenichi Handa <handa@m17n.org>
9904
9905 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
9906
99072008-02-01 Kenichi Handa <handa@m17n.org>
9908
9909 * coding.c (decode_coding): Fix the condition of terminating the
9910 decoding loop.
9911
99122008-02-01 Kenichi Handa <handa@m17n.org>
9913
9914 * data.c (Faset): On setting a character bigger than 255 in a
9915 unibyte string, signal an error instead of make the string multibyte.
9916
99172008-02-01 Kenichi Handa <handa@m17n.org>
9918
9919 * charset.c (map_charset_chars): Fix for ascii-compatible charset
9920 made by a mapping table.
9921
99222008-02-01 Kenichi Handa <handa@m17n.org>
9923
9924 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
9925 not.
9926 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
9927 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
9928
9929 * xterm.c (x_draw_composite_glyph_string_foreground): Check
9930 s->face is NULL or not.
9931
99322008-02-01 Kenichi Handa <handa@m17n.org>
9933
9934 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
9935 (x_draw_glyph_string): Fix drawing of right_overhang and
9936 left_overhang around/on cursor.
9937
9938 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
9939
99402008-02-01 Kenichi Handa <handa@m17n.org>
9941
9942 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
9943
99442008-02-01 Kenichi Handa <handa@m17n.org>
9945
9946 * coding.c (Fdefine_coding_system_internal)
9947 (Fdefine_coding_system_alias): Avoid a duplicated element in
9948 Vcoding_system_alist.
9949
99502008-02-01 Kenichi Handa <handa@m17n.org>
9951
9952 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
9953
9954 * coding.c (Qcoding_system_define_form): New variable.
9955 (syms_of_coding): Intern and staticpro it.
9956 (Fcoding_system_p): Check Qcoding_system_define_form.
9957 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
9958
9959 * coding.h (CODING_SYSTEM_P): If ID is not available, call
9960 Fcoding_system_p.
9961 (CHECK_CODING_SYSTEM): If ID is not available, call
9962 Fcheck_coding_system.
9963 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
9964 Try also Fcheck_coding_system.
9965
99662008-02-01 Kenichi Handa <handa@m17n.org>
9967
9968 * coding.c (code_conversion_restore): GCPRO arg.
9969
99702008-02-01 Kenichi Handa <handa@m17n.org>
9971
9972 * character.c (lisp_string_width): Check multibyteness of STRING.
9973
99742008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9975
9976 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
9977 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
9978 (decode_mac_font_name): Use decode_coding_c_string instead of
9979 decode_coding.
9980 (x_load_font): Initialize fontp->fontset to -1. Set
9981 fontp->encoding_type.
9982
99832008-02-01 Kenichi Handa <handa@m17n.org>
9984
9985 * search.c (search_buffer): Give up BM search on case-fold-search
9986 if one of a target character has a case-equivalence of different
9987 byte length even if that target charcter is an ASCII.
9988 (simple_search): Fix calculation of byte length of matched text.
9989 (boyer_moore): Fix handling of case-equivalent multibyte characters.
9990
99912008-02-01 Kenichi Handa <handa@m17n.org>
9992
9993 * coding.c (decode_coding): Fix handling of invalid bytes.
9994
99952008-02-01 Kenichi Handa <handa@m17n.org>
9996
9997 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
9998 Unicode characters.
9999
100002008-02-01 Kenichi Handa <handa@m17n.org>
10001
10002 * coding.c (encode_coding_object): If a pre-write-conversion
10003 function makes a new buffer, kill it.
10004
100052008-02-01 Kenichi Handa <handa@m17n.org>
10006
10007 * coding.c (QCascii_compatible_p): New variable.
10008 (syms_of_coding): Initialize it.
10009 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
10010 calling string_char.
10011 (record_conversion_result): Add `default:' case.
10012 (coding_charset_list): Delete unused variable `coding_type'.
10013 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
10014 property in the plist of the coding system.
10015 (Fcoding_system_put): Check QCascii_compatible_p.
10016
100172008-02-01 Miles Bader <miles@gnu.org>
10018
10019 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
10020 removed calculation of frame `f', as it's now used.
10021
100222008-02-01 Kenichi Handa <handa@m17n.org>
10023
10024 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
10025 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
10026 (UNIDATA): New variable.
10027 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
10028 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
10029 $(RUN_TEMACS) unconditionally.
10030
100312008-02-01 Kenichi Handa <handa@m17n.org>
10032
10033 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
10034 (admindir): New variable.
10035 ($(lispsource)international/charprop.el): New target.
10036
100372008-02-01 Miles Bader <miles@gnu.org>
10038
10039 * character.c (chars-in-region): Remove obsolete function.
10040 (syms_of_character): Remove its initialization.
10041
100422008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
10043
10044 * w32select.c (validate_coding_system)
10045 (setup_windows_coding_system): New functions.
10046 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
10047 setup_windows_coding_system.
10048 (setup_config, Fw32_get_clipboard_data): Use
10049 validate_coding_system.
10050 (Fx_selection_exists): Move call to setup_config to a place
10051 where signals are allowed.
10052
10053 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
10054 (Fcheck_coding_system): Add declarations.
10055
100562008-02-01 Kenichi Handa <handa@m17n.org>
10057
10058 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
10059
100602008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10061
10062 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
10063 string as the second argument for x_new_fontset.
10064
100652008-02-01 Kenichi Handa <handa@m17n.org>
10066
10067 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
10068 (encode_coding_object): Use safe_call instead of call2.
10069
100702008-02-01 Kenichi Handa <handa@m17n.org>
10071
10072 * fontset.c (Fset_fontset_font): Check family element of a given vector.
10073
10074 * Makefile.in (lisp): Include charprop.el.
10075
100762008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10077
10078 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
10079 Not sure if it's unnecessary.
10080
100812008-02-01 Steven Tamm <steventamm@mac.com>
10082
10083 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
10084 some possibly unnecessary fontset checking code that crashed
10085 when creating a new frame.
10086
100872008-02-01 Kenichi Handa <handa@m17n.org>
10088
10089 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
10090 lookup_face.
10091
10092 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
10093
10094 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
10095
100962008-02-01 Kenichi Handa <handa@m17n.org>
10097
10098 * coding.c: Cancel the change done in HEAD on 2008-02-01.
10099 (coding_charset_list): New function.
10100
10101 * coding.h (coding_charset_list): Extern it.
10102
101032008-02-01 Kenichi Handa <handa@m17n.org>
10104
10105 * fontset.c (Fset_fontset_font): Call find_font_encoding with
10106 concatenation of family and registry.
10107
101082008-02-01 Kenichi Handa <handa@m17n.org>
10109
10110 * character.h (BYTE8_STRING): Fix typo.
10111
10112 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
10113 string to multibyte (sync to HEAD).
10114
10115 * casefiddle.c (casify_region): Handle changes in byte-length
10116 using replace_range_2 (sync to HEAD).
10117
101182008-02-01 Andreas Schwab <schwab@suse.de>
10119
10120 * chartab.c (map_char_table): GCPRO table and arg.
10121
101222008-02-01 Kenichi Handa <handa@m17n.org>
10123
10124 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
10125 already at limit.
10126
101272008-02-01 Kenichi Handa <handa@m17n.org>
10128
10129 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
10130 instead of fast_c_string_match_ignore_case.
10131 (find_font_encoding): Change argument to Lisp_Object. Use
10132 fast_string_match_ignore_case instead of
10133 fast_c_string_match_ignore_case. Change caller.
10134
101352008-02-01 Kenichi Handa <handa@m17n.org>
10136
10137 * xdisp.c (get_next_display_element): In unibyte case, decide to
10138 display in octal form by checking a character by
10139 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
10140
10141 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
10142
10143 * character.c (unibyte_has_multibyte_table): New variable.
10144
10145 * character.h (unibyte_has_multibyte_table): Extern it.
10146 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
10147
101482008-02-01 Kenichi Handa <handa@m17n.org>
10149
10150 * coding.c (encode_coding_iso_2022): Fix handling of charset
10151 annotation.
10152
101532008-02-01 Kenichi Handa <handa@m17n.org>
10154
10155 * coding.c (setup_coding_system): If coding_system is nil, use
10156 Qundecided.
10157 (Fterminal_coding_system): Return nil if terminal coding system is
10158 `undecided'.
10159 (syms_of_coding): Define coding-system `undecided' here. Setup
10160 terminal_coding as `undecided'.
10161
101622008-02-01 Kenichi Handa <handa@m17n.org>
10163
10164 * xdisp.c (message_dolog, set_message_1): Call
10165 unibyte_char_to_multibyte with arg type int.
10166
10167 * lread.c (read1): Fix reading of a char-table.
10168
10169 * print.c (print_object): Include sub char-table in circularities
10170 detection.
10171
101722008-02-01 Kenichi Handa <handa@m17n.org>
10173
10174 * keymap.c (where_is_internal_2): Fix for the case that KEY is a cons.
10175 Append the found sequences in car of ARGS instead of prepending.
10176
101772008-02-01 Kenichi Handa <handa@m17n.org>
10178
10179 * fileio.c (report_file_error): Make a unibyte string from
10180 strerror (errorno).
10181 (Fsubstitute_in_file_name): Fix the arg to
10182 unibyte_char_to_multibyte. It is evaluated twice.
10183
101842008-02-01 Kenichi Handa <handa@m17n.org>
10185
10186 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
10187
101882008-02-01 Kenichi Handa <handa@m17n.org>
10189
10190 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
10191 BOM is not found.
10192 (detect_coding, detect_coding_system): Optimization for ISO-2022
10193 when no 8-bit data is found.
10194
101952008-02-01 Jason Rumney <jasonr@gnu.org>
10196
10197 * w32fns.c (x_to_w32_font): Update to use new coding struct.
10198
101992008-02-01 Kenichi Handa <handa@m17n.org>
10200
10201 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
10202 CHARS.
10203
102042008-02-01 Steven Tamm <steventamm@mac.com>
10205
10206 * macterm.c (mac_encode_char): Add charset argument and update
10207 to use encoding_type.
10208 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
10209 switch to pure fontset.
10210 (decode_mac_font_name): Temporarily remove decoding.
10211 (x_font_name_to_mac_font_name): Temporarily remove encoding.
10212 (x_load_font): Temporarily remove encoding.
10213
102142008-02-01 Kenichi Handa <handa@m17n.org>
10215
10216 * xfaces.c (Fface_font): If frame is not on a window system,
10217 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
10218 refer to face->font.
10219 (split_font_name_into_vector, build_font_name_from_vector)
10220 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
10221 when HAVE_WINDOW_SYSTEM is defined.
10222
102232008-02-01 Kenichi Handa <handa@m17n.org>
10224
10225 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
10226 (x_produce_glyphs): Fix setting of members of cmp in case
10227 cmp->glyph_len is zero.
10228
10229 * fontset.c (Fset_fontset_font): Fix docstring.
10230 (Ffontset_info): Make it backward compatible. New arg ALL.
10231
102322008-02-01 Kim F. Storm <storm@cua.dk>
10233
10234 * process.c (read_process_output): Grow decoding_buf when needed;
10235 this could cause a crash in allocate_string and compact_small_strings.
10236
102372008-02-01 Kenichi Handa <handa@m17n.org>
10238
10239 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
10240
102412008-02-01 Kenichi Handa <handa@m17n.org>
10242
10243 * coding.c (setup_coding_system): Set coding->common_flags
10244 correctly for raw-text.
10245 (consume_chars): On encoding unibyte text by raw-text, don't check
10246 multibyte form.
10247 (encode_coding): On encoding by raw-text, never use translation tables.
10248
10249 * fileio.c (e_write): Short cut for the case of no encoding.
10250
102512008-02-01 Kenichi Handa <handa@m17n.org>
10252
10253 * coding.c (detect_coding, detect_coding_system): Delete unused
10254 variables.
10255
102562008-02-01 Kenichi Handa <handa@m17n.org>
10257
10258 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
10259 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
10260
102612008-02-01 Kenichi Handa <handa@m17n.org>
10262
10263 * coding.c (Ffind_coding_systems_region_internal): Include
10264 raw-text and no-conversion in the result.
10265
102662008-02-01 Kenichi Handa <handa@m17n.org>
10267
10268 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
10269 (load_font_get_repertory): Delete unnecessary check of ENCODING of
10270 FONT_DEF.
10271 (font_def_arg, add_arg, from_arg, to_arg): New args.
10272 (set_fontset_font): Change argument.
10273 (Fset_fontset_font): Fix for the case that TARGET is a script
10274 name and charset name.
10275 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
10276
102772008-02-01 Kenichi Handa <handa@m17n.org>
10278
10279 * fontset.c (fontset_font): Rename from fontset_face. Change return
10280 value.
10281 (face_suitable_for_char_p, face_for_char): Adjust for the change
10282 of fontset_font.
10283 (make_fontset_for_ascii_face): Fix setting of the fontset element
10284 for ASCII.
10285 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
10286 to get a font name.
10287 (Ffontset_info): Adjust for the change of fontset_font.
10288
10289 * coding.c (emacs_mule_char): Check invalid code more rigidly.
10290
10291 * character.h (LEADING_CODE_LATIN_1_MIN)
10292 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
10293
102942008-02-01 Kenichi Handa <handa@m17n.org>
10295
10296 * editfns.c (check_translation): New function.
10297 (Ftranslate_region_internal): Handle M:N mapping.
10298
102992008-02-01 Kenichi Handa <handa@m17n.org>
10300
10301 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
10302
103032008-02-01 Kenichi Handa <handa@m17n.org>
10304
10305 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
10306 goto invalid_code.
10307 (decode_coding_iso_2022): Fix handling of invalid designation.
10308
10309 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
10310 after calling code_conversion_save.
10311
103122008-02-01 Kenichi Handa <handa@m17n.org>
10313
10314 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
10315
10316 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
10317
10318 * fontset.c: Include "intervals.h".
10319 (fontset_face): Fix comparing of Lisp_Objects.
10320 (free_face_fontset, new_fontset_from_font_name): Fix
10321 Lisp_Object/int mixup.
10322
10323 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
10324
10325 * coding.c: Add many prototypes for static functions.
10326 (get_translation_table): Allow max_lookup to be NULL.
10327 (decode_coding, Ffind_coding_systems_region_internal)
10328 (Funencodable_char_position, Fcheck_coding_systems_region): Call
10329 get_translation_table with max_lookup NULL.
10330
103312008-02-01 Kenichi Handa <handa@m17n.org>
10332
10333 * coding.c (get_translation_table): Declare it as Lisp_Object.
10334 (LOOKUP_TRANSLATION_TABLE): New macro.
10335 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
10336 instead of CHAR_TABLE_REF.
10337
103382008-02-01 Kenichi Handa <handa@m17n.org>
10339
10340 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
10341 annotation data format.
10342 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
10343 Change arguments FROM and TO to single argument NCHARS. Change caller.
10344 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
10345 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
10346 (decode_coding_ccl, decode_coding_charset): Pay attention to
10347 coding->charbuf_used.
10348 (get_translation): New function.
10349 (produce_chars): New arguments translation_table and last_block.
10350 Translate characters here. Return number of carryover chars.
10351 Change caller.
10352 (produce_composition): New argument pos. Change caller.
10353 Adjust for the change of annotation data format.
10354 (produce_charset, produce_annotation): Likewise.
10355 (decode_coding, encode_coding): Don't call translate_chars.
10356 (consume_chars): New arg translation_table. Change caller.
10357 (translate_chars): Delete.
10358 (syms_of_coding): Make translation-table's number of extra slots 2.
10359
103602008-02-01 Kenichi Handa <handa@m17n.org>
10361
10362 * search.c (simple_search): Fix setting this_pos_byte in backward
10363 search.
10364
10365 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
10366 byte sequence.
10367 (detect_coding_ccl): Fix setting of the variable valids.
10368
103692008-02-01 Kenichi Handa <handa@m17n.org>
10370
10371 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
10372
10373 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
10374
10375 * editfns.c (Ftranslate_region_internal): Rename from
10376 Ftranslate_region. Accept a char-table in TABLE.
10377 (syms_of_editfns): Defsubr Stranslate_region_internal.
10378
10379 * xfaces.c (set_lface_from_font_name): If a font is specified for
10380 a frame, generate a fontset from the font.
10381 (build_scalable_font_name): If the scalable font is requested for
10382 a specific size, don't change that size.
10383 (try_font_list): Try a scalable font also in the case that a
10384 pattern string is specified.
10385
103862008-02-01 Kenichi Handa <handa@m17n.org>
10387
10388 * xfaces.c (Fface_font): New optional arg CHARACTER.
10389
103902008-02-01 Kenichi Handa <handa@m17n.org>
10391
10392 * charset.h (CHARSET_OFFSET): New macro.
10393
103942008-02-01 Kenichi Handa <handa@m17n.org>
10395
10396 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
10397
10398 * fontset.c (fontset_face): Handle the case that repertory is a
10399 char-table.
10400 (find_font_encoding): Return nil for unknown encoding.
10401 (Fset_fontset_font): Ignore a font of unknown encoding.
10402
104032008-02-01 Kenichi Handa <handa@m17n.org>
10404
10405 * keymap.c (describe_vector): Handle default value of a char table.
10406
10407 * fontset.c (fontset_face): Handle fallback fonts correctly.
10408 (Ffontset_info): Return infomation about fallback fonts.
10409
104102008-02-01 Kenichi Handa <handa@m17n.org>
10411
10412 * fontset.c (FONTSET_DEFAULT): New macro.
10413 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
10414 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
10415 the case that it is nil.
10416 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
10417 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
10418
10419 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
10420 subset or superset.
10421
104222008-02-01 Kenichi Handa <handa@m17n.org>
10423
10424 * emacs.c (main): Call init_charset after syms_of_XXX.
10425
10426 * charset.c (Vcharset_map_directory): Delete.
10427 (Vcharset_map_path): New variable.
10428 (load_charset_map_from_file): Use Vcharset_map_path instead.
10429 (init_charset): Initialize Vcharset_map_path.
10430 (syms_of_charset): Delete declaration of "charset-map-directory",
10431 add declaration of "charset-map-path".
10432
104332008-02-01 Kenichi Handa <handa@m17n.org>
10434
10435 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
10436 ASCII only string.
10437
10438 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
10439
10440 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
10441 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
10442
104432008-02-01 Kenichi Handa <handa@m17n.org>
10444
10445 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
10446
10447 * coding.c (QCmnemonic, QCdefalut_char)
10448 (QCdecode_translation_table, QCencode_translation_table)
10449 (QCpost_read_conversion, QCpre_write_conversion): New variables.
10450 (get_translation_table): Return a list of translation tables if
10451 necessary.
10452 (decode_coding): Call get_translation_table with ENCODEP 0.
10453 (char_encodable_p): If translation_table is non-nil, always call
10454 translate_char.
10455 (Fdefine_coding_system_internal): Accept list of translation
10456 tables as :encode-translation-table and :decode-translation-table.
10457 (Fcoding_system_put): New function.
10458 (syms_of_coding): Declare new symbols. Defsubr
10459 Scoding_system_put.
10460 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
10461 typically JISX0212.
10462
10463 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
10464 when the charset is superset type.
10465
10466 * character.c (translate_char): Accept list of translation tables.
10467
104682008-02-01 Kenichi Handa <handa@m17n.org>
10469
10470 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
10471 (CODING_ATTR_TRANS_TBL): New macro.
10472
10473 * coding.c (get_translation_table): New function.
10474 (translate_chars): Fix the bug of skipping annotation data.
10475 (decode_coding, encode_coding): Utilize get_translation_table.
10476 (char_encodable_p, Funencodable_char_position): Translate char if
10477 necessary.
10478 (Ffind_coding_systems_region_internal)
10479 (Fcheck_coding_systems_region): Setup translation table for encode
10480 in a coding system attribute vector in advance.
10481 (Fdefine_coding_system_internal): Allow a symbol as translation
10482 table. For shift-jis type coding system, allow 4th charset.
10483
104842008-02-01 Kenichi Handa <handa@m17n.org>
10485
10486 * coding.c (decode_coding_sjis): Check the first byte rigidly.
10487
10488 * xdisp.c (get_next_display_element): Pass -1 as POS to
10489 FACE_FOR_CHAR if displaying a C-string.
10490
104912008-02-01 Kenichi Handa <handa@m17n.org>
10492
10493 * composite.c (get_composition_id): Handle xoff and yoff in a
10494 composition rule.
10495
10496 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
10497 (struct composition): New member lbearing and rbearing.
10498
10499 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
10500 (x_get_glyph_overhangs): Handle a composition glyph.
10501 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
10502
10503 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
10504 composition glyph.
10505
105062008-02-01 Kenichi Handa <handa@m17n.org>
10507
10508 * print.c: Include charset.h.
10509 (Vprint_charset_text_property): New variable.
10510 (Qdefault): Extern it.
10511 (PRINT_STRING_NON_CHARSET_FOUND)
10512 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
10513 (print_check_string_result): New variable.
10514 (print_check_string_charset_prop): New function.
10515 (print_prune_charset_plist): New variable.
10516 (print_prune_string_charset): New function.
10517 (print_object): Call print_prune_string_charset if
10518 Vprint_charset_text_property is not t.
10519 (print_interval): Print nothing if interval->plist is nil.
10520 (syms_of_print): Declare Vprint_charset_text_property as a lisp
10521 variable. Init and staticpro print_prune_charset_plist.
10522
105232008-02-01 Kenichi Handa <handa@m17n.org>
10524
10525 * fontset.c (new_fontset_from_font_name): Use the specified font
10526 for all characters in the new fontset.
10527
10528 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
10529 OBJECT args.
10530
10531 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
10532 OBJECT args for composition too.
10533
10534 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
10535 OBJECT args.
10536
105372008-02-01 Kenichi Handa <handa@m17n.org>
10538
10539 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
10540
10541 * fontset.c (reorder_font_vector): Adjust for the change of
10542 FONT_DEF format.
10543 (fontset_face): New arg id. Change caller.
10544 (face_for_char): New args pos and object.
10545 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
10546 (fs_query_fontset): Check NAME by Fassoc too.
10547 (Fset_fontset_font): Allow non-XLFD font name.
10548 (Ffontset_info): Adjust for the change of FONT_DEF format.
10549
10550 * fontset.h (face_for_char): Adjust prototype.
10551
10552 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
10553 (append_space, extend_face_to_end_of_line)
10554 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
10555 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
10556
10557 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
10558 POS and OBJECT args.
10559
10560 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
10561 POS and OBJECT args.
10562
105632008-02-01 Jason Rumney <jasonr@gnu.org>
10564
10565 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
10566 of GlobalAlloc'ed memory.
10567
105682008-02-01 Kenichi Handa <handa@m17n.org>
10569
10570 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
10571
10572 * charset.h (charset_table_used): Delete extern.
10573
10574 * charset.c (charset_table_used): Make it static.
10575 (map_charset_chars): Fix args to c_function with.
10576
10577 * chartab.c (map_sub_char_table_for_charset): Fix args to
10578 c_function with.
10579
10580 * coding.h (enum coding_result_code): Delete
10581 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
10582
10583 * coding.c (Qinsufficient_source, Qinconsistent_eol)
10584 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
10585 (Vlast_code_conversion_error): New variables.
10586 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
10587 (ONE_MORE_BYTE): Record error if any instead of signaling an
10588 error. If non-ASCII multibyte char is found, return the negative
10589 value of the code. All callers changed to check it.
10590 (ONE_MORE_BYTE_NO_CHECK): Likewise.
10591 (record_conversion_result): New function. Change all codes setting
10592 coding->result to call this function.
10593 (detect_coding_utf_8, decode_coding_utf_8)
10594 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
10595 Don't use the local variable incomplete.
10596 (emacs_mule_char): Change the second arg to `const'.
10597 (decode_coding): Fix of flushing out unprocessed data.
10598 (make_conversion_work_buffer): Fix making of a work buffer.
10599 (decode_coding_object): Return coding->dst_object.
10600
10601 * fontset.c (set_fontset_font): Fix args.
10602
10603 * lisp.h (CHARACTERBITS): Define as 22.
10604
10605 * process.c (send_process): Be sure to set coding->src_multibyte.
10606
10607 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
10608
106092008-02-01 Kenichi Handa <handa@m17n.org>
10610
10611 * xdisp.c (handle_auto_composed_prop): Give limit to
10612 Fnext_single_char_property_change.
10613
106142008-02-01 Kenichi Handa <handa@m17n.org>
10615
10616 * composite.c (syms_of_composite): Don't make the composition hash
10617 table weak.
10618
10619 * fontset.c (Fset_fontset_font): Fix docstring.
10620
10621 * lisp.h (detect_coding_system): Adjust prototype.
10622
10623 * fileio.c (kill_workbuf_unwind): Delete this function.
10624 (Finsert_file_contents): Adjust the call of detect_coding_system.
10625 Get conversion_buffer by code_conversion_save. Use the macro
10626 CODING_MAY_REQUIRE_DECODING. After decoding, update
10627 coding_system.
10628
10629 * coding.h (make_conversion_work_buffer): Delete extern.
10630 (code_conversion_save): Extern it.
10631
10632 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
10633 (CODING_GET_INFO): Delete argument eol_type. Change callers.
10634 (decode_coding_utf_8): Don't do eol converion.
10635 (detect_coding_utf_16): Check coding->src_chars, not
10636 coding->src_bytes. Add heuristics for those that have no signature.
10637 (decode_coding_emacs_mule, decode_coding_iso_2022)
10638 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
10639 Don't do eol converion.
10640 (adjust_coding_eol_type): Return a new coding system.
10641 (detect_coding): Don't detect eol. Fix for utf-16 detection.
10642 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
10643 each change.
10644 (decode_coding): Pay attention to undo_list. Do eol conversion for
10645 all types of coding-systems (if necessary).
10646 (Vcode_conversion_work_buf_list): Delete it.
10647 (Vcode_conversion_reused_workbuf): Rename from
10648 Vcode_conversion_reused_work_buf.
10649 (Vcode_conversion_workbuf_name): New variable.
10650 (reused_workbuf_in_use): New variable.
10651 (make_conversion_work_buffer): Delete the arg DEPTH.
10652 (code_conversion_restore): Change argument to cons.
10653 (code_conversion_save): Delete the argument BUFFER. Change callers.
10654 (detect_coding_system): New argument src_chars. Change callers.
10655 Fix for utf-16 detection.
10656 (init_coding_once): Don't use ISO_carriage_return.
10657 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
10658 reused_workbuf_in_use.
10659
106602008-02-01 Kenichi Handa <handa@m17n.org>
10661
10662 * keymap.c (store_in_keymap): Pay attention to the case that idx
10663 is a cons specifying a character range.
10664
106652008-02-01 Kenichi Handa <handa@m17n.org>
10666
10667 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
10668 HANDLED_RECOMPUTE_PROPS.
10669
10670 * coding.c (Fdefine_coding_system_internal): Fix checking of
10671 ascii compatibility.
10672
106732008-02-01 Kenichi Handa <handa@m17n.org>
10674
10675 * charset.c (find_charsets_in_text): Delete unused locale variable.
10676 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
10677
10678 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
10679 Resync charset_list to Vemacs_mule_charset_list.
10680
10681 * keymap.c (store_in_keymap): Pay attention to the case that idx
10682 is a cons specifying a character range.
10683
106842008-02-01 Kenichi Handa <handa@m17n.org>
10685
10686 * composite.c (update_compositions): Bind inhibit-read-only, etc
10687 to t before calling remove-list-of-text-properties.
10688
10689 * print.c (print_object): Always print ASCII chars as is.
10690
106912008-02-01 Kenichi Handa <handa@m17n.org>
10692
10693 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
10694
10695 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
10696 is a char table.
10697
106982008-02-01 Kenichi Handa <handa@m17n.org>
10699
10700 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
10701
107022008-02-01 Kenichi Handa <handa@m17n.org>
10703
10704 * xfaces.c (set_lface_from_font_name): Fix for the case that
10705 FONTNAME is not fontset name.
10706
107072008-02-01 Kenichi Handa <handa@m17n.org>
10708
10709 * fns.c (base64_encode_1): Fix previous change.
10710
107112008-02-01 Kenichi Handa <handa@m17n.org>
10712
10713 * fontset.c (set_fontset_font): New function.
10714 (Fset_fontset_font): If a font is specified for a charset, use
10715 map_charset_chars to store the font spec in a fontset.
10716
107172008-02-01 Kenichi Handa <handa@m17n.org>
10718
10719 * fontset.c (fontset_face): Create a fallback fontset on demand.
10720 (make_fontset): Don't create a fallback fontset here.
10721 (free_face_fontset): Free a fallback fontset (if any) too.
10722 (n_auto_fontsets): Delete this variable.
10723 (auto_fontset_alist): New variable.
10724 (new_fontset_from_font_name): Check auto_fontset_alist.
10725 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
10726 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
10727 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
10728 Defsubr Sfontset_list_all.
10729
107302008-02-01 Kenichi Handa <handa@m17n.org>
10731
10732 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
10733
107342008-02-01 Kenichi Handa <handa@m17n.org>
10735
10736 * fontset.c (Fnew_fontset): Check NAME more rigidly.
10737
107382008-02-01 Kenichi Handa <handa@m17n.org>
10739
10740 * editfns.c (Fgoto_char): Fix docstring.
10741
107422008-02-01 Kenichi Handa <handa@m17n.org>
10743
10744 * insdel.c (insert_from_gap): Adjust intervals correctly.
10745
107462008-02-01 Jason Rumney <jasonr@gnu.org>
10747
10748 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
10749 (pfnGetFontUnicodeRanges): New dynamically loaded function.
10750 (w32_initialize): Try to load it.
10751 (x_get_font_repertory): Use it if available.
10752 (w32_encode_char): Add shortcut for unicode output.
10753
10754 * w32fns.c (w32_load_system_font): Default charset to -1.
10755 (x_to_w32_charset): Match all fonts for unicode.
10756 (w32_to_x_charset): New parameter matching. Don't return partial
10757 or wildcard charsets.
10758 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
10759 (w32_codepage_for_font): Return CP_UNICODE for unicode.
10760 (w32_to_x_font): Match charset to real charset.
10761 (enum_font_cb2): Always list unicode versions.
10762
10763 * makefile.w32-in (temacs): Increase EMHEAP.
10764
107652008-02-01 Jason Rumney <jasonr@gnu.org>
10766
10767 * w32term.c (w32_encode_char): New charset parameter.
10768 font_info.encoding becomes encoding_type.
10769 (x_get_font_repertory): New function. Warning: stub only!
10770 (x_new_font): Return quickly if font already set.
10771 (x_new_fontset): fontsetname parameter is Lisp_Object.
10772 Use new fs_query_fontset. Try new_fontset_from_font_name.
10773 Use fontset_name for return value.
10774
10775 * w32term.h: Declare x_get_font_repertory.
10776
10777 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
10778 place of find_charset_in_text. Use encode_coding_object in place
10779 of encode_coding.
10780 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
10781 decode_coding.
10782
10783 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
10784 of x_new_fontset.
10785 (w32_load_system_font): Initialize charset as unicode.
10786 font_info.encoding becomes encoding_type.
10787 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
10788 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
10789 (syms_of_w32fns): Set get_font_repertory_func.
10790
10791 * w32console.c: Include character.h. Use terminal_encode_buffer
10792 from term.c.
10793 (write_glyphs): Use new version of encode_terminal_code. Use
10794 encode_coding_object in place of encode_coding.
10795
10796 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
10797 encoding becomes encoding_type.
10798
10799 * term.c (terminal_encode_buffer): Make externally visible.
10800
10801 * makefile.w32-in: Add character.h dependancies.
10802 (character.o, chartab.o): New targets.
10803
108042008-02-01 Kenichi Handa <handa@m17n.org>
10805
10806 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
10807 CODING_ID_EOL_TYPE.
10808
108092008-02-01 Andreas Schwab <schwab@suse.de>
10810
10811 * coding.c (produce_chars): Revert last change.
10812
108132008-02-01 Kenichi Handa <handa@m17n.org>
10814
10815 * charset.h (charset_unicode): Extern it.
10816
10817 * charset.c (string_xstring_p): Check by (C >= 0x100).
10818 (find_charsets_in_text): Change format of the arc CHARSETS. New
10819 arg MULTIBYTE.
10820 (Ffind_charset_region, Ffind_charset_string): Adjust for the
10821 change of find_charsets_in_text.
10822 (Fsplit_char): Fix doc. Never return unknown.
10823
10824 * chartab.c (char_table_translate): Use CHARACTERP, not INTEGERP.
10825
10826 * coding.c (Fdefine_coding_system_alias): Update
10827 Vcoding_system_list.
10828
10829 * fontset.c (load_font_get_repertory): Pay attention to the case
10830 that ENCODING of a font is specified by a char-table.
10831
10832 * xterm.c (x_get_font_repertory): Handle the case that the
10833 encoding of font is other than Unicode.
10834
108352008-02-01 Kenichi Handa <handa@m17n.org>
10836
10837 * term.c (encode_terminal_code): Don't handle glyph-table. Check
10838 if a character is encodable by the terminal coding system. If
10839 not, produces proper number of `?'s. Update
10840 terminal_encode_buffer and terminal_encode_buf_size if necessary.
10841 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
10842
108432008-02-01 Kenichi Handa <handa@m17n.org>
10844
10845 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
10846 variables.
10847 (encode_terminal_code): Change argument. Encode multiple
10848 characters at once. Store the result of encoding in
10849 terminal_encode_buffer.
10850 (write_glyphs, insert_glyphs): Adjust for the change of
10851 encode_terminal_code.
10852 (term_init): Initialize terminal_encode_buffer and
10853 terminal_encode_buf_size.
10854
10855 * coding.c (consume_chars): If coding->src_object is nil, don't
10856 check annotation.
10857
108582008-02-01 Kenichi Handa <handa@m17n.org>
10859
10860 * character.c (char_string): Use ASCII_CHAR_P instead of
10861 SINGLE_BYTE_CHAR_P.
10862
108632008-02-01 Kenichi Handa <handa@m17n.org>
10864
10865 * xdisp.c (handle_auto_composed_prop): Check if the last
10866 characters of auto-composed region is newly composed with the
10867 following characters.
10868 (handle_composition_prop): Fix checking of point being inside
10869 composition.
10870
108712008-02-01 Kenichi Handa <handa@m17n.org>
10872
10873 * fns.c (concat): Don't change multibyteness of the result by
10874 concatenating an 8-bit character.
10875
10876 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
10877 multibyteness of the result when newelt is an 8-bit character.
10878
108792008-02-01 Dave Love <fx@gnu.org>
10880
10881 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
10882 EMACS_INT.
10883
10884 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
10885
10886 * xfaces.c (face_numeric_value): Declare dim size_t.
10887 (Finternal_lisp_face_equal_p): Remove unused f.
10888
10889 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
10890 (MATRIX_ROW): Remove unused vars.
10891 (draw_glyphs, x_insert_glyphs, fast_find_position)
10892 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
10893 byte/char counts.
10894
10895 * regex.c (regex_compile): Remove unused var.
10896
10897 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
10898
10899 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
10900 (Faccessible_keymaps, where_is_internal): Remove unused vars.
10901
10902 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
10903
10904 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
10905
10906 * fileio.c (Fwrite_region): Remove unused var.
10907
10908 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
10909 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
10910
10911 * composite.c (Fremove_list_of_text_properties): Declare.
10912
10913 * coding.c (inhibit_pre_post_conversion): Remove (unused).
10914 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
10915 (coding_inherit_eol_type): Remove unused attrs.
10916 (detect_coding): Cast arg of detect_eol.
10917
10918 * charset.c (syms_of_charset): Remove unused var p.
10919 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
10920 byte/char counts.
10921
10922 * casetab.c (set_case_table): Remove unused var.
10923
10924 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
10925 unused vars.
10926
109272008-02-01 Dave Love <fx@gnu.org>
10928
10929 * xterm.c (x_bitmap_mask): Declare.
10930
109312008-02-01 Dave Love <fx@gnu.org>
10932
10933 * xterm.c (x_term_init): Fix type error.
10934
10935 * lisp.h: Add Funibyte_char_to_multibyte.
10936
10937 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
10938 (Fset_coding_system_priority): Doc fix.
10939
10940 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
10941
10942 * indent.c (check_composition): Make start and end EMACS_INT.
10943
10944 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
10945
10946 * xdisp.c (handle_composition_prop, check_point_in_composition):
10947 Make buffer positions EMACS_INT.
10948
10949 * composite.c (find_composition, run_composition_function)
10950 (update_compositions, Ffind_composition_internal): Make buffer
10951 positions EMACS_INT.
10952
10953 * composite.h (find_composition, update_compositions): Make
10954 position args EMACS_INT.
10955
10956 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
10957
10958 * intervals.c (get_property_and_range):
10959 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
10960
10961 * unexalpha.c: Don't include varargs.h.
10962
109632008-02-01 Dave Love <fx@gnu.org>
10964
10965 * coding.h (ENCODE_UTF_8): New.
10966
10967 * Makefile.in (gtkutil.o): Depend on coding.h.
10968
10969 * coding.c (Fset_coding_system_priority): Doc fix.
10970
109712008-02-01 Kenichi Handa <handa@m17n.org>
10972
10973 * fileio.c (Finsert_file_contents): Call setup_coding_system in
10974 the case of auto saving.
10975
109762008-02-01 Andreas Schwab <schwab@suse.de>
10977
10978 * chartab.c (map_char_table, map_char_table_for_charset): Protect
10979 `range' from GC.
10980
109812008-02-01 Kenichi Handa <handa@m17n.org>
10982
10983 * coding.c (decode_coding_sjis): Check bytes more rigidly.
10984
109852008-02-01 Kenichi Handa <handa@m17n.org>
10986
10987 * fileio.c (choose_write_coding_system): Return a decided coding system.
10988 (Fwrite_region): Set Vlast_coding_system_used to the return value
10989 of choose_write_coding_system.
10990
109912008-02-01 Kenichi Handa <handa@m17n.org>
10992
10993 * charset.c (Fset_charset_priority): Pay attention to duplicated
10994 arguments.
10995
10996 * coding.c (QCcategory): New variable.
10997 (syms_of_coding): Defsym it. Set all elements of
10998 Vcoding_category_table and their symbol values.
10999 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
11000 coding-category-XXX, and coding-category-list.
11001 (Fdefine_coding_system_internal): Add category in the plist.
11002
110032008-02-01 Kenichi Handa <handa@m17n.org>
11004
11005 * callproc.c (Fcall_process): Handle carryover correctly.
11006
11007 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
11008 (raw_text_coding_system): Check NILP (coding_system).
11009 (coding_inherit_eol_type): Check NILP (coding_system) and
11010 NILP (parent).
11011 (consume_chars): Fix for the case of raw-text.
11012
11013 * process.c (read_process_output): Handle carryover correctly.
11014
110152008-02-01 Dave Love <fx@gnu.org>
11016
11017 * regex.c (re_search_2): Fix last change.
11018
110192008-02-01 Kenichi Handa <handa@m17n.org>
11020
11021 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
11022 target_multibyte. Even in a unibyte case, return a converted
11023 multibyte char.
11024 (GET_CHAR_AFTER): New macro.
11025 (PATFETCH): Translate via multibyte char.
11026 (HANDLE_UNIBYTE_RANGE): Delete this macro.
11027 (SETUP_MULTIBYTE_RANGE): New macro.
11028 (regex_compile): Setup compiled code so that its multibyteness
11029 matches that of a target. Fix the handling of "[X-YZ]" using
11030 SETUP_MULTIBYTE_RANGE.
11031 (analyse_first) <charset>: For filling fastmap for all multibyte
11032 characters, don't check by BASE_LEADING_CODE_P.
11033 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
11034 the same as RE_MULTIBYTE_P (bufp) now.
11035 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
11036 (TARGET_CHAR_AND_LENGTH): Delete this macro.
11037 (TRANSLATE_VIA_MULTIBYTE): New macro.
11038 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
11039 It is the same as RE_MULTIBYTE_P (bufp) now.
11040 <exactn>: Translate via multibyte.
11041 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
11042 translate it.
11043 <charset, charset_not>: Fetch a character by
11044 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
11045 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
11046 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
11047 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
11048 by GET_CHAR_AFTER.
11049 (bcmp_translate): Likewise.
11050
11051 * search.c (compile_pattern): Check the member target_multibyte,
11052 not the member multibyte of buf.
11053
11054 * lread.c (read1): While reading a string, set force_singlebyte
11055 and force_multibyte correctly.
11056
11057 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
11058 up of unibyte_to_multibyte_table.
11059
110602008-02-01 Kenichi Handa <handa@m17n.org>
11061
11062 * coding.c (setup_coding_system): If coding has
11063 post-read-conversion or pre-write-conversion, set
11064 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
11065 respectively.
11066 (decode_coding_gap): Run post-read-conversion if any.
11067
11068 * fileio.c (Finsert_file_contents): Even if we read into a
11069 unibyte buffer, check if we must decode the result or not.
11070
110712008-02-01 Kenichi Handa <handa@m17n.org>
11072
11073 * coding.c (make_conversion_work_buffer): Change the work buffer
11074 name to the same one as that of Emacs 21.
11075
110762008-02-01 Kenichi Handa <handa@m17n.org>
11077
11078 * coding.h (make_conversion_work_buffer): Adjust prototype.
11079 (code_conversion_restore): Don't extern it.
11080
11081 * coding.c (detected_mask): Delete unused variable.
11082 (decode_coding_iso_2022): Pay attention to the byte sequence of
11083 CTEXT extended segment, and retain those bytes as is.
11084 (decode_coding_ccl): Delete unused variable `valids'.
11085 (setup_coding_system): Delete unused variable `category'.
11086 (consume_chars): Delete unused variable `category'. Make it work
11087 for non-multibyte case.
11088 (make_conversion_work_buffer): Change argument.
11089 (saved_coding): Delete unused variable.
11090 (code_conversion_restore): Don't check saved_coding->destination.
11091 (code_conversion_save): New function.
11092 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
11093 instead of record_unwind_protect.
11094 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
11095 (detect_coding_system): Delete unused variable `mask'.
11096 (Fdefine_coding_system_internal): Delete unused variable id.
11097
11098 * fileio.c (kill_workbuf_unwind): New function.
11099 (Finsert_file_contents): On replacing, call
11100 make_conversion_work_buffer with correct args, and call
11101 record_unwind_protect with the first arg kill_workbuf_unwind.
11102
11103 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
11104
111052008-02-01 Kenichi Handa <handa@m17n.org>
11106
11107 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
11108 (fontset_add): Fix for the case that TO is less than TO1.
11109 (Ffontset_info): Don't use fallback fontset on checking the
11110 default fontset.
11111 (dump_fontset): New function for debugging.
11112
11113 * coding.c (Fdefine_coding_system_internal): Fix for the case that
11114 coding_type is Qcharset.
11115
111162008-02-01 Kenichi Handa <handa@m17n.org>
11117
11118 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
11119 (map_char_table): Don't inherit the value from the parent on
11120 initializing VAL. Adjust for the above change.
11121
111222008-02-01 Kenichi Handa <handa@m17n.org>
11123
11124 * coding.c (Qsignature, Qendian): Delete these variables.
11125 (syms_of_coding): Don't initialize them.
11126 (CATEGORY_MASK_UTF_16_AUTO): New macro.
11127 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
11128 detect_info->found.
11129 (decode_coding_utf_16): Don't detect BOM here.
11130 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
11131 is NOT utf_16_without_bom.
11132 (setup_coding_system): For a coding system of type utf-16, check
11133 if the attribute :endian is Qbig or not (not nil or not), and set
11134 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
11135 (detect_coding): If coding type is utf-16 and BOM detection is
11136 required, detect it.
11137 (Fdefine_coding_system_internal): For a coding system of type
11138 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
11139
111402008-02-01 Kenichi Handa <handa@m17n.org>
11141
11142 * coding.c (coding_set_source): Fix for the case that the current
11143 buffer is different from coding->src_object.
11144 (decode_coding_object): Don't use the conversion work buffer if
11145 DST_OBJECT is a buffer.
11146
111472008-02-01 Dave Love <fx@gnu.org>
11148
11149 * lread.c (read_emacs_mule_char) [len==2]: Index
11150 emacs_mule_charset correctly.
11151
111522008-02-01 Dave Love <fx@gnu.org>
11153
11154 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
11155 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
11156 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
11157 treated specially.)
11158 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
11159 (detected_mask): Remove Big5 bits.
11160
111612008-02-01 Kenichi Handa <handa@m17n.org>
11162
11163 The following changes are to make the font rescaling facility
11164 compatible with Emacs 21.
11165
11166 * xfaces.c (Vface_font_rescale_alist): Rename from
11167 Vface_resizing_fonts.
11168 (struct font_name): Rename member resizing_ratio to rescale_ratio.
11169 (font_rescale_ratio): Rename from font_resizing_ratio.
11170 (split_font_name): Set font->rescale_ratio.
11171 (better_font_p): Pay attention to font->rescale_ratio.
11172 (build_scalable_font_name): Likewise. Change RESX, and RESY
11173 fields.
11174 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
11175
111762008-02-01 Kenichi Handa <handa@m17n.org>
11177
11178 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
11179 (Qutf_16_le): Remove these variables.
11180 (syms_of_coding): Don't DEFSYM them.
11181 (decode_coding_utf_16): Fix handling of BOM.
11182 (encode_coding_utf_16): Fix handling of BOM.
11183
111842008-02-01 Kenichi Handa <handa@m17n.org>
11185
11186 * fileio.c (Finsert_file_contents): On replacing, before decoding
11187 the file into the work buffer, set point of the work buffer to the end.
11188
111892008-02-01 Dave Love <fx@gnu.org>
11190
11191 * coding.c (Fcheck_coding_systems_region): Fix type errors.
11192
111932008-02-01 Dave Love <fx@gnu.org>
11194
11195 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
11196 and fix C types.
11197
111982008-02-01 Kenichi Handa <handa@m17n.org>
11199
11200 * xdisp.c (SKIP_GLYPHS): New macro.
11201 (set_cursor_from_row): Pay attention to string display properties.
11202
11203 * category.c (copy_category_entry): Fix for the case that RANGE
11204 is an integer.
11205
11206 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
11207
11208 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
11209
112102008-02-01 Kenichi Handa <handa@m17n.org>
11211
11212 * charset.c (Fcharset_id_internal): New function.
11213 (syms_of_charset): Defsubr it.
11214
11215 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
11216 with the last arg charset_list acquired from coding.
11217 (Fdefine_coding_system_internal): For ccl-based coding system, fix
11218 the attribute coding_attr_ccl_valids.
11219
11220 * coding.h (enum define_coding_ccl_arg_index): Set the first
11221 member coding_arg_ccl_decoder to coding_arg_max.
11222
11223 * ccl.h (ccl_driver): Adjust prototype.
11224
11225 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
11226 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
60612c8f 11227 of DECODE_CHAR, ENCODE_CHAR, CHAR_CHARSET.
aac0c6e3
MR
11228 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
11229 last arg Qnil.
11230
112312008-02-01 Kenichi Handa <handa@m17n.org>
11232
11233 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
11234 call encode_char.
11235
11236 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
11237
112382008-02-01 Dave Love <fx@gnu.org>
11239
11240 * composite.c (syms_of_composite): Make composition_hash_table weak.
11241
112422008-02-01 Kenichi Handa <handa@m17n.org>
11243
11244 * dispextern.h (check_face_attributes, generate_ascii_font_name)
11245 (font_name_registry): Don't extern them.
11246 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
11247
11248 * fontset.h (Qfontset): Don't extern it.
11249 (new_fontset_from_font_name): Extern it.
11250
11251 * fontset.c: Give 8 extra slots to fontset objects.
11252 (Qfontset_info): New variable.
11253 (syms_of_fontset): Defsym it.
11254 (FONTSET_FALLBACK): New macro.
11255 (fontset_face): Try also the default fontset.
11256 (make_fontset): Realize a fallback fontset from the default fontset.
11257 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
11258 using split_font_name_into_vector and build_font_name_from_vector.
11259 (Fset_fontset_font): Access the elements of font_spec by enum
11260 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
11261 name by using split_font_name_into_vector.
11262 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
11263 generate a proper font name from the fontset name. Update
11264 Vfontset_alias_alist.
11265 (n_auto_fontsets): New variable.
11266 (new_fontset_from_font_name): New function.
11267 (Ffont_info): Store the information about fonts generated from the
11268 default fontset in the first extra slot of the returned char-table.
11269
11270 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
11271 (font_name_registry): Delete function.
11272 (split_font_name_into_vector): New function.
11273 (build_font_name_from_vector): New function.
11274 (font_list): The argument REGISTRY is now a list of registry names.
11275 (choose_face_font): If we are choosing an ASCII font, and ATTRS
11276 specifies an explicit font name, return the name as is. Make a
11277 list of registy names.
11278
11279 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
11280 of x_new_fontset.
11281 (Fx_create_frame): Don't call x_new_fontset here. Just use
11282 x_list_fonts to check the existence of fonts.
11283
11284 * xterm.h (x_new_fontset): Adjust prototype.
11285
11286 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
11287 string. Use new_fontset_from_font_name to create a fontset from a
11288 font name.
11289
112902008-02-01 Kenichi Handa <handa@m17n.org>
11291
11292 * syntax.c (Vfind_word_boundary_function_table): New name for
11293 Vnext_word_boundary_function_table.
11294 (find-word-boundary-function-table): New name for
11295 next-word-boundary-function-table.
11296
112972008-02-01 Dave Love <fx@gnu.org>
11298
11299 * Makefile.in: Fix some dependencies.
11300
11301 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
11302 set it to nil before returning.
11303
11304 * composite.c (update_compositions): Fix type error.
11305
11306 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
11307
113082008-02-01 Kenichi Handa <handa@m17n.org>
11309
11310 * xterm.c (x_new_font): Optimize for the case that the font is
11311 already set for the frame.
11312
113132008-02-01 Kenichi Handa <handa@m17n.org>
11314
11315 * chartab.c (char_table_ascii): Check if the char table contents
11316 is sub-char-table or not.
11317 (char_table_set, char_table_set_range): Fix argument to
11318 char_table_ascii.
11319
11320 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
11321 (detect_coding_utf_8, detect_coding_utf_16)
11322 (detect_coding_emacs_mule, detect_coding_iso_2022)
11323 (detect_coding_sjis, detect_coding_big5)
11324 (detect_coding_ccl, detect_coding_charset): Change argument MASK
11325 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
11326 sequence is valid in this coding system. Change callers.
11327 (MAX_ANNOTATION_LENGTH): New macro.
11328 (ADD_ANNOTATION_DATA): New macro.
11329 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
11330 ADD_ANNOTATION_DATA. Change the format of annotation data.
11331 (ADD_CHARSET_DATA): New macro.
11332 (emacs_mule_char): New argument ID. Change callers.
11333 (decode_coding_emacs_mule, decode_coding_iso_2022)
11334 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
11335 Produce charset annotation data in coding->charbuf.
11336 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
11337 to charset annotation data in coding->charbuf.
11338 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
11339 coding->common_flags if the coding system is iso-2022 based and
11340 uses designation.
11341 (produce_composition): Adjust for the new annotation data format.
11342 (produce_charset): New function.
11343 (produce_annotation): Handle charset annotation.
11344 (handle_composition_annotation, handle_charset_annotation): New
11345 functions.
11346 (consume_chars): Handle charset annotation. Utilize the above two
11347 functions.
11348 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
11349 buffer, get the deleted text as a string and set
11350 coding->src_object to that string.
11351 (detect_coding, detect_coding_system): Use the new struct
11352 coding_detection_info.
11353
11354 * coding.h (struct coding_detection_info): New structure.
11355 (struct coding_system): Adjust prototype of the member `detector'.
11356 (CODING_ANNOTATE_CHARSET_MASK): New macro.
11357
113582008-02-01 Kenichi Handa <handa@m17n.org>
11359
11360 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
11361
113622008-02-01 Dave Love <fx@gnu.org>
11363
11364 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
11365 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
11366 to new local and nullify apropos_accumulate before returning.
11367 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
11368
113692008-02-01 Kenichi Handa <handa@m17n.org>
11370
11371 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
11372 correctly.
e3eea1fc 11373
aac0c6e3
MR
113742008-02-01 Dave Love <fx@gnu.org>
11375
11376 * fns.c (Flanginfo): Call synchronize_system_time_locale.
11377
113782008-02-01 Kenichi Handa <handa@m17n.org>
11379
11380 The following changes are to make character composition happen
11381 automatically on displaying.
11382
11383 * Makefile.in (lisp, shortlisp): Add composite.elc.
11384
11385 * composite.h (Qauto_composed, Vauto_composition_function)
11386 (Qauto_composition_function): Extern them.
11387
11388 * composite.c (Vcomposition_function_table)
11389 (Qcomposition_function_table): Delete variables.
11390 (Qauto_composed, Vauto_composition_function)
11391 (Qauto_composition_function): New variables.
11392 (run_composition_function): Don't call
11393 compose-chars-after-function.
11394 (update_compositions): Clear `auto-composed' text property.
11395 (compose_chars_in_text): Delete this function.
11396 (syms_of_composite): Staticpro Qauto_composed and
11397 Qauto_composition_function. Declare Vauto_composition_function as
11398 a Lisp variable.
11399
11400 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
11401
11402 * xdisp.c (it_props): Add an entry for Qauto_composed.
11403 (handle_auto_composed_prop): New function.
11404
11405 * xselect.c (selection_data_to_lisp_data): Don't call
11406 compose_chars_in_text.
11407
114082008-02-01 Dave Love <fx@gnu.org>
11409
11410 * keyboard.c (read_char): Modify checking around use of
11411 Vkeyboard_translate_table.
11412
11413 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
11414 and fix C types.
11415
114162008-02-01 Kenichi Handa <handa@m17n.org>
11417
11418 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
11419 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
11420 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
11421 the case that the last byte is '\r' correctly.
11422 (decode_coding): Flush out the unprocessed data correctly.
11423 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
11424
114252008-02-01 Dave Love <fx@gnu.org>
11426
11427 * xterm.c (XTread_socket): Fix changes for defined keysyms.
11428 Add XK_ISO... case.
11429 (xaw_scroll_callback): Revert last change.
11430
114312008-02-01 Kenichi Handa <handa@m17n.org>
11432
11433 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
11434
114352008-02-01 Kenichi Handa <handa@m17n.org>
11436
11437 * xfaces.c (Vface_resizing_fonts): New variable.
11438 (struct font_name): New member `resizing_ratio'.
11439 (font_resizing_ratio): New function.
11440 (split_font_name): Set font->resizing_ratio.
11441 (better_font_p): Pay attention to font->resizing_ratio.
11442 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
11443 RESX, and RESY fields.
11444 (try_alternative_families): Try scalable fonts if
11445 Vscalable_fonts_allowed is not Qt.
11446 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
11447
114482008-02-01 Dave Love <fx@gnu.org>
11449
11450 * xterm.c (xaw_scroll_callback): Cast correctly.
11451
114522008-02-01 Dave Love <fx@gnu.org>
11453
11454 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
11455 (lispy_kana_keys): Comment out.
11456 (make_lispy_event) [XK_kana_A]: Comment out.
11457
11458 * xterm.c (xaw_scroll_callback): Cast call_data.
11459 (XTread_socket): Deal with ASCII keysyms.
11460 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
11461
114622008-02-01 Dave Love <fx@gnu.org>
11463
11464 * xterm.c (Vx_keysym_table): New.
11465 (syms_of_xterm): Initialize it.
11466 (XTread_socket): Use it.
11467 From head: Eliminate incorrect optimization that tried to avoid
11468 decoding the output of X*LookupString.
11469 (x_get_font_repertory): Delete charset declaration.
11470
114712008-02-01 Kenichi Handa <handa@m17n.org>
11472
11473 * coding.c (detect_coding_charset): If only ASCII bytes are found,
11474 return 0.
11475 (Fdefine_coding_system_internal): Setup
11476 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
11477
114782008-02-01 Dave Love <fx@gnu.org>
11479
11480 * coding.c (Fcheck_coding_system): Doc fix.
11481
11482 * editfns.c (Finsert_byte): Return a proper value.
11483
114842008-02-01 Kenichi Handa <handa@m17n.org>
11485
11486 * coding.c (decode_coding): Fix args to translate_chars. Pay
11487 attention to Vstandard_translation_table_for_decode.
11488 (encode_coding): Fix args to translate_chars. Pay attention to
11489 Vstandard_translation_table_for_encode.
11490
11491 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
11492 SINGLE_BYTE_CHAR_P.
11493
11494 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
11495 not by SINGLE_BYTE_CHAR_P.
11496
11497 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
11498 SINGLE_BYTE_CHAR_P.
11499
11500 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
11501 SINGLE_BYTE_CHAR_P.
11502
11503 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
11504 by SINGLE_BYTE_CHAR_P.
11505
11506 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
11507 SINGLE_BYTE_CHAR_P.
11508
115092008-02-01 Dave Love <fx@gnu.org>
11510
11511 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
11512
115132008-02-01 Dave Love <fx@gnu.org>
11514
11515 * fns.c (Flanginfo): Fix typo.
11516
11517 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
11518
115192008-02-01 Kenichi Handa <handa@m17n.org>
11520
11521 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
11522 (detect_coding_emacs_mule, detect_coding_iso_2022)
11523 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
11524 incomplete byte sequence. Don't update *mask when correctly detected.
11525 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
11526 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
11527 (detect_coding, detect_coding_system): Adjust for the changes above.
11528
115292008-02-01 Kenichi Handa <handa@m17n.org>
11530
11531 * character.c (char_string): Rename from
11532 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
11533 (string_char): Rename from string_char.
11534
11535 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
11536 if C is greater than MAX_3_BYTE_CHAR.
11537 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
11538 string_char instead of string_char_with_unification.
11539
115402008-02-01 Dave Love <fx@gnu.org>
11541
11542 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
11543
115442008-02-01 Kenichi Handa <handa@m17n.org>
11545
11546 * keymap.c (push_key_description): Pay attention to force_multibyte.
11547
11548 * regex.c (re_search_2): Fix for the case of unibyte buffer.
11549
115502008-02-01 Dave Love <fx@gnu.org>
11551
11552 * charset.c (define_charset_internal): Rename `supprementary'.
11553
11554 * Makefile.in (lisp, shortlisp): Remove latin-N.
11555
115562008-02-01 Dave Love <fx@gnu.org>
11557
11558 * xfns.c (x_window, x_window): Use use_xim.
11559
11560 * xterm.c (use_xim): Initialize.
11561 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
11562 (x_term_init): Maybe set use_xim.
11563
11564 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
11565
115662008-02-01 Kenichi Handa <handa@m17n.org>
11567
11568 * search.c (search_buffer): Fix case-fold-search of multibyte
11569 characters.
11570 (boyer_moore): Rename the last argument to char_high_bits.
11571
115722008-02-01 Kenichi Handa <handa@m17n.org>
11573
11574 * xdisp.c (display_string): Fix for the case of zero width glyph.
11575
11576 * xfns.c (x_set_font): Change the error message of the case that
11577 x_new_fontset returns Qt.
11578
11579 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
11580 (Finternal_set_lisp_face_attribute): Use signal_error for the
11581 error of invalid fontset.
11582
11583 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
11584 fontset, return Qt.
11585
115862008-02-01 Dave Love <fx@gnu.org>
11587
11588 * unexelf.c (unexec): Make .got handling not SGI-specific.
11589
11590 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
11591
11592 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
11593
11594 * keyboard.c (read_key_sequence): Fix type error.
11595
11596 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
11597 type error.
11598
11599 * fontset.c (fontset_add): Return Lisp_Object.
11600
116012008-02-01 Dave Love <fx@gnu.org>
11602
11603 * charset.h (charset_ordered_list_tick): Declare extern.
11604
116052008-02-01 Kenichi Handa <handa@m17n.org>
11606
11607 The following changes (and some of 2008-02-01 changes of mine) are
11608 for handling syntax, category, and case conversion for unibyte
11609 characters by converting them to multibyte on the fly. With these
11610 changes, we don't have to setup syntax and case tables for unibyte
11611 characters in each language environment.
11612
11613 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
11614 multibyte if necessary.
11615
11616 * bytecode.c (Fbyte_code): Likewise.
11617
11618 * character.h (LEADING_CODE_LATIN_1_MIN)
11619 (LEADING_CODE_LATIN_1_MAX): New macros.
11620 (unibyte_to_multibyte_table): Extern it.
11621 (unibyte_char_to_multibyte): New macro.
11622 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
11623 (CHAR_LEADING_CODE): New macro.
11624 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
11625
11626 * character.c (unibyte_to_multibyte_table): New variable.
11627 (unibyte_char_to_multibyte): Move to character.h and define as macro.
11628 (multibyte_char_to_unibyte): If C is an eight-bit character,
11629 convert it to the corresponding byte value.
11630
11631 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
11632 not 1, signals an error. Update the elements of
11633 unibyte_to_multibyte_table.
11634 (init_charset_once): Initialize unibyte_to_multibyte_table.
11635 (syms_of_charset): Define the charset `iso-8859-1'.
11636
11637 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
11638 as is without converting it to unibyte. In a unibyte buffer,
11639 convert C to multibyte before checking the syntax.
11640
11641 * lisp.h (unibyte_char_to_multibyte): Delete extern.
11642
11643 * minibuf.c (Fminibuffer_complete_word): Use the macro
11644 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
11645
11646 * regex.h (struct re_pattern_buffer): New member target_multibyte.
11647
11648 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
11649 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
11650 that is zero, convert an eight-bit char to multibyte.
11651 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
11652 non-emacs case.
11653 (PATFETCH): Convert an eight-bit char to multibyte.
11654 (HANDLE_UNIBYTE_RANGE): New macro.
11655 (regex_compile): Setup the compiled pattern for multibyte chars
11656 even if the given regex string is unibyte. Use PATFETCH_RAW
11657 instead of PATFETCH in many places. To handle `charset'
11658 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
11659 only for ASCII chars.
11660 (analyse_first) <exactn>: Simplify because the compiled pattern
11661 is multibyte.
11662 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
11663 <charset>: Use CHAR_LEADING_CODE to get leading codes.
11664 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
11665 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
11666 multibyte always 1.
11667 (re_search_2): In emacs, set the locale variable multibyte to 1,
11668 otherwise to 0. New local variable target_multibyte. Check it
11669 to decide the multibyteness of STR1 and STR2. If
11670 target_multibyte is zero, convert unibyte chars to multibyte
11671 before translating and checking fastmap.
11672 (TARGET_CHAR_AND_LENGTH): New macro.
11673 (re_match_2_internal): In emacs, set the locale variable multibyte
11674 to 1, otherwise to 0. New local variable target_multibyte. Check
11675 it to decide the multibyteness of STR1 and STR2. Use
11676 TARGET_CHAR_AND_LENGTH to fetch a character from D.
11677 <charset, charset_not>: If multibyte is nonzero, check fastmap
11678 only for ASCII chars. Call bcmp_translate with
11679 target_multibyte, not with multibyte.
11680 <begline>: Declare the local variable C as `unsigned'.
11681 (bcmp_translate): Change the last arg name to target_multibyte.
11682
11683 * search.c (compile_pattern_1): Don't adjust the multibyteness of
11684 the regexp pattern and the matching target. Set cp->buf.multibyte
11685 to the multibyteness of the regexp pattern. Set
11686 cp->but.target_multibyte to the multibyteness of the matching target.
11687 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
11688 FETCH_STRING_CHAR_ADVANCE.
11689 (Freplace_match): Convert unibyte chars to multibyte.
11690
11691 * syntax.c (char_quoted, back_comment, scan_words)
11692 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
11693 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
11694 unibyte chars to multibyte.
11695 (skip_chars): Delete the arg syntaxp, and move the code for
11696 handling syntaxes to skip_syntaxes. Change callers.
11697 Fix the case that the multibyteness of STRING and the current
11698 buffer doesn't match.
11699 (skip_syntaxes): New function.
11700 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
11701 SINGLE_BYTE_CHAR_P.
11702
117032008-02-01 Kenichi Handa <handa@m17n.org>
11704
11705 * xfaces.c (QCfontset): New variable.
11706 (LFACE_FONTSET): New macro.
11707 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
11708 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
11709 (Finternal_set_lisp_face_attribute)
11710 (Finternal_get_lisp_face_attribute): Handle QCfontset.
11711 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
11712 check also LFACE_FONTSET_INDEX.
11713 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
11714 attrs[LFACE_FONT_INDEX].
11715 (syms_of_xfaces): Intern and staticpro QCfontset.
11716
11717 * dispextern.h (enum lface_attribute_index): New member
11718 LFACE_FONTSET_INDEX.
11719
11720 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
11721
117222008-02-01 Kenichi Handa <handa@m17n.org>
11723
11724 * coding.c (coding_set_destination): Fix coding->destination for
11725 the case converting a region.
11726 (encode_coding_utf_8): Encode eight-bit chars as single byte.
11727 (encode_coding_object): Fix coding->dst_pos and
11728 coding->dst_pos_byte for the case converting a region.
11729
11730 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
11731
11732 * character.h (BYTE8_STRING): New macro.
11733
11734 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
11735
117362008-02-01 Kenichi Handa <handa@m17n.org>
11737
11738 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
11739 characters by octal form.
11740
11741 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
11742
11743 * buffer.h (_fetch_multibyte_char_len): Delete extern.
11744 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
11745 _fetch_multibyte_char_len.
11746 (FETCH_CHAR_AS_MULTIBYTE): New macro.
11747
11748 * casetab.c (set_canon, set_identity, shuffle): Simplify.
11749
11750 * casefiddle.c (casify_object): Simplify. Handle the case that
11751 the case conversion change the byte length.
11752 (casify_region): Likewise.
11753
11754 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
11755
11756 * character.c (_fetch_multibyte_char_len): Delete this variable.
11757 (syms_of_character): Setup Vprintable_chars.
11758
11759 * editfns.c (Fchar_equal): Fix for the unibyte case.
11760 (Finsert_byte): New function.
11761 (syms_of_editfns): Defsubr it.
11762
11763 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
11764 of direct code 0x3ffff.
11765
11766 * search.c (Freplace_match): Fix for the unibyte case.
11767
117682008-02-01 Kenichi Handa <handa@m17n.org>
11769
11770 * lread.c (safe_to_load_p): Fix the logic.
11771
11772 * syntax.c (scan_words): Don't treat characters belonging to
11773 different scripts as constituting a word.
11774
11775 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
11776
11777 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
11778
11779 * emacs.c (main): In the case of --unibyte, instead of aborting on
11780 finding non-empty buffer, make it unibyte.
11781
117822008-02-01 Kenichi Handa <handa@m17n.org>
11783
11784 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
11785 to create a fontset.
11786
117872008-02-01 Dave Love <fx@gnu.org>
11788
11789 * character.c (Funibyte_char_to_multibyte): Doc fix.
11790
11791 * xfns.c [HAVE_STDLIB_H]: Fix last change.
11792
117932008-02-01 Kenichi Handa <handa@m17n.org>
11794
11795 * fontset.c (fontset_add): Make the type `int'.
11796 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
11797
11798 * character.c (unibyte_char_to_multibyte)
11799 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
11800 charset_unibyte, not charset_primary.
11801
11802 * charset.h (charset_unibyte): Extern it instead of charset_primary.
11803
11804 * charset.c (charset_unibyte): Rename from charset_primary.
11805 (Funibyte_charset): Rename from Fprimary_charset.
11806 (Fset_unibyte_charset): Rename from Fset_primary_charset.
11807 (syms_of_charset): Adjust for the above changes.
11808
11809 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
11810 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
11811 it->multibyte_p is zero.
11812
11813 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
11814 Delete extern.
11815
118162008-02-01 Kenichi Handa <handa@m17n.org>
11817
11818 * coding.c (Fdefine_coding_system_internal): Fix category setting
11819 for a coding system of type iso-2022.
11820
118212008-02-01 Kenichi Handa <handa@m17n.org>
11822
11823 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
11824
118252008-02-01 Kenichi Handa <handa@m17n.org>
11826
11827 * syntax.c (Vnext_word_boundary_function_table): New variable.
11828 (next-word-boundary-function-table): Declare it as a Lisp variable
11829 in syms_of_syntax.
11830 (scan_words): Call functions in Vnext_word_boundary_function_table
11831 if any.
11832
11833 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
11834
11835 * fontset.c (fs_load_font): If fontp->charset is not negative,
11836 return fontp without setting its members.
11837
118382008-02-01 Dave Love <fx@gnu.org>
11839
11840 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
11841
11842 * m/sparc.h (HAVE_ALLOCA): Delete.
11843
11844 * s/irix6-5.h: Don't include strings.h.
11845 (bcopy, bzero, bcmp): Don't undef.
11846
11847 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
11848
11849 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
11850 (TIOCSIGSEND): Don't test IRIX6.
11851 (bcopy, bzero, bcmp): Define conditionally.
11852
118532008-02-01 Kenichi Handa <handa@m17n.org>
11854
11855 * buffer.c (Qas, Qmake, Qto): New variables.
11856 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
11857 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
11858
11859 * callproc.c (Fcall_process): Don't call insert_1_both directly if
11860 we are inserting a process output into a multibyte buffer.
11861
11862 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
11863 multibyte_char_to_unibyte.
11864
11865 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
11866 by the primary charset, make it eight-bit char.
11867 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
11868
11869 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
11870 (charset_8_bit__control, charset_8_bit_graphic)
11871 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
11872 (define_charset_internal): New function.
11873 (syms_of_charset): Call define_charset_internal for pre-defined
11874 charsets.
11875
11876 * charset.h (charset_8_bit): Extern it.
11877
11878 * coding.c (make_conversion_work_buffer): Adjust for the change
11879 of Fset_buffer_multibyte.
11880 (encode_coding_raw_text): Increment p0 in the loop.
11881
11882 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
11883
11884 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
11885 for the change of Fset_buffer_multibyte.
11886
11887 * fns.c (Fstring_to_multibyte): New function.
11888 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
11889
118902008-02-01 Dave Love <fx@gnu.org>
11891
11892 * xfns.c (x_put_x_image): Declare args.
11893
11894 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
11895 (try_font_list): Declare an arg.
11896
11897 * xdisp.c (message2_nolog, set_message): Declare an arg.
11898
11899 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
11900
11901 * syntax.c (scan_sexps_forward): Declare an arg.
11902
11903 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
11904 Declare an arg.
11905
11906 * lisp.h (Fnew_fontset): Declare.
11907
11908 * keymap.c (push_key_description): Call CHARACTERP correctly.
11909
11910 * fontset.c (fontset_add): Declare args. Call make_number correctly.
11911 (face_for_char): Delete unused vars.
11912 (Fset_fontset_font): Doc fix. Delete unused vars.
11913
11914 * doc.c (Fsubstitute_command_keys): Delete unused vars.
11915
11916 * composite.c (update_compositions): Declare arg.
11917
11918 * cm.c (calccost, cmgoto): Declare args.
11919
11920 * charset.c: Remove `emacs' conditional. Doc fixes.
11921 (map_char_table_for_charset): Declare.
11922
11923 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
11924
11925 * ccl.c: Remove `emacs' conditional.
11926
119272008-02-01 Kenichi Handa <handa@m17n.org>
11928
11929 The following changes are to allow specifying multiple font
11930 patterns for a character range (specified by script or charset).
11931
11932 * Makefile.in (abbrev.o): Depend on syntax.h.
11933 (xfaces.o): Depend on charset.h.
11934
11935 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
11936 SINGLE_BYTE_CHAR_P.
11937
11938 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
11939
11940 * character.h (Vchar_script_table): Extern it.
11941
11942 * character.c (Vscript_alist): Delete.
11943 (Vchar_script_table, Qchar_script_table): New variable.
11944 (syms_of_character): Declare Vchar_script_table as a lisp variable
11945 and initialize it.
11946
11947 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
11948 have property char-table-extra-slots, make no extra slot.
11949
11950 * dispextern.h (struct face): Delete member `charset'.
11951 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
11952 SINGLE_BYTE_CHAR_P.
11953 (choose_face_font, lookup_non_ascii_face, font_name_registry):
11954 Add prototypes.
11955 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
11956 (generate_ascii_font_name): Rename from generate_ascii_font.
11957
11958 * fontset.h (get_font_repertory_func): New prototype.
11959 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
11960 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
11961
11962 * fontset.c (Qprepend, Qappend): New variables.
11963 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
11964 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
11965 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
11966 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
11967 (fontset_ref_and_range, fontset_add, reorder_font_vector)
11968 (load_font_get_repertory): New functions.
11969 (fontset_set): Delete.
11970 (fontset_face): New arg FACE. Return face ID, not face.
11971 Complete re-write to handle new fontset structure. Change caller.
11972 (free_face_fontset): Use ASET istead of AREF (X) = Y.
11973 (face_for_char): Don't call lookup_face.
11974 (make_fontset_for_ascii_face): New arg FACE.
11975 (fs_load_font): New arg CHARSET_ID. Don't check
11976 Vfont_encoding_alist here.
11977 (find_font_encoding): New function.
11978 (list_fontsets): Use STRINGP, not ! NILP.
11979 (accumulate_script_ranges): New function.
11980 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
11981 re-written to handle new fontset structure.
11982 (Ffontset_font): Return a copy of element.
11983 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
11984 docstring of font-encoding-alist.
11985
11986 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
11987 (Fset_fotset_font): Fix arguments to 5.
11988
11989 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
11990
11991 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
11992 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
11993 (highlight_trailing_whitespace): Adjust for the change of
11994 lookup_named_face.
11995
11996 * xfaces.c: Include charset.h.
11997 (load_face_font): Delete argument C. Change caller.
11998 (generate_ascii_font_name): Rename from generate_ascii_font.
11999 (font_name_registry): New function.
12000 (cache_face): Store ascii faces before non-ascii faces in buckets.
12001 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
12002 Lookup only ascii faces.
12003 (lookup_non_ascii_face): New function.
12004 (lookup_named_face): Delete argument C. Change caller.
12005 (lookup_derived_face): Delete argument C. Change caller.
12006 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
12007 a string, just call font_list with it.
12008 (choose_face_font): Delete arguments FACE and C. New arg
12009 FONT_SPEC. Change caller.
12010 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
12011 Change caller.
12012 (realize_non_ascii_face): New function.
12013 (realize_x_face): Call load_face_font here.
12014 (realize_tty_face): Delete argument C. Change caller.
12015 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
12016 get a face ID.
12017 (dump_realized_face): Don't print charset of FACE.
12018
12019 * xfns.c (x_set_font): Always call x_new_fontset and
12020 store_frame_parameter.
12021 (Fx_create_frame): Call x_new_fontset, not x_new_font.
12022 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
12023
12024 * xterm.h (x_get_font_repertory): Extern it.
12025
12026 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
12027 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
12028 it->multibyte_p is zero.
12029 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12030 (x_new_fontset): If FONTSETNAME doesn't match any existing
12031 fontsets, create a new one.
12032 (x_get_font_repertory): New function.
12033
120342008-02-01 Kenichi Handa <handa@m17n.org>
12035
12036 * coding.c (Ffind_coding_systems_region_internal): Detect an
12037 ASCII only string correctly.
12038
12039 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
12040 version is 0.
12041
120422008-02-01 Kenichi Handa <handa@m17n.org>
12043
12044 * lread.c: Include "coding.h".
12045 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
12046 (load_each_byte, unread_char): New variables.
12047 (readchar_backlog): Delete.
12048 (readchar): Return a character unless load_each_byte is nonzero.
12049 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
12050 cons. If unread_char is not -1, simply return it.
12051 (unreadchar): Handle the case that readcharfun is
12052 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
12053 (read_multibyte): Delete.
12054 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
12055 (read_emacs_mule_char): New functions.
12056 (Fload): Even if the file doesn't have the extension ".elc", if
12057 safe_to_load_p returns a positive version number, assume that the
12058 file contains bytecompiled code. If the version is less than 22,
12059 load the file while decoding multibyte sequences by emacs-mule.
12060 (readevalloop): Don't use readchar_backlog.
12061 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
12062 (Fread_from_string): Pay attention to the case that STREAM is a cons.
12063 (read_escape): Delete the arg BYTEREP.
12064 (read1): Set load_each_byte to 1 temporarily while handling
12065 #@NUMBER. Don't call read_multibyte.
12066 (read_vector): Call Fread with a cons. If readcharfun is
12067 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
12068 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
12069 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
12070 and Qload_force_doc_strings.
12071
120722008-02-01 Kenichi Handa <handa@m17n.org>
12073
12074 * xdisp.c (face_before_or_after_it_pos): Call
12075 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
12076
120772008-02-01 Kenichi Handa <handa@m17n.org>
12078
12079 * character.h (TRAILING_CODE_P): New macro.
12080 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
12081 (string_char_with_unification): Fix prototype.
12082 (Vscript_alist): Extern it.
12083
12084 * character.c (Vscript_alist): New variable.
12085 (string_char_with_unification, str_as_unibyte)
12086 (string_escape_byte8): Add `const' to local variables.
12087 (syms_of_character): Declare script-alist as a Lisp variable.
12088
12089 * charset.h (Vcharset_ordered_list): Extern it.
12090 (charset_ordered_list_tick): Extern it.
12091 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
12092 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
12093 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
12094 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
12095 (Funify_charset): Adjust for the change of Funify_charset.
12096
12097 * charset.c (charset_ordered_list_tick): New variable.
12098 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
12099 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
12100 deunify intead of unify a charset.
12101 (string_xstring_p): Add `const' to local variables.
12102 (find_charsets_in_text): Add `const' to arguments and local variables.
12103 (encode_char): Adjust for the change of Funify_charset. Fix
12104 detecting of invalid code.
12105 (Fset_charset_priority): Increment charset_ordered_list_tick.
12106 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
12107 and TO_CODE.
12108
12109 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
12110 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
12111 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
12112 (decode_coding_ccl, consume_chars)
12113 (Ffind_coding_systems_region_internal)
12114 (Fcheck_coding_systems_region): Add `const' to local variables.
12115
12116 * print.c (print_object): Use octal form for printing the
12117 contents of a bool vector.
12118
121192008-02-01 Dave Love <fx@gnu.org>
12120
12121 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
12122 <version == 20>: Refuse to load.
12123
121242008-02-01 Dave Love <fx@gnu.org>
12125
12126 * fns.c: Move coding.h.
12127 (Qcodeset, Qdays, Qmonths): New.
12128 (concat): Use CHARACTERP instead of INTEGERP.
12129 (Flocale_codeset): Delete.
12130 (Flanginfo): New function.
12131 (syms_of_fns): Change accordingly.
12132
12133 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
12134
121352008-02-01 Dave Love <fx@gnu.org>
12136
12137 * casetab.c (init_casetab_once, init_casetab_once): Fix
12138 CHAR_TABLE_SET call.
12139
12140 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
12141
12142 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
12143
12144 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
12145 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
12146 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
12147
12148 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
12149
12150 * coding.c (ENCODE_DESIGNATION, decode_eol)
12151 (make_conversion_work_buffer, code_conversion_restore)
12152 (Fdefine_coding_system_internal): Convert Lisp types.
12153 (code_conversion_restore): Use EQ, not ==.
12154 (Fencode_coding_string): Fix code_convert_string call.
12155
12156 * coding.h (code_convert_region): Fix prototype.
12157
12158 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
12159
12160 * fontset.c (fontset_ref, fontset_set, fs_load_font)
12161 (Ffontset_info): Convert Lisp types.
12162
12163 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
12164
12165 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
12166
12167 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
12168
12169 * chartab.c: Include "...h", not <...h> in some cases.
12170
12171 * callproc.c (Fcall_process): Remove unused variables.
12172
121732008-02-01 Dave Love <fx@gnu.org>
12174
12175 * coding.c (Fset_coding_system_priority): Allow null arg list.
12176
121772008-02-01 Dave Love <fx@gnu.org>
12178
12179 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
12180 (Fself_insert_and_exit): Use CHARACTERP.
12181
12182 * callproc.c (Fcall_process): Remove unused vars.
12183
12184 * xterm.c (XTread_socket): Add extra dead keysyms.
12185
12186 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
12187
12188 * dispextern.h: Remove prototypes for redraw_frame,
12189 redraw_garbaged_frames.
12190
12191 * cmds.c (Fself_insert_command): Use CHARACTERP.
12192
12193 * chartab.c (make_sub_char_table): Remove unused var.
12194 (Fset_char_table_default, Fmap_char_table): Doc fix.
12195
12196 * keymap.c (access_keymap): Remove generic char code.
12197 (push_key_description): Use CHARACTERP.
12198
121992008-02-01 Dave Love <fx@gnu.org>
12200
12201 * charset.c: Doc fixes.
12202 (Funify_charset): Extra checking.
12203
122042008-02-01 Dave Love <fx@gnu.org>
12205
12206 * lread.c: Remove some unused variables.
12207 (safe_to_load_p): If safe, return the magic number version byte.
12208 (Fload): Maybe use load-with-code-conversion.
12209
122102008-02-01 Kenichi Handa <handa@m17n.org>
12211
12212 * category.c (Fmodify_category_entry): Don't modify the contents
12213 of category_set for characters out of the range. Avoid
12214 unnecessary modification.
12215
12216 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
12217 Vchar_unify_table. The default value of the table is now nil.
12218
12219 * character.c (syms_of_character): Setup Vchar_width_table for
12220 eight-bit-control and raw-byte chars.
12221
12222 * charset.h (enum define_charset_arg_index): Delete
12223 charset_arg_parents and add charset_arg_subset and
12224 charset_arg_superset.
12225 (enum charset_attr_index): Delete charset_parents and add
12226 charset_subset and charset_superset.
12227 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
12228 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
12229 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
12230 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
12231 (CHARSET_SUPERSET): New macros.
12232 (charset_work): Extern it.
12233 (ENCODE_CHAR): Use charset_work.
12234 (CHAR_CHARSET_P): Adjust for the change of encoder format.
12235 (map_charset_chars): Extern it.
12236
12237 * charset.c (load_charset_map): Set the default value of encoder
12238 and deunifier char-tables to nil.
12239 (map_charset_chars): Change argument. Change callers. Use
12240 map_char_table_for_charset instead of map_char_table.
12241 (Fmap_charset_chars): New optional args from_code and to_code.
12242 (Fdefine_charset_internal): Adjust for the change of
12243 `define-charset' (:parents -> :subset or :superset).
12244 (charset_work): New variable.
12245 (encode_char, syms_of_charset): Adjust for the change of
12246 Fdefine_charset_internal.
12247 (Ffind_charset_string): Setup the vector `charsets' correctly.
12248
12249 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
12250 the previous change.
12251 (char_table_ref_and_range): Adjust for the above change.
12252 (map_sub_char_table_for_charset): New function.
12253 (map_char_table_for_charset): New function.
12254
12255 * keymap.c (describe_vector): Handle a char-table directly here.
12256 (describe_char_table): Delete.
12257
12258 * lisp.h (map_charset_chars): Delete.
12259
122602008-02-01 Dave Love <fx@gnu.org>
12261
12262 * fns.c (count_combining): Comment out (unused).
12263 (Flocale_codeset): New.
12264 (syms_of_fns): Defsubr it.
12265
12266 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
12267 (size_t): Remove.
12268
122692008-02-01 Dave Love <fx@gnu.org>
12270
12271 * Makefile.in (chartab.o): Depend on charset.h.
12272
122732008-02-01 Kenichi Handa <handa@m17n.org>
12274
12275 * character.c (syms_of_character): Set the default value of
12276 Vprintable_chars to Qnil.
12277
122782008-02-01 Dave Love <fx@gnu.org>
12279
12280 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
12281
122822008-02-01 Kenichi Handa <handa@m17n.org>
12283
12284 * charset.c (load_charset_map): Handle the case that from < to
12285 correctly.
12286
12287 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
12288 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
12289 Pay attention to raw-8-bit chars.
12290
122912008-02-01 Kenichi Handa <handa@m17n.org>
12292
12293 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
12294 It is not bytecompiled now.
12295
12296 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
12297 (charset_jisx0208): New variables.
12298 (Fdefine_charset_internal): Setup them if appropriate.
12299 (init_charset_once): Initialize them to -1.
12300
12301 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
12302 (charset_jisx0208): Extern them.
12303
12304 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
12305 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
12306 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
12307 (setup_iso_safe_charsets): Fix arguments to Fassq.
12308 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
12309 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
12310 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
12311 (encode_coding_iso_2022): Change the 1st arg to
12312 ENCODE_ISO_CHARACTER to a variable.
12313
123142008-02-01 Kenichi Handa <handa@m17n.org>
12315
12316 * charset.h (enum define_charset_arg_index): New enums
12317 charset_arg_min_code and charset_arg_max_code.
12318 (struct charset): New member char_index_offset.
12319
12320 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
12321 Take charset->char_index_offset into account.
12322 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
12323 args[charset_arg_max_code]. Setup charset.char_index_offset.
12324 (syms_of_charset): Fix args to Fdefine_charset_internal.
12325
123262008-02-01 Dave Love <fx@gnu.org>
12327
12328 * coding.c (decode_coding_utf_8): Reject overlong sequences.
12329
123302008-02-01 Dave Love <fx@gnu.org>
12331
12332 * coding.c: Doc fixes.
12333 (Fcoding_system_aliases): Fix return value.
12334 (Qmac): Remove (duplicated) definition.
12335
123362008-02-01 Dave Love <fx@gnu.org>
12337
12338 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
12339 functions.
12340
12341 * character.c (Fstring): Doc fix.
12342
12343 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
12344
12345 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
12346 ids.
12347 (font-encoding-alist): Doc fix.
12348
123492008-02-01 Dave Love <fx@gnu.org>
12350
12351 * term.c (costs_set): Declare static, non-initialized for pcc.
12352 (encode_terminal_code): Remove unused var.
12353
12354 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
12355 for K&R.
12356
12357 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
12358
12359 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
12360 (suffixes): Move out of make_subsidiaries for K&R.
12361
12362 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
12363
12364 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
12365
123662008-02-01 Dave Love <fx@gnu.org>
12367
12368 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
12369
12370 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
12371
123722008-02-01 Yong Lu <lyongu@asia-infonet.com>
12373
12374 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
12375
12376 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
12377
123782008-02-01 Kenichi Handa <handa@m17n.org>
12379
12380 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
12381 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
12382
123832008-02-01 Kenichi Handa <handa@m17n.org>
12384
12385 * coding.c (decode_coding_charset): Adjust for the change of
12386 Fdefine_coding_system_internal.
12387 (Fdefine_coding_system_internal): For a coding system of
12388 `charset' type, store a list of charset IDs in
12389 `charset_attr_charset_valids' element of coding attributes.
12390
123912008-02-01 Kenichi Handa <handa@m17n.org>
12392
12393 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
12394 (emacs_mule_char): New arg src. Delete arg `composition'. Change
12395 caller. Handle 2-byte and 3-byte charsets correctly.
12396 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
12397 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
12398 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
12399 (DECODE_EMACS_MULE_21_COMPOSITION): Call
12400 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
12401 sequence.
12402 (decode_coding_emacs_mule): Handle composition correctly. Rewind
12403 `src' and `consumed_chars' correctly before calling emacs_mule_char.
12404 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
12405 and alt&rule composition.
12406 (decode_coding_iso_2022): Handle composition correctly.
12407 (init_coding_once): Setup emacs_mule_bytes for private charsets.
12408
12409 * charset.c (Fdefine_charset_internal): Fix bug for the case of
12410 re-defining a charset. If the charset has :emacs-mule-id, setup
12411 emacs_mule_bytes.
12412 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
12413
124142008-02-01 Kenichi Handa <handa@m17n.org>
12415
12416 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
12417 (encode_coding_big5, encode_coding_charset): If coding requires safe
12418 encoding, produce a character specified by
12419 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
12420
124212008-02-01 Dave Love <fx@gnu.org>
12422
12423 * xterm.c (XSetIMValues): Declare.
12424
12425 * process.c: Conditionally include sys/wait.h, pty.h.
12426
12427 * print.c (print_object): Fix print format for 64-bit systems.
12428
12429 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
12430
12431 * buffer.c (emacs_strerror): Declare.
12432
12433 * fontset.c (Fclear_face_cache): Declare.
12434 (accumulate_font_info): Comment-out (unused).
12435 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
12436 variables.
12437
12438 * character.h (string_escape_byte8): Declare.
12439
12440 * charset.c (load_charset_map, load_charset_map_from_file): Remove
12441 unused vars.
12442 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
12443 (Fmap_charset_chars): Doc fix.
12444
12445 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
12446 (Fset_coding_system_priority, Fset_coding_system_priority)
12447 (Fdefine_coding_system_internal): Doc fix.
12448
124492008-02-01 Dave Love <fx@gnu.org>
12450
12451 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
12452
124532008-02-01 Kenichi Handa <handa@m17n.org>
12454
12455 * character.c (string_escape_byte8): Make multibyte string with
12456 correct size.
12457
12458 * charset.c (Fmake_char): Delete unnecessary code.
12459
124602008-02-01 Kenichi Handa <handa@m17n.org>
12461
12462 * xfns.c (x_encode_text): Allocate coding.destination here, and
12463 call encode_coding_object with dst_object Qnil.
12464
12465 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
12466 multibyte form correctly.
12467
12468 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
12469 against Vfont_encoding_alist.
12470
12471 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
12472 handling of charset list.
12473 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
12474 (decode_coding_object): Move point to coding->dst_pos before
12475 calling post-read-conversion function.
12476 (encode_coding_object): Give correct arguments to
12477 pre-write-conversion. Ignore the return value of
12478 pre-write-conversion function. Pay attention to the case that
12479 pre-write-conversion changes the current buffer. If dst_object is
12480 Qt, even if coding->src_bytes is zero, allocate at least one byte
12481 to coding->destination.
12482
12483 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
12484
12485 * charset.c (Fmake_char): Make it more backward compatible.
12486 (Fmap_charset_chars): Fix docstring.
12487
124882008-02-01 Dave Love <fx@gnu.org>
12489
12490 * coding.c: Doc fixes.
12491 (Fdefine_coding_system_alias): Use names, not symbols, in
12492 coding-system-alist.
12493
124942008-02-01 Kenichi Handa <handa@m17n.org>
12495
12496 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
12497 of calling free_realized_face.
12498
124992008-02-01 Yong Lu <lyongu@asia-infonet.com>
12500
12501 * charset.c (read_hex): Don't treat SPC as a comment starter.
12502 (decode_char): If CODE_POINT_TO_INDEX returns -1, always return -1.
12503 (Fdecode_char): Fix typo.
12504
125052008-02-01 Kenichi Handa <handa@m17n.org>
12506
12507 * charset.h (struct charset): New member `code_space_mask'.
12508
12509 * coding.c (coding_set_source): Delete the local variable beg_byte.
12510 (encode_coding_charset, Fdefine_coding_system_internal):
12511 Delete the local variable charset.
12512 (Fdefine_coding_system_internal): Setup
12513 attrs[coding_attr_charset_valids] correctly.
12514
12515 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
12516 member to check if CODE is valid or not.
12517 (Fdefine_charset_internal): Initialize `code_space_mask' member.
12518 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
12519 is within the range of charset->min_code and carset->max_code.
12520
125212008-02-01 Dave Love <fx@gnu.org>
12522
12523 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
12524
12525 * dispextern.h (generate_ascii_font): Fix return type.
12526
12527 * xfaces.c (generate_ascii_font): Fix arg declaration.
12528
12529 * coding.c (coding_inherit_eol_type)
12530 (Fset_terminal_coding_system_internal)
12531 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
12532
125332008-02-01 Kenichi Handa <handa@m17n.org>
12534
12535 * coding.c (decode_coding_charset, encode_coding_charset): Handle
12536 multiple charsets correctly.
12537
125382008-02-01 Kenichi Handa <handa@m17n.org>
12539
12540 * search.c (boyer_moore): Fix handling of multibyte character
12541 translation.
12542
12543 * xdisp.c (display_mode_element): When the variable `elt' is
12544 changed, update `this' and `lisp_string'.
12545
125462008-02-01 Kenichi Handa <handa@m17n.org>
12547
12548 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
12549
12550 * callproc.c (Fcall_process): Be sure to give the current buffer
12551 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
12552
12553 * charset.c (struct charset_map_entries): New struct.
12554 (load_charset_map): Rename from parse_charset_map. New args
12555 entries and n_entries. Change caller.
12556 (load_charset_map_from_file): Rename from load_charset_map.
12557 Change caller. New arg control_flag. Call load_charset_map at
12558 the tail.
12559 (load_charset_map_from_vector): New function.
12560 (Fdefine_charset_internal): Setup charset.compact_codes_p.
12561 (encode_char): If the charset is compact, change a character index
12562 to a code point.
12563
12564 * coding.c (coding_alloc_by_making_gap): Check the case that the
12565 source and destination are the same correctly.
12566 (decode_coding_raw_text): Set coding->consumed_char and
12567 coding->consumed to 0.
12568 (produce_chars): If coding->chars_at_source is nonzero, update
12569 coding->consumed_char and coding->consumed before calling
12570 alloc_destination.
12571 (Fdefine_coding_system_alias): Register ALIAS in
12572 Vcoding_system_alist.
12573 (syms_of_coding): Define `no-conversion' coding system at the tail.
12574
12575 * fileio.c (Finsert_file_contents): Set coding_system instead of
12576 val. If the current buffer is multibyte, always call
12577 decode_coding_gap.
12578
12579 * xfaces.c (try_font_list): Give higher priority to fontset's
12580 family than face's family.
12581
125822008-02-01 Kenichi Handa <handa@m17n.org>
12583
12584 * callproc.c (Fcall_process): Be sure to give the current buffer
12585 to decode_coding_c_string.
12586
12587 * xfaces.c (try_font_list): Give a family specified in a fontset
12588 higher priority than a family specified in a face.
12589
125902008-02-01 Kenichi Handa <handa@m17n.org>
12591
12592 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
12593 Fix arguments to insert_from_buffer.
12594
12595 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
12596
125972008-02-01 Kenichi Handa <handa@m17n.org>
12598
12599 * coding.c (produce_chars): Set the variable `multibytep' correctly.
12600 (decode_coding_gap): Set coding->dst_multibyte correctly.
12601
126022008-02-01 Kenichi Handa <handa@m17n.org>
12603
12604 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
12605 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
12606 (encode_coding_utf_16): Substitute coding->default_char for
12607 non-Unicode characters.
12608 (decode_coding): Don't call record_insert here.
12609 (setup_coding_system): Initialize `surrogate' of
12610 coding->spec.utf_16 to 0.
12611 (EMIT_ONE_BYTE): Fix for multibyte case.
12612
12613 * insdel.c (insert_from_gap): Call record_insert.
12614
126152008-02-01 Kenichi Handa <handa@m17n.org>
12616
12617 * casefiddle.c (casify_region): Fix multibyte case.
12618
12619 * character.c (c_string_width): Add return type `int'.
12620 (char_string_with_unification): Delete arg ADVANCED.
12621
12622 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
12623 (CHAR_STRING): Adjust for the change of char_string_with_unification.
12624 (CHAR_STRING_ADVANCE): Make it do-while statement.
12625
12626 * chartab.c (sub_char_table_set_range): Optimize for the case
12627 DEPTH == 3. Add workaround code for a GCC optimization bug.
12628
12629 * charset.c (parse_charset_map): Remove an unused variable.
12630
12631 * coding.c: Delete unused variables.
12632
12633 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
12634 earlier. If inserted is zero and the coding system doesn't
12635 require flushing, don't call decode_coding_gap.
12636
12637 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
12638
126392008-02-01 Kenichi Handa <handa@m17n.org>
12640
12641 The following changes are for using Unicode as an internal
12642 character model, and use UTF-8 format for buffer/string
12643 representation.
12644
12645 * .gdbinit (xchartable): Adjust for the change of char table structure.
12646 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
12647
12648 * Makefile.in (obj): Add character.o and chartab.o.
12649 (lisp, shortlisp): Remove utf-8.elc.
12650 (*.o): For many files, change dependency on charset.h to
12651 character.h, and add dependency on character.h.
12652 (character.o, chartab.o): New targets.
12653
12654 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
12655 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
12656 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
12657 of "charset.h".
12658
12659 * dired.c, filelock.c: Include "character.h".
12660
12661 * alloc.c: Include "character.h" instead of "charset.h".
12662 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
12663 (syms_of_alloc): Remove defsubr for Smake_char_table.
12664
12665 * buffer.c: Include "character.h" instead of "charset.h", don't
12666 include "coding.h".
12667 (Fset_buffer_multibyte): Adjust for UTF-8.
12668
12669 * buffer.h: EXFUN Fbuffer_live_p.
12670
12671 * callproc.c: Include "character.h" instead of "charset.h".
12672 (Fcall_process): Big change for the new code-conversion APIs.
12673
12674 * casetab.c: Include "character.h" instead of "charset.h".
12675 (set_canon, set_identity, shuffle): Adjust for the new
12676 map_char_table spec.
12677 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
12678 accessing the char table structure.
12679
12680 * chartab.c: New file that implements char table.
12681
12682 * category.c: Include "character.h".
12683 (copy_category_entry): New function.
12684 (copy_category_table): Call map_char_table and copy_category_entry.
12685 (Fmake_category_table): Initialize all top-level slots.
12686 (char_category_set): New function.
12687 (modify_lower_category_set): Delete.
12688 (Fmodify_category_entry): Call char_table_ref_and_range.
12689
12690 * category.h (CATEGORY_SET): Just call char_category_set.
12691
12692 * ccl.c: Include "character.h".
12693 (Qccl, Qcclp): New variables.
12694 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
12695 it's less than 256.
12696 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
12697 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
12698 and DST type.
12699 (ccl_driver): Change types of argument, adjust code accordingly.
12700 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
12701 ccl_driver.
12702 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
12703
12704 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
12705 New members src_multibyte, dst_multibyte, consumed, and produced.
12706 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
12707 (CODING_SPEC_CCL_PROGRAM): New macro.
12708 (ccl_driver): Update prototype.
12709 (Qccl, Qcclp, Fccl_program_p): Extern them.
12710 (CHECK_CCL_PROGRAM): New macro.
12711
12712 * character.c, character.h, chartab.c: New files.
12713
12714 * charset.c: Mostly re-written. Move character and multibyte sequence
12715 handling codes to character.c.
12716
12717 * charset.h: Mostly re-written. Move character and multibyte sequence
12718 handling codes to character.h.
12719
12720 * coding.c, coding.h: Mostly re-written.
12721
12722 * composite.c: Include "character.h" instead of "charset.h".
12723 (CHAR_WIDTH): Move to character.h.
12724 (HASH_KEY, HASH_VALUE): Delete.
12725
12726 * composite.h (enum composition_method): Change order of enumeration
12727 symbols.
12728
12729 * data.c: Include "character.h" instead of "charset.h".
12730 (Faref): Call CHAR_TABLE_REF for a char table.
12731 (Faset): Call CHAR_TABLE_SET for a char table.
12732
12733 * dispextern.h (free_realized_face, check_face_attribytes)
12734 (generate_ascii_font): Extern them.
12735 (free_realized_multibyte_face): Delete extern.
12736
12737 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
12738 table structure.
12739
12740 * editfns.c: Include "character.h" instead of "charset.h".
12741 (Fchar_to_string): Always call CHAR_STRING.
12742
12743 * emacs.c (main): Call init_charset_once, init_charset,
12744 syms_of_chartab, and syms_of_character.
12745
12746 * fileio.c: Include "character.h" instead of "charset.h".
12747 (Finsert_file_contents): Big change for the new code-conversion API.
12748 (choose_write_coding_system, Fwrite_region): Likewise.
12749 (build_annotations_2): Delete.
12750 (e_write): Big change for the new code-conversion API.
12751
12752 * fns.c: Include "character.h" instead of "charset.h".
12753 (copy_sub_char_table): Move to chartab.c.
12754 (Fcopy_sequence): Call copy_char_table for a char table.
12755 (concat): Delete codes calling count_multibyte.
12756 (string_char_to_byte, string_byte_to_char): Adjust for the new
12757 multibyte form.
12758 (internal_equal): Adjust for the change of char table structure.
12759 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
12760 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
12761 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
12762 (char_table_translate, optimize_sub_char_table)
12763 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
12764 chartab.c.
12765 (char_table_ref_and_index): Delete.
12766 (HASH_KEY, HASH_VALUE): Move to lisp.h.
12767 (Fmd5): Call preferred_coding_system instead of accessing
12768 Vcoding_category_list. Adjust for the new code-conversion API.
12769 (syms_of_fns): Move defsubr for char table related functions to
12770 chartab.c.
12771
12772 * fontset.c: Mostly re-written.
12773
12774 * fontset.h (struct font_info): Change type of the member encoding_type.
12775 (enum FONT_SPEC_INDEX): New enum.
12776 (fontset_font_pattern, fs_load_font): Update prototype.
12777 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
12778
12779 * indent.c: Include "character.h" instead of "charset.h".
12780 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
12781
12782 * insdel.c: Include "character.h" instead of "charset.h".
12783 (copy_text): Don't refer to Vnonascii_translation_table.
12784 (insert_from_gap): New function.
12785
12786 * keyboard.c: Include "character.h" instead of "charset.h".
12787 (command_loop_1): Never call direct_output_forward_char before
12788 a non-ASCII character.
12789 (read_char): If Vkeyboard_translate_table is a char table, always
12790 translate a character.
12791
12792 * keymap.c: Include "character.h".
12793 (store_in_keymap): Handle the case that IDX is a cons.
12794 (Fdefine_key): Handle the case that KEY is a cons and the car part
12795 is also a cons (range).
12796 (push_key_description): Adjust for the new character code.
12797 (describe_vector): Call describe_char_table for a char table.
12798 (describe_char_table): New function.
12799
12800 * keymap.h (describe_char_table): Extern it.
12801
12802 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
12803 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
12804 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
12805 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
12806 Delete.
12807 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
12808 structure.
12809 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
12810 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
12811 (CHARTAB_SIZE_BITS_3): New macros.
12812 (chartab_size): Extern it.
12813 (struct Lisp_Char_Table): Re-design.
12814 (struct Lisp_Sub_Char_Table): New structure.
12815 (HASH_KEY, HASH_VALUE): Move from fns.c.
12816 (CHARACTERBITS): Define as 22.
12817 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
12818 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
12819 (GC_SUB_CHAR_TABLE_P): New macro.
12820 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
12821 (code_convert_string_norecord): Deleted extern.
12822 (init_character_once, syms_of_character, init_charset)
12823 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
12824
12825 * lread.c: Include "character.h".
12826 (read_multibyte): New arg NBYTES.
12827 (read_escape): Change the meaning of returned *BYTEREP.
12828 (to_multibyte): Delete.
12829 (read1): Adjust the handling of char table and string.
12830
12831 * print.c: Include "character.h" instead of "charset.h".
12832 (print_string): Convert 8-bit raw bytes to octal form by
12833 string_escape_byte8.
12834 (print_object): Adjust for the new multibyte form. Print 8-bit
12835 raw bytes always in octal form. Handle sub char table correctly.
12836
12837 * process.c: Include "character.h" instead of "charset.h".
12838 (read_process_output, send_process): Adjust for the new
12839 code-conversion API.
12840
12841 * puresize.h (BASE_PURESIZE): Increase.
12842
12843 * regex.c: Include "character.h" instead of "charset.h".
12844 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
12845 (regex_compile): Accept a range whose starting and ending
12846 character have different leading bytes.
12847 (analyse_first): Adjust for the above change.
12848
12849 * search.c: Include "character.h" instead of "charset.h".
12850 (search_buffer, boyer_moore): Adjust for the new multibyte form.
12851 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
12852
12853 * syntax.c: Include "character.h" instead of "charset.h".
12854 (syntax_parent_lookup): Delete.
12855 (Fmodify_syntax_entry): Accept a cons as CHAR.
12856 (skip_chars): Adjust for the new multibyte form.
12857 (init_syntax_once): Call char_table_set_range instead of directly
12858 accessing the structure of a char table.
12859
12860 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
12861 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
12862 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
12863 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
12864
12865 * term.c: Include "buffer.h" and "character.h".
12866 (encode_terminal_code, write_glyphs): Adjust for the new
12867 code-conversion API.
12868 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
12869
12870 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
12871
12872 * xdisp.c: Include "character.h".
12873 (get_next_display_element): Adjust for the new multibyte form.
12874 (disp_char_vector): Adjust for the new char table structure.
12875 (decode_mode_spec_coding): Adjust for the new structure of
12876 coding system.
12877 (decode_mode_spec): Adjust for the new code-conversion API.
12878
12879 * xfaces.c: Include "character.h" instead of "charset.h".
12880 (load_face_font): Adjust for the change of choose_face_font and
12881 FS_LOAD_FONT.
12882 (generate_ascii_font): New function.
12883 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
12884 (set_font_frame_param): Adjust for the change of choose_face_font.
12885 (free_realized_face): Make it public.
12886 (free_realized_faces_for_fontset): Rename from
12887 free_realized_multibyte_face. Free also faces realized for ASCII.
12888 (choose_face_font): Change arguments. Adjust for the change of
12889 fontset_font_pattern and FS_LOAD_FONT.
12890
12891 * xfns.c: Include "character.h".
12892 (x_encode_text): Adjust for the new code-conversion API.
12893
12894 * xselect.c: Don't include "charset.h".
12895 (selection_data_to_lisp_data): Adjust for the new code conversion API.
12896
12897 * xterm.c: Include "character.h".
12898 (x_encode_char): New argument CHARSET. Change caller.
12899 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
12900 Call ENCODE_CHAR instead of SPLIT_CHAR.
12901 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
12902 CHAR_WIDTH instead of CHARSET_WIDTH.
12903 (XTread_socket): Adjust for the new code-conversion API.
12904 (x_new_font): Adjust for the change of FS_LOAD_FONT.
12905 (x_load_font): Adjust for the change of struct font.
12906
129072008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
12908
12909 * xfaces.c (face_at_buffer_position): Remove unused vars.
12910
129112008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12912
12913 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
12914 Fix overflow checking.
12915
129162008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12917
12918 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
12919 Cancel previous change.
12920
129212008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
12922
12923 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
12924 ccl->eight_bit_control. Fix check for buffer overflow.
12925 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
12926 (ccl_driver): Initialize extra_bytes to 0.
12927
129282008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
12929
12930 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
12931 return it ORed with ctrl_modifier.
12932
129332008-01-29 Miles Bader <miles@gnu.org>
12934
12935 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
12936
129372008-01-28 Jason Rumney <jasonr@gnu.org>
12938
12939 * w32.c (stat): Don't double check for networked drive.
12940
129412008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
12942
12943 * window.c (run_window_configuration_change_hook): New function.
12944 Code extracted from set_window_buffer. Set the selected frame.
12945 (set_window_buffer): Use it.
12946 * window.h (run_window_configuration_change_hook): Declare.
12947 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
12948
12949 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
12950
129512008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
12952
12953 * Makefile.in: Remove references to unused macros.
12954
129552008-01-26 Eli Zaretskii <eliz@gnu.org>
12956
12957 * w32.c (g_b_init_get_sid_sub_authority)
12958 (g_b_init_get_sid_sub_authority_count): New static variables.
12959 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
12960 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
12961 (init_user_info): Use them to retrieve uid and gid.
12962 Use 500/513, the Windows defaults, as Administrator's uid/gid.
12963 (fstat): Use pw_uid and pw_gid from the_passwd structure for
12964 st_uid and st_gid of the file.
12965
129662008-01-26 Jason Rumney <jasonr@gnu.org>
12967
12968 * w32.c (logon_network_drive): New function.
12969 (stat): Use it.
12970
129712008-01-26 Chong Yidong <cyd@stupidchicken.com>
12972
12973 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
12974 invisible text covered with an ellipsis.
12975
129762008-01-25 Richard Stallman <rms@gnu.org>
12977
12978 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
12979 jump back to beginning. Move some other initializations after that.
12980 (Qwindow_text_change_functions, Vwindow_text_change_functions):
12981 New variables.
12982 (syms_of_xdisp): Init them.
12983
12984 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
12985
12986 * buffer.c (reset_buffer_local_variables):
12987 Implement `permanent-local-hook'.
12988 (Qpermanent_local_hook): New variable.
12989 (syms_of_buffer): Init and staticpro it.
12990
129912008-01-25 Michael Albinus <michael.albinus@gmx.de>
12992
12993 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
12994
129952008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
12996
12997 * fns.c (Fclrhash): Return TABLE.
12998
129992008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13000
13001 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
13002 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
13003 is set even without positional changes.
13004 (x_scroll_bar_clear): Set bar->redraw_needed_p.
13005
13006 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
13007
130082008-01-23 Jason Rumney <jasonr@gnu.org>
13009
13010 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
13011
13012 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
13013 the unicode range available in MULE by locale-coding-system.
13014 Improve dbcs lead byte detection. Set event timestamp and modifiers
13015 earlier.
13016
130172008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13018
13019 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
13020 [MAC_OSX] (init_mac_osx_environment): Initialize it.
13021 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
13022 when used on child processes.
13023
130242008-01-21 Michael Albinus <michael.albinus@gmx.de>
13025
13026 * dbusbind.c (Fdbus_method_return_internal): Rename from
13027 Fdbus_method_return.
13028 (Fdbus_unregister_object): Move to dbus.el.
13029 (Fdbus_call_method, Fdbus_method_return_internal)
13030 (Fdbus_send_signal): Improve debug messages.
13031
130322008-01-20 Martin Rudalics <rudalics@gmx.at>
13033
13034 * undo.c (undo_inhibit_record_point): New variable.
13035 (syms_of_undo): Initialize it.
13036 (record_point): Don't record point when undo_inhibit_record_point
13037 is set.
13038
130392008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
13040
13041 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
13042
13043 * xdisp.c (Qauto_hscroll_mode): New var.
13044 (syms_of_xdisp): Initialize it.
13045 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
13046 window's buffer.
13047 (hscroll_windows): Don't check automatic_hscrolling_p here.
13048
13049 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
13050 vscroll if we're setting window-buffer to the value it already has.
13051
130522008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
13053
13054 * m/intel386.h: Remove references to XENIX.
13055
130562008-01-17 Andreas Schwab <schwab@suse.de>
13057
13058 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
13059 instead of HAVE_X86_64_LIB64_DIR.
13060 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
13061
130622008-01-17 Glenn Morris <rgm@gnu.org>
13063
13064 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
13065 to HAVE_X86_64_LIB64_DIR.
13066
130672008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
13068
13069 * s/irix3-3.h:
13070 * s/irix4-0.h:
13071 * s/386-ix.h:
13072 * s/domain.h:
13073 * s/hpux9-x11r4.h:
13074 * s/hpux9shxr4.h: Remove files for systems no longer supported.
13075
13076 * sysdep.c: Remove code containing references to symbols defined
13077 by unsupported systems.
13078
130792008-01-16 Glenn Morris <rgm@gnu.org>
13080
13081 * coding.c (select-safe-coding-system-function): Doc fix.
13082
130832008-01-15 Glenn Morris <rgm@gnu.org>
13084
13085 * config.in: Revert 2008-01-13 change: this is a generated file.
13086
130872008-01-13 Tom Tromey <tromey@redhat.com>
13088
13089 * lisp.h: Fix typo.
13090
130912008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
13092
13093 * m/sequent-ptx.h:
13094 * m/sequent.h:
13095 * s/ptx.h:
13096 * s/ptx4-2.h:
13097 * s/ptx4.h: Remove files for systems no longer supported.
13098
13099 * callproc.c (Fcall_process): Fix previous change.
13100
131012008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
13102
13103 * unexsunos4.c: Remove file, system not supported anymore.
13104
13105 * m/mips.h:
13106 * m/intel386.h:
13107 * callproc.c:
13108 * config.in:
13109 * ecrt0.c:
13110 * emacs.c:
13111 * fileio.c:
13112 * frame.c:
13113 * getpagesize.h:
13114 * keyboard.c:
13115 * lread.c:
13116 * process.c:
13117 * puresize.h:
13118 * sysdep.c:
13119 * systty.h:
13120 * syswait.h:
13121 * unexec.c:
13122 * xdisp.c:
13123 * alloc.c: Remove code containing references to symbols defined by
13124 unsupported systems.
13125
131262008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
13127
13128 * coding.c (detect_coding_mask): Fix previous change.
13129
131302008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
13131
13132 * coding.c (detect_coding_iso2022): New arg
13133 latin_extra_code_state. Allow Latin extra codes only
13134 when *latin_extra_code_state is nonzero.
13135 (detect_coding_mask): If there is a NULL byte, detect the encoding
13136 as UTF-16 or binary. If Latin extra codes exist, detect the
13137 encoding as ISO-2022 only when there's no other proper encoding is
13138 found.
13139
131402008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13141
13142 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
13143 #ifdef MAC_OS.
13144
131452008-01-08 Richard Stallman <rms@gnu.org>
13146
13147 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
13148
131492008-01-06 Nick Roberts <nickrob@snap.net.nz>
13150
13151 * keyboard.c (parse_menu_item): Don't enclose key bindings on
13152 menu bar in parentheses.
13153
131542008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
13155
13156 * m/7300.h:
13157 * m/acorn.h:
13158 * m/alliant-2800.h:
13159 * m/alliant.h:
13160 * m/alliant1.h:
13161 * m/alliant4.h:
13162 * m/altos.h:
13163 * m/amdahl.h:
13164 * m/apollo.h:
13165 * m/att3b.h:
13166 * m/aviion-intel.h:
13167 * m/aviion.h:
13168 * m/celerity.h:
13169 * m/clipper.h:
13170 * m/cnvrgnt.h:
13171 * m/convex.h:
13172 * m/cydra5.h:
13173 * m/delta88k.h:
13174 * m/dpx2.h:
13175 * m/dual.h:
13176 * m/elxsi.h:
13177 * m/f301.h:
13178 * m/gould-np1.h:
13179 * m/gould.h:
13180 * m/i860.h:
13181 * m/ibmps2-aix.h:
13182 * m/ibmrt-aix.h:
13183 * m/ibmrt.h:
13184 * m/irist.h:
13185 * m/is386.h:
13186 * m/isi-ov.h:
13187 * m/mega68.h:
13188 * m/mg1.h:
13189 * m/news-r6.h:
13190 * m/news-risc.h:
13191 * m/news.h:
13192 * m/nh3000.h:
13193 * m/nh4000.h:
13194 * m/ns16000.h:
13195 * m/ns32000.h:
13196 * m/nu.h:
13197 * m/orion.h:
13198 * m/orion105.h:
13199 * m/paragon.h:
13200 * m/pfa50.h:
13201 * m/plexus.h:
13202 * m/pyramid.h:
13203 * m/pyrmips.h:
13204 * m/sh3el.h:
13205 * m/sps7.h:
13206 * m/sr2k.h:
13207 * m/stride.h:
13208 * m/sun1.h:
13209 * m/sun2.h:
13210 * m/sun3-68881.h:
13211 * m/sun3-fpa.h:
13212 * m/sun3-soft.h:
13213 * m/sun3.h:
13214 * m/sun386.h:
13215 * m/symmetry.h:
13216 * m/tad68k.h:
13217 * m/tahoe.h:
13218 * m/targon31.h:
13219 * m/tek4300.h:
13220 * m/tekxd88.h:
13221 * m/tower32.h:
13222 * m/tower32v3.h:
13223 * m/ustation.h:
13224 * m/wicat.h:
13225 * m/xps100.h:
13226 * s/cxux.h:
13227 * s/cxux7.h:
13228 * s/dgux.h:
13229 * s/dgux4.h:
13230 * s/dgux5-4-3.h:
13231 * s/dgux5-4r2.h:
13232 * s/esix.h:
13233 * s/esix5r4.h:
13234 * s/hiuxmpp.h:
13235 * s/hiuxwe2.h:
13236 * s/iris3-5.h:
13237 * s/iris3-6.h:
13238 * s/isc2-2.h:
13239 * s/isc3-0.h:
13240 * s/isc4-0.h:
13241 * s/isc4-1.h:
13242 * s/newsos5.h:
13243 * s/newsos6.h:
13244 * s/osf1.h:
13245 * s/osf5-0.h:
13246 * s/riscix1-1.h:
13247 * s/riscix12.h:
13248 * s/sco4.h:
13249 * s/sco5.h:
13250 * s/sunos4-0.h:
13251 * s/sunos4-1.h:
13252 * s/sunos413.h:
13253 * s/sunos4shr.h:
13254 * s/umax.h:
13255 * s/unipl5-2.h:
13256 * s/xenix.h:
13257 * cxux-crt0.s:
13258 * unexapollo.c:
13259 * unexconvex.c:
13260 * unexenix.c:
13261 * unexsni.c: Remove files for systems no longer supported.
13262
13263 * m/intel386.h: Remove references to unsupported systems.
13264
13265 * w32.c (get_emacs_configuration): Remove reference to i860.
13266
13267 * sysdep.c: Remove dead code.
13268
132692008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
13270
13271 * s/rtu.h:
13272 * m/masscomp.h: Remove files. Platform is obsolete.
13273
132742008-01-04 Michael Albinus <michael.albinus@gmx.de>
13275
13276 * dbusbind.c (Fdbus_method_return): New function.
13277 (xd_read_message): Add the serial number to the event.
13278 (Fdbus_register_method): Activate the function.
13279
132802008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
13281
13282 * keyboard.c (read_key_sequence): Fix typo.
13283
132842008-01-03 Michael Albinus <michael.albinus@gmx.de>
13285
13286 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
13287 (xd_signature, xd_append_arg): Handle element type detection for
13288 empty arrays.
13289 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
13290 SDATA () calls; this must be solved more general.
13291 (Fdbus_register_signal): Use SBYTES instead of strlen.
13292
132932008-01-03 Magnus Henoch <magnus@zemdatav>
13294
13295 * dbusbind.c (xd_append_arg): Use unsigned char instead of
13296 unsigned int for byte values (necessary for big-endian platform).
13297 (Fdbus_call_method): Handle the case of no returned arguments.
13298
132992007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
13300
13301 * dbusbind.c (xd_read_message): Use non-static input_event struct.
13302
133032007-12-31 Magnus Henoch <mange@freemail.hu>
13304
13305 * dbusbind.c (xd_signature): Signature of variant is just "v".
13306
133072007-12-30 Michael Albinus <michael.albinus@gmx.de>
13308
13309 * dbusbind.c: Fix several errors and compiler warnings.
13310 Reported by Tom Tromey <tromey@redhat.com>.
13311 (XD_ERROR, XD_DEBUG_MESSAGE)
13312 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
13313 (xd_append_arg): Part for basic D-Bus types rewritten.
13314 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
13315 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
13316 appropriate.
13317 (xd_read_message): Return Qnil. Don't signal an error; it is not
13318 useful during event reading.
13319 (Fdbus_register_signal): Signal an error if the check for
13320 FUNCTIONP fails.
13321 (Fdbus_register_method): New function. The implementation is not
13322 complete, the call of the function signals an error therefore.
13323 (Fdbus_unregister_object): New function, renamed from
13324 Fdbus_unregister_signal. The initial check signals an error, if
13325 the object is not well formed.
13326
133272007-12-30 Richard Stallman <rms@gnu.org>
13328
13329 * textprop.c (get_char_property_and_overlay):
13330 Signal error if POSITION is out of range in a buffer.
13331
133322007-12-29 Martin Rudalics <rudalics@gmx.at>
13333
13334 * w32fns.c (Fx_create_frame): Make copy of frame parameters
13335 because the original parameters are in pure storage now.
13336
133372007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13338
13339 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
13340
133412007-12-22 Eli Zaretskii <eliz@gnu.org>
13342
13343 * callint.c (syms_of_callint) <command-history>: Add reference to
13344 history-length in the doc string.
13345
133462007-12-17 Jason Rumney <jasonr@gnu.org>
13347
13348 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
13349 before passing as wParam.
13350
133512007-12-22 Michael Albinus <michael.albinus@gmx.de>
13352
13353 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
13354 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
13355 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
13356 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
13357 as number.
13358 (Fdbus_call_method): Fix docstring.
13359
133602007-12-21 Michael Albinus <michael.albinus@gmx.de>
13361
13362 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
13363 New macros.
13364 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
13365 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
13366 Simplify.
13367 (xd_signature): New function.
13368 (xd_append_arg): Compute also signatures. Major rewrite.
13369 (xd_retrieve_arg): Make debug messages friendly.
13370 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
13371 Check for signatures of arguments.
13372
133732007-12-19 Michael Albinus <michael.albinus@gmx.de>
13374
13375 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
13376 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
13377 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
13378 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
13379 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
13380 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
13381 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
13382 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
13383 (xd_retrieve_value): Remove. Functionality included in ...
13384 (xd_append_arg): New function.
13385 (Fdbus_call_method, Fdbus_send_signal): Apply it.
13386
133872007-12-16 Michael Albinus <michael.albinus@gmx.de>
13388
13389 * dbusbind.c (top): Include <stdio.h>.
13390 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
13391 dbus_message_new_method_call and dbus_message_new_signal.
13392 (Fdbus_register_signal): Rename unique_name to uname.
13393 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
13394 non-existing unique name. Fix typos in matching rule. Return an
13395 object which is useful in Fdbus_unregister_signal.
13396 (Fdbus_unregister_signal): Reimplementation, in order to remove
13397 only the corresponding entry.
13398 (Vdbus_registered_functions_table): Change the order of entries.
13399 Apply these changes in xd_read_message and Fdbus_register_signal.
13400
134012007-12-16 Andreas Schwab <schwab@suse.de>
13402
13403 * fileio.c (Finsert_file_contents): Fix overflow check to not
13404 depend on undefined integer overflow.
13405
134062007-12-14 Jason Rumney <jasonr@gnu.org>
13407
13408 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
13409 for characters above 127.
13410
134112007-12-13 Jason Rumney <jasonr@gnu.org>
13412
13413 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
13414 before dereferencing array.
13415 (lookup_vk_code): Remove zero comparison.
13416
134172007-12-14 Michael Albinus <michael.albinus@gmx.de>
13418
13419 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
13420 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
13421 Use `unsigned int' instead of `uint'.
13422 (xd_read_message, Fdbus_register_signal): Split expressions into
13423 multiple lines before operators "&&" and "||", according to the
13424 GNU Coding Standards.
13425
134262007-12-14 Eli Zaretskii <eliz@gnu.org>
13427
13428 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
13429
134302007-12-12 Juri Linkov <juri@jurta.org>
13431
13432 * buffer.c (Frename_buffer): In interactive spec replace
13433 `read-buffer' with `read-string' that uses `buffer-name-history'
13434 as history, and the current buffer's name as default.
13435
134362007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
13437
13438 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
13439 manipulating the backtrace manually.
13440 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
13441 (struct backtrace, backtrace_list): Remove.
13442 (command_loop_1): Remove dead var `no_direct'.
13443
13444 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
13445 preserve non-built-in buffer-local variables.
13446 (Fkill_all_local_variables): Don't re-create&re-set permanent
13447 buffer-local variables.
13448
134492007-12-09 Juri Linkov <juri@jurta.org>
13450
13451 * buffer.c (Frename_buffer): Change interactive spec from "s" to
13452 Lisp code that uses `read-buffer' with current buffer as default.
13453
134542007-12-08 Michael Albinus <michael.albinus@gmx.de>
13455
13456 * dbusbind.c (xd_read_message): Generate an event for every
13457 registered handler. There might be several handlers registered
13458 for the same signal.
13459 (Fdbus_register_signal): Don't overwrite a registration for the
13460 same signal. Add a new registration if handlers are different.
13461 (Vdbus_registered_functions_table): Rework doc string.
13462
134632007-12-07 Michael Albinus <michael.albinus@gmx.de>
13464
13465 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
13466 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
13467 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
13468 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
13469 Unify argument lists.
13470 (xd_read_message, Fdbus_register_signal): Reorder and extend event
13471 arguments and hash table keys. Use unique name for service.
13472 (Fdbus_unregister_signal): Remove checks.
13473 (Vdbus_registered_functions_table): Fix doc string.
13474
134752007-12-05 Magnus Henoch <mange@freemail.hu>
13476
13477 * process.c (make_process): Initialize pty_flag to 0.
13478
134792007-12-05 Jason Rumney <jasonr@gnu.org>
13480
13481 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
13482 specified XBMs.
13483
134842007-12-05 Richard Stallman <rms@gnu.org>
13485
13486 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
13487
134882007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13489
13490 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
13491 New variable.
13492 (mac_try_close_socket) [MAC_OSX]: New function.
13493 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
13494 Update cfsockets_for_select. Replace invalid CFRunLoop source.
13495
13496 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
13497 Use mac_try_close_socket.
13498
134992007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13500
13501 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
13502 reloc_base.
13503 (copy_dysymtab): Compute relocation base here.
13504 (rebase_reloc_address) [__ppc64__]: New function.
13505 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
13506 changed.
13507
135082007-12-05 Jason Rumney <jasonr@gnu.org>
13509
13510 * w32proc.c (sys_spawnve): Quote args with wildcards.
13511
135122007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13513
13514 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
13515 __objc_* sections.
13516 (unrelocate) [_LP64]: Set relocation base to address of data segment.
13517
135182007-12-05 Michael Albinus <michael.albinus@gmx.de>
13519
13520 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
13521 Move check for Vdbus_registered_functions_table to
13522 xd_read_queued_messages.
13523 (xd_read_queued_messages): Protect xd_read_message calls by
13524 internal_condition_case_1.
13525
135262007-12-04 Michael Albinus <michael.albinus@gmx.de>
13527
13528 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
13529 Qdbus_system_bus and Qdbus_session_bus, respectively.
13530 (Vdbus_intern_symbols): Remove.
13531 (Vdbus_registered_functions_table): New hash table.
13532 (XD_SYMBOL_INTERN_SYMBOL): Remove.
13533 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
13534 Rewrite in order to manage registered functions by hash table
13535 Vdbus_registered_functions_table.
13536
135372007-12-03 Jan Djärv <jan.h.d@swipnet.se>
13538
13539 * xterm.c: Update URL to Window Manager Specification in comment.
13540
135412007-12-02 Michael Albinus <michael.albinus@gmx.de>
13542
13543 * config.in (HAVE_DBUS): Add.
13544
13545 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
13546 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
13547 (obj): Add $(DBUS_OBJ).
13548 (LIBES): Add $(DBUS_LIBS).
13549 (dbusbind.o): New target.
13550
13551 * dbusbind.c: New file.
13552
13553 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
13554
13555 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
13556 (Qdbus_event): New Lisp symbol.
13557 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
13558 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
b97439ce 13559 (keys_of_keyboard): Define dbus-event.
aac0c6e3
MR
13560
13561 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
13562
135632007-12-01 Richard Stallman <rms@gnu.org>
13564
13565 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
13566
135672007-11-30 Jason Rumney <jasonr@gnu.org>
13568
13569 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
13570 (w32con_reset_terminal_modes): Clear screen buffer.
13571 (w32_face_attributes): Don't use color indexes that are out of range.
13572 Only reverse the default colors.
13573
13574 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
13575 WINDOWSNT.
13576
13577 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
13578
135792007-11-29 Jason Rumney <jasonr@gnu.org>
13580
13581 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
13582 (w32_face_attributes): Use Vtty_defined_color_alist to determine
13583 if the terminal colors are initialized.
13584 (unspecified_fg, unspecified_bg): Remove unused declarations.
13585
135862007-11-29 Andreas Schwab <schwab@suse.de>
13587
13588 * keyboard.c (apply_modifiers): Fix typo.
13589
135902007-11-29 Richard Stallman <rms@gnu.org>
13591
13592 * keymap.c (Fcurrent_local_map): Doc fix.
13593
135942007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
13595
13596 * s/gnu-kfreebsd.h: New file.
13597
135982007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
13599
13600 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
13601 Don't cast redundantly.
13602
13603 * keyboard.c (KEY_TO_CHAR): New macro.
13604 (parse_modifiers, apply_modifiers): Accept integer arguments.
13605 (read_key_sequence): Use them to unify the "shift->unshift" mapping
13606 for chars and symbol keys.
13607 After doing such remapping, apply function-key-map again.
13608
136092007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
13610
13611 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
13612 compiled anymore.
13613
136142007-11-26 Andreas Schwab <schwab@suse.de>
13615
13616 * process.c (list_processes_1): Fix indentation level of the
13617 command column.
13618
136192007-11-23 Andreas Schwab <schwab@suse.de>
13620
13621 * editfns.c (Fformat): Handle %c specially since it requires the
13622 argument to be of type int.
13623
136242007-11-23 Markus Triska <markus.triska@gmx.at>
13625
13626 * emacs.c (main): Call init_editfns before init_process, since
13627 init_process sets Vprocess_connection_type depending on OS release.
13628
136292007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
13630
13631 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
13632 (find_symbol_value): Use do_symval_forwarding.
13633
13634 * data.c (set_internal): Set the value in the `cons-cell' (for
13635 Buffer_Local_values) not only for frame-local variables.
13636
136372007-11-22 Andreas Schwab <schwab@suse.de>
13638
13639 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
13640 values to sprintf.
13641 * keymap.c (Fsingle_key_description): Likewise.
13642 * print.c (print_object): Likewise.
13643
136442007-11-22 Jan Djärv <jan.h.d@swipnet.se>
13645
13646 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
13647 file for image is nil.
13648
136492007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
13650
13651 * term.c: Include stdarg.h.
13652 (fatal): Implement using varargs.
13653 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
13654
136552007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
13656
13657 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
13658 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
13659 Update call to buffer_slot_type_mismatch.
13660 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
13661 (buffer_slot_type_mismatch): Update.
13662 * buffer.c (buffer_local_types): Remove.
13663 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
13664 (defvar_per_buffer): Set the type in the buffer_objfwd.
13665
136662007-11-21 Jason Rumney <jasonr@gnu.org>
13667
13668 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
13669 CreateFileMapping returns NULL on failure.
13670
136712007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
13672
13673 * search.c (Fset_match_data): Remove the `evaporate' feature.
13674 (unwind_set_match_data): Don't use the `evaporate' feature.
13675
136762007-11-21 Jason Rumney <jasonr@gnu.org>
13677
13678 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
13679
13680 * w32console.c (w32con_write_glyphs): Remove unused variables.
13681
136822007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
13683
13684 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
13685
13686 * s/darwin.h (MULTI_KBOARD): Remove.
13687
13688 * macfns.c (x_create_tip_frame, Fx_create_frame)
13689 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
13690
136912007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
13692
13693 * buffer.c (Fbuffer_local_value): Remove redundant test.
13694 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
13695 than in `current-buffer' to match the comment.
13696 Do the swap using swap_in_global_binding.
13697
13698 * data.c (store_symval_forwarding, set_internal):
13699 * eval.c (specbind): Remove dead code.
13700
13701 * coding.c (detect_coding, Fupdate_coding_systems_internal):
13702 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
13703 Since we do not want to see internal Lisp_*fwd objects here.
13704
137052007-11-18 Jan Djärv <jan.h.d@swipnet.se>
13706
13707 * sysdep.c (init_system_name): Use getaddrinfo if available.
13708
13709 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
13710 (x_scroll_bar_note_movement): start, end, with, height in struct
13711 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
13712
137132007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
13714
13715 * puresize.h (BASE_PURESIZE): Increase to 1190000.
13716
137172007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
13718
13719 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
13720 This undoes Richard's change of 14-Oct-2002.
13721
13722 * alloc.c (allocate_other_vector):
13723 * lisp.h (allocate_other_vector): Remove.
13724
13725 * window.c (struct save_window_data): Move non-lisp data to the end
13726 and make it `int' rather than Lisp_Object.
13727 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
13728 Done wrap/unwrap integer values.
13729 (Fset_window_configuration, compare_window_configurations):
13730 Update use of fields to their new types.
13731
13732 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
13733 Turn integer fields into `int'. Merge x_window_low and x_window_high.
13734 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
13735 (SET_SCROLL_BAR_X_WINDOW): Remove.
13736 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
13737 Access the new x_window field directly.
13738 * xterm.c (x_scroll_bar_create): Use a pseudovector.
13739 Don't wrap/unwrap integers into Lisp_Objects.
13740 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
13741 (x_scroll_bar_report_motion):
13742 Don't wrap/unwrap integers into Lisp_Objects.
13743 (x_term_init): Use SDATA.
13744 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
13745 (x_scroll_bar_set_handle, x_scroll_bar_remove)
13746 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
13747 (x_scroll_bar_report_motion, x_scroll_bar_clear):
13748 * xfns.c (x_set_background_color):
13749 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
13750 Access the new x_window field directly.
13751
13752 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
13753 (allocate_pseudovector): Make non-static.
13754
13755 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
13756 (allocate_pseudovector): Declare.
13757 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
13758
137592007-11-15 Andreas Schwab <schwab@suse.de>
13760
13761 * editfns.c (Fformat): Correctly format EMACS_INT values.
13762 Also take precision into account when formatting an integer.
13763
13764 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
13765
137662007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
13767
13768 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
13769 (syms_of_keyboard): Defsubr it.
13770
13771 * data.c (swap_in_global_binding): Fix longstanding bug where
13772 store_symval_forwarding was not called with the right second argument,
13773 thus causing objfwd-ing from being dropped.
13774
137752007-11-14 Juanma Barranquero <lekktu@gmail.com>
13776
13777 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
13778 (Fx_display_pixel_height, Fx_display_planes)
13779 (Fx_display_color_cells, Fx_server_max_request_size)
13780 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
13781 (Fx_display_visual_class, Fx_display_save_under):
13782 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
13783 (Fx_display_pixel_height, Fx_display_planes)
13784 (Fx_display_color_cells, Fx_server_max_request_size)
13785 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
13786 (Fx_display_mm_height, Fx_display_mm_width)
13787 (Fx_display_backing_store, Fx_display_visual_class)
13788 (Fw32_select_font, Fx_display_save_under):
13789 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
13790 (Fx_display_pixel_height, Fx_display_planes)
13791 (Fx_display_color_cells, Fx_server_max_request_size)
13792 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
13793 (Fx_display_save_under): Fix typos in docstrings.
13794
137952007-11-14 Juanma Barranquero <lekktu@gmail.com>
13796
13797 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
13798 corresponding to deleted entries; they are an implementation detail.
13799 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
13800 Remove variables.
13801 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
13802 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
13803 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
13804 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
13805 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
13806 (Fw32_define_rgb_color, Fw32_load_color_file)
13807 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
13808 Fix typos in docstrings.
13809 (Fx_server_version): Reflow docstring.
13810 (Fw32_shell_execute): Doc fixes.
13811
138122007-11-13 Juanma Barranquero <lekktu@gmail.com>
13813
13814 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
13815 if w32_parse_hot_key returned nil.
13816
138172007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
13818
13819 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
13820
138212007-11-09 Jason Rumney <jasonr@gnu.org>
d6c952f8 13822
aac0c6e3
MR
13823 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
13824
13825 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
13826
13827 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
13828 Remove W32_SCROLL_BAR_CLICK_EVENT.
13829
13830 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
13831 Add MULTIMEDIA_KEY_EVENT.
13832
13833 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
13834 (lispy_multimedia_keys) [WINDOWSNT]: New array.
13835 (make_lispy_event) [WINDOWSNT]: Use it to translate
13836 MULTIMEDIA_KEY_EVENT.
13837
13838 * w32term.h (WM_APPCOMMAND): Define if not already.
13839 (GET_APPCOMMAND_LPARAM): Likewise.
13840
13841 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
13842 WM_APPCOMMAND.
13843
13844 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
13845 (syms_of_w32fns): Export and initialize it.
13846 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
13847
138482007-11-09 Chong Yidong <cyd@stupidchicken.com>
13849
13850 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
13851 twice.
13852
13853 * xdisp.c (handle_face_prop): Fix last change.
13854
138552007-11-09 Richard Stallman <rms@gnu.org>
13856
13857 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
13858 not just for after-strings and before-strings.
13859 Call face_for_overlay_string and pass the overlay to it.
13860 (handle_display_prop): Determine whether property came from an overlay.
13861 Pass OVERLAY arg to handle_single_display_spec.
13862 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
13863 (load_overlay_strings): Fill in it->string_overlays.
13864 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
13865
13866 * xfaces.c (face_for_overlay_string): Function renamed from
13867 face_at_buffer_position_no_overlays, and add arg OVERLAY.
13868
13869 * dispextern.h (struct it): New elt string_overlays.
13870 New elt from_overlay, also in stack.
13871 Rearrange a few elements.
13872 (face_for_overlay_string): Decl renamed from
13873 face_at_buffer_position_no_overlays, and add argument.
13874
138752007-11-09 Richard Stallman <rms@gnu.org>
13876
13877 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
13878 to get the base face for an overlay string.
13879
13880 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
13881
13882 * xfaces.c (face_at_buffer_position_no_overlays): New function.
13883
13884 * xdisp.c (handle_stop): Move some code out of loop.
13885
138862007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13887
13888 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
13889 Fix conversion from Lisp object to ATSUFontID.
13890
138912007-11-09 Jason Rumney <jasonr@gnu.org>
13892
13893 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
13894
138952007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13896
13897 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
13898 Don't assume regions are aligned to page boundary.
13899 (print_load_command_name): Add LC_UUID if defined.
13900
139012007-11-09 Richard Stallman <rms@gnu.org>
13902
13903 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
13904
139052007-11-07 Jason Rumney <jasonr@gnu.org>
13906
13907 * s/windows95.h: Remove.
13908
139092007-11-06 Jan Djärv <jan.h.d@swipnet.se>
13910
13911 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
13912 abort with a message on unhandled store_type values.
13913
139142007-11-01 Jan Djärv <jan.h.d@swipnet.se>
13915
13916 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
13917 Remove HAVE_X11R5 and HAVE_X11R4.
13918
139192007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
13920
13921 * Makefile.in: Remove references to sunfns.c and sunfns.o.
13922
139232007-11-01 Johan Bockgård <bojohan@gnu.org>
13924
13925 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
13926 Don't set s->stippled_p here, since it has already been set by
13927 x_set_glyph_string_gc from x_draw_glyph_string.
13928
139292007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
13930
13931 * sunfns.c: Remove file.
13932
13933 * m/sun386.h:
13934 * m/sun2.h:
13935 * m/sparc.h: Remove Sun windows code.
13936
139372007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
13938
13939 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
13940 (init_keyboard): Set current_kboard's window-system to nil.
13941 (tty_read_avail_input): Typo.
13942 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
13943
139442007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
13945
13946 * s/usg5-4.h:
13947 * s/usg5-3.h:
13948 * s/ptx.h:
13949 * m/is386.h:
13950 * m/ibmps2-aix.h:
13951 * Makefile.in: Remove all mentions of X10.
13952
13953 * dispnew.c (syms_of_display): Don't mention version 10.
13954
139552007-10-28 Juanma Barranquero <lekktu@gmail.com>
13956
13957 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
13958 ($(BLD)/abbrev.$(O)): Remove.
13959
139602007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
13961
13962 Rewrite abbrev.c in Elisp.
13963 * image.c (Qcount): Don't declare as extern.
13964 (syms_of_image): Initialize and staticpro `Qcount'.
13965 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
13966 * emacs.c (main): Don't call syms_of_abbrev.
13967 * Makefile.in (obj): Remove abbrev.o.
13968 (abbrev.o): Remove.
13969 * abbrev.c: Remove.
13970
139712007-10-26 Martin Rudalics <rudalics@gmx.at>
13972
13973 * window.c (window_min_size_2): Don't count header-line.
13974
139752007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
13976
13977 * frame.h (struct frame): Move all bit fields after the first bit
13978 field to take advantage of the available space. Group all the
13979 chars together to reduce wasted space due to padding.
13980
139812007-10-26 Juanma Barranquero <lekktu@gmail.com>
13982
13983 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
13984
13985 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
13986 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
13987 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
13988 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
13989 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
13990 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
13991 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
13992 (last_marked, mark_object_loop_halt): Make static.
13993
13994 * frame.c (syms_of_frame) <delete-frame-functions>:
13995 Fix typo in docstring.
13996
139972007-10-25 Juanma Barranquero <lekktu@gmail.com>
13998
13999 * w32.c (init_environment): Fix tiny memory leak.
14000 (w32_get_resource): Remove unused variable `ok'.
14001
140022007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
14003
14004 Make `window-system' into a keyboard-local variable (rather than
14005 frame-local as done originally by multi-tty).
14006
14007 * keyboard.h (struct kboard): Add Vwindow_system.
14008 * keyboard.c (init_kboard): Set a default for Vwindow_system.
14009 (mark_kboards): Mark Vwindow_system.
14010
14011 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
14012 (init_display): Don't set the obsolete `window-system' frame-param.
14013
14014 * xterm.c (x_term_init):
14015 * w32term.c (w32_create_terminal):
14016 * term.c (init_tty): Set Vwindow_system.
14017 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
14018 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
14019
14020 * xfns.c (Fx_create_frame, x_create_tip_frame):
14021 * w32fns.c (Fx_create_frame, x_create_tip_frame):
14022 * macfns.c (Fx_create_frame):
14023 Don't set the obsolete `window-system' frame-param.
14024
14025 * frame.h (Qwindow_system): Remove.
14026 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
14027 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
14028
140292007-10-24 Richard Stallman <rms@gnu.org>
14030
14031 * frame.c (x_figure_window_size): For fullscreen case,
14032 set USPosition | PPosition without clobbering rest of window_prompting.
14033
14034 * keyboard.c (Fcurrent_idle_time): Doc fix.
14035
14036 * print.c (Fwith_output_to_temp_buffer): Doc fix.
14037
140382007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
14039
14040 * process.c (unwind_request_sigio): Only define if __ultrix__.
14041
14042 * callproc.c (child_setup): Remove spurious *.
14043
14044 * lisp.h (Fget_text_property): Declare.
14045 (have_menus_p): Declare it here rather than in sys-dep header files.
14046 * macterm.h (have_menus_p):
14047 * msdos.h (have_menus_p):
14048 * xterm.h (have_menus_p): Remove.
14049
14050 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
14051 (Fmake_variable_frame_local): Just check the variable's const-ness
14052 rather than checking nil or t.
14053
140542007-10-22 Jason Rumney <jasonr@gnu.org>
14055
14056 * w32fns.c: Include math.h.
14057 (w32_abort): Declaration moved to nt/config.nt.
14058
14059 * s/ms-w32.h (HAVE_STDLIB_H): Define.
14060 (abort): Redefinition moved to nt/config.nt.
14061
14062 * m/windowsnt.h: Remove.
14063
140642007-10-22 Juanma Barranquero <lekktu@gmail.com>
14065
14066 * emacs.c (Fdump_emacs): Fix typo in message.
14067 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
14068 <installation-directory>: Reflow docstring.
14069
140702007-10-22 Juri Linkov <juri@jurta.org>
14071
14072 * minibuf.c: Allow minibuffer default to be a list of default values.
14073 With empty input use the first element of this list as returned default.
14074 (string_to_object)
14075 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
14076 (read_minibuf): If defalt is cons, set histstring to its car.
14077 (Fread_string): If default_value is cons, set val to its car.
14078 (Fread_buffer): If def is cons, use its car.
14079 (Fcompleting_read): If defalt is cons, set val to its car.
14080
140812007-10-21 Michael Albinus <michael.albinus@gmx.de>
14082
14083 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
14084
140852007-10-20 Juanma Barranquero <lekktu@gmail.com>
14086
14087 * doc.c (Fdocumentation): Check for advice in all cases.
14088
140892007-10-19 Chong Yidong <cyd@stupidchicken.com>
14090
14091 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
14092
140932007-10-19 Richard Stallman <rms@gnu.org>
14094
14095 * doc.c (Fdocumentation): Check for and handle an advised function.
14096
140972007-10-19 Juanma Barranquero <lekktu@gmail.com>
14098
14099 * process.c (Fset_process_filter): Doc fix.
14100
141012007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
14102
14103 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
14104 which caused key-translation-map to applied repeatedly (thus breaking
14105 double-mode).
14106
141072007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
14108
14109 * xselect.c (x_own_selection, x_handle_selection_clear)
14110 (x_clear_frame_selections):
14111 * w32menu.c (list_of_panes, list_of_items):
14112 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
14113 * textprop.c (validate_plist, interval_has_all_properties)
14114 (interval_has_some_properties, interval_has_some_properties_list)
14115 (add_properties, text_property_list):
14116 * process.c (Fget_buffer_process, list_processes_1, status_notify):
14117 * minibuf.c (Fassoc_string):
14118 * macselect.c (x_own_selection, x_clear_frame_selections)
14119 (Fx_disown_selection_internal):
14120 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
14121 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
14122
141232007-10-17 Chong Yidong <cyd@stupidchicken.com>
14124
14125 * process.c: Link to libs for calling res_init() if available.
14126 (Fmake_network_process): Call res_init() before getaddrinfo or
14127 gethostbyname, if possible.
14128
141292007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
14130
14131 * lread.c (read1): Set pvectype for char_tables.
14132
14133 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
14134 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
14135 Add type checks.
14136 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
14137
14138 * alloc.c (free_misc): Use XMISCTYPE.
14139 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
14140
141412007-10-17 Glenn Morris <rgm@gnu.org>
14142
14143 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
14144 (syms_of_minibuf): Add Qcompletion_ignore_case.
14145 * dired.c (Qcompletion_ignore_case): Change to external.
14146 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
14147 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
14148 (Fread_file_name): Use it rather than intern'ing.
14149
14150 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
14151 (Fread_coding_system): Ignore case of user input.
14152
141532007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14154
14155 * xdisp.c (handle_display_prop): Ignore display specs after
14156 replacing one when string text is being replaced.
14157 (handle_single_display_spec): Pretend as if characters with display
14158 property haven't been consumed only when buffer text is being replaced.
14159
141602007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
14161
14162 * xfns.c (Fx_create_frame, Fx_display_list):
14163 * window.c (window_fixed_size_p, enlarge_window)
14164 (shrink_window_lowest_first):
14165 * macterm.c (init_font_name_table):
14166 * macfns.c (Fx_create_frame, Fx_display_list):
14167 * lread.c (close_load_descs):
14168 * keyboard.c (read_char_x_menu_prompt):
14169 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
14170 * coding.c (code_convert_region_unwind): Test the type of an object
14171 rather than just !NILP before extracting data from it.
14172
14173 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
14174
14175 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
14176 (XMISCANY): New macro.
14177 (XMISCTYPE): Use it.
14178 (struct Lisp_Misc_Any): New type.
14179 (union Lisp_Misc): Use it.
14180 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
14181 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
14182 (find_symbol_value, set_internal, default_value, Fset_default)
14183 (Fmake_variable_buffer_local, Fmake_local_variable)
14184 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
14185 (Flocal_variable_if_set_p, Fvariable_binding_locus):
14186 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
14187 * alloc.c (allocate_buffer): Set the size and tag.
14188 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
14189 Use XMISCANY.
14190 (die): Follow the GNU convention for error messages.
14191 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
14192 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
14193 tag any more.
14194 (set_buffer_internal_1):
14195 * frame.c (store_frame_param):
14196 * eval.c (specbind):
14197 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
14198
14199 * doc.c (Fsnarf_documentation): Simplify.
14200
142012007-10-14 Juanma Barranquero <lekktu@gmail.com>
14202
14203 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
14204 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
14205
142062007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
14207
14208 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
14209
142102007-10-14 Juanma Barranquero <lekktu@gmail.com>
14211
14212 * eval.c (do_autoload): Don't save autoloads.
14213
14214 * data.c (Ffset): Save autoload of the function being set.
14215
142162007-10-07 John Paul Wallington <jpw@pobox.com>
14217
14218 * xfns.c (x_create_tip_frame): Set the `display-type' frame
14219 parameter before setting up faces.
14220
142212007-10-13 Eli Zaretskii <eliz@gnu.org>
14222
14223 * ccl.c (Fregister_code_conversion_map):
14224 * keyboard.c (append_tool_bar_item): Reformat last change.
14225
14226 * lisp.h (eabs): Rename from `abs'. All callers changed.
14227
142282007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
14229
14230 * buffer.c (add_overlay_mod_hooklist):
14231 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
14232 * fontset.c (make_fontset):
14233 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
14234 (append_tool_bar_item):
14235 * macmenu.c (grow_menu_items):
14236 * w32menu.c (grow_menu_items):
14237 * xmenu.c (grow_menu_items): Use larger_vector.
14238
142392007-10-13 Eli Zaretskii <eliz@gnu.org>
14240
14241 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
14242 selected frame'' on MSDOS).
14243
142442007-10-12 Martin Rudalics <rudalics@gmx.at>
14245
14246 * frame.c (Qexplicit_name): New variable.
14247 (x_report_frame_params): Report it in parameter alist.
14248 (syms_of_frame): Intern and staticpro it.
14249
142502007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
14251
14252 * macfns.c (x_create_tip_frame): Set terminal for frame.
14253
142542007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
14255
14256 * frame.c (Qenvironment): Remove.
14257 (syms_of_frame) <Qenvironment>: Don't initialize.
14258 (Fdelete_frame): Don't treat the `environment' param specially.
14259 * frame.h (Qenvironment): Don't declare.
14260 * callproc.c (set_initial_environment): Don't set unused frame param.
14261
14262 * frame.c (Fframe_with_environment): Remove.
14263 (syms_of_frame) <Sframe_with_environment>: Don't declare.
14264
14265 * lisp.h (Fframe_with_environment): Don't declare.
14266
142672007-10-10 Juanma Barranquero <lekktu@gmail.com>
14268
14269 * indent.c (indent_tabs_mode, last_known_column)
14270 (last_known_column_modified): Make static.
14271 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
14272
142732007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
14274
14275 * puresize.h (BASE_PURESIZE): Increase to 1170000.
14276
142772007-10-09 Jason Rumney <jasonr@gnu.org>
14278
14279 * w32term.c (x_set_window_size): Disable code that attempts to tell
14280 Lisp code about a size change before it actually happens.
14281
142822007-10-09 Richard Stallman <rms@gnu.org>
14283
14284 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
14285 return HANDLED_RETURN.
14286
142872007-10-08 Martin Rudalics <rudalics@gmx.at>
14288
14289 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
14290 when there's an unread command event.
14291
14292 * frame.c (focus_follows_mouse): Move here from frame.el to allow
14293 window autoselection act appropriately when leaving selected frame.
14294 (syms_of_frame): Initialize focus_follows_mouse.
14295 * frame.h (focus_follows_mouse): Extern it.
14296 * macterm.c (XTread_socket): When focus_follows_mouse is nil
14297 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
14298 * msdos.c (dos_rawgetc): Likewise.
14299 * w32term.c (w32_read_socket): Likewise.
14300 * xterm.c (handle_one_xevent): Likewise.
14301 * xdisp.c (syms_of_xdisp): In doc-string of
14302 mouse-autoselect-window mention focus-follows-mouse.
14303
143042007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14305
14306 * macterm.c (mac_load_query_font): Fix missing return value.
14307 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
14308 Add BLOCK_INPUT.
14309
143102007-10-08 Richard Stallman <rms@gnu.org>
14311
14312 * xdisp.c (get_window_cursor_type): Implement documented behavior
14313 for cursor-in-non-selected-windows = t.
14314
143152007-10-08 Jason Rumney <jasonr@gnu.org>
14316
14317 * w32.c (w32_get_resource): Always close registry keys.
14318
143192007-10-08 Jason Rumney <jasonr@gnu.org>
14320
14321 * makefile.w32-in (LIBS): Add COMCTL32.
14322
14323 * w32fns.c (globals_of_w32fns): Init common controls.
14324
143252007-10-08 Richard Stallman <rms@gnu.org>
14326
14327 * image.c (our_memory_buffer): Rename from omfib_buffer.
14328
143292007-10-08 Richard Stallman <rms@gnu.org>
14330
14331 * buffer.c (Foverlays_at): Doc fix.
14332
143332007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
14334
14335 * fns.c (Fplist_put): Preserve uneven tail data.
14336
143372007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
14338
14339 * termhooks.h (enum event_kind): Remove trailing comma.
14340
14341 * frame.h (enum): Remove trailing comma.
14342
143432007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
14344
14345 * w32proc.c (delete_child): Don't terminate threads of zombies.
14346
143472007-10-08 Martin Rudalics <rudalics@gmx.at>
14348
14349 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
14350
14351 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
14352 last-repeatable-command.
14353 (init_kboard): Initialize Vlast_repeatable_command.
14354 (command_loop_1): Set it to real_this_command unless that was
14355 bound to an input event.
14356 (mark_kboards): Mark it.
14357
143582007-10-08 Richard Stallman <rms@gnu.org>
14359
14360 * eval.c (condition-case): Doc fix.
14361
143622007-10-08 Masatake YAMATO <jet@gyve.org>
14363
14364 * xfaces.c (tty_supports_face_attributes_p): Fix code
14365 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
14366 was copied and not edited.
14367
143682007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
14369
14370 Add new `input-decode-map' keymap and use it for terminal
14371 escape sequences.
14372 * keyboard.h (struct kboard): Add Vinput_decode_map.
14373 Remove Vlocal_key_translation_map.
14374 * keyboard.c (read_key_sequence): Add support for input-decode-map.
14375 (init_kboard): Init input-decode-map.
14376 Replace local-key-translation-map back with key-translation-map.
14377 (syms_of_keyboard): Declare input-decode-map.
14378 Remove local-key-translation-map. Update docstrings.
14379 (mark_kboards): Mark Vinput_decode_map.
14380 Don't mark Vlocal_key_translation_map.
14381 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
14382 Replace local-key-translation-map back with key-translation-map.
14383 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
14384 Bind in input-decode-map rather than function-key-map.
14385
14386 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
14387 This was made redundant by the previous introduction of XSETPVECTYPE.
14388
143892007-10-09 Richard Stallman <rms@gnu.org>
14390
14391 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
14392
143932007-09-29 Richard Stallman <rms@gnu.org>
14394
14395 * eval.c (internal_condition_case_2, internal_condition_case_1)
14396 (internal_condition_case): Reenable abort if x_catching_errors ()
14397 to see if that really happens and why.
14398
143992007-10-06 Andreas Schwab <schwab@suse.de>
14400
14401 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
14402
144032007-10-04 Juanma Barranquero <lekktu@gmail.com>
14404
14405 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
14406
144072007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
14408
14409 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
14410
144112007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
14412
14413 * window.h (struct window):
14414 * window.c (struct save_window_data, struct saved_window):
14415 * termhooks.h (struct terminal):
14416 * process.h (struct Lisp_Process):
14417 * frame.h (struct frame):
14418 * buffer.h (struct buffer):
14419 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
14420 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
14421 The size field of (pseudo)vectors is now unsigned.
14422 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
14423
14424 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
14425 Turn `count' into an integer.
14426
14427 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
14428 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
14429 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
14430 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
14431 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
14432
14433 * alloc.c (allocate_pseudovector): New fun.
14434 (ALLOCATE_PSEUDOVECTOR): New macro.
14435 (allocate_window, allocate_terminal, allocate_frame)
14436 (allocate_process): Use it.
14437 (mark_vectorlike): New function.
14438 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
14439 (mark_terminals): Use it.
14440 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
14441 (Fmake_byte_code): Use XSETPVECTYPE.
14442
14443 * frame.c (Fframe_parameters): Minor simplification.
14444
14445 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
14446
14447 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
14448
14449 * buffer.c (Fget_buffer_create, init_buffer_once):
14450 * lread.c (defsubr):
14451 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
14452
14453 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
14454 defined differently in the m/*.h files.
14455 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
14456 (XSETPVECTYPE): New macro.
14457 (XSETPSEUDOVECTOR): Use it.
14458
14459 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
14460 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
14461
14462 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
14463 * lread.c (defvar_per_buffer):
14464 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
14465
14466 * window.c (candidate_window_p): Only consider as visible frames that
14467 are on the same terminal.
14468
14469 * m/ibms390x.h (MARKBIT): Remove unused macro.
14470
144712007-10-01 Juanma Barranquero <lekktu@gmail.com>
14472
14473 * lread.c (Fload): Fix typo in docstring.
14474
144752007-10-01 Michaël Cadilhac <michael@cadilhac.name>
14476
14477 * floatfns.c (Fexpt): Manually check for overflows, so that a power
14478 of a non-zero value can't yield zero.
14479
144802007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
14481
14482 * term.c (term_clear_mouse_face, term_mouse_highlight)
14483 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
14484
14485 * print.c (safe_debug_print): Use XHASH.
14486
14487 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
14488 Lisp elements such as tags.
14489 (XHASH): New macro.
14490 (EQ): Use it.
14491 (SREF, SSET, STRING_COPYIN): Use SDATA.
14492 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
14493
14494 * alloc.c (mark_terminal): Remove left-over declaration.
14495 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
14496 (allocate_vectorlike): Remove type argument. Adjust callers.
14497 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
14498 Only handle the one remaining MEM_TYPE_VECTORLIKE.
14499
14500 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
14501 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
14502 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
14503 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
14504 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
14505 Use them.
14506
14507 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
14508 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
14509 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
14510
145112007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
14512
14513 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
14514 loaded by default.
14515
145162007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
14517
14518 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
14519 on this tty.
14520 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
14521
14522 * term.c (mouse_face_window): Rename from Qmouse_face_window.
14523 Update all users.
14524 (handle_one_term_event): Use Gpm_DrawPointer.
14525 (Fgpm_mouse_start): Rename from Fterm_open_connection.
14526 Signal errors instead of returning nil. Always return nil.
14527 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
14528 Make it a noop if gpm-mouse was not activated.
14529 (syms_of_term): Update names.
14530
145312007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
14532
14533 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
14534 (init_sys_modes): Check that gpm_tty is the current tty.
14535
14536 * alloc.c (allocate_terminal): Set the vector size to only count the
14537 lisp fields. Initialize those to nil.
14538 (mark_object): Don't treat terminals specially.
14539 (mark_terminal): Remove.
14540 (mark_terminals): Use mark_object instead.
14541
14542 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
14543 the GC to the beginning.
14544
14545 * indent.h:
14546 * indent.c: Use EMACS_INT for ints coming from Elisp data.
14547
14548 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
14549
145502007-09-25 Jason Rumney <jasonr@gnu.org>
14551
14552 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
14553
14554 * w32console.c (create_w32cons_output): Remove.
14555
14556 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
14557
14558 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
14559 (reset_sys_modes): Use reset_terminal_modes_hook.
14560
145612007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
14562
14563 * eval.c (do_autoload): Don't output any message.
14564
145652007-09-24 Juri Linkov <juri@jurta.org>
14566
14567 * emacs.c (standard_args): Change priority of "--no-splash"
14568 from 40 to 3. Add "--no-desktop" with the same priority.
14569
145702007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
14571
14572 * alloc.c (gc_sweep): Check cons cell mark bits word by word
14573 and optimize the case where they are all 1.
14574
145752007-09-23 Johannes Weiner <hannes@saeurebad.de>
14576
14577 * lisp.h (abs): Define if not defined.
14578 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
14579 Don't define `abs', since it's defined in lisp.h.
14580
145812007-09-22 Eli Zaretskii <eliz@gnu.org>
14582
14583 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
14584 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
14585 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
14586 (init_tty): Use DEV_TTY instead of "/dev/tty".
14587 [WINDOWSNT]: No need to protect from NAME arg being null.
14588
145892007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
14590
14591 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
14592 up the tty state.
14593
145942007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
14595
14596 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
14597 (gpm_tty): Change its type.
14598 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
14599 (gpm_tty): Change its type and initialize it.
14600 (Fterm_open_connection): Check the frame is indeed a tty.
14601 Use the new gpm_tty.
14602 (Fterm_close_connection): Use the new gpm_tty.
14603 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
14604 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
14605
146062007-09-21 Juanma Barranquero <lekktu@gmail.com>
14607
14608 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
14609 underline_color, to draw strike-through.
14610
146112007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
14612
14613 * lisp.h (allocate_terminal): Declare.
14614
14615 * window.c (candidate_window_p): Consider frames that are being placed
14616 by the user as somewhere between visible and iconified.
14617 (window_loop): Prefer windows on the current frame.
14618 (Fselect_window): Move the use of select-frame to the beginning so we
14619 can just delegate all the work (it'll call us back anyway).
14620
14621 * frame.c (Qdisplay_environment_variable):
14622 * frame.h (Qdisplay_environment_variable): Delete.
14623
14624 * .gdbinit (xbacktrace): Print the arg's address rather than the value
14625 of the first arg, since that value may be a union.
14626
14627 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
14628 parameter rather than Qdisplay_environment_variable. If all else
14629 fails, look for DISPLAY in initial-environment.
14630
146312007-09-21 Glenn Morris <rgm@gnu.org>
14632
14633 * Makefile.in (emacstool): Remove target.
14634 (lisp, shortlisp): Remove termdev.elc.
14635
146362007-09-21 Markus Triska <markus.triska@gmx.at>
14637
14638 * xterm.c (x_delete_display): Compile session management conditionally.
14639
146402007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
14641
14642 * callproc.c (getenv_internal_1): New function.
14643 (getenv_internal): Use it.
14644 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
14645
14646 * terminal.c (get_terminal): Don't accept ints to represent terminals.
14647 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
14648 (Fset_terminal_parameter): Work with dead terminals as well.
14649 (Fmodify_terminal_parameters): Remove.
14650
14651 * terminal.c (get_terminal): Handle terminals.
14652 Make sure the terminal returned is live.
14653 (create_terminal): Use allocate_terminal.
14654 (mark_terminals): Move to alloc.c.
14655 (delete_terminal): Use terminal->name as liveness status.
14656 NULL out fields after freeing their contents.
14657 Don't deallocate the object.
14658 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
14659 rather than an int.
14660 (Fterminal_live_p): Accept non-integer arguments.
14661 (Fterminal_list): Return terminal objects rather than an ints.
14662
14663 * alloc.c (enum mem_type): New member for `terminal' objects.
14664 (allocate_terminal): New function.
14665 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
14666 Handle terminals.
14667 (mark_terminal): New fun.
14668 (mark_terminals): Move from terminal.c.
14669
14670 * term.c (get_tty_terminal): Don't treat output_initial specially.
14671 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
14672 (delete_tty): Use terminal->name as liveness status.
14673
14674 * termhooks.h (struct terminal): Make it into a pseudovector.
14675 Remove `deleted' replaced by checking `name's nullness.
14676
14677 * print.c (print_object): Handle terminals.
14678
14679 * lisp.h (enum pvec_type): New `terminal' pseudovector.
14680 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
14681
14682 * frame.c (make_terminal_frame):
14683 * keyboard.c (tty_read_avail_input):
14684 * w32term.c (x_delete_terminal):
14685 * xfns.c (Fx_create_frame, x_create_tip_frame):
14686 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
14687
146882007-09-20 Glenn Morris <rgm@gnu.org>
14689
14690 * process.c (Fmake_network_process): Doc fix.
14691
146922007-09-19 Jason Rumney <jasonr@gnu.org>
14693
14694 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
14695
146962007-09-19 Michaël Cadilhac <michael@cadilhac.name>
14697
14698 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
14699 Fix a C warning regarding variable constness.
14700
14701 * xterm.c (handle_one_xevent): Fix a C warning.
14702
147032007-09-18 Jason Rumney <jasonr@gnu.org>
14704
14705 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
14706
147072007-09-17 Jan Djärv <jan.h.d@swipnet.se>
14708
14709 * gtkutil.c (gdpy_def): New variable.
14710 (xg_initialize): Initialize gdpy_def.
14711 (xg_display_close): If no other display exists, set gdpy_def to a
14712 new connection.
14713
147142007-09-16 Jan Djärv <jan.h.d@swipnet.se>
14715
14716 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
14717 when we have no file name for the icon.
14718 (xg_tool_bar_expose_callback): Remove.
14719 (xg_create_tool_bar): Don't connect expose signal to
14720 xg_tool_bar_expose_callback.
14721 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
14722
147232007-09-16 Andreas Schwab <schwab@suse.de>
14724
14725 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
14726 values instead of zapping them.
14727
147282007-09-14 Glenn Morris <rgm@gnu.org>
14729
14730 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
14731 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
14732 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
14733 scope and rename to omfib_buffer for clarity.
14734 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
14735
147362007-09-14 Kenichi Handa <handa@m17n.org>
14737
14738 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
14739
147402007-09-13 Jason Rumney <jasonr@gnu.org>
14741
14742 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
14743
14744 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
14745
14746 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
14747 (mac_term_init): Call here instead, passing rif.
14748
147492007-09-13 Glenn Morris <rgm@gnu.org>
14750
14751 * s/hpux.h: No longer define `static' as nothing.
14752
147532007-09-13 Johan Bockgård <bojohan@gnu.org>
14754
14755 * callint.c (Fcall_interactively): Remove unused var `fun'.
14756
147572007-09-12 Romain Francoise <romain@orebokech.com>
14758
14759 * window.c (prefer_window_split_horizontally, display_buffer):
14760 Revert 2007-09-08 change.
14761
147622007-09-12 Glenn Morris <rgm@gnu.org>
14763
14764 * alloca.c: Remove file.
14765 * Makefile.in (alloca): Do not undef.
14766 (allocaobj, alloca.o): Remove.
14767 (otherobj): Remove allocaobj.
14768 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
14769 * regex.c (C_ALLOCA): Remove all references and code that was only
14770 used when this was defined.
14771 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
14772 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
14773 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
14774
14775 * Makefile.in (SOURCES, unlock, relock): Delete.
14776
14777 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
14778 (menu_grab_callback): All uses changed.
14779
14780 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
14781 (x_reply_selection_request): All uses changed.
14782
147832007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
14784
14785 * lread.c (load_warn_old_style_backquotes): Change message to look
14786 better when it appears in the middle of byte-compiler messages.
14787
147882007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
14789
14790 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
14791
14792 * xterm.c (x_create_terminal): Add comment.
14793
14794 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
14795
147962007-09-10 Richard Stallman <rms@gnu.org>
14797
14798 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
14799
148002007-09-10 Michaël Cadilhac <michael@cadilhac.name>
14801
14802 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
14803 (DEFUN): Document `intspec', use it instead of `prompt'.
14804
14805 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
14806
14807 * data.c (Finteractive_form): If the interactive specification starts
14808 with a `(', use it as a Lisp form.
14809
14810 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
14811 name and file modes.
14812
14813 * callint.c (Fcall_interactively): Comment fixes.
14814
148152007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
14816
14817 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
14818 and compiled functions.
14819
148202007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
14821
14822 * window.c (prefer_window_split_horizontally): New variable.
14823 (display_buffer): Consider splitting window horizontally depending
14824 on prefer_window_split_horizontally.
14825
148262007-09-08 Eli Zaretskii <eliz@gnu.org>
14827
14828 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
14829
148302007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
14831
14832 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
14833
14834 * frame.c (x_set_frame_parameters): Check number is positive before
14835 using XFASTINT.
14836
14837 * window.c (freeze_window_start): Don't presume selected_window holds
14838 a window object.
14839 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
14840
148412007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
14842
14843 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
14844
148452007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
14846
14847 * window.c (Vsplit_window_preferred_function): New var.
14848 (Fdisplay_buffer): Use it.
14849 (syms_of_window): Export, and initialize it.
14850
148512007-09-06 Pixel <pixel@mandriva.com> (tiny change)
14852
14853 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
14854
148552007-09-06 Glenn Morris <rgm@gnu.org>
14856
14857 * gtkutil.c (menu_grab_callback) <cnt>:
14858 * xselect.c (x_reply_selection_request) <cnt>: Move static
14859 variable to file scope.
14860
148612007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
14862
14863 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
14864 consistent values of selected_frame and selected_window.
14865
148662007-09-04 Jason Rumney <jasonr@gnu.org>
14867
14868 * w32console.c (initialize_w32_display): Zero unused hooks.
14869
148702007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
14871
14872 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
14873 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
14874
148752007-09-04 Jason Rumney <jasonr@gnu.org>
14876
14877 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
14878 in w32console.c. Set up input. Remove XXX comments that have been
14879 confirmed as correct.
14880
14881 * s/ms-w32.h (MULTI_KBOARD): Define.
14882
14883 * w32console.c (one_and_only_w32cons): Remove.
14884 (initialize_w32_display): Take terminal argument.
14885
14886 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
14887 initialize_w32_display.
14888 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
14889
14890 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
14891
14892 * keyboard.c (discard_mouse_events): Discard it.
14893 (make_lispy_event): Translate it to a lisp event.
14894 (lispy_wheel_names): Add wheel-left and right events.
14895 (syms_of_keyboard): Enlarge wheel_syms.
14896
14897 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
14898 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
14899
14900 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
14901
14902 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
14903 from WM_MOUSEHWHEEL.
14904 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
14905
14906 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
14907 terminal.
14908
14909 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
14910 keyboard for the terminal.
14911
149122007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
14913
14914 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
14915 (Vresume_tty_hook): Rename from Vresume_tty_functions.
14916 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
14917 and resume-tty-function to resume-tty-hook.
14918 (Fsuspend_tty, Fresume_tty): Use new names.
14919
149202007-09-02 Jan Djärv <jan.h.d@swipnet.se>
14921
14922 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
14923 if it starts with "n:".
14924
149252007-08-31 Jan Djärv <jan.h.d@swipnet.se>
14926
14927 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
14928
149292007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
14930
14931 * frame.h:
14932 * frame.c (Qterm_environment_variable): Remove.
14933 (syms_of_frame): Don't init and staticpro it.
14934
14935 * callproc.c (getenv_internal): Remove special case for $TERM.
14936
14937 * callproc.c (Vinitial_environment): New variable.
14938 (set_initial_environment): Initialize it.
14939 (syms_of_callproc): Declare it.
14940 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
14941 TERM under which a process runs is never related to the TERM in which
14942 Emacs is running.
14943
149442007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
14945
14946 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
14947 * s/darwin.h: ... do it here.
14948
149492007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
14950
14951 * lisp.h (set_initial_environment): Rename from set_global_environment.
14952
14953 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
14954 removed by mistake on the multi-tty branch.
14955
14956 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
14957 (Fmodify_frame_parameters): Return a value.
14958
14959 * image.c (png_load): Comment-out var only used in commented-out code.
14960
14961 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
14962 before passing it to mark_object.
14963
14964 * xfaces.c (internal_resolve_face_name): Return a value.
14965 (internal_resolve_face_name, resolve_face_name_error): Comment out.
14966
14967 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
14968 (x_icon): Comment-out var only used in commented-out code.
14969
149702007-08-29 Romain Francoise <romain@orebokech.com>
14971
14972 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
14973 QUIT hasn't been provided.
14974
149752007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
14976
14977 * callproc.c (child_setup, getenv_internal): Use the
14978 display-environment-variable and term-environment-variable frame params.
14979 (set_initial_environment): Initialise Vprocess_environment.
14980
14981 * config.in: Disable multi-keyboard support on a mac.
14982
14983 * frame.c (Qterm_environment_variable)
14984 (Qdisplay_environment_variable): New variables.
14985 (syms_of_frame): Intern and staticpro them.
14986 (Fmake_terminal_frame): Disable output method test.
14987
14988 * frame.h: Declare them here.
14989
14990 * macfns.c (x_set_mouse_color): Get rif from the frame.
14991 (x_set_tool_bar_lines): Don't use updating_frame.
14992 (mac_window): Add 2 new parameters for consistency with other systems.
14993 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
14994 frame parameters following what is done in X11 and w32. Don't use
14995 FRAME_MAC_DISPLAY_INFO.
14996 (Fx_open_connection, start_hourglass): Remove window-system check.
14997 (x_create_tip_frame): Get the keyboard from the terminal.
14998
14999 * macmenu.c: Reorder includes.
15000 (Fx_popup_menu): Use terminal specific mouse_position_hook.
15001
15002 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
15003 terminal parameter.
15004 (x_clear_frame): Add a frame parameter.
15005 (note_mouse_movement): Get rif from the frame.
15006 (mac_term_init): Initialize the terminal.
15007 (mac_initialize): Make static and move terminal initialization ...
15008 (mac_create_terminal): ... to this new function.
15009
15010 * macterm.h (struct mac_display_info): Add terminal.
15011 (mac_initialize): Delete declaration.
15012
15013 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
15014
15015 * sysdep.c: Comment out text after #endif.
15016
15017 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
15018 is defined. Better initialize ttys in windows. Use terminal
15019 specific mouse_position_hook.
15020
15021 * termhooks.h (union display_info): Add mac_display_info.
15022
15023 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
15024 Set the default minibuffer frame, window_system and the rest of the
15025 frame parameters following what is done in X11.
15026
15027 * w32term.c (w32_initialize): Make static.
15028
15029 * xselect.c (x_handle_selection_clear): Only access
15030 terminal->kboard when MULTI_KBOARD is defined.
15031
15032 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
15033 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
15034
150352007-08-29 Jason Rumney <jasonr@gnu.org>
15036
15037 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
15038 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
15039
15040 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
15041 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
15042
15043 * keyboard.c (restore_kboard_configuration): Only define when
15044 MULTI_KBOARD defined.
15045
15046 * makefile.w32-in: Update dependancies from Makefile.in.
15047 (OBJ1): Add terminal.$(O)
15048
15049 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
15050 Don't define function body.
15051 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
15052
15053 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
15054
15055 * w32.c (request_sigio, unrequest_sigio): Remove.
15056
15057 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
15058 (w32con_clear_frame, w32con_clear_end_of_line)
15059 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
15060 (w32con_delete_glyphs, w32con_set_terminal_window)
15061 (scroll_line, w32_sys_ring_bell): Add frame arg.
15062 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
15063 Add terminal arg.
15064 (PICK_FRAME): Remove.
15065 (w32con_write_glyphs): Use frame specific terminal coding.
15066 (one_and_only_w32cons): New global variable.
15067 (initialize_w32_display): Use it for storing hooks.
15068 (create_w32cons_output): New function.
15069
15070 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
15071 arg a frame.
15072
15073 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
15074 Set window_system.
15075 (x_set_tool_bar_lines): Don't use updating_frame.
15076 (Fx_create_frame): Set terminal and ref count.
15077 (Fx_open_connection): Remove window-system check.
15078
15079 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
15080
15081 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
15082 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
15083 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
15084 Add frame arg.
15085 (x_delete_terminal, w32_create_terminal): New functions.
15086 (w32_term_init): Create a terminal.
15087 (w32_initialize): Move terminal specific initialization to
15088 w32_create_terminal.
15089
15090 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
15091 (w32_clear_rect, w32_clear_area): Use background from frame.
15092 (w32_display_info): Add terminal.
15093 (w32_sys_ring_bell, x_delete_display): Declare here.
15094
15095 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
15096
15097 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
15098
150992007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
15100
15101 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
15102 Fix get_named_tty calls for the controlling tty.
15103
151042007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
15105
15106 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
15107
151082007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
15109
15110 * term.c (tty_insert_glyphs): Add missing first parameter.
15111
151122007-08-29 Károly Lőrentey <karoly@lorentey.hu>
15113
15114 * buffer.c (Fbuffer_list, Fbury_buffer):
15115 Take frame->buried_buffer_list into account.
15116
15117 * cm.c (current_tty): New variable, for cmputc().
15118 (cmputc): Use it.
15119 (cmcheckmagic): Add tty parameter, look up terminal streams there.
15120 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
15121 (cmgoto): Add tty parameter. Pass it on to calccost().
15122 Use emacs_tputs() instead of tputs().
15123
15124 * cm.h (emacs_tputs): New macro to set current_tty, and then call
15125 tputs().
15126 (current_tty): New variable, for cmputc().
15127 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
15128
15129 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
15130 (internal_condition_case, internal_condition_case_1)
15131 (internal_condition_case_2): Don't abort when x_catching_errors.
15132
15133 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
15134 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
15135 prevent crashes caused by bogus longjmps in read_char.
15136
15137 * keymap.h (Fset_keymap_parent): Add EXFUN.
15138
15139 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
15140 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
15141 Remove redundant definition.
15142
15143 * macfns.c (x_set_mouse_color, x_make_gc):
15144 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15145
15146 * w32term.c (x_free_frame_resources):
15147 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15148 (w32_initialize): Use the accessor macros for terminal characteristics.
15149
15150 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
15151 Use the accessor macros for terminal characteristics.
15152 * msdos.c (internal_terminal_init): Use the accessor macros for
15153 terminal characteristics.
15154 (ScreenVisualBell, internal_terminal_init):
15155 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15156
15157 * termopts.h (no_redraw_on_reenter): Declare.
15158
15159 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
15160 (mark_terminals, mark_ttys): Declare.
15161 (Fgarbage_collect): Call them.
15162 (mark_object): Mark buried_buffer_list.
15163
15164 * prefix-args.c: Include stdlib.h for exit.
15165
15166 * syssignal.h: Add comment.
15167
15168 * indent.c: Include stdio.h.
15169
15170 * window.h (Vinitial_window_system): Declare.
15171 (Vwindow_system): Delete declaration.
15172
15173 * fontset.c (Finternal_char_font): Use FRAME_RIF.
15174
15175 * image.c (lookup_image): Don't initialize `c' until the xasserts
15176 have been run.
15177
15178 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
15179 FRAME_FOREGROUND_PIXEL.
15180
15181 * print.c (print_preprocess): Don't lose print_depth levels while
15182 iterating.
15183
15184 * widget.c (update_from_various_frame_slots):
15185 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15186
15187 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
15188 frames.
15189 (window_internal_height): Remove bogus make_number call.
15190 (init_window_once): Call make_terminal_frame with two zero parameters.
15191
15192 * fileio.c (Fread_file_name): Update comment.
15193
15194 * callint.c (Fcall_interactively):
15195 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
15196 Make sure it is correctly unwound.
15197
15198 * xsmfns.c (x_session_close): New function.
15199
15200 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
15201 Delete declarations.
15202
15203 * xterm.h: Remove declaration for x_fully_uncatch_errors.
15204 (x_output): Remove background_pixel and foreground_pixel fields.
15205 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
15206 (x_delete_device, x_session_close): Declare.
15207
15208 * lread.c: Include setjmp.h. Update declaration of `read_char'.
15209 (read_filtered_event): Call `read_char' with a local
15210 `wrong_kboard_jmpbuf'.
15211
15212 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
15213 Don't call single_kboard_state. Use FRAME_RIF.
15214
15215 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
15216 systems.
15217
15218 * lisp.h (set_process_environment): Rename to `set_global_environment'.
15219 (Fframe_with_environment, Fset_input_meta_mode)
15220 (Fset_quit_char): EXFUN.
15221 (x_create_device, tty_output, terminal, tty_display_info): Declare.
15222 (init_sys_modes, reset_sys_modes): Update prototypes.
15223 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
15224
15225 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
15226 Vlocal_key_translation_map, and Vkeyboard_translate_table.
15227 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
15228 Delete declarations.
15229 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
15230 (temporarily_switch_to_single_kboard, tty_read_avail_input):
15231 New declarations.
15232
15233 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
15234 already does that during init_display(). Call syms_of_keymap
15235 before syms_of_keyboard. Call `syms_of_terminal'.
15236 Call set_initial_environment, not set_process_environment.
15237 (shut_down_emacs): Call reset_all_sys_modes() instead of
15238 reset_sys_modes().
15239
15240 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
15241 (internal_resolve_face_name, resolve_face_name_error): New functions.
15242 (resolve_face_name): Protect against loops and errors thrown by Fget.
15243 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
15244 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
15245
15246 * scroll.c: Replace CURTTY() with local variables throughout the
15247 file (where applicable).
15248 (calculate_scrolling, calculate_direct_scrolling)
15249 (scrolling_1, scroll_cost): Use the accessor macros for terminal
15250 characteristics.
15251
15252 * keymap.c (Vfunction_key_map): Remove.
15253 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
15254 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
15255 (Vkey_translation_map): Remove.
15256 (syms_of_keymap): Remove DEFVAR for key-translation-map.
15257 (Fdescribe_buffer_bindings)
15258 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
15259 Update for terminal-local key-translation-map.
15260
15261 * Makefile.in (callproc.o): Update dependencies.
15262 (lisp, shortlisp): Add termdev.elc.
15263 (obj): Add terminal.o.
15264 (terminal.o): Add dependencies.
15265 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
15266 (data.o, fns.o): Add termhooks.h dependency.
15267 (SOME_MACHINE_LISP): Add dnd.elc.
15268 (minibuf.o): Fix typo.
15269 Update dependencies.
15270
15271 * data.c (do_symval_forwarding, store_symval_forwarding)
15272 (find_symbol_value): Use the selected frame's keyboard, not
15273 current_kboard.
15274
15275 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
15276 Vwindow_system.
15277
15278 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
15279 Fmenu_bar_open.
15280 (syms_of_xmenu): Update defsubr.
15281 (mouse_position_for_popup, Fx_popup_menu)
15282 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
15283 (set_frame_menubar, free_frame_menubar)
b97439ce 15284 (create_and_show_popup_menu, xmenu_show)
aac0c6e3
MR
15285 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
15286 an X frame.
15287
15288 * xselect.c (x_own_selection): Abort if not an X frame.
15289 (some_frame_on_display): Check if it is an X frame.
15290 (x_handle_selection_clear): Deal with MULTI_KBOARD.
15291
15292 * coding.c: Include frame.h and termhooks.h.
15293 (terminal_coding, keyboard_coding): Delete.
15294 (Fset_terminal_coding_system_internal)
15295 (Fset_keyboard_coding_system_internal)
15296 (Fkeyboard_coding_system)
15297 (Fterminal_coding_system): Add a terminal parameter.
15298 Get terminal_coding from the terminal.
15299 (init_coding_once): Don't call setup_coding_system here.
15300
15301 * dispextern.h (set_scroll_region, turn_off_insert)
15302 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
15303 (tty_clear_end_of_line, tty_setup_colors)
15304 (delete_tty, updating_frame)
15305 (produce_special_glyphs, produce_glyphs, write_glyphs)
15306 (insert_glyphs): Remove.
15307 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
15308 (tty_turn_off_highlight, get_tty_size): Add declaration.
15309 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
15310
15311 * frame.h (enum output_method): Add output_initial.
15312 (struct x_output): Delete.
15313 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
15314 Access foreground_pixel and background_pixel directly from the frame.
15315 (tty_display): Delete.
15316 (struct frame): Add buried_buffer_list, foreground_pixel,
15317 background_pixel and terminal. Delete kboard.
15318 (union output_data): Add tty.
15319 (FRAME_KBOARD): Get the kboard from the terminal.
15320 (FRAME_INITIAL_P): New macro.
15321 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
15322 (Qterm_environment_variable, Qdisplay_environment_variable)
15323 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
15324 New declarations.
15325
15326 * termchar.h (tty_output, tty_display_info): New structures.
15327 (tty_list): Declare.
15328 (FRAME_TTY, CURTTY): New macros.
15329 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
15330 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
15331 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
15332 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
15333
15334 * callproc.c: Include frame.h and termhooks.h, for terminal
15335 parameters.
15336 (add_env): New function.
15337 (child_setup): Use it.
15338 (child_setup, getenv_internal): Handle the new Vprocess_environment.
15339 (getenv_internal): Fix get_terminal_param call.
15340 (Fgetenv_internal, egetenv): Update doc.
15341 (syms_of_callproc): Initialize Vprocess_environment to nil.
15342 Register and initialize them. Remove obsolete defvars. Update doc
15343 strings.
15344 (child_setup): Handle Vlocal_environment_variables.
15345 (getenv_internal): Add terminal parameter.
15346 Handle Vlocal_environment_variables.
15347 (Fgetenv_internal): Add terminal parameter.
15348 (child_setup, getenv_internal, Fgetenv_internal): Store the local
15349 environment in a frame (not terminal) parameter. Update doc strings.
15350 (set_initial_environment): Rename from set_global_environment.
15351 Store Emacs environment in initial frame parameter.
15352
15353 * xdisp.c (redisplay_internal): Update references to
15354 `previous_terminal_frame'.
15355 (display_mode_line, Fformat_mode_line): Replace calls to
15356 `push_frame_kboard' with `push_kboard'.
15357 (get_glyph_string_clip_rects): Add extra parentheses and
15358 braces to prevent compiler warnings.
15359 (calc_pixel_width_or_height): Add xassert to check that the
15360 frame is alive. Don't call `lookup_image' on a termcap frame.
15361 (message2_nolog, message3_nolog, redisplay_internal)
15362 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
15363 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
15364 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
15365 (Fx_display_pixel_width, Fx_display_pixel_height)
15366 (Fx_display_planes, Fx_display_color_cells)
15367 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
15368 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
15369 (Fx_display_backing_store, Fx_display_visual_class)
15370 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
15371 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
15372
15373 * xfns.c (x_set_foreground_color x_set_background_color)
15374 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
15375 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15376 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
15377 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
15378 terminal that is being deleted.
15379 (Fx_create_frame): Use `store_frame_param' to set `window-system'
15380 frame parameter, and make sure it overrides any user-supplied setting.
15381 (Fx_close_connection, Fx_synchronize): Unify argument names with
15382 the rest of the DEFUNs.
15383
15384 * dispnew.c (Fsend_string_to_terminal): Update call to
15385 `get_tty_terminal'.
15386 (Fredraw_frame, Fsend_string_to_terminal)
15387 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
15388 FRAME_TERMCAP_P and FRAME_TTY.
15389 (window_change_signal): Don't believe width/height values that are
15390 impossibly small.
15391 (Vinitial_window_system): Rename from Vwindow_system.
15392 (termscript, Wcm, rif): Delete.
15393
15394 * termhooks.h (struct terminal): New struct containing the
15395 previously global text display hooks and new members NAME,
15396 DELETED and PARAM_ALIST.
15397 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
15398 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
15399 (FRAME_RIF): New macros.
15400 (get_terminal_param, get_device): New declarations.
15401 (termscript): Delete declaration.
15402
15403 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
15404 (XTflash, x_free_frame_resources, x_scroll_bar_create)
15405 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
15406 FRAME_FOREGROUND_PIXEL.
15407 (x_fully_uncatch_errors): Disable definition.
15408 (x_scroll_bar_expose): Fix reference to foreground pixel.
15409 (XTread_socket): Disable loop on all X displays.
15410 (x_delete_terminal): Don't set terminal->deleted and let
15411 delete_terminal delete the frames on the terminal.
15412 (x_delete_display): Doc update to reflect changes in
15413 delete_terminal.
15414 (x_display_info) <terminal>: Move member earlier in the struct.
15415 (deleting_tty): Remove old variable.
15416 (Fsuspend_tty): Call clear_tty_hooks.
15417 (Fresume_tty, init_tty): Call set_tty_hooks.
15418 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
15419 errors on X frames.
15420 (x_catch_errors_unwind): Abort if x_error_message is NULL.
15421 (handle_one_xevent): Initialize `f' to NULL.
15422 (x_delete_terminal, x_create_terminal): New functions.
15423 (XTset_terminal_modes, XTreset_terminal_modes)
15424 (XTread_socket, x_connection_closed, x_term_init)
15425 (x_term_init, x_delete_display): Add terminal parameter.
15426 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
15427 X connections.
15428
15429 * frame.c: Include termchar.h.
15430 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
15431 (Qwindow_system, Qenvironment, Qterm_environment_variable)
15432 (Qdisplay_environment_variable): New vars.
15433 (Fframep): Deal with output_initial.
15434 (Fframe-live-p): Doc fix.
15435 (Fwindow-system): New function.
15436 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
15437 (make_terminal_frame): Don't create frames on a terminal that is
15438 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15439 (store_frame_param): Check for found_for_frame before calling XFRAME.
15440 (Fmake_terminal_frame): Handle NULL tty names correctly.
15441 (syms_of_frame): Enhance doc string of `default-frame-alist'.
15442 (Fdelete_frame): Remove unused variable `count'. Don't allow other
15443 frames to refer to a deleted frame in their 'environment parameter.
15444 (Fframe_with_environment): New function.
15445 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
15446 (get_future_frame_param): New function.
15447 (Fmake_terminal_frame): Use it.
15448 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
15449
15450 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
15451 * sysdep.c (reset_sys_modes): Update for renames.
15452
15453 * keyboard.c (tty_read_avail_input): New function.
15454 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
15455 (syms_of_keyboard): Defsubr them.
15456 (Fset_input_meta_mode, Fset_quit_char): New functions.
15457 (Fset_input_mode): Split to above functions.
15458 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
15459 parameter. Use it in call to `read_char'.
15460 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
15461 Set wrong_kboard_jmpbuf correctly in recursive calls.
15462 Use current_kboard to access Vkeyboard_translate_table.
15463 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
15464 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
15465 Update longjmp invocations. Remember the original current_kboard,
15466 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
15467 changes it. Comment out unnecessary calls to
15468 `record_single_kboard_state' and `any_kboard_state'.
15469 Update recursive calls.
15470 (wrong_kboard_jmpbuf): Remove global variable.
15471 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
15472 Handle deleted interrupted_kboards correctly; that is a legal
15473 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
15474 and read_char calls. Abort if interrupted_kboard died in read_char.
15475 (any_kboard_state, single_kboard_state)
15476 (push_frame_kboard): Remove function.
15477 (pop_kboard): Switch out of single_kboard mode if the kboard has
15478 been deleted. Remove unused variable. Help debugging by not
15479 changing current_kboard unnecessarily. Set current_kboard to the
15480 kboard of the selected frame when the stored kboard object has
15481 been deleted before pop_kboard.
15482 (temporarily_switch_to_single_kboard): Change first parameter to a
15483 frame pointer. Throw an error when caller wants to change kboards
15484 while in single_kboard mode. Don't push_kboard if we weren't in
15485 single kboard state. Don't pop_kboard if we popped into any
15486 kboard state.
15487 (restore_kboard_configuration): Abort if pop_kboard changed the
15488 kboard in single_kboard mode. Call pop_kboard only after setting
15489 up single_kboard mode.
15490 (Frecursive_edit): Switch to single_kboard mode only in nested
15491 command loops.
15492 (cmd_error, command_loop, command_loop_1, timer_check):
15493 Comment out unnecessary call to `any_kboard_state' and
15494 `record_single_kboard_state'.
15495 (delete_kboard): Exit single_kboard mode if we have just deleted
15496 that kboard. Use FRAME_KBOARD.
15497 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
15498 `fatal_error_signal'.
15499 (record_single_kboard_state): Don't push_kboard if we weren't in
15500 single kboard state. Don't pop_kboard if we popped into any
15501 kboard state.
15502 (push_frame_kboard): Rename to push_kboard.
15503 (kbd_buffer_get_event): Use FRAME_TERMINAL.
15504 (read_avail_input): Read input from all terminals.
15505 (mark_kboards): Also mark Vkeyboard_translate_table.
15506 (kbd_buffer_store_event_hold): Simplify condition.
15507 (read_key_sequence): Reinitialize fkey and keytran at each replay.
15508 (Vkeyboard_translate_table): Move to struct kboard.
15509 (init_kboard): Initialize Vkeyboard_translate_table.
15510 (syms_of_keyboard): Use DEFVAR_KBOARD to define
15511 Vkeyboard_translate_table. Update doc strings. Update docs of
15512 local-function-key-map and function-key-map.
15513
15514 * terminal.c: New file.
15515
15516 * term.c: Include errno.h.
15517 (Vring_bell_function, device_list, initial_device)
15518 (next_device_id, ring_bell, update_begin, update_end)
15519 (set_terminal_window, cursor_to, raw_cursor_to)
15520 (clear_to_end, clear_frame, clear_end_of_line)
15521 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
15522 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
15523 (syms_of_term): Move their initialization to terminal.c.
15524 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
15525 (Ftty_display_color_cells)
15526 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
15527 (clear_tty_hooks, set_tty_hooks)
15528 (init_tty, maybe_fatal): New functions.
15529 (Ftty_type): Return nil if terminal is not on a tty instead of
15530 throwing an error. Doc update.
15531 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
15532 Doc update. Initialize new subrs and variables.
15533 (delete_tty): Use terminal->deleted.
15534 (tty_set_terminal_modes): Rename from set_terminal_modes.
15535 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
15536 (set_scroll_region): Rename to `tty_set_scroll_region'.
15537 (turn_on_insert): Rename to `tty_turn_on_insert'.
15538 (turn_off_insert): Rename to `tty_turn_off_insert'.
15539 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
15540 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
15541 (toggle_highligh): Rename to `tty_toggle_highlight'.
15542 (background_highlight): Rename to `tty_background_highlight'.
15543 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
15544 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
15545 (tty_set_scroll_region, tty_background_highlight)
15546 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
15547 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
15548 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
15549 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
15550 Add static modifier.
15551 (tty_reset_terminal_modes, tty_set_terminal_window)
15552 (tty_set_scroll_region, tty_background_highlight)
15553 (tty_highlight_if_desired, tty_cursor_to)
15554 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
15555 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
15556 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
15557 renames.
15558
155592007-08-28 Jan Djärv <jan.h.d@swipnet.se>
15560
15561 * keyboard.c: Qrtl is new.
15562 (parse_tool_bar_item): Handle :rtl keyword.
15563 (syms_of_keyboard): Intern :rtl keyword.
15564
15565 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
15566
15567 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
15568 so no Lisp code is executed.
15569 (file_for_image, find_rtl_image): New functions.
15570 (xg_get_image_for_pixmap): Use file_for_image.
15571 (update_frame_tool_bar): If direction is RTL, use RTL image if
15572 defined. Use Gtk stock images if defined.
15573
155742007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15575
15576 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
15577 for nonexistent or zero-width glyph in composition glyph.
15578
155792007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
15580
15581 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
15582
15583 * xdisp.c (Finvisible_p): New function.
15584 (syms_of_xdisp): defsubr it.
15585
155862007-08-24 Juanma Barranquero <lekktu@gmail.com>
15587
15588 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
15589 Doc fixes.
15590
155912007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15592
15593 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
15594
155952007-08-24 Martin Rudalics <rudalics@gmx.at>
15596
15597 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
15598 whether decoding has modified buffer contents.
15599
156002007-08-24 Jason Rumney <jasonr@gnu.org>
15601
15602 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
15603 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
15604 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
15605 (init_svg_functions) [HAVE_NTGUI]: New function.
15606 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
15607 (svg_load_image): Use them.
15608 (svg_load_image) [HAVE_NTGUI]: Implement background.
15609
156102007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15611
15612 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
15613 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
15614 (LIBX): Remove @RSVG_LIBS@.
15615 (LIBES): Add $(RSVG_LIBS).
15616
15617 * image.c (svg_load_image): Blend with specified background if exists.
15618 Use IMAGE_BACKGROUND. Add Mac OS Support.
15619
15620 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
15621 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
15622 Remove macros.
15623 [MAC_OSX] (socket_callback): Do nothing.
15624 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
15625 ReceiveNextEvent.
15626 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
15627 socket_callback.
15628 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
15629
156302007-08-22 Glenn Morris <rgm@gnu.org>
15631
15632 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
15633
156342007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
15635
15636 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
15637
15638 * image.c: Add support for SVG images. Some additional comments
15639 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
15640 (svg_image_p): New function to test for SVG image.
15641 (svg_load): New function to load SVG image.
15642 (svg_load_image): New function, helper for svg_load.
15643 (Qsvg): New Lisp_object.
15644 (svg_keyword_index): New enum.
15645 (svg_format): New static `image_keyword' struct.
15646 (svg_type): New static `image_type' struct.
15647 (librsvg/rsvg.h): Include it.
15648
156492007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
15650
15651 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
15652
156532007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
15654
15655 * lread.c (Qold_style_backquotes): New var.
15656 (syms_of_lread): Init and staticpro it.
15657 (load_warn_old_style_backquotes): New fun.
15658 (Fload): Use them to warn about old style backquotes.
15659 (end_of_file_error, Fload): Remove unused vars.
15660
15661 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
15662
15663 * lread.c (Vold_style_backquotes): New var.
15664 (syms_of_lread): Init and export it to Elisp.
15665 (read1): Set it when we find an old-style (back)quote.
15666
156672007-08-22 Jason Rumney <jasonr@gnu.org>
15668
15669 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
15670
156712007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
15672
15673 * puresize.h (BASE_PURESIZE): Increase to 1140000.
15674
156752007-08-19 Richard Stallman <rms@gnu.org>
15676
15677 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
15678
156792007-08-19 Andreas Schwab <schwab@suse.de>
15680
15681 * alloc.c (pure): Round PURESIZE up.
15682
156832007-08-17 Jan Djärv <jan.h.d@swipnet.se>
15684
15685 * xterm.c (handle_one_xevent): Remove check that mouse click is in
15686 active frame.
15687
156882007-08-16 Richard Stallman <rms@gnu.org>
15689
15690 * eval.c (Fcommandp): Add parens to clarify.
15691
15692 * minibuf.c (Fall_completions): Use enum for type of table.
15693
15694 * emacs.c (USAGE2): Improve text.
15695
156962007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
15697
15698 * term.c (tty_default_color_capabilities): Declare static
15699 variables in file scope, to avoid HPUX compiler problem.
15700
157012007-08-13 Jan Djärv <jan.h.d@swipnet.se>
15702
15703 * gtkutil.c (update_frame_tool_bar): Use -1 as index
15704 to gtk_toolbar_insert.
15705
157062007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
15707
15708 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
15709
15710 * insdel.c (reset_var_on_error): New fun.
15711 (signal_before_change, signal_after_change):
15712 Use it to reset (after|before)-change-functions to nil in case of error.
15713 Bind inhibit-modification-hooks to t.
15714 Don't bind (after|before)-change-functions to nil while they run.
15715
157162007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15717
15718 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
15719 filling pixmap with stippled background.
15720
157212007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15722
15723 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
15724 Don't use invisible frame as parent window for repositioning.
15725
157262007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
15727
15728 * print.c (new_backquote_output): Rename from old_backquote_output.
15729 (print): Inverse its logic (according to its name) so as to match the
15730 behavior of new_backquote_flag in lread.c.
15731
157322007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15733
15734 * gmalloc.c (posix_memalign): New function.
15735
15736 * macterm.c (frame_highlight, frame_unhighlight): Don't call
15737 ActivateControl/DeactivateControl here.
15738 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
15739 frame-notice-user-settings is non-nil.
15740 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
15741 for kEventParamFMFontStyle.
15742 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
15743 mac_pass_command_to_system and mac_pass_control_to_system here.
15744 (XTread_socket): Call ActivateControl/DeactivateControl here.
15745 (XTread_socket) [TARGET_API_MAC_CARBON]:
15746 Check mac_pass_command_to_system and mac_pass_control_to_system here.
15747 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
15748 for window repositioning.
15749
157502007-08-08 Glenn Morris <rgm@gnu.org>
15751
15752 * Replace `iff' in doc-strings and comments.
15753
157542007-08-07 Chong Yidong <cyd@stupidchicken.com>
15755
15756 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
15757
157582007-08-07 Martin Rudalics <rudalics@gmx.at>
15759
15760 * fileio.c (Finsert_file_contents): Run format-decode and
15761 after_insert_file_functions on entire buffer when REPLACE is
15762 non-nil and inhibit modification_hooks and point_motion_hooks.
15763 For consistency, run after_insert_file_functions iff something
15764 got inserted. Move signal_after_change and update_compositions
15765 after code running after_insert_file_functions. Make sure that
15766 undo_list doesn't record intermediate steps of the decoding process.
15767
157682007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15769
15770 * emacs.c (main)
15771 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
15772 Call malloc_enable_thread on interactive startup.
15773
15774 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
15775 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
15776 [USE_PTHREAD]: Conditionalize with it.
15777 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
15778 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
15779 New functions.
15780
157812007-08-06 Chong Yidong <cyd@stupidchicken.com>
15782
15783 * xdisp.c (redisplay_window): When restoring original buffer
15784 position, make sure it is still valid.
15785
15786 * image.c (png_load): Ignore png-supplied background color.
15787
157882007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15789
15790 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
15791 Use kCFAbsoluteTimeIntervalSince1970.
15792
15793 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
15794 New variable.
15795 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
15796 event loop should be quit.
15797 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
15798 Quit dialog event loop if quit_dialog_event_loop is set.
15799
15800 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
15801 (Selection): New typedef. Use instead of ScrapRef.
15802 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
15803 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
15804 (mac_clear_selection): Rename from clear_scrap.
15805 (get_flavor_type_from_symbol): New argument SEL and subsume function of
15806 scrap_has_target_type. All uses changed.
15807 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
15808 (mac_selection_has_target_p): New functions.
15809 (mac_put_selection_value): Rename from put_scrap_string.
15810 (mac_get_selection_value): Rename from get_scrap_string.
15811 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
15812 (put_scrap_private_timestamp, scrap_has_target_type)
15813 (get_scrap_private_timestamp): Remove functions.
15814 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
15815 (x_own_selection, x_get_local_selection):
15816 Use mac_valid_selection_value_p.
15817 (x_own_selection): Don't use put_scrap_private_timestamp.
15818 Record OWNERSHIP-INFO into Vselection_alist instead.
15819 (x_get_local_selection): Don't check type if request is local.
15820 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
15821 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
15822
158232007-08-04 Jan Djärv <jan.h.d@swipnet.se>
15824
15825 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
15826 add comment explaining why.
15827
158282007-08-03 Richard Stallman <rms@gnu.org>
15829
15830 * fileio.c (Fvisited_file_modtime): Use make_time.
15831
158322007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
15833
15834 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
15835 build.
15836
158372007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
15838
15839 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
15840
158412007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
15842
15843 * puresize.h (BASE_PURESIZE): Increase to 1130000.
15844
158452007-07-30 Richard Stallman <rms@gnu.org>
15846
15847 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
15848
158492007-07-29 Jan Djärv <jan.h.d@swipnet.se>
15850
15851 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
15852
158532007-07-28 Nick Roberts <nickrob@snap.net.nz>
15854
15855 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
15856 remote default-directory.
15857
15858 * buffer.c (mode-line-format): Update doc string.
15859
158602007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15861
15862 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
15863 scroll bar gap.
15864 (x_scroll_bar_create): Set bar->fringe_extended_p.
15865 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
15866 on frame edge. Check fringe background extension. Don't clear
15867 extended fringe background area.
15868
15869 * w32term.h (struct scroll_bar): New member fringe_extended_p.
15870 (w32_fill_area): Enclose multiple statements with do ... while (0).
15871
15872 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
15873 Extend fringe background to scroll bar gap.
15874 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
15875 Set bar->fringe_extended_p.
15876 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
15877 Put leftmost/rightmost scroll bars on frame edge. Check fringe
15878 background extension. Don't clear extended fringe background area.
15879
15880 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
15881 New member fringe_extended_p.
15882
158832007-07-25 Glenn Morris <rgm@gnu.org>
15884
15885 * Relicense all FSF files to GPLv3 or later.
15886
15887 * COPYING: Switch to GPLv3.
15888
158892007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
15890
15891 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
15892
15893 * data.c (Finteractive_form): Check for the presence of an
15894 `interactive-form' symbol property more thoroughly.
15895
15896 * data.c (Finteractive_form): Use an `interactive-form' property if
15897 present, analogous to the function-documentation property.
15898
158992007-07-24 Jason Rumney <jasonr@gnu.org>
15900
15901 * w32fns.c (x_real_positions): Get real position from OS instead of
15902 calculating it.
15903
159042007-07-23 Jason Rumney <jasonr@gnu.org>
15905
15906 * filelock.c (current_lock_owner): Allow for @ sign in username.
15907
159082007-07-22 Nick Roberts <nickrob@snap.net.nz>
15909
15910 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
15911 remote default-directory.
15912
15913 * buffer.c (mode-line-format): Describe above case in doc string.
15914
159152007-07-20 Eli Zaretskii <eliz@gnu.org>
15916
15917 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
15918 Define if not defined.
15919
159202007-07-18 Jason Rumney <jasonr@gnu.org>
15921
15922 * w32proc.c (w32_executable_type): Handle 64 bit executables.
15923
159242007-07-18 Richard Stallman <rms@gnu.org>
15925
15926 * data.c (Fsetq_default): Doc fix.
15927
15928 * eval.c (Fsetq): Doc fix.
15929
159302007-07-18 Juanma Barranquero <lekktu@gmail.com>
15931
15932 * coding.c (Ffind_operation_coding_system):
15933 * eval.c (For, Fand): Doc fixes.
15934 Reported by Johan Bockgård.
15935
159362007-07-18 Jan Djärv <jan.h.d@swipnet.se>
15937
15938 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
15939
15940 * xterm.h: Declare x_ewmh_activate_frame.
15941
15942 * xterm.c (x_ewmh_activate_frame): New function.
15943 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
15944
159452007-07-17 Martin Rudalics <rudalics@gmx.at>
15946
15947 * window.c (Fdisplay_buffer): If largest or LRU window is the
15948 only window, split it even if it is not eligible for splitting.
15949 This restores the original behavior broken by the 2007-07-15
15950 change.
15951
159522007-07-17 Glenn Morris <rgm@gnu.org>
15953
15954 * abbrev.c (abbrev_check_chars): New function.
15955 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
15956 Call abbrev_check_chars to check abbrev characters are word
15957 constituents. Doc fix.
15958
159592007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
15960
15961 * process.c (Fstart_process, Fmake_network_process)
15962 (read_process_output): Fix up last changes.
15963
159642007-07-16 Eli Zaretskii <eliz@gnu.org>
15965
15966 * makefile.w32-in (clean): Don't delete *~.
15967
159682007-07-16 Andreas Schwab <schwab@suse.de>
15969
15970 * window.c (Fdisplay_buffer): Use NILP.
15971 (Fset_window_scroll_bars): Likewise.
15972
159732007-07-15 Martin Rudalics <rudalics@gmx.at>
15974
15975 * window.c (window_min_size_2): New function.
15976 (window_min_size_1, size_window, Fdisplay_buffer)
15977 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
15978 windows without mode- or header-lines when window-min-height is
15979 too small.
15980 (size_window): Reset nodelete_p after testing it, following an
15981 earlier note by Kim F. Storm.
15982 (display_buffer): Do not set split_height_threshold to twice the
15983 value of window_min_height to avoid changing the value of a
15984 customizable variable. Rather explicitly check whether the
15985 height of the window that shall be splitted is at least as large
15986 as split_height_threshold.
15987 (Fwindow_full_width_p): New defun.
15988 (syms_of_window): Defsubr it.
15989
15990 * window.h: Add EXFUN for Fwindow_full_width_p.
15991
159922007-07-14 Jason Rumney <jasonr@gnu.org>
15993
15994 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
15995
159962007-07-14 Richard Stallman <rms@gnu.org>
15997
15998 * eval.c (maybe_call_debugger): New function.
15999 (find_handler_clause): Use maybe_call_debugger.
16000 Call it when the handler says `debug'.
16001 Eliminate DEBUGGER_VALUE_PTR.
16002 (Fsignal): Eliminate debugger_value.
16003 (Qdebug): New variable.
16004 (syms_of_eval): Initialize it.
16005
160062007-07-14 Juanma Barranquero <lekktu@gmail.com>
16007
16008 * eval.c (Fprogn):
16009 * keyboard.c (Ftrack_mouse):
16010 * print.c (Fwith_output_to_temp_buffer):
16011 * window.c (Fsave_window_excursion): Doc fix.
16012
160132007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
16014
16015 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
16016
160172007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
16018
16019 * process.h (struct Lisp_Process): Turn slots infd, outfd,
16020 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
16021 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
16022 read_output_delay, and read_output_skip from Lisp_Objects to ints.
16023 Remove unused encoding_carryover.
16024 * process.c: Adjust all functions accordingly.
16025
160262007-07-12 Richard Stallman <rms@gnu.org>
16027
16028 * term.c: Include unistd.h only if HAVE_UNISTD_H.
16029
160302007-07-11 Jason Rumney <jasonr@gnu.org>
16031
16032 * makefile.w32-in (LIBS): Include OLE32.
16033
16034 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
16035 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
16036
160372007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
16038
16039 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
16040 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
16041 from a Lisp_Object into a bare pointer.
16042 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
16043 Adjust the code correspondingly.
16044
16045 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
16046
16047 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
16048 (term_show_mouse_face): Remove unused var `j'.
16049 (handle_one_term_event): Remove unused vars `i' and `j'.
16050 Don't cast return value of ttyname since it's not necessary.
16051
160522007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
16053
16054 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
16055 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
16056
16057 * fns.c (map_char_table): Use an array of int for `indices' rather than
16058 an array of Lisp_Objects (which are only ever integers anyway).
16059 (Fmap_char_table): Update caller.
16060 * lisp.h: Update prototype.
16061 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
16062 * fontset.c (Ffontset_info):
16063 * casetab.c (set_case_table): Update callers.
16064
16065 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
16066
16067 * keymap.c (struct accessible_keymaps_data)
16068 (struct where_is_internal_data): New structures.
16069 (accessible_keymaps_1, where_is_internal_1): Use them to change
16070 interface to adhere to the one used by map_keymap.
16071 (Faccessible_keymaps, where_is_internal): Use map_keymap.
16072 (accessible_keymaps_char_table, where_is_internal_2): Remove.
16073
16074 * keymap.h (map_keymap_function_t): More informative prototype.
16075
160762007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
16077
16078 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
16079 (looking_at_1): Don't change search_regs and last_thing_searched
16080 if `inhibit-changing-match-data' is non-nil.
16081 (string_match_1, search_buffer, set_search_regs): Likewise.
16082 (syms_of_search): Add Lisp level definition for
16083 `inhibit-changing-match-data' and set it to nil.
16084 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
16085 start and end of the match, instead of using values in search_regs.
16086
160872007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
16088
16089 * minibuf.c (Fcompleting_read): New value `confirm-only'
16090 for `require-match'.
16091
160922007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
16093
16094 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
16095 part of the 2007-06-27 change to syms_of_fileio.
16096
160972007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16098
16099 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
16100 Check WINDOWP before using XWINDOW. Consolidate return statements.
16101
161022007-06-27 Richard Stallman <rms@gnu.org>
16103
16104 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
16105
161062007-06-27 Juanma Barranquero <lekktu@gmail.com>
16107
16108 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
16109
161102007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16111
16112 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
16113 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
16114 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
16115 (_free_internal, memalign): Use them.
16116 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
16117 Initialize to PTHREAD_MUTEX_INITIALIZER.
16118 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
16119 (morecore_nolock): Rename from morecore. All uses changed.
16120 Use only nolock versions of internal allocation functions.
16121 (_malloc_internal_nolock, _realloc_internal_nolock)
16122 (_free_internal_nolock): New functions created from
16123 _malloc_internal, _realloc_internal, and _free_internal.
16124 (_malloc_internal, _realloc_internal, _free_internal): Use them.
16125 Copy hook value to automatic variable before its use.
16126 (memalign): Copy hook value to automatic variable before its use.
16127
161282007-06-26 Kenichi Handa <handa@m17n.org>
16129
16130 * coding.c (Ffind_operation_coding_system): Docstring improved.
16131 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
16132
161332007-06-25 David Kastrup <dak@gnu.org>
16134
16135 * keymap.c (Fcurrent_active_maps): Add `position' argument.
16136 (Fwhere_is_internal): Adjust call to `current-active-maps' to
16137 cater for additional parameter.
16138
16139 * keymap.h: Adjust number of parameters to `current-active-maps'.
16140
16141 * doc.c (Fsubstitute_command_keys): Adjust call of
16142 `current-active-maps'.
16143
161442007-06-25 David Kastrup <dak@gnu.org>
16145
16146 * callint.c (Fcall_interactively): Make the parsing of interactive
16147 specs somewhat more readable.
16148
161492007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16150
16151 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
16152 to scroll bar gap also when bitmap fills fringe. Draw only foreground
16153 if extended background has already been filled.
16154
161552007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16156
16157 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
16158 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
16159
16160 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
16161 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
16162 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
16163 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
16164 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
16165 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
16166 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
16167 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
16168 Run timers during dialog popup.
16169 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
16170
161712007-06-21 Jason Rumney <jasonr@gnu.org>
16172
16173 * image.c (convert_mono_to_color_image): Swap fore and background.
16174
161752007-06-20 Jason Rumney <jasonr@gnu.org>
16176
16177 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
16178 (w32_free_bdf_font): Unmap memory not handle.
16179
161802007-06-20 Sam Steingold <sds@gnu.org>
16181
16182 * gmalloc.c (__morecore): Fix the declaration to comply with the
16183 definition.
16184
161852007-06-20 Juanma Barranquero <lekktu@gmail.com>
16186
16187 * w32term.c (w32_delete_display): Remove leftover declaration.
16188 (w32_define_cursor, w32_initialize): Make static.
16189
16190 * w32.c (_wsa_errlist): Fix typo in error message.
16191 (init_environment): Ignore any environment variable from the
16192 registry having a null value.
16193
161942007-06-20 Glenn Morris <rgm@gnu.org>
16195
16196 * Makefile.in (LIBGIF): Default to -lgif.
16197
161982007-06-17 Jason Rumney <jasonr@gnu.org>
16199
16200 * w32menu.c (add_menu_item): Don't use multibyte string functions on
16201 unicode strings.
16202
162032007-06-16 Juanma Barranquero <lekktu@gmail.com>
16204
16205 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
16206 Fix typo in docstring.
16207
162082007-06-16 Eli Zaretskii <eliz@gnu.org>
16209
16210 * w32menu.c (add_menu_item): Escape `&' characters in menu items
16211 and their keybindings.
16212
162132007-06-15 Chong Yidong <cyd@stupidchicken.com>
16214
16215 * composite.c (update_compositions): Fix last fix.
16216
162172007-06-14 Jason Rumney <jasonr@gnu.org>
16218
16219 * w32.c (get_process_times_fn): New function pointer.
16220 (globals_of_w32): Intialize it if present in kernel32.dll.
16221 (w32_get_internal_run_time): New function.
16222
16223 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
16224
162252007-06-14 Kenichi Handa <handa@etlken.m17n.org>
16226
16227 * composite.c (update_compositions): Check the validness of
16228 compositions.
16229
162302007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16231
16232 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
16233 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
16234
16235 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
16236 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
16237
16238 * macgui.h (USE_MAC_TOOLBAR): New define.
16239
16240 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
16241 Return immediately unless popup is activated.
16242
16243 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
16244 background to scroll bar gap.
16245 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
16246 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
16247 scroll bars on frame edge. Check fringe background extension.
16248 Don't clear extended fringe background area.
16249 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
16250 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
16251 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
16252 [USE_MAC_TOOLBAR]: New macros.
16253 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
16254 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
16255 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
16256 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
16257 [USE_MAC_TOOLBAR]: New functions.
16258 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
16259 manually if previous repositioning has failed.
16260 (mac_handle_keyboard_event): Use precomputed event kind.
16261 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
16262 as tool bar item click. Handle mouse movement over tool bar items.
16263
16264 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
16265 toolbar_win_gravity.
16266 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
16267 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
16268 Add externs.
16269
16270 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
16271 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
16272
162732007-06-14 Chong Yidong <cyd@stupidchicken.com>
16274
16275 * image.c (search_image_cache): Remove unused variable.
16276
162772007-06-13 Chong Yidong <cyd@stupidchicken.com>
16278
16279 * xfns.c, xmenu.c: Link to xaw3d if available.
16280
162812007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16282
16283 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
16284 frame_foreground and frame_background.
16285
16286 * image.c (lookup_image): Save frame foreground and background colors.
16287 (search_image_cache): Check if saved and current frame colors match.
16288
162892007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
16290
16291 * regex.c (regex_compile): Remove the `regnum' counter.
16292 Use bufp->re_nsub instead. Add support for \(?N:RE\).
16293
162942007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
16295
16296 * term.c: Include intervals.h to declare Fget_text_property.
16297
162982007-06-10 Jason Rumney <jasonr@gnu.org>
16299
16300 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
16301
163022007-06-08 Juanma Barranquero <lekktu@gmail.com>
16303
16304 * callint.c (Fcall_interactively):
16305 * editfns.c (Fdelete_and_extract_region):
16306 * fileio.c (Fread_file_name):
16307 * fns.c (Fmapconcat):
16308 * keyboard.c (cmd_error_internal):
16309 * keymap.c (Fkey_description):
16310 * lread.c (openp):
16311 * minibuf.c (read_minibuf):
16312 * search.c (wordify):
16313 * sunfns.c (sel_read):
16314 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
16315 * xfns.c (x_default_scroll_bar_color_parameter):
16316 * xmenu.c (menu_help_callback):
16317 * xselect.c (Fx_get_atom_name):
16318 * xterm.c (x_term_init): Use empty_unibyte_string.
16319
163202007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
16321
16322 * alloc.c (init_strings): Initialize canonical empty strings.
16323 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
16324 canonical empty string when the requested size is 0.
16325
16326 * emacs.c (empty_unibyte_string): Rename from empty_string.
16327 (empty_multibyte_string): New canonical empty string.
16328 (syms_of_emacs): Don't initialize empty_string.
16329
16330 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
16331 string, if appropriate.
16332 (empty_unibyte_string, empty_multibyte_string): New externs.
16333 (empty_string): Remove extern.
16334
16335 * lread.c (syms_of_lread): Use empty_unibyte_string.
16336
163372007-06-07 Jason Rumney <jasonr@gnu.org>
16338
16339 * s/ms-w32.h: Don't define HAVE_TZNAME.
16340
16341 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
16342
163432007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16344
16345 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
16346
16347 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
16348 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
16349
16350 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
16351 Don't call next handler.
16352 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
16353 Remove argument. Install handler to application.
16354 (set_frame_menubar): Don't change deep_p.
16355 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
16356 FRAME_OUTER_TO_INNER_DIFF_Y.
16357 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
16358 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
16359 [HAVE_DIALOGS]: New macros.
16360 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
16361 Use them.
16362 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
16363
16364 * macselect.c [MAC_OSX] (install_service_handler): Rename from
16365 init_service_handler. All callers changed. Return OSStatus value.
16366
16367 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
16368 All callers changed so as not to call SetPortWindowPort.
16369 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
16370 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
16371 mac_draw_string_common.
16372 (mac_draw_image_string_qd): Likewise.
16373 (mac_draw_string_common): Use them. Add INLINE.
16374 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
16375 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
16376 GetGlobalMouse.
16377 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
16378 and FRAME_OUTER_TO_INNER_DIFF_Y.
16379 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
16380 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
16381 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
16382 repositioning window to mac_handle_window_event.
16383 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
16384 saving window location to mac_handle_window_event
16385 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
16386 (install_menu_target_item_handler): Remove argument in extern.
16387 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
16388 Also accept command events.
16389 (do_keystroke): New function created from XTread_socket.
16390 (init_command_handler): Remove functions.
16391 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
16392 and save window location by kEventWindowShowing and kEventWindowHiding
16393 handlers here. Don't call next handler for window state change and
16394 focus events.
16395 (mac_handle_application_event, mac_handle_keyboard_event)
16396 [TARGET_API_MAC_CARBON]: New functions.
16397 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
16398 kEventWindowShowing and kEventWindowHiding events. Move installation
16399 of mouse, font, text input and menu target item handlers to
16400 install_application_handler.
16401 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
16402 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
16403 New function.
16404 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
16405 Register it.
16406 (XTread_socket) [TARGET_API_MAC_CARBON]:
16407 Consolidate SendEventToEventTarget calls.
16408 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
16409 Move application activation handler to mac_handle_application_event.
16410 Move keyboard handler to mac_handle_keyboard_event.
16411 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
16412 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
16413 init_command_handler. Call install_application_handler.
16414
16415 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
16416 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
16417
164182007-06-07 Glenn Morris <rgm@gnu.org>
16419
16420 * emacs.c (main): Use `emacs-copyright' in --version output.
16421
164222007-06-06 Chong Yidong <cyd@stupidchicken.com>
16423
16424 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
16425
164262007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16427
16428 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
16429
16430 * macgui.h: Replace WindowPtr with WindowRef.
16431
16432 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
16433 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
16434 Replace ControlHandle with ControlRef.
16435 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
16436
16437 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
16438 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
16439 Replace ControlHandle with ControlRef.
16440 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
16441 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
16442
16443 * macterm.h (struct scroll_bar): Rename member control_handle_low
16444 and control_handle_high to control_ref_low and control_ref_high.
16445 All uses changed.
16446 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
16447 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
16448 respectively. All uses changed.
16449 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
16450 (install_window_handler, remove_window_handler): Replace WindowPtr
16451 with WindowRef in externs.
16452
164532007-06-05 Juanma Barranquero <lekktu@gmail.com>
16454
16455 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
16456
164572007-06-03 Nick Roberts <nickrob@snap.net.nz>
16458
16459 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
16460
16461 * frame.c (Fmouse_position, Fmouse_pixel_position):
16462 Condition on HAVE_GPM too.
16463
16464 * term.c (term_mouse_highlight): Remove unused variables.
16465 (Fterm_open_connection): Set gpm_zerobased to 1.
16466 (term_mouse_movement, term_mouse_click, handle_one_term_event):
16467 Use zero based co-ordinates.
16468 (handle_one_term_event): Report a drag as mouse movement too.
16469
16470 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
16471
164722007-06-03 Chong Yidong <cyd@stupidchicken.com>
16473
16474 * image.c (search_image_cache): New function. Require background
16475 color match if background color is unspecified in the image spec.
16476 (uncache_image, lookup_image): Use it.
16477
164782007-06-01 Juanma Barranquero <lekktu@gmail.com>
16479
16480 * window.c (Fshrink_window): Reflow docstring.
16481
164822007-06-02 Chong Yidong <cyd@stupidchicken.com>
16483
16484 * Version 22.1 released.
16485
164862007-06-01 Richard Stallman <rms@gnu.org>
16487
16488 * xfns.c (x_encode_text): Add GCPRO.
16489
164902007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16491
16492 * xfns.c (x_set_name_internal): Save encoded name before
16493 x_encode_text in case string data is relocated.
16494
164952007-05-31 Richard Stallman <rms@gnu.org>
16496
16497 * buffer.c (syms_of_buffer): Doc fix.
16498
164992007-05-30 Nick Roberts <nickrob@snap.net.nz>
16500
16501 * sysdep.c (init_sys_modes): Add rather than replace with
16502 O_NONBLOCK.
16503
16504 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
16505 term_mouse_moveto.
16506
16507 * termhooks.h (term_mouse_moveto): New extern.
16508
16509 * term.c (mouse_face_window): Rename...
16510 (Qmouse_face_window): ...to this.
16511 (term_show_mouse_face, term_clear_mouse_face)
16512 (term_mouse_highlight): Use Qmouse_face_window.
16513 (term_mouse_moveto): New function.
16514 (term_mouse_position): Make it work.
16515 (syms_of_term): Uncomment assignment to mouse_position_hook.
16516 Staticpro Qmouse_face_window.
16517
165182007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16519
16520 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
16521 around current_column call.
16522
165232007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
16524
16525 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
16526 * xdisp.c (next_element_from_buffer):
16527 * window.c (delete_window):
16528 * term.c (term_mouse_highlight):
16529 * msdos.c (getdefdir):
16530 * macterm.c (mac_create_bitmap_from_bitmap_data)
16531 (init_font_name_table):
16532 * fns.c (Fsxhash):
16533 * data.c (Fmake_local_variable):
16534 * ccl.c (ccl_driver): Likewise.
16535
165362007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16537
16538 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
16539 Call mac_wakeup_from_rne on window size change.
16540
165412007-05-25 Chong Yidong <cyd@stupidchicken.com>
16542
16543 * image.c (uncache_image): Fix typo.
16544
165452007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
16546
16547 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
16548
165492007-05-22 Richard Stallman <rms@gnu.org>
16550
16551 * xterm.c (x_connection_closed): Remove NO_RETURN.
16552
165532007-05-22 Martin Rudalics <rudalics@gmx.at>
16554
16555 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
16556
165572007-05-21 Chong Yidong <cyd@stupidchicken.com>
16558
16559 * image.c (uncache_image): New function.
16560 (Fimage_refresh): New function.
16561
165622007-05-20 Jan Djärv <jan.h.d@swipnet.se>
16563
16564 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
16565
165662007-05-20 Nick Roberts <nickrob@snap.net.nz>
16567
16568 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
16569 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
16570
165712007-05-20 Nick Roberts <nickrob@snap.net.nz>
16572
16573 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
16574 conditional on [HAVE_GPM_H].
16575
165762007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
16577
16578 * syntax.c (skip_chars): Update syntax-table only after we checked that
16579 the new location is valid.
16580
165812007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16582
16583 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
16584 mac_get_window_bounds.
16585
165862007-05-20 Nick Roberts <nickrob@snap.net.nz>
16587
16588 * Makefile.in (LIBGPM): Allow it to be set from configure.
16589 If set then link Emacs with it.
16590
16591 * config.in: Regenerate.
16592
16593 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
16594 New externs.
16595
16596 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
16597 Include gpm.h.
16598 (handle_one_term_event, term_gpm): New externs.
16599
16600 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
16601 and allow it to be interrupted by SIGIO.
16602
16603 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
16604 (wait_reading_process_output): Wait on gpm_fd too.
16605 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
16606 (add_gpm_wait_descriptor_called_flag): New variable.
16607 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
16608
16609 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
16610 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
16611 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
16612 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
16613 (make_lispy_event): Add case GPM_CLICK_EVENT.
16614 (read_avail_input): Handle mouse input.
16615
16616 * term.c (write_glyphs_with_face): New function.
16617 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
16618 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
16619 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
16620 (mouse_face_face_id, term_gpm, pos_x, pos_y)
16621 (last_mouse_x, last_mouse_y): New variables.
16622 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
16623 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
16624 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
16625 (Fterm_close_connection): New functions.
16626 (term_init): Initialise mouse_face_window.
16627
166282007-05-19 Chong Yidong <cyd@stupidchicken.com>
16629
16630 * xdisp.c (redisplay_window): If first window line is a
16631 continuation line, recompute the new window start instead of
16632 recentering.
16633
166342007-05-18 Glenn Morris <rgm@gnu.org>
16635
16636 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
16637 Suggested by Alfred M. Szmidt <ams@gnu.org>.
16638
166392007-05-17 Glenn Morris <rgm@gnu.org>
16640
16641 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
16642
166432007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16644
16645 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
16646 dead key repeat and up events.
16647
166482007-05-14 Chong Yidong <cyd@stupidchicken.com>
16649
16650 * image.c (pbm_load): Check image size for monochrome pbm.
16651
166522007-05-13 Chong Yidong <cyd@stupidchicken.com>
16653
16654 * xterm.c (XTread_socket): Revert last change.
16655
166562007-05-12 Chong Yidong <cyd@stupidchicken.com>
16657
16658 * image.c (pbm_load): Correctly check image size for greyscale pbm.
16659
16660 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
16661
166622007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
16663
16664 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
16665 mixup (YAILOM).
16666
166672007-05-07 Andreas Schwab <schwab@suse.de>
16668
16669 * keymap.c (Flookup_key): Fix typo in last change.
16670
166712007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
16672
16673 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
16674 mapping for unibyte strings.
16675
166762007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16677
16678 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
16679 (Fx_popup_dialog) [MAC_OSX]: Likewise.
16680
166812007-04-29 Richard Stallman <rms@gnu.org>
16682
16683 * insdel.c (replace_range): For undo, record insertion first.
16684
166852007-04-29 Andreas Schwab <schwab@suse.de>
16686
16687 * lisp.h (VECSIZE): Use OFFSETOF.
16688
166892007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16690
16691 * xdisp.c (try_window_reusing_current_matrix): Fix number of
16692 disabled lines.
16693
166942007-04-28 Richard Stallman <rms@gnu.org>
16695
16696 * lread.c (read_escape): In a string, \s is always space.
16697
166982007-04-27 Jan Djärv <jan.h.d@swipnet.se>
16699
16700 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
16701
16702 * gtkutil.c (xg_update_menubar, create_menus): Create empty
16703 submenu for menu bar items.
16704
16705See ChangeLog.10 for earlier changes.
16706
16707;; Local Variables:
16708;; coding: utf-8
16709;; add-log-time-zone-rule: t
16710;; bug-reference-url-format: "http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=%s"
16711;; End:
16712
16713 Copyright (C) 2007, 2008 Free Software Foundation, Inc.
16714
16715 This file is part of GNU Emacs.
16716
16717 GNU Emacs is free software: you can redistribute it and/or modify
16718 it under the terms of the GNU General Public License as published by
16719 the Free Software Foundation, either version 3 of the License, or
16720 (at your option) any later version.
16721
16722 GNU Emacs is distributed in the hope that it will be useful,
16723 but WITHOUT ANY WARRANTY; without even the implied warranty of
16724 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16725 GNU General Public License for more details.
16726
16727 You should have received a copy of the GNU General Public License
16728 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
16729
16730;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40