* net/tramp.el (tramp-ipv6-regexp): The regexp shall cover also
[bpt/emacs.git] / src / ChangeLog
CommitLineData
acf20901
JB
12009-01-18 Juanma Barranquero <lekktu@gmail.com>
2
fff4e459
JB
3 * dbusbind.c (Fdbus_register_signal):
4 * process.c (conv_sockaddr_to_lisp):
5 * w32fns.c (Fw32_battery_status): Use empty_unibyte_string.
6
acf20901
JB
7 * callproc.c (Fgetenv_internal): Doc fix.
8
e7abcdfb
CY
92009-01-16 Chong Yidong <cyd@stupidchicken.com>
10
11 * xfns.c (x_make_gc): Don't allocate stipple member for gc_values;
12 it is not even used.
13
b60861e6
GM
142009-01-16 Glenn Morris <rgm@gnu.org>
15
16 * font.c (Ffont_variation_glyphs): Silence compiler.
17
8db52afe
JB
182009-01-15 Juanma Barranquero <lekktu@gmail.com>
19
20 * sound.c (SOUND_WARNING): Use _snprintf, for MSVC compatibility.
21 Reported by David Robinow <drobinow@gmail.com>.
22
4cddb209
KH
232009-01-15 Kenichi Handa <handa@m17n.org>
24
25 * coding.c (detect_coding_system): Fix handling of
26 null_byte_found.
27
f247f67b
JR
282009-01-14 Jason Rumney <jasonr@gnu.org>
29
30 * frame.c (x_set_font): Always store a font to the font parameter,
fff4e459 31 never a fontset. (Bug#1562)
f247f67b 32
f56a4450
KH
332009-01-14 Kenichi Handa <handa@m17n.org>
34
35 * coding.c (TWO_MORE_BYTES): New macro.
fff4e459 36 (detect_coding_utf_16): Use TWO_MORE_BYTES instead of ONE_MORE_BYTE.
f56a4450 37
4e99855e
CY
382009-01-13 Chong Yidong <cyd@stupidchicken.com>
39
40 * font.c (font_clear_prop): If clearing the family, clear the font
41 width index too.
42
fff4e459 43 * xfaces.c (Finternal_set_lisp_face_attribute): Revert last change.
4e99855e 44
24f01470
JB
452009-01-12 Juanma Barranquero <lekktu@gmail.com>
46
47 * sound.c [WINDOWSNT] (SOUND_WARNING): New macro.
48 (do_play_sound): Use it. Don't pass a hardcoded buffer size to mci
49 functions, use sizeof.
50
a41240a3
MR
512009-01-12 Martin Rudalics <rudalics@gmx.at>
52
53 * keyboard.c (read_char): Fix case where last_nonmenu_event
54 returned a bad value with submenus. (Bug#447)
55
944636b8
CY
562009-01-12 Chong Yidong <cyd@stupidchicken.com>
57
58 * xfaces.c (Finternal_set_lisp_face_attribute): If setting the
59 family, clear the font width index too.
60
0dad7c6f
JR
612009-01-11 Jason Rumney <jasonr@gnu.org>
62
63 * keyboard.c (cmd_error_internal): Exit when errors occur before
64 frame creation and not in daemon mode. (Bug#1836)
65
7c2363af
CY
662009-01-10 Chong Yidong <cyd@stupidchicken.com>
67
68 * xdisp.c (pos_visible_p): When iterator stops on the last glyph
69 of a display vector, backtrack.
70 (try_window_reusing_current_matrix): Check glyph type before
71 referencing charpos member.
72
97b1b294
EZ
732009-01-10 Eli Zaretskii <eliz@gnu.org>
74
75 Fix Bug #876:
76
77 * coding.c (inhibit_null_byte_detection): New variable.
78 (detect_coding, detect_coding_system): Don't pay attention to null
79 bytes if inhibit_null_byte_detection is non-zero.
80 (syms_of_coding) <inhibit-null-byte-detection>: Declare and
81 document.
82 <inhibit-iso-escape-detection>: Doc fix.
83
4624b6e3
JR
842009-01-09 Jason Rumney <jasonr@gnu.org>
85
86 * w32font.c (add_font_entity_to_list): Don't report unknown
fff4e459 87 Windows charset as any unrecognized registry. (Bug#1548)
4624b6e3
JR
88 Only report Unicode Plane 2 fonts as unicode-sip.
89
323b840c
CY
902009-01-09 Chong Yidong <cyd@stupidchicken.com>
91
92 * xfaces.c (Fx_font_family_list): Function deleted. Compatibility
93 version moved to faces.el.
94
95 * font.c (Ffont_family_list): Return a list of strings, not
96 symbols.
97
eba7400d
MR
982009-01-09 Martin Rudalics <rudalics@gmx.at>
99
100 * frame.c (x_set_frame_parameters): Remember requested value for
101 fullscreen before it's reset by the parameter handler.
102
4b09796d
GM
1032009-01-09 Glenn Morris <rgm@gnu.org>
104
105 * keyboard.c (last_command_char): For clarity, rename to...
106 (last_command-event): ... and update all users.
107 (last_input_char): For clarity, rename to...
108 (last_input_event): ... and update all users.
109 (last-command-char, last-input-char): Move to subr.el as aliases.
110 * cmds.c, commands.h: Update for last_command_char rename.
111
14ccea62
CY
1122009-01-08 Chong Yidong <cyd@stupidchicken.com>
113
114 * font.c (font_open_for_lface): Handle unspecified height
115 attribute.
116
5f004711
JR
1172009-01-08 Jason Rumney <jasonr@gnu.org>
118
119 * w32fns.c (Vx_pointer_shape, Vx_nontext_pointer_shape)
120 (Vx_mode_pointer_shape, Vx_window_horizontal_drag_shape)
121 (Vx_hourglass_pointer_shape, Vx_sensitive_text_pointer_shape):
122 Don't declare.
fff4e459 123 (syms_of_w32fns): Don't define x-pointer-shape variable. (Bug#1485)
5f004711
JR
124 (x_create_tip_frame) [GLYPH_DEBUG]: Enable image debugging code.
125
b71f6f73
KH
1262009-01-07 Kenichi Handa <handa@m17n.org>
127
50b06221 128 * fileio.c (Finsert_file_contents): In the case of replace,
f56a4450 129 remember the coding system used for decoding in
50b06221
KH
130 coding_system (Bug#1039).
131
b71f6f73 132 * coding.c (decode_coding_utf_8): Check byte_after_cr before
79a97217 133 breaking the loop. (Bug#870)
b71f6f73
KH
134 (decode_coding_utf_16, decode_coding_emacs_mule)
135 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
136 (decode_coding_charset): Likewise.
137
56f668f7
MR
1382009-01-05 Martin Rudalics <rudalics@gmx.at>
139
140 * frame.c (x_set_frame_parameters): Make sure height (width) get
141 applied when fullwidth (fullheight) is set. (Bug#1522)
142
5da9424d
JB
1432009-01-04 Juanma Barranquero <lekktu@gmail.com>
144
145 * w32.c: Use 64-bit arithmetic to do FILETIME conversions. (Bug#1766)
146 (utc_base): Declare as ULONGLONG, not long double.
147 (convert_time_raw): Delete.
148 (FILETIME_TO_U64, U64_TO_LISP_TIME): New macros.
149 (initialize_utc_base): New function.
150 (convert_time): Use FILETIME_TO_U64, initialize_utc_base.
151 (convert_from_time_t): Use initialize_utc_base; compute result with
152 64-bit arithmetic.
153 (process_times): Use FILETIME_TO_U64, U64_TO_LISP_TIME.
154
c4605e09
EZ
1552009-01-03 Eli Zaretskii <eliz@gnu.org>
156
9acef61c 157 * process.c (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess)
c4605e09
EZ
158 (Qttname, Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime)
159 (Qcutime, Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs)
160 (Quser, Qgroup, Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime)
161 [!subprocesses]: Define.
162 (syms_of_process) [!subprocesses]: Intern and staticpro them.
163 (Flist_system_processes, Fsystem_process_attributes)
164 [!subprocesses]: Call list_system_processes and
165 system_process_attributes instead of returning Qnil.
166
9acef61c
JB
167 * dosfns.c (system_process_attributes, list_system_processes):
168 New functions.
c4605e09
EZ
169
170 * vm-limit.c (ret_lim_data) [MSDOS]: New function.
171
172 * sysdep.c (list_system_processes, system_process_attributes) [MSDOS]:
173 Don't use the default (no-op) implementation.
174
8b7d0a16
JR
1752009-01-03 Jason Rumney <jasonr@gnu.org>
176
a6d46bc1
JR
177 * keyboard.c (parse_modifiers_uncached): Wheel events are
178 clicks (bug#687).
179
8b7d0a16
JR
180 * w32term.c (x_query_colors, x_query_color): New functions.
181
182 * image.c (x_to_xcolors, png_load): Eliminate W32 specific code.
183 (svg_load_image): Cast returned pointers from dynamically loaded
184 functions. Eliminate W32 specific code.
185
bfe11752
DN
1862009-01-02 Dan Nicolaescu <dann@ics.uci.edu>
187
89e2438a
DN
188 * nsfns.m (x_set_foreground_color, x_set_background_color)
189 (x_set_cursor_color, x_set_icon_name, x_explicitly_set_name)
190 (x_set_title, x_set_icon_type, x_set_cursor_type): Rename to use
191 x_ prefix instead of ns_. Update references.
192 (syms_of_nsfns): Add a FIXME comment.
193
194 * nsterm.m (x_set_cursor_type): New prototype.
195 (setValuesFromPanel): Use it instead of the old ns_ prefixed name.
196
bfe11752
DN
197 * sysdep.c (system_process_attributes): Provide Qtime and Qctime
198 for Solaris instead of incorrectly providing Qutime and Qcutime.
199
031da700
EZ
2002009-01-02 Eli Zaretskii <eliz@gnu.org>
201
202 * w32.c (process_times): Compute sum of utime and stime.
203 (system_process_attributes): Add Qtime to the alist.
204
205 * sysdep.c (system_process_attributes): Compute Qtime and Qctime
206 and add them to the alist.
207
208 * process.c (top level) <Qtime, Qctime>: New variables.
209 (syms_of_process): staticpro them.
210 (Fsystem_process_attributes): Add their documentation to the doc
211 string.
212
213 * process.h: Declare Qtime and Qctime.
214
df23bf08
JR
2152009-01-02 Jason Rumney <jasonr@gnu.org>
216
9acef61c 217 * image.c (Qgobject): New symbol.
df23bf08
JR
218 (syms_of_image): Initialize it.
219 (init_svg_functions): Load some functions from gobject library.
220
5bbdf7aa
DN
2212009-01-01 Dan Nicolaescu <dann@ics.uci.edu>
222
223 * frame.c (make_terminal_frame): Remove redundant code and useless
224 block.
225
63136da6
AS
2262009-01-01 Andreas Schwab <schwab@suse.de>
227
228 * process.c (conv_sockaddr_to_lisp): Add workaround for
229 getsockname bug on BSD.
230
9ef69046
CY
2312009-01-01 Chong Yidong <cyd@stupidchicken.com>
232
d6fafbe0
CY
233 * xfns.c (x_create_tip_frame): Set border width of the X window.
234
9ef69046
CY
235 * xfaces.c (Finternal_set_lisp_face_attribute): Improve error
236 message.
237
f9c34147
JR
2382009-01-01 Jason Rumney <jasonr@gnu.org>
239
9acef61c 240 * w32term.c (x_new_font): Return font object, not fontset. (Bug#119)
f9c34147
JR
241 Don't block input, as per earlier xterm.c changes.
242
f5497e45
AR
2432008-12-31 Adrian Robert <Adrian.B.Robert@gmail.com>
244
245 * nsfns.m (ns_appkit_version_str): Rename from ns_appkit_version.
246 (ns_appkit_version_int): New function.
247 (x-server-version): Use ns_appkit_version_int and follow 21+
248 convention of returning 3 integers.
249
c19cab20
KH
2502008-12-30 Kenichi Handa <handa@m17n.org>
251
252 * character.h (CHAR_VARIATION_SELECTOR_P): New macro.
253 (CHAR_SURROGATE_PAIR_P): New macro.
254
255 * font.h (struct font_driver): New member get_variation_glyphs.
256
9acef61c 257 * font.c (font_range): Don't require a font for a variation selector.
c19cab20
KH
258 (Ffont_variation_glyphs): New function.
259 (syms_of_font): Defsubr it.
260
261 * ftfont.c (ftfont_driver): Set the member get_variation_glyphs to
262 ftfont_variation_glyphs.
263 (setup_otf_gstring): New function.
264 (ftfont_drive_otf): Use it.
265 (ftfont_shape_by_flt): Handle variation selector.
266 (ftfont_variation_glyphs): New function.
267
28cd591f
MR
2682008-12-30 Martin Rudalics <rudalics@gmx.at>
269
270 * frame.c (Vemacs_iconified): Remove.
271
7f714baf
JR
2722008-12-30 Jason Rumney <jasonr@gnu.org>
273
274 * frame.c (store_frame_param, x_get_arg): Enable newer code on
9acef61c 275 WINDOWSNT too, as related changes have already been synced. (Bug#117)
7f714baf 276
9d2d22ab
CY
2772008-12-30 Chong Yidong <cyd@stupidchicken.com>
278
279 * indent.c (Fvertical_motion): Don't advance iterator if we have
280 reseated to the desired position.
281
282 * xdisp.c (move_it_to): Handle GET_FROM_STRETCH method when
283 checking for pos match.
284
545312c2
KH
2852008-12-30 Kenichi Handa <handa@m17n.org>
286
1ede3eb6
KH
287 * insdel.c (copy_text): To convert a non-ASCII char to unibyte,
288 just get the low 8-bit of the code.
289
545312c2
KH
290 * font.c (font_intern_prop): Validate str as multibyte.
291
bd7bbf29
DN
2922008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
293
31e0750e
DN
294 * dispextern.h (struct face): Move lface and hash from the middle
295 of bitfields.
296
bd7bbf29
DN
297 * Makefile.in (INTERVALS_H): Rename from INTERVAL_SRC, update all users.
298
b5672e7c
DN
2992008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
300
301 * Makefile.in (INTERVAL_SRC): Also depend on dispextern.h.
302 (coding.o, dispnew.o, keymap.o, msdos.o): Depend on INTERVAL_SRC
303 instead of intervals.h.
304
d704470f
AS
3052008-12-26 Andreas Schwab <schwab@suse.de>
306
307 * keymap.c (map_keymap_char_table_item): Make a copy of KEY if it is a
308 cons.
309
54b33868
MR
3102008-12-26 Martin Rudalics <rudalics@gmx.at>
311
312 * textprop.c (Qminibuffer_prompt): New variable.
313 (syms_of_textprop): Initialize it.
314 * callint.c (Fcall_interactively): For `c', `k', and `K' prompt
315 in minibuffer-prompt face. (Bug#1662)
316
40b615d6
JR
3172008-12-25 Jason Rumney <jasonr@gnu.org>
318
319 * buffer.c (Fbuffer_swap_text): Use POINTER_TYPE.
320
baae5c2d
JR
3212008-12-24 Jason Rumney <jasonr@gnu.org>
322
323 * ralloc.c (r_alloc_reset_variable): New function.
324
325 * buffer.c (Fbuffer_swap_text) [REL_ALLOC]: Reset ralloc's internal
9acef61c 326 record of what points where. (Bug#716)
baae5c2d 327
a9051c88
DN
3282008-12-22 Dan Nicolaescu <dann@ics.uci.edu>
329
330 * minibuf.c (read_minibuf): Follow the non-interactive case when
331 running as a daemon, before detaching.
332
8b146312
AS
3332008-12-22 Andreas Schwab <schwab@suse.de>
334
335 * buffer.c (init_buffer): Use realloc instead of xrealloc.
336 * gtkutil.c (free_widget_value): Use xfree instead of free.
337
56f2de10
MR
3382008-12-22 Martin Rudalics <rudalics@gmx.at>
339
340 * frame.c (delete_frame): New function derived from
341 Fdelete_frame to handle Qnoelisp value for FORCE argument.
342 Delete last frame iff FORCE equals Qnoelisp. (Bug#1450)
343 (Fdelete_frame): Call delete_frame. Remove line from doc-string
344 saying that FORCE non-nil doesn't run `delete-frame-functions'.
345 * frame.h: Extern delete_frame.
346 * window.c (window_loop):
347 * terminal.c (delete_terminal):
348 * xterm.c (x_connection_closed):
349 * xfns.c (Fx_hide_tip):
9acef61c 350 * w32fns.c (Fx_hide_tip): Call delete_frame instead of Fdelete_frame.
56f2de10 351
1fc200d6
JR
3522008-12-21 Jason Rumney <jasonr@gnu.org>
353
354 * w32uniscribe.c (uniscribe_encode_char): Return FONT_INVALID_CHAR
355 when character maps to .notdef character.
356
5e252df2
SM
3572008-12-21 Stefan Monnier <monnier@iro.umontreal.ca>
358
359 * keyboard.c (cmd_error_internal): Don't exit in daemon mode, bug#1310.
360
99b72cc4
JR
3612008-12-20 Jason Rumney <jasonr@gnu.org>
362
363 * frame.c (Fmake_terminal_frame): Raise an error when called from
9acef61c 364 a graphical frame on Windows. (Bug#1325)
99b72cc4 365
acc49a52
JD
3662008-12-20 Jan Djärv <jan.h.d@swipnet.se>
367
368 * frame.c (Fdelete_frame): Set f->menu_bar_vector to Qnil.
369
6ea15123
CY
3702008-12-20 Chong Yidong <cyd@stupidchicken.com>
371
372 * minibuf.c (Fread_buffer): Doc fix.
373
b2dab6c8
JR
3742008-12-20 Jason Rumney <jasonr@gnu.org>
375
54ea0c87 376 * fileio.c (Fexpand_file_name): Do not allow ../ to go beyond the
9acef61c 377 server name in UNC paths. (Bug#719)
54ea0c87 378
b2dab6c8 379 * coding.c (decode_coding): Clear chars_at_source flag when using
9acef61c 380 charbuf. (Bug#1035)
b2dab6c8 381
6d1921be
DN
3822008-12-19 Daniel Engeler <engeler@gmail.com>
383
384 * sysdep.c (serial_configure): Fix typo.
385
53934c98
DN
3862008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
387
388 * sysdep.c: Include alloca.h.
f4f634e8
DN
389 (system_process_attributes): Add implementation for Solaris.
390
391 * s/sol2-10.h (HAVE_PROCFS, _STRUCTURED_PROC): New defines.
53934c98 392
06e111a6
DN
3932008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
394
395 Reorganize implementation of Flist_system_processes and
396 Fsystem_process_attributes. No functional changes.
397 * process.c: Don't #include pwd.h, grp.h and limits.h.
398 (Flist_system_processes): Just call list_system_processes.
399 (Fsystem_process_attributes): Just call system_process_attributes.
400 (procfs_list_system_processes, time_from_jiffies)
401 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
402 (procfs_get_total_memory, procfs_system_process_attributes): Move ...
403
404 * sysdep.c: ... here. Include pwd.h, grp.h and limits.h.
405 (list_system_processes): Rename from
406 procfs_list_system_processes. Enclose in #ifdef HAVE_PROCFS.
407 Provide a do nothing implementation.
408 (system_process_attributes): Rename from
409 procfs_list_system_processes.
410 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
9acef61c 411 (procfs_get_total_memory): Enclose in #ifdef GNU_LINUX.
06e111a6
DN
412
413 * w32.c (list_system_processes): Rename from
414 w32_list_system_processes.
415 (system_process_attributes): Rename from
416 w32_system_process_attributes.
417
418 * s/gnu-linux.h (LISTPROC, PROCATTR): Remove.
419
420 * process.h (w32_list_system_processes)
421 (w32_system_process_attributes): Remove.
422 (list_system_processes, system_process_attributes): New
423 prototypes.
424
6a705b23
KH
4252008-12-19 Kenichi Handa <handa@m17n.org>
426
427 * xfont.c (xfont_decode_coding_xlfd): New function.
428 (xfont_encode_coding_xlfd): New function.
429 (xfont_list_pattern): Decode XLFD by iso-8859-1.
430 (xfont_list): Decode and encode XLFD by iso-8859-1.
431 (xfont_match): Likewise.
432 (xfont_list_family): Likewise.
433 (xfont_open): Likewise.
434
d66c0241 435 * ftfont.c (ftfont_open): Generate a multibyte string if given
6a705b23
KH
436 names are utf-8.
437
d66c0241 438 * xftfont.c (xftfont_open): Generate a multibyte string if given
6a705b23
KH
439 names are utf-8.
440
5a130941
JD
4412008-12-18 Jan Djärv <jan.h.d@swipnet.se>
442
443 * gtkutil.c (xg_frame_resized): Remove check if rows/columns have
444 changed.
bfd20325
JD
445 (xg_tool_bar_proxy_callback): Put focus on the frame after we have
446 clicked on a detached tool bar button.
5a130941 447
fd95644b
DN
4482008-12-18 Dan Nicolaescu <dann@ics.uci.edu>
449
450 * emacs.c (main): Print and error and exit when no data is read
451 from the pipe.
452
e6eee6ae
JR
4532008-12-17 Jason Rumney <jasonr@gnu.org>
454
455 * w32font.c (w32font_has_char): Always return -1.
456
a35dd56b
KH
4572008-12-16 Kenichi Handa <handa@m17n.org>
458
459 * font.c (font_open_entity): Fix previous change.
460
0e3635c2
DN
4612008-12-16 Dan Nicolaescu <dann@ics.uci.edu>
462
463 * process.c: Include <limits.h>.
464
d4835507 4652008-12-16 Chetan Pandya <pandyacus@sbcglobal.net> (tiny change)
b5356c39
CY
466
467 * font.c (font_update_drivers): Fix mistake in reconstructing the
468 driver list.
469
4702008-12-16 Chong Yidong <cyd@stupidchicken.com>
471
472 * font.c (font_clear_cache): Fix format of font cache data.
473
e2cbc401
CY
4742008-12-15 Chong Yidong <cyd@stupidchicken.com>
475
476 * xftfont.c (xftfont_open): Free Xft font pattern if
477 XftFontOpenPattern fails.
478
479 * xterm.c (x_free_frame_resources): Remove extraneous call to
480 free_frame_faces.
481
b131d535
CY
4822008-12-13 Chong Yidong <cyd@stupidchicken.com>
483
484 * xterm.c (x_delete_display): Move xim_close_dpy call to
485 x_delete_terminal.
486 (x_delete_terminal): Call xim_close_dpy.
487
e6df5336
JR
4882008-12-13 Jason Rumney <jasonr@gnu.org>
489
490 * w32font.c (intern_font_name): New function.
491 (add_font_name_to_list, w32_enumfont_pattern_entity): Use it.
492 (w32font_open_internal, Fx_select_font): Decode font name.
493 (fill_in_logfont, list_all_matching_fonts): Encode font name.
494
495 * w32font.h (intern_font_name): Declare new function.
496
497 * w32uniscribe.c (add_opentype_font_name_to_list):
498 Use intern_font_name.
499
20d68145
CY
5002008-12-13 Chong Yidong <cyd@stupidchicken.com>
501
9f2554de
CY
502 * frame.c (Fdelete_frame): Call free_font_driver_list.
503
3d9bec9a
CY
504 * font.c (free_font_driver_list): Implement missing function.
505
20d68145
CY
506 * w32term.c (w32_term_init): Don't initialize the image cache
507 here; it will be done in init_frame_faces.
508
509 * xterm.h (struct xim_inst_t): Definition moved from xterm.c.
510 (struct x_display_info): Remove unused member null_pixel. New
511 member xim_callback_data.
512
513 * xterm.c (struct xim_inst_t): Definition moved to xterm.h.
514 (xim_initialize): Save pointer to callback function data.
515 (xim_close_dpy): Free callback function data. Call XCloseIM,
516 reverting 2008-11-04 change by David Smith.
517 (x_term_init): Don't initialize the image cache here; it will be
518 done in init_frame_faces. Remove ancient "null_pixel" cruft.
519 (x_delete_display): Free x_dnd_atoms member.
520
96f9306b
KH
5212008-12-13 Kenichi Handa <handa@m17n.org>
522
6dec9044
JB
523 * font.c (font_rescale_ratio): Moved from xfaces.c.
524 Argument type changed. Handle a font-spec too.
96f9306b 525 (font_score): Check Vface_font_rescale_alist.
6dec9044 526 (font_open_entity): Likewise. (Bug#1547)
96f9306b
KH
527
528 * xfaces.c (font_rescale_ratio): Moved to font.c.
529
8d5b4964
CY
5302008-12-13 Chong Yidong <cyd@stupidchicken.com>
531
532 * xfns.c (Fx_wm_set_size_hint): Check if the frame is an X frame.
533
e6df5336
JR
5342008-12-12 Jason Rumney <jasonr@gnu.org>
535
536 * w32fns.c (x_display_info_for_name, Fx_open_connection): Set
537 Vwindow_system_version to the real w32 major version.
538
97c6058a
DN
5392008-12-12 Dan Nicolaescu <dann@ics.uci.edu>
540
541 * term.c (init_tty): Move setting the terminal name before the
542 potential user: maybe_fatal.
543
ec4e88d7
CY
5442008-12-11 Chong Yidong <cyd@stupidchicken.com>
545
d4835507
JB
546 * term.c (tty_free_frame_resources): Renamed from delete_tty_output;
547 all callers changed. Call free_frame_faces to free the face cache.
ec4e88d7 548
b4233ec9
JR
5492008-12-11 Jason Rumney <jasonr@gnu.org>
550
8ec71e23 551 * w32font.c (fill_in_logfont): Don't assume symbol script means
9acef61c 552 SYMBOL_CHARSET. (Bug#547)
8ec71e23 553
b4233ec9 554 * w32uniscribe.c (uniscribe_encode_char): Increase glyph buffer
9acef61c 555 size for surrogates. (Bug#1096, bug#872)
b4233ec9 556
011a0143
JB
5572008-12-11 Juanma Barranquero <lekktu@gmail.com>
558
559 * w32proc.c (Fw32_get_locale_info): Decode long form of locale name.
560
3c309f34
JB
5612008-12-11 Juanma Barranquero <lekktu@gmail.com>
562
563 * process.c (Fsystem_process_attributes, syms_of_process):
564 Fix typo in name of Ssystem_process_attributes.
565 Reported by Ulrich Mueller <ulm@kph.uni-mainz.de>.
566
fedc6ab5
JB
5672008-12-11 Juanma Barranquero <lekktu@gmail.com>
568
569 * syntax.c (Fmodify_syntax_entry): Doc fix.
570
ba3de0e8
JB
5712008-12-10 Juanma Barranquero <lekktu@gmail.com>
572
573 * font.c (Ffont_spec): Move usage to end of docstring.
574
174f1c74
JR
5752008-12-10 Jason Rumney <jasonr@gnu.org>
576
577 * w32font.c (Qcham): New symbol.
578 (font_supported_scripts): Add cham, and comments for other new
579 scripts in bitfield from OpenType spec.
9d32f818
JR
580 (add_font_entity_to_list): Limit unicode-sip fonts to those that
581 contain characters beyond the bmp.
174f1c74 582
7b649478
KH
5832008-12-10 Kenichi Handa <handa@m17n.org>
584
585 * ftfont.c (fc_charset_table): Add "unicode-sip".
2ae37cf0 586 (ftfont_spec_pattern): Lookup fc_charset_table for the registry
7b649478
KH
587 Qunicode_sip.
588
2133e2d1
JB
5892008-12-10 Juanma Barranquero <lekktu@gmail.com>
590
591 * coding.c (QCdefault_char): Rename from QCdefalut_char.
592 (Fcoding_system_put): Use QCdefault_char.
593 (syms_of_coding): Set QCdefault_char, not QCdefalut_char.
594
9af886ee
CY
5952008-12-09 Chong Yidong <cyd@stupidchicken.com>
596
74d819eb
CY
597 * xftfont.c (syms_of_xftfont): Fix typo.
598
4ccfa1c0 599 * buffer.c (Fbuffer_swap_text): Signal error if swapping a dead buffer.
9af886ee 600
7c19d3ae
DN
6012008-12-08 Dan Nicolaescu <dann@ics.uci.edu>
602
603 * emacs.c (main): Close daemon_pipe on exec.
604
567826bb
CY
6052008-12-08 Chong Yidong <cyd@stupidchicken.com>
606
607 * termchar.h (struct tty): New members termcap_term_buffer and
608 termcap_strings_buffer.
609
610 * term.c (encode_terminal_code): Free any previous memory blocks
4ccfa1c0 611 before calling xmalloc for encode_terminal_src or encode_terminal_dst.
567826bb
CY
612 (maybe_fatal): Buffer argument deleted. Don't free buffer here.
613 All callers changed.
614 (init_tty): Store termcap data and string buffers in new struct
615 tty members termcap_term_buffer and termcap_strings_buffer.
616 (delete_tty): Free them.
4ccfa1c0 617 (syms_of_term): Initialize encode_terminal_src and encode_terminal_dst.
567826bb 618
aa96c42b
SZ
6192008-12-07 Seiji Zenitani <zenitani@mac.com>
620
621 * nsfns.m (ns_set_background_color): Remove code duplication.
4ccfa1c0 622 It was a substitute for face-transparency on OS X 10.3.
aa96c42b 623
b7e1d896
CY
6242008-12-06 Chong Yidong <cyd@stupidchicken.com>
625
626 * coding.c (make_conversion_work_buffer): Disable buffer
627 modification hooks in the work buffer.
628
b5ec91a5
EZ
6292008-12-05 Eli Zaretskii <eliz@gnu.org>
630
631 * process.c (procfs_system_process_attributes): If `nread' has a
632 negative value, assign zero to it.
633
a5d2a52b
CY
6342008-12-05 Chong Yidong <cyd@stupidchicken.com>
635
68c5540b 636 * eval.c (Vdebug_on_error): Doc fix.
a5d2a52b 637
7bf1bb21
KH
6382008-12-05 Kenichi Handa <handa@m17n.org>
639
640 * ftfont.c (ftfont_shape_by_flt): Use "combining" flt if the
641 second character is a combining character.
642
2fdc7d00
EZ
6432008-12-05 Eli Zaretskii <eliz@gnu.org>
644
645 * process.c (procfs_system_process_attributes): Don't use cmd,
646 cmdsize, and q without initializing them first.
647
bf6bfba8
JR
6482008-12-04 Jason Rumney <jasonr@gnu.org>
649
650 * w32font.c (w32font_draw): Initialize orig_clip before getting
651 it, and delete it when finished.
652
a3b1a468
DN
6532008-12-04 Dan Nicolaescu <dann@ics.uci.edu>
654
655 * keyboard.c (kbd_buffer_get_event): Follow the non-interactive
656 case when running as a daemon before detaching.
657
8b8be8eb
JB
6582008-12-03 Juanma Barranquero <lekktu@gmail.com>
659
805f2638 660 * w32.c (init_environment): Don't unload library shell32.dll.
8b8be8eb 661
b1bde622
KH
6622008-12-03 Kenichi Handa <handa@m17n.org>
663
e500c47d
KH
664 * font.c (font_at): Set `multibyte' at first.
665
ca516334
KH
666 * coding.c (decode_coding_charset): Check type of an element of
667 vector VALIDS.
7bf1bb21 668 (encode_coding_emacs_mule): Be sure to set `code'.
ca516334 669
4ccfa1c0 670 * fontset.c (face_for_char): Handle invalid charset property correctly.
b1bde622
KH
671 (font_for_char): Likewise.
672
1e5ecd37
CY
6732008-12-03 Chong Yidong <cyd@stupidchicken.com>
674
d5b01609 675 * font.c (Fopen_font): Compute pixel size correctly.
ba207571
CY
676 (font_update_lface): Handle fonts with corrupted size specs,
677 i.e. non-int and non-float.
d5b01609 678
11e3a6e4 679 * ftfont.c (ftfont_match): Initialize entity variable.
9a48c8cb 680 (ftfont_resolve_generic_family): Avoid using uninitialized var.
8adb3a3b 681 (ftfont_list_family): Initialize list var earlier.
11e3a6e4 682
ab06788b
CY
683 * xselect.c (Fx_get_cut_buffer_internal): Fix memory leak.
684
1e5ecd37 685 * xterm.c (x_draw_glyph_string): Fall back on
0cff82ab 686 underline_minimum_offset for underline position.
1e5ecd37 687
63c125ab
DN
6882008-12-03 Dan Nicolaescu <dann@ics.uci.edu>
689
690 * keyboard.c (read_char_help_form_unwind): Specify the type for ARG.
691
692 * character.c (c_string_width): Specify the type for LEN.
693
3a8406e1
KH
6942008-12-03 Kenichi Handa <handa@m17n.org>
695
4ccfa1c0 696 * coding.c (decode_coding_utf_16): Initialize consumed_chars_base to 0.
453b38f0 697 (decode_coding_utf_8): Likewise.
4ccfa1c0 698 (detect_coding_system): Initialize utf_16_le_eol to -1, val to Qnil.
4533845d 699 (produce_chars): Initialize consumed_chars to 0.
3a8406e1 700
651df7d9
CY
7012008-12-02 Chong Yidong <cyd@stupidchicken.com>
702
703 * keyboard.c (make_lispy_position): Only use PT if the selected
704 window is current.
705
1f625c6c
AS
7062008-12-02 Andreas Schwab <schwab@suse.de>
707
f7741ce9
AS
708 * font.c (font_unparse_fcname): Fix use of uninitialized variable.
709
1f625c6c
AS
710 * doprnt.c (doprnt1): Fix size of charbuf.
711
92bc2678
CY
7122008-12-02 Chong Yidong <cyd@stupidchicken.com>
713
714 * keyboard.c (timer_check): Revert last change.
715
93b9e8cc
JB
7162008-12-02 Juanma Barranquero <lekktu@gmail.com>
717
718 * makefile.w32-in ($(BLD)/w32console.$(O)): Fix silly, silly typo.
719
fd7a37d5
JB
7202008-12-01 Juanma Barranquero <lekktu@gmail.com>
721
722 * makefile.w32-in: Update dependencies.
723 (CONFIG_H): Add $(EMACS_ROOT)/nt/inc/sys/time.h.
724
c115043b
AS
7252008-12-01 Andreas Schwab <schwab@suse.de>
726
727 * font.c (register_font_driver): Use xmalloc.
728 (font_put_frame_data): Likewise.
729
f5668d2a
CY
7302008-12-01 Chong Yidong <cyd@stupidchicken.com>
731
860d96be
CY
732 * xfaces.c (realize_x_face): Make abort condition clearer.
733
f5668d2a
CY
734 * gtkutil.c (update_frame_tool_bar): Initialize variable.
735
379c17e7
CY
7362008-11-30 Chong Yidong <cyd@stupidchicken.com>
737
738 * keyboard.c (timer_check): After a timer runs, ensure that the
739 selected window's buffer is current.
740
35f36d65
JB
7412008-11-30 Juanma Barranquero <lekktu@gmail.com>
742
f952c61c
JB
743 * makefile.w32-in ($(BLD)/abbrev.$(O)): Remove.
744 It was accidentally restored by the Unicode merge.
745
35f36d65
JB
746 * w32proc.c (Fw32_get_locale_info): Fix typo in docstring.
747
b23077df
JB
7482008-11-29 Juanma Barranquero <lekktu@gmail.com>
749
750 * w32proc.c: Include "coding.h".
751 (Fw32_short_file_name): Encode filename passed to Windows API.
752 (Fw32_long_file_name): Encode filename passed to Windows API and
753 decode back the result. (Bug#1433)
754
b8ebe9dd
KH
7552008-11-29 Kenichi Handa <handa@m17n.org>
756
8cc53f96
KH
757 * charset.h (CHAR_CHARSET_P): Check if the encoder is loaded or
758 not before accessing it.
759
b8ebe9dd
KH
760 * charset.c (Fdefine_charset_internal): After calculating
761 min_char, max_char, and fastmap, copy the charset structure again.
762 (encode_char): Fix the previous change.
763
59bc82c0
SZ
7642008-11-28 Seiji Zenitani <zenitani@mac.com>
765
766 * frame.c (x_set_alpha) [NS_IMPL_COCOA]: Call x_set_frame_alpha.
767
768 * nsfns.m (ns_frame_parm_handlers): Set alpha handler.
769
770 * nsterm.m (x_set_frame_alpha): New function.
771
32247e3d
EZ
7722008-11-27 Eli Zaretskii <eliz@gnu.org>
773
774 * xfaces.c (Fx_font_family_list, syms_of_xfaces): Fix last change.
775
b003e5ff
JB
7762008-11-27 Juanma Barranquero <lekktu@gmail.com>
777
778 * w32font.c (add_font_entity_to_list): Pass the right LOGFONT
779 pointer to check_face_name.
780
708550f5
KH
7812008-11-27 Kenichi Handa <handa@m17n.org>
782
783 * category.h (SET_CATEGORY_SET): Call set_category_set.
784 (set_category_set): Extern it.
785
786 * category.c (hash_get_category_set): New function.
787 (Fmodify_category_entry): Adjusted for the change of
788 char_table_ref_and_range. Call hash_get_category_set to get a
789 category set to store in the table.
790
791 * character.h (MAYBE_UNIFY_CHAR): Call maybe_unify_char instead of
792 Funify_charset.
793
2ae37cf0 794 * charset.h (enum charset_method): Delete CHARSET_METHOD_MAP_DEFERRED.
708550f5
KH
795 (DECODE_CHAR): Check if the decoder vector is ready.
796 (ENCODE_CHAR): Check if the encoder char-table is ready.
797 (maybe_unify_char): Extern it.
798
799 * charset.c (Vchar_unified_charset_table): Delete it.
800 (inhibit_load_charset_map): New variable.
801 (temp_charset_work): New variable.
802 (SET_TEMP_CHARSET_WORK_ENCODER, GET_TEMP_CHARSET_WORK_ENCODER)
803 (SET_TEMP_CHARSET_WORK_DECODER, GET_TEMP_CHARSET_WORK_DECODER):
804 New macros.
805 (load_charset_map): Meaning of control_flag changed. If
806 inhibit_load_charset_map is nonzero, setup a table in
807 temp_charset_work.
808 (load_charset): New argument control_flag.
809 (map_charset_for_dump): New function.
810 (map_charset_chars): If inhibit_load_charset_map is nonzero, use
811 map_charset_for_dump.
812 (Fdefine_charset_internal): If the charset method is MAP, load
813 mapping tables by calling load_charset.
814 (Funify_charset): Don't load a mapping table but directly set
815 Vchar_unify_table.
816 (maybe_unify_char): New function.
817 (decode_char): Don't handle the deleted method MAP_DEFERRED.
818 Handle the case of inhibit_load_charset_map being nonzero.
819 (encode_char): Don't handle the deleted method MAP_DEFERRED.
820 Handle the case of inhibit_load_charset_map being nonzero.
821 (Fclear_charset_maps): Just free temp_charset_work.
822 (syms_of_charset): Make `inhibit-load-charset-map' a Lisp
823 variable.
824
825 * chartab.c (sub_char_table_ref_and_range): Adjusted for the
826 change of char_table_ref_and_range.
827 (char_table_ref_and_range): Change the meaning of argument FROM
828 and TO. Now the caller must provide initial values for *FROM
829 and *TO.
830
831 * fontset.c (fontset_add): Adjusted for the change of
832 char_table_ref_and_range.
833 (fontset_get_font_group): Likewise.
834 (Ffontset_info): Likewise.
835
836 * keymap.c (describe_vector): Adjusted for the change of
837 char_table_ref_and_range. For char-table, put boundary between
838 non-ASCII and 8-bit characters.
839
840 * print.c (print_object): For bool-vector, delete unnecessary
841 check of ASCII_BYTE_P.
842
9196133b
JR
8432008-11-26 Jason Rumney <jasonr@gnu.org>
844
845 * w32font.c (w32font_open_internal): Don't include external
9acef61c 846 leading in font height. (Bug#879)
9196133b 847
9f688acf
GM
8482008-11-26 Glenn Morris <rgm@gnu.org>
849
850 * xfaces.c (Fx_font_family_list): Replace lisp/term/pc-win.el
851 redefinition with ifdef. (Bug#1383)
852
90d19aff
AR
8532008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
854
855 * nsterm.m (ns_get_color): Handle long hex strings (fixes bug #1044).
856
4ccfa1c0 8572008-11-24 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
90d19aff
AR
858
859 * nsterm.m (-otherMouseDown:, -otherMouseUp:, -otherMouseDragged):
860 New EmacsView methods.
861 (EV_UDMODIFIERS, EV_BUTTON): Add OtherMouse constants.
862 Fixes bug #1048,1357,1414.
863
8642008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
865
866 Fix bug #1362.
867 * image.c (x_clear_image_1): Do not free background under HAVE_NS, it
868 is not an indexed color.
869 * nsterm.m (free_indexed_color): Add argument checking.
870 * nsfns.m: Move config.h to before system includes (advised by Dan N.).
871
e7d5ecb3
CY
8722008-11-24 Chong Yidong <cyd@stupidchicken.com>
873
874 * minibuf.c (Fcompleting_read, Vminibuffer_completion_confirm):
875 Document confirm-after-completion value for
876 minibuffer-completion-confirm.
877
c285743c
JR
8782008-11-24 Jason Rumney <jasonr@gnu.org>
879
880 * w32font.c (check_face_name): Use xstrcasecmp. Avoid compiler
881 warning.
882
b0857706
JR
8832008-11-23 Jason Rumney <jasonr@gnu.org>
884
885 * w32uniscribe.c (uniscribe_encode_char): Ensure context is
886 restored before returning.
887
888 * w32font.c (check_face_name): New function.
889 (add_font_entity_to_list): Use it to filter out common substituted
9acef61c 890 fonts. (Bug#642)
b0857706 891
ee50ff07
MR
8922008-11-22 Martin Rudalics <rudalics@gmx.at>
893
894 * buffer.c (Fswitch_to_buffer): Reword and mention new option
895 confirm-nonexistent-file-or-buffer in doc-string.
896
b8ff72fa
SM
8972008-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
898
899 * buffer.c (Fbuffer_swap_text): Remove redundant marker manipulation.
900 Fix copy/paste typo. Add checks.
901
cee53ed4
KH
9022008-11-21 Kenichi Handa <handa@m17n.org>
903
904 * coding.c (detect_coding_iso_2022): Reject invalid composition
905 sequence.
906 (DECODE_COMPOSITION_START): If the current source is the last
907 block, and the current composition doesn't end, regard this
908 sequence as invalid.
909 (decode_coding_iso_2022): Handle invalid composition sequence.
910
f6ef1e65
MR
9112008-11-20 Martin Rudalics <rudalics@gmx.at>
912
913 * window.c (coordinates_in_window): Don't return
914 ON_VERTICAL_BORDER for the rightmost position of a mode/header
915 line when the window is not the rightmost one. (Bug#1372)
916
e08b1705
MR
9172008-11-16 Ben North <ben@redfrontdoor.org> (tiny change)
918
919 * buffer.c (syms_of_buffer): Fix doc-string of cursor-type.
920
ad98e89f
EZ
9212008-11-15 Eli Zaretskii <eliz@gnu.org>
922
923 * msdos.c (run_msdos_command): Don't call dos_ttcooked, dos_ttraw,
924 and bright_bg if noninteractive is non-zero.
925
fb098a4b
CY
9262008-11-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
927
928 * xterm.c (x_draw_glyph_string): For stretch glyphs, don't call
929 x_draw_glyph_string_background.
930
931 * w32term.c (x_draw_glyph_string): Likewise.
932
ce952b6e
CY
9332008-11-15 Chong Yidong <cyd@stupidchicken.com>
934
935 * xterm.c (x_draw_glyph_string): Stop drawing the background of
936 the next glyph string once past the overhang width.
937
938 * nsterm.m (ns_draw_glyph_string): Likewise.
939
940 * w32term.c (x_draw_glyph_string): Likewise.
941
26ea7079
CY
9422008-11-14 Fabrice Popineau <fabrice.popineau@supelec.fr> (tiny change)
943
944 * fileio.c (Finsert_file_contents): Decrement specpdl_ptr to avoid
945 double file close.
946
1c33c906
MR
9472008-11-14 Martin Rudalics <rudalics@gmx.at>
948
949 * window.c (window_loop): In DELETE_BUFFER_WINDOWS case, reset
950 dedicated status of window before attempting to display another
951 buffer in it.
952
8fc29035
JB
9532008-11-14 Juanma Barranquero <lekktu@gmail.com>
954
955 * msdos.c (Fmsdos_long_file_names):
956 (syms_of_msdos) <dos-unsupported-char-glyph>:
957 * dosfns.c (Fint86): Fix typos in docstrings.
958
55fb4286
EZ
9592008-11-14 Eli Zaretskii <eliz@gnu.org>
960
961 * makefile.w32-in (OBJ1, WIN32OBJ): Fix whitespace.
962
3fda0315
KY
9632008-11-14 Katsumi Yamaoka <yamaoka@jpl.org>
964
965 * puresize.h (BASE_PURESIZE): Increase to 1260000.
966
7e849c17
CY
9672008-11-12 Michal Nazarewicz <mina86@tlen.pl> (tiny change)
968
969 * frame.c (x_set_alpha): Set alpha to -1 if nil given.
970
971 * frame.h: Negative alpha means "don't touch".
972
973 * w32term.c (x_set_frame_alpha): Do nothing if alpha is negative.
974
975 * xterm.c (x_set_frame_alpha): Do nothing if alpha is negative.
976
b9fd67bd
DN
9772008-11-12 Dan Nicolaescu <dann@ics.uci.edu>
978
979 * hftctl.c:
980 * chpdef.h:
981 * acldef.h: Remove files used only for systems no longer supported.
982
983 * Makefile.in: Fix .o alphabetical ordering.
984 (hftctl.o): Remove dependency, file removed.
985 (keymap.o, print.o): Depend on charset.h.
986
d5998e03
KH
9872008-11-10 Kenichi Handa <handa@m17n.org>
988
2ae37cf0 989 * character.c (Fget_byte): Fix and make it faster for unibyte target.
d5998e03 990
be70e183
CY
9912008-11-08 Chong Yidong <cyd@stupidchicken.com>
992
993 * dired.c (file_name_completion): If completion_ignore_case is
994 enabled, ignore case when checking completion-regexp-list.
995
7cf94eac
EZ
9962008-11-08 Eli Zaretskii <eliz@gnu.org>
997
998 * vm-limit.c (get_lim_data): Fix last change.
999
ee107a89
KH
10002008-11-08 Kenichi Handa <handa@m17n.org>
1001
1002 * character.c (Fget_byte): New function.
1003 (syms_of_character): Defsubr Fget_byte.
1004
5fd15622
CY
10052008-11-07 Chong Yidong <cyd@stupidchicken.com>
1006
1007 * xdisp.c (try_window_reusing_current_matrix): Ensure that window
1008 cursor position is valid after scrolling.
1009
13d62fad
JB
10102008-11-06 Juanma Barranquero <lekktu@gmail.com>
1011
1012 * fns.c (Frandom): Rename arg N to LIMIT to match the docs; doc fix.
1013
a1dd2936
GM
10142008-11-06 Glenn Morris <rgm@gnu.org>
1015
1016 * xterm.c (handle_one_xevent): Don't let popup menus cause
1017 mouse-autoselect-window related window switching. (Bug#1261)
1018
860cd236
CY
10192008-11-04 David Smith <davidsmith@acm.org> (tiny change)
1020
1021 * xterm.c (xim_close_dpy): Avoid double-free on X11R6 XIM.
1022
653a3150
AS
10232008-11-04 Andreas Schwab <schwab@suse.de>
1024
1025 * xfns.c (Fx_wm_set_size_hint): Add missing return value.
1026
870f5cac
CY
10272008-11-03 Chong Yidong <cyd@stupidchicken.com>
1028
1029 * xfns.c (Fx_wm_set_size_hint): New function.
1030
1e02f3cb
MR
10312008-11-03 Martin Rudalics <rudalics@gmx.at>
1032
1033 * textprop.c (Fprevious_single_char_property_change): Return 0
1034 when there's no change in a string. (Bug#1301)
1035
e630dfc6
MR
10362008-11-02 Martin Rudalics <rudalics@gmx.at>
1037
1038 * frame.c (do_switch_frame): New argument NORECORD passed to
1039 Fselect_window.
1040 (Fselect_frame): New argument NORECORD passed to
1041 do_switch_frame.
1042 (Fset_frame_selected_window): New argument NORECORD passed to
1043 Fselect_frame.
1044 (Fhandle_switch_frame, Fdelete_frame): Handle NORECORD argument
1045 in call of do_switch_frame.
1046 (Fset_mouse_position, Fset_mouse_pixel_position, Fraise_frame):
1047 Handle NORECORD argument in call of Fselect_frame.
1048 * lisp.h (do_switch_frame, Fselect_frame)
1049 (Fset_frame_selected_window): Adjust declarations.
1050 * window.c (select_frame_norecord): New function.
1051 (run_window_configuration_change_hook): Use it and call
1052 Fselect_frame with NORECORD set.
1053 (Fselect_window): Pass NORECORD to Fselect_frame.
1054 (Fset_window_configuration): Handle NORECORD argument in call of
1055 do_switch_frame.
1056 * minibuf.c (choose_minibuf_frame): Handle NORECORD in call of
1057 Fset_frame_selected_window.
1058 * keyboard.c (command_loop_1): Handle NORECORD in call of
1059 Fselect_frame (currently ifdefd).
1060
9020b223
GM
10612008-11-02 Ulrich Mueller <ulm@kph.uni-mainz.de>
1062
1063 * emacs.c (USAGE2): Untabify.
1064
793ffee8
SM
10652008-11-01 Stefan Monnier <monnier@iro.umontreal.ca>
1066
1067 * composite.c (fill_gstring_header): Fix copy/paste typo.
1068
ab6d1131
MR
10692008-10-31 Martin Rudalics <rudalics@gmx.at>
1070
1071 * window.c (Fnext_window, Fprevious_window): Rewrite doc-string.
1072 (Fother_window): Rename argument and rewrite doc-string.
1073 (select_window_norecord): Fix return value. (Bug#1276)
1074
601a9cf1
JB
10752008-10-30 Juanma Barranquero <lekktu@gmail.com>
1076
1077 * w32fns.c (x_create_tip_frame): Prevent default foreground color for
1078 new frames overriding foreground for tooltips. Based on similar patch
1079 from Martin Rudalics <rudalics@gmx.at>. (Bug#1032)
1080
813b0652
CY
10812008-10-29 Chong Yidong <cyd@stupidchicken.com>
1082
1083 * emacs.c (Fdaemon_initialized): Initialize nfd.
1084
4414f58f
MR
10852008-10-29 Martin Rudalics <rudalics@gmx.at>
1086
1087 * window.c (Fwindow_height, Fdelete_window, set_window_buffer)
1088 (Fwindow_text_height): Clarify doc-strings.
1089 * xdisp.c (syms_of_xdisp): Mention set-window-buffer in
1090 doc-string of window-scroll-functions.
1091
ecdcaa09
RS
10922008-10-28 Reiner Steib <Reiner.Steib@gmx.de>
1093
1094 * category.c (syms_of_category): Fix typo in docstring.
1095
23fe745a
JB
10962008-10-28 Juanma Barranquero <lekktu@gmail.com>
1097
1098 * window.c (Fwindowp, Fwindow_live_p, Fwindow_minibuffer_p)
1099 (Fcoordinates_in_window_p, Fscroll_left, Fscroll_right):
1100 Fix typos in docstrings.
1101
ff808935
DN
11022008-10-28 Dan Nicolaescu <dann@ics.uci.edu>
1103
1104 * emacs.c (daemon_pipe): Make non-static.
1105 (IS_DAEMON): Move definition ...
1106 * lisp.h (IS_DAEMON): ... here.
1107 (daemon_pipe): Declare.
1108 (is_daemon): Remove.
1109 * dispnew.c (init_display): Use IS_DAEMON.
1110
fc012771
SM
11112008-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
1112
1113 * xdisp.c (pos_visible_p, redisplay_internal, message3_nolog)
1114 (message2_nolog): Check FRAME_INITIAL_P instead of noninteractively.
1115
1116 * emacs.c (is_daemon): Remove.
1117 (main): Don't set is_daemon.
1118 (IS_DAEMON): New macro.
1119 (Fdaemonp, Fdaemon_initialized): Use it.
601a9cf1 1120 (Fdaemon_initialized): Write a char into the pipe to make sure the
fc012771
SM
1121 parent exits.
1122 (syms_of_emacs): Explicitly initialize daemon_pipe[1].
1123
d8bdbe6f
CY
11242008-10-27 Chong Yidong <cyd@stupidchicken.com>
1125
d1a072bf
CY
1126 * nsterm.m (ns_draw_window_cursor): When hbar cursor is on
1127 over-sized glyph, draw it with the default glyph width.
1128
e2e325aa
CY
1129 * w32term.c (x_draw_bar_cursor): When hbar cursor is on over-sized
1130 glyph, draw it with the default glyph width.
1131
1132 * xterm.c (x_draw_bar_cursor): When hbar cursor is on over-sized
1133 glyph, draw it with the default glyph width.
1134
d8bdbe6f
CY
1135 * xdisp.c (try_scrolling): When computing the distance from the
1136 scroll margin to PT, try moving some distance past the window
1137 bottom before giving up.
1138
7bfac547
MR
11392008-10-27 Martin Rudalics <rudalics@gmx.at>
1140
1141 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p)
1142 (Fset_window_buffer): Explain in doc-string that a window can be
1143 "strongly" dedicated to its buffer.
1144
4ff029f6
DN
11452008-10-27 Dan Nicolaescu <dann@ics.uci.edu>
1146
1147 * emacs.c (daemon_name): New variable.
1148 (main): Deal with --daemon=SERVER_NAME.
1149 (Fdaemonp): Return a name if one was passed to --daemon.
1150
5790ef40
DN
11512008-10-26 Romain Francoise <romain@orebokech.com>
1152
f9bd0df9 1153 * emacs.c (daemon_pipe): New variable.
5790ef40
DN
1154 (main): Create a pipe before forking, make the parent exit only after
1155 the child has closed its end of the pipe. Move closing the
1156 descriptors ...
1157 (Fdaemon_initialized): ... here. New function.
1158
f5385255
SM
11592008-10-26 Stefan Monnier <monnier@iro.umontreal.ca>
1160
4d632321
SM
1161 * chartab.c (Foptimize_char_table): Make sure `ascii' doesn't point to
1162 the previous unoptimized table.
1163
f5385255
SM
1164 * window.c (Fset_window_buffer): Undo 2008-10-18 change to re-instate
1165 the distinction between non-nil and non-t value of `dedicated'.
1166
6c56a0f3
CY
11672008-10-25 Chong Yidong <cyd@stupidchicken.com>
1168
1169 * keyboard.c (read_char_minibuf_menu_prompt): Ensure that
f5385255 1170 read_char_minibuf_menu_text is large enough to hold the menu string.
6c56a0f3 1171
fec89261
MR
11722008-10-25 Martin Rudalics <rudalics@gmx.at>
1173
1174 * window.c (Fget_buffer_window, Fdelete_windows_on)
1175 (Freplace_buffer_in_windows): Make buffer argument optional and
1176 rename to buffer_or_name.
1177
34fcddd0
CY
11782008-10-24 Chong Yidong <cyd@stupidchicken.com>
1179
f5385255
SM
1180 * xdisp.c (handle_single_display_spec, handle_display_prop):
1181 Undo 2005-05-16 change.
34fcddd0
CY
1182 (handle_stop): Pop iterator if it's loaded with an empty string.
1183 (get_overlay_strings_1): Don't save iterator if it's loaded with
1184 an empty string (bug#1201).
1185
064766f2
KH
11862008-10-24 Kenichi Handa <handa@m17n.org>
1187
1188 * ftfont.c (ftfont_otf_features): Fix previous change.
1189 (ftfont_otf_capability): Check FeatureList.FeatureCount before
1190 calling ftfont_otf_features.
1191
f9bd0df9 11922008-10-24 Kenichi Handa <handa@m17n.org>
064766f2
KH
1193
1194 * font.c (font_match_p): Fix for the case that a vector of
1195 characters is in script-representative-chars.
1196
1dae9197
MA
11972008-10-24 Michael Albinus <michael.albinus@gmx.de>
1198
1199 * dbusbind.c (xd_in_read_queued_messages): New variable.
f5385255 1200 (XD_SIGNAL1, XD_SIGNAL2, XD_SIGNAL3): New macros. Throw Qdbus_error.
1dae9197
MA
1201 (xd_read_queued_messages): Catch Qdbus_error from the macros.
1202 (all): Replace xsignal1, xsignal2, xsignal3 by the respective
1203 macro. (Bug#1186).
1204
f9bd0df9 12052008-10-23 Ali Bahrami <ali_gnu@emvision.com> (tiny change)
9b3362b8
DN
1206
1207 * s/sol2-10.h: New file.
1208
878a4584
JB
12092008-10-23 Juanma Barranquero <lekktu@gmail.com>
1210
1211 * xdisp.c (fill_glyph_string): Fix typo in source (though the
1212 poor beast has survived 9+ years and the jump from xterm.c!).
1213
cd265ca6
MR
12142008-10-23 Martin Rudalics <rudalics@gmx.at>
1215
1216 * buffer.c (Fget_buffer_create): Rename arg to buffer_or_name.
1217 Reword doc-string.
f5385255 1218 (Fbury_buffer): In doc-string say what happens to the buffer's window.
cd265ca6 1219
472a4dc9
JB
12202008-10-23 Juanma Barranquero <lekktu@gmail.com>
1221
1222 * character.c (syms_of_character) <script-representative-chars>:
1223 <unicode-category-table>: Doc fixes.
1224
159bd5a2
NF
12252008-10-23 Noah Friedman <friedman@splode.com>
1226
1227 * coding.c (make_conversion_work_buffer): Check that
1228 Vcode_conversion_reused_workbuf is a live buffer, otherwise call
1229 Fget_buffer_create.
1230
49f9c344
KH
12312008-10-23 Kenichi Handa <handa@m17n.org>
1232
1233 * font.c (font_add_log): Check the values of extra properties.
1234
12bb3111
MR
12352008-10-22 Martin Rudalics <rudalics@gmx.at>
1236
1237 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
1238 Reword doc-string.
1239 (Fset_window_parameter): Use NILP.
1240 (Fscroll_up, Fscroll_down, Fminibuffer_selected_window)
f5385255 1241 (Frecenter): Use "selected" instead of "current" window in doc-strings.
12bb3111 1242
bbeb4e99
JB
12432008-10-22 Juanma Barranquero <lekktu@gmail.com>
1244
1245 * xdisp.c (next_element_from_buffer): Remove bogus xassert condition.
1246
12472008-10-22 Adrian Robert <Adrian.B.Robert@gmail.com>
cb83c00b
AR
1248
1249 * nsfns.m (ns_appkit_version): New function.
1250 (x-server-version): Use it.
1251 (syms_of_nsfns): Define ns-version-string here, not nsterm.m.
1252 (x-server-vendor): Don't check_ns().
1253
1254 * nsterm.m (syms_of_nsterm): Drop ns-version-string.
1255
a9b555d3
JB
12562008-10-22 Juanma Barranquero <lekktu@gmail.com>
1257
1258 * w32fns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert.
1259 Copied from 2005-02-03 change to xfns.c by Kim F. Storm.
1260
4626499f
KH
12612008-10-22 Kenichi Handa <handa@m17n.org>
1262
e3681952
KH
1263 * syntax.c (scan_words): Call word_boundary_p instead of comparing
1264 scripts.
1265
4626499f
KH
1266 * category.c (word_boundary_p): Check scripts instead of charset.
1267 Handle nil value in word-separating-categories and
1268 word-combining-categories.
1269 (syms_of_category): Fix docstrings of word-separating-categories
1270 and word-combining-categories.
1271
1560f91a
EZ
12722008-10-21 Eli Zaretskii <eliz@gnu.org>
1273
1274 * coding.c (Fencode_coding_region, Fdecode_coding_region)
1275 (Fdecode_coding_string, Fencode_coding_string): Doc fix.
1276
f4668441
MR
12772008-10-21 Martin Rudalics <rudalics@gmx.at>
1278
1279 * buffer.c (Fget_buffer, Fbury_buffer, switch_to_buffer_1):
1280 Rename arg "buffer" to "buffer_or_name".
1281 (Fkill_buffer): Rename arg "buffer" to "buffer_or_name" and make
1282 it optional.
1283 (no_switch_window): Remove since the return value is not used.
a9b555d3 1284 (Fswitch_to_buffer): Rename arg "buffer" to "buffer_or_name".
f4668441
MR
1285 Consider window as dedicated when Fwindow_dedicated_p returns a
1286 non-nil value.
1287 * lisp.h: Remove prototype for no_switch_window.
1288
fd75ddb2
JD
12892008-10-21 Jan Djärv <jan.h.d@swipnet.se>
1290
1291 * emacs.c (main): Unconditionally set PER_LINUX32 and exec
2ae37cf0 1292 temacs when dumping if HAVE_PERSONALITY_LINUX32 is defined.
fd75ddb2 1293
07295713
KH
12942008-10-21 Kenichi Handa <handa@m17n.org>
1295
1296 * coding.c (detect_coding_charset): For iso-8859-* coding systems,
1297 check Vlatin_extra_code_table.
1298
712adc82
EZ
12992008-10-20 Eli Zaretskii <eliz@gnu.org>
1300
1301 * fileio.c (Fset_file_modes): Doc fix.
1302
f549eb0b
MA
13032008-10-19 Michael Albinus <michael.albinus@gmx.de>
1304
1305 * dbusbind.c (XD_OBJECT_TO_DBUS_TYPE): Handle simple type symbols
1306 in arrays.
1307
aac0c6e3
MR
13082008-10-19 Martin Rudalics <rudalics@gmx.at>
1309
1310 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
1311 Mention kill-buffer in doc-string.
1312 (Fset_window_buffer): Reinsert tem check removed in last commit.
1313 (Fenlarge_window, Fshrink_window): Have argument names and
1314 doc-string follow Elisp manual more closely.
1315
13162008-10-18 Eli Zaretskii <eliz@gnu.org>
1317
1318 * fileio.c (Fset_file_modes): Doc fix.
1319
13202008-10-18 Martin Rudalics <rudalics@gmx.at>
1321
1322 * window.c (Fwindow_width, Fset_window_start)
1323 (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter)
f5385255
SM
1324 (Fdelete_windows_on, Freplace_buffer_in_windows):
1325 Make doc-strings follow code and Elisp manual more closely.
aac0c6e3
MR
1326 (Fwindow_dedicated_p): Make window argument optional.
1327 (Fset_window_dedicated_p): Rename argument "arg" to "flag".
1328 (Fset_window_buffer): Respect any non-nil dedicated value for
1329 window. Rename "buffer" argument to "buffer_or_name".
1330
13312008-10-18 Ulrich Mueller <ulm@gentoo.org>
1332
1333 * m/sh3.h: New file, machine description for SuperH.
1334
13352008-10-17 Martin Rudalics <rudalics@gmx.at>
1336
1337 * window.c (Fsplit_window): Rename arg horflag to horizontal.
1338
13392008-10-17 Kenichi Handa <handa@m17n.org>
1340
1341 * ftfont.c (ftfont_otf_features): Fix indexing
1342 gsub_gpos->FeatureList.Feature. Check the validity of indices.
1343
13442008-10-16 Magnus Henoch <mange@freemail.hu>
1345
1346 * dbusbind.c (Fdbus_call_method): Unbreak usage line.
1347 (Fdbus_call_method_asynchronously): Ditto.
1348 This change makes C-h f display the argument list.
1349
13502008-10-16 Chong Yidong <cyd@stupidchicken.com>
1351
1352 * fileio.c (Fexpand_file_name): Doc fix.
1353
1354 * xfaces.c (Finternal_set_lisp_face_attribute): Make null values
1355 of :foreground and :background equivalent to unspecified (20.x
1356 compatibility).
1357
13582008-10-15 Eli Zaretskii <eliz@gnu.org>
1359
1360 * buffer.c (syms_of_buffer): Doc fix.
1361
13622008-10-14 Kenichi Handa <handa@m17n.org>
1363
1364 * font.c (font_clear_prop): When clearing font width, clear the
1365 average width field too.
1366
13672008-10-12 Andreas Schwab <schwab@suse.de>
1368
1369 * ftfont.c (ftfont_shape_by_flt): Make static.
1370 * ftfont.h (ftfont_shape_by_flt): Don't declare.
1371
1372 * font.c: Don't include <m17n-flt.h>.
1373
13742008-10-10 Eli Zaretskii <eliz@gnu.org>
1375
1376 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Decrease to 10000.
1377
13782008-10-09 Eli Zaretskii <eliz@gnu.org>
1379
1380 * frame.c (make_terminal_frame) [MSDOS]: Remove unused #ifdef'ed
1381 away code.
1382
13832008-10-09 Chong Yidong <cyd@stupidchicken.com>
1384
1385 * dispnew.c (update_text_area): Avoid looping due to large glyph
1386 overhangs (bug#1070).
1387
13882008-10-09 Kenichi Handa <handa@m17n.org>
1389
1390 * fontset.c (face_for_char): If face->fontset is negative, just
1391 return ascii_face.
1392
f5385255
SM
1393 * font.c (font_delete_unmatched): Fix previous change.
1394 Don't reject an entity if DPI and AVGWIDTH of an entity are 0.
aac0c6e3
MR
1395
13962008-10-09 Martin Rudalics <rudalics@gmx.at>
1397
1398 * frame.c (Fraise_frame): On text-only terminals select frame in
1399 order to make it visible. (Bug#1061)
1400
14012008-10-08 Chong Yidong <cyd@stupidchicken.com>
1402
1403 * fontset.c (fontset_find_font): Check frame validity.
1404
14052008-10-07 Chong Yidong <cyd@stupidchicken.com>
1406
a9b555d3 1407 * gtkutil.c (xg_display_open): Reset default display if none exists.
aac0c6e3
MR
1408 (xg_display_close): Allow Emacs to close all displays (bug#985).
1409
14102008-10-06 Andreas Schwab <schwab@suse.de>
1411
f5385255 1412 * sysdep.c (sys_signal): Always set SA_RESTART when noninteractively.
aac0c6e3
MR
1413
14142008-10-06 Chong Yidong <cyd@stupidchicken.com>
1415
f5385255 1416 * emacs.c (Vbefore_init_time, Vafter_init_time): Move from startup.el.
aac0c6e3 1417
a9b555d3 1418 * lisp.h (Vbefore_init_time, Vafter_init_time): Declare.
aac0c6e3
MR
1419
1420 * gtkutil.c (x_wm_set_size_hint): Return immediately if called
1421 during initialization.
1422
14232008-10-04 Eli Zaretskii <eliz@gnu.org>
1424
1425 * xdisp.c (redisplay_internal): If frame switched, redisplay the
1426 whole thing on MSDOS frames as well as on a TTY.
1427
1428 * dispnew.c (update_frame): Flush termscript for MSDOS frames as
1429 well as for TTY.
1430 (Fopen_termscript): Allow opening a termscript on MSDOS frames as
1431 well as on a TTY.
1432
1433 * sysdep.c (init_sys_modes): Set FRAME_GARBAGED_P for MSDOS frames
1434 as well as for TTY.
1435
1436 * systime.h (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
1437
1438 * dispnew.c (change_frame_size_1): Set FrameRows and FrameCols for
1439 MSDOS frames as well.
1440
14412008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
1442
1443 * image.c (x_clear_image_1): Under NS, call ns_free_indexed_color with
1444 correct arguments.
1445 * menu.c (find_and_return_menu_selection) Add cast.
1446
14472008-10-03 Glenn Morris <rgm@gnu.org>
1448
1449 * emacs.c (USAGE1): Add --daemon.
1450
14512008-10-02 Eli Zaretskii <eliz@gnu.org>
1452
1453 * process.c (procfs_system_process_attributes): Multiply `pcpu' by
1454 100, so it's in percents as advertised.
1455
14562008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
1457
1458 * nsterm.h (ns_cursor_types, ns_output.desired_cursor_color)
1459 (ns_output.current_cursor, ns_output.desired_cursor)
1460 (ns_output.last_inactive, FRAME_CURSOR, FRAME_NEW_CURSOR)
1461 (FRAME_NEW_CURSOR_COLOR): Remove.
1462
1463 * nsfns.m (ns_set_cursor_color): Use FRAME_CURSOR_COLOR.
a9b555d3 1464 (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp): Use core Emacs
aac0c6e3
MR
1465 enumeration (HOLLOW_BOX_CURSOR, etc.).
1466
1467 * nsterm.m (ns_frame_rehighlight): Remove commented code.
1468 (draw_window_cursor): Simplify code.
f5385255
SM
1469 (EmacsView-windowDidBecomeKey:,-windowDidResignKey:):
1470 Don't change cursor type. In latter, call rehighlight instead of doing
aac0c6e3 1471 updates manually.
a9b555d3
JB
1472 (EmacsPrefsController-setPanelFromValues,-setValuesFromPanel):
1473 Use core Emacs cursor types.
aac0c6e3 1474
b8ff72fa 1475 * xdisp.c (draw_glyphs): Don't call notice_overwritten_cursor under NS.
aac0c6e3
MR
1476
14772008-10-02 Martin Rudalics <rudalics@gmx.at>
1478
1479 * process.c (Faccept_process_output): Fix doc-string.
1480
14812008-10-02 Dan Nicolaescu <dann@ics.uci.edu>
1482
1483 * gmalloc.c (__sbrk): Also define for uClibc.
1484
1485 * s/gnu-linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Add definition
1486 for uClibc.
1487
14882008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1489
1490 * nsfont.m (nsfont_spec_to_traits): Use UnXX masks only for non-normal
1491 styles.
1492 (nsfont_open): Reenable the cache.
1493
14942008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1495
1496 * font.c (font_matching_entity): Reflect ATTRS in font selection.
1497 (font_find_for_lface) [HAVE_NS]: Don't ignore case.
1498
14992008-09-30 Stefan Monnier <monnier@iro.umontreal.ca>
1500
1501 * dispnew.c (Fsend_string_to_terminal): Don't try to send a string to
1502 a suspended terminal.
1503
15042008-09-30 Michael Albinus <michael.albinus@gmx.de>
1505
1506 * dbusbind.c (xd_signature): Use strcat instead of sprintf.
1507
15082008-09-30 Eli Zaretskii <eliz@gnu.org>
1509
1510 * Makefile.in (MSDOS_SUPPORT): Remove ccl.elc and codepage.elc.
1511
15122008-09-30 Chong Yidong <cyd@stupidchicken.com>
1513
1514 * xdisp.c (move_it_to): Don't advance the iterator if the last tab
1515 in a continued line coincides with a line beginning.
1516
15172008-09-29 Adrian Robert <Adrian.B.Robert@gmail.com>
1518
1519 * nsfont.m (nsfont_trait_distance): Fix bug.
1520 (nsfont_list): Return a list rather than a vector (syncs with Handa
1521 changes of 2008-05-14).
1522 (nsfont_open): Improve logging.
1523
15242008-09-29 Andreas Schwab <schwab@suse.de>
1525
1526 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
1527
15282008-09-28 Martin Rudalics <rudalics@gmx.at>
1529
1530 * character.c (Fchar_resolve_modifiers): Rewrite Elisp function
1531 name as char-resolve-modifiers.
1532 Reported by: Markus Triska <markus.triska@gmx.at>
1533
15342008-09-28 Dan Nicolaescu <dann@ics.uci.edu>
1535
1536 * dispnew.c (init_display): Return earlier when running as a daemon.
1537
15382008-09-27 Adrian Robert <Adrian.B.Robert@gmail.com>
1539
1540 * nsfont.m (nsfont_draw): Fix up composition rendering (cmp_from, ...).
1541
15422008-09-27 Eli Zaretskii <eliz@gnu.org>
1543
1544 * composite.c (Fcomposition_get_gstring)
1545 (Fcompose_region_internal, Fcompose_string_internal)
1546 (Ffind_composition_internal): Doc fix.
1547 (syms_of_composite) <compose-chars-after-function>: Doc fix.
1548 (syms_of_composite) <auto-composition-function>: Doc fix.
1549 (syms_of_composite) <composition-function-table>: Doc fix.
1550
15512008-09-25 Chong Yidong <cyd@stupidchicken.com>
1552
1553 * search.c (wordify): New argument for lax word-ends.
1554 (Fword_search_forward_lax, Fword_search_backward_lax): New funs.
1555
15562008-09-24 Dan Nicolaescu <dann@ics.uci.edu>
1557
1558 * lisp.h (is_daemon): Declare.
1559 * dispnew.c (init_display): Do not try to initialize the terminal
1560 when running as a daemon.
1561
15622008-09-22 Chong Yidong <cyd@stupidchicken.com>
1563
1564 * nsfns.m (compute_tip_xy): Use x_display_pixel_width and
1565 x_display_pixel_height.
1566
15672008-09-22 Martin Rudalics <rudalics@gmx.at>
1568
1569 * undo.c (record_point): Don't call Fundo_boundary for first
1570 change. (Bug#731)
1571
15722008-09-22 Juanma Barranquero <lekktu@gmail.com>
1573
1574 * emacs.c (Fdaemonp): Doc fix.
1575
15762008-09-22 Dan Nicolaescu <dann@ics.uci.edu>
1577
1578 * emacs.c (main): Place #ifdef in the proper place.
1579
15802008-09-21 Dan Nicolaescu <dann@ics.uci.edu>
1581
1582 * emacs.c (standard_args): Add --daemon.
1583 (main): Disconnect from the terminal when --daemon is passed.
1584 (is_daemon): New variable.
1585 (Fdaemonp): New function.
1586 (syms_of_emacs): Defsubr it.
1587
15882008-09-20 Chong Yidong <cyd@stupidchicken.com>
1589
1590 * xdisp.c (get_next_display_element): Handle string display
1591 correctly when checking for the end of a box run.
1592
15932008-09-20 Glenn Morris <rgm@gnu.org>
1594
1595 * fileio.c (Qdelete_by_moving_to_trash): New Lisp_Object.
1596 (syms_of_fileio): Add Qdelete_by_moving_to_trash.
1597 (Frename_file): Avoid copying to trash if a rename involves
1598 a delete. (Bug#964).
1599
16002008-09-20 Eli Zaretskii <eliz@gnu.org>
1601
1602 * keyboard.c (Fset_quit_char, Fset_input_meta_mode)
1603 (Fset_output_flow_control, Fcurrent_input_mode): Support MSDOS
1604 frames as well as termcap frames.
1605 (handle_interrupt): Remove "#ifndef MSDOS" around the call to
1606 get_named_tty.
1607
16082008-09-19 Eli Zaretskii <eliz@gnu.org>
1609
1610 * process.c (procfs_system_process_attributes): Fix cmdline in
1611 case /proc/PID/cmdline is empty.
1612
1613 * xterm.c (x_wm_set_size_hint): Use x_display_pixel_width and
1614 x_display_pixel_height.
1615
16162008-09-19 Juanma Barranquero <lekktu@gmail.com>
1617
1618 * frame.c (x_fullscreen_adjust): Declare var as Display_Info.
1619
1620 * w32fns.c (Fx_display_pixel_width, Fx_display_pixel_height)
1621 (compute_tip_xy): Use x_display_pixel_width, x_display_pixel_height.
1622
16232008-09-19 Dan Nicolaescu <dann@ics.uci.edu>
1624
1625 * dispextern.h (struct it): Move line_wrap away from the middle of
1626 bitfields. Move voffset in struct iterator_stack_entry after the
1627 bitfields. Move tab_width near after another short.
1628
16292008-09-18 Dan Nicolaescu <dann@ics.uci.edu>
1630
1631 * frame.h (struct frame): Move alpha from the middle of bitfields.
1632
1633 * window.h (struct window): Move frozen_window_start_p after the
1634 rest of the bitfields to reduce padding.
1635
16362008-09-18 Chong Yidong <cyd@stupidchicken.com>
1637
1638 * xterm.h (x_display_info): Remove `height' and `width' members.
1639
1640 * nsterm.h (ns_display_info): Remove `height' and `width' members.
1641
1642 * w32term.h (w32_display_info): Remove `height', `width',
1643 `height_in', and `width_in' members.
1644
b8ff72fa
SM
1645 * xterm.c (x_display_pixel_height, x_display_pixel_width):
1646 New functions.
aac0c6e3
MR
1647 (x_calc_absolute_position): Use them.
1648 (x_term_init): Omit removed `height' and `width' members.
1649
b8ff72fa
SM
1650 * w32term.c (x_display_pixel_height, x_display_pixel_width):
1651 New functions.
aac0c6e3
MR
1652 (w32_read_socket, x_calc_absolute_position): Use them.
1653 (w32_initialize_display_info, w32_term_init): Omit removed members
1654 of w32_display_info.
1655
b8ff72fa
SM
1656 * nsterm.m (x_display_pixel_height, x_display_pixel_width):
1657 New functions.
1658 (ns_initialize_display_info): Omit removed members of ns_display_info.
aac0c6e3 1659
b8ff72fa
SM
1660 * xterm.c (x_display_pixel_height, x_display_pixel_width):
1661 New functions.
aac0c6e3
MR
1662 (x_calc_absolute_position): Use them.
1663 (x_term_init): Omit removed `height' and `width' members.
1664
1665 * xfns.c (Fx_display_pixel_width, Fx_display_pixel_height)
b8ff72fa
SM
1666 (compute_tip_xy):
1667 * frame.c (x_fullscreen_adjust):
aac0c6e3
MR
1668 * xmenu.c (menu_position_func): Use x_display_pixel_height and
1669 x_display_pixel_width.
1670
16712008-09-18 Kenichi Handa <handa@m17n.org>
1672
1673 * composite.c (fill_gstring_header): Don't check FROM and TO here.
1674 (composition_compute_stop_pos): Fix handling of static composition.
1675 (Fcomposition_get_gstring): Check FROM and TO at first.
1676
16772008-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
1678
1679 * composite.c (Fcomposition_get_gstring): Yet another int/Lisp_Oject
1680 mixup (YAILOM).
1681
16822008-09-17 Chong Yidong <cyd@stupidchicken.com>
1683
1684 * indent.c (Fvertical_motion): Use position reported by iterator
1685 instead of PT for determining screen motion (bug#943).
1686
16872008-09-17 Romain Francoise <romain@orebokech.com>
1688
1689 * composite.c (composition_adjust_point): Fix int/EMACS_INT mixup.
1690
16912008-09-17 Kenichi Handa <handa@m17n.org>
1692
1693 * ftfont.c (ftfont_shape_by_flt): Downcase family name.
1694
1695 * composite.c (Fcomposition_get_gstring): Make bigger gstring_work
1696 if necessary.
1697
16982008-09-16 Kenichi Handa <handa@m17n.org>
1699
1700 * coding.c (make_conversion_work_buffer): Avoid calling
1701 Fget_buffer_create if it is not necessary.
1702
17032008-09-15 Martin Rudalics <rudalics@gmx.at>
1704
1705 * window.c (Fselect_window): Don't update window_select_count and
1706 use_time when norecord is not nil.
1707
17082008-09-14 Kenichi Handa <handa@m17n.org>
1709
1710 * fileio.c (Finsert_file_contents): Delete incorrect decrement of
1711 specpdl_ptr.
1712
17132008-09-12 Kenichi Handa <handa@m17n.org>
1714
1715 * indent.c (scan_for_column): Don't handle automatic composition
1716 if the current buffer is not associated with a window.
1717
1718 * composite.c (composition_reseat_it): If the current buffer is
1719 not associated with a window, ignore the automatic composition.
1720 (find_automatic_composition): Likewise.
1721
17222008-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
1723
1724 * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
1725 (Fgpm_mouse_stop): Use it.
1726 * termhooks.h (close_gpm): Declare.
1727 * keyboard.c (tty_read_avail_input): Forcefully close the gpm
1728 connection if Gpm_GetEvent fails.
1729
1730 * window.c (set_window_buffer): Always preserve current-buffer.
1731
17322008-09-12 Glenn Morris <rgm@gnu.org>
1733
1734 * charset.c (init_charset): Warn if etc/charsets not found. (Bug#909)
1735
17362008-09-11 Glenn Morris <rgm@gnu.org>
1737
1738 * charset.c (charset-map-path): Doc fix.
1739
17402008-09-10 Kenichi Handa <handa@m17n.org>
1741
1742 * xdisp.c (handle_composition_prop): Set it->cmp_it.ch to -1.
1743
1744 * font.c (Ffont_shape_gstring): Make glyphs of non-nil adjustment
1745 compose a grapheme cluster with the preceding base glyph.
1746
1747 * composite.c (composition_compute_stop_pos): Fix previous change.
1748 Reset cmp_it->id to -1 at first.
1749
17502008-09-10 Glenn Morris <rgm@gnu.org>
1751
1752 * Makefile.in (character.o, chartab.o): Fix config.h typo.
1753
17542008-09-09 Chong Yidong <cyd@stupidchicken.com>
1755
1756 * keyboard.c (read_key_sequence): Reapply translation maps when
1757 switching keyboards.
1758
17592008-09-09 Kenichi Handa <handa@m17n.org>
1760
1761 * ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII
1762 characters.
1763
1764 * composite.c (FORWARD_CHAR): Fix calculation
1765 of (POSITION).pos_byte.
1766 (composition_compute_stop_pos): Limit the search of composition to
1767 at most 500 characters ahead. If we reach the limit or find a
1768 newline, set cmp_it->ch to -2 and return 0.
1769 (composition_reseat_it): Handle the case that cmp_it->ch is -2.
1770
17712008-09-08 Kenichi Handa <handa@m17n.org>
1772
1773 * indent.c (Fvertical_motion): Be sure to set
1774 it_overshoot_expected if it.cmp_it.id is non-negative.
1775
17762008-09-07 Andreas Schwab <schwab@suse.de>
1777
1778 * callproc.c (Fcall_process): Don't hold references to string data
1779 across garbage collection. Move initialisation of new_argv down
1780 to avoid compiler bug.
1781
17822008-09-07 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
1783
1784 * process.c (Fsystem_process_attributes): Doc fix.
1785
17862008-09-07 Chong Yidong <cyd@stupidchicken.com>
1787
1788 * callproc.c (Fcall_process): Canonicalize current directory name.
1789
1790 * xdisp.c (move_it_to): When moving by vpos, ensure that the
1791 iterator advances to the next line if the current line ends in a
1792 continued tab.
1793
17942008-09-07 Teodor Zlatanov <tzz@lifelogs.com>
1795
1796 * nsfont.m (nsfont_draw): Fix the references to missing gidx data
1797 member to point to cmp_from.
1798
1799 * xdisp.c: Doc fix for references to gidx data member.
1800
18012008-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
1802
1803 * buffer.c (Fbuffer_swap_text): Reset window->point markers.
1804
18052008-09-07 Kenichi Handa <handa@m17n.org>
1806
1807 * composite.c (FORWARD_CHAR): Check STOP after
1808 incrementing (POSITION).pos.
1809
18102008-09-06 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
1811
1812 * process.c (Fsystem_process_attributes): Doc fix.
1813
18142008-09-06 Chong Yidong <cyd@stupidchicken.com>
1815
1816 * keyboard.c (Ftop_level): Doc fix.
1817
18182008-09-06 Eli Zaretskii <eliz@gnu.org>
1819
1820 * xmenu.c (xmenu_show) [!HAVE_X_WINDOWS]: If frame has a
1821 minibuffer, don't let lower part of menu invade the echo area.
1822
1823 * msdos.c (IT_menu_display): Use STRING_CHAR_ADVANCE instead of a
1824 "char *q" to access menu text and advance through it. Revert the
1825 change that displayed ">" instead of ASCII character 0x10.
1826
18272008-09-05 Eli Zaretskii <eliz@gnu.org>
1828
1829 * menu.c (single_menu_item) [!HAVE_BOXES]: Enable emulation of
1830 toggle boxes and radio buttons on MS-DOS as well.
1831
18322008-09-05 Kenichi Handa <handa@m17n.org>
1833
1834 * composite.c (autocmp_chars): Check lookback count.
1835 (composition_compute_stop_pos): Set cmp_it->lookback.
1836 (composition_reseat_it): Check lookback count.
1837 (struct position_record): New struct.
1838 (FORWARD_CHAR, BACKWARD_CHAR, CHAR_COMPOSABLE_P): New macros.
1839 (find_automatic_composition): New function.
1840 (composition_adjust_point): Use find_automatic_composition.
1841
1842 * dispextern.h (struct composition_it): New member lookback.
1843
18442008-09-02 Chong Yidong <cyd@stupidchicken.com>
1845
1846 * indent.c (Fvertical_motion): Don't call move_it_by_lines again
1847 if moving by a single line.
1848
18492008-09-02 Andreas Schwab <schwab@suse.de>
1850
1851 * xterm.c (x_delete_display): Fix merge error.
1852
1853 * fileio.c (Fexpand_file_name): Remove unused variables.
1854
18552008-09-02 Eli Zaretskii <eliz@gnu.org>
1856
1857 * fileio.c (Fexpand_file_name): Copy argument `name' into local
1858 storage on all platforms, not just on DOS_NT.
1859
18602008-09-02 Jason Rumney <jasonr@gnu.org>
1861
b8ff72fa
SM
1862 * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show):
1863 Ensure mouse is not grabbed after menu is finished.
aac0c6e3
MR
1864
18652008-09-01 Chong Yidong <cyd@stupidchicken.com>
1866
1867 * xfaces.c (Finternal_set_alternative_font_family_alist)
1868 (Finternal_set_alternative_font_registry_alist): Properly copy
1869 entire alist structure.
1870
18712008-09-01 Kenichi Handa <handa@m17n.org>
1872
d66c0241 1873 * ftfont.c (ftfont_spec_pattern): Don't create a charset if the
aac0c6e3 1874 representative chars of the script is a vector.
d66c0241
JB
1875 (ftfont_list): Handle the case where the representative chars of
1876 the script is a vector.
aac0c6e3
MR
1877
1878 * character.c (syms_of_character): Docstring of
1879 script-representative-chars fixed.
1880
18812008-08-31 Eli Zaretskii <eliz@gnu.org>
1882
1883 * msdos.c (BUILD_CHAR_GLYPH): New macro.
1884 (IT_menu_display): Use it instead of SET_CHAR_GLYPH to construct
1885 the menu. Allocate larger buffer for `text', to account for
1886 possible ^C characters.
1887
18882008-08-31 Martin Rudalics <rudalics@gmx.at>
1889
1890 * xdisp.c (prepare_menu_bars): Don't call
1891 Vwindow_size_change_functions with arg Qt.
1892
18932008-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
1894
1895 * font.h (font_range):
1896 * fileio.c (report_file_error):
1897 * composite.c (composition_update_it): Yet another int/Lisp_Oject mixup.
1898
18992008-08-30 Glenn Morris <rgm@gnu.org>
1900
1901 * data.c (Fmake_variable_frame_local): Doc fix.
1902
1903 * frame.c (Fmodify_frame_parameters): Doc fix.
1904
19052008-08-30 Eli Zaretskii <eliz@gnu.org>
1906
1907 * w32.c (init_user_info): Allocate buf[] with xmalloc using the size
1908 needed by GetTokenInformation.
1909 (w32_system_process_attributes): Check return values of all system
1910 APIs.
1911
1912 * msdos.c (IT_display_cursor): Write "CURSOR ON/OFF" to termscript
1913 only when the state changes.
1914 (IT_update_begin, IT_update_end): Add termscript trace.
1915
1916 * w16select.c (Fw16_set_clipboard_data): Don't encode text if
1917 clipboard is unavailable. Set dst to NULL if it doesn't point to
1918 malloc'ed data.
1919 (Fw16_get_clipboard_data): Initialize htext to NULL, to avoid
1920 passing random values to xfree.
1921
1922 * dispnew.c (init_display): Set `tty's association in frame's
b8ff72fa 1923 parameters alist to the name of the terminal device, if that is known.
aac0c6e3
MR
1924
19252008-08-29 Jason Rumney <jasonr@gnu.org>
1926
1927 * w32uniscribe.c (uniscribe_check_otf): Don't fallback on DFLT script.
1928
19292008-08-29 Eli Zaretskii <eliz@gnu.org>
1930
1931 * composite.c (fill_gstring_body): Avoid compiler warnings.
1932
1933 * font.c (font_fill_lglyph_metrics): Use EMACS_INT in
1934 LGLYPH_SET_CODE to avoid compiler warnings.
1935
2ae37cf0 1936 * makefile.w32-in ($(BLD)/w32uniscribe.$(O)): Depend on composite.h.
aac0c6e3
MR
1937
1938 * composite.h (LGLYPH_SET_CODE): Cast `val' to EMACS_INT.
1939
1940 * w32uniscribe.c (uniscribe_shape): Shut up compiler warning in
1941 LGLYPH_SET_CODE.
1942
19432008-08-29 Kenichi Handa <handa@m17n.org>
1944
1945 * fileio.c (report_file_error): Don't downcase the first character
1946 of errstring if it is still unibyte.
1947
19482008-08-29 Kenichi Handa <handa@m17n.org>
1949
1950 These changes are to re-implement the automatic composition so
1951 that it doesn't use text properties.
1952
1953 * Makefile.in (ftfont.o): Depend on composite.h.
1954 (composite.o): Depend dispextern.h, font.h, frame, and window.h.
1955
1956 * character.h (Vunicode_category_table): Extern it.
1957
1958 * character.c (Vunicode_category_table): New variable.
1959 (syms_of_character): DEFVAR_LISP Vunicode_category_table.
1960
1961 * chartab.c (optimize_sub_char_table): Perform more greedy
1962 optimization.
1963
b8ff72fa
SM
1964 * composite.h (enum composition_method):
1965 Delete COMPOSITION_WITH_GLYPH_STRING.
aac0c6e3
MR
1966 (COMPOSITION_METHOD): Don't check COMPOSITION_WITH_GLYPH_STRING.
1967 (Vcomposition_function_table): Extern it.
1968 (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h.
1969 (composition_gstring_put_cache, composition_gstring_from_id)
1970 (composition_gstring_p, composition_gstring_width)
1971 (composition_compute_stop_pos, composition_reseat_it)
1972 (composition_update_it, composition_adjust_point): Extern them.
1973 (Fcomposition_get_gstring): EXFUN it.
1974
d66c0241 1975 * composite.c: Include window.h, frame.h, dispextern.h, font.h.
aac0c6e3
MR
1976 (Vcomposition_function_table)
1977 (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING.
b8ff72fa
SM
1978 (gstring_hash_table, gstring_work, gstring_work_headers):
1979 New variables.
aac0c6e3
MR
1980 (gstring_lookup_cache, composition_gstring_put_cache)
1981 (composition_gstring_from_id, composition_gstring_p)
1982 (composition_gstring_width, fill_gstring_header)
1983 (fill_gstring_body, autocmp_chars, composition_compute_stop_pos)
1984 (composition_reseat_it, composition_update_it)
b8ff72fa 1985 (composition_adjust_point, Fcomposition_get_gstring): New functions.
aac0c6e3
MR
1986 (syms_of_composite): Initialize gstring_hash_table, gstrint_work,
1987 and gstring_work_headers. DEFVAR_LISP composition-function-table.
1988 Defsubr compostion_get_gstring.
1989
1990 * dispextern.h (struct glyph): New union u.cmp. Delete the member
1991 cmp_id.
1992 (struct glyph_string): Delete the member gidx. New members
1993 cmp_id, cmp_from, and cmp_to.
1994 (enum it_method): Delete GET_FROM_COMPOSITION.
1995 (struct composition_it): New struct.
1996 (struct it): New member cmp_it, and iterator_stack_entry.cmp_it.
1997 Delete c, len, cmp_id, cmp_len in u.comp.
1998
1999 * font.h (enum lgstring_indices): Delete it.
b8ff72fa 2000 (LGSTRING_XXX, LGLYPH_XXX): Move these macros to composite.h.
aac0c6e3 2001 (enum lglyph_indices): Likewise.
b8ff72fa 2002 (font_range): Adjust extern.
aac0c6e3
MR
2003 (font_fill_lglyph_metrics): Extern it.
2004
2005 * font.c (QCf): New variable.
2006 (check_gstring): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
2007 (font_prepare_composition): Delete this function.
2008 (font_range): Type and arguments changed.
2009 (Ffont_make_gstring, Ffont_fill_gstring): Delete them.
2010 (font_fill_lglyph_metrics): New function.
b8ff72fa 2011 (Ffont_shape_text): Rename to Ffont_shape_gstring and change arguments.
aac0c6e3 2012 (syms_of_font): DEFSYM QCf. Delete defsubr for
b8ff72fa
SM
2013 Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text.
2014 Defsubr Sfont_shape_gstring.
aac0c6e3
MR
2015
2016 * fontset.h (font_for_char): Extern it.
2017
2018 * fontset.c (font_for_char): New function.
2019
2020 * ftfont.c: Include composite.h.
2021 (ftfont_resolve_generic_family): Add langset "en" to pattern.
b8ff72fa 2022 (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
aac0c6e3
MR
2023
2024 * indent.c: Include composite.h and dispextern.h.
2025 (check_composition): Delete this function.
2026 (scan_for_column): Handle composition by
2027 composition_compute_stop_pos, composition_reseat_it, and
2028 composition_update_it.
2029 (compute_motion): Likewise.
2030 (Fvertical_motion): Fix checking of composition.
2031
2032 * keyboard.c (adjust_point_for_property): Check composition by
2033 composition_adjust_point.
2034
b8ff72fa 2035 * nsterm.m (ns_draw_glyph_string): Adjust for the change of
aac0c6e3
MR
2036 struct glyph_string.
2037
b8ff72fa
SM
2038 * term.c (encode_terminal_code): Adjust for the change of struct glyph.
2039 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3
MR
2040 struct glyph.
2041 (produce_composite_glyph): Likewise.
2042
b8ff72fa
SM
2043 * w32term.c (x_draw_composite_glyph_string_foreground):
2044 Adjust for the change of struct glyph_string.
aac0c6e3
MR
2045 (x_draw_glyph_string): Likewise.
2046
2047 * w32uniscribe.c (struct uniscribe_font_info): Include composite.h.
2048 (uniscribe_shape): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
2049
2050 * xdisp.c: Include font.h.
2051 (it_props): Delete the entry for Qauto_composed.
2052 (init_iterator): Initialize it->cmp_it.id to -1.
2053 (compute_stop_pos): Call composition_compute_stop_pos.
b8ff72fa 2054 (face_before_or_after_it_pos): Adjust for the change of struct it.
aac0c6e3
MR
2055 (handle_auto_composed_prop): Delete it.
2056 (handle_composition_prop): Handle only static composition.
2057 (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION
2058 from xassert. Initialize it->cmp_it.stop_pos.
b8ff72fa 2059 (push_it): Adjust for the change of struct it.
aac0c6e3
MR
2060 (pop_it): Likewise.
2061 (get_next_element): Delete next_element_from_composition.
2062 (CHAR_COMPOSED_P): New macro.
2063 (get_next_display_element): For automatic composition, get a face
2064 from the font in the glyph-string.
2065 (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING,
b8ff72fa 2066 check composition by it->cmp_it.id. Delete GET_FROM_COMPOSITION case.
aac0c6e3
MR
2067 (next_element_from_string): Check if the character at the current
2068 position is composed by CHAR_COMPOSED_P.
2069 (next_element_from_buffer): Likewise.
d66c0241
JB
2070 (next_element_from_composition): Adjust for the change of struct it.
2071 Update it->cmp_it.
b8ff72fa
SM
2072 (dump_glyph): Adjust for the change of struct glyph.
2073 (fill_composite_glyph_string): Adjust for the change of struct
aac0c6e3
MR
2074 it and struct glyph. Don't handle automatic composition here.
2075 (fill_gstring_glyph_string): New function.
2076 (x_get_glyph_overhangs): Handle automatic composition.
b8ff72fa 2077 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the change of struct glyph.
aac0c6e3
MR
2078 (BUILD_GSTRING_GLYPH_STRING): New macro.
2079 (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for
2080 automatic composition.
b8ff72fa 2081 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3 2082 struct glyph.
b8ff72fa 2083 (x_produce_glyphs): Adjust for the change of struct it.
aac0c6e3 2084
b8ff72fa 2085 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aac0c6e3
MR
2086 the change of struct glyph_string.
2087 (x_draw_glyph_string): Likewise.
2088
20892008-08-29 Glenn Morris <rgm@gnu.org>
2090
2091 * buffer.c (word-wrap): Doc fix.
2092 * xdisp.c (truncate-partial-width-windows): Doc fix.
2093 Increase default to 50.
2094
20952008-08-29 Chong Yidong <cyd@stupidchicken.com>
2096
2097 * xdisp.c (update_tool_bar_unwind): New function.
2098 (update_tool_bar): Temporarily set selected frame before building
2099 tool-bar items.
2100
21012008-08-28 Michael Albinus <michael.albinus@gmx.de>
2102
2103 * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and
2104 snprintf, respectively.
2105 (xd_append_arg): Convert strings with Fstring_make_unibyte.
2106
21072008-08-28 Chong Yidong <cyd@stupidchicken.com>
2108
2109 * Makefile.in: Revert (undocumented) 2008-08-20 change adding
2110 LDFLAGS to GNUstep CC invocation.
2111
21122008-08-27 Chong Yidong <cyd@stupidchicken.com>
2113
2114 * indent.c (Fvertical_motion): Revert last change. Handle the
2115 general case where we are moving forward, and PT spans multiple
2116 screen lines.
2117
2118 * eval.c (find_handler_clause): Temporarily increase
2119 max-lisp-eval-depth while printing the backtrace buffer, to
2120 guarantee that help-mode code can run.
2121
21222008-08-27 Eli Zaretskii <eliz@gnu.org>
2123
2124 * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame
2125 colors under -rv.
2126 (IT_set_frame_parameters): Don't swap foreground and background
2127 colors if `(reverse . t)' is present in the frame properties.
2128 (internal_terminal_init): Call init_frame_faces only for the
2129 initial frame.
2130
21312008-08-27 Andreas Schwab <schwab@suse.de>
2132
2133 * dired.c (Ffile_attributes): Avoid compiler warning in bitshift.
2134
21352008-08-27 Andreas Schwab <schwab@suse.de>
2136
2137 * search.c (search_buffer): Set char_base to zero only at the end.
2138
21392008-08-27 Kenichi Handa <handa@m17n.org>
2140
b8ff72fa 2141 * fileio.c (report_file_error): Fix handling of multibyte error string.
aac0c6e3
MR
2142
21432008-08-27 Andreas Seltenreich <seltenreich@gmx.de>
2144
2145 * xterm.c (x_term_init): Temporarily hide the partially
2146 initialized terminal while calling vendor-specific-keysyms.
2147
21482008-08-26 Eli Zaretskii <eliz@gnu.org>
2149
2150 * msdos.c (internal_terminal_init): Most initializations done only
2151 once, especially initial_screen_colors[] and termscript open.
2152
21532008-08-26 Chong Yidong <cyd@stupidchicken.com>
2154
2155 * eval.c (Fcondition_case): Doc fix.
2156
2157 * widgetprv.h (EmacsFramePart): Change font member to the new font
2158 struct.
2159
2160 * widget.c: Include character.h and font.h for XSETFONT.
2161 (setup_frame_gcs): Compute X font id from font struct, just once.
2162
21632008-08-26 Eli Zaretskii <eliz@gnu.org>
2164
2165 * term.c (get_named_tty): Fix last change.
2166
21672008-08-26 Chong Yidong <cyd@stupidchicken.com>
2168
2169 * indent.c (Fvertical_motion): If moving forward starting from a
b8ff72fa 2170 multi-line string, move the iterator to the last line of that string.
aac0c6e3
MR
2171
21722008-08-25 Eli Zaretskii <eliz@gnu.org>
2173
2174 * frame.c (do_switch_frame): Mark previously displayed frame as
2175 obscured for FRAME_MSDOS_P frames as well.
2176
21772008-08-24 Eli Zaretskii <eliz@gnu.org>
2178
2179 * frame.c (make_terminal_frame): Initialize f->terminal,
2180 f->terminal->reference_count, and scroll bars on MS-DOS as well.
2181 Set the top frame to newly created frame.
2182 (Fmake_terminal_frame): Reuse the_only_display_info.
2183
2184 * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of
2185 estimating available memory.
2186
b97439ce 21872008-08-23 David Reitter <david.reitter@gmail.com>
aac0c6e3
MR
2188
2189 * nsterm.m (ns_draw_window_cursor): Don't call
2190 NSDisableScreenUpdates and NSEnableScreenUpdates on
2191 non-NS_IMPL_COCOA systems.
2192
21932008-08-23 Andreas Schwab <schwab@suse.de>
2194
2195 * process.c (procfs_system_process_attributes): Fix use of
2196 uninitialized variables.
2197
21982008-08-23 Eli Zaretskii <eliz@gnu.org>
2199
2200 * emacs.c (main) [MSDOS]: Call syms_of_xmenu.
2201
2202 * dispnew.c (init_display): Remove MS-DOS specific conditions for
2203 calling tty-set-up-initial-frame-faces.
2204
b8ff72fa
SM
2205 * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show):
2206 Allow MSDOS frames along with X frames.
aac0c6e3
MR
2207
2208 * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in
2209 addition to output_termcap.
2210
2211 * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode.
2212
2213 * termchar.h (FRAME_TTY): Support output_msdos_raw.
2214 (struct tty_display_info) [MSDOS]: Add fields related to mouse
2215 highlight.
2216
2217 * process.c [!subprocesses]: Define QCname.
2218 (syms_of_process): Intern and staticpro it.
2219
2220 * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
b8ff72fa
SM
2221 Adjust for changes in encoding/decoding routines.
2222 Use encode_coding_object and decode_coding_object instead of
aac0c6e3
MR
2223 encode_coding and decode_coding.
2224
b8ff72fa 2225 * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as argument.
aac0c6e3
MR
2226
2227 * dosfns.c: Include frame.h before termhooks.h.
2228 (dos_cleanup): Use CURTTY ()->termscript instead of a global
2229 variable termscript.
2230
2231 * s/msdos.h (USER_FULL_NAME): Define.
2232 (SYSTEM_PURESIZE_EXTRA): Bump up to 100K.
2233
2234 * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined.
2235 (Fuser_full_name): Use USER_FULL_NAME instead of a literal
2236 pw->pw_gecos.
2237
2238 * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with
2239 SELECTED_FRAME as additional (1st) argument.
2240 (tty_read_avail_input): Handle output_msdos_raw in
2241 addition to output_termcap.
2242
2243 * msdos.c: Include frame.h before termhooks.h.
2244 (mouse_on, mouse_off, mouse_moveto, mouse_init)
2245 (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs)
2246 (show_mouse_face, IT_clear_end_of_line, IT_clear_screen)
2247 (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto)
2248 (IT_set_terminal_modes, IT_reset_terminal_modes)
2249 (IT_set_frame_parameters): Use tty->termscript instead of a global
2250 variable termscript.
2251 (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a
2252 global variable terminal_coding. Don't refer to
2253 Vnonascii_translation_table.
2254 (internal_terminal_init): Set Vwindow_system in current_kboard.
2255 Don't use TTY_CHAR_INS_DEL_OK. Set Vinitial_window_system.
2256 Announce date and time of session start, if termscript is open.
2257 Don't zero out the_only_display_info (it is done in
b8ff72fa
SM
2258 term.c:init_tty). Open termscript only of not already open.
2259 Log "SCREEN SAVED" here, instead of IT_set_terminal_modes. Init mouse
aac0c6e3
MR
2260 here instead of dos_ttraw. Don't initialize display if this is an
2261 initial tty. Don't set FRAME_FONT.
2262 (Vwindow_system_version): Bump to 23.
2263 (dos_ttraw): Accept a TTY argument; all callers fixed. If mouse
2264 is available, set up mouse_position_hook.
2265 (dos_ttraw, IT_set_terminal_modes): If called with initial
2266 terminal, do nothing.
2267 (IT_set_frame_parameters): Handle the Qtty_type frame
2268 parameter by calling internal_terminal_init.
2269 (dos_set_window_size, show_mouse_face)
2270 (clear_mouse_face, IT_note_mode_line_highlight)
2271 (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date)
2272 (dos_rawgetc): Use tty_display_info instead of x_display_info.
2273 (initialize_msdos_display): New function.
2274 (IT_cursor_to, IT_clear_to_end, IT_clear_screen)
2275 (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs)
2276 (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes)
2277 (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin):
b8ff72fa 2278 Accept additional argument: a pointer to a frame. Update all callers.
aac0c6e3
MR
2279 (request_sigio, unrequest_sigio): Don't define, now defined on
2280 sysdep.c.
2281 (IT_write_glyphs): Rewrite to use encode_terminal_code.
2282
2283 * term.c [MSDOS]: Include msdos.h.
2284 (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch. Change cpp
2285 conditional to DOS_NT. Allow only one call to this function in a
2286 session. Don't allocate a new struct tty_display_info; instead,
2287 reuse the_only_display_info. Call get_tty_size to get screen
2288 dimensions. Call init_baud_rate to set bad_rate.
2289 (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body.
2290 (Fsuspend_tty) [MSDOS]: Don't close input and output.
b8ff72fa 2291 (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use stdin/stdout.
aac0c6e3
MR
2292 (get_tty_terminal, get_named_tty, Ftty_type)
2293 (Fcontrolling_tty_p): Handle output_msdos_raw in addition to
2294 output_termcap.
b8ff72fa
SM
2295 (Fresume_tty, Fsuspend_tty, init_tty, delete_tty):
2296 Call add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor
2ae37cf0 2297 only when subprocesses are supported.
aac0c6e3
MR
2298
2299 * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of
2300 f->output_data.x.
2301 (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new
2302 terminal devices.
2303
5582fbc7 2304 * msdos.h: Remove definition of struct x_display_info and struct
aac0c6e3
MR
2305 x_output.
2306 (FRAME_FONT): Use output_data.tty.
2307 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define.
b8ff72fa
SM
2308 (struct x_display_info): Rename from display_info. Update all users in
2309 msdos.c.
aac0c6e3 2310 (struct x_output): Remove background_pixel and foreground_pixel.
b8ff72fa 2311 (the_only_display_info): Rename from the_only_x_display.
aac0c6e3
MR
2312 (dos_ttraw): Update prototype.
2313
2314 * Makefile.in (MSDOS_OBJ): Add xmenu.o.
2315 (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc.
2316
23172008-08-23 Jason Rumney <jasonr@gnu.org>
2318
2319 * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword.
2320 (fn_TIFFSetDirectory): New library function used.
2321 (init_tiff_functions) [HAVE_NTGUI]: Initialize it.
2322 (tiff_load): Use :index to select among multiple images. Set count
2323 property when multiple images exist.
2324 (gif_format): Use :index, not :image.
2325
23262008-08-23 Chong Yidong <cyd@stupidchicken.com>
2327
2328 * xdisp.c (try_scrolling): Check INT_MAX instead of
2329 MOST_POSITIVE_FIXNUM for maximum integer value. Include limits.h
2330 to obtain INT_MAX.
2331
23322008-08-21 İsmail Dönmez <ismail@namtrac.org> (tiny change)
2333
2334 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+.
2335
23362008-08-21 Christian Faulhammer <opfer@gentoo.org> (tiny change)
2337
2338 * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate
2339 GNUstep library location.
2340
23412008-08-21 Chong Yidong <cyd@stupidchicken.com>
2342
2343 * xfaces.c (x_update_menu_appearance): Check validity of menu font
2344 before using it.
2345
2346 * puresize.h (BASE_PURESIZE): Increase to 1250000.
2347
23482008-08-20 Adrian Robert <Adrian.B.Robert@gmail.com>
2349
2350 * nsfns.m (ns-read-file-name): Add casts to avoid warning.
2351 (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly.
2352 * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil.
2353 * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration.
2354 (EmacsApp-cursor_blink_handler): Remove declaration.
2355 * nsterm.m (ns_draw_glyph_string): Update first conditional body to
2356 match 01 Feb 2008 changes in xterm.c.
2357 (ns_read_socket): Add cast to avoid warning.
2358 (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on
2359 GNUstep.
2360
23612008-08-20 Chong Yidong <cyd@stupidchicken.com>
2362
2363 * xselect.c (x_get_foreign_selection): Return nil if desired
2364 selection could not be obtained, instead of signalling an error.
2365
23662008-08-20 David Reitter <david.reitter@gmail.com>
2367
2368 * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c.
2369 * nsterm.m: Remove ns-specific code for cursor blinking.
2370 (ns_draw_window_cursor): Clear cursor properly rather than
2371 redrawing the area. Respect width of bar cursors.
2372 These changes enable the use of generic blink-cursor-mode and
2373 generic cursor types in NS and support smooth cursor movements (do
2374 not blink off after command).
2375 * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on
2376 Nextstep, too.
2377
23782008-08-19 Kenichi Handa <handa@m17n.org>
2379
2380 * font.c (Vfont_log_deferred): New variable.
2381 (font_add_log): Check Vfont_log_deferred.
2382 (font_deferred_log): New function.
2383
2384 * font.h (font_deferred_log): Extern it.
2385
2386 * fontset.c (reorder_font_vector): Use encoding charset of fonts
2387 for sorting.
2388 (face_for_char): Use deferred log.
2389
23902008-08-18 Kenichi Handa <handa@m17n.org>
2391
2392 * fontset.c (face_for_char): Add font log.
2393
2394 * font.c (font_add_log): Add the font properties :script, :lang,
2395 and :otf in the log.
2396
23972008-08-17 Chong Yidong <cyd@stupidchicken.com>
2398
2399 * xdisp.c: Remove dead code.
2400 (handle_invisible_prop, next_overlay_string): Defer call to
2401 setup_for_ellipsis.
2402 (handle_stop, set_iterator_to_next): Call setup_for_ellipsis.
2403
24042008-08-15 Chong Yidong <cyd@stupidchicken.com>
2405
2406 * xfaces.c (lookup_derived_face): Properly handle possible zero
2407 return value of get_lface_attributes.
2408 (merge_faces): Don't tell lookup_derived_face to signal an error
2409 if face is not found.
2410
2411 * dired.c (Fdirectory_files): Doc fix.
2412
2413 * process.c (make_process): Initialize kill_without_query struct
2414 member.
2415
24162008-08-15 Eli Zaretskii <eliz@gnu.org>
2417
2418 * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]:
2419 Alternative calculation of totphys for Visual Studio 6.
2420
2421 * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR.
2422
2423 * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX):
2424 Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX.
2425 All users changed.
2426 (stat): Only root directory passed to GetDriveType. Allow RAM
2427 disk as well as local fixed disk when w32-get-true-file-attributes
2428 is set to `local'.
2429 (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs.
2430 (equal_sid, get_length_sid, copy_sid): New wrapper functions.
2431 (w32_cached_id, w32_add_to_cache): New functions.
2432 (get_name_and_id): Look account names in the cache before calling
2433 lookup_account_sid.
2434 (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid):
2435 New initialization flags.
2436 (globals_of_w32): Initialize them to zero.
2437 (w32_system_process_attributes): Use w32_cached_id and
2438 w32_add_to_cache.
2439
24402008-08-14 Lawrence Mitchell <wence@gmx.li>
2441
2442 * lread.c (Fread_char, Fread_char_exclusive): If no character
2443 event is read before timeout is reached, return nil, rather than
2444 converting to a number.
2445
24462008-08-14 Chong Yidong <cyd@stupidchicken.com>
2447
2448 * fns.c (use_dialog_box): Doc fix.
2449
2450 * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful
2451 on OS X.
2452
24532008-08-13 Chong Yidong <cyd@stupidchicken.com>
2454
2455 * frame.c (Qns_parse_geometry): New var.
2456 (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry.
2457
24582008-08-11 Chong Yidong <cyd@stupidchicken.com>
2459
2460 * xdisp.c (x_produce_glyphs): Handle the case when font has no
2461 space character in calculating tabs.
2462
24632008-08-11 Dan Nicolaescu <dann@ics.uci.edu>
2464
2465 * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case.
2466
24672008-08-10 Glenn Morris <rgm@gnu.org>
2468
2469 * process.c (procfs_system_process_attributes): Use EMACS_INTs to
2470 silence gcc "limited range of data type" warnings in some
2471 make_fixnum_or_float calls.
2472
24732008-08-09 Eli Zaretskii <eliz@gnu.org>
2474
2475 * w32.c (w32_system_process_attributes): If the process does not
2476 exist, return nil.
2477
2478 * w32.c: Include thelp32.h, psapi.h and coding.h.
2479 (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct
2480 declarations.
2481 (CreateToolhelp32Snapshot_Proc, Process32First_Proc)
2482 (Process32Next_Proc): New typedefs.
2483 (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first)
2484 (g_b_init_process32_next, g_b_init_open_thread_token)
2485 (g_b_init_impersonate_self, g_b_init_revert_to_self)
2486 (g_b_init_get_process_memory_info, g_b_init_global_memory_status)
2487 (g_b_init_get_process_working_set_size)
2488 (g_b_init_global_memory_status_ex): New static variables.
2489 (globals_of_w32): Initialize them.
2490 (create_toolhelp32_snapshot, process32_first, process32_next)
2491 (open_thread_token, impersonate_self, revert_to_self)
2492 (get_process_memory_info, get_process_working_set_size)
2493 (global_memory_status, global_memory_status_ex): New wrapper
2494 functions.
2495 (w32_list_system_processes, w32_system_process_attributes)
2496 (enable_privilege, restore_privilege, ltime, process_times):
2497 New functions.
2498 (convert_time_raw): New function.
2499 (convert_time): Remove conversion of FILETIME into time in 100
2500 nsec units, call convert_time_raw instead.
2501
2502 * process.h (w32_list_system_processes, w32_system_process_attributes):
2503 Add prototypes.
2504 (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname)
2505 (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime)
2506 (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup)
2507 (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations.
2508
2509 * process.c (Fsystem_process_attributes): Doc fix.
2510
25112008-08-08 Chong Yidong <cyd@stupidchicken.com>
2512
2513 * xdisp.c (move_it_to): When stopping at a charpos, check if that's
2514 a continued multi-char glyph; if so, advance to the actual glyph.
2515
25162008-08-07 Dan Nicolaescu <dann@ics.uci.edu>
2517
2518 * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in.
2519
2520 * Makefile.in (ALL_OBJC_CFLAGS): New variable.
2521 (.m.o): Use it.
2522 * config.in: Regenerate.
2523
25242008-08-07 Chong Yidong <cyd@stupidchicken.com>
2525
2526 * xdisp.c (redisplay_window): Revert last change.
2527 (try_window): Check bottom scroll margin too.
2528
25292008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
2530
2531 * config.in: Regenerate.
2532
2533 * Makefile.in (emacs): Remove ifndef NS conditional for 'emacs
2534 -list-load-path-shadows'.
2535 (nsgui.h): Reduce number of things depending on it.
2536
25372008-08-06 Chong Yidong <cyd@stupidchicken.com>
2538
2539 * xdisp.c (try_scrolling): Use iterator to find the scroll margin,
2540 instead of window-end which does the wrong thing at eob.
2541 (try_cursor_movement): Minor optimization.
2542 (redisplay_window): If scroll margin is defined, don't assume
2543 window doesn't need scrolling.
2544
25452008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
2546
2547 * config.in: Regenerate.
2548
2549 * Makefile.in: Move nsXXX.m dependencies into big alphabetical list.
2550 (mostlyclean): Don't delete *.d under NS.
2551
2552 * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER.
2553
25542008-08-06 Kenichi Handa <handa@m17n.org>
2555
2556 * xfont.c (xfont_list_family): Return a list of symbols, not strings.
2557
25582008-08-06 Andreas Schwab <schwab@suse.de>
2559
2560 * config.in: Regenerate.
2561
25622008-08-05 Chong Yidong <cyd@stupidchicken.com>
2563
2564 * xdisp.c (redisplay_window): Don't enforce scroll-margin when
2565 forcing a window start.
2566
2567 * fileio.c (Vauto_save_list_file_name): Move here from file.el.
2568 (auto_save_1): Update modtime when auto-save-list-file-name is on.
2569
25702008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2571
2572 * emacs.c (main): Under NS, set working dir to HOME when get a "psn"
2573 argument.
2574
25752008-08-05 Juanma Barranquero <lekktu@gmail.com>
2576
2577 * buffer.c (syms_of_buffer) <scroll-up-aggressively>:
2578 <scroll-down-aggressively, before-change-functions>:
2579 <after-change-functions>: Reflow docstrings.
2580
25812008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2582 Ken Raeburn <raeburn@gnu.org>
2583
2584 Dock menu customization, based on a patch by Ken Raeburn, plus some
2585 other fixes.
2586 * nsmenu.m (dockMenu): New variable.
2587 (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17.
2588
2589 * nsterm.h (dockMenu): Declare.
2590
2591 * nsterm.m (KEY_NS_NEW_FRAME): New definition.
2592 (ns_term_init): Initialize dockMenu.
2593 (EmacsApp -newFrame:, -applicationDockMenu:): New methods.
2594 (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame
2595 left.
2596
2597 * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA.
2598
25992008-08-04 Chong Yidong <cyd@stupidchicken.com>
2600
2601 * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it.
2602
2603 * config.in: Regenerate.
2604
26052008-08-04 Seiji Zenitani <zenitani@mac.com>
2606
2607 * nsfns.m (x-create-frame): Set the frame parameter alpha to nil.
2608
26092008-08-04 Chong Yidong <cyd@stupidchicken.com>
2610
2611 * nsterm.h (find_and_call_menu_selection): Fix prototype.
2612
26132008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2614
2615 * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS.
2616
2617 * keyboard.h: Comment an #endif.
2618
2619 * lisp.h (have_menus_p): Adjust comment.
2620
2621 * menu.c (find_and_return_menu_selection): Fix comparison with
2622 client_data.
2623
2624 * nsmenu.m (popup_activated_flag): New variable.
2625 (popup_activated): New function.
2626 (menu-or-popup-active-p): New exported lisp definition.
2627 (ns_popup_menu): Set popup_activated_flag. Call discard_menu_items()
2628 when popup done.
2629 (ns_popup_dialog): Set popup_activated_flag.
2630
2631 * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger
2632 version for GNUstep (handled by conditional typedef in nsterm.m).
2633 (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now
2634 in rgb.txt).
2635
2636 * process.c (init_process): Use DARWIN_OS, not DARWIN.
2637
2638 * sysselect.h: Conditionalize init_process undef on DARWIN_OS.
2639
2640 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS.
2641
2642 * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS,
2643 shortcircuit if popup_activated like GTK and X toolkit.
2644
2645 * m/inter386.h: Change DARWIN to DARWIN_OS.
2646
2647 * s/darwin.h: Add #define DARWIN_OS. Get rid of C_SWITCH_SYSTEM def.
2648 Change LIBS_MACGUI to LIBS_NSGUI. Move temacs-conditionalized defs
2649 closer to C_SWITCH_SYSTEM_TEMACS so usage is understood. Expand
2650 comment on NO_SOCK_SIGIO.
2651
26522008-08-03 Chong Yidong <cyd@stupidchicken.com>
2653
2654 * nsterm.m (windowDidResize): Remove stopModal call.
2655
26562008-08-03 Andreas Schwab <schwab@suse.de>
2657
2658 * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define.
2659 (check_memory_limits): Don't handle HAVE_GETRLIMIT here.
2660
26612008-08-02 Chong Yidong <cyd@stupidchicken.com>
2662
2663 * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin.
2664 Don't use uninitialized pointer variable when using getrlimit.
2665
26662008-08-02 Jason Rumney <jasonr@gnu.org>
2667
2668 * w32font.c (compute_metrics): Don't mess with glyph_idx setting here.
2669
26702008-08-02 Eli Zaretskii <eliz@gnu.org>
2671
2672 * alloc.c (NSTATICS): Bump to 0x640.
2673
2674 * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
2675
2676 * lisp.h: Add prototype for directory_files_internal.
2677
2678 * process.c (Fsystem_processes_list, Fsystem_process_attributes):
2679 New functions.
2680 (syms_of_process): Defsubr them. Add initializations for various
2681 Q* symbols used in procfs_system_process_attributes.
2682 (procfs_list_system_processes, procfs_system_process_attributes)
2683 [HAVE_PROCFS]: New functions.
2684 (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname)
2685 (procfs_get_total_memory): New functions.
2686
26872008-08-01 Juanma Barranquero <lekktu@gmail.com>
2688
2689 * xfaces.c (Fx_load_color_file): Fix previous change;
2690 it is #ifdef WINDOWSNT, not WINDOWS_NT.
2691
26922008-08-01 Michael Albinus <michael.albinus@gmx.de>
2693
2694 * dbusbind.c (xd_read_message): Handle D-Bus error messages.
2695
26962008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2697
2698 * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard.
2699
27002008-08-01 Chong Yidong <cyd@stupidchicken.com>
2701
2702 * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha.
2703
2704 * nsterm.m (EmacsApp -application:openFiles:): GNUstep does not
2705 define NSApplicationDelegateReplySuccess.
2706 (EmacsView -converstationIdentifier): Use long instead of
2707 NSInteger for GNUstep, since it doesn't have NSInteger.
2708
2709 * xmenu.c: Revert last change.
2710
2711 * keyboard.h: Fix last change.
2712
27132008-08-01 Juanma Barranquero <lekktu@gmail.com>
2714
2715 * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting
2716 on Windows.
2717
27182008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2719
2720 Warning clearing and clean-up in NS port.
2721 * keyboard.h (xmalloc_widget_value, digest_single_submenu):
2722 Add prototypes.
2723 * nsgui.h (FACE_DEFAULT): Remove, unused.
2724 (XGCValues): Change colors to unsigned long.
2725 * nsterm.h (EmacsApp): Add declaration of all methods implemented in
2726 nsterm.m.
2727 (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class.
2728 (ns_list_fonts): Remove, unused.
2729 (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes.
2730 * nsfns.m (interpret_services_menu): Use NSMenuItem class.
2731 * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc.
2732 (nsfont_draw): Compare face colors to 0, not nil.
2733 * nsmenu.m (struct widget_value): Drop unneeded declaration.
2734 (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:)
2735 (-addSubmenuWithTitle:): Use NSMenuItem class.
2736 (ns_popup_menu): Use NO, not NULL, for enabled setting.
2737 * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0.
2738 (ns_clip_to_row): Make gc arg a BOOL.
2739 (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in
2740 ns_clip_to_row() call.
2741 (ns_draw_glyph_string): Drop face comparison to ~0 (no longer
2742 used). Cast FRAME_FONT assignments.
2743 (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:.
2744 (ns_string_to_lispmod): Change arg to const char.
2745 (ns_term_init): Use NSMenuItem class.
2746 (EmacsApp -openFile:): Move to different section of file.
2747 (EmacsApp -application:openFiles:): Don't return a value, call
2748 -replyToOpenOrPrint:.
2749 (EmacsView -keyDown:): Fix up cast.
2750 (EmacsView -converstationIdentifier): Use NSInteger instead of long.
2751 (EmacsView -menuDown:): Cast tag in call to
2752 find_and_call_menu_selection().
2753 (ns_list_fonts): Remove, unused.
2754 (ns_font_to_xlfd): Make static. Cast result of UTF8String.
2755 (ns_fontname_to_xlfd): Make static.
2756 * w32menu.c (xmalloc_widget_value, digest_single_submenu):
2757 Remove prototypes (now in keyboard.h).
2758 (next_menubar_widget_id): Remove, unused.
2759 * xmenu.c (xmalloc_widget_value, digest_single_submenu):
2760 Remove prototypes (now in keyboard.h).
2761 * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused.
2762
27632008-08-01 Dan Nicolaescu <dann@ics.uci.edu>
2764
2765 * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o)
2766 (floatfns.o): Depend on syssignal.h.
2767 (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC).
2768
2769 * systty.h: Fix previous change that removed BSD_TERMIOS.
2770 Add comments to #ifdefs.
2771
27722008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2773
2774 * w32fns.c (w32-load-color-file): Remove.
2775 (x-open-connection): Use renamed Fx_load_color_file.
2776 * xfaces.c (x-load-color-file): Add.
2777 * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of
2778 Emacs.clr.
2779 (hide_hourglass): BLOCK_INPUT before UNBLOCK.
2780
27812008-07-31 Michael Albinus <michael.albinus@gmx.de>
2782
2783 * dbusbind.c (Fdbus_call_method_asynchronously)
2784 (Fdbus_method_error_internal): New defuns.
2785 (xd_read_message): Handle also reply messages.
2786 (Vdbus_registered_functions_table): Extend docstring.
2787
27882008-07-31 Juanma Barranquero <lekktu@gmail.com>
2789
2790 * keyboard.c (gobble_input): Fix previous change.
2791
27922008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
2793
2794 * bitmaps/README:
2795 * xfns.c:
2796 * termcap.c:
2797 * term.c:
2798 * syswait.h:
2799 * systty.h:
2800 * systime.h:
2801 * syssignal.h:
2802 * sysdep.c:
2803 * process.h:
2804 * process.c:
2805 * print.c:
2806 * ndir.h:
2807 * lread.c:
2808 * keyboard.c:
2809 * getpagesize.h:
2810 * floatfns.c:
2811 * fileio.c:
2812 * emacs.c:
2813 * doc.c:
2814 * dispnew.c:
2815 * dired.c:
2816 * data.c:
2817 * callproc.c:
2818 * buffer.c:
2819 * README:
2820 * Makefile.in:
2821 * s/template.h:
2822 * s/msdos.h:
2823 * m/vax.h: Remove VMS support.
2824 * s/vms.h:
2825 * vlimit.h:
2826 * uaf.h:
2827 * temacs.opt:
2828 * param.h:
2829 * ioctl.h: Remove file.
2830
28312008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
2832
2833 * s/ms-w32.h (MULTI_KBOARD): Remove.
2834 * xterm.c:
2835 * xselect.c:
2836 * xfns.c:
2837 * window.c:
2838 * w32term.c:
2839 * w32fns.c:
2840 * terminal.c:
2841 * termhooks.h:
2842 * term.c:
2843 * sysdep.c:
2844 * keyboard.h:
2845 * keyboard.c:
2846 * frame.h:
2847 * frame.c:
2848 * frame.c: Remove references to MULTI_KBOARD, it is now the default.
2849 * config.in: Regenerate.
2850
28512008-07-30 Jason Rumney <jasonr@gnu.org>
2852
2853 * w32font.h (struct w32font_info): Use unicode version of textmetrics.
2854
2855 * w32font.c (w32font_encode_char): Leave as unicode if in range.
2856 (w32font_open_internal): Get unicode version of textmetrics.
2857 Don't enable or disable glyph indices here.
2858 (w32font_open): Disable use of glyph indices.
2859
2860 * w32uniscribe.c (uniscribe_open): Enable use of glyph indices.
2861
28622008-07-30 Chong Yidong <cyd@stupidchicken.com>
2863
2864 * minibuf.c (Vread_buffer_function): Doc fix.
2865
28662008-07-30 John Paul Wallington <jpw@pobox.com>
2867
2868 * minibuf.c (read_buffer_completion_ignore_case): New var.
2869 (Fread_buffer): Use it.
2870
28712008-07-30 Dan Nicolaescu <dann@ics.uci.edu>
2872
2873 * systty.h (sensemode): Remove empty #if. Remove reference to
2874 BSD_TERMIOS, unused.
2875
2876 * sysdep.c: Remove reference to DGUX.
2877 (closedir): Remove reference to BROKEN_CLOSEDIR, unused.
2878
2879 * config.in: Regenerate.
2880
28812008-07-30 Jason Rumney <jasonr@gnu.org>
2882
2883 * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size.
2884
28852008-07-29 Jason Rumney <jasonr@gnu.org>
2886
2887 * w32uniscribe.c (uniscribe_shape): Avoid using context if cache
2888 is populated.
2889 (uniscribe_encode_char): Always use uniscribe.
2890 Avoid using context if cache is populated.
2891
28922008-07-29 Jan Djärv <jan.h.d@swipnet.se>
2893
2894 * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to
2895 open menu.
2896
2897 * gtkutil.c (menu_nav_ended): Remove.
2898 (create_menus): Remove signal connect for menu_nav_ended.
2899
29002008-07-28 Chong Yidong <cyd@stupidchicken.com>
2901
2902 * xdisp.c (redisplay_window): Check return value of
2903 compute_window_start_on_continuation_line before forcing a window
2904 start.
2905
29062008-07-28 Jason Rumney <jasonr@gnu.org>
2907
2908 * w32font.c (w32font_text_extents): Use w32_metric_cache consistently.
2909
2910 * w32term.c (w32_enable_unicode_output, cleartype_active):
2911 Remove obsolete display options.
2912 (x_draw_glyph_string_background): Don't use old cleartype_active
2913 workaround.
2914 (w32_initialize): Remove cleartype_active initialization.
2915 (syms_of_w32term): Remove w32_enable_unicode_output initialization.
2916
29172008-07-28 Andreas Schwab <schwab@suse.de>
2918
2919 * lisp.h (init_weak_hash_tables, syms_of_font)
2920 (xd_read_queued_messages, syms_of_dbusbind): Declare.
2921 (remove_hash_entry): Don't declare.
2922 * eval.c (maybe_call_debugger): Make static and move before use.
2923 * gtkutil.c: Include <X11/Xft/Xft.h> if HAVE_XFT.
2924 * xdisp.c: Include "gtkutil.h" if USE_GTK.
2925 * xterm.h (x_set_frame_alpha): Declare.
2926
29272008-07-28 Jan Djärv <jan.h.d@swipnet.se>
2928
2929 * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24.
2930 (create_menus): Connect selection-done to menu_nav_ended.
2931
29322008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
2933
2934 * nsfns.m (x-create-frame): Add copy of parms argument to beginning.
2935 Set Vx_resource_name to a fallback. Replace read of 'buffered'
2936 parameter with read of 'alpha' one.
2937 (Qns_frame_parameter): Remove.
5582fbc7 2938 * nsselect.m (selection-coding-system)
aac0c6e3
MR
2939 (next-selection-coding-system, Vselection_coding_system)
2940 (Vnext_selection_coding_system): Drop.
2941
29422008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
2943
2944 * nsfns.m (do-applescript, do_applescript): Rename to
2945 ns-do-applescript, ns_do_applescript, and move within file.
2946
29472008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
2948
2949 Remove support for Mac Carbon.
2950 * mactoolbox.c:
2951 * macterm.h:
2952 * macterm.c:
2953 * macselect.c:
2954 * macmenu.c:
2955 * macgui.h:
2956 * macfns.c:
2957 * mac.c: Remove file.
2958 * s/darwin.h:
2959 * m/intel386.h:
2960 * xfaces.c:
2961 * xdisp.c:
2962 * window.c:
2963 * tparam.c:
2964 * termhooks.h:
2965 * termcap.c:
2966 * term.c:
2967 * syssignal.h:
2968 * sysselect.h:
2969 * sysdep.c:
2970 * process.c:
2971 * lread.c:
2972 * lisp.h:
2973 * keyboard.c:
2974 * image.c:
2975 * fringe.c:
2976 * frame.h:
2977 * frame.c:
2978 * fontset.c:
2979 * font.h:
2980 * font.c:
2981 * fns.c:
2982 * fileio.c:
2983 * emacs.c:
2984 * dispnew.c:
2985 * dispextern.h:
2986 * config.in:
2987 * atimer.c:
2ae37cf0 2988 * Makefile.in: Remove code for Carbon.
aac0c6e3 2989
f0131492 29902008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aac0c6e3
MR
2991
2992 * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.
2993
29942008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2995
2996 * macterm.h (kCGBitmapByteOrder32Host): New define for
2997 non-universal SDKs.
2998
2999 * image.c (mac_create_cg_image_from_image, image_load_image_io)
3000 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
3001
3002 * macterm.c (XDrawLine, XCreatePixmapFromBitmapData)
3003 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
3004
30052008-07-26 David Robinow <drobinow@gmail.com> (tiny change)
3006
3007 * w32inevt.c: Include dispextern.h.
3008
30092008-07-26 Andreas Schwab <schwab@suse.de>
3010
3011 * print.c (print_object): Fix off-by-one in last change.
3012
30132008-07-25 Juanma Barranquero <lekktu@gmail.com>
3014
3015 * term.c (syms_of_term): Don't initialize default_orig_pair,
3016 default_set_foreground and default_set_background on Windows.
3017
30182008-07-25 Jason Rumney <jasonr@gnu.org>
3019
3020 * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to
3021 ScriptItemize. Clean up return value checking. Remove unused
3022 variables.
3023 (uniscribe_encode_char): Encode non-BMP characters with uniscribe
3024 shaping engine.
3025
3026 * w32font.c (w32font_has_char): Handle the case where we can't
3027 determine the script for a character.
3028
30292008-07-25 Chong Yidong <cyd@stupidchicken.com>
3030
3031 * term.c (syms_of_term): Initialize default_orig_pair,
3032 default_set_foreground, and default_set_background.
3033
3034 * getloadavg.c (nl): Rename to name_list to avoid ncurses.h
3035 clash (bug#86).
3036 (getloadavg): Callers changed.
3037
3038 * image.c (svg_load_image): Fix last change.
3039 (svg_load_image): Use rsvg_handle_get_dimensions to check that
3040 image size is valid. Use g_object_unref instead of deprecated
3041 rsvg_handle_free to free rsvg handle.
3042 (x_from_xcolors): Don't initialize pixmap (silence compiler).
3043
30442008-07-25 Jason Rumney <jasonr@gnu.org>
3045
3046 * w32font.c (w32font_encode_char): Encode characters outside BMP as
3047 surrogates before looking up glyph index.
3048 (w32font_text_extents): Encode as surrogates if falling back to
3049 functions that need UTF-16 wide chars.
3050
3051 * w32uniscribe.c (uniscribe_encode_char): Encode characters outside
3052 BMP as surrogates before looking up glyph index.
3053
30542008-07-25 Chong Yidong <cyd@stupidchicken.com>
3055
3056 * image.c (svg_load_image): Check for failure in return value of
3057 rsvg_handle_get_pixbuf. Free rsvg handle when done.
3058
30592008-07-25 Jason Rumney <jasonr@gnu.org>
3060
3061 * w32font.c (Fx_select_font): Reverse sense of second arg.
3062
30632008-07-24 Stefan Monnier <monnier@iro.umontreal.ca>
3064
3065 * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos)
3066 (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions.
3067
3068 * puresize.h (PURESIZE_CHECKING_RATIO): New macro.
3069 (PURESIZE): Use it.
3070
30712008-07-24 Dan Nicolaescu <dann@ics.uci.edu>
3072
3073 * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs.
3074 * m/alpha.h (TEXT_END):
3075 * m/ibmrs6000.h (TEXT_END):
3076 * m/macppc.h (TEXT_END):
3077 * s/darwin.h (TEXT_END):
3078 * s/msdos.h (TEXT_END): Remove, unused.
3079 * s/gnu-linux.h (BSD_PGRPS): Add a comment.
3080 * s/cygwin.h: Remove comment.
3081
3082 * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused.
3083 (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES.
3084 * m/intel386.h (DOT_GLOBAL_START):
3085 * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES.
3086 (USG): Remove, file not used on USG platforms.
3087
3088 * Makefile.in (HAVE_X11): Remove empty #else.
3089
30902008-07-24 Andreas Schwab <schwab@suse.de>
3091
3092 * fileio.c (Finsert_file_contents): Properly adjust undo list
3093 after format conversion.
3094
30952008-07-24 Jan Djärv <jan.h.d@swipnet.se>
3096
3097 * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG.
3098 (menu_nav_ended): Remove.
3099 (create_menus): Remove signal connect for menu_nav_ended.
3100 (xg_update_menubar): Also take deactivate_cb as parameter, pass it to
3101 create_menus.
3102 (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar.
3103
31042008-07-23 Jason Rumney <jasonr@gnu.org>
3105
3106 * w32font.c (w32_enumfont_pattern_entity): Return height consistent
3107 with opened font.
3108 (w32font_open): Set font type to gdi.
3109
3110 * w32uniscribe.c (uniscribe_open): Set font type to uniscribe.
3111
31122008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
3113
3114 * s/usg5-4.h (ADDR_CORRECT): Remove, unused.
3115 * unexaix.c (ADDR_CORRECT): Remove conditional, the only user
3116 defines it.
3117 * unexec.c (ADDR_CORRECT): Define unconditionally.
3118
3119 * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove.
3120
3121 * unexec.c: Remove code depending on !COFF and USG, the file is
3122 not used for such systems.
3123
3124 * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
3125 * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused.
3126 (LD_SWITCH_SYSTEM_1): Remove, update users.
3127
3128 * s/darwin.h (DATA_END):
3129 * m/intel386.h (DATA_END):
3130 * m/ibmrs6000.h (DATA_END):
3131 * m/alpha.h (DATA_END): Remove, unused.
3132
3133 * config.in: Regenerate.
3134 * s/ms-w32.h (subprocesses): Define unconditionally.
3135 * s/template.h (subprocesses): Update comment.
3136 * s/vms.h (subprocesses):
3137 * s/usg5-4.h (subprocesses):
3138 * s/hpux10-20.h (subprocesses):
3139 * s/gnu-linux.h (subprocesses):
3140 * s/cygwin.h (subprocesses):
3141 * s/bsd-common.h (subprocesses):
3142 * s/aix4-2.h (subprocesses):
3143 * s/darwin.h (subprocesses): Do not define, defined by default now.
3144
3145 * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused.
3146 Remove all references.
3147 (temacs): Add GNUstep specific ld flags.
3148
3149 * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing,
3150 similarly to what X does.
3151
31522008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
3153
3154 * nsfns.m (x-list-fonts): Remove.
3155 (syms_of_nsfns): Drop the x-list-fonts declaration.
3156 * nsterm.m: Get rid of remaining "//" comments.
3157
31582008-07-22 Chong Yidong <cyd@stupidchicken.com>
3159
3160 * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
3161
3162 * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p)
3163 (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal)
3164 (Fns_own_selection_internal, Fx_disown_selection_internal)
3165 (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal):
3166
3167 * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /*
3168 ... */' style of docstrings. Doc fixes.
3169
31702008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
3171
3172 * terminfo.c (UP, BC, PC): Undo previous change.
3173
3174 * nsfns.m: Rename ns prefixed functions/variables to the
3175 corresponding x versions. Update references.
3176
31772008-07-22 Stefan Monnier <monnier@iro.umontreal.ca>
3178
3179 * syntax.c (char_quoted): Check "charpos > beg" before decrementing.
3180
31812008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
3182
3183 * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):
3184 Remove forwarding functions.
3185 (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make
3186 non-static.
3187 (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make
3188 non-static.
3189 (ns_frame_parm_handlers): Use the new names.
3190 (syms_of_nsfns): Move to the end of file.
3191
3192 * nsterm.m (syms_of_nsterm): Move to the end of file.
3193
3194 * dispnew.c (init_display): Remove code for X10.
3195
31962008-07-22 Jason Rumney <jasonr@gnu.org>
3197
3198 * w32proc.c (Fw32_long_file_name): Don't append dir separator to
3199 bare drive.
3200
32012008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
3202
3203 * nsterm.m (syms_of_nsterm): Remove debugging println.
3204
32052008-07-22 David Reitter <david.reitter@gmail.com>
3206
3207 * nsfns.m (do_applescript, F_do_applescript): NS version of the
3208 Carbon implementation of the same functionality: execute arbitrary
3209 AppleScript code.
3210
32112008-07-21 Adrian Robert <Adrian.B.Robert@gmail.com>
3212
3213 * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
3214 (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
3215 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
3216 (Fx_display_mm_height, Fx_display_mm_width)
3217 (Fx_display_backing_store, Fx_display_visual_class)
3218 (Fx_display_save_under, Fx_open_connection)
3219 (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
3220 (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
3221 (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
3222 (Fx_display_pixel_width, Fx_display_pixel_height)
3223 (Fx_display_usable_bounds, Fx_display_planes)
3224 (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
3225 ... */' style of docstrings.
3226
32272008-07-21 Dan Nicolaescu <dann@ics.uci.edu>
3228
3229 * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
3230 on this platform.
3231 (mips):
3232 * m/iris4d.h (mips): Do not define.
3233 * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
3234
3235 * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
3236
3237 * image.c:
3238 * nsfns.m:
3239 * nsselect.m:
3240 * nsterm.h:
3241 * nsterm.m: Rename ns prefixed functions/variables to the
3242 corresponding x versions. Update references.
3243
3244 * m/ibms390x.h (NO_REMAP): Do not undefine.
3245
3246 * m/amdx86-64.h: Use SOLARIS2 instead of sun.
3247
32482008-07-21 Chong Yidong <cyd@stupidchicken.com>
3249
3250 * nsfns.m: Change NS to Nextstep in docstrings and error messages.
3251 (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
3252 (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
3253 (Fns_server_vendor, Fns_server_version, Fns_display_screens)
3254 (Fns_display_mm_height, Fns_display_mm_width)
3255 (Fns_display_backing_store, Fns_display_visual_class)
3256 (Fns_display_save_under, Fns_open_connection)
3257 (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
3258 (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
3259 (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
3260 (Fns_display_pixel_width, Fns_display_pixel_height)
3261 (Fns_display_usable_bounds, Fx_display_planes)
3262 (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
3263
32642008-07-21 Ami Fischman <ami@fischman.org> (tiny change)
3265
3266 * print.c (print_object): Check print_depth before searching for
3267 circularities.
3268
32692008-07-21 Michael Albinus <michael.albinus@gmx.de>
3270
3271 * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
3272 only sprintf.
3273
32742008-07-21 Kenichi Handa <handa@m17n.org>
3275
3276 * ftfont.c (adjust_anchor): Check if DeltaValue is not NULL.
3277
32782008-07-20 Andreas Schwab <schwab@suse.de>
3279
3280 * syntax.c (find_start_pos, find_start_value)
3281 (find_start_value_byte, find_start_begv, find_defun_start)
3282 (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions.
3283
32842008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
3285
3286 * s/sol2-3.h: Insert contents of s/sol2.h.
3287 (LD_SWITCH_SYSTEM): Remove redundant definition.
3288 * s/sol2.h: Remove, unused.
3289
32902008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
3291
3292 * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV.
3293
32942008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
3295
3296 * Makefile.in (ns_appdir): Fix typo in find command.
3297
32982008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
3299
3300 * m/intel386.h (NO_REMAP): Do no define for USG, not used.
3301
3302 * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
3303 added not supported anymore.
3304
3305 * s/usg5-4-2.h (LIBS_SYSTEM):
3306 * s/sol2.h (LIBS_SYSTEM): Do not undefine.
3307
3308 * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
3309 * s/lynxos.h (GETPGRP_NO_ARG):
3310 * s/hpux10-20.h (NO_SIOCTL_H):
3311 * s/gnu.h (GETPGRP_NO_ARG):
3312 * s/gnu-linux.h (NO_SIOCTL_H):
3313 * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
3314 * s/cygwin.h (GETPGRP_NO_ARG):
3315 * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
3316 (C_DEBUG_SWITCH): Remove duplicate definition.
3317
3318 * m/ibms390.h: Remove boilerplate comments.
3319
3320 * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
3321
3322 * process.c (HAVE_SERIAL): Consolidate ifdefs.
3323 (wait_reading_process_output): Remove code for SunOS, platform not
3324 supported anymore. Use SOLARIS2 instead of sun.
3325
33262008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3327
3328 * font.c (font_open_by_name): Under NS, default lface height to zero.
3329 (font_open_for_lface): Under NS, set size based on frame fontsize.
3330 * nsterm.m (EmacsView-changeFont:): Remove some commented code.
3331 * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
3332
33332008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3334
3335 * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
3336 (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
3337 DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
3338 YES/NO.
3339 * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
3340 * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
3341 * Makefile.in (clean): Clear out build destination dir.
3342
33432008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3344
3345 * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
3346 xterm, xselect.
3347 * lisp.h: Remove declaration of hash_remove.
3348 * nsgui.h: Remove redefinitions of hash_remove.
3349 * fns.c (hash_remove): Rename to hash_remove_from_table.
3350
33512008-07-19 Seiji Zenitani <zenitani@mac.com>
3352
3353 * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
3354 strdup() the family UTF8String before modifying it.
3355
33562008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3357
3358 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
3359 NS_FACE_BACKGROUND with 0 instead of nil.
3360 * nsfont.m (nsfont_draw): Same.
3361
33622008-07-19 Chong Yidong <cyd@stupidchicken.com>
3363
3364 * nsfns.m (ns_set_background_color): Fix crash.
3365
33662008-07-18 Chong Yidong <cyd@stupidchicken.com>
3367
3368 * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
3369
33702008-07-18 Dan Nicolaescu <dann@ics.uci.edu>
3371
3372 * puresize.h (BASE_PURESIZE): Increase to 1240000.
3373
33742008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3375
3376 * gtkutil.c: Include <config.h> instead of "config.h".
3377
3378 * lisp.h (Foverlay_buffer): Add EXFUN.
3379
3380 * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
3381 child process to complete child_setup. Undo 2005-09-21 change.
3382
3383 * s/darwin.h: Mention setsid after vfork.
3384
33852008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3386
3387 * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
3388 Depend on macgui.h.
3389
3390 * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
3391 gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
3392
3393 * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
3394 and f19.
3395 [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
3396
3397 * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
3398 (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
3399 Remove enumerators.
3400
3401 * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
3402 Check if FACE_FROM_ID returns NULL.
3403
34042008-07-17 David Robinow <drobinow@gmail.com> (tiny change)
3405
3406 * w32inevt.c (change_frame_size): Remove extern declaration.
3407 (resize_event, maybe_generate_resize_event): Pass SAFE arg to
3408 change_frame_size.
3409
34102008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
3411
3412 * getloadavg.c: Revert last change (2008-07-15).
3413
34142008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
3415
3416 * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
3417 set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc) set
3418 from configure.
3419
34202008-07-17 Dan Nicolaescu <dann@ics.uci.edu>
3421
3422 * s/sol2.h:
3423 * s/sol2-4.h: Reorganize conditionals.
3424
3425 * ecrt0.c: Remove code depending on m68000, not used anymore.
3426
3427 * fns.c (hash_remove): Make static.
3428 * lisp.h (hash_remove): Don't prototype.
3429
3430 * m/ibmrs6000.h:
3431 * m/ibms390x.h:
3432 * m/macppc.h: Remove boilerplate comments.
3433
3434 * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
3435 Solaris, which does not need them.
3436
3437 * m/vax.h: Remove comments about unsupported systems.
3438
3439 * s/darwin.h: Reorganize ifdefs.
3440
34412008-07-17 Andreas Schwab <schwab@suse.de>
3442
3443 * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
3444
34452008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
3446
3447 Use SDATA. Follow coding convention of placing operators at
3448 beginning of next line rather than end of previous line, and placing
3449 spaces around infix operators.
3450
3451 * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
3452 in case it was defined already.
3453 USE @GNUSTEP_MAKEFILES@ rather than envvars.
3454 * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
3455 ns_default.
3456 (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
3457 Lisp_Objects.
3458 * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
3459 (ns_defined_color, ns_color_to_lisp): Declare.
3460 * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
3461 (Fns_own_selection_internal): Make the big ugly hack more explicit, so
3462 it's accepted even with USE_LISP_UNION_TYPE.
3463 * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
3464 (update_frame_tool_bar): Remove apparently obsolete tests for
3465 non-integerness of f->tool_bar_lines.
3466 (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
3467 hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
3468 * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
3469 (nsfont_open): Don't confuse NULL for Qnil.
3470 * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
3471 * menu.h (find_and_call_menu_selection):
3472 * menu.c (find_and_call_menu_selection): Use just int for vector size.
3473 (find_and_return_menu_selection): Always return something.
3474 * frame.h: Include dispextern.h for Display_Info.
3475 (display_x_get_resource): Declare.
3476
34772008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
3478
3479 * syntax.c: Remove stdio.h include accidentally introduced in
3480 Emacs.app commit.
3481 * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
3482 NS_IMPL_COCOA.
3483 * keyboard.c (handle_async_input, input_available_signal): Remove
3484 BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
3485
34862008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
3487
3488 * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
3489 (ns_lisp_to_color): Don't mess with internal Lisp data fields.
3490 (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
3491 Use SDATA.
3492
3493 * keymap.c: Remove all NS-specific code.
3494 (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
3495 (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
3496 where_is_preferred_modifier, return a different value depending on how
3497 preferred is the binding.
3498 (where_is_internal): Adjust accordingly.
3499 (Fwhere_is_internal): Refresh where_is_preferred_modifier.
3500 Adjust to new preferred_sequence_p.
3501 (syms_of_keymap): Declare `where-is-preferred-modifier'.
3502 * keyboard.c (parse_solitary_modifier): Not static any more.
3503 * keyboard.h (parse_solitary_modifier): Declare.
3504
35052008-07-16 Andreas Schwab <schwab@suse.de>
3506
3507 * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
3508 of easymenu.
3509
35102008-07-16 Chong Yidong <cyd@stupidchicken.com>
3511
3512 * xdisp.c (move_it_in_display_line): Account for word wrap, so
3513 that we don't move off the line.
3514
35152008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
3516
3517 * keyboard.c (Qsuper): Remove.
3518 (parse_menu_item): Don't call where_is_internal specially for NS.
3519
35202008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
3521
3522 * s/gnu-linux.h: Remove boilerplate comments.
3523
3524 * m/alpha.h (__ELF__): Consolidate conditions.
3525
3526 * m/m68k.h (linux): Use GNU_LINUX instead.
3527 Remove boilerplate comments.
3528
3529 * m/intel386.h: Undo refactoring from previous change.
3530 (LIB_STANDARD): All systems that define USG define LIB_STANDARD
3531 too, remove dead code.
3532 (linux): Use GNU_LINUX instead.
3533
35342008-07-16 Jason Rumney <jasonr@gnu.org>
3535
3536 * w32gui.h: Repeat 26 June changes lost by last change.
3537
35382008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
3539
3540 * systty.h: Remove code for Aix on 386, unsupported platform.
3541
3542 * s/ms-w32.h: Remove boilerplate comments.
3543 (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
3544
3545 * s/gnu-linux.h (TERM): Remove support.
3546 (HAVE_SYSVIPC): Remove, unused.
3547 (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
3548 for this system.
3549
3550 * process.c: Remove support for IRIS, unused.
3551 Remove support for TERM, not relevant anymore.
3552
3553 * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
3554 used with the definition.
3555
3556 * s/aix4-2.h (static): Do not undef.
3557
3558 * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
3559 only used on Aix.
3560 (HAVE_SYSVIPC): Remove, unused.
3561
3562 * m/hp800.h (CANNOT_DUMP): Do not undef.
3563
3564 * m/alpha.h: Fix comment.
3565
3566 * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
3567 (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
3568 used by this configuration.
3569 * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
3570 * unexec.c: Remove code depending on HPUX and
3571 USG_SHARED_LIBRARIES, not used with this file. Remove code
3572 depending on IRIS, unused. Remove if 0-ed code.
3573
3574 * s/template.h: Remove comments about static.
3575
3576 * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
3577 Remove if 0-ed code.
3578 (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
3579 were the same as the default.
3580 * s/vms.h (BAUD_CONVERT): Remove, same as the default.
3581 Remove boilerplate comments.
3582 * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
3583 (HAVE_SYSVIPC): Remove, unused.
3584 (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
3585
3586 * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
3587 Remove boilerplate comments.
3588 * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
3589 Remove boilerplate comments.
3590 * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
3591 Remove boilerplate comments.
3592 * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
3593
3594 * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
3595 USG systems which do not use DATA_SEG_BITS.
3596 Refactor code. Remove boilerplate comments.
3597
3598 * m/ibms390.h:
3599 * m/m68k.h:
3600 * s/bsd-common.h:
3601 * s/cygwin.h:
3602 * s/darwin.h:
3603 * s/freebsd.h:
3604 * s/gnu.h:
3605 * s/msdos.h: Remove boilerplate comments.
3606
3607 * m/iris4d.h: Remove boilerplate comments and code for systems that
3608 do not use this file.
3609 (IRIS_4D): Remove, unused.
3610
3611 * m/mips.h: Remove boilerplate comments and code for systems that
3612 do not use this file.
3613 (SIGN_EXTEND_CHAR):
3614 * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
3615 * unexmips.c: Remove file, unused.
3616
3617 * editfns.c (Fuser_full_name): Replace the only use of
3618 USER_FULL_NAME with its value.
3619 * config.in: Regenerate.
3620
36212008-07-16 David Reitter <david.reitter@gmail.com>
3622
3623 * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
3624 easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
3625
36262008-07-16 Glenn Morris <rgm@gnu.org>
3627
3628 * emacs.c (system-type): Doc fix.
3629
36302008-07-15 Stefan Monnier <monnier@iro.umontreal.ca>
3631
3632 * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
3633 If the cache doesn't work, let's fix it, rather than work around it.
3634
36352008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
3636
3637 * Makefile.in: Correct additions for nsfont.o in last commit.
3638 * nsfont.m: New file (forgot last commit).
3639
36402008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
3641
3642 * callproc.c (set_initial_environment): Initialize
3643 Vprocess_environment under CANNOT_DUMP (fixes crash when
3644 batch-compiling for bootstrap).
3645
36462008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
3647 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3648
3649 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
3650 fix crash due to different init order.
3651
36522008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
3653
3654 Changes and additions for NeXTstep windowing system (Cocoa and
3655 GNUstep) support.
3656
3657 * Makefile.in:
3658 * config.in: Support defines and build commands for NS port.
3659 * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
3660 (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
3661 * dispextern.h: Include nsgui.h and add needed typedefs under NS
3662 windowing.
3663 (struct face): Add synth_ital field.
3664 * dispnew.c: Include nsterm.h when compiling under NS windowing.
3665 (init_display): Initialize Vinitial_window_system to "ns" when so
3666 compiled.
3667 * emacs.c: Include GSConfig.h when compiling under GNUstep.
3668 (display_arg): Use under NS.
3669 (main): Under NS, allocate autorelease pool and handle command line
3670 args. Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
3671 (standard_args): Add NS-specific args.
3672 (shut_down_emacs): Shut down NS terminal if compiled under NS.
3673 * font.c (DEFAULT_ENCODING): New variable.
3674 (font_find_for_lface): Use it.
3675 (syms_of_font): Load syms_of_nsfont under NS.
3676 * font.h: Declare nsfont_driver when compiled under NS.
3677 * fontset.c: When compiling under NS, include nsterm.h.
3678 (fontset_from_font): Autoconstruct fontset under NS.
3679 * frame.c (various): Under NS, include nsterm.h, add Qns window system
3680 symbol, document and use it.
3681 (do_switch_frame): When for_deletion under Cocoa, add
3682 Fraise_frame(Qnil).
3683 (x_set_frame_parameters): Ensure font attribute changes are picked up.
3684 (x_get_arg): Allow "yes" and "no" as boolean values.
3685 (syms_of_frame): Declare Qns. Init Vdefault_frame_scroll_bars to
3686 Qright under Cocoa.
3687 (focus-follows-mouse): Default to 0 under NS.
3688 * frame.h (enum output_method): Add output_ns.
3689 (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
3690 (FRAME_EXTERNAL_MENU_BAR): Use under NS.
3691 (FRAME_WINDOW_P): NS-specific definition.
3692 * fringe.c (max_used_fringe_bitmap): Make public.
3693 * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
3694 (getloadavg): Use NeXT code under descendant OS's.
3695 * image.c (includes and header section, x_create_bitmap_from_data)
3696 (x_create_bitmap_from_file, free_bitmap_record, image_background)
3697 (image_background_transparent, x_clear_image_1)
3698 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
3699 (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
3700 (x_to_xcolors, x_from_xcolors, x_disable_image)
3701 (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
3702 other GUIs, including XPM support using code originally written for
3703 Carbon GUI.
3704 (png_load, jpeg_load, tiff_load, gif_load): Add implementations
3705 using NS API.
3706 (image_ascent): Use font metrics macros instead of direct struct field
3707 access.
3708 * keyboard.c (includes): Add nsterm.h when compiling under NS.
3709 (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
3710 Also, handle NS as GTK for menu bar purposes.
3711 (make_lispy_event): Handle NS as other GUI windowing systems, and as X
3712 toolkit where they differ.
3713 (parse_menu_item): Prefer keybindings using 'super' modifier. Also,
3714 use cachelist, still needed under NS.
3715 * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
3716 (struct widget_value): Define it here for menu.c.
3717 * keymap.c (includes): Include modifier internals.
3718 (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
3719 NS.
3720 (where_is_internal, Fwhere_is_internal): When compiled under NS, add
3721 support for preferring sequences using certain modifiers, specified by
3722 the FIRSTONLY argument.
3723 * lisp.h (hash_remove): Rename to avoid name clash when compiling
3724 under NS GNUstep implementation.
3725 (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
3726 * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
3727 * menu.c: Include nsterm.h under NS.
3728 (single_menu_item, parse_single_submenu, xmalloc_widget_value)
3729 (free_menubar_widget_tree_value, update_submenu_strings)
3730 (find_and_call_menu_selection): Treat NS as X and NT.
3731 (find_and_return_menu_selection): New function, used for popup menus.
3732 * nsgui.h:
3733 * nsterm.h:
3734 * nsfns.m:
3735 * nsimage.m:
3736 * nsmenu.m:
3737 * nsselect.m:
3738 * nsterm.m: New files.
3739 * process.c (wait_reading_process_output): Under NS, call ns_select()
3740 instead of plain select().
3741 * syntax.c (char_quoted): Under NS, avoid a crash when called near
3742 beginning of buffer.
3743 * sysselect.h (init_process): Rename when compiling under Cocoa to
3744 avoid name conflict.
3745 * termhooks.h (display_info): Add ns_display_info to union.
3746 * terminal.c (Fterminal_live_p): Add ns to terminal types.
3747 * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
3748 COCOA environment.
3749 * unexnext.c: Update to work with mach API on Mac OS X, and to use new
3750 unexec() signature. (Note, this will dump, but the resulting file
3751 crashes; unexosx is used instead; keeping around for reference and
3752 possible aid in getting dump working under GNUstep.)
3753 * w32gui.h (button_type, widget_value): Remove definitions (now in
3754 keyboard.h).
3755 * window.c: Include nsterm.h when compiling under NS.
3756 * xdisp.c (includes): Include nsterm.h when compiling under NS.
3757 (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
3758 other GUI windowing systems.
3759 (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
3760 GTK.
3761 (x_consider_frame_title): Under NS, set icon type and frame
3762 modified-state indicator; use ns_set_name_as_filename() when using
3763 formatted title.
3764 (update_window_cursor): Make public when compiling under NS.
3765 (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
3766 (hourglass_atimer, Vhourglass_delay
3767 * xfaces.c (header section, init_frame_faces, clear_font_table)
3768 (defined_color, unload_color, x_face_list_fonts)
3769 (prepare_face_for_display): Add NS support parallel to other GUIs.
3770 Emulate GCs like other non-X GUIs.
3771 (split_font_name): Don't lowercase font name under NS.
3772 (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
3773 under NS.
3774 * s/darwin.h: Add support for compilation under NS.
3775
37762008-07-15 Jason Rumney <jasonr@gnu.org>
3777
3778 * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
3779 (w32_show_hourglass): Rename from show_hourglass.
3780 (w32_hide_hourglass): Rename from hide_hourglass.
3781 (DEFAULT_HOURGLASS_DELAY): Revert from last change.
3782 (Vhourglass_delay): Declare extern.
3783 (hourglass_started): Remove.
3784
3785 * xdisp.c (Vhourglass_delay): Remove static.
3786 (hourglass_started, start_hourglass, cancel_hourglass):
3787 Don't include these versions on WINDOWSNT.
3788
37892008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
3790
3791 * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
3792 variables (formerly in xfns.c).
3793 (show_hourglass, hide_hourglass): New prototypes (same).
3794 * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
3795 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
3796 in xfns.c).
3797 (syms_of_xdisp): Declare/initialize display-hourglass,
3798 hourglass-delay. Initialize hourglass_atimer, hourglass_shown_p.
3799 (hourglass_started, start_hourglass, cancel_hourglass): New functions,
3800 formerly in xfns.c.
3801 * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
3802 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
3803 (start_hourglass, cancel_hourglass): Remove.
3804 (show_hourglass, hide_hourglass): Remove prototypes and static
3805 modifiers.
3806 (syms_of_xfns): Remove display-hourglass, hourglass-delay,
3807 hourglass_atimer, hourglass_shown_p declaration/initialization.
3808 * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
3809 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
3810 (start_hourglass, cancel_hourglass): Remove.
3811 (show_hourglass, hide_hourglass): Remove prototypes and static
3812 modifiers.
3813 (syms_of_macfns): Remove display-hourglass, hourglass-delay,
3814 hourglass_atimer, hourglass_shown_p declaration/initialization.
3815 * w32fns.c (display_hourglass_p, Vhourglass_delay)
3816 (DEFAULT_HOURGLASS_DELAY): Remove.
3817 (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
3818 hourglass_shown_p declaration/initialization.
3819
38202008-07-14 Jason Rumney <jasonr@gnu.org>
3821
3822 * w32fns.c (w32_get_arg): Remove wrapper function.
3823 (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
3824 directly.
3825 (Fx_create_frame): Sync with xfns.c. Use x_get_arg directly.
3826
38272008-07-14 Kenichi Handa <handa@m17n.org>
3828
3829 * xfont.c (xfont_open): Add workaround for X's bug.
3830
38312008-07-14 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
3832
3833 * fontset.c: Include <stdio.h> unconditionally.
3834
38352008-07-13 Michael Albinus <michael.albinus@gmx.de>
3836
3837 * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
3838 for filtering.
3839
38402008-07-13 Dan Nicolaescu <dann@ics.uci.edu>
3841
3842 * s/vms.h: Use __GNUC__ instead of _GNUC_.
3843
3844 * m/macppc.h:
3845 * m/alpha.h: Use GNU_LINUX instead of LINUX. Reorganize conditionals.
3846
3847 * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
3848 (SPECIAL_EMACS_INT):
3849 * m/ia64.h (SPECIAL_EMACS_INT):
3850 * m/amdx86-64.h (SPECIAL_EMACS_INT):
3851 * s/gnu.h (NLIST_STRUCT):
3852 * s/aix4-2.h (X11R5_INHIBIT_I18N):
3853 * s/gnu-linux.h (LINUX):
3854 * s/msdos.h (HAVE_FACES):
3855 * s/ms-w32.h (HAVE_FACES): Don't define, unused.
3856
3857 * systty.h:
3858 * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
3859 anymore.
3860
38612008-07-12 Dan Nicolaescu <dann@ics.uci.edu>
3862
3863 * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was
3864 always defined as int.
3865
3866 * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
3867 * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
3868 * s/gnu-linux.h (HAVE_WAIT_HEADER):
3869 * s/freebsd.h (HAVE_WAIT_HEADER):
3870 * s/bsd-common.h (HAVE_UNION_WAIT):
3871 * s/aix4-2.h (HAVE_WAIT_HEADER):
3872 * m/mips.h (HAVE_UNION_WAIT):
3873 * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
3874 (COFF, static): Do not define, they are undefined later in the file.
3875
3876 * process.c (update_status): Don't use a union.
3877 (status_convert):
3878 (sigchld_handler): Use int instead of WAITTYPE.
3879
38802008-07-12 Chong Yidong <cyd@stupidchicken.com>
3881
3882 * indent.c (Fvertical_motion): Restore hscroll before moving to
3883 goal column.
3884
38852008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
3886
3887 * lisp.h: Remove left over code.
3888
38892008-07-11 Andreas Schwab <schwab@suse.de>
3890
3891 * lisp.h: Fix logic in last change.
3892
3893 * menu.h: New file.
3894 * menu.c: Include it.
3895 * xmenu.c: Likewise.
3896 * Makefile.in: Update dependencies.
3897
38982008-07-11 Kenichi Handa <handa@m17n.org>
3899
3900 * fontset.c (fontset_from_font): Cancel the previous change.
3901
39022008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
3903
3904 * lisp.h:
3905 * w32heap.c:
3906 * emacs.c:
3907 * alloc.c: Replace all references of NO_UNION_TYPE with
3908 USE_LISP_UNION_TYPE.
3909
3910 * m/xtensa.h (NO_UNION_TYPE):
3911 * m/vax.h (NO_UNION_TYPE):
3912 * m/template.h (NO_UNION_TYPE):
3913 * m/sparc.h (NO_UNION_TYPE):
3914 * m/mips.h (NO_UNION_TYPE):
3915 * m/macppc.h (NO_UNION_TYPE):
3916 * m/m68k.h (NO_UNION_TYPE):
3917 * m/iris4d.h (NO_UNION_TYPE):
3918 * m/intel386.h (NO_UNION_TYPE):
3919 * m/ibms390x.h (NO_UNION_TYPE):
3920 * m/ibms390.h (NO_UNION_TYPE):
3921 * m/ibmrs6000.h (NO_UNION_TYPE):
3922 * m/ia64.h (NO_UNION_TYPE):
3923 * m/hp800.h (NO_UNION_TYPE):
3924 * m/arm.h (NO_UNION_TYPE):
3925 * m/amdx86-64.h (NO_UNION_TYPE):
3926 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
3927 defining it the same.
3928
39292008-07-10 Chong Yidong <cyd@stupidchicken.com>
3930
3931 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
3932
39332008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
3934
3935 * fileio.c:
3936 * sysdep.c
3937 * systty.h:
3938 * m/ibmrs6000.h:
3939 * m/iris4d.h:
3940 * s/aix4-2.h:
3941 * s/freebsd.h:
3942 * s/gnu-linux.h:
3943 * s/hpux10-20.h:
3944 * s/hpux11.h:
3945 * s/netbsd.h:
3946 * s/sol2-3.h:
3947 * s/sol2-4.h:
3948 * s/sol2.h:
3949 * s/usg5-4.h:
3950 * s/vms.h: Remove references to unused variables.
3951
39522008-07-10 Andreas Schwab <schwab@suse.de>
3953
3954 * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
3955 pattern before matching the generic family.
3956
39572008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
3958
3959 * unexec.c:
3960 * s/vms.h:
3961 * s/usg5-4-2.h:
3962 * s/sol2-5.h:
3963 * s/freebsd.h:
3964 * s/darwin.h: Remove dead code.
3965
3966 * m/template.h:
3967 * m/sparc.h:
3968 * m/mips.h:
3969 * m/m68k.h:
3970 * m/iris4d.h:
3971 * m/intel386.h:
3972 * m/ibms390x.h:
3973 * m/ibms390.h:
3974 * m/ia64.h:
3975 * m/hp800.h:
3976 * m/arm.h:
3977 * m/amdx86-64.h: Remove dead code and references to unused
3978 and compiler defined symbols.
3979
3980 * unexmips.c:
3981 * unexelf.c: Remove references to desupported systems.
3982
3983 * m/powermac.h: Remove file, it is now identical to m/macppc.h.
3984
3985 * m/powermac.h: Remove boilerplate comments.
3986 (NO_REMAP): Remove unused definition.
3987
3988 * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
3989 define them.
3990
39912008-07-10 Kenichi Handa <handa@m17n.org>
3992
3993 * xfont.c (xfont_open): Log the reason of failure.
3994
39952008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
3996
3997 * fontset.c (fontset_get_font_group):
3998 * font.c (font_check_otf): Specify argument types.
3999
40002008-07-09 Kenichi Handa <handa@m17n.org>
4001
4002 * coding.c (detect_coding_utf_8): Set detect_info->found only when
4003 non-ASCII char is found.
4004
4005 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
4006 (reorder_font_vector): Change the arg preferred_family to font.
4007 Prefer the spec matching with font.
4008 (fontset_get_font_group): New function.
4009 (fontset_find_font): Change the format of an element of a realized
4010 fontset. Use fontset_get_font_group.
4011 (fontset_font): Try the current fontset, the default fontset, the
4012 fallbacks of the current fontset, and the fallbacks of the default
4013 fontset in this order.
4014 (face_for_char): Delete the shortcut to use the current font.
4015 (fontset_from_font): Don't set fonts for Latin in the fontset.
4016
4017 * font.h (font_make_object, font_match_p): Adjust prototypes.
4018
4019 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
4020
4021 * font.c (font_make_object): New arg entity and pixelsize.
4022 (font_check_otf_features, font_check_otf): New functions.
4023 (font_match_p): Check :lang, :script, and :otf properties.
4024
4025 * xfont.c (xfont_open): Adjust it for the change of
4026 font_make_object.
4027 (xfont_text_extents): Fix initial setting of metrics.
4028
4029 * ftfont.c (struct ftfont_info): New member index, delete member
4030 fc_charset_idx. Make the member order compatible with struct
4031 xftfont_info.
4032 (fc_charset_table): Change charset names to registry names.
4033 (ftfont_pattern_entity): Delete the args registry and
4034 fc_charset_idx. Change the value of :font-entity property
4035 to (FONTNAME . INDEX). Always set :registry property to
4036 `iso10646-1'.
4037 (struct ftfont_cache_data): New struct.
4038 (ftfont_lookup_cache): New arg for_face.
4039 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
4040 (ftfont_driver): Set the member otf_capability.
4041 (ftfont_get_charset): Adjust it for the change of
4042 fc_charset_table.
4043 (OTF_TAG_SYM): New macro.
4044 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
4045 for the change of fc_charset_table.
4046 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
4047 ftfont_pattern_entity. Add FC_INDEX to objset.
4048 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
4049 and ftfont_pattern_entity.
4050 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
4051 font_make_object, struct ftfont_info.
4052 (ftfont_has_char): Use ftfont_get_fc_charset.
4053 (ftfont_otf_features, ftfont_otf_capability): New functions.
4054 (ftfont_shape): Use ftfont_get_otf.
4055 (ftfont_text_extents): Fix initial setting of metrics.
4056
4057 * xftfont.c (struct xftfont_info): New member ft_size. Make the
4058 member order compatible with struct ftfont_info.
4059 (xftfont_open): Add FC_CHARSET to the pattern. Set
4060 xftfont_info->ft_size. Don't unlock the face. Check BDF
4061 properties if appropriate.
4062 (xftfont_close): Unlock the face.
4063 (xftfont_anchor_point, xftfont_shape): Deleted.
4064 (syms_of_xftfont): Don't set members anchor_point and shape of
4065 xftfont_driver.
4066
4067 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
4068 font_make_object.
4069
4070 * w32font.c (w32font_open): Adjust it for the change of
4071 font_make_object.
4072 (w32font_open_internal): Don't set properties of font_object here.
4073
40742008-07-08 Chong Yidong <cyd@stupidchicken.com>
4075
4076 * macfns.c (x_create_tip_frame):
4077 * w32fns.c (x_create_tip_frame):
4078 * xfns.c (x_create_tip_frame): Pass parameter argument to
4079 face-set-after-frame-default.
4080
4081 * xfaces.c (Finternal_merge_in_global_face): Save merged
4082 attributes for the default face back into the face vector.
4083
40842008-07-08 Andreas Schwab <schwab@suse.de>
4085
4086 * fontset.h: Declare fontset_from_font. Don't declare
4087 new_fontset_from_font and fontset_from_font_name.
4088 * xterm.c: Include "fontset.h".
4089 * Makefile.in (xterm.o): Update dependencies.
4090
40912008-07-08 Glenn Morris <rgm@gnu.org>
4092
4093 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
4094 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
4095
40962008-07-07 Chong Yidong <cyd@stupidchicken.com>
4097
4098 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
4099 (x_set_frame_parameters): Don't bind it.
4100
41012008-07-07 Juanma Barranquero <lekktu@gmail.com>
4102
4103 * w32fns.c (map_w32_filename): Declare extern.
4104
41052008-07-07 Jason Rumney <jasonr@gnu.org>
4106
4107 * w32term.c (WS_EX_LAYERED): Define if not already.
4108
41092008-07-06 Chong Yidong <cyd@stupidchicken.com>
4110
4111 * xfaces.c (set_font_frame_param): Don't try to set the font
4112 parameter if it is still unspecified in the lface.
4113
41142008-07-05 Chong Yidong <cyd@stupidchicken.com>
4115
4116 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
4117 face if it didn't already exist.
4118
4119 * xdisp.c (try_window_id): Give up if word-wrapping is on.
4120
41212008-07-05 Andreas Schwab <schwab@suse.de>
4122
4123 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
4124
41252008-07-05 Chong Yidong <cyd@stupidchicken.com>
4126
4127 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
4128 word-wrapping.
4129 (IT_DISPLAYING_WHITESPACE): New macro.
4130 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
4131 when word-wrapping. Simplify word-wrapping logic. Use correct
4132 pixel positions when saving copies of the iterator.
4133 (display_line): Use proper wrap point if the last character on a
4134 line was preceded by whitespace.
4135
41362008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
4137
4138 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
4139
41402008-07-04 Kenichi Handa <handa@m17n.org>
4141
4142 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
4143
4144 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
4145
41462008-07-02 Jason Rumney <jasonr@gnu.org>
4147
4148 * xfns.c (syms_of_xfns): Only define x-select-font when both
2ae37cf0 4149 HAVE_FREETYPE and USE_GTK.
aac0c6e3
MR
4150
4151 * xdisp.c (next_element_from_display_vector): Move assignment out
4152 of if statement.
4153
41542008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
4155
4156 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
4157
4158 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
4159 (syms_of_fileio): Initialize and export them.
4160 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
4161
4162 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
4163 (Fsystem_move_file_to_trash): New function.
4164 (syms_of_w32fns): Export it to lisp.
4165
41662008-07-01 Jason Rumney <jasonr@gnu.org>
4167
4168 * w32font.c (w32font_text_extents): Don't count overhang as part
4169 of width.
4170
41712008-06-30 Miles Bader <miles@gnu.org>
4172
4173 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
4174 Add `avoid_cursor_p' field.
4175
4176 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
4177 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
4178 (append_glyph, append_composite_glyph, produce_image_glyph)
4179 (append_stretch_glyph): Initialize avoid_cursor_p.
4180 (get_it_property): Rename from `get_line_height_property'.
4181 (x_produce_glyphs): Use get_it_property.
4182 (handle_line_prefix, push_display_prop): New functions.
4183 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
4184 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
4185 New variables.
4186 (syms_of_xdisp): Initialize them.
4187
41882008-06-30 Kenichi Handa <handa@m17n.org>
4189
4190 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
4191 XftDefaultSubstitute (they are called in XftFontMatch).
4192 (xftfont_open): Fix args to ftfont_font_format.
4193
4194 * ftfont.c (fc_charset_table): New member lang.
4195 (ftfont_resolve_generic_family): New arg pattern.
60612c8f 4196 (ftfont_spec_pattern): Check fc_charset_table[]->lang.
aac0c6e3
MR
4197 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
4198 (ftfont_open): Fix args to ftfont_font_format.
4199 (ftfont_font_format): New arg filename.
4200
42012008-06-30 Chong Yidong <cyd@stupidchicken.com>
4202
4203 * xfaces.c (Finternal_merge_in_global_face): If default face was
4204 modified, realize it again. Update the font face attribute.
4205
42062008-06-29 Jason Rumney <jasonr@gnu.org>
4207
4208 * w32term.c (x_set_frame_alpha): Fix logic.
4209
42102008-06-29 Kenichi Handa <handa@m17n.org>
4211
4212 * fontset.c (Finternal_char_font): Return font-object instead of
4213 font-name.
4214
4215 * composite.c (get_composition_id): Fix the width calculation for TAB.
4216
42172008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
4218
4219 * indent.c (Fvertical_motion): Properly handle float column arg.
4220
42212008-06-28 Jason Rumney <jasonr@gnu.org>
4222
4223 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
4224 (pfnSetLayeredWindowAttributes): New function pointer.
4225 (w32_initialize): Initialize it when supported.
4226 (x_set_frame_alpha): New function.
4227
4228 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
4229 (w32_frame_parm_handlers): Set alpha handler.
4230
4231 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
4232
42332008-06-27 Jason Rumney <jasonr@gnu.org>
4234
4235 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
4236 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
4237 (w32_to_x_charset, x_to_w32_charset)
4238 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
4239 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
4240 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
4241 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
4242 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
4243 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
4244 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
4245 (Qw32_charset_unicode): Remove.
4246 (syms_of_w32fns): Update for above changes.
4247
4248 * w32font.c (w32_to_x_charset, x_to_w32_charset)
4249 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
4250 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
4251 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
4252 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
4253 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
4254 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
4255 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
4256 (syms_of_w32font): Update for above changes.
4257
42582008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
4259
4260 * s/usg5-4.h: Fix previous change: keep the correct branch of a
4261 removed #if.
4262 (USG_SHARED_LIBRARIES): Remove duplicate definition.
4263
42642008-06-26 Juanma Barranquero <lekktu@gmail.com>
4265 Eli Zaretskii <eliz@gnu.org>
4266
4267 * makefile.w32-in (LOCAL_FLAGS):
4268 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
4269
4270 * sysdep.c (_spawnlp, _getpid):
4271 Declare with explicit _cdecl instead of _CRTAPI1.
4272
4273 * editfns.c (Fget_internal_run_time):
4274 Check for WINDOWSNT with #ifdef, not #if.
4275
42762008-06-26 Jason Rumney <jasonr@gnu.org>
4277
4278 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
4279
4280 * w32term.c (x_draw_glyph_string_foreground)
4281 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
4282 Use FONT_HANDLE macro.
4283 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
4284
4285 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
4286 (uniscribe_encode_char): Use FONT_HANDLE macro.
4287
4288 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
4289 (w32font_text_extents): Use precast w32_font.
4290 (w32font_close): Free cached metrics.
4291 (w32font_open_internal): Allocate space for name on stack.
4292
42932008-06-26 Chong Yidong <cyd@stupidchicken.com>
4294
4295 * xdisp.c (extend_face_to_end_of_line): Fix last change.
4296
42972008-06-26 Jason Rumney <jasonr@gnu.org>
4298
4299 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
4300 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
4301
43022008-06-26 Juanma Barranquero <lekktu@gmail.com>
4303
4304 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
4305
43062008-06-26 Jason Rumney <jasonr@gnu.org>
4307
4308 * w32bdf.c, w32bdf.h: Remove obsolete files.
4309
4310 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
4311
4312 * w32gui.h: Don't include w32bdf.h.
4313 (XCharStruct, enum w32_char_font_type, W32FontStruct):
4314 Remove obsolete font support.
4315
4316 * w32font.h (struct w32font_info): Remove compat_w32_font.
4317 Add hfont member.
4318 (FONT_COMPAT): Remove obsolete macro.
4319
4320 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
4321 (w32font_encode_char, w32font_text_extents): Use new hfont member.
4322 (w32font_open_internal): Remove compat code. Set new hfont member.
4323 (Fx_select_font): Use new hfont member.
4324
4325 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
4326 (uniscribe_encode_char): Use new hfont member.
4327
4328 * w32term.c (x_draw_glyph_string_foreground)
4329 (x_draw_composite_glyph_string_foreground): Use new hfont member.
4330 (x_draw_glyph_string): Use metrics in w32font_info.
4331
43322008-06-26 Kenichi Handa <handa@m17n.org>
4333
4334 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
4335
43362008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
4337
4338 * unexnext.c:
4339 * m/ews4800.h:
4340 * m/hp9000s300.h:
4341 * m/ibm370aix.h:
4342 * m/mips-siemens.h:
4343 * m/ncr386.h:
4344 * m/next.h:
4345 * m/pmax.h:
4346 * m/powerpcle.h:
4347 * m/tandem-s2.h:
4348 * s/386bsd.h:
4349 * s/bsd386.h:
4350 * s/bsd4-1.h:
4351 * s/bsd4-2.h:
4352 * s/bsdos2-1.h:
4353 * s/bsdos2.h:
4354 * s/bsdos3.h:
4355 * s/bsdos4.h:
4356 * s/nextstep.h:
4357 * s/ultrix4-3.h:
4358 * s/usg5-0.h:
4359 * s/usg5-2-2.h:
4360 * s/usg5-2.h:
4361 * s/usg5-4-3.h:
4362 * s/ux4800.h:
4363 * s/uxpds.h:
4364 * s/uxpv.h: Remove support for obsolete systems.
4365 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
8f3a3ac2 4366 Remove, insert contents in s/hpux10-20.h.
aac0c6e3
MR
4367 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
4368 Remove, insert contents in s/aix4-2.h.
4369 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
4370 * s/bsd4-3.h: Rename to ...
4371 * s/bsd-common.h: ... this.
4372 * data.c:
4373 * doc.c:
4374 * ecrt0.c:
4375 * emacs.c:
4376 * fileio.c:
4377 * floatfns.c:
4378 * keyboard.c:
4379 * mem-limits.h:
4380 * print.c:
4381 * process.c:
4382 * sysdep.c:
4383 * syssignal.h:
4384 * systty.h:
4385 * syswait.h:
4386 * term.c:
4387 * unexec.c:
4388 * unexelf.c:
4389 * unexhp9k800.c:
4390 * m/hp800.h:
4391 * m/ibmrs6000.h:
4392 * m/mips.h:
4393 * m/vax.h:
4394 * s/darwin.h:
4395 * s/freebsd.h:
4396 * s/gnu.h:
4397 * s/ms-w32.h:
4398 * s/msdos.h:
4399 * s/netbsd.h:
4400 * s/template.h: Remove references to obsolete variables.
4401
4402 * Makefile.in: Add dependencies for all unexec files.
4403 (admindir): Remove unused variable.
4404 (UNEXEC_SRC): Remove references.
4405
44062008-06-25 Chong Yidong <cyd@stupidchicken.com>
4407
4408 * xfns.c (x_default_font_parameter): If Xft is available, first
4409 try Monospace-12 for the default font.
4410
44112008-06-25 Jason Rumney <jasonr@gnu.org>
4412
4413 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
4414
44152008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
4416
4417 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
4418
4419 * buffer.c (syms_of_buffer): Remove default-word-wrap.
4420
44212008-06-25 Juanma Barranquero <lekktu@gmail.com>
4422
4423 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
4424 <scroll-conservatively>: Fix typo in docstring.
4425
4426 * xselect.c (Fx_send_client_event): Doc fix.
4427
44282008-06-25 Kenichi Handa <handa@m17n.org>
4429
4430 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
4431
4432 * font.c (font_parse_fcname): Remove unused variables.
4433 (font_sort_entites): Delete the arg SPEC. Caller changed.
4434 Fix for the case of ! best_only.
4435 (font_delete_unmatched): Check DPI and AVGWIDTH too.
4436
4437 * lisp.h (Fstring_to_unibyte): EXFUN it.
4438
4439 * character.h (str_to_unibyte): Extern it.
4440
4441 * character.c (str_to_unibyte): New function.
4442
4443 * fns.c (Fstring_to_unibyte): New function.
4444 (syms_of_fns): Defsubr it.
4445
44462008-06-24 Kenichi Handa <handa@m17n.org>
4447
4448 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
4449 DPI too.
4450 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
4451
44522008-06-24 Andreas Schwab <schwab@suse.de>
4453
4454 * Makefile.in (${lispsource}loaddefs.el): Rename from
4455 ../lisp/loaddefs.el.
4456 (bootstrap-clean): Do what distclean does but don't remove
4457 Makefile.
4458 (distclean): Depend on bootstrap-clean and remove Makefile.
4459
44602008-06-24 Chong Yidong <cyd@stupidchicken.com>
4461
4462 * buffer.h (struct buffer): New member word_wrap.
4463
4464 * buffer.c (syms_of_buffer): New variables default-word-wrap and
4465 word-wrap.
4466 (init_buffer_once): Initialize them.
4467
4468 * dispextern.h (struct it): Replace bool truncate_lines_p with a
4469 line_wrap enum possessing three possible values.
4470
4471 * termopts.h: Replace truncate_partial_width_windows with
4472 Vtruncate_partial_width_windows.
4473
4474 * dispnew.c (direct_output_for_insert): Avoid direct output when
4475 inserting a space with word wrap on.
4476
4477 * indent.c (compute_motion): Obey integer values of
4478 truncate-partial-width-windows.
4479
4480 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
4481 replacing truncate_partial_width_windows.
4482 (init_iterator): If Vtruncate_partial_width_windows is an integer,
4483 truncate only if the window width is below that integer.
4484 (start_display, resize_mini_window, produce_stretch_glyph)
4485 (display_string, move_it_in_display_line_to): Use line_wrap.
4486 (back_to_previous_visible_line_start, reseat_1): Reset
4487 string_from_display_prop_p.
4488 (display_line): Extend default face to end of line when wrapping.
4489
44902008-06-24 Kim F. Storm <storm@cua.dk>
4491
4492 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
4493 to wrap continued lines at word boundaries.
4494
44952008-06-24 Jason Rumney <jasonr@gnu.org>
4496
4497 * font.c (Ffont_face_attributes): Multiply pixel size before point
4498 conversion to avoid multiplying rounding error.
4499
45002008-06-23 Jason Rumney <jasonr@gnu.org>
4501
4502 * w32term.c (x_draw_glyph_string_background)
4503 (x_draw_glyph_string): Remove old bdf font code.
4504
4505 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
4506
45072008-06-22 Kenichi Handa <handa@m17n.org>
4508
4509 * font.c (font_find_for_lface): Try the adstyle specified in
4510 the property of LFACE_FONT of LFACE (if any).
4511
45122008-06-21 Seiji Zenitani <zenitani@mac.com>
4513 Ryo Yoshitake <ryo@shiftmode.net>
4514
4515 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
4516
45172008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
4518
4519 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
4520 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
4521 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
4522 (witness-emacs): Remove.
4523 (lisp, shortlisp): Move loaddefs.el earlier.
4524 (mostlyclean): Forget about witness-emacs.
4525
45262008-06-22 Glenn Morris <rgm@gnu.org>
4527
4528 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
4529 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
4530
45312008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
4532
4533 * Makefile.in (PRECOMP): Remove.
4534 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
4535 (witness-emacs): Run `compile-first'.
4536 (.el.elc): Use the new compile-onefile target.
4537
45382008-06-21 Kenichi Handa <handa@m17n.org>
4539
4540 * xftfont.c (xftfont_open): Handle QCembolden only when
4541 FC_EMBOLDEN is defined.
4542
45432008-06-21 Andreas Schwab <schwab@suse.de>
4544
4545 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
4546 (.el.elc): Likewise.
4547
45482008-06-21 Miles Bader <miles@gnu.org>
4549
4550 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
4551 build dir, not the lisp source dir.
4552
45532008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
4554
4555 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
4556 (bootstrapclean): Remove.
4557 (.el.elc): New rule.
4558 (PRECOMP): New var.
4559 (../lisp/subdirs.el): Remove.
4560 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
4561 (witness-emacs): New target.
4562 (mostlyclean): Remove witness-emacs as well.
4563 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
4564 Add witness-emacs dependency.
4565
45662008-06-20 Chong Yidong <cyd@stupidchicken.com>
4567
4568 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
4569 defined by the font.
4570
45712008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
4572
4573 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
4574 (bootstrap-clean): New target that keeps TAGS around.
4575 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
4576 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
4577
45782008-06-20 Jason Rumney <jasonr@gnu.org>
4579
4580 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
4581 Remove obsolete font code.
4582
4583 * w32font.c (font_matches_spec): Use csb bitfield from font signature
4584 to determine language support.
4585
45862008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
4587
4588 * sysdep.c (cfsetspeed): New fun extracted from the code.
4589 (cfmakeraw): Move before first use.
4590
45912008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
4592
4593 * sysdep.c (cfmakeraw): Provide fallback implementation.
4594 (serial_configure): Provide fallback implementation of cfsetspeed.
4595
45962008-06-20 Kenichi Handa <handa@m17n.org>
4597
4598 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
4599 the pattern.
4600
4601 * fontset.c (fontset_from_font): Copy font_spec before changing
4602 the elements.
4603
4604 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
4605
46062008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
4607
4608 * w32fns.c, xfns.c (x_default_font_parameter): Only set `font-param'
4609 for explicit `font' parameters.
4610
4611 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
4612
46132008-06-19 Kenichi Handa <handa@m17n.org>
4614
4615 * frame.c: Include <ctype.h>.
4616 (x_set_font_backend): Allow spacing characters in the X resource
4617 for FontBackend.
4618
46192008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
4620
4621 * w32fns.c, xfns.c (Qfont_param): New var.
4622 (syms_of_w32fns): Initialize it.
4623 (x_default_font_parameter): Record explicit `font' into
4624 `font-parameter'.
4625
46262008-06-18 Kenichi Handa <handa@m17n.org>
4627
4628 * font.c (font_parse_xlfd): Fix previous change.
4629 (font_parse_fcname): Don't use :fc-unknown-spec.
4630 (FRAME_X_DISPLAY_INFO): Be sure to have at least 1 pixel height.
4631 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
4632 (font_add_log): Prepend the driver name to the resulting fonts.
4633
4634 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
4635 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
4636 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
4637
4638 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
4639 (QCembolden): New variables.
4640 (syms_of_xftfont): DEFSYM them.
4641 (xftfont_open): Call XftFontMatch. Don't trust the result of
4642 XftTextExtents8 if the pixel_size is less than 5.
4643
46442008-06-18 Andreas Schwab <schwab@suse.de>
4645
4646 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
4647 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
4648
46492008-06-18 Jason Rumney <jasonr@gnu.org>
4650
4651 * w32font.c (w32font_list, w32font_match): Add logging.
4652
4653 * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging.
4654
46552008-06-17 Chong Yidong <cyd@stupidchicken.com>
4656
4657 * font.c (font_parse_fcname): Store divider characters for
4658 unknown-spec list. For known key symbols, intern using correct
4659 symbol name.
4660
46612008-06-17 Kenichi Handa <handa@m17n.org>
4662
4663 * xfaces.c (realize_default_face): If the frame is not on window
4664 system, set the fontset of face to nil.
4665
46662008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
4667
4668 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
4669
46702008-06-16 Juanma Barranquero <lekktu@gmail.com>
4671
4672 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
4673 (build_font_name_from_vector): Delete externs.
4674
4675 * xfaces.c (struct font_name): Don't declare.
4676
46772008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
4678
4679 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
4680
46812008-06-16 Chong Yidong <cyd@stupidchicken.com>
4682
4683 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
4684
46852008-06-16 Juanma Barranquero <lekktu@gmail.com>
4686
4687 * font.c (Ffont_spec): Fix usage in docstring.
4688 (Ffont_face_attributes): Doc fix.
4689
46902008-06-16 Andreas Schwab <schwab@suse.de>
4691
4692 * font.c (Ffont_face_attributes): Fix definition.
4693
46942008-06-16 Jason Rumney <jasonr@gnu.org>
4695
4696 * font.h (font_style_symbolic_from_value): Remove.
4697
4698 * font.c (font_style_symbolic_from_value): Remove.
4699 (font_style_symbolic): Revert to pre 2008-06-13 version.
4700
4701 * w32font.c (w32_to_fc_weight): New function.
4702 (w32font_full_name, logfont_to_fcname): Use it.
4703
47042008-06-16 Kenichi Handa <handa@m17n.org>
4705
4706 * font.c (font_check_object): Delete it.
4707 (font_clear_cache): Check if a font-object is alive.
4708 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
4709 font-object to nil.
4710 (font_close_object): Don't check FONT_CLOSE_OBJECT.
4711 (font_at): Don't call font_check_object.
4712 (Ffont_get): Return a symbol for :weight, :slant, and :width.
4713
47142008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
4715
4716 * puresize.h (BASE_PURESIZE): Increase to 1230000.
4717
47182008-06-16 Chong Yidong <cyd@stupidchicken.com>
4719
4720 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
4721
47222008-06-15 Chong Yidong <cyd@stupidchicken.com>
4723
4724 * font.c (font_parse_fcname): Only one decimal point.
4725 (font_unparse_fcname): Handle data in family and foundry indices
4726 as symbols, not strings.
4727 (font_unparse_gtkname, Ffont_face_attributes): New functions.
4728
4729 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
4730
4731 * font.h (font_unparse_gtkname): Add prototype.
4732
47332008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
4734
4735 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
4736
47372008-06-15 Andreas Schwab <schwab@suse.de>
4738
4739 * font.c (font_update_drivers): Fix crash when no drivers match.
4740
47412008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
4742
4743 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
4744 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
4745
47462008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
4747
4748 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
4749
47502008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
4751
4752 * process.c (Fserial_process_configure, Fprocess_send_eof):
4753 Use EQ to compare Lisp_Objects.
4754
47552008-06-13 Jason Rumney <jasonr@gnu.org>
4756
4757 * w32fns.c (Fw32_select_font): Remove old font API function.
4758
4759 * w32font.c (logfont_to_fcname): New function.
4760 (Fx_select_font): New font dialog function compatible with
4761 GTK/fontconfig version.
4762
4763 * font.c (font_style_symbolic_from_value): New function.
4764 (font_style_symbolic): Use it.
4765
4766 * font.h (font_style_symbolic_from_value): Declare new function.
4767
47682008-06-13 Juanma Barranquero <lekktu@gmail.com>
4769
4770 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
4771 <font-width-table>: Fix typos in docstrings.
4772
47732008-06-13 Daniel Engeler <engeler@gmail.com>
4774
4775 These changes add serial port access.
4776 * process.c: Add HAVE_SERIAL.
4777 (Fdelete_process, Fprocess_status, Fset_process_buffer)
4778 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
4779 (list_processes_1, select_wrapper, Fstop_process)
4780 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
4781 (status_notify): Modify to handle serial processes.
4782 [HAVE_SERIAL] (Fserial_process_configure)
4783 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
4784 New functions.
4785 * process.h (struct Lisp_Process): Add `type'.
4786 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
4787 New functions.
4788 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
4789 serial ports.
4790 (serial_open, serial_configure) New functions.
4791 * w32.h: Add FILE_SERIAL.
4792 (struct _child_process): Add ovl_read, ovl_write.
4793
47942008-06-13 Kenichi Handa <handa@m17n.org>
4795
4796 * dispextern.h (enum lface_attribute_index): New member
4797 LFACE_FOUNDRY_INDEX.
4798
4799 * font.c (font_score): Delete arg alternate_families. Check only
4800 weight, slant, width, and size. Ignore the difference of alias
4801 style symbols.
4802 (font_sort_entites): Adjust for the above change. Reflect the
4803 order of font-driver to scores.
4804 (font_list_entities): Don't check alternate_familes here.
4805 (font_clear_prop): Handle foundry.
4806 (font_update_lface): Don't parse "foundry-family" form here.
4807 Handle FONT_FOUNDRY_INDEX.
4808 (font_find_for_lface): Likewise. Handle alternate families here.
4809 If registry is nil, try iso8859-1 and ascii-0.
4810 (font_open_for_lface): Pay attention to size in ENTITY.
4811 (font_open_by_name): Simplify by calling font_load_for_lface.
4812 (free_font_driver_list): Delete it.
4813 (font_update_drivers): Preserve the order of backends.
4814 (syms_of_font): Setting of sort_shift_bits adjusted for the change
4815 of font_score and font_sort_entites.
4816 (font_update_sort_order): Likewise.
4817
4818 * xfaces.c (LFACE_FOUNDRY): New macro.
4819 (check_lface_attrs): Check foundry.
4820 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
4821 (merge_face_vectors): Check foundry.
4822 (merge_face_ref): Likewise.
4823 (Finternal_set_lisp_face_attribute): Likewise.
4824 (x_update_menu_appearance): Likewise.
4825 (Finternal_get_lisp_face_attribute): Likewise.
4826 (lface_hash): Likewise.
4827 (lface_same_font_attributes_p): Likewise.
4828 (x_supports_face_attributes_p): Likewise.
4829 (tty_supports_face_attributes_p): Likewise.
4830 (Finternal_set_alternative_font_family_alist): Intern strings.
4831 (Finternal_set_alternative_font_registry_alist): Downcase strings.
4832 (realize_default_face): Set LFACE_FOUNDRY (lface).
4833
4834 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
4835 font-driver at first.
4836
4837 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
4838
48392008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
4840
4841 * lread.c (Fload): Use xfree, not free on saved_doc_string.
4842
48432008-06-12 Jim Meyering <meyering@redhat.com>
4844
4845 Make unexec_free handle NULL the same way free does.
4846 * unexmacosx.c (unexec_free): Ignore a NULL argument.
4847
48482008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
4849
4850 * character.h (CHAR_TO_BYTE_SAFE): New macro.
4851 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
4852 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
4853 (WEAK_ALIAS): Simplify.
4854 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
4855 when searching a unibyte buffer.
4856
48572008-06-12 Chong Yidong <cyd@stupidchicken.com>
4858
4859 * xfns.c (Fx_select_font): Rename from x-font-dialog.
4860
48612008-06-12 Juanma Barranquero <lekktu@gmail.com>
4862
4863 * w32font.c: Include ctype.h.
4864
48652008-06-11 Jason Rumney <jasonr@gnu.org>
4866
4867 * w32font.c (w32font_encode_char): Detect missing glyphs that are
4868 misreported as space.
4869 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
4870 as aliases for registry iso10646-1.
4871
48722008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
4873
4874 * buffer.c (clone_per_buffer_values): Skip `name'.
4875
48762008-06-11 Chong Yidong <cyd@stupidchicken.com>
4877
4878 * font.c (font_parse_fcname): Fix last change; accept decimal
4879 points in font size.
4880
48812008-06-10 Jason Rumney <jasonr@gnu.org>
4882
4883 * w32uniscribe.c (add_opentype_font_name_to_list):
4884 Skip non unicode fonts.
4885
48862008-06-10 Chong Yidong <cyd@stupidchicken.com>
4887
4888 * xfns.c (Fx_font_dialog): New function.
4889
4890 * gtkutil.c (xg_dialog_response_cb): Rename from
4891 xg_file_response_callback.
4892 (pop_down_dialog): Rename from pop_down_file_dialog.
4893 (xg_get_file_name): Callers changed.
4894 (xg_get_font_name): New function.
4895
4896 * gtkutil.h (xg_get_font_name): Insert prototype.
4897
48982008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
4899
4900 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
4901 x_underline_minimum_display_offset.
4902 (syms_of_xdisp): Declare it here rather than in xterm.c.
4903 * dispextern.h (underline_minimum_offset): Declare it.
4904 * w32term.c (x_draw_glyph_string): Use it.
4905 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
4906 (syms_of_xterm): Don't declare it any more.
4907 (x_draw_glyph_string): Adjust to the new name.
4908
49092008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
4910
4911 * xterm.c (x_underline_minimum_display_offset): New var.
4912 (x_draw_glyph_string): Use it.
4913 (syms_of_xterm): Declare it.
4914
49152008-06-10 Chong Yidong <cyd@stupidchicken.com>
4916
4917 * font.c (font_parse_fcname): Accept GTK-style font names too.
4918
49192008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
4920
4921 * dired.c (file_name_completion): Don't return t if the match is exact
4922 but with different capitalization.
4923 * minibuf.c (Ftry_completion): Simplify.
4924
4925 * window.c (Vwindow_point_insertion_type): New var.
4926 (set_window_buffer): Use it.
4927 (syms_of_window): Init and export it to Lisp.
4928
49292008-06-10 Kenichi Handa <handa@m17n.org>
4930
4931 * font.h (font_intern_prop): Prototype adjusted.
4932
4933 * font.c (font_intern_prop): New arg force_symbol.
4934 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
4935 Adjust for the change of font_intern_prop.
4936
4937 * ftfont.c (ftfont_pattern_entity):
4938 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
4939 (w32_registry):
4940 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
4941 the change of font_intern_prop.
4942
49432008-06-09 Juanma Barranquero <lekktu@gmail.com>
4944
4945 * w32menu.c (digest_single_submenu): Declare extern.
4946
49472008-06-09 Jason Rumney <jasonr@gnu.org>
4948
4949 * w32term.c (x_make_frame_visible): Use alternate restore flags.
4950
4951 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
4952 (parse_single_submenu): Remove.
4953 (digest_single_submenu): Remove.
4954 (syms_of_w32menu): Don't initialise variables that have moved
4955 to menu.c.
4956 (set_frame_menubar): Sync with version in xmenu.c.
4957 (w32_menu_show): Sync with xmenu_show in xmenu.c.
4958
4959 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
4960 Make static again.
4961
49622008-06-09 Jason Rumney <jasonr@gnu.org>
4963
4964 Changes to w32 files related to the move of common menu code
4965 to menu.c on 2008-06-08 by Chong Yidong.
4966
4967 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
4968 defs to w32gui.h.
4969 (single_keymap_panes, push_menu_item, push_menu_pane):
4970 Make globally visible.
4971
4972 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
4973 (local_free, malloc_widget_value, free_widget_value)
4974 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
4975 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
4976 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
4977 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
4978 (menu_items, menu_items_allocated, menu_items_used)
4979 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
4980 (init_menu_items, finish_menu_items, discard_menu_items)
4981 (grow_menu_items, push_submenu_start, push_submenu_end)
4982 (push_left_right_boundary, push_menu_pane, push_menu_item)
4983 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
4984 (free_menubar_widget_tree_value, parse_single_submenu)
4985 (update_submenu_strings): Remove functions.
4986 (xmalloc_widget_value): Remove and declare extern.
4987
4988 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
4989 (OBJ1): Build it.
4990
4991 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
4992 (local_heap, local_alloc, local_free, malloc_widget_value)
4993 (free_widget_value): Define here.
4994
49952008-06-09 Kenichi Handa <handa@m17n.org>
4996
4997 * font.h (Qascii_0): Extern it.
4998
4999 * font.c (Qascii_0): New variable.
5000 (syms_of_font): DEFSYM it.
5001 (font_open_by_name): If the registry "iso8859-1" fails, try also
5002 "ascii-0".
5003
5004 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
5005
50062008-06-08 Kenichi Handa <handa@m17n.org>
5007
5008 * .gdbinit (xfont): New command.
5009
50102008-06-08 Andreas Schwab <schwab@suse.de>
5011
5012 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
5013 * Makefile.in (menu.o): Update dependencies.
5014
5015 * Makefile.in (obj): Always add menu.o.
5016 * emacs.c (main): Always call syms_of_menu.
5017 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
5018
50192008-06-08 Chong Yidong <cyd@stupidchicken.com>
5020
5021 * Makefile.in: Compile menu.c.
5022
5023 * lisp.h: Declare syms_of_menu.
5024
5025 * emacs.c (main): Call syms_of_menu.
5026
5027 * keyboard.h: Relocate platform-independent menu definitions from
5028 xmenu.c.
5029
5030 * menu.c: New file. Relocate platform-independent menu
5031 definitions from xmenu.c. Suggested by Adrian Robert.
5032
5033 * xmenu.c: Remove platform-independent menu definitions.
5034 (menu_items menu_items_inuse, menu_items_allocated)
5035 (menu_items_used, menu_items_n_panes)
5036 (menu_items_submenu_depth): Move to keyboard.h.
5037 (init_menu_items, finish_menu_items, unuse_menu_items)
5038 (discard_menu_items, restore_menu_items, save_menu_items)
5039 (grow_menu_items, push_submenu_start, push_submenu_end)
5040 (push_left_right_boundary, push_menu_pane, push_menu_item)
5041 (keymap_panes, single_keymap_panes, single_menu_item)
5042 (list_of_panes, list_of_items, find_and_call_menu_selection)
5043 (xmalloc_widget_value, free_menubar_widget_value_tree)
5044 (parse_single_submenu, digest_single_submenu)
5045 (update_submenu_strings): Move to menu.c.
5046
50472008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
5048
5049 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
5050
50512008-06-06 Miles Bader <miles@gnu.org>
5052
5053 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
5054 face, not frame default.
5055
50562008-06-05 Martin Rudalics <rudalics@gmx.at>
5057
5058 * window.c (pop_up_windows, pop_up_frames)
5059 (display_buffer_reuse_frames, Vpop_up_frame_function)
5060 (Vdisplay_buffer_function, Veven_window_heights)
5061 (Vspecial_display_buffer_names, Vspecial_display_regexps)
5062 (Vspecial_display_function, Vsame_window_buffer_names)
5063 (Vsame_window_regexps, split_height_threshold)
5064 (Vsplit_window_preferred_function): Move those vars to window.el.
5065 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
5066 (Fdisplay_buffer): Move those functions to window.el.
5067 (syms_of_window): Remove corresponding declarations.
5068 (display_buffer): New function.
5069 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
5070 * dispnew.c (Flast_nonminibuf_frame): New function.
5071 * buffer.c (Fpop_to_buffer): Move to window.el.
5072
50732008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5074
5075 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
5076
50772008-06-05 Kenichi Handa <handa@m17n.org>
5078
5079 * coding.c (detect_coding): Fix previous change.
5080 (detect_coding_system): Likewise.
5081
50822008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5083
5084 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
5085
5086 * keymap.c (Vminibuffer_local_filename_must_match_map):
5087 Rename from Vminibuffer_local_must_match_filename_map.
5088 (syms_of_keymap):
5089 * minibuf.c (Fcompleting_read): Adjust accordingly.
5090 * commands.h: Rename declaration as well.
5091
50922008-06-05 Kenichi Handa <handa@m17n.org>
5093
5094 * font.c (Ffont_spec): Don't use font_parse_family_registry for
5095 family name.
5096 (Ffont_put): Likewise.
5097
5098 * fontset.c (fontset_find_font): Call font_open_for_lface with the
5099 current font-spec.
5100
5101 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
5102 is unspecified.
5103
5104 * xfaces.c (realize_x_face): If the font-related face attributes
5105 are the same as those of default face, realize a new fontset from
5106 default->fontset.
5107 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
5108
51092008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5110
5111 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
5112 (move_it_in_display_line): New wrapper.
5113
5114 * window.c (window_scroll_pixel_based_preserve_x)
5115 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
5116 (window_scroll_pixel_based, window_scroll_line_based):
5117 Use them to preserve column positions.
5118 (syms_of_window): Initialize them.
5119
5120 * indent.c (Fvertical_motion): Extend first arg to allow passing an
5121 (HPOS . VPOS) pair.
5122
5123 * dispextern.h (move_it_in_display_line): Declare.
5124
51252008-06-05 Juanma Barranquero <lekktu@gmail.com>
5126
5127 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
5128 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
5129 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
5130
51312008-06-04 Juanma Barranquero <lekktu@gmail.com>
5132
5133 * window.c (Fset_window_parameter): Doc fix.
5134 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
5135
51362008-06-04 Joakim Verona <joakim@verona.se>
5137
5138 * window.h (struct window): Add new member window_parameters.
5139
5140 * window.c (Fwindow_parameters, Fwindow_parameter)
5141 (Fset_window_parameter): New defuns.
5142 (syms_of_window): Defsubr the new defuns.
5143 (make_window): Initialize window_parameters to nil.
5144
51452008-06-04 John Paul Wallington <jpw@pobox.com>
5146
5147 * eval.c (Fdefmacro): Doc fix.
5148
51492008-06-04 Kenichi Handa <handa@m17n.org>
5150
5151 * coding.c (detect_coding): Fix handling of coding->head_ascii.
5152 Be sure to call setup_coding_system when we find a proper coding system.
5153 (detect_coding_system): Fix handling of coding->head_ascii.
5154
51552008-06-03 Andreas Schwab <schwab@suse.de>
5156
5157 * font.c (font_prop_validate_spacing): Fix last change.
5158
51592008-06-03 Kenichi Handa <handa@m17n.org>
5160
5161 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
5162 (font_parse_fcname): Fix handling of unknown key.
5163
5164 * xfont.c (xfont_list): Try an alias.
5165
5166 * charset.c (char_charset): Return NULL if the arg charset_list is
5167 specified and C doesn't belong to any of them.
5168
51692008-06-02 Chip Coldwell <coldwell@redhat.com>
5170
5171 * font.c (font_pixel_size): Don't take cdr of an integer.
5172
51732008-06-02 Jim Meyering <meyering@redhat.com>
5174
5175 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
5176 * alloc.c (xfree): Return right away for a NULL arg.
5177 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
5178 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
5179 * mac.c (create_apple_event_from_event_ref): Likewise.
5180 (create_apple_event_from_drag_ref, cfstring_create_normalized):
5181 Likewise.
5182 * doprnt.c (doprnt1): Likewise.
5183 * frame.c (frame): Likewise.
5184 * keyboard.c (wipe_kboard): Likewise.
5185 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
5186 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
5187 * term.c (tty_default_color_capabilities, maybe_fatal)
5188 (delete_tty): Likewise.
5189 * w16select.c (string): Likewise.
5190 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
5191 * w32bdf.c (w32_free_bdf_font): Likewise.
5192 * w32fns.c (w32_unload_font): Likewise.
5193 * w32font.c (w32font_close): Likewise.
5194 * window.c (size_window): Likewise.
5195 * xselect.c (receive_incremental_selection): Likewise.
5196 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
5197 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
5198 * w32.c (stat): Likewise.
5199
5200 Remove useless if-before-free tests.
5201 * editfns.c (Fset_time_zone_rule): Likewise.
5202 * lread.c (nosuffix): Likewise.
5203 * ralloc.c (get_bloc): Likewise.
5204 * regex.c (reg_free): Likewise.
5205 * xftfont.c (xftfont_open, xftfont_close): Likewise.
5206 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
5207 * xsmfns.c (smc_save_yourself_CB): Likewise.
5208
52092008-06-02 Kenichi Handa <handa@m17n.org>
5210
5211 * font.c (font_find_for_lface): Handle float font size.
5212 (font_open_for_lface): Likewise.
5213
5214 * xfaces.c (x_supports_face_attributes_p): Check face->font before
5215 comparing the properties.
5216
52172008-06-01 Jason Rumney <jasonr@gnu.org>
5218
5219 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
5220 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
5221 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
5222 Don't add empty script list.
5223 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
5224
52252008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
5226
5227 * Makefile.in (dot, dotdot): Remove, update users.
5228 ".." has been used elsewhere in the file for a long time.
5229 (LIBXT_STATIC): Remove conditional based on unused variable.
5230
52312008-06-01 Miles Bader <miles@gnu.org>
5232
5233 * xfaces.c (Vface_remapping_alist): New variable.
5234 (syms_of_xfaces): Initialize it.
5235 (enum named_merge_point_kind): New type.
5236 (struct named_merge_point): Add `named_merge_point_kind' field.
5237 (push_named_merge_point): Make cycle detection respect different
5238 named-merge-point kinds.
5239 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
5240 Remove face-name alias resolution.
5241 (lface_from_face_name): New definition using
5242 `lface_from_face_name_no_resolve'.
5243 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
5244 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
5245 (get_lface_attributes): New definition that layers face-remapping on
5246 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
5247 (lookup_basic_face): New function.
5248 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
5249 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
5250 `get_lface_attributes'.
5251 (face_at_buffer_position): Use `lookup_basic_face' to lookup
5252 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
5253 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
5254
5255 * xdisp.c (init_iterator): Pass base_face_id through
5256 `lookup_basic_face' when we actually use it as a face-id.
5257 (handle_single_display_prop): Use `lookup_basic_face' to lookup
5258 DEFAULT_FACE_ID.
5259
5260 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
5261 lookup the initial face-id.
5262
5263 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
5264
52652008-06-01 Juanma Barranquero <lekktu@gmail.com>
5266
5267 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
5268 (Fremove_text_properties): Fix typos in docstrings.
5269
52702008-05-31 Kenichi Handa <handa@m17n.org>
5271
5272 * font.c (font_list_entities): Fix the car part of data to be
5273 stored in the cache.
5274
5275 * ftfont.c (ftfont_font_format): Don't use strcasestr.
5276
52772008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
5278
5279 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
5280 Add a `test' argument so another predicate than `equal' can be used.
5281 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
5282 (map_char_table): Remove unused vars `c' and `i'.
5283 * lisp.h (Foptimize_char_table): Adjust declaration.
5284 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
5285
52862008-05-30 Kenichi Handa <handa@m17n.org>
5287
5288 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
5289 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
5290 defined.
5291
52922008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
5293
5294 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
5295 (Fmake_variable_frame_local): Disallow mixing buffer-local and
5296 frame-local settings for the same variable.
5297
52982008-05-30 Kenichi Handa <handa@m17n.org>
5299
5300 * fontset.c (Ffont_info): Move to font.c.
5301 (syms_of_fontset): Delete defsubr of Sfont_info.
5302
5303 * font.c (font_style_to_value, font_score): Delete casting of the
5304 args to xstcasecmp.
5305 (register_font_driver): Increment num_font_drivers only when
5306 registering the driver globally.
5307 (Ffont_info): Move from fontset.c. Handle a font object too.
5308 (syms_of_font): Defsubr Sfont_info.
5309
53102008-05-29 Kenichi Handa <handa@m17n.org>
5311
5312 * coding.h (enum define_coding_utf8_arg_index): New enum.
5313 (enum coding_attr_index): Change coding_attr_utf_16_bom to
5314 coding_attr_utf_bom.
5315 (enum utf_bom_type): Rename from utf_16_bom_type.
5316 (struct utf_16_spec): Adjust for the above change.
5317 (struct coding_system): Add utf_8_bom in `spec' union.
5318
5319 * coding.c (CODING_UTF_8_BOM): New macro.
5320 (enum coding_category): Delete coding_category_utf_8, add
5321 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
5322 coding_category_utf_8_sig.
5323 (CATEGORY_MASK_UTF_8): Delete it.
5324 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
5325 (CATEGORY_MASK_UTF_8_SIG): New macros.
5326 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
5327 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
5328 CATEGORY_MASK_UTF_8_SIG.
5329 (CATEGORY_MASK_UTF_8): New macro.
5330 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
5331 (detect_coding_utf_8): Check BOM.
5332 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
5333 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
5334 (encode_coding_utf_16): Likewise.
5335 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
5336 (detect_coding, detect_coding_system): Handle utf-8-auto.
5337 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
5338 (syms_of_coding): Fix setting up of Vcoding_category_table.
5339
53402008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
5341
5342 * process.c (Faccept_process_output): If `millisec' is non-nil,
5343 `seconds' default to 0.
5344 (wait_reading_process_output): Also return non-nil if we read output
5345 from a non-running process.
5346
53472008-05-29 Jason Rumney <jasonr@gnu.org>
5348
5349 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
5350 `raster' specified.
5351 (add_font_entity_to_list): Allow non-opentype truetype fonts back
5352 in the uniscribe backend, but disallow any font that has no
5353 unicode subrange support.
5354
53552008-05-29 Juanma Barranquero <lekktu@gmail.com>
5356
5357 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
5358 Fix typos in docstrings.
5359
53602008-05-29 Kenichi Handa <handa@m17n.org>
5361
5362 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
5363 (Fx_family_fonts): Set frame correctly.
5364
53652008-05-28 Jason Rumney <jasonr@gnu.org>
5366
5367 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
5368
53692008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
5370
5371 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
5372 calling build_annotations.
5373
53742008-05-28 Juanma Barranquero <lekktu@gmail.com>
5375
5376 * coding.c (Fdecode_coding_region, Fencode_coding_region)
5377 (Fencode_coding_string):
5378 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
5379 <latin-extra-code-table>: Fix typos in docstrings.
5380 (syms_of_coding) <coding-system-alist>: Doc fix.
5381 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
5382
53832008-05-28 Kenichi Handa <handa@m17n.org>
5384
5385 * fontset.c (Ffont_info): Don't call font_close_object.
5386
5387 * font.c (font_parse_family_registry): Use Ffont_put to validate
5388 foundry and family.
5389 (font_delete_unmatched): Don't check spacing.
5390 (font_list_entities): Add spacing to the spec to list fonts.
5391
5392 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
5393 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
5394
5395 * coding.c (encode_coding_raw_text): Fix previous change.
5396 (encode_coding_object): When the dst_object is a buffer and is
5397 different from src_object, move gap to PT.
5398
53992008-05-27 Chong Yidong <cyd@stupidchicken.com>
5400
5401 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
5402
54032008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
5404
5405 * coding.c (encode_coding_raw_text): Set coding->produced_char for
5406 all branches. Compute it differently.
5407
5408 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
5409
54102008-05-27 Juanma Barranquero <lekktu@gmail.com>
5411
5412 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
5413 into "else if () ... else ...".
5414
54152008-05-27 Jason Rumney <jasonr@gnu.org>
5416
5417 * w32font.c (w32font_open_internal): Determine if glyph indices
5418 are likely to work here.
5419
54202008-05-27 Chong Yidong <cyd@stupidchicken.com>
5421
5422 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
5423 draw overlap glyphs with appropriate highlighting.
5424
54252008-05-27 Kenichi Handa <handa@m17n.org>
5426
5427 * xfont.c (xfont_open): Fix calculation of font->average_width.
5428
54292008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
5430
5431 * casefiddle.c (casify_object): Try to guess better whether the
5432 argument is a byte or a char.
5433
54342008-05-26 Andreas Schwab <schwab@suse.de>
5435
5436 * xselect.c (x_reply_selection_request): Properly handle format == 32.
5437 Always send multiples of format size.
5438
5439 * xterm.c (x_set_frame_alpha): Fix type mismatch.
5440
54412008-05-26 Jason Rumney <jasonr@gnu.org>
5442
5443 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
5444 (compute_metrics): Don't set failure if we just cleared the cache.
5445 (w32_weight_table): Remove unused variable.
5446 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
5447 backwards compatibility.
5448
54492008-05-25 Kenichi Handa <handa@m17n.org>
5450
5451 * w32term.c (x_draw_glyph_string):
5452 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
5453
5454 * xfaces.c: Delete unused function prototypes.
5455 (xstrlwr, font_frame): Delete them.
5456 (clear_face_cache): Delete unused variable.
5457
5458 * xftfont.c (xftfont_open): Delete unused variable.
5459 If underline_thickness is not 1, adjust underline_position.
5460
5461 * ftxfont.c (ftxfont_open): Delete unused variable.
5462
5463 * fontset.c (face_for_char): Optimize for the case of no charset
5464 property.
5465
5466 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
5467 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
5468 (otf_open, font_otf_capability, generate_otf_features)
5469 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
5470 Comment out by surrounding "#if 0" and "#endif" for the moment.
5471 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
5472 (syms_of_font): Codes for accessing above commented out.
5473
54742008-05-24 Eli Zaretskii <eliz@gnu.org>
5475
5476 * w32proc.c: Include dispextern.h.
5477
5478 * w32.c: Include dispextern.h.
5479
54802008-05-23 Juanma Barranquero <lekktu@gmail.com>
5481
5482 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
5483 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
5484 Fix typos in docstrings.
5485
54862008-05-23 Jason Rumney <jasonr@gnu.org>
5487
5488 * xsmfns.c: Remove includes that are already included by config.h.
5489
54902008-05-23 Kenichi Handa <handa@m17n.org>
5491
5492 * charset.c (Qemacs, charset_emacs): New variables.
5493 (char_charset): Fix for non-Unicode characters.
5494 (syms_of_charset): Define charset_emacs.
5495
5496 * w32term.c (x_draw_glyph_string): Be sure to update
5497 s->underline_thickness and s->underline_position. Be sure to draw
5498 underline within the current line area.
5499
5500 * xterm.c (x_draw_glyph_string): Be sure to update
5501 s->underline_thickness and s->underline_position. Be sure to draw
5502 underline within the current line area.
5503
5504 * fontset.c: Delete unused variables and add casting for char *
5505 throughout the file.
5506 (fontset_font): Try the fallback fonts of the current fontset
5507 before consulting the default fontset.
5508
5509 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
5510
5511 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
5512
55132008-05-22 Jason Rumney <jasonr@gnu.org>
5514
5515 * font.c: Don't include strings.h.
5516
5517 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
5518
5519 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
5520 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
5521 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
5522 to call xstrcasecmp.
5523
5524 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
5525
5526 * fontset.c (fs_query_fontset): Use xstrcasecmp.
5527
5528 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
5529
5530 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
5531
55322008-05-22 Kenichi Handa <handa@m17n.org>
5533
5534 * puresize.h (BASE_PURESIZE): Increase to 1220000.
5535
5536 * font.c (font_prop_validate_style): Adjust for the format
5537 change of font_style_table.
5538
5539 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
5540 two args.
5541
5542 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
5543 two args.
5544
55452008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
5546
5547 * minibuf.c (keys_of_minibuf): Delete.
5548 * lisp.h (keys_of_minibuf): Delete.
5549 * emacs.c (main): Don't call keys_of_minibuf.
5550
55512008-05-22 Kenichi Handa <handa@m17n.org>
5552
5553 * ftfont.c (ftfont_resolve_generic_family): Rename from
5554 ftfont_list_generic_family. Return a single family for each
5555 generic family.
5556 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
5557 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
5558 Call font_add_log.
5559 (ftfont_match): Call font_add_log.
5560
5561 * font.h (Ffont_xlfd_name): EXFUN adjusted.
5562 (FONT_DEBUG): Define it.
5563 (font_add_log): Extern it.
5564 (font_assert): Rename from xassert.
5565
5566 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
5567 (xfont_list_family): Call font_add_log.
5568 (xfont_match): Likewise.
5569 (memq_no_quit): Delete.
5570
5571 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
5572 call of Ffont_xlfd_name.
5573
5574 * xfaces.c (struct table_entry, slant_table, weight_table)
5575 (swidth_table): Move to font.c.
5576
5577 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
5578 xassert are changed to font_assert. Delete many unused variables.
5579 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
5580 New variables.
5581 (struct table_entry): Move from xfaces.c and modified.
5582 (weight_table, slant_table, width_table): Move from xfaces.c and
5583 contents adjusted for the change of struct table_entry.
5584 (font_style_to_value, font_style_symbolic): Adjust for the
5585 format change of font_style_table.
5586 (font_parse_family_registry): Don't overwrite existing foundry and
5587 family of font_spec.
5588 (font_score): Fix calculation of diff for sizes.
5589 (font_sort_entites): Call font_add_log.
5590 (font_delete_unmatched): Return a newly created list.
5591 (font_list_entities): Fix previous change. Call font_add_log.
5592 (font_matching_entity, font_open_entity, font_close_entity):
5593 Call font_add_log.
5594 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
5595 (Finternal_set_font_style_table): Delete.
5596 (BUILD_STYLE_TABLE): New macro.
5597 (build_style_table): New function.
5598 (Vfont_log, font_log_env_checked): New variables.
5599 (font_add_log): New function.
5600 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
5601 Declare Lisp variables "font-weight-table", "font-slant-table",
5602 "font-width-table", and "font-log". Initialize font_style_table.
5603
56042008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
5605
5606 * xterm.c (x_set_frame_alpha): Move declarations before statements.
5607
56082008-05-21 Seiji Zenitani <zenitani@mac.com>
5609 Ryo Yoshitake <ryo@shiftmode.net>
5610
5611 * frame.c (Qalpha): Add a new frame parameter `alpha'.
5612 (Vframe_alpha_lower_limit): New variable.
5613 (x_set_alpha): New function.
5614
5615 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
5616
5617 * xfns.c (x-create-frame, Qalpha):
5618 Initialize the frame parameter `alpha'.
5619 * xterm.c (OPAQUE, OPACITY): New.
5620 (x_set_frame_alpha): New function.
5621 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
5622
5623 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
5624 * w32fns.c (w32_frame_parm_handlers): Likewise.
5625
56262008-05-20 Jason Rumney <jasonr@gnu.org>
5627
5628 * w32font.c (add_font_entity_to_list): Don't add non-opentype
5629 truetype fonts to opentype list.
5630
56312008-05-20 Juanma Barranquero <lekktu@gmail.com>
5632
5633 * fontset.c (Ffontset_info): Doc fix.
5634 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
5635 <ignore-relative-composition>: Fix typos in docstrings.
5636
5637 * font.c (syms-of-font) <font-encoding-alist>:
5638 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
5639 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
5640 (Ffont_otf_alternates): Doc fixes.
5641
56422008-05-20 Kenichi Handa <handa@m17n.org>
5643
5644 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
5645 font.h through out the file.
5646 (FONT_DRIVERS): Rename from FONTOBJ.
5647 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
5648 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
5649
5650 * emacs.c (main): Call syms_of_font unconditionally.
5651
5652 * font.h (find_font_encoding): Extern it.
5653
5654 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
5655 fontset.c.
5656 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
5657 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
5658 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
5659 only when HAVE_WINDOW_SYSTEM is defined.
5660 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
5661 when HAVE_WINDOW_SYSTEM is defined.
5662
5663 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
5664 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
5665
5666 * xfaces.c: Include font.h unconditionally.
5667 (merge_face_ref, merge_face_vectors)
5668 (Finternal_set_lisp_face_attribute): Cancel the previous change.
5669
56702008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
5671
5672 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
5673 indirect_variable.
5674 * eval.c (lisp_indirect_variable): New fun.
5675 (Fuser_variable_p): Use it.
5676
56772008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
5678
5679 * lisp.h (indirect_variable):
5680 * data.c (indirect_variable, let_shadows_buffer_binding_p):
5681 Use Lisp_Symbol pointers rather than Lisp_Object.
5682 Adjust callers.
5683 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
5684 To this end, change calling-convention.
5685
5686 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
5687 if some non-hidden buffers are selected by string&pred.
5688
56892008-05-19 Chong Yidong <cyd@stupidchicken.com>
5690
5691 * process.c (wait_reading_process_output): Always check status
5692 when in batch mode.
5693
56942008-05-19 Kenichi Handa <handa@m17n.org>
5695
5696 * font.c (font_list_entities): Fix handling of cache.
5697 (font_matching_entity): Likewise.
5698
5699 * ftfont.c (cs_iso8859_1): Delete.
5700 (ft_face_cache): New variable.
5701 (struct ftfont_info): New member fc_charset_idx.
5702 (ftfont_build_basic_charsets): Delete.
5703 (fc_charset_table): New variable.
5704 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
5705 . FC_CHARSET_IDX) as :font-entity property in the font entity.
5706 Callers changed.
5707 (ftfont_lookup_cache, ftfont_get_charset): New functions.
5708 (ftfont_spec_pattern): New argument fc_charset_idx.
5709 Check registry more rigidly. Change callers.
5710 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
5711 change of :font-entity property of the font.
5712
5713 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
5714 property of the font.
5715
57162008-05-18 Juanma Barranquero <lekktu@gmail.com>
5717
5718 * coding.c (Fcoding_system_p): Rename argument to match docstring.
5719 (Funencodable_char_position, Fcheck_coding_systems_region)
5720 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
5721 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
5722 (Ffind_operation_coding_system, Fset_coding_system_priority)
5723 (Fcoding_system_eol_type): Doc fixes.
5724
57252008-05-17 Glenn Morris <rgm@gnu.org>
5726
5727 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
5728
57292008-05-16 Eli Zaretskii <eliz@gnu.org>
5730
5731 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
5732 and st_gid.
5733
5734 * frame.c (Fdelete_frame): Don't call font_update_drivers if
5735 HAVE_WINDOW_SYSTEM is not defined.
5736
5737 * xfaces.c (merge_face_ref, merge_face_vectors)
5738 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
5739 HAVE_WINDOW_SYSTEM is defined.
5740 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
5741
57422008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
5743
5744 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
5745
57462008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5747
5748 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
5749
57502008-05-15 Kenichi Handa <handa@m17n.org>
5751
5752 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
5753 preference.
5754
57552008-05-15 Glenn Morris <rgm@gnu.org>
5756
5757 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
5758
57592008-05-15 Chong Yidong <cyd@stupidchicken.com>
5760
5761 * fns.c (init_fns): Don't initialize weak_hash_tables here.
5762 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
5763
5764 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
5765
57662008-05-15 Kenichi Handa <handa@m17n.org>
5767
5768 * ftfont.c (ftfont_list): Downcase family name to check generic
5769 families.
5770
5771 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
5772 font-spec for QCfont value.
5773
5774 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
5775 buffer. Check the return value of it.
5776
57772008-05-14 Jason Rumney <jasonr@gnu.org>
5778
5779 * w32term.c (w32_get_glyph_overhangs): Remove.
5780 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
5781
57822008-05-14 Kenichi Handa <handa@m17n.org>
5783
5784 * font.c (font_prop_validate): Make nil a valid value.
5785 (font_clear_cache): Check if the cached vector of entities is nil
5786 or not.
5787
57882008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5789
5790 * emacs.c (main_thread): Conditionalize on
5791 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
5792 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
5793
5794 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
5795 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
5796 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
5797
57982008-05-14 Kenichi Handa <handa@m17n.org>
5799
5800 * coding.c (detect_coding_iso_2022): Ignore a coding category that
5801 has no corresponding coding system.
5802
58032008-05-14 Jason Rumney <jasonr@gnu.org>
5804
5805 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
5806
5807 * w32font.h (w32font_open_internal): Update declaration.
5808
5809 * w32font.c (w32font_open_internal): Change last argument from
5810 w32font_info struct to font object. Fill in font object from
5811 font_entity. Get Outline metrics if possible. Use them to
5812 calculate underline position and thickness. Use xlfd name as name
5813 property. Don't set codepage.
5814 (w32font_open): Pass font_object to w32font_open_internal. Don't
5815 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
5816 (w32font_draw): Use s->font.
5817 (clear_cached_metrics): Don't clear non-existent blocks.
5818
5819 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
5820 font was not found.
5821 (x_draw_glyph_string): Use underline position and thickness from font.
5822
5823 * w32uniscribe.c (uniscribe_open): Pass font_object to
5824 w32font_open_internal.
5825
58262008-05-14 Kenichi Handa <handa@m17n.org>
5827
5828 These changes are to delete all legacy font-handling codes, and
5829 make Emacs use only font-backends.
5830
5831 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
5832 (frame.o, image.o, print.o): Depend on $(FONTSRC).
5833
5834 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
5835
5836 * charset.h (Vcharset_non_preferred_head)
5837 (Vcurrent_iso639_language): Extern them.
5838
5839 * charset.c (Vcharset_non_preferred_head): New variable.
5840 (Vcurrent_iso639_language): New variable.
5841 (syms_of_charset): Declare it as a Lisp variable.
5842 (char_charset): Don't check non preferred charsets. As a last
5843 resort, return charset_unicode.
5844 (Fset_charset_priority): Update Vcharset_non_preferred_head.
5845
5846 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
5847 conditionals. Don't check enable_font_backend. Delete all codes
5848 used only when USE_FONT_BACKEND is not defined.
5849
5850 * dispextern.h (struct glyph_string): Change type of `font' to
5851 `struct font *'.
5852 (struct glyph_string): New member underline_position and
5853 underline_thickness.
5854 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
5855 (struct face): Change type of `font' to `struct font *'. Remove
5856 members `font_name', `font_info_id'.
5857 (per_char_metric, encode_char): Delete externs.
5858 (calc_pixel_width_or_height): Adjust the prototype.
5859
5860 * emacs.c (enable_font_backend): Delete extern.
5861 (main): Don't set enable_font_backend. Don't check the command
5862 line argument "-disable-font-backend".
5863
5864 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
5865 (enum font_property_index): New members FONT_DPI_INDEX,
5866 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
5867 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
5868 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
5869 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
5870 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
5871 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
5872 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
5873 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
5874 (struct font_spec, struct font_entity): New structs.
5875 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
5876 (struct font): Many members from old "struct font_info" moved to
5877 here. Members font and entity deleted.
5878 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
5879 the new font-related objects.
5880 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
5881 (CHECK_FONT_GET_OBJECT): Likewise.
5882 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
5883 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
5884 (struct font_driver): New members case_sensitive anc check. Type
5885 of the member list and open changed.
5886 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
5887 (font_symbolic_width, font_find_object, font_get_spec)
5888 (font_set_lface_from_name): Delete extern.
5889 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
5890
5891 * font.c: Include <strings.h>.
5892 (enable_font_backend): Delete it.
5893 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
5894 (CHECK_VALIDATE_FONT_SPEC): Delete it.
5895 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
5896 (null_string): Delete it.
5897 (null_vector): Make it static.
5898 (font_family_alist): Delete it.
5899 (Qnormal): Extern it.
5900 (QCextra, QClanguage): Delete it.
5901 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
5902 (font_make_spec, font_make_entity, font_make_object)
5903 (font_intern_prop): Renamed from intern_downcase. Don't downcase
5904 the string. Callers changed.
5905 (font_pixel_size): Adjusted for the format change of font-related
5906 objects.
5907 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
5908 (font_style_to_value, font_style_symbolic): New function.
5909 (build_font_family_alist): Delete it.
5910 (font_registry_charsets): Use Fassoc_string instead of
5911 assq_no_quit.
5912 (font_prop_validate_symbol): Don't return null_string.
5913 (font_prop_validate_style): Adjusted for the change of
5914 style-related values in a font vector.
5915 (font_property_table): Delete entries for QClanguage and
5916 QCantialias, add entries for QCavgwidth.
5917 (get_font_prop_index): Delete the 2nd argument FROM.
5918 (font_prop_validate): Arguments changed.
5919 (font_put_extra): Adjusted for the change of font-related objects.
5920 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
5921 (font_parse_fcname, font_unparse_fcname)
5922 (font_prepare_composition): Likewise.
5923 (font_parse_family_registry): Renamed from font_merge_old_spec.
5924 (otf_open): Delete the 1st arg entity.
5925 (font_otf_capability): Adjusted for the above change.
5926 (font_score): New arg alternate_families. Adjusted for the change
5927 of font-related objects.
5928 (font_sort_entites): New arg best_only.
5929 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
5930 Delete them.
5931 (font_match_p): Check alternate families.
5932 (font_find_object): Delete it.
5933 (font_check_object): New function.
5934 (font_clear_cache): Adjusted for the change of font-related objects.
5935 (font_delete_unmatched): New arg.
5936 (font_list_entities): Call font_driver->list with a spec that
5937 doesn't specify style-related properties.
5938 (font_matching_entity): Arguments changed. Caller changed.
5939 (font_open_entity): Adjusted for the change of font-related objects.
5940 (font_close_object, font_has_char, font_encode_char)
5941 (font_get_name, font_get_spec): Likewise.
5942 (font_spec_from_name, font_clear_prop, font_update_lface):
5943 New functions.
5944 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
5945 (font_prepare_for_face, font_done_for_face, font_open_by_name)
5946 (font_at): Adjusted for the change of font-related objects.
5947 (font_range): New function.
5948 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
5949 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
5950 (Fcopy_font_spec, Fmerge_font_spec): New function.
5951 (Ffont_family_list): Renamed from list-families.
5952 (Finternal_set_font_style_table): Arguments changed.
5953 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
5954 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
5955 change of font-related objects.
5956 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
5957
5958 * fontset.h (struct font_info): Delete it. Most members go to
5959 struct font.
5960 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
5961 (enum FONT_SPEC_INDEX): Delete it.
5962 (font_info, list_fonts_func, load_font_func, query_font_func)
5963 (set_frame_fontset_func, find_ccl_program_func)
5964 (get_font_repertory_func, new_fontset_from_font_name): Delete
5965 externs.
5966 (fontset_from_font_name): Extern it.
5967 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
5968 (FONT_INFO_FROM_FACE): Deleted.
5969 (face_for_font): Adjust prototype.
5970
5971 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
5972 conditionals. Don't check enable_font_backend. Delete all codes
5973 used only when USE_FONT_BACKEND is not defined.
5974 (get_font_info_func, list_font_func, load_font_func)
5975 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
5976 (get_font_repertory_func): Delete them.
5977 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
5978 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
5979 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
5980 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
5981 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
5982 (fontset_compare_rfontdef): New function.
5983 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
5984 rfont-defs by qsort. Adjusted for the change of font-group vector.
5985 (load_font_get_repertory): Deleted.
5986 (fontset_find_font): Use new macros to ref/set elements of
5987 font-def and rfont-def.
5988 (fontset_font): Fix the timing of remembering that no font for C.
5989 (free_face_fontset): Do nothing if the face has no fontset.
5990 (face_suitable_for_char_p): Use new macros to ref/set elements of
5991 rfont-def.
5992 (face_for_char): Likewise. Call face_for_char with font_object.
5993 (fs_load_font): Delete. Delete #pragma surrounding it.
5994 (fs_query_fontset): Use strcasecmp instead of strcmp.
5995 (generate_ascii_font_name): Adjusted for the format change of
5996 font-spec.
5997 (Fset_fontset_font): Likewise. Use new macros to set elements of
5998 font-def.
5999 (Fnew_fontset): Use font_unparse_xlfd to generate
6000 FONTSET_ASCII (fontset).
6001 (new_fontset_from_font_name): Deleted.
6002 (fontset_from_font): Renamed from new_fontset_from_font. Check if
6003 a fontset is already created for the font. FIx updating of
6004 Vfontset_alias_alist.
6005 (fontset_ascii_font): Deleted.
6006 (Ffont_info): Adjusted for the format change of font-spec.
6007 (Finternal_char_font): Likewise.
6008 (Ffontset_info): Likewise.
6009 (syms_of_fontset): Don't check load_font_func.
6010
6011 * fns.c (internal_equal): Handle PREV_FONT.
6012
6013 * frame.h: Delete USE_FONT_BACKEND conditional.
6014
6015 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
6016 conditionals. Don't check enable_font_backend. Delete all codes
6017 used only when USE_FONT_BACKEND is not defined.
6018 (x_set_font): Call x_new_font, not x_new_fontset2.
6019 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
6020 already set for the frame.
6021
6022 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
6023 a font-entity by font_make_entity. Use font_intern_prop instead
6024 of intern_downcase. Use FONT_SET_STYLE to set a style-related
6025 font property. If a font is scalable, set avgwidth property to 0.
6026 Set font-entity property by font_put_extra.
6027 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
6028 (ffont_driver): Adjusted for the change of struct font_driver.
6029 (ftfont_spec_pattern): New function.
6030 (ftfont_list): Return a list, not vector.
6031 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
6032 (ftfont_list_family): Don't downcase names.
6033 (ftfont_free_entity): Deleted.
6034 (ftfont_open): Return a font-object. Adjusted for the change of
6035 struct font. Get underline_thickness and underline_position from
6036 font property. Don't update dpyinfo->smallest_font_height and
6037 dpyinfo->smallest_char_width.
6038 (ftfont_close): Don't free `struct font'.
6039 (ftfont_has_char): Adjusted for the format change of font-entity.
6040 (ftfont_encode_char, ftfont_text_extents): Likewise.
6041
6042 * ftxfont.c (ftxfont_list): Return a list, not vector.
6043 (ftxfont_open): Return a font-object. Adjusted for the change of
6044 struct font. Get underline_thickness and underline_position from
6045 font property. Don't update dpyinfo->smallest_font_height and
6046 dpyinfo->smallest_char_width.
6047 (ftxfont_close): Don't decrease FRAME_X_DISPLAY_INFO (f)->n_fonts.
6048 (ftxfont_draw): Adjusted for the change of struct font.
6049
6050 * image.c (image_ascent): Don't include "charset.h". Include
6051 "character.h" and "font.h".
6052
6053 * lisp.h (enum pvec_type): New member PREV_FONT.
6054 (Fassoc_string): EXFUN it.
6055
6056 * print.c: Include font.h.
6057 (print_object): Handle font-related objects.
6058
6059 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
6060 conditionals. Don't check enable_font_backend. Delete all codes
6061 used only when USE_FONT_BACKEND is not defined.
6062 (handle_auto_composed_prop): Do nothing if it->f is not on a
6063 window system. Check how many following characters can be
6064 displayed by the same font.
6065 (calc_pixel_width_or_height): Type of the 4th arg is changed to
6066 'struct font *'.
6067 (get_char_face_and_encoding): Assign the whole encoding task to
6068 the `encode-char' method of a font driver.
6069 (fill_composite_glyph_string): Adjusted for the change of `struct
6070 face' and `struct glyph_string'.
6071 (fill_glyph_string): Likewise.
6072 (get_per_char_metric): Arguments changed.
6073 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
6074 and `struct glyph_string'.
6075 (produce_stretch_glyph, calc_line_height_property)
6076 (x_produce_glyphs): Likewise.
6077
6078 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
6079 conditionals. Don't check enable_font_backend. Delete all codes
6080 used only when USE_FONT_BACKEND is not defined. Use
6081 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
6082 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
6083 (Qp): Extern them.
6084 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
6085 Deleted.
6086 (struct font_name): Deleted.
6087 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
6088 (compare_fonts_by_sort_order): New function.
6089 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
6090 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
6091 Deleted.
6092 (Fx_family_fonts): Use font_list_entities, and sort fonts by
6093 compare_fonts_by_sort_order.
6094 (Fx_font_family_list): Call Ffont_family_list.
6095 (face_numeric_value, face_numeric_weight, face_numeric_slant)
6096 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
6097 (face_symbolic_slant, face_symbolic_swidth)
6098 (split_font_name_into_vector, build_font_name_from_vector)
6099 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
6100 (font_rescale_ratio, split_font_name, build_font_name)
6101 (free_font_names, sort_fonts, x_face_list_fonts)
6102 (face_font_available_p, sorted_font_list, cmp_font_names)
6103 (font_list_1, concat_font_list, font_list, remove_duplicates):
6104 Deleted.
6105 (Fx_list_fonts): Use Ffont_list.
6106 (LFACE_AVGWIDTH): Deleted.
6107 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
6108 by FONTP.
6109 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
6110 (set_lface_from_font_name): Delete it.
6111 (set_lface_from_font): Renamed from
6112 set_lface_from_font_and_fontset. Caller changed. Don't set
6113 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
6114 for face.
6115 (merge_face_vectors): Copy font-spec if necessary.
6116 Clear properties of the font-spec if necessary.
6117 (merge_face_ref): Clear properties of the font-spec if necessary.
6118 (Finternal_set_lisp_face_attribute): Likewise.
6119 (set_font_frame_param): Use font_load_for_lface to load a
6120 font-object, and call Fmodify_frame_parameters with it.
6121 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
6122 font name by Ffont_xlfd_name.
6123 (Finternal_lisp_face_attribute_values): Don't check QCweight,
6124 QCslant, and QCwidth.
6125 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
6126 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
6127 Compare fonts by EQ.
6128 (lookup_non_ascii_face): Deleted.
6129 (face_for_font): The 2nd argument changed.
6130 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
6131 Check atomic font properties by case insensitive.
6132 (realize_non_ascii_face): Set face->overstrike correctly.
6133 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
6134 (dump_realized_face): Get font name from
6135 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
6136
6137 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
6138 conditionals. Don't check enable_font_backend. Delete all codes
6139 used only when USE_FONT_BACKEND is not defined.
6140 (xic_create_xfontset): Original code deleted and renamed from
6141 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
6142 (x_make_gc): Don't set GCFont in GCs.
6143 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
6144 opened by "fixed".
6145 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
6146 find_ccl_program_func, query_font_func, set_frame_fontset_func,
6147 get_font_repertory_func.
6148
6149 * xfont.c: Include <stdlib.h> and "ccl.h".
6150 (struct xfont_info): New structure.
6151 (xfont_query_font): Deleted.
6152 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
6153 moved from xterm.c.
6154 (xfont_driver): Adjusted for the change of struct font_driver.
6155 (compare_font_names): New function.
6156 (xfont_list_pattern): Sort font names case insensitively. Make
6157 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
6158 (xfont_list): Return a list, not vector.
6159 (xfont_match): If the font doesn't have QCname property, generate
6160 a name from the other font properties.
6161 (xfont_open): Return a font-object. Adjusted for the change of
6162 struct font. Get underline_thickness and underline_position from
6163 font property. Don't update dpyinfo->smallest_font_height and
6164 dpyinfo->smallest_char_width.
6165 (xfont_close): Don't free struct font.
6166 (xfont_prepare_face): Adjusted for the change of struct font.
6167 (xfont_done_face): Deleted.
6168 (xfont_has_char): Adjusted for the change of struct font.
6169 (xfont_encode_char, xfont_draw): Likewise.
6170 (xfont_check): New function.
6171
6172 * xftfont.c (xftfont_list): Adjusted for the change of `list'
6173 callback function.
6174 (xftfont_match): Adjusted for the format change of font-entity.
6175 (xftfont_open): Adjusted for the format change of font-entity and
6176 font-object. Adjusted for the change of struct font. Return a
6177 font-object. Don't update dpyinfo->smallest_font_height and
6178 dpyinfo->smallest_char_width.
6179 (xftfont_close): Block input while calling XftFontClose.
6180 (xftfont_prepare_face): Don't block input while calling
6181 xftfont_get_colors. Adjusted for the change of struct font.
6182 (xftfont_shape): Return value of error case fixed.
6183
6184 * xrdb.c (x_load_resources): Don't setup a fontset resource.
6185
6186 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
6187 conditionals.
6188 (FONT_WIDTH): Return (f)->max_width.
6189 (struct x_display_info): Delete member `font'.
6190 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
6191 (x_find_ccl_program, x_get_font_repertory): Delete externs.
6192 (struct x_output): Change type of `font' to `struct font *'.
6193
6194 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
6195 conditionals. Don't check enable_font_backend. Delete all codes
6196 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
6197 (x_per_char_metric, x_encode_char): Deleted.
6198 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
6199 (x_compute_glyph_string_overhangs): Adjusted for the change of
6200 `struct face'.
6201 (x_draw_glyph_string_foreground)
6202 (x_draw_composite_glyph_string_foreground): Likewise.
6203 (x_draw_glyph_string): Likewise. Use font->underline_position and
6204 font->underline_thickness.
6205 (x_new_font): Renamed from x_new_fontset2.
6206 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
6207 (x_check_font): Call `check' method of a font driver.
6208 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
6209 (x_query_font, x_get_font_repertory): Deleted.
6210 (x_find_ccl_program): Renamed and moved to xfont.c.
6211 (x_redisplay_interface): Adjusted for the change of `struct
6212 redisplay_interface'.
6213
6214 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
6215 conditionals. Don't check enable_font_backend. Delete all codes
6216 used only when USE_FONT_BACKEND is not defined. Surround non-used
6217 code by "#ifdef OLD_FONT" and "endif".
6218 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
6219
6220 * w32font.h (struct w32font_info): New member.
6221 (FONT_COMPAT): New macro.
6222 (w32font_open_internal): Prototype adjusted.
6223
6224 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
6225 OLD_FONT" and "endif".
6226
6227 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
6228 conditionals. Don't check enable_font_backend. Delete all codes
6229 used only when USE_FONT_BACKEND is not defined.
6230 (w32font_open): Return a font-object. Make a font-object by
6231 font_make_object. Adjusted for the change of struct w32font_info.
6232 (w32font_close): Don't free struct font. Adjusted for the change
6233 of struct w32font_info.
6234 (w32font_encode_char, w32font_text_extents, w32font_draw):
6235 Adjusted for the change of struct w32font_info.
6236 (w32font_draw): Likewise.
6237 (w32font_list_internal): Return a list, not vector.
6238 (w32font_open_internal): Change the 4th arg to font-object.
6239 Adjusted for the change of struct w32font_info and font-object format.
6240 (add_font_name_to_list): Don't downcase names.
6241 (w32_enumfont_pattern_entity): Make a font-entity by
6242 font_make_entity. Adjusted for the format change of font-entity.
6243 Use FONT_SET_STYLE to set a style-related font property. If a
6244 font is scalable, set avgwidth property to 0. Set font-entity
6245 property by font_put_extra.
6246 (font_matches_spec): Adjusted for the format change of font-entity.
6247 (w32_weight_table, w32_decode_weight): New variables.
6248 (w32_encode_weight): New function.
6249 (fill_in_logfont): Adjusted for the format change of font-spec.
6250 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
6251 weight value.
6252 (w32font_driver): Adjusted for the change of struct font_driver.
6253
6254 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
6255 conditionals. Don't check enable_font_backend. Surround non-used
6256 code by "#ifdef OLD_FONT" and "endif".
6257 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
6258 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
6259
6260 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
6261 conditionals. Don't check enable_font_backend. Delete all codes
6262 used only when USE_FONT_BACKEND is not defined. Surround non-used
6263 code by "#ifdef OLD_FONT" and "endif".
6264
6265 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
6266 (uniscribe_open): Return value changed to font-object.
6267 Adjusted for the format change of font-object.
6268 (uniscribe_otf_capability): Adjusted for the change of struct font.
6269 (add_opentype_font_name_to_list): Don't downcase names.
6270 (uniscribe_font_driver): Adjusted for the change of struct
6271 font_driver.
6272
62732008-05-13 Chong Yidong <cyd@stupidchicken.com>
6274
6275 * dispnew.c (update_frame_1): Check if tty output is still valid
6276 before flushing it.
6277
62782008-05-13 Jan Djärv <jan.h.d@swipnet.se>
6279
6280 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
6281 to Gtk+ menus.
6282
62832008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
6284
6285 * dired.c (file_name_completion): Tweak the code so as to always do it
6286 in a single pass. Tighten the scope of some variables.
6287
6288 * dired.c (Qdefault_directory): New var.
6289 (file_name_completion): Use it instead of Fexpand_file_name.
6290 (syms_of_dired): Initialize it.
6291
62922008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
6293
6294 * fileio.c (double_dollars): Remove dead code.
6295
62962008-05-10 Eli Zaretskii <eliz@gnu.org>
6297
6298 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
6299 Mention w32-get-true-file-attributes in doc string.
6300
6301 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
6302
63032008-05-09 Glenn Morris <rgm@gnu.org>
6304
6305 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
6306 2008-04-23.
6307
63082008-05-09 Eli Zaretskii <eliz@gnu.org>
6309
6310 Support for reporting owner and group of each file on MS-Windows:
6311 * dired.c (stat_uname, stat_gname): New functions, with special
6312 implementation for w32.
6313 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
6314
6315 * w32.c: Rename the_passwd_* to dflt_passwd_*.
6316 (dflt_group_name): New static variable.
6317 (dflt_group): Rename from the_group.
6318 (init_user_info): Init dflt_group fields. Get user's group name
6319 from LookupAccountSid.
6320 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
6321 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
6322 New initialization states.
6323 (globals_of_w32): Initialize them to zero. Initialize the default
6324 group name to "None".
6325 (GetFileSecurity_Name): New global var, the name of the function
6326 to call for GetFileSecurity.
6327 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
6328 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
6329 (get_file_security, get_security_descriptor_owner)
6330 (get_security_descriptor_group, is_valid_sid)
6331 (get_file_security_desc, get_rid, get_name_and_id)
6332 (get_file_owner_and_group): New functions.
6333 (stat): Use get_file_security_desc and get_file_owner_and_group to
6334 report the owner and primary group of each file. Don't ignore the
6335 high 32 bits of file's size, now that st_size is 64-bit wide.
6336 Fix test when to get true file attributes.
6337 (init_user_info): Use get_rid instead of equivalent inline code.
6338 (fstat): Don't ignore the high 32 bits of file's size.
6339
63402008-05-09 Chong Yidong <cyd@stupidchicken.com>
6341
6342 * image.c (png_load): Use correct bit-depth for setting background
6343 color.
6344
63452008-05-08 Eli Zaretskii <eliz@gnu.org>
6346
6347 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
6348 epa-hook.elc.
6349
63502008-05-08 Juanma Barranquero <lekktu@gmail.com>
6351
6352 * font.c (Ffont_match_p): Don't use `iff' in docstring.
6353
63542008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
6355
6356 * macfns.c (Fx_create_frame): Make a copy of frame parameters
6357 because the original parameters are in pure storage now.
6358 (mac_window): Remove unused params. Update callers.
6359
63602008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
6361
6362 * lread.c (substitute_object_recurse): Use lower-level primitives.
6363 Don't signal errors when traversing sub-char-tables.
6364 Don't loop over all the possible characters when traversing char-tables.
6365
6366 * print.c (print_preprocess): Add sub-char-tables to the print-table,
6367 just like we do in print.c.
6368
63692008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
6370
6371 * minibuf.c (Ftry_completion): Remove code left over from when we used
6372 scmp instead of Fcompare_strings.
6373
63742008-05-04 Juanma Barranquero <lekktu@gmail.com>
6375
6376 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
6377
63782008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6379
6380 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
6381 Create bitmap context in native byte order.
6382
6383 * macterm.c (XDrawLine)
6384 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
6385 context in native byte order.
6386
63872008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6388
6389 * config.in: Regenerate.
6390
6391 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
6392 New definitions for Image I/O support.
6393 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
6394 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
6395 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
6396 (mac_data_provider_release_data, image_load_image_io)
6397 [USE_MAC_IMAGE_IO]: New functions.
6398 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
6399 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
6400 (init_image_func_pointer) [MAC_OSX]: Remove function.
6401 (image_load_quartz2d) [MAC_OSX]: Check availability of
6402 CGImageCreateWithPNGDataProvider at compile time.
6403 Use lowercase `false' for boolean constant.
6404 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
6405 Use image_load_image_io.
6406 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
6407 Don't check MyCGImageCreateWithPNGDataProvider.
6408 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
6409 Don't call init_image_func_pointer.
6410
6411 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
6412
6413 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
6414 Make variable non-static.
6415 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
6416 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
6417
6418 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
6419 (RED_FROM_ULONG): Mask off higher bits.
6420 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
6421
6422 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
6423 Include AvailabilityMacros.h.
6424 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
6425 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
6426
64272008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
6428
6429 * chartab.c (Fset_char_table_range): If range is t, really set all
6430 chars to that value.
6431
64322008-05-03 Eli Zaretskii <eliz@gnu.org>
6433
6434 * dired.c (Ffile_attributes): Don't allow the device number become
6435 negative.
6436
64372008-05-02 Daiki Ueno <ueno@unixuser.org>
6438
6439 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
6440
64412008-05-02 Juri Linkov <juri@jurta.org>
6442
6443 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
6444 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
6445 DEFAULT argument as a list of default values in docstrings.
6446
64472008-05-01 Chong Yidong <cyd@stupidchicken.com>
6448
6449 * puresize.h (BASE_PURESIZE): Increase to 1210000.
6450
64512008-05-01 Martin Rudalics <rudalics@gmx.at>
6452
6453 * dispnew.c (change_frame_size_1): Preserve small windows when
6454 shrinking frames by calling set_window_height|width with third
6455 arg 2.
6456
6457 * window.h (struct window): Replace field too_small_ok by field
6458 resize_proportionally.
6459
6460 * window.c (make_window): Initialize resize_proportionally.
6461 (enlarge_window): Temporarily set resize_proportionally to make
6462 sure that shrink_windows does scale the window proportionally.
6463 (shrink_windows): When window has resize_proportionally set try
6464 to shrink it proportionally by stealing from other windows.
6465 (struct saved_window, Fset_window_configuration)
6466 (compare_window_configurations): Handle resize_proportionally.
6467 (WINDOW_TOTAL_SIZE): New macro.
6468 (window_min_size, shrink_windows, size_window): Use it.
6469 (check_min_window_sizes): Remove. Invalid values of
6470 window-min-height|width are handled by window_min_size_2 now.
6471 (size_window, Fsplit_window, enlarge_window)
6472 (adjust_window_trailing_edge, grow_mini_window): Don't call
6473 check_min_window_sizes.
6474 (window_min_size_2, window_min_size_1, window_min_size):
6475 New argument safe_p for retrieving "safe" minimum sizes.
6476 (Fdisplay_buffer, Fsplit_window, enlarge_window)
6477 (adjust_window_trailing_edge, grow_mini_window):
6478 Adjust arguments of window_min_size... functions.
6479 (shrink_windows): Argument min_size removed. New argument
6480 safe_p allows shrinking windows to their safe minimum sizes.
6481 Calculate minimum size and decide whether a window shall be
6482 deleted for each window individually.
6483 (size_window): When nodelete_p equals 2, tell shrink_windows to
6484 delete windows only if their new minimum size is no more safe.
6485 (shrink_window_lowest_first): Call window_min_size_1 to make
6486 sure to preserve modeline of bottom-most window when resizing
6487 the minibuffer.
6488 (Fset_window_configuration, Fcurrent_window_configuration)
6489 (compare_window_configurations): Do not handle
6490 window-min-height|width any more.
6491 (syms_of_window): Clarify window-min-height|width doc-strings.
6492
64932008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
6494
6495 * dired.c (file_name_completion): Fix up the encoding/decoding issue
6496 some more. Copy some of the code from Ftry_completions.
6497 Remove special case code that dates back to initial revision when the
6498 slash was only added when necessary and that can't trigger nowadays.
6499
65002008-04-27 Kenichi Handa <handa@m17n.org>
6501
6502 * font.c (font_prop_validate): Signal `error' instead of `font'.
6503
65042008-04-29 Jason Rumney <jasonr@gnu.org>
6505
6506 * w32fns.c (Fw32_battery_status): New defun.
6507 (syms_of_w32fns): Defsubr it.
6508
65092008-04-28 Andreas Schwab <schwab@suse.de>
6510
6511 * dired.c (file_name_completion): Fix another mixing of encoded
6512 and decoded names.
6513
65142008-04-28 Juanma Barranquero <lekktu@gmail.com>
6515
6516 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
6517
65182008-04-27 Juanma Barranquero <lekktu@gmail.com>
6519
6520 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
6521
65222008-04-27 Andreas Schwab <schwab@suse.de>
6523
6524 * dired.c (file_name_completion): Fix inappropriate mixing of
6525 encoded and decoded names.
6526
6527 * xterm.c (XTread_socket): Fix use of uninitialized variable.
6528
6529 * puresize.h (BASE_PURESIZE): Increase to 1200000.
6530
65312008-04-26 Eli Zaretskii <eliz@gnu.org>
6532
6533 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
6534 2008-03-31, it's not needed anymore with `struct stat' definition
6535 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
6536 for the same reasons.
6537
65382008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
6539
6540 * m/sparc.h: Additional redefinitions for GNU/Linux.
6541
65422008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6543
6544 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
6545 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
6546 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
6547 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
6548 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
6549 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
6550 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
6551 Likewise.
6552
6553 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
6554 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
6555 (mac_ax_number_of_characters): Add externs.
6556 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
6557 [USE_MAC_TSM]: Likewise.
6558 (mac_handle_text_input_event) [MAC_OSX]:
6559 Handle kEventTextInputOffsetToPos for no active input area case.
6560 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
6561 (mac_handle_document_access_event)
6562 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
6563 (install_application_handler) [MAC_OSX]: Register handlers for
6564 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
6565 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
6566 Register mac_handle_document_access_event.
6567
6568 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
6569 Make functions non-static.
6570
65712008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
6572
6573 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
6574 (read_file_name_completion_ignore_case, insert_default_directory)
6575 (Qdefault_directory): Move to minibuffer.el.
6576 (Fread_file_name): Call the new `read-file-name' instead.
6577
65782008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6579
6580 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
6581 Make function non-static.
6582 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
6583 Remove function.
6584 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
6585 Move to mactoolbox.c.
6586 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
6587
6588 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
6589 (mac_rect_make): New macro.
6590
6591 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
6592 instead of float.
6593 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
6594 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
6595 (XSetBackground) [USE_CG_DRAWING]: Likewise.
6596 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
6597 CGRectMake.
6598 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
6599 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
6600 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
6601 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
6602 instead of WindowRef in argument type.
6603 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
6604 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
6605 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
6606 instead of DISPLAY. All uses changed.
6607 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
6608 (x_calc_absolute_position): Simplify so as not to use
6609 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
6610
6611 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
6612 instead of WindowRef in argument type.
6613 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
6614 [TARGET_API_MAC_CARBON]: Remove externs.
6615 (create_apple_event, mac_event_parameters_to_lisp)
6616 [TARGET_API_MAC_CARBON]: Add externs.
6617
6618 * mactoolbox.c (Vmac_ts_script_language_on_focus)
6619 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
6620 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
6621 is clicked.
6622 (x_activate_menubar): Remove extern for saved_menu_event_location.
6623 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
6624 Move from mac.c.
6625
66262008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6627
6628 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
6629 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
6630
66312008-04-23 Jason Rumney <jasonr@gnu.org>
6632
6633 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
6634 attributes only for local files.
6635
6636 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
6637 default to Qlocal.
6638
66392008-04-22 Juri Linkov <juri@jurta.org>
6640
6641 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
6642 read-buffer-to-switch instead of using the letter "B".
6643
66442008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
6645
6646 * fileio.c (Qdefault_directory): New variable.
6647 (Fread_file_name): Use it to pass `dir' to the completion functions.
6648
66492008-04-20 Chong Yidong <cyd@stupidchicken.com>
6650
6651 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
6652
66532008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
6654
6655 * keyboard.c (Vpre_help_message): Remove.
6656 (show_help_echo): Remove default C code.
6657
6658 * dired.c (directory_files_internal, file_name_completion):
6659 Only call ENCODE_FILE if the string is indeed decoded.
6660
66612008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
6662
6663 * Makefile.in (TOOLKIT_DEFINES): Remove.
6664 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
6665
66662008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6667
6668 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
6669 (mactoolbox.o): New target.
6670
6671 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
6672 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
6673
6674 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
6675 Use mac_set_frame_window_background instead of XSetWindowBackground.
6676 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
6677 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
6678 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
6679 instead of SetWindowTitleWithCFString.
6680 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
6681 Move function to mactoolbox.c.
6682 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
6683 Use mac_set_window_modified instead of SetWindowModified.
6684 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
6685 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
6686 (Fx_focus_frame): Use mac_front_non_floating_window instead of
6687 FrontNonFloatingWindow. Use mac_activate_window instead of
6688 ActivateWindow. Use mac_active_non_floating_window instead of
6689 ActiveNonFloatingWindow.
6690 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
6691 Use mac_show_hourglass and mac_hide_hourglass.
6692 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
6693 instead of GetGlobalMouse.
6694 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
6695 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
6696 Use mac_bring_window_to_front instead of BringToFront.
6697 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
6698 mactoolbox.c.
6699 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
6700 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
6701 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
6702 mactoolbox.c.
6703
6704 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
6705 (XtPointer): Move typedef from macmenu.c.
6706 (enum button_type): Move enum from macmenu.c.
6707 (widget_value): Move typedef from macmenu.c.
6708 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
6709 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
6710 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
6711 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
6712 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
6713 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
6714 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
6715 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
6716 (Selection): Move typedef from macselect.c.
6717 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
6718 macterm.c.
6719 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
6720 (mac_is_window_collapsed, mac_bring_window_to_front)
6721 (mac_send_window_behind, mac_hide_window, mac_show_window)
6722 (mac_collapse_window, mac_front_non_floating_window)
6723 (mac_active_non_floating_window, mac_activate_window)
6724 (mac_move_window_structure, mac_move_window, mac_size_window)
6725 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
6726
6727 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
6728 (enum mac_menu_kind): Move enum to mactoolbox.c.
6729 (min_menu_id): Move variable to mactoolbox.c.
6730 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
6731 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
6732 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
6733 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
6734 [TARGET_API_MAC_CARBON]: Likewise.
6735 (XtPointer): Move typedef to macgui.h.
6736 (enum button_type): Move enum to macgui.h.
6737 (widget_value): Move typedef to macgui.h.
6738 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
6739 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
6740 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
6741 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
6742 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
6743 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
6744 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
6745 (popup_activated_flag): Make variable non-static.
6746 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
6747 (add_menu_item, fill_menu, dispose_menus):
6748 Move functions to mactoolbox.c.
6749 (restore_show_help_function, menu_target_item_handler)
6750 (install_menu_target_item_handler, mac_handle_dialog_event)
6751 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
6752 [TARGET_API_MAC_CARBON]: Likewise.
6753 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
6754 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
6755 (find_and_call_menu_selection, name_is_separator): Make function
6756 non-static.
6757 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
6758 to mactoolbox.c.
6759 (set_frame_menubar): Don't call install_menu_quit_handler.
6760 (menu_item_selection): New variable.
6761 (mac_menu_show): Use create_and_show_popup_menu.
6762 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
6763 selection but set variable menu_item_selection. All uses changed.
6764 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
6765 Call install_menu_quit_handler. Move to mactoolbox.c.
6766
6767 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
6768 (Selection): Move typedef to macgui.h.
6769 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
6770 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
6771 Make variables non-static.
6772 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
6773 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
6774 Make functions non-static.
6775 (Vmac_service_selection) [MAC_OSX]: Likewise.
6776 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
6777 (mac_valid_selection_target_p, mac_clear_selection)
6778 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
6779 (mac_put_selection_value, mac_selection_has_target_p)
6780 (mac_get_selection_value, mac_get_selection_target_list)
6781 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
6782 Move functions to mactoolbox.c.
6783 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
6784 Likewise.
6785 (copy_scrap_flavor_data, mac_handle_service_event)
6786 (install_service_handler) [MAC_OSX]: Likewise.
6787 (syms_of_macselect) <Vmac_dnd_known_types>:
6788 Use mac_dnd_default_known_types.
6789
6790 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
6791 Move to mactoolbox.c.
6792 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
6793 (Fx_selection_owner_p): Add EXFUN.
6794 (install_window_handler, remove_window_handler, XSetWindowBackground):
6795 Remove externs.
6796 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
6797 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
6798 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
6799 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
6800 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
6801 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
6802 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
6803 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
6804 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
6805 (create_and_show_popup_menu, mac_get_selection_from_symbol)
6806 (mac_valid_selection_target_p, mac_clear_selection)
6807 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
6808 (mac_put_selection_value, mac_selection_has_target_p)
6809 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
6810 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
6811 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
6812 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
6813 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
6814 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
6815 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
6816 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
6817 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
6818
6819 * mactoolbox.c: New file.
6820
68212008-04-18 Jason Rumney <jasonr@gnu.org>
6822
6823 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
6824
68252008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
6826
6827 * character.c (Fmultibyte_char_to_unibyte):
6828 Return latin1 chars unchanged.
6829
6830 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
6831 relocated if it points to `name'.
6832
68332008-04-17 Kenichi Handa <handa@m17n.org>
6834
6835 * data.c (Faset): Allow setting a multibyte character in an
6836 ASCII-only unibyte string.
6837
6838 * lisp.h (STRING_SET_MULTIBYTE): New macro.
6839
68402008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
6841
6842 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
6843 done in config.h.
6844
68452008-04-16 Juanma Barranquero <lekktu@gmail.com>
6846
6847 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
6848 (Fchar_direction): Add usage in the docstring.
6849
68502008-04-15 Chong Yidong <cyd@stupidchicken.com>
6851
6852 * keyboard.c (read_key_sequence): Remove always-true checks.
6853
68542008-04-14 Jason Rumney <jasonr@gnu.org>
6855
6856 * w32font.c (w32font_open_internal): Set max_bounds.descent in
6857 compatibility struct, for better underline positioning.
6858
68592008-04-13 David Hansen <david.hansen@gmx.net>
6860
6861 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
6862 string.
6863
68642008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
6865
6866 * m/hp800.h (XUINT, XSET): Remove.
6867
68682008-04-12 Juanma Barranquero <lekktu@gmail.com>
6869
6870 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
6871 previous change.
6872
68732008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
6874
6875 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
6876 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
6877
68782008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
6879
6880 * keymap.h (map_keymap_canonical): Declare.
6881 * xmenu.c (single_keymap_panes): Use it.
6882
68832008-04-11 Glenn Morris <rgm@gnu.org>
6884
6885 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
6886 set the target's value to that of the alias.
6887
68882008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
6889
6890 * term.c (set_tty_color_mode): Left over typo.
6891
68922008-04-10 Michael Albinus <michael.albinus@gmx.de>
6893
6894 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
6895 only after check for file name handler functions. Signal, when
6896 native functionality is not supported.
6897 (syms_of_fileio): Declare it unconditionally.
6898
68992008-04-10 Jason Rumney <jasonr@gnu.org>
6900
6901 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
6902 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
6903
6904 * w32.c (logon_network_drive): Also logon to remote drives that
6905 are mapped to drive letters.
6906
69072008-04-10 Glenn Morris <rgm@gnu.org>
6908
6909 * xdisp.c (truncate-partial-width-windows): Doc fix.
6910
69112008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
6912
6913 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
6914 Move functions to minibuffer.el.
6915 (syms_of_fileio): Don't declare them.
6916
69172008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
6918
6919 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
6920 (syms_of_minibuf): Remove its initialization.
6921
6922 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
6923
69242008-04-09 Juanma Barranquero <lekktu@gmail.com>
6925
6926 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
6927
69282008-04-09 Jason Rumney <jasonr@gnu.org>
6929
6930 * makefile.w32-in (distclean): Delete makefile too.
6931 (maintainer-clean): New target.
6932
6933 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
6934
6935 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
6936 for new font backend and composite cases.
6937
69382008-04-09 Jan Djärv <jan.h.d@swipnet.se>
6939
6940 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
6941 Most of the code moved to run_timers.
6942 (do_pending_atimers): Call run_timers.
6943 (run_timers): New function.
6944
6945 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
6946 run atimers.
6947
6948 * process.c (wait_reading_process_output): The same as above.
6949
69502008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
6951
6952 * minibuf.c (last_exact_completion): Remove variable.
6953 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
6954 (complete_and_exit_1, complete_and_exit_2)
6955 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
6956 (Fdisplay_completion_list, display_completion_list_1)
6957 (Fminibuffer_completion_help, Fself_insert_and_exit)
6958 (Fexit_minibuffer, Fminibuffer_message): Move functions to
6959 minibuffer.el.
6960 (syms_of_minibuf): Remove corresponding initializations.
6961
6962 * keyboard.c (Qdeactivate_mark): New var.
6963 (command_loop_1): Use it to call `deactivate-mark'.
6964 (syms_of_keyboard): Initialize it.
6965
6966 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
6967 to another frame.
6968 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
6969 Don't call set_tty_color_mode.
6970 (store_frame_param): Reset previous_frame rather than call
6971 set_tty_color_mode.
6972 * term.c (set_tty_color_mode): Rewrite.
6973 * dispextern.h (set_tty_color_mode): New type.
6974 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
6975
69762008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
6977
6978 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
6979 for generic chars, which do not exist any more in emacs-unicode.
6980
69812008-04-08 Michael Albinus <michael.albinus@gmx.de>
6982
6983 * coding.c (detect_coding_emacs_mule)
6984 (Ffind_operation_coding_system): Fix typo.
6985
69862008-04-08 Jason Rumney <jasonr@gnu.org>
6987
6988 * w32uniscribe.c (SNAME): Extract only symbol name.
6989
6990 * w32font.h (struct w32_metric_cache): New struct.
6991 (w32font_info): Use it.
6992 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
6993 (CACHE_BLOCKSIZE): New constants.
6994
6995 * w32font.c (Qja, Qko, Qzh): New symbols.
6996 (syms_of_w32font): Initialise them.
6997 (font_matches_spec): Use them to filter by language.
6998 (recompute_cached_metrics): Remove function.
6999 (compute_metrics, clear_cached_metrics): New functions.
7000 (w32font_encode_char): Use them to manage metric cache.
7001 (w32font_text_extents): Cache metrics for all glyphs on demand.
7002 Delay converting glyph indices to WORD until needed.
7003 (w32font_open_internal): Initialize metric cache to empty.
7004 (registry_to_w32_charset): Charset should always be a symbol.
7005 (fill_in_logfont, list_all_matching_fonts): Family should
7006 always be a symbol.
7007
70082008-04-06 Jason Rumney <jasonr@gnu.org>
7009
7010 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
7011 Give up if glyph indices not supported. Use uniscribe obtained
7012 ABC widths for individual metrics. Map glyph clusters back to
7013 characters using fClusterStart flag. Return number of glyphs
7014 produced, not chars processed.
7015 (uniscribe_shape): Map char at FROM to current glyph.
7016
70172008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7018
7019 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
7020 Use SetMenuItemHierarchicalMenu.
7021
70222008-04-05 Jason Rumney <jasonr@gnu.org>
7023
7024 * image.c (pbm_load): Allow color values up to 65535.
7025 Throw an error if max_color_idx is outside the supported range.
7026 Report an error when image size is invalid.
7027 Read two bytes at a time when raw images have max_color_idx above 255.
7028
70292008-04-05 Eli Zaretskii <eliz@gnu.org>
7030
7031 * w32.c (readdir): If FindFirstFile/FindNextFile return in
7032 cFileName a file name that includes `?' characters, use the 8+3
7033 alias in cAlternateFileName instead.
7034
70352008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
7036
7037 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
7038 append "CCL: Quitted" when the CCL program is quitted.
7039 (setup_ccl_program): Initialize ccl->quit_silently to zero.
7040
7041 * ccl.h (struct ccl_program): New member quit_silently.
7042
70432008-04-05 Chong Yidong <cyd@stupidchicken.com>
7044
7045 * search.c (compile_pattern_1): Treat non-nil and non-string of
7046 search-spaces-regexp as nil.
7047
7048 * minibuf.c (Fassoc_string): Tweak docstring.
7049
70502008-04-05 Eli Zaretskii <eliz@gnu.org>
7051
7052 * dired.c (Ffile_attributes): Support inode numbers wider than 32
7053 bits. Remove ugly WINDOWSNT-specific kludge introduced on
7054 2008-03-14 to force inode be positive.
7055
7056 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
7057 _S_* ones, since we now use our own sys/stat.h.
7058 (stat, fstat): Don't mangle the inode number.
7059 (init_user_info): Don't restrict UID and GID to 0-60000 range.
7060
70612008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
7062
7063 * frame.h (struct frame): Give one more bit to `visible' since we use
7064 values larger than 1 to indicate obscured frames on ttys.
7065
7066 * keymap.c (Qkeymap_canonicalize): New var.
7067 (Fmap_keymap_internal): New fun.
7068 (describe_map): Use keymap-canonicalize.
7069
7070 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
7071 (Fundo_boundary): Set them.
7072 (syms_of_undo): Initialize them.
7073 (record_point): Use them instead of last_point_position*.
7074 (last_undo_buffer): Change type.
7075
70762008-04-04 Jason Rumney <jasonr@gnu.org>
7077
7078 * w32font.c (w32font_text_extents): Use font's ascent and descent.
7079 (recompute_cached_metrics): Don't set ascent and descent per char.
7080
7081 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
7082 (uniscribe_check_otf): Add GC protection before consing.
7083 Rearrange loop for counting features.
7084
70852008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
7086
7087 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
7088 buffer with byte-size of source buffer.
7089
70902008-04-03 Chong Yidong <cyd@stupidchicken.com>
7091
7092 * callint.c (Fcall_interactively): Handle temporary region even
7093 when shift-select-mode is off.
7094
70952008-04-03 Jason Rumney <jasonr@gnu.org>
7096
7097 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
7098
70992008-04-03 Kenichi Handa <handa@m17n.org>
7100
7101 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
7102 (CATEGORY_MASK_UTF_16): Likewise.
7103 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
7104 binary file.
7105 (detect_coding): Add null-byte detection for a binary file.
7106 (detect_coding_system): Likewise.
7107
71082008-04-03 Jason Rumney <jasonr@gnu.org>
7109
7110 * w32uniscribe.c: New file.
7111
7112 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
7113
7114 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
7115
7116 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
7117 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
7118 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
7119 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
7120 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
7121 (Qphonetic): New symbols.
7122 (syms_of_w32font): Initialize them.
7123 (font_supported_scripts): Use them.
7124 (w32font_list_family): List all charsets.
7125 (w32font_text_extents, recompute_cached_metrics): Fix metric
7126 calculations.
7127 (w32_enumfont_pattern_entity): Make full_type a DWORD.
7128 Give opentype fonts their own format.
7129 (font_matches_spec): New arguments backend and logfont.
7130 Handle :otf spec for uniscribe backend.
7131 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
7132 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
7133
7134 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
7135 font backend.
7136 (globals_of_w32fns): Initialize uniscribe font backend.
7137
7138 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
7139 dependencies.
7140 (w32uniscribe.$(O)): New file to build.
7141 (FONT_OBJ): Include w32uniscribe.$(O).
7142 (LIBS): Add uniscribe libraries.
7143
7144 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
7145
71462008-04-02 Chong Yidong <cyd@stupidchicken.com>
7147
7148 * callint.c (Vshift_select_mode): New var.
7149 (Finteractive): Document new ^ spec.
7150 (Fcall_interactively): Call handle-shift-selection if the ^ spec
7151 is present.
7152
7153 * keyboard.c (Vthis_command_keys_shift_translated): New var.
7154 (command_loop_1): Avoid running the direct display versions of
7155 forward-char and backward-char if shift-selection may occur.
7156 (read_key_sequence): Set Vthis_command_keys_shift_translated if
7157 shift-translation takes place.
7158
7159 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
7160 avoid clobbering by define-minor-mode.
7161
7162 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
7163 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
7164
7165 * syntax.c (Fforward_word): Add ^ interactive spec.
7166
7167 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
7168 (Fscroll_right): Add ^ interactive spec.
7169
71702008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
7171
7172 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
7173
7174 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
7175
7176 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
7177
71782008-03-31 Juri Linkov <juri@jurta.org>
7179
7180 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
7181
71822008-03-30 Jan Djärv <jan.h.d@swipnet.se>
7183
7184 * gtkutil.c (xg_set_geometry): Fix indentation.
7185 (xg_resize_outer_widget): Remove.
7186 (x_wm_size_hint_off): Fix indentation.
7187 (xg_frame_set_char_size): Call flush_and_sync after
7188 gtk_window_resize.
7189 (x_wm_set_size_hint): Pass NULL as geometry window to
7190 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
7191 Add menu bar and tool bar height to base height.
7192 (xg_update_frame_menubar, free_frame_menubar)
7193 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
7194 (update_frame_tool_bar, free_frame_tool_bar):
7195 Change xg_resize_outer_widget to xg_frame_set_char_size.
7196
71972008-03-30 Michael Albinus <michael.albinus@gmx.de>
7198
7199 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
7200 (Fdbus_call_method): New parameter TIMEOUT.
7201 (dbus-send-signal): Optimize UNGCPRO call.
7202
72032008-03-29 Juri Linkov <juri@jurta.org>
7204
7205 * window.c (Fdisplay_buffer): Move call to
7206 Vsplit_window_preferred_function out of conditions that check
7207 if window is eligible for vertical splitting.
7208 When Vsplit_window_preferred_function is non-nil, call it and use
7209 its non-nil return value as window. Otherwise, continue doing
7210 vertical splitting using Fsplit_window with arg horflag=nil.
7211 (syms_of_window) <Vsplit_window_preferred_function>: Change the
7212 default value from `split-window' to nil.
7213
72142008-03-29 Juri Linkov <juri@jurta.org>
7215
7216 * callint.c (Fcall_interactively): Revert 2008-03-16 change
7217 for interactive code letters 'b' and 'B'.
7218
72192008-03-29 Eli Zaretskii <eliz@gnu.org>
7220
7221 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
7222 multibyte string.
7223
72242008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
7225
7226 * keyboard.c (pending_funcalls): New var.
7227 (timer_check): Run it.
7228 (syms_of_keyboard): Initialize it.
7229 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
7230 (Vdelete_terminal_functions): New vars.
7231 (syms_of_terminal): Initialize them.
7232 (Fdelete_terminal): Run delete-terminal-functions.
7233 * xdisp.c (safe_eval): Rewrite.
7234 (safe_call2): New fun.
7235 * frame.c (Qdelete_frame_functions): New var.
7236 (syms_of_frame): Initialize it.
7237 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
7238 * lisp.h (safe_call2, pending_funcalls): Declare.
7239
72402008-03-28 Andreas Schwab <schwab@suse.de>
7241
7242 * indent.c (Fmove_to_column): Move declaration before statements.
7243
72442008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
7245
7246 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
7247 (struct frame): Use bit fields for boolean vars.
7248
7249 * process.c (server_accept_connection): Simplify naming.
7250 (emacs_get_tty_pgrp): Use SDATA.
7251
7252 * coding.c (decode_coding_object): Fix last change.
7253
72542008-03-27 Jason Rumney <jasonr@gnu.org>
7255
7256 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
7257
72582008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
7259
7260 * charset.c (Fdefine_charset_internal): Change the way of
7261 registering charsets in Vcharset_order_list.
7262 (syms_of_charset): Make the charset `eight-bit' supplementary.
7263
72642008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
7265
7266 * regex.c (EXTEND_BUFFER): Change order of pointer addition
7267 operations, to avoid having the difference between pointers
7268 overflow.
7269
72702008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
7271
7272 * indent.c (check_display_width): New fun.
7273 (scan_for_column): Use it.
7274
7275 * data.c (syms_of_data): Mark most-positive-fixnum and
7276 most-negative-fixnum as constants.
7277
7278 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
7279
7280 * indent.c (scan_for_column): Extract from current_column_1.
7281 Merge with the same code from Fmove_to_column.
7282 (current_column_1, Fmove_to_column): Use it.
7283
72842008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
7285
7286 * keymap.c (map_keymap_internal): New fun.
7287 (map_keymap): Use it.
7288 (Fmap_keymap_internal): New fun.
7289 (Fmap_keymap): Remove left-out test from before make_save_value.
7290
7291 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
7292
7293 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
7294 Use XCAR/XCDR.
7295
7296 * process.h (struct Lisp_Process): Remove filter_multibyte.
7297 * process.c (QCfilter_multibyte): Remove.
7298 (setup_process_coding_systems): Don't use filter_multibyte.
7299 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
7300 (read_process_output): Don't adjust multibyteness to filter_multibyte.
7301 (Fset_process_filter_multibyte): Change the coding-system to
7302 approximate the previous behavior.
7303 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
7304 coding-system.
7305
7306 * coding.c (decode_coding_object): When not decoding into a buffer,
7307 obey the coding system's preference of (uni|multi)byte.
7308
73092008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
7310
7311 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
7312 every char is changed and has a different byte-length.
7313 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
7314 Fix int -> EMACS_INT.
7315
73162008-03-23 David Hansen <david.hansen@gmx.net>
7317
7318 * dbusbind.c (xd_read_message): Remove extra copying of message
7319 strings. Check for NULL `interface' or `member'.
7320
73212008-03-22 Eli Zaretskii <eliz@gnu.org>
7322
7323 * w32.c (readdir): If FindFirstFile/FindNextFile return in
7324 cFileName a file name that includes `?' characters, use the 8+3
7325 alias in cAlternateFileName instead.
7326
73272008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
7328
7329 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
7330
73312008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
7332
7333 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
7334 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
7335 work on current_buffer only instead (that was already the case
7336 for some of the code anyway).
7337 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
7338 (temp_set_point, temp_set_point_both): Use EMACS_INT.
7339 (SET_PT, SET_PT_BOTH): Adjust.
7340 * intervals.h (set_point, temp_set_point, set_point_both)
7341 (temp_set_point_both): Remove redundant declarations.
7342
73432008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
7344
7345 * fileio.c (Finsert_file_contents):
7346 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
7347 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
7348 when buffer != current_buffer anyway.
7349
73502008-03-20 Andreas Schwab <schwab@suse.de>
7351
7352 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
7353 as default.
7354
73552008-03-19 Jason Rumney <jasonr@gnu.org>
7356
7357 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
7358 (syms_of_w32fns): Initialize them.
7359 (HOURGLASS_ID): New constant.
7360 (x_window_to_frame): Don't check hourglass_window.
7361 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
7362 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
7363 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
7364 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
7365 Only change the cursor if hourglass is not active.
7366 (Fx_create_frame): Initialize frame's current_cursor.
7367 (hourglass_atimer): Remove.
7368 (hourglass_started): New function.
7369 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
7370 (show_hourglass): Adapt to w32, changing argument to frame.
7371
7372 * w32term.h (struct w32_output): Remove hourglass_window.
7373 Add current_cursor.
7374
7375 * eval.c (call_debugger, Fsignal):
7376 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
7377 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
7378 (Fexecute_extended_command, cancel_hourglass_unwind):
7379 * minibuf.c (read_minibuf):
7380 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
7381
73822008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
7383
7384 * window.c (run_funs): New fun.
7385 (run_window_configuration_change_hook): Use it to run the buffer-local
7386 and the global part of the hook.
7387
7388 * xdisp.c (format_mode_line_unwind_data): Add window argument.
7389 (unwind_format_mode_line): Restore selected window.
7390 (x_consider_frame_title, Fformat_mode_line): Set selected window.
7391
73922008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
7393
7394 * editfns.c (Fchar_equal): Check they are valid characters.
7395
7396 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
7397
73982008-03-17 Andreas Schwab <schwab@suse.de>
7399
7400 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
7401 against a charset.
7402
7403 * lisp.h (Fbuffer_list): Declare.
7404
74052008-03-17 Jan Djärv <jan.h.d@swipnet.se>
d6c952f8 7406
aac0c6e3
MR
7407 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
7408 handlebox_widget is != 0.
7409
74102008-03-16 Juri Linkov <juri@jurta.org>
7411
7412 * callint.c (Fcall_interactively): For interactive code letters
7413 'b' and 'B' put the buffer list into the list of default "future"
7414 values of the minibuffer.
7415
74162008-03-16 Andreas Schwab <schwab@suse.de>
7417
7418 * keyboard.c (read_key_sequence): Fix downcasing of letters with
7419 modifiers.
7420
7421 * regex.c (re_match_2_internal): Correct matching of a charset
7422 against latin-1 characters.
7423
74242008-03-16 Kenichi Handa <handa@m17n.org>
7425
7426 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
7427 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
7428 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
7429 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
7430 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
7431 CHAR_STRING_ADVANCE.
7432 (produce_chars): Fix for the case that the source and the
7433 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
7434 instead of CHAR_STRING_ADVANCE.
7435 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
7436 STRING_CHAR_ADVANCE.
7437
74382008-03-15 Andreas Schwab <schwab@suse.de>
7439
7440 * regex.c (re_match_2_internal): Correct matching of eight bit
7441 characters in unibyte strings.
7442
74432008-03-15 Martin Rudalics <rudalics@gmx.at>
7444
7445 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
7446 at end of range when it coincides with the end of the buffer.
7447
74482008-03-14 Eli Zaretskii <eliz@gnu.org>
7449
7450 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
7451
7452 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
7453
74542008-03-14 Jason Rumney <jasonr@gnu.org>
7455
7456 * editfns.c (initial_tz): New variable.
7457 (syms_of_editfns): Initialize it.
7458 (Fset_time_zone_rule): Set it when first called.
7459 Use it when TZSTRING is nil.
7460
7461 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
7462 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
7463 (monitor_from_point_fn, get_monitor_info_fn): New globals.
7464 (globals_of_w32fns): Initialize them.
7465 (compute_tip_xy): Use them to position tooltips.
7466
74672008-03-14 Glenn Morris <rgm@gnu.org>
7468
7469 * emacs.c (main): Revert previous change.
7470 (standard_args): Revert -internal-script back to -scriptload,
7471 and remove the long-option form.
7472
74732008-03-13 Glenn Morris <rgm@gnu.org>
7474
7475 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
7476 Remove option -enable-font-backend.
7477
74782008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
7479
7480 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
7481
74822008-03-11 Jan Djärv <jan.h.d@swipnet.se>
7483
7484 * xterm.c (x_connection_closed): For GTK: If this is the last
7485 terminal just exit without closing the display.
7486
74872008-03-11 Jason Rumney <jasonr@gnu.org>
7488
7489 * w32font.c (w32font_full_name): Use floor to round.
7490
f0131492 74912008-03-10 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
aac0c6e3
MR
7492
7493 * sound.c (alsa_configure): Declare vol at beginning of block.
7494
7495 * fontset.c (Ffontset_info): Remove extra semicolon.
7496
74972008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
7498
7499 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
7500 size of resulting string.
7501
75022008-03-10 Jason Rumney <jasonr@gnu.org>
7503
7504 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
7505
75062008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7507
7508 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
7509 Don't pretend as if characters with display property haven't been
7510 consumed for string-replacing-string case.
7511
75122008-03-08 Kim F. Storm <storm@cua.dk>
7513
7514 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
7515 (get_next_display_element, next_element_from_string)
7516 (next_element_from_ellipsis, next_element_from_buffer): Use it.
7517
75182008-03-08 Andreas Schwab <schwab@suse.de>
7519
7520 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
7521
75222008-03-06 Jason Rumney <jasonr@gnu.org>
7523
7524 * w32font.c (w32_registry): Take font_type argument. Use ANSI
7525 when charset not specified. Only translate ANSI to unicode when
7526 font_type is truetype.
7527 (w32font_coverage_ok): New function.
7528 (add_font_entity_to_list): Use it to filter unsuitable fonts.
7529
75302008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
7531
7532 * lread.c (Fread_char): Resolve modifiers.
7533 (Fread_char_exclusive): Likewise.
7534
7535 * character.c (char_resolve_modifier_mask): New function.
7536 (char_string): Use char_resolve_modifier_mask.
7537 (Fchar_resolve_modifiers): New function.
7538 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
7539 function.
7540
75412008-03-04 Jason Rumney <jasonr@gnu.org>
7542
7543 * makefile.w32-in: Always include w32font.c in the build.
7544 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
7545
75462008-03-04 Andreas Schwab <schwab@suse.de>
7547
7548 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
7549 (versionclean): Likewise.
7550
75512008-03-04 Juanma Barranquero <lekktu@gmail.com>
7552
7553 * .cvsignore: Add oo.
7554
75552008-03-03 Andreas Schwab <schwab@suse.de>
7556
7557 * coding.c (decode_coding_object): Inhibit gap shrinking while
7558 decoding in place.
7559
75602008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
7561
7562 * w32term.c: Remove unused include "gnu.h".
7563 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
7564
7565 * gnu.h: Rename to ...
7566 * emacs-icon.h: ... this.
7567 * xterm.c: Use emacs-icon.h instead of gnu.h.
7568 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
7569
75702008-03-03 Juanma Barranquero <lekktu@gmail.com>
7571
7572 * w32font.c: Include math.h.
7573
75742008-03-03 Jason Rumney <jasonr@gnu.org>
7575
7576 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
7577 Compute options separately.
7578 (w32font_open_internal): Set glyph_idx before caching metrics.
7579
7580 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
7581 Define if system headers don't.
7582 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
7583 (w32font_encode_char): Don't declare here.
7584
7585 * w32font.c (Quniscribe, QCformat): New symbols.
7586 (syms_of_w32font): Define them.
7587 (w32font_has_char): Indicate uncertainty.
7588 (w32font_encode_char): Encode as glyph point. Make static.
7589 (recompute_cached_metrics): New function.
7590 (w32font_open_internal): Use it. Set font to use glyph points
7591 initially. Set format based on type of font.
7592 (w32font_text_extents, w32font_draw): Optionally use glyph points.
7593 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
7594 on it. Set format based on information available here.
7595 (add_font_entity_to_list): Identify backend based on opentype_only.
7596
75972008-03-02 Andreas Schwab <schwab@suse.de>
7598
7599 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
7600
7601 * coding.c (decode_coding_big5, produce_chars):
7602 Fix typos in last change.
7603
76042008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
7605
7606 * gnu.h: New icon.
7607
76082008-03-02 Kenichi Handa <handa@m17n.org>
7609
7610 * coding.c (decode_coding_utf_8): When eol-type of CODING is
7611 `dos', don't decode '\r' if that is the last in the source.
7612 (decode_coding_utf_16, decode_coding_emacs_mule)
7613 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
7614 (decode_coding_raw_text, decode_coding_charset): Likewise.
7615 (produce_chars): Don't decode EOL here. Use EMACS_INT.
7616
76172008-03-01 Jason Rumney <jasonr@gnu.org>
7618
7619 * w32font.c (w32font_full_name): Report point size for scalable fonts.
7620
76212008-03-01 Kim F. Storm <storm@cua.dk>
7622
7623 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
7624
76252008-03-01 Jason Rumney <jasonr@gnu.org>
7626
7627 * w32font.c (w32font_full_name): New function.
7628 (w32font_open_internal): Use it.
7629
76302008-03-01 Kim F. Storm <storm@cua.dk>
7631
7632 * dispnew.c (line_draw_cost): Fix invalid glyph check.
7633
76342008-03-01 Jason Rumney <jasonr@gnu.org>
7635
7636 * font.c (font_unparse_fcname): Increase len when style is a symbol.
7637
76382008-03-01 Jan Djärv <jan.h.d@swipnet.se>
7639
7640 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
7641 xg_frame_resized when the event is for the edit widget.
7642
7643 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
7644
7645 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
7646 set_char_size.
7647 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
7648 operations on widgets here. Just set frame size if needed.
7649 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
7650 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
7651 (x_wm_set_size_hint): Set size hints on the edit widget only, not
7652 the whole frame.
7653 (xg_create_tool_bar): Move attachment of the tool bar to
7654 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
7655 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
7656
76572008-03-01 Jason Rumney <jasonr@gnu.org>
7658
7659 * w32fns.c (w32_msg_pump): Disable debug code.
7660
76612008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7662
7663 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
7664
76652008-02-29 Chong Yidong <cyd@stupidchicken.com>
7666
7667 * xdisp.c (next_overlay_string): Don't set
7668 overlay_strings_at_end_processed_p if we're currently reading from
7669 a display string.
7670
76712008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
7672
7673 * xdisp.c (get_overlay_strings_1): Fix typo.
7674
76752008-02-29 Chong Yidong <cyd@stupidchicken.com>
7676
7677 * xdisp.c (get_overlay_strings_1): Add missing argument type.
7678
76792008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
7680
7681 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
7682
7683 * xdisp.c (display_mode_element): Cancel the previous change.
7684 (decode_mode_spec): Likewise.
7685 (handle_auto_composed_prop): Don't make composition if it->string
7686 is a string.
7687
76882008-02-27 Kim F. Storm <storm@cua.dk>
7689
7690 * lisp.h (GLYPH): Change type from int to struct with separate char
7691 and face_id members.
7692 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
7693 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
7694 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
7695 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
7696 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
7697 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
7698 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
7699 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
7700 handle new Lisp glyph code encoding, either an integer or a cons.
7701
7702 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
7703 (GLYPH_ALIAS): Delete.
7704 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
7705 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
7706 (GLYPH_FROM_CHAR): Replace macro by ...
7707 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
7708
7709 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
7710 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
7711 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
7712 (GLYPH_INVALID_P): New macro.
7713 (spec_glyph_lookup_face): Update prototype.
7714
7715 * dispnew.c (line_draw_cost): Adapt to new glyph type.
7716 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
7717 new glyph code encoding.
7718 (spec_glyph_lookup_face): No return value; update passed glyph instead.
7719 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
7720
7721 * xdisp.c (get_next_display_element, next_element_from_display_vector):
7722 Adapt to new glyph type and new glyph code encoding.
7723
7724 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
7725
7726 * indent.c (current_column, current_column_1, Fmove_to_column)
7727 (compute_motion): Adapt to new glyph code encoding.
7728
7729 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
7730
77312008-02-27 Chong Yidong <cyd@stupidchicken.com>
7732
7733 * process.c (wait_reading_process_output): Check for window
7734 changes caused by timers.
7735 Suggested by Johan Bockgård.
7736
77372008-02-27 Glenn Morris <rgm@gnu.org>
7738
7739 * emacs.c (USAGE1): Add `--disable-font-backend'.
7740
77412008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
7742
7743 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
7744 is made to the buffer.
7745
77462008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
7747
7748 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
7749 (face_at_string_position):
7750 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
7751 (face_at_string_position):
7752 * xdisp.c (display_string, next_overlay_change):
7753 * buffer.h (overlays_at):
7754 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
7755 Update callers.
7756
77572008-02-26 Chong Yidong <cyd@stupidchicken.com>
7758
7759 * editfns.c (Fformat): Doc fix.
7760
77612008-02-26 Juanma Barranquero <lekktu@gmail.com>
7762
7763 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
7764 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
7765 (Ffont_otf_alternates, Fquery_font): Doc fixes.
7766
77672008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
7768
7769 * buffer.c (Fbuffer_swap_text): New function.
7770 (syms_of_buffer): Defsubr it.
7771
77722008-02-25 Chong Yidong <cyd@stupidchicken.com>
7773
7774 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
7775
77762008-02-25 Jason Rumney <jasonr@gnu.org>
7777
7778 * w32font.c (w32font_draw): Draw one character at a time when padding.
7779
77802008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
7781
7782 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
7783 Handle a nil arg. Use run_window_configuration_change_hook.
7784 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
7785 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
7786 Use run_window_configuration_change_hook.
7787
77882008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
7789
7790 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
7791 1-pixel width.
7792
77932008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
7794
7795 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
7796 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
7797 if the glyph in the font is zero pixel with.
7798
7799 * dispextern.h (struct glyph_string): New member padding_p.
7800
7801 * w32font.c (w32font_draw): Pay attention to s->padding_p.
7802
7803 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
7804
7805 * xfont.c (xfont_draw): Pay attention to s->padding_p.
7806
7807 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
7808
7809 * font.c: If the font driver doesn't have `shape' function, return Qnil.
7810
78112008-02-25 Jason Rumney <jasonr@gnu.org>
7812
7813 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
7814
78152008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
7816
7817 Allow fine-grained image-cache flushing.
7818 * dispextern.h (struct image): Add `dependencies' field.
7819 (clear_image_caches): Change arg to Lisp_Object.
7820 * image.c (make_image): Initialize `dependencies' field.
7821 (clear_image_cache): Change arg to allow fine-grained flushing.
7822 Perform the flush even if image-cache-eviction-delay is nil.
7823 (clear_image_caches): Change arg to Lisp_Object.
7824 (Fclear_image_cache): Expand meaning of the argument.
7825 (mark_image): Mark `dependencies' field.
7826 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
7827 (lface_hash): Use XHASH rather than XFASTINT.
7828 (face_at_buffer_position): Fix int -> EMACS_INT position.
7829 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
7830 (select_frame_for_redisplay): Remove code duplication.
7831 (redisplay_internal): Adapt arg to call to clear_image_caches.
7832
78332008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
7834
7835 * s/vms4-0.h:
7836 * s/vms4-2.h:
7837 * s/vms4-4.h:
7838 * s/vms5-5.h: Remove, unused.
7839
7840 * s/irix5-2.h:
7841 * s/irix6-0.h:
7842 * s/riscos5.h:
7843 * s/mach-bsd4-3.h:
7844 * m/mips4.h: Remove files for obsolete systems.
7845
7846 * Makefile.in:
7847 * filelock.c:
7848 * unexmips.c:
7849 * m/hp9000s300.h:
7850 * m/iris4d.h:
7851 * s/aix3-1.h:
7852 * s/hpux.h:
7853 * s/msdos.h:
7854 * s/usg5-0.h:
7855 * s/usg5-2-2.h:
7856 * s/usg5-2.h:
7857 * s/usg5-3.h: Remove references to obsolete variables.
7858
7859 * s/irix5-0.h: Remove, move all the contents ...
7860 * s/irix6-5.h: ... here. Simplify.
7861 * config.in: Regenerate.
7862
78632008-02-24 Jason Rumney <jasonr@gnu.org>
7864
7865 * w32term.c (x_draw_glyph_string_background): Clear the background
7866 manually when cleartype is in use.
7867 (x_draw_glyph_string_foreground): Draw text transparently when
7868 cleartype is in use.
7869
7870 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
7871 a font into it unless we have to.
7872
78732008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
7874
7875 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
7876 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
d6c952f8 7877
aac0c6e3
MR
78782008-02-18 Jason Rumney <jasonr@gnu.org>
7879
7880 * w32fns.c (Fw32_shell_execute): Encode parameters.
7881
78822008-02-09 Eli Zaretskii <eliz@gnu.org>
7883
7884 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
7885
78862008-02-05 Juanma Barranquero <lekktu@gmail.com>
7887
7888 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
7889
78902008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
7891
7892 * xterm.c (x_set_offset): Don't change the gravity if
7893 CHANGE_GRAVITY is -1.
7894
78952008-02-23 Chong Yidong <cyd@stupidchicken.com>
7896
7897 * fileio.c (auto_save_error_occurred): New var.
7898 (auto_save_error): Set it.
7899 (Fdo_auto_save): Don't overwrite the error message if an auto-save
7900 error occurred.
7901
79022008-02-23 Eli Zaretskii <eliz@gnu.org>
7903
7904 * w32.c (globals_of_w32): Add initializations for
7905 g_b_init_get_sid_sub_authority and
7906 g_b_init_get_sid_sub_authority_count.
7907
79082008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
7909
7910 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
7911 (font_parse_xlfd): Use them for sanity check.
7912 (Finternal_set_font_style_table): Make sure the table is bijective.
7913
7914 Consolidate the image_cache to the terminal struct.
7915 * termhooks.h (P_): Remove redundant def.
7916 (struct terminal): New field `image_cache'.
7917 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
7918 of FRAME_X_IMAGE_CACHE.
7919 * xterm.h (struct x_display_info): Remove image_cache field.
7920 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7921 * w32term.h (struct w32_display_info): Remove image_cache field.
7922 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7923 * macterm.h (struct mac_display_info): Remove image_cache field.
7924 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7925 * xterm.c (x_term_init):
7926 * w32term.c (w32_term_init):
7927 * macterm.c (mac_term_init): Set the image_cache in the terminal.
7928 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
7929 Remove declarations.
7930 (clear_image_caches, mark_image_cache): New declarations.
7931 * xfaces.c (clear_face_cache):
7932 * xdisp.c (redisplay_internal): Use clear_image_caches.
7933 * image.c (clear_image_cache): Don't check that a frame is on
7934 a window-system before checking if it shares the same cache.
7935 (clear_image_caches): New function.
7936 (Fclear_image_cache): Use it.
7937 (mark_image): Move from allo.c.
7938 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
7939 * alloc.c (mark_image, mark_image_cache): Move to image.c.
7940 (mark_object): Don't call mark_image_cache for frames.
7941 (mark_terminals): Call mark_image_cache.
7942
7943 * lisp.h (Fdelete_terminal): Declare.
7944
7945 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
7946 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
7947 wrong_type_argument.
7948
79492008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
7950
7951 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
7952 malayalam.el, and tamil.el. Add sinhala.el.
7953
79542008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
7955
7956 * xterm.c (x_connection_closed): Consolidate identical tests.
7957 (x_delete_terminal): Don't crash if called via x_connection_closed.
7958
79592008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
7960
7961 * xdisp.c (decode_mode_spec): New arg string.
7962 (display_mode_element): Adjust for the above change.
7963
79642008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
7965
7966 * callint.c (Fcall_interactively): Use AREF.
7967
79682008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
7969
7970 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
7971
79722008-02-18 Jan Djärv <jan.h.d@swipnet.se>
7973
7974 * xfns.c (Fx_show_tip): Set string to " " if empty.
7975
79762008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
7977
7978 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
7979 with Qt.
7980
79812008-02-17 Kenichi Handa <handa@m17n.org>
7982
7983 * ftfont.c (ftfont_shape): Return Lispy number.
7984
7985 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
7986 for GCs.
7987 (Finternal_set_font_selection_order): Call font_update_sort_order
7988 only when enable_font_backend is set.
7989 (realize_x_face): Set face->font_info to that of default face only
7990 when enable_font_backend is set.
7991
7992 * xdisp.c (handle_composition_prop): Set it->c to the fist
7993 character of the composed region.
7994 (fill_composite_glyph_string): Set base_face->font_info to
7995 s->font_info. Get a face for ascii from base_face->ascii_face.
7996 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
7997 with a face already decided.
7998 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
7999 non-negative.
8000 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
8001 call font_prepare_composition unconditionally.
8002
8003 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
8004
8005 * xterm.h (struct x_display_info): New member font.
8006
8007 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
8008 (x_set_mouse_face_gc, x_new_font): Likewise.
8009 (x_term_init): Setup display_info->font.
8010 (x_delete_terminal): Free display_info->font.
8011
8012 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
8013
8014 * ftxfont.c (ftxfont_default_fid): Delete it.
8015 (ftxfont_open): Set xfont->fid to 0.
8016 (ftxfont_end_for_frame): Clear data specific to the frame and the
8017 font-driver.
8018
8019 * xftfont.c (xftfont_default_fid): Delete it.
8020 (xftfont_open): Set xfont->fid to 0.
8021
8022 * fontset.c (FONTSET_OBJLIST): New macro.
8023 (fontset_find_font): Update font-object list of the fontset.
8024 (free_realized_fontset): New function.
8025 (free_face_fontset): Call free_realized_fontset.
8026 (Ffont_info): Call font_close_object only when enable_font_backend
8027 is set.
8028
8029 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
8030 [HAVE_NTGUI]: Include w32term.h.
8031 [MAC_OS]: Include macterm.ch.
8032 (font_otf_ValueRecord): Use make_number.
8033 (font_finish_cache): Fix handling of reference count.
8034 (font_clear_cache): Update num_fonts.
8035 (font_open_entity): Update smallest_char_width and
8036 smallest_font_height of the frame.
8037 (font_close_object): Update num_fonts.
8038 (Fclear_font_cache): Fix finding the target cache data.
8039
80402008-02-16 Glenn Morris <rgm@gnu.org>
8041
8042 * fontset.c (Finternal_char_font): Fix compilation warning.
8043
80442008-02-16 Eli Zaretskii <eliz@gnu.org>
8045
8046 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
8047 instead of char arrays. Enlarge the size of array passed to
8048 get_token_information.
8049
8050 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
8051 warnings.
8052
80532008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
8054
8055 * .gdbinit: Don't set `args', it breaks gdb --args.
8056
80572008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
8058
8059 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
8060 within a narrowed buffer.
8061
80622008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
8063
8064 * coding.c (decode_coding_object, encode_coding_object):
8065 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
8066
80672008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
8068
8069 * coding.c (coding_set_destination): Use BEG_BYTE rather than
8070 hardcoding 1.
8071 (detect_coding_system):
8072 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
8073 (string_char_to_byte, string_byte_to_char, insert_from_gap):
8074 * insdel.c (insert_from_gap):
8075 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
8076 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
8077 (string_to_multibyte):
8078 * character.c (chars_in_text, multibyte_chars_in_text):
8079 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
8080
8081 * character.h (FETCH_STRING_CHAR_ADVANCE)
8082 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
8083 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
8084 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
8085
8086 * casefiddle.c (casify_region): Only call after-change and composition
8087 functions on the part of the region that was changed.
8088
8089 * keyboard.c (read_avail_input):
8090 * frame.c (Fdelete_frame): Call Fdelete_terminal.
8091
80922008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
8093
8094 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
8095 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
8096
80972008-02-11 Juanma Barranquero <lekktu@gmail.com>
8098
8099 * w32menu.c (push_submenu_start, push_submenu_end)
8100 (push_left_right_boundary, push_menu_pane, push_menu_item):
8101 * keyboard.c (read_key_sequence): Don't pass args with side effects
8102 to AREF, it fails when compiling with -DENABLE_CHECKING.
8103
81042008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
8105
8106 * Makefile.in (${lispsource}international/charprop.el):
8107 Delete this target.
8108
8109 * search.c (boyer_moore): Fix incorrect synching of the trunk and
8110 emacs-unicode-2.
8111
81122008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
8113
8114 * terminal.c (Fdelete_terminal): Clean up the `force' path.
8115
81162008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
8117
8118 * frame.c (Qnoelisp): New symbol.
8119 (syms_of_frame): Initialize it.
8120 (Fdelete_frame): Use it to distinguish a mere `force' passed from some
8121 harmless Elisp code, from a strong `force' from x_connection_closed.
8122 * frame.h (Qnoelisp): Declare.
8123 * xterm.c (x_connection_closed): Pass `noelisp'.
8124
8125 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
8126 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
8127 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
8128 rather than `int' for the type of `type'.
8129
81302008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
8131
8132 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
8133
8134 * Makefile.in (GNUC): Remove support for gcc-1.x.
8135
81362008-02-10 Richard Stallman <rms@gnu.org>
8137
8138 * lisp.h (ASET): Use AREF, not ASLOT.
8139
81402008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
8141
8142 * lisp.h (ASET): Check bounds.
8143
81442008-02-10 Glenn Morris <rgm@gnu.org>
8145
8146 * buffer.c (mode-name): Doc fix.
8147
81482008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
8149
8150 * Makefile.in:
8151 * emacs.c:
8152 * gmalloc.c:
8153 * keyboard.c:
8154 * lisp.h:
8155 * m/ibm370aix.h:
8156 * process.c:
8157 * regex.c:
8158 * s/hpux.h:
8159 * sysdep.c:
8160 * sysselect.h:
8161 * systty.h:
8162 * unexec.c:
8163 * w32term.c:
8164 * xsmfns.c:
8165 * xterm.c: Remove code that deals with obsolete variables.
8166
8167 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
8168
8169 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
8170 nothing else needs it anymore.
8171
81722008-02-09 Eli Zaretskii <eliz@gnu.org>
8173
8174 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
8175 instead of unibyte_char_to_multibyte.
8176
81772008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
8178
8179 * s/gnu-linux.h: Remove commented out code.
8180
8181 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
8182
8183 * Makefile.in: Update what RMS says about using autoconf.
8184 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
8185 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
8186 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
8187 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
8188
81892008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
8190
8191 * keymap.c (Fkey_description): Move side effect outside of macro call.
8192
8193 * xfaces.c (Finternal_make_lisp_face):
8194 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
8195
8196 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
8197 (syms_of_fontset): Use ASET.
8198
8199 * fns.c (concat): Move side effect outside of macro call.
8200 (hash_clear): Use ASET.
8201
82022008-02-08 Richard Stallman <rms@gnu.org>
8203
8204 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
8205 If FORCE, and frame has a surrogate minibuffer for another frame,
8206 delete the other frame first.
8207
82082008-02-07 Timo Savola <timo.savola@iki.fi>
8209
8210 * xterm.c (x_detect_focus_change): Handle embed client message.
8211 (handle_one_xevent): Ditto.
8212 (handle_one_xevent): If embedded and we get a button press/release,
8213 request focus.
8214 (xembed_set_info, xembed_send_message): New functions.
8215 (x_make_frame_visible): Call xembed_set_info if embedded.
8216 (x_make_frame_invisible): Call xembed_set_info if embedded.
8217 (x_term_init): Initialize Xatom_XEMBED.
8218 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
8219 (x_iconify_frame): Ditto.
8220
8221 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
8222 (enum xembed_info, enum xembed_message, enum xembed_focus)
8223 (enum xembed_modifier, enum xembed_accelerator): New.
8224 (xembed_set_info, xembed_send_message): Declare.
8225 (FRAME_X_EMBEDDED_P): New.
8226
8227 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
8228 gtk_plug_new.
8229
8230 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
8231 window ID of a frame.
8232 (x_window): Reparent frame if embedded.
8233 (Fx_create_frame): Don't set border width if embedded.
8234
8235 * emacs.c (USAGE3): Add --parent-id.
8236 (standard_args): Ditto.
8237
82382008-02-07 Jan Djärv <jan.h.d@swipnet.se>
8239
8240 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
8241
82422008-02-07 Jim Meyering <meyering@redhat.com>
8243
8244 Use "do...while (0)", not "if (1)...else" in macro definitions.
8245 The latter provokes a warning from gcc about the empty else, when
8246 followed by ";". Also, without that trailing semicolon, it would
8247 silently swallow up any following statement.
8248 * syntax.h (SETUP_SYNTAX_TABLE)
8249 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
8250 * buffer.h (DECODE_POSITION): Likewise.
8251 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
8252 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
8253 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
8254 (FETCH_CHAR_ADVANCE): Likewise.
8255 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
8256
82572008-02-07 Jim Meyering <meyering@redhat.com>
8258
8259 * lread.c [lint]: Don't include <sys/inode.h>.
8260
82612008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
8262
8263 * xselect.c (x_handle_dnd_message):
8264 * xmenu.c (digest_single_submenu, xmenu_show):
8265 * xdisp.c (with_echo_area_buffer_unwind_data)
8266 (format_mode_line_unwind_data, unwind_format_mode_line)
8267 (display_menu_bar):
8268 * eval.c (Ffetch_bytecode):
8269 * doc.c (store_function_docstring):
8270 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
8271 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
8272 * buffer.c (add_overlay_mod_hooklist): Use ASET.
8273
82742008-02-07 Kenichi Handa <handa@m17n.org>
8275
8276 * ftxfont.c (ftxfont_open): Don't set
8277 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
8278
8279 * ftfont.c (ftfont_open): Fix previous change.
8280
82812008-02-06 Jason Rumney <jasonr@gnu.org>
8282
8283 * w32font.c (w32font_text_extents): Fill in lbearing metric.
8284 Use cached metrics for ASCII characters.
8285 (w32font_open_internal): Don't set font's owning_frame.
8286 Cache metrics for ASCII characters.
8287
8288 * w32font.h (struct w32font_info): Add ascii_metrics.
8289 Remove owning_frame.
8290
82912008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
8292
8293 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
8294 to negative value.
8295
8296 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
8297
8298 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
8299
8300 * charset.c (syms_of_charset): Set QCtest and Qeq.
8301
83022008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
8303
8304 * process.c (Fstart_process):
8305 * callproc.c (Fcall_process): Handle the case where
8306 Funhandled_file_name_directory returns nil.
8307
8308 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
8309 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
8310 * font.c (check_gstring): Use them and AREF to access the vector before
8311 we know it's really a gstring.
8312 (Ffont_shape_text): Fix typo.
8313 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Oject mixups.
8314
8315 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
8316 Declare.
8317
8318 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
8319
83202008-02-05 Jason Rumney <jasonr@gnu.org>
8321
8322 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
8323 Set smallest_font_height and smallest_char_width in display info.
8324
83252008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
8326
8327 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
8328
83292008-02-05 Miles Bader <miles@gnu.org>
8330
8331 * xfaces.c (get_lface_attributes, merge_named_face)
8332 (lookup_named_face, lookup_derived_face, realize_named_face):
8333 Revert 2008-02-01 change by cyd@stupidchicken.com.
8334
83352008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
8336
8337 * fontset.c (Ffontset_info): Handle the case of inhibitting the
8338 fallback fonts.
8339 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
8340
83412008-02-04 Jason Rumney <jasonr@gnu.org>
8342
8343 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
8344 set full_name.
8345 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
8346
83472008-02-03 Jason Rumney <jasonr@gnu.org>
8348
8349 * makefile.w32-in (OBJ1): Include font.o here.
8350 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
8351
83522008-02-02 Jason Rumney <jasonr@gnu.org>
8353
8354 * makefile.w32-in (temacs): Bump EMHEAP to 21.
8355
83562008-02-01 Jason Rumney <jasonr@gnu.org>
8357
8358 * s/cygwin.h: Define VIRT_ADDR_VARIES.
8359
8360 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
8361
83622008-02-01 Andreas Schwab <schwab@suse.de>
8363
8364 * Makefile.in (shortlisp, lisp): Update for rename of
8365 ../lisp/language/myanmar.el.
8366
83672008-02-01 Chong Yidong <cyd@stupidchicken.com>
8368
8369 * xfaces.c (get_lface_attributes): Delete function.
8370 (merge_named_face, lookup_named_face, lookup_derived_face)
8371 (realize_named_face): Call lface_from_face_name directly, and use
8372 the fact that merge_face_vectors does not alter its FROM argument.
8373
83742008-02-01 Jason Rumney <jasonr@gnu.org>
8375
8376 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
8377 input in the default locale. Handle non-Unicode multibyte input.
8378
83792008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8380
8381 * fontset.c (reorder_font_vector): Exclude nil elements from the
8382 font group. Don't try multiple fonts.
8383 (fontset_font): Adjust for the above change.
8384 (Finternal_char_font): Return nil if the found font doesn't
8385 contain the character ch.
8386
8387 * Makefile.in (lisp, shortlisp): Add cham.el.
8388
83892008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8390
8391 * font.h (FONTP): Make it return 1 also for a font-object.
8392
8393 * .gdbinit (xfontset): New function.
8394
8395 * font.c (font_find_for_lface): Check if the character C is
8396 supported or not only for the first font.
8397
8398 * fontset.c (reorder_font_vector): Fix typo.
8399 (fontset_find_font): Don't add a font-spec specifying a script.
8400 Use 0 (not Qt) for the indication of empty font-group. Change the
8401 format of RFONT-DEF. Return Qt if no font in the font-group
8402 support the character.
8403 (fontset_font): Adjust for the above change. If no font was
8404 found the character, remember that.
8405 (face_for_char): Adjust for the change of RFONT-DEF.
8406 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
8407 no font for the target.
8408 (Finternal_char_font): Adjust for the change of RFONT-DEF.
8409
84102008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8411
8412 * font.c (font_load_for_face): Handle the case that the font in
8413 face->lface is a string.
8414
84152008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8416
8417 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
8418
84192008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8420
8421 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
8422 Fix previous change. If the frame is not on a window system,
8423 signal an error.
8424
84252008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8426
8427 * coding.c (decode_coding_object, encode_coding_object): Adjust
8428 marker positions after conversion.
8429
8430 * lisp.h (struct Lisp_Marker): New member need_adjustment.
8431
84322008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8433
8434 * font.c (font_find_for_lface): Fix the handling of the return
8435 value of font_has_char.
8436 (Ffont_shape_text): Fix previous change.
8437
8438 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
8439 (fontset_ref_and_range): Delete it.
8440 (fontset_find_font): Call char_table_ref_and_range instead of
8441 FONTSET_REF_AND_RANGE.
8442 (make_fontset): Don't setup font groups of Latin here.
8443 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
8444 (new_fontset_from_font): Make the specified font the default for
8445 all Latin characters.
8446
84472008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8448
8449 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
8450 is on a window system before accessing the fontset of the frame.
8451
84522008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8453
8454 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
8455
8456 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
8457 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
8458
8459 * font.c (Ffont_shape_text): If the font driver doesn't have a
8460 shaper function, make zero-width glyphs to have at least one-pixel
8461 width. Fix setting of `to' field of glyphs.
8462
84632008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8464
8465 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
8466 glyphs.
8467
8468 * font.h (struct font_driver): Improve docstring of member `shape'.
8469
84702008-02-01 Kenichi Handa <handa@m17n.org>
8471
8472 * composite.c (syms_of_composite): Fix docstring of
8473 auto-composition-function.
8474
8475 * font.h (LGLYPH_SIZE): New macro.
8476
8477 * font.c (Ffont_fill_gstring): Stop filling when a character not
8478 supported by the font is found.
8479 (Ffont_shape_text): When a shape callback function returns nil,
8480 try at most two more times with larger gstring.
8481 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
8482
8483 * xdisp.c (handle_auto_composed_prop): Change the argument to
8484 auto-composition-function.
8485
8486 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
8487 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
8488 Lispy glyph and store it in the lgstring.
8489
8490 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
8491
8492 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
8493
84942008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8495
8496 * font.c (Ffont_shape_text): Avoid unnecessary composition.
8497
8498 * fontset.c (Vfont_encoding_charset_alist): New variable.
8499 (syms_of_fontset): DEFVAR it.
8500 (reorder_font_vector, fontset_find_font): Optimize for the case of
8501 no need of reordering.
8502 (face_for_char): Map the charset property by
8503 Vfont_encoding_charset_alist.
8504
85052008-02-01 Jason Rumney <jasonr@gnu.org>
8506
8507 * w32font.c (logfonts_match): Don't check adstyle here.
8508 (font_matches_spec): Check here against physical font instead.
8509 (add_font_entity_to_list): Avoid some substitutions.
8510
8511 * font.c (font_parse_fcname): Default weight and slant to normal.
8512 (font_score): Prefer normal fonts if weight or slant unspecified.
8513 (font_score) [WINDOWSNT]: Scale weight difference down to closer
8514 match freetype scores.
8515
85162008-02-01 Jason Rumney <jasonr@gnu.org>
8517
8518 * w32font.c (w32font_text_extents): Don't use the frame stored in the
8519 font, as it may have been deleted.
8520 (w32_enumfont_pattern_entity): Map generic family to adstyle using
8521 most common hyphenless variation.
8522 (logfonts_match): Check generic family.
8523 (font_matches_spec): Don't check generic family here.
8524 (fill_in_logfont): Set generic family based on adstyle.
8525
8526 * w32font.h (w32font_get_cache): Update declaration.
8527
85282008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8529
8530 * ftfont.c (ftfont_get_cache): Adjust the argument type.
8531
8532 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
8533 If none of the new drivers are available, call font_update_drivers
8534 with the old drivers.
8535
8536 * w32font.c (w32font_get_cache): Adjust the argument type.
8537
8538 * xfont.c (xfont_get_cache): Adjust the argument type.
8539
8540 * font.h (struct font_driver): Change argument type of get_cache.
8541
8542 * xftfont.c (xftfont_start_for_frame): Delete prototype.
8543
8544 * font.c (Ffont_get): Fix arguments to Fassoc.
8545 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
8546 (font_clear_cache): New function.
8547 (font_list_entities, font_matching_entity): Use font_get_cache.
8548 (font_update_drivers): Call font_clear_cache when finishing a driver.
8549
8550 * fontset.c (fontset_find_font): Fix previous change.
8551
85522008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8553
8554 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
8555 dpyinfo->font_table.
8556 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
8557 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
8558
8559 * font.c (font_at): Handle the case that the arg C is negative.
8560 Handle the unibyte case.
8561 (Ffont_at): Call font_at with the arg C -1.
8562
8563 * xdisp.c (handle_auto_composed_prop): Don't get a character at
8564 the position here, and call font_at with the arg C -1.
8565 Don't check the range of the existing composition at the point.
8566
85672008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8568
8569 * fontset.c (fontset_add): New args charset_id and family.
8570 Change caller.
8571 (load_font_get_repertory, fontset_find_font): Assume that
8572 font_spec is always a font-spec object.
8573 (Fset_fontset_font): Always store a font-spec object in a fontset.
8574
8575 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
8576 instead of get_property_and_range.
8577
85782008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8579
8580 * xftfont.c (struct xftfont_info): Delete the member ft_face.
8581 (xftfont_open): Don't keep locking face.
8582 (xftfont_close): Don't unlock face.
8583 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
8584
8585 * fontset.c (fontset_find_font): Don't prefer a font of
8586 supplementary charset.
8587
85882008-02-01 Kenichi Handa <handa@m17n.org>
8589
8590 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
8591 script, langsys_tag to langsys, new member script.
8592 (OTF_TAG_STR): Terminate by '\0'.
8593 (ftfont_get_open_type_spec): If :otf prop is is spec, Limit the
8594 listing to the script specified in that property. Fix arg to
8595 OTF_check_features.
8596
85972008-02-01 Jason Rumney <jasonr@gnu.org>
8598
8599 * w32font.h: New file.
8600
8601 * w32font.c: Include it.
8602 (struct w32font_info): Add owning_frame field. Move to w32font.h.
8603 (w32font_open): Set owning_frame.
8604 (w32font_text_extents): Use owning_frame.
8605 (struct font_callback_data): Add opentype_only field.
8606 (add_font_entity_to_list): Use it to filter fonts.
8607 Don't check against full name.
8608 (w32font_list_internal): New function.
8609 (w32font_list): Use it.
8610 (w32font_match_internal): New function.
8611 (w32font_match): Use it.
8612 (w32font_open_internal): New function.
8613 (w32font_open): Use it.
8614 (w32font_get_cache, w32font_close, w32font_has_char)
8615 (w32font_encode_char, w32font_text_extents, w32font_draw):
8616 Make non-static.
8617
8618 * makefile.w32-in (w32font.o): Depend on w32font.h.
8619
86202008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8621
8622 * charset.c (Fdefine_charset_internal): Record a supplementary
8623 charset at the tail of Vcharset_order_list.
8624
8625 * font.c (Ffont_shape_text): Fix the return value.
8626
8627 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
8628
8629 * xdisp.c (handle_auto_composed_prop): Fix previous change.
8630
86312008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8632
8633 * ftfont.c (struct OpenTypeSpec): New struct.
8634 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
8635 (ftfont_get_open_type_spec): New function.
8636 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
8637
8638 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
8639
86402008-02-01 Jason Rumney <jasonr@gnu.org>
8641
8642 * w32font.c (add_font_entity_to_list): Compare only the beginning
8643 of full name.
8644
86452008-02-01 Kenichi Handa <handa@m17n.org>
8646
8647 * xdisp.c (handle_auto_composed_prop): Simplify the code.
8648 Never return HANDLED_RECOMPUTE_PROPS.
8649
86502008-02-01 Kenichi Handa <handa@m17n.org>
8651
8652 * font.c (font_gstring_produce): Delete it.
8653
8654 * composite.h (COMPOSITION_METHOD):
8655 Handle COMPOSITION_WITH_GLYPH_STRING.
8656
86572008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8658
8659 * xfont.c (Qx): Delete.
8660 (syms_of_xfont): Don't initialize Qx.
8661
8662 * composite.h (enum composition_method):
8663 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
8664
86652008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8666
8667 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
8668 (choose_face_font): Accept new form of font-spec.
8669
8670 * frame.h (font_driver_list): Declare it unconditionally.
8671 (struct frame): Define members font_driver_list and font_data_list
8672 unconditionally.
8673
8674 * fontset.c: Include "font.h" unconditionally.
8675 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
8676 (Fset_fontset_font): Accept a font-spec object.
8677
8678 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
8679 PIXEL_SIZE part a wild card.
8680
8681 * dispextern.h (struct glyph_string): Define members clip and
8682 num_clips unconditionally.
8683 (struct face): Define members font_info and extra unconditionally.
8684
8685 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
8686 ftfont_info only when HAVE_LIBOTF is defined.
8687
86882008-02-01 Andreas Schwab <schwab@suse.de>
8689
8690 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
8691 and end.
8692
86932008-02-01 Jason Rumney <jasonr@gnu.org>
8694
8695 * w32font.c (w32font_driver): Add new fields.
8696
86972008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8698
8699 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
8700 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
8701 (LIBES): Add @M17N_FLT_CFLAGS@.
8702
8703 * composite.c (compose_text): Don't treat the new style
8704 composition specially.
8705
8706 * emacs.c (main): Call syms_of_font unconditionally.
8707
8708 * font.h (FONT_ENTITY_NOT_LOADABLE)
8709 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
8710 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
8711 (struct font_driver): New member shape.
8712 (font_registry_charsets): Extern it.
8713 (font_find_for_lface, font_prepare_composition): Adjust prototype.
8714 (font_otf_capability, font_drive_otf): Delete their externs.
8715
8716 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
8717 (font_charset_alist, font_registry_charsets): Move from xfont.c
8718 and rename.
8719 (font_prop_validate_otf): New function.
8720 (font_property_table): Register it for QCotf.
8721 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
8722 (font_drive_otf): Delete.
8723 (font_prepare_composition): New arg F. Adjust for the change of
8724 lispy gstring.
8725 (font_find_for_lface): New arg C.
8726 (font_load_for_face): Adjust for the change of font_find_for_lface.
8727 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
8728 lispy gstring.
8729 (Ffont_shape_text): New function.
8730 (Fopen_font): If the font size is not given, use 12-pixel.
8731 (Ffont_at): New arg STRING.
8732 (syms_of_font): Initalize font_charset_alist.
8733 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
8734 conditionally.
8735
8736 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
8737 fonts of the same font-spec. Change the format of RFONT-DEF.
8738 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
8739 Adjust for the change of RFONT-DEF.
8740 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
8741
8742 * ftfont.h: New file.
8743
8744 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
8745 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
8746 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
8747 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
8748 font_otf_capability and font_drive_otf, set ftfont_shape.
8749 (ftfont_list): Adjust for the change of :otf property value.
8750 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
8751 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
8752 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
8753 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
8754 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
8755 (otf_gstring, gstring, m17n_flt_initialized): New variables.
8756
8757 * w32term.c (x_draw_composite_glyph_string_foreground):
8758 Adjust for the change of lispy gstring.
8759
8760 * xdisp.c (handle_composition_prop): Adjust for the change of
8761 lispy gstring. Call a function for auto-composition with the
8762 third arg it->window.
8763 (fill_composite_glyph_string): Adjust for the change of lispy string.
8764 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
8765
8766 * xfaces.c (set_font_frame_param): Adjust for the change of
8767 font_find_for_lface.
8768
8769 * xfont.c (x_font_charset_alist): Move to font.c and rename.
8770 (xfont_registry_charsets): Likewise. Change caller.
8771 (syms_of_xfont): Don't handle x_font_charset_alist.
8772
8773 * xftfont.c: Include "ftfont.h".
8774 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
8775 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
8776 (xftfont_close) [HAVE_LIBOTF]: Close otf.
8777 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
8778 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
8779 Set xftfont_driver.shape to xftfont_shape.
8780
8781 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
8782 the change of lispy gstring.
8783
87842008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8785
8786 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
8787
87882008-02-01 Jason Rumney <jasonr@gnu.org>
8789
8790 * w32font.c (w32font_draw): Fill background manually.
8791
87922008-02-01 Jason Rumney <jasonr@gnu.org>
8793
8794 * font.c (Qfontp): Remove unused symbol.
8795 (QCantialias): New symbol.
8796 (syms_of_font): Define it.
8797 (font_property_table): Set a validator for QCantialias.
8798
8799 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
8800 Define if not already.
8801 (QCfamily): Share with xfaces.c.
8802 (Qstandard, Qsubpixel, Qnatural): New symbols.
8803 (syms_of_w32font): Define them. Don't define QCfamily here.
8804 (w32_antialias_type, lispy_antialias_type): New functions.
8805 (w32_enumfont_pattern_entity): New arg requested_font.
8806 Set antialias parameter if non-default was requested.
8807 (fill_in_logfont): Fill in lfQuality if :antialias specified.
8808
88092008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8810
8811 * lread.c (read1): Undo the previous change.
8812
88132008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
8814
8815 * frame.c (Fdelete_frame): Call font_update_drivers only when
8816 USE_FONT_BACKEND is defined.
8817
88182008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8819
8820 * font.h (struct font_bitmap): New member bits_per_pixel.
8821 (struct font_driver): New members start_for_frame and end_for_frame.
8822 (struct font_data_list): New struct.
8823 (font_put_frame_data, font_get_frame_data): Extern them.
8824
8825 * frame.h (struct frame): New member font_data_list.
8826
8827 * font.c (font_update_drivers): Call driver->start_for_frame and
8828 driver->end_for_frame at proper timings.
8829 (font_put_frame_data, font_get_frame_data): New functions.
8830 (Ffont_spec): Add usage in the docstring.
8831
8832 * frame.c (make_frame): Initialize f->font_data_list to NULL.
8833 (Fdelete_frame): Call font_update_drivers.
8834
8835 * xftfont.c (struct xftface_info): Delete the member xft_draw.
8836 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
8837 (xftfont_get_xft_draw): New function.
8838 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
8839 (xftfont_end_for_frame): New function.
8840 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
8841
8842 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
8843 Change argument. Cache GCs in the per-frame data.
8844 (struct ftxfont_frame_data): New struct.
8845 (ftxfont_draw_bitmap): New arg gc_fore and flush.
8846 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
8847 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
8848 (ftxfont_end_for_frame): New function.
8849 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
8850
8851 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
8852
88532008-02-01 Kenichi Handa <handa@m17n.org>
8854
8855 * xselect.c (Vselection_coding_system)
8856 (Vnext_selection_coding_system): Delete them.
8857 (syms_of_xselect): Don't declare selection-coding-system and
8858 next-selection-coding-system. They are declared in select.el.
8859
88602008-02-01 Jason Rumney <jasonr@gnu.org>
8861
8862 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
8863
8864 * w32fns.c: Include imm.h.
8865 (get_composition_string_fn, get_ime_context_fn): New optional
8866 system functions.
8867 (globals_of_w32fns): Load them from imm32.dll.
8868 (ignore_ime_char): New flag.
8869 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
8870 WM_IME_ENDCOMPOSITION messages.
8871
8872 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
8873 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
8874
88752008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8876
8877 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
8878 (READCHAR_REPORT_MULTIBYTE): New macro.
8879 (readchar): New 2nd arg MULTIBYTE.
8880 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
8881 Make symbol's name multibyte according to the multibyteness of the
8882 source.
8883
88842008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8885
8886 * xfaces.c (face_for_overlay_string): Call lookup_face with
8887 correct arguments (fix of synching with the trunk).
8888
88892008-02-01 Kenichi Handa <handa@m17n.org>
8890
8891 * font.c (font_prop_validate_symbol, font_prop_validate_style)
8892 (font_prop_validate_non_neg, font_prop_validate_spacing):
8893 Delete argument prop_index.
8894 (font_property_table): Change arguments to validater. Change Callers.
8895 (font_lispy_object): Delete.
8896 (font_at): Use font_find_object instead fo font_lispy_object.
8897
88982008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8899
8900 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
8901 and file names.
8902
89032008-02-01 Jason Rumney <jasonr@gnu.org>
8904
8905 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
8906 (font_matches_spec): Remove debug output.
8907 (add_font_entity_to_list): Avoid using substituted fonts.
8908
89092008-02-01 Jason Rumney <jasonr@gnu.org>
8910
8911 * doc.c (Fsnarf_documentation):
8912 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
8913
89142008-02-01 Miles Bader <miles@gnu.org>
8915
8916 * dispextern.h (struct glyph_row): Only define "clip" field if
8917 HAVE_WINDOW_SYSTEM is defined.
8918
89192008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
8920
8921 Fix up multi-tty merge.
8922
8923 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
8924 and indentation.
8925
8926 * xfaces.c (free_realized_face, clear_face_gcs):
8927 Include font_done_for_face in the input_blocked section, just in case.
8928
8929 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
8930 (get_char_face_and_encoding): Undo last change and remove the *other*
8931 duplicate definition (i.e. keep the one that's better scoped and that
8932 includes code for the font-backend).
8933
8934 * terminal.c (create_terminal): Default keyboard_coding to
8935 `no-conversion' and terminal_coding to `undecided'.
8936
8937 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
8938
8939 * fontset.c (free_realized_fontsets): Check that the table entry does
8940 contain a fontset before trying to compare it to `base'.
8941
8942 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
8943 syms_of_charset, and syms_of_coding earlier because init_window_once
8944 now needs Vcoding_system_hash_table to be setup.
8945
8946 * coding.h (default_buffer_file_coding): Remove.
8947
8948 * coding.c (default_buffer_file_coding): Remove.
8949 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
8950 than ->symbol, and use the terminal-local coding system.
8951 (syms_of_coding): Don't setup the coding-systems that are not
8952 terminal-local.
8953 (Fdefine_coding_system_internal): Use XCAR/XCDR.
8954
8955 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
8956 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
8957
8958 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
8959 in chartab.c and were re-added here by mistake.
8960 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
8961
8962 * doc.c (Fsnarf_documentation):
8963 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
8964 src to etc.
8965
8966 * ChangeLog.10: Add mistakenly removed entry.
8967
89682008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
8969
8970 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
8971
89722008-02-01 Miles Bader <miles@gnu.org>
8973
8974 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
8975 Add extra args to FACE_FOR_CHAR.
8976
89772008-02-01 Kenichi Handa <handa@m17n.org>
8978
8979 * keymap.c (where_is_internal_1): If key is a cons, store the copy
8980 in sequence.
8981
8982 * chartab.c (map_sub_char_table, map_char_table): If the range
8983 contains just one character, call the function with that character
8984 even if the depth is not 3.
8985
89862008-02-01 Jason Rumney <jasonr@gnu.org>
8987
8988 * w32font.c (w32font_text_extents): Calculate metrics for the
8989 whole string.
8990
89912008-02-01 Jason Rumney <jasonr@gnu.org>
8992
8993 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
8994
89952008-02-01 Jason Rumney <jasonr@gnu.org>
8996
8997 * w32term.c (x_set_glyph_string_clipping): Use
8998 get_glyph_string_clip_rects.
8999 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
9000 Adjust for the change of struct glyph_string.
9001
9002 * w32font.c (w32font_draw): Do clipping here.
9003
90042008-02-01 Kenichi Handa <handa@m17n.org>
9005
9006 * xftfont.c (xftfont_draw): Adjust for the change of struct
9007 glyph_string.
9008
9009 * xterm.c (x_set_glyph_string_clipping): Use
9010 get_glyph_string_clip_rects.
9011 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
9012 Adjust for the change of struct glyph_string.
9013
9014 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
9015 the resulting clip(s}.
9016 (expose_overlaps): Add arg r. Change callers. Set it to
9017 row->clip temporarily.
9018 (expose_window): Redraw rows overlapping the exposed area.
9019
9020 * dispextern.h (struct glyph_row): New member clip.
9021 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
9022 clip_height, new member clip, and num_clips.
9023
90242008-02-01 Kenichi Handa <handa@m17n.org>
9025
9026 * data.c (Fchar_or_string_p): Fix docstring.
9027
90282008-02-01 Kenichi Handa <handa@m17n.org>
9029
9030 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
9031 create a temporary XftDraw object.
9032
90332008-02-01 Kenichi Handa <handa@m17n.org>
9034
9035 * font.c (Ffontp): Fix docstring.
9036
9037 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
9038 strong evidence of ISO-2022.
9039
90402008-02-01 Kenichi Handa <handa@m17n.org>
9041
9042 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
9043 SYNTAX_ENTRY_FOLLOW_PARENT.
9044
90452008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
9046
9047 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
9048 its type.
9049 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
9050 Update to the new type of weak_hash_tables and next_weak.
9051
9052 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
9053 a plain C pointer to Lisp_Hash_Table.
9054
9055 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
9056 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
9057 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
9058 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
9059 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
9060 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
9061 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
9062 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
9063 (GC_EQ): Remove since they've been identical to their non-GC_
9064 alter-egos ever since the markbit was eradicated.
9065
9066 * alloc.c:
9067 * buffer.c:
9068 * buffer.h:
9069 * data.c:
9070 * fileio.c:
9071 * filelock.c:
9072 * fns.c:
9073 * frame.h:
9074 * lisp.h:
9075 * macterm.c:
9076 * print.c:
9077 * process.c:
9078 * w32fns.c:
9079 * w32menu.c:
9080 * w32term.c:
9081 * xfns.c:
9082 * xmenu.c:
9083 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
9084
90852008-02-01 Kenichi Handa <handa@m17n.org>
9086
9087 * chartab.c (map_sub_char_table): Make it work for the top-level
9088 char-table. Fix handling of parent char-table.
9089 (map_char_table): Adjust for the above change.
9090
90912008-02-01 Jason Rumney <jasonr@gnu.org>
9092
9093 * w32font.c (Qgdi): Rename from Qw32.
9094
90952008-02-01 Jason Rumney <jasonr@gnu.org>
9096
9097 * w32bdf.c (get_quoted_string): Make function static.
9098
90992008-02-01 Kenichi Handa <handa@m17n.org>
9100
9101 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
9102 bigger ascent and descent than those of the font, use them as
9103 font's ascent and descent.
9104
91052008-02-01 Kenichi Handa <handa@m17n.org>
9106
9107 * Makefile.in (${lispsource}international/charprop.el): Move this
9108 target within "#ifdef HAVE_UNIDATA" and "#endif".
9109
91102008-02-01 Kenichi Handa <handa@m17n.org>
9111
9112 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
9113 (shortlisp): Add ../lisp/language/tai-viet.el.
9114
91152008-02-01 Ulrich Mueller <ulm@gentoo.org>
9116
9117 * Makefile.in (${lispsource}international/charprop.el): Depend on
9118 temacs${EXEEXT}.
9119
91202008-02-01 Jason Rumney <jasonr@gnu.org>
9121
9122 * w32font.c (w32font_close): Delete the GDI font object.
9123
9124 * w32menu.c: Include character.h.
9125
9126 * w32proc.c: Likewise.
9127
9128 * w32select.c: Likewise.
9129
9130 * makefile.w32-in (w32proc.o): Depend on character.h.
9131
91322008-02-01 Jason Rumney <jasonr@gnu.org>
9133
9134 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
9135
9136 * w32menu.c (syms_of_w32menu): Likewise.
9137
9138 * w32proc.c (syms_of_ntproc): Likewise.
9139
9140 * w32select.c (syms_of_w32select): Likewise.
9141
9142 * w32term.c (syms_of_w32term): Likewise.
9143
91442008-02-01 Jason Rumney <jasonr@gnu.org>
9145
9146 * w32font.c (w32font_draw): Delete brush after using it.
9147
91482008-02-01 Jason Rumney <jasonr@gnu.org>
9149
9150 * w32font.c (w32font_open): Don't set font_idx.
9151 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
9152 to font settings.
9153 (w32font_draw): Fill background explicitly.
9154
91552008-02-01 Jason Rumney <jasonr@gnu.org>
9156
9157 * w32term.c (w32_initialize): Don't call w32font_initialize.
9158
9159 * w32font.c (w32font_info): Remove subranges.
9160 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
9161 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
9162 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
9163 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
9164 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
9165 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
9166 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
9167 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
9168 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
9169 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
9170 New symbols.
9171 (font_callback_data): New struct.
9172 (w32font_list, w32font_match): Use it.
9173 (w32font_open): Don't populate subranges.
9174 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
9175 (w32font_encode_char): Always return unicode code-point as-is.
9176 (w32font_text_extents): Supply a transformation matrix to
9177 GetGlyphOutline. Never look up by glyph index. Avoid looping
9178 twice. Use unicode version of GetTexExtentPoint32 instead of
9179 glyph index version.
9180 (set_fonts_frame): Remove.
9181 (w32_enumfont_pattern_entity): Add frame parameter, use it to
9182 set frame parameter. Use backward compatible fake foundries.
9183 Save generic family in extra slot under QCfamily. Make width slot
9184 constant. Save QCspacing value. Save list of scripts instead of
9185 binary subranges.
9186 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
9187 (add_font_entity_to_list): Use font_callback_data struct. Filter
9188 unwanted fonts.
9189 (add_one_font_entity_to_list): Use font_callback_data struct.
9190 (w32_registry): Default to iso10646_1.
9191 (fill_in_logfont): Use dpi from extra slot. Don't bother with
9192 string font registries. Don't fill in font name if it is a generic
9193 family name, fill family instead. Use spacing, family and script
9194 extra info to fill pitch, family and charset fields.
9195 (list_all_matching_fonts): Use font_callback_data struct.
9196 (unicode_range_for_char): Remove.
9197 (font_supported_scripts): New function.
9198 (w32font_initialize): Remove.
9199 (syms_of_w32font): Update which symbols are defined.
9200
92012008-02-01 Jason Rumney <jasonr@gnu.org>
9202
9203 * font.c (font_pixel_size): Reverse assq_no_quit args.
9204
9205 * w32term.h (FONT_WIDTH): Report max width, not average.
9206 (FONT_MAX_WIDTH): Remove.
9207 (FONT_AVG_WIDTH): New macro.
9208
9209 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
9210 redefinition of FONT_WIDTH.
9211
9212 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
9213 (w32_cache_char_metrics): Use FONT_WIDTH.
9214
9215 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
9216
92172008-02-01 Jason Rumney <jasonr@gnu.org>
9218
9219 * w32font.c (w32font_open): Make lfHeight negative.
9220
9221 * w32fns.c (x_default_font_parameter): Use new style font name.
9222 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
9223
92242008-02-01 Jason Rumney <jasonr@gnu.org>
9225
9226 * w32font.c (QCsubranges): New symbol.
9227 (w32font_open, w32font_has_char): Get subranges from subproperty
9228 of extra.
9229 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
9230 (syms_of_w32font): Define :subranges symbol.
9231
9232 * font.c (font_put_extra): Expose externally.
9233
9234 * font.h (font_put_extra): Move declaration from font.c.
9235
9236 * font.c (Ffont_get): Use font driver to determine otf capability.
9237 (adjust_anchor): Check if driver defines anchor_point before using.
9238
9239 * w32font.c (w32font_open): Handle size, height and pixel_size better.
9240 (w32font_draw): Use options.
9241 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
9242 Fix detection of truetype fonts.
9243 (registry_to_w32_charset): Handle charsets other than iso8859-1
9244 expressed as lisp symbols.
9245 (w32_registry): Express charset as lisp symbol.
9246 (fill_in_logfont): Reverse pixel and point height logic.
9247 Don't set width here. Set quality to default.
9248
9249 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
9250 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
9251
9252 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
9253 Remove redundant loop and allocation.
9254
9255 * makefile.w32-in (font.o, w32font.o): New objects.
9256 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
9257 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
9258
9259 * xdisp.c (fill_composite_glyph_string): Make the first arg to
9260 STORE_XCHARB a valid l-value.
9261
9262 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
9263 calculations for non-Truetype fonts.
9264 (x_draw_glyph_string): Sync with xterm.c.
9265 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
9266 Remove redundant code.
9267 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
9268
9269 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
9270 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
9271
9272 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
9273 (x_to_w32_charset, w32_to_x_charset): Expose externally.
9274
9275 * w32font.c: New file for w32 font backend.
9276
92772008-02-01 Kenichi Handa <handa@m17n.org>
9278
9279 * term.c: Don't include "buffer.h" twice.
9280
92812008-02-01 Kenichi Handa <handa@m17n.org>
9282
9283 * character.c (Funibyte_string): New function.
9284 (syms_of_character): Defsubr it.
9285
92862008-02-01 Jason Rumney <jasonr@gnu.org>
9287
9288 * w32term.c [USE_FONT_BACKEND]:
9289 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
9290 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
9291 (x_draw_glyph_string, x_draw_glyph_string_foreground)
9292 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
9293 (x_free_frame_resources): Sync with xterm.c.
9294
92952008-02-01 Andreas Schwab <schwab@suse.de>
9296
9297 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
9298 char-table size.
9299
93002008-02-01 Kenichi Handa <handa@m17n.org>
9301
9302 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
9303
93042008-02-01 Kenichi Handa <handa@m17n.org>
9305
9306 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
9307 font_otf_gpos, add font_drive_otf.
9308
9309 * fontset.c (fontset_find_font): Pay attention to font size
9310 specified for a font.
9311 (reorder_font_vector): Check contents of font_def.
9312
9313 * font.c (struct otf_list): Delete it.
9314 (otf_list): Make it a lisp variable.
9315 (otf_open): Use lispy otf_list.
9316 (generate_otf_features): Rename from parse_gsub_gpos_spec.
9317 (check_otf_features): New function.
9318 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
9319 New functions.
9320 (font_drive_otf): New function merging font_otf_gsub and
9321 font_otf_gpos.
9322 (font_open_for_lface): New arg spec. Change argument order.
9323 (font_load_for_face): Adjust for the change of font_open_for_lface.
9324 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
9325 Ffont_otf_gpos.
9326 (syms_of_font): Staticpro otf_list. Delete defsubr of
9327 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
9328
9329 * xfaces.c (set_font_frame_param): Adjust for the change of
9330 font_open_for_lface.
9331
9332 * font.h (font_open_for_lface): Adjust prototype.
9333 (struct font_driver): Delete members otf_gsub and otf_gpos, add
9334 member otf_drive.
9335 (font_otf_gsub, font_otf_gpos): Delete externs.
9336 (font_drive_otf): Extern it.
9337
93382008-02-01 Kenichi Handa <handa@m17n.org>
9339
9340 * font.c (font_at): If the window W is not on a window system,
9341 return Qnil.
9342
9343 * coding.c (produce_chars, encode_coding): Don't call
9344 insert_from_gap if no characters to produce.
9345
93462008-02-01 Kenichi Handa <handa@m17n.org>
9347
9348 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
9349 Fclear_face_cache.
9350
9351 * xfaces.c (face_for_font): Check also face->font==font->font.font.
9352
93532008-02-01 Miles Bader <miles@gnu.org>
9354
9355 * emacs.c (main): Change default value of `enable_font_backend' to 1.
9356 Parse "--disable-font-backend" option.
9357 (standard_args): Add "--disable-font-backend" option.
9358
93592008-02-01 Kenichi Handa <handa@m17n.org>
9360
9361 * fontset.c (fontset_find_font): New function.
9362 (fontset_font): Use fontset_find_font.
9363 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
9364 Register the specified font for all Latin characters.
9365 (new_fontset_from_font): Register the specified font for all Latin
9366 characters.
9367 (dump_fontset): For a realized fontset, include the base fontset
9368 name in the returned vector.
9369
93702008-02-01 Kenichi Handa <handa@m17n.org>
9371
9372 * character.h (CHAR_STRING): Cast C to unsigned on calling
9373 char_string.
9374
9375 * character.c (char_string): Type of arg C changed to unsigned.
9376 Signal an error if C is an invalid character code.
9377
9378 * editfns.c (general_insert_function, Fchar_to_string):
9379 Use CHARACTERP, not INTEGERP.
9380
93812008-02-01 Kenichi Handa <handa@m17n.org>
9382
9383 * character.h (MIN_MULTIBYTE_LEADING_CODE)
9384 (MAX_MULTIBYTE_LEADING_CODE): New macros.
9385
9386 * regex.c (analyse_first): Fix for multibyte characters in "case
9387 charset:" and "case categoryspec:".
9388
93892008-02-01 Andreas Schwab <schwab@suse.de>
9390
9391 * Makefile.in (LIBES): Move standard libraries to the end.
9392
93932008-02-01 Kenichi Handa <handa@m17n.org>
9394
9395 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
9396 nonzero, don't shrink the buffer nextb.
9397
9398 * buffer.h (struct buffer_text): New member inhibit_shrinking.
9399
9400 * coding.c (coding_alloc_by_making_gap): New arg offset.
9401 (alloc_destination): Call coding_alloc_by_making_gap with the arg
9402 offset.
9403 (decode_coding_iso_2022): Update coding->safe_charsets.
9404 (decode_coding_gap): Temporarily set
9405 current_buffer->text->inhibit_shrinking to 1.
9406
94072008-02-01 Kenichi Handa <handa@m17n.org>
9408
9409 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
9410 indexing into elements of s->cmp and s->char2b.
9411
94122008-02-01 Juanma Barranquero <lekktu@gmail.com>
9413
9414 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
9415
94162008-02-01 Kenichi Handa <handa@m17n.org>
9417
9418 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
9419 target_multibyte instead of multibyte.
9420 (re_match_2_internal): Call bcmp_translate with target_multibyte.
9421 (bcmp_translate): Change the argument name from multibyte to
9422 target_multibyte.
9423
94242008-02-01 Kenichi Handa <handa@m17n.org>
9425
9426 These changes are to compile a regexp into a pattern that can be
9427 used both for multibyte and unibyte targets.
9428
9429 * Makefile.in (search.o): Depend on charset.h.
9430
9431 * character.c (multibyte_char_to_unibyte_safe): New function.
9432
9433 * search.c: Include "charset.h".
9434 (compile_pattern_1): Delete argument multibyte. Don't set
9435 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
9436 (compile_pattern): Don't compare cp->buf.target_multibyte.
9437 Compare cp->buf.charset_unibyte.
9438 (compile_pattern): Set cp->buf.target_multibyte.
9439
9440 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
9441
9442 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
9443
9444 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
9445 multibyte. Change callers.
9446 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
9447 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
9448 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
9449 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
9450 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
9451 (regex_compile): Make the compiled pattern usable both for
9452 multibyte and unibyte targets.
9453 (analyse_first): Make the fastmap usable both for multibyte and
9454 unibyte targets.
9455 (TRANSLATE_VIA_MULTIBYTE): Delete.
9456 (re_match_2_internal): Pay attention to the case that the
9457 multibyteness of bufp and target may be different.
9458
94592008-02-01 Kenichi Handa <handa@m17n.org>
9460
9461 * xdisp.c (x_produce_glyphs): When a font is not found, make the
9462 empty box occupy at least one column width.
9463
94642008-02-01 Miles Bader <miles@gnu.org>
9465
9466 * Makefile.in: Remove redundant HAVE_XFT clause.
9467
94682008-02-01 Kenichi Handa <handa@m17n.org>
9469
9470 * xrdb.c (x_load_resources): Setup the default fontSet X resource.
9471
94722008-02-01 Kenichi Handa <handa@m17n.org>
9473
9474 * fontset.c (Finternal_char_font): Fix for the case of POSITION
9475 being nil.
9476
94772008-02-01 Kenichi Handa <handa@m17n.org>
9478
9479 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
9480
94812008-02-01 Kenichi Handa <handa@m17n.org>
9482
9483 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
9484
94852008-02-01 Kenichi Handa <handa@m17n.org>
9486
9487 * search.c (simple_search): Fix previous change.
9488
94892008-02-01 Kenichi Handa <handa@m17n.org>
9490
9491 * xftfont.c (ftfont_font_format): Extern declaration.
9492
9493 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
9494
9495 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
9496 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
9497
9498 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
9499 (ftfont_font_format): Fix previous change.
9500
9501 * font.h (Ffont_xlfd_name): EXFUN it.
9502
9503 * font.c (font_parse_xlfd): Fix the array size of `f'.
9504 (register_font_driver): Use EQ to compare driver->type.
9505
9506 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
9507 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
9508 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
9509
95102008-02-01 Kenichi Handa <handa@m17n.org>
9511
9512 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
9513 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
9514
95152008-02-01 Kenichi Handa <handa@m17n.org>
9516
9517 * xfont.c (xfont_open): Set font->format.
9518
9519 * xftfont.c (xftfont_open): Set font->format.
9520
9521 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
9522 (ftfont_list): Include FC_FONTFORMAT in FcObject.
9523 (ftfont_open): Set font->format.
9524 (ftfont_font_format): New function.
9525
9526 * font.h (struct font): New member format.
9527
9528 * font.c (Qopentype): New variable.
9529 (syms_of_font): Defsym it.
9530 (Fquery_font): Change the format of the last element of the return
9531 value.
9532
95332008-02-01 Kenichi Handa <handa@m17n.org>
9534
9535 * xfns.c (xic_create_xfontset): Try the default fontset name as a
9536 last resort.
9537
95382008-02-01 Kenichi Handa <handa@m17n.org>
9539
9540 * coding.c (detect_coding_charset): Fix detection of multi-byte
9541 charset.
9542
95432008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
9544
9545 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
9546
95472008-02-01 Kenichi Handa <handa@m17n.org>
9548
9549 * xdisp.c (get_next_display_element): Set it->face_id for the
9550 first component of a composition.
9551 (x_produce_glyphs): Check if the font is changed or not for composition.
9552
95532008-02-01 Kenichi Handa <handa@m17n.org>
9554
9555 * fontset.c (Qlatin): New variable.
9556 (syms_of_fontset): Define it as a lisp symbol.
9557 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
9558
95592008-02-01 Kenichi Handa <handa@m17n.org>
9560
9561 * font.c (font_unparse_fcname): Pay attention to the case that
9562 some of font property is a null string.
9563
95642008-02-01 Kenichi Handa <handa@m17n.org>
9565
9566 * term.c: Include "composite.h".
9567 (encode_terminal_code): Output all components of composition.
9568 Check the size of encode_terminal_src.
9569 (produce_glyphs): For composition, call produce_composite_glyph.
9570 (append_composite_glyph, produce_composite_glyph): New functions.
9571
9572 * xdisp.c (x_produce_glyphs): In handling composition, if a font
9573 is not found, get font_info from the current ascii face.
9574
95752008-02-01 Kenichi Handa <handa@m17n.org>
9576
9577 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
9578 buffer-file-name to Qnil before calling insert_from_buffer.
9579
9580 * font.c (font_unparse_fcname): Pay attention to the case that
9581 foundry is a null string.
9582
95832008-02-01 Kenichi Handa <handa@m17n.org>
9584
9585 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
9586
9587 * font.c (Qunicode_sip): New variable.
9588 (syms_of_font): Declare it as a Lisp symbol.
9589
9590 * font.h (Qunicode_sip): Extern it.
9591
95922008-02-01 Kenichi Handa <handa@m17n.org>
9593
9594 * composite.c (get_composition_id): Pay attention to TAB component.
9595
9596 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
9597 TAB. Adjust for the change of s->char2b which always points to
9598 the first element of allocated memory.
9599
9600 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
9601
9602 * xdisp.c (handle_composition_prop): Set it->c to the first
9603 non-TAB component.
9604 (fill_composite_glyph_string): Change argument.
9605 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
9606 (x_produce_glyphs): Fix handling of left/right padding.
9607
96082008-02-01 Kenichi Handa <handa@m17n.org>
9609
9610 * coding.c (detect_coding_system): Fix for handling off
9611 inhibit_iso_escape_detection. Fix for the case that no coding
9612 system is defined for a specific coding category.
9613
96142008-02-01 Kenichi Handa <handa@m17n.org>
9615
9616 * font.c (font_matching_entity): Delete unused local var.
9617
9618 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
9619 opening a font.
9620
9621 * fileio.c (Finsert_file_contents): On recovering a file, assume
9622 Unix-like eol.
9623 (choose_write_coding_system): On auto-saving a file, force
9624 Unix-like eol.
9625
9626 * coding.c (setup_coding_system): Fix setting of
9627 coding->common_flags based on eol_type.
9628 (coding_inherit_eol_type): If PARENT is not nil, be sure to
9629 inherit from it.
9630
96312008-02-01 Kenichi Handa <handa@m17n.org>
9632
9633 * alloc.c (NSTATICS): Increas to 0x600.
9634
96352008-02-01 Kenichi Handa <handa@m17n.org>
9636
9637 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
9638 (ftfont_list): Don't check :name property.
9639 (ftfont_match): New function.
9640 (ftfont_pattern_entity): If the pattern doesn't contain
9641 FC_SPACING, don't assume FC_MONO.
9642
9643 * font.h (struct font_driver): New member `match'.
9644 (font_update_drivers): Adjust prototype.
9645
9646 * font.c (font_parse_fcname, font_parse_name): Don't change :name
9647 property of FONT.
9648 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
9649 them unconditionally.
9650 (font_matching_entity): New function.
9651 (font_open_by_name): Try font_matching_entity if exact match is
9652 not found.
9653 (font_update_drivers): Delete the arg FONT. Return a list of
9654 actually used backends. Don't free faces, font caches here.
9655 Don't store data in frame parameters. Don't call x_set_font.
9656 (Ffont_spec): Store :name property as is.
9657 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
9658 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
9659 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
9660 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
9661 Call font->driver->otf_gsub instead of font_otf_gsub.
9662
9663 * frame.c (x_set_font_backend): Do more works that were done in
9664 font_update_drivers before.
9665
9666 * xfont.c (xfont_match): New function.
9667 (xfont_driver): Set xfont_driver.match to xfont_match.
9668 (xfont_draw): Set font in GC if necessary.
9669
9670 * ftxfont.c (ftxfont_match): New function.
9671 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
9672
9673 * xftfont.c (xftfont_match): New function.
9674 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
9675
96762008-02-01 Kenichi Handa <handa@m17n.org>
9677
9678 * font.h (struct font): New member scalable.
9679 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
9680 (font_otf_gsub): Adjust prototype.
9681
9682 * font.c (font_otf_capability): Fix handling of the default langsys.
9683 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
9684 Check the contents of SPEC.
9685 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
9686 (check_gstring): New function.
9687 (REPLACEMENT_CHARACTER): New macro.
9688 (font_otf_gsub): New arg alternate_subst. Be sure to set all
9689 glyph codes of GSTRING.
9690 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
9691 (font_prepare_composition): Set cmp->glyph_len.
9692 (font_open_entity): Set font->scalable.
9693 (Ffont_get): Handle :otf property.
9694 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
9695 functions.
9696 (Fquery_font): Use font->font.full_name.
9697 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
9698 Sfont_otf_alternates.
9699
9700 * ftfont.c (ftfont_open): Set font->font.full_name and
9701 font->font.name properly. Fix calculation of font->font.height
9702 and font->min_width.
9703
9704 * ftxfont.c (ftxfont_create_gcs): New function.
9705 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
9706 (ftxfont_draw_backgrond): Fix filling region.
9707 (ftxfont_default_fid): New function.
9708 (ftxfont_open): Set xfont->fid to the return value of
9709 ftxfont_default_fid.
9710 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
9711 (ftxfont_done_face): Free only GCs that are created by
9712 ftxfont_create_gcs.
9713 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
9714
9715 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
9716 Clip to src->width, etc (not src->clip_XXX).
9717
9718 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
9719 FontBackend frame parameter.
9720
97212008-02-01 Kenichi Handa <handa@m17n.org>
9722
9723 * font.h (struct font_driver_list): New member `on'.
9724 (Fclear_font_cache): EXFUN it.
9725 (font_update_drivers): Extern it.
9726
9727 * font.c (font_unparse_fcname): Fix typo (swidth->width).
9728 (font_list_entities): Check driver_list->on.
9729 (register_font_driver): Initalize `on' member to 0.
9730 (font_update_drivers): New function.
9731 (Fclear_font_cache): Check driver_list->on.
9732
9733 * frame.h (Qfont_backend): Extern it.
9734 (x_set_font_backend): Extern it.
9735
9736 * frame.c (Qfont_backend): New variable.
9737 (frame_parms): New element for font-backend.
9738 (x_set_font_backend): New function.
9739
9740 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
9741 FontBackend frame parameter.
9742 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
9743 x_set_font_backend.
9744
9745 * xfont.c (xfont_list): Don't try listing by :name property if the
9746 name is not for XLFD.
9747
97482008-02-01 Kenichi Handa <handa@m17n.org>
9749
9750 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
9751 (LGLYPH_SET_TO): New macros.
9752 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
9753 element of G is vector or not.
9754 (font_at): Extern it.
9755
9756 * font.c: Include window.h.
9757 (font_lispy_object): New function.
9758 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
9759 end of valid glyph.
9760 (font_close_object): Fix getting (struct font *).
9761 (font_at): New function.
9762 (Ffont_get): If FONT is a font-object, get entity from it.
9763 (Ffont_make_gstring): Initialize elements of glyphs with nil.
9764 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
9765 range check.
9766 (Ffont_at): New function.
9767 (syms_of_font): Defsubr Sfont_at.
9768
9769 * xdisp.c (it_props): Move the entry for Qauto_composed to just
9770 before the entry for Qcomposition.
9771 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
9772 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
9773 the font in gstring.
9774 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
9775 LGLYPH_FORM (g) to detect the end of valid glyph.
9776 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
9777 we are composing with gstring.
9778
9779 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
9780 Check if adjustment is vector or not.
9781
9782 * Makefile.in (font.o): Make it depends on window.h.
9783
97842008-02-01 Kenichi Handa <handa@m17n.org>
9785
9786 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
9787 adjustment is vector or not.
9788
97892008-02-01 Miles Bader <miles@gnu.org>
9790
9791 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
9792
97932008-02-01 Kenichi Handa <handa@m17n.org>
9794
9795 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
9796 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
9797 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
9798
9799 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
9800 (DEVICE_DELTA): Fix typo.
9801 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
9802 LGLYPH format.
9803
9804 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
9805 the change of LGLYPH format.
9806
98072008-02-01 Kenichi Handa <handa@m17n.org>
9808
9809 * ftfont.c (ftfont_list): Fix typo.
9810 (ftfont_build_basic_charsets): Don't include letters with diacritics.
9811
98122008-02-01 Jan Djärv <jan.h.d@swipnet.se>
9813
9814 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
9815
9816 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
9817 xftface_info is non-NULL.
9818
98192008-02-01 Jan Djärv <jan.h.d@swipnet.se>
9820
9821 * ftfont.c (ftfont_list): Move misplaced #endif.
9822
98232008-02-01 Kenichi Handa <handa@m17n.org>
9824
9825 * ftfont.c (ftfont_list): Pay attention to the case that
9826 FC_CAPABILITY is not defined.
9827
98282008-02-01 Kenichi Handa <handa@m17n.org>
9829
9830 * xftfont.c (xftfont_open): Set charset related members to -1.
9831
9832 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
9833 QCname.
9834 (ftfont_open): Set charset related members to -1.
9835
9836 * fontset.c (Votf_script_alist): New variable.
9837 (syms_of_fontset): Initialize it.
9838 (fontset_font): Delete unused variable.
9839
9840 * fontset.h (Votf_script_alist): Extern it.
9841
9842 * font.c (font_find_for_lface): Optimize code.
9843
9844 * font.h (font_close_object, font_merge_old_spec): Extern them.
9845
98462008-02-01 Kenichi Handa <handa@m17n.org>
9847
9848 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
9849 (syms_of_font): Initialize them.
9850 (font_pixel_size): Allow float value in dpi.
9851 (font_prop_validate_type): Delete.
9852 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
9853 Change caller.
9854 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
9855 (font_prop_validate_extra): Delete.
9856 (font_prop_validate_spacing): New function.
9857 (font_property_table): Add elements for all known properties.
9858 (get_font_prop_index): Rename from check_font_prop_name. New
9859 argument FROM. Change caller.
9860 (font_prop_validate): Validate all known properties.
9861 (font_put_extra): Delete argument force. Change caller.
9862 (font_expand_wildcards): Make it static. Fix the way of shrinking
9863 the possible range.
9864 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
9865 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
9866 Change caller.
9867 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
9868 (font_parse_fcname): Delete argument merge. Fix parsing of point
9869 size. Don't validate properties values here. Change caller.
9870 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
9871 (font_open_by_name): Delete unused variable.
9872 (Ffont_spec): Likewise. Validate property values.
9873 (Ffont_match_p): New function.
9874
9875 * font.h (QCscalable): Extern it.
9876 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
9877
9878 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
9879
9880 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
9881 (xfont_list_pattern): New function.
9882 (xfont_list): Use xfont_list_pattern.
9883
98842008-02-01 Kenichi Handa <handa@m17n.org>
9885
9886 * font.h (Flist_fonts): EXFUN it.
9887
98882008-02-01 Jason Rumney <jasonr@gnu.org>
9889
9890 * w32term.c (w32_initialize): Add back smoothing_type and
9891 smoothing_enabled definitions.
9892
98932008-02-01 Kenichi Handa <handa@m17n.org>
9894
9895 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
9896 s->face->font on determining underline position.
9897
98982008-02-01 Kenichi Handa <handa@m17n.org>
9899
9900 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
9901 (font_has_char): Accept font-object too.
9902 (font_find_for_lface): Try at first with a size specified in face.
9903
99042008-02-01 Kenichi Handa <handa@m17n.org>
9905
9906 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
9907 font_open_by_name.
9908
99092008-02-01 Kenichi Handa <handa@m17n.org>
9910
9911 * font.h (QCspacing, QCdpi): Extern them.
9912 (enum font_spacing): New enum.
9913 (FONT_PIXEL_SIZE_QUANTUM): New macro.
9914
9915 * font.c (POINT_TO_PIXEL): Don't divide POINT by 10.
9916 (QCspacing, QCdpi): New variables.
9917 (syms_of_font): Initialize them.
9918 (font_pixel_size): New function.
9919 (font_put_extra): New function.
9920 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
9921 in FONT_EXTRA.
9922 (font_parse_fcname): Handle enumerated values (e.g. bold).
9923 Fix handling font size. Add QCname property that contains only
9924 unknown properties.
9925 (font_score): Change argument. Change caller. Pay attention to
9926 FONT_PIXEL_SIZE_QUANTUM.
9927 (font_sort_entites, font_list_entities, font_find_for_lface)
9928 (font_open_for_lface, font_open_by_name): Fix handling of font size.
9929 (Ffont_spec): Add QCname property that contains only unknown properties.
9930
9931 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
9932 include weight in listing pattern, instead check weight of each
9933 listed font. Don't include scalable in pattern. Pay attention to
9934 FONT_PIXEL_SIZE_QUANTUM.
9935
99362008-02-01 Kenichi Handa <handa@m17n.org>
9937
9938 * font.c (font_parse_fcname): Fix parsing of point-size.
9939 (font_unparse_fcname): Produce symbolic names for style properties.
9940 (font_list_entities): Handle float size correctly.
9941 (font_open_by_name): Prefer `normal' property values if the name
9942 doesn't specify them.
9943
9944 * fontset.c (Finternal_char_font): Use font_get_name, not
9945 Ffont_xlfd_name.
9946
9947 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
9948 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
9949 pattern. Don't force scalable.
9950
9951 * xftfont.c (xftfont_open): For generating a name, start from
9952 96-byte buffer.
9953
99542008-02-01 Jan Djärv <jan.h.d@swipnet.se>
9955
9956 * frame.h (x_new_fontset2): Fix prototype.
9957
99582008-02-01 Kenichi Handa <handa@m17n.org>
9959
9960 * font.h (struct font_driver): Delete member parse_name.
9961 (font_match_p, font_get_spec, font_parse_fcname)
9962 (font_unparse_fcname): Extern them.
9963 (font_get_name): Adjust prototype.
9964
9965 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
9966 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
9967 (font_expand_wildcards): Fix handling ENCODING field. Avoid
9968 unnecessary checks for weight, slant, and swidth.
9969 (font_parse_fcname): New function.
9970 (font_unparse_fcname): New function.
9971 (font_parse_name): New function.
9972 (font_match_p): New function.
9973 (font_get_name): Change return value to Lisp string.
9974 (font_get_spec): New function.
9975 (Qunspecified, Qignore_defface): Don't extern them.
9976 (font_find_for_lface): Assume that LFACE is fully specified.
9977 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
9978 object, use it for FACE.
9979 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
9980 driver->parse_name.
9981 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
9982
9983 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
9984 prototype.
9985
9986 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
9987 argument F. Don't call Fnew_fontset. Instead, directly call
9988 make_fontset.
9989
9990 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
9991
9992 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
9993 of x_new_fontset2.
9994
9995 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
9996 (Qsans__serif): New variables.
9997 (ftfont_generic_family_list): New variable.
9998 (syms_of_ftfont): Initialize the above variables.
9999 (ftfont_pattern_entity): Delete argument NAME.
10000 (ftfont_list_generic_family): New function.
10001 (ftfont_parse_name): Delete this function.
10002 (ftfont_list): Try generic family only when FcFontList found no font.
10003 (ftfont_list_family): Fix args to FcObjectSetBuild.
10004
10005 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
10006 object in attrs[LFACE_FONT_INDEX].
10007 (set_lface_from_font_name): Cancel all changes for font-backend.
10008 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
10009 function.
10010 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
10011 font object in QCfont attribute.
10012 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
10013 (realize_default_face) [USE_FONT_BACKEND]: Call
10014 set_lface_from_font_and_fontset.
10015
10016 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
10017 "fixed", and signal error here if no suitable font was found.
10018
10019 * xfont.c (xfont_parse_name): Delete this function.
10020
10021 * xftfont.c (xftfont_open): Change coding style of error
10022 handling. Generate fontconfig's fontname pattern.
10023
10024 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
10025 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
10026
10027 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
10028 Both args FONTSET and FONT_OBJECT must be existing ones.
10029
100302008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10031
10032 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
10033
100342008-02-01 Kenichi Handa <handa@m17n.org>
10035
10036 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
10037
10038 * font.h (struct font): Fix typo.
10039
10040 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
10041 XLFD_XXX_INDEX.
10042 (enum xlfd_field_mask): New enum.
10043 (intern_font_field): Changed argument. Change caller. If digits
10044 are followed by non-digits, return a symbol.
10045 (font_expand_wildcards): New function.
10046 (font_parse_xlfd): Fix wildcard handling.
10047 (Ffont_spec): If :name is specified, reflect the info in the other
10048 properties.
10049
10050 * ftfont.c (ftfont_pattern_entity): Fix typo.
10051 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
10052 locale.
10053
100542008-02-01 Kenichi Handa <handa@m17n.org>
10055
10056 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
10057
10058 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
10059 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
10060 registry doesn't specify encoding part.
10061 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
10062 (font_open_by_name): At first try parsing the name.
10063 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
10064 as Lisp symbols.
10065
10066 * fontset.c (reorder_font_vector): Pay attention to the case that
10067 the 3rd element of font_def is nil.
10068 (fontset_font): For the default fontset, append one more fontset
10069 elements for a script-based font specification. Don't add script
10070 attribute on finding a font.
10071 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
10072 font name.
10073 (fontset_ascii_font): If a font can't be opened, return nil.
10074
10075 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
10076 (ftfont_pattern_entity): New function.
10077 (ftfont_get_cache): Assume that freetype_font_cache is already
10078 initialized.
10079 (ftfont_list): Handle the case that a file is specified in font
10080 name. Use ftfont_pattern_entity to generate entities.
10081 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
10082 (syms_of_ftfont): Initialize freetype_font_cache.
10083
10084 * xftfont.c (xftfont_open): Make the font name fontconfig's
10085 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
10086 (xftfont_close): Free font->font.name if not NULL.
10087
10088 * xfont.c (xfont_list): If script is specified for a font, return
10089 null_vector.
10090 (xfont_list_family): Declare argument type.
10091
10092 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
10093 name, set LFACE_FONT (lface) to nil.
10094
10095 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
10096 return Qnil.
10097
100982008-02-01 Kenichi Handa <handa@m17n.org>
10099
10100 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
10101 (standard_args): Add "-enable-font-backend".
10102
101032008-02-01 Kenichi Handa <handa@m17n.org>
10104
10105 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
10106 (struct xftdraw_list, xftdraw_list): Delete them.
10107 (register_xftdraw, check_xftdraw): Delete them.
10108 (xftfont_prepare_face): Don't call register_xftdraw.
10109 (xftfont_done_face): Don't call check_xftdraw.
10110 (xftfont_draw): Get background color only when with_background is
10111 nonzero.
10112
10113 * xfont.c (xfont_encode_char): Fix calculation of char2b.
10114
101152008-02-01 Kenichi Handa <handa@m17n.org>
10116
10117 These changes are for the new font handling codes.
10118
10119 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
10120 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
10121 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
10122 (FONTSRC, FONTOBJ): New variables.
10123 (obj): Add $(FONTOBJ).
10124 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
10125 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
10126 @LIBOTF_LIBS@.
10127 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
10128 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
10129
10130 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
10131
10132 * character.h (Vscript_representative_chars): Extern it.
10133
10134 * character.c (Vscript_representative_chars): New variable.
10135 (syms_of_character): Declare it as a Lisp variable.
10136
10137 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
10138 enable_font_backend is nonzero, accept the composition method
10139 COMPOSITION_WITH_GLYPH_STRING.
10140
10141 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
10142 enumeration COMPOSITION_WITH_GLYPH_STRING.
10143
10144 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
10145 members clip_x, clip_y, clip_width, and clip_height.
10146 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
10147
10148 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
10149 --enable-font-backend. Call syms_of_font.
10150
10151 * fns.c (assoc_no_quit): New function.
10152
10153 * fontset.h (FONT_INFO_FROM_FACE): New macro.
10154 (face_for_font, new_fontset_from_font)
10155 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
10156
10157 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
10158 (fontset_font, fontset_ascii, face_for_char)
10159 (make_fontset_for_ascii_face, Ffont_info)
10160 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
10161 is nonzero, use font-backend mechanism.
10162 (find_font_encoding): Make it non-static.
10163 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
10164 New functions.
10165
10166 * frame.h (struct frame): New members resx and resy.
10167 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
10168 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
10169
10170 * frame.c [USE_FONT_BACKEND]: Include "font.h".
10171 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
10172
10173 * lisp.h (assoc_no_quit): Extern it.
10174
10175 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
10176 Through out the file, use FONT_INFO_FROM_FACE instead of
10177 FONT_INFO_FROM_ID, use get_per_char_metric instead of
10178 rif->per_char_metric.
10179 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
10180 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
10181 (get_glyph_face_and_encoding, fill_composite_glyph_string)
10182 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
10183 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
10184 nonzero, use font-backend mechanism.
10185 (get_per_char_metric): New function.
10186
10187 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
10188 (set_lface_from_font_name)
10189 (set_font_frame_param, free_realized_face)
10190 (prepare_face_for_display, clear_face_gcs)
10191 (Finternal_set_font_selection_order, realize_x_face)
10192 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
10193 font-backend mechanism.
10194 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
10195 (load_face_font) [USE_FONT_BACKEND]: Abort.
10196 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
10197 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
10198
10199 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
10200 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
10201 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
10202 nonzero, register all available font drivers. Call
10203 x_default_font_parameter for deciding a font.
10204 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
10205
10206 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
10207 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
10208 (x_set_glyph_string_clipping_exactly)
10209 (x_compute_glyph_string_overhangs)
10210 (x_draw_glyph_string_foreground)
10211 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
10212 (x_free_frame_resources) [USE_FONT_BACKEND]: If
10213 enable_font_backend is nonzero, use font-backend mechanism.
10214 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
10215
102162008-02-01 Kenichi Handa <handa@m17n.org>
10217
10218 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
10219 system_eol_type.
10220 (syms_of_coding): Initialize system_eol_type.
10221
10222 * process.c (Fset_process_coding_system): Inherit system's eol
10223 format if necessary.
10224
102252008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10226
10227 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
10228
102292008-02-01 Kenichi Handa <handa@m17n.org>
10230
10231 * coding.c (decode_eol): Pay attention to buffer relocation in
10232 del_range_2.
10233 (decode_coding): Call decode_eol before restoring undo_list.
10234
102352008-02-01 Kenichi Handa <handa@m17n.org>
10236
10237 * charset.c (Fdefine_charset_internal): Fix setting of
10238 emacs_mule_bytes.
10239
102402008-02-01 Kenichi Handa <handa@m17n.org>
10241
10242 * keyboard.c (read_char): Check if C is a character or not before
10243 looking up Vkeyboard_translate_table.
10244
102452008-02-01 Kenichi Handa <handa@m17n.org>
10246
10247 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
10248 condition to terminate the loop.
10249
102502008-02-01 Kenichi Handa <handa@m17n.org>
10251
10252 * coding.c (produce_composition): Compare charbuf[i] instead of
10253 args[i] against 0.
10254 (Fterminal_coding_system): Use EQ to compare Lisp objects.
10255
102562008-02-01 Kenichi Handa <handa@m17n.org>
10257
10258 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
10259 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
10260 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
10261 detect_coding.
10262 (emacs_mule_char): Handle old style (Emacs 20) component character
10263 of a composition.
10264 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
10265 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
10266 composition rule.
10267 (decode_coding_emacs_mule): Handle invalid bytes correctly.
10268
102692008-02-01 Kenichi Handa <handa@m17n.org>
10270
10271 * coding.c (encode_coding_ccl): Allocate destination dynamically
10272 when necessary.
10273
102742008-02-01 Kenichi Handa <handa@m17n.org>
10275
10276 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
10277 the loop. When quitted, show a proper error message.
10278
102792008-02-01 Kenichi Handa <handa@m17n.org>
10280
10281 * xterm.c (x_set_glyph_string_clipping_exactly): Set
10282 src->clip_head and src->clip_tail temporarily instead of src->hl.
10283
10284 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
10285 character sequence.
10286 (Fccl_execute_on_string): Use ASET, not XSET.
10287
102882008-02-01 Kenichi Handa <handa@m17n.org>
10289
10290 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
10291
102922008-02-01 Kenichi Handa <handa@m17n.org>
10293
10294 * coding.c (decode_coding): Fix the condition of terminating the
10295 decoding loop.
10296
102972008-02-01 Kenichi Handa <handa@m17n.org>
10298
10299 * data.c (Faset): On setting a character bigger than 255 in a
10300 unibyte string, signal an error instead of make the string multibyte.
10301
103022008-02-01 Kenichi Handa <handa@m17n.org>
10303
10304 * charset.c (map_charset_chars): Fix for ascii-compatible charset
10305 made by a mapping table.
10306
103072008-02-01 Kenichi Handa <handa@m17n.org>
10308
10309 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
10310 not.
10311 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
10312 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
10313
10314 * xterm.c (x_draw_composite_glyph_string_foreground): Check
10315 s->face is NULL or not.
10316
103172008-02-01 Kenichi Handa <handa@m17n.org>
10318
10319 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
10320 (x_draw_glyph_string): Fix drawing of right_overhang and
10321 left_overhang around/on cursor.
10322
10323 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
10324
103252008-02-01 Kenichi Handa <handa@m17n.org>
10326
10327 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
10328
103292008-02-01 Kenichi Handa <handa@m17n.org>
10330
10331 * coding.c (Fdefine_coding_system_internal)
10332 (Fdefine_coding_system_alias): Avoid a duplicated element in
10333 Vcoding_system_alist.
10334
103352008-02-01 Kenichi Handa <handa@m17n.org>
10336
10337 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
10338
10339 * coding.c (Qcoding_system_define_form): New variable.
10340 (syms_of_coding): Intern and staticpro it.
10341 (Fcoding_system_p): Check Qcoding_system_define_form.
10342 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
10343
10344 * coding.h (CODING_SYSTEM_P): If ID is not available, call
10345 Fcoding_system_p.
10346 (CHECK_CODING_SYSTEM): If ID is not available, call
10347 Fcheck_coding_system.
10348 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
10349 Try also Fcheck_coding_system.
10350
103512008-02-01 Kenichi Handa <handa@m17n.org>
10352
10353 * coding.c (code_conversion_restore): GCPRO arg.
10354
103552008-02-01 Kenichi Handa <handa@m17n.org>
10356
10357 * character.c (lisp_string_width): Check multibyteness of STRING.
10358
103592008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10360
10361 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
10362 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
10363 (decode_mac_font_name): Use decode_coding_c_string instead of
10364 decode_coding.
10365 (x_load_font): Initialize fontp->fontset to -1. Set
10366 fontp->encoding_type.
10367
103682008-02-01 Kenichi Handa <handa@m17n.org>
10369
10370 * search.c (search_buffer): Give up BM search on case-fold-search
10371 if one of a target character has a case-equivalence of different
10372 byte length even if that target charcter is an ASCII.
10373 (simple_search): Fix calculation of byte length of matched text.
10374 (boyer_moore): Fix handling of case-equivalent multibyte characters.
10375
103762008-02-01 Kenichi Handa <handa@m17n.org>
10377
10378 * coding.c (decode_coding): Fix handling of invalid bytes.
10379
103802008-02-01 Kenichi Handa <handa@m17n.org>
10381
10382 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
10383 Unicode characters.
10384
103852008-02-01 Kenichi Handa <handa@m17n.org>
10386
10387 * coding.c (encode_coding_object): If a pre-write-conversion
10388 function makes a new buffer, kill it.
10389
103902008-02-01 Kenichi Handa <handa@m17n.org>
10391
10392 * coding.c (QCascii_compatible_p): New variable.
10393 (syms_of_coding): Initialize it.
10394 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
10395 calling string_char.
10396 (record_conversion_result): Add `default:' case.
10397 (coding_charset_list): Delete unused variable `coding_type'.
10398 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
10399 property in the plist of the coding system.
10400 (Fcoding_system_put): Check QCascii_compatible_p.
10401
104022008-02-01 Miles Bader <miles@gnu.org>
10403
10404 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
10405 removed calculation of frame `f', as it's now used.
10406
104072008-02-01 Kenichi Handa <handa@m17n.org>
10408
10409 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
10410 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
10411 (UNIDATA): New variable.
10412 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
10413 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
10414 $(RUN_TEMACS) unconditionally.
10415
104162008-02-01 Kenichi Handa <handa@m17n.org>
10417
10418 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
10419 (admindir): New variable.
10420 ($(lispsource)international/charprop.el): New target.
10421
104222008-02-01 Miles Bader <miles@gnu.org>
10423
10424 * character.c (chars-in-region): Remove obsolete function.
10425 (syms_of_character): Remove its initialization.
10426
104272008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
10428
10429 * w32select.c (validate_coding_system)
10430 (setup_windows_coding_system): New functions.
10431 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
10432 setup_windows_coding_system.
10433 (setup_config, Fw32_get_clipboard_data): Use
10434 validate_coding_system.
10435 (Fx_selection_exists): Move call to setup_config to a place
10436 where signals are allowed.
10437
10438 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
10439 (Fcheck_coding_system): Add declarations.
10440
104412008-02-01 Kenichi Handa <handa@m17n.org>
10442
10443 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
10444
104452008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10446
10447 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
10448 string as the second argument for x_new_fontset.
10449
104502008-02-01 Kenichi Handa <handa@m17n.org>
10451
10452 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
10453 (encode_coding_object): Use safe_call instead of call2.
10454
104552008-02-01 Kenichi Handa <handa@m17n.org>
10456
10457 * fontset.c (Fset_fontset_font): Check family element of a given vector.
10458
10459 * Makefile.in (lisp): Include charprop.el.
10460
104612008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10462
10463 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
10464 Not sure if it's unnecessary.
10465
104662008-02-01 Steven Tamm <steventamm@mac.com>
10467
10468 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
10469 some possibly unnecessary fontset checking code that crashed
10470 when creating a new frame.
10471
104722008-02-01 Kenichi Handa <handa@m17n.org>
10473
10474 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
10475 lookup_face.
10476
10477 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
10478
10479 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
10480
104812008-02-01 Kenichi Handa <handa@m17n.org>
10482
10483 * coding.c: Cancel the change done in HEAD on 2008-02-01.
10484 (coding_charset_list): New function.
10485
10486 * coding.h (coding_charset_list): Extern it.
10487
104882008-02-01 Kenichi Handa <handa@m17n.org>
10489
10490 * fontset.c (Fset_fontset_font): Call find_font_encoding with
10491 concatenation of family and registry.
10492
104932008-02-01 Kenichi Handa <handa@m17n.org>
10494
10495 * character.h (BYTE8_STRING): Fix typo.
10496
10497 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
10498 string to multibyte (sync to HEAD).
10499
10500 * casefiddle.c (casify_region): Handle changes in byte-length
10501 using replace_range_2 (sync to HEAD).
10502
105032008-02-01 Andreas Schwab <schwab@suse.de>
10504
10505 * chartab.c (map_char_table): GCPRO table and arg.
10506
105072008-02-01 Kenichi Handa <handa@m17n.org>
10508
10509 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
10510 already at limit.
10511
105122008-02-01 Kenichi Handa <handa@m17n.org>
10513
10514 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
10515 instead of fast_c_string_match_ignore_case.
10516 (find_font_encoding): Change argument to Lisp_Object. Use
10517 fast_string_match_ignore_case instead of
10518 fast_c_string_match_ignore_case. Change caller.
10519
105202008-02-01 Kenichi Handa <handa@m17n.org>
10521
10522 * xdisp.c (get_next_display_element): In unibyte case, decide to
10523 display in octal form by checking a character by
10524 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
10525
10526 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
10527
10528 * character.c (unibyte_has_multibyte_table): New variable.
10529
10530 * character.h (unibyte_has_multibyte_table): Extern it.
10531 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
10532
105332008-02-01 Kenichi Handa <handa@m17n.org>
10534
10535 * coding.c (encode_coding_iso_2022): Fix handling of charset
10536 annotation.
10537
105382008-02-01 Kenichi Handa <handa@m17n.org>
10539
10540 * coding.c (setup_coding_system): If coding_system is nil, use
10541 Qundecided.
10542 (Fterminal_coding_system): Return nil if terminal coding system is
10543 `undecided'.
10544 (syms_of_coding): Define coding-system `undecided' here. Setup
10545 terminal_coding as `undecided'.
10546
105472008-02-01 Kenichi Handa <handa@m17n.org>
10548
10549 * xdisp.c (message_dolog, set_message_1): Call
10550 unibyte_char_to_multibyte with arg type int.
10551
10552 * lread.c (read1): Fix reading of a char-table.
10553
10554 * print.c (print_object): Include sub char-table in circularities
10555 detection.
10556
105572008-02-01 Kenichi Handa <handa@m17n.org>
10558
10559 * keymap.c (where_is_internal_2): Fix for the case that KEY is a cons.
10560 Append the found sequences in car of ARGS instead of prepending.
10561
105622008-02-01 Kenichi Handa <handa@m17n.org>
10563
10564 * fileio.c (report_file_error): Make a unibyte string from
10565 strerror (errorno).
10566 (Fsubstitute_in_file_name): Fix the arg to
10567 unibyte_char_to_multibyte. It is evaluated twice.
10568
105692008-02-01 Kenichi Handa <handa@m17n.org>
10570
10571 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
10572
105732008-02-01 Kenichi Handa <handa@m17n.org>
10574
10575 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
10576 BOM is not found.
10577 (detect_coding, detect_coding_system): Optimization for ISO-2022
10578 when no 8-bit data is found.
10579
105802008-02-01 Jason Rumney <jasonr@gnu.org>
10581
10582 * w32fns.c (x_to_w32_font): Update to use new coding struct.
10583
105842008-02-01 Kenichi Handa <handa@m17n.org>
10585
10586 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
10587 CHARS.
10588
105892008-02-01 Steven Tamm <steventamm@mac.com>
10590
10591 * macterm.c (mac_encode_char): Add charset argument and update
10592 to use encoding_type.
10593 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
10594 switch to pure fontset.
10595 (decode_mac_font_name): Temporarily remove decoding.
10596 (x_font_name_to_mac_font_name): Temporarily remove encoding.
10597 (x_load_font): Temporarily remove encoding.
10598
105992008-02-01 Kenichi Handa <handa@m17n.org>
10600
10601 * xfaces.c (Fface_font): If frame is not on a window system,
10602 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
10603 refer to face->font.
10604 (split_font_name_into_vector, build_font_name_from_vector)
10605 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
10606 when HAVE_WINDOW_SYSTEM is defined.
10607
106082008-02-01 Kenichi Handa <handa@m17n.org>
10609
10610 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
10611 (x_produce_glyphs): Fix setting of members of cmp in case
10612 cmp->glyph_len is zero.
10613
10614 * fontset.c (Fset_fontset_font): Fix docstring.
10615 (Ffontset_info): Make it backward compatible. New arg ALL.
10616
106172008-02-01 Kim F. Storm <storm@cua.dk>
10618
10619 * process.c (read_process_output): Grow decoding_buf when needed;
10620 this could cause a crash in allocate_string and compact_small_strings.
10621
106222008-02-01 Kenichi Handa <handa@m17n.org>
10623
10624 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
10625
106262008-02-01 Kenichi Handa <handa@m17n.org>
10627
10628 * coding.c (setup_coding_system): Set coding->common_flags
10629 correctly for raw-text.
10630 (consume_chars): On encoding unibyte text by raw-text, don't check
10631 multibyte form.
10632 (encode_coding): On encoding by raw-text, never use translation tables.
10633
10634 * fileio.c (e_write): Short cut for the case of no encoding.
10635
106362008-02-01 Kenichi Handa <handa@m17n.org>
10637
10638 * coding.c (detect_coding, detect_coding_system): Delete unused
10639 variables.
10640
106412008-02-01 Kenichi Handa <handa@m17n.org>
10642
10643 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
10644 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
10645
106462008-02-01 Kenichi Handa <handa@m17n.org>
10647
10648 * coding.c (Ffind_coding_systems_region_internal): Include
10649 raw-text and no-conversion in the result.
10650
106512008-02-01 Kenichi Handa <handa@m17n.org>
10652
10653 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
10654 (load_font_get_repertory): Delete unnecessary check of ENCODING of
10655 FONT_DEF.
10656 (font_def_arg, add_arg, from_arg, to_arg): New args.
10657 (set_fontset_font): Change argument.
10658 (Fset_fontset_font): Fix for the case that TARGET is a script
10659 name and charset name.
10660 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
10661
106622008-02-01 Kenichi Handa <handa@m17n.org>
10663
10664 * fontset.c (fontset_font): Rename from fontset_face. Change return
10665 value.
10666 (face_suitable_for_char_p, face_for_char): Adjust for the change
10667 of fontset_font.
10668 (make_fontset_for_ascii_face): Fix setting of the fontset element
10669 for ASCII.
10670 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
10671 to get a font name.
10672 (Ffontset_info): Adjust for the change of fontset_font.
10673
10674 * coding.c (emacs_mule_char): Check invalid code more rigidly.
10675
10676 * character.h (LEADING_CODE_LATIN_1_MIN)
10677 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
10678
106792008-02-01 Kenichi Handa <handa@m17n.org>
10680
10681 * editfns.c (check_translation): New function.
10682 (Ftranslate_region_internal): Handle M:N mapping.
10683
106842008-02-01 Kenichi Handa <handa@m17n.org>
10685
10686 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
10687
106882008-02-01 Kenichi Handa <handa@m17n.org>
10689
10690 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
10691 goto invalid_code.
10692 (decode_coding_iso_2022): Fix handling of invalid designation.
10693
10694 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
10695 after calling code_conversion_save.
10696
106972008-02-01 Kenichi Handa <handa@m17n.org>
10698
10699 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
10700
10701 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
10702
10703 * fontset.c: Include "intervals.h".
10704 (fontset_face): Fix comparing of Lisp_Objects.
10705 (free_face_fontset, new_fontset_from_font_name): Fix
10706 Lisp_Object/int mixup.
10707
10708 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
10709
10710 * coding.c: Add many prototypes for static functions.
10711 (get_translation_table): Allow max_lookup to be NULL.
10712 (decode_coding, Ffind_coding_systems_region_internal)
10713 (Funencodable_char_position, Fcheck_coding_systems_region): Call
10714 get_translation_table with max_lookup NULL.
10715
107162008-02-01 Kenichi Handa <handa@m17n.org>
10717
10718 * coding.c (get_translation_table): Declare it as Lisp_Object.
10719 (LOOKUP_TRANSLATION_TABLE): New macro.
10720 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
10721 instead of CHAR_TABLE_REF.
10722
107232008-02-01 Kenichi Handa <handa@m17n.org>
10724
10725 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
10726 annotation data format.
10727 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
10728 Change arguments FROM and TO to single argument NCHARS. Change caller.
10729 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
10730 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
10731 (decode_coding_ccl, decode_coding_charset): Pay attention to
10732 coding->charbuf_used.
10733 (get_translation): New function.
10734 (produce_chars): New arguments translation_table and last_block.
10735 Translate characters here. Return number of carryover chars.
10736 Change caller.
10737 (produce_composition): New argument pos. Change caller.
10738 Adjust for the change of annotation data format.
10739 (produce_charset, produce_annotation): Likewise.
10740 (decode_coding, encode_coding): Don't call translate_chars.
10741 (consume_chars): New arg translation_table. Change caller.
10742 (translate_chars): Delete.
10743 (syms_of_coding): Make translation-table's number of extra slots 2.
10744
107452008-02-01 Kenichi Handa <handa@m17n.org>
10746
10747 * search.c (simple_search): Fix setting this_pos_byte in backward
10748 search.
10749
10750 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
10751 byte sequence.
10752 (detect_coding_ccl): Fix setting of the variable valids.
10753
107542008-02-01 Kenichi Handa <handa@m17n.org>
10755
10756 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
10757
10758 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
10759
10760 * editfns.c (Ftranslate_region_internal): Rename from
10761 Ftranslate_region. Accept a char-table in TABLE.
10762 (syms_of_editfns): Defsubr Stranslate_region_internal.
10763
10764 * xfaces.c (set_lface_from_font_name): If a font is specified for
10765 a frame, generate a fontset from the font.
10766 (build_scalable_font_name): If the scalable font is requested for
10767 a specific size, don't change that size.
10768 (try_font_list): Try a scalable font also in the case that a
10769 pattern string is specified.
10770
107712008-02-01 Kenichi Handa <handa@m17n.org>
10772
10773 * xfaces.c (Fface_font): New optional arg CHARACTER.
10774
107752008-02-01 Kenichi Handa <handa@m17n.org>
10776
10777 * charset.h (CHARSET_OFFSET): New macro.
10778
107792008-02-01 Kenichi Handa <handa@m17n.org>
10780
10781 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
10782
10783 * fontset.c (fontset_face): Handle the case that repertory is a
10784 char-table.
10785 (find_font_encoding): Return nil for unknown encoding.
10786 (Fset_fontset_font): Ignore a font of unknown encoding.
10787
107882008-02-01 Kenichi Handa <handa@m17n.org>
10789
10790 * keymap.c (describe_vector): Handle default value of a char table.
10791
10792 * fontset.c (fontset_face): Handle fallback fonts correctly.
10793 (Ffontset_info): Return infomation about fallback fonts.
10794
107952008-02-01 Kenichi Handa <handa@m17n.org>
10796
10797 * fontset.c (FONTSET_DEFAULT): New macro.
10798 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
10799 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
10800 the case that it is nil.
10801 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
10802 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
10803
10804 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
10805 subset or superset.
10806
108072008-02-01 Kenichi Handa <handa@m17n.org>
10808
10809 * emacs.c (main): Call init_charset after syms_of_XXX.
10810
10811 * charset.c (Vcharset_map_directory): Delete.
10812 (Vcharset_map_path): New variable.
10813 (load_charset_map_from_file): Use Vcharset_map_path instead.
10814 (init_charset): Initialize Vcharset_map_path.
10815 (syms_of_charset): Delete declaration of "charset-map-directory",
10816 add declaration of "charset-map-path".
10817
108182008-02-01 Kenichi Handa <handa@m17n.org>
10819
10820 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
10821 ASCII only string.
10822
10823 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
10824
10825 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
10826 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
10827
108282008-02-01 Kenichi Handa <handa@m17n.org>
10829
10830 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
10831
10832 * coding.c (QCmnemonic, QCdefalut_char)
10833 (QCdecode_translation_table, QCencode_translation_table)
10834 (QCpost_read_conversion, QCpre_write_conversion): New variables.
10835 (get_translation_table): Return a list of translation tables if
10836 necessary.
10837 (decode_coding): Call get_translation_table with ENCODEP 0.
10838 (char_encodable_p): If translation_table is non-nil, always call
10839 translate_char.
10840 (Fdefine_coding_system_internal): Accept list of translation
10841 tables as :encode-translation-table and :decode-translation-table.
10842 (Fcoding_system_put): New function.
10843 (syms_of_coding): Declare new symbols. Defsubr
10844 Scoding_system_put.
10845 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
10846 typically JISX0212.
10847
10848 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
10849 when the charset is superset type.
10850
10851 * character.c (translate_char): Accept list of translation tables.
10852
108532008-02-01 Kenichi Handa <handa@m17n.org>
10854
10855 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
10856 (CODING_ATTR_TRANS_TBL): New macro.
10857
10858 * coding.c (get_translation_table): New function.
10859 (translate_chars): Fix the bug of skipping annotation data.
10860 (decode_coding, encode_coding): Utilize get_translation_table.
10861 (char_encodable_p, Funencodable_char_position): Translate char if
10862 necessary.
10863 (Ffind_coding_systems_region_internal)
10864 (Fcheck_coding_systems_region): Setup translation table for encode
10865 in a coding system attribute vector in advance.
10866 (Fdefine_coding_system_internal): Allow a symbol as translation
10867 table. For shift-jis type coding system, allow 4th charset.
10868
108692008-02-01 Kenichi Handa <handa@m17n.org>
10870
10871 * coding.c (decode_coding_sjis): Check the first byte rigidly.
10872
10873 * xdisp.c (get_next_display_element): Pass -1 as POS to
10874 FACE_FOR_CHAR if displaying a C-string.
10875
108762008-02-01 Kenichi Handa <handa@m17n.org>
10877
10878 * composite.c (get_composition_id): Handle xoff and yoff in a
10879 composition rule.
10880
10881 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
10882 (struct composition): New member lbearing and rbearing.
10883
10884 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
10885 (x_get_glyph_overhangs): Handle a composition glyph.
10886 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
10887
10888 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
10889 composition glyph.
10890
108912008-02-01 Kenichi Handa <handa@m17n.org>
10892
10893 * print.c: Include charset.h.
10894 (Vprint_charset_text_property): New variable.
10895 (Qdefault): Extern it.
10896 (PRINT_STRING_NON_CHARSET_FOUND)
10897 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
10898 (print_check_string_result): New variable.
10899 (print_check_string_charset_prop): New function.
10900 (print_prune_charset_plist): New variable.
10901 (print_prune_string_charset): New function.
10902 (print_object): Call print_prune_string_charset if
10903 Vprint_charset_text_property is not t.
10904 (print_interval): Print nothing if interval->plist is nil.
10905 (syms_of_print): Declare Vprint_charset_text_property as a lisp
10906 variable. Init and staticpro print_prune_charset_plist.
10907
109082008-02-01 Kenichi Handa <handa@m17n.org>
10909
10910 * fontset.c (new_fontset_from_font_name): Use the specified font
10911 for all characters in the new fontset.
10912
10913 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
10914 OBJECT args.
10915
10916 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
10917 OBJECT args for composition too.
10918
10919 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
10920 OBJECT args.
10921
109222008-02-01 Kenichi Handa <handa@m17n.org>
10923
10924 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
10925
10926 * fontset.c (reorder_font_vector): Adjust for the change of
10927 FONT_DEF format.
10928 (fontset_face): New arg id. Change caller.
10929 (face_for_char): New args pos and object.
10930 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
10931 (fs_query_fontset): Check NAME by Fassoc too.
10932 (Fset_fontset_font): Allow non-XLFD font name.
10933 (Ffontset_info): Adjust for the change of FONT_DEF format.
10934
10935 * fontset.h (face_for_char): Adjust prototype.
10936
10937 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
10938 (append_space, extend_face_to_end_of_line)
10939 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
10940 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
10941
10942 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
10943 POS and OBJECT args.
10944
10945 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
10946 POS and OBJECT args.
10947
109482008-02-01 Jason Rumney <jasonr@gnu.org>
10949
10950 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
10951 of GlobalAlloc'ed memory.
10952
109532008-02-01 Kenichi Handa <handa@m17n.org>
10954
10955 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
10956
10957 * charset.h (charset_table_used): Delete extern.
10958
10959 * charset.c (charset_table_used): Make it static.
10960 (map_charset_chars): Fix args to c_function with.
10961
10962 * chartab.c (map_sub_char_table_for_charset): Fix args to
10963 c_function with.
10964
10965 * coding.h (enum coding_result_code): Delete
10966 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
10967
10968 * coding.c (Qinsufficient_source, Qinconsistent_eol)
10969 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
10970 (Vlast_code_conversion_error): New variables.
10971 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
10972 (ONE_MORE_BYTE): Record error if any instead of signaling an
10973 error. If non-ASCII multibyte char is found, return the negative
10974 value of the code. All callers changed to check it.
10975 (ONE_MORE_BYTE_NO_CHECK): Likewise.
10976 (record_conversion_result): New function. Change all codes setting
10977 coding->result to call this function.
10978 (detect_coding_utf_8, decode_coding_utf_8)
10979 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
10980 Don't use the local variable incomplete.
10981 (emacs_mule_char): Change the second arg to `const'.
10982 (decode_coding): Fix of flushing out unprocessed data.
10983 (make_conversion_work_buffer): Fix making of a work buffer.
10984 (decode_coding_object): Return coding->dst_object.
10985
10986 * fontset.c (set_fontset_font): Fix args.
10987
10988 * lisp.h (CHARACTERBITS): Define as 22.
10989
10990 * process.c (send_process): Be sure to set coding->src_multibyte.
10991
10992 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
10993
109942008-02-01 Kenichi Handa <handa@m17n.org>
10995
10996 * xdisp.c (handle_auto_composed_prop): Give limit to
10997 Fnext_single_char_property_change.
10998
109992008-02-01 Kenichi Handa <handa@m17n.org>
11000
11001 * composite.c (syms_of_composite): Don't make the composition hash
11002 table weak.
11003
11004 * fontset.c (Fset_fontset_font): Fix docstring.
11005
11006 * lisp.h (detect_coding_system): Adjust prototype.
11007
11008 * fileio.c (kill_workbuf_unwind): Delete this function.
11009 (Finsert_file_contents): Adjust the call of detect_coding_system.
11010 Get conversion_buffer by code_conversion_save. Use the macro
11011 CODING_MAY_REQUIRE_DECODING. After decoding, update
11012 coding_system.
11013
11014 * coding.h (make_conversion_work_buffer): Delete extern.
11015 (code_conversion_save): Extern it.
11016
11017 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
11018 (CODING_GET_INFO): Delete argument eol_type. Change callers.
11019 (decode_coding_utf_8): Don't do eol converion.
11020 (detect_coding_utf_16): Check coding->src_chars, not
11021 coding->src_bytes. Add heuristics for those that have no signature.
11022 (decode_coding_emacs_mule, decode_coding_iso_2022)
11023 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
11024 Don't do eol converion.
11025 (adjust_coding_eol_type): Return a new coding system.
11026 (detect_coding): Don't detect eol. Fix for utf-16 detection.
11027 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
11028 each change.
11029 (decode_coding): Pay attention to undo_list. Do eol conversion for
11030 all types of coding-systems (if necessary).
11031 (Vcode_conversion_work_buf_list): Delete it.
11032 (Vcode_conversion_reused_workbuf): Rename from
11033 Vcode_conversion_reused_work_buf.
11034 (Vcode_conversion_workbuf_name): New variable.
11035 (reused_workbuf_in_use): New variable.
11036 (make_conversion_work_buffer): Delete the arg DEPTH.
11037 (code_conversion_restore): Change argument to cons.
11038 (code_conversion_save): Delete the argument BUFFER. Change callers.
11039 (detect_coding_system): New argument src_chars. Change callers.
11040 Fix for utf-16 detection.
11041 (init_coding_once): Don't use ISO_carriage_return.
11042 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
11043 reused_workbuf_in_use.
11044
110452008-02-01 Kenichi Handa <handa@m17n.org>
11046
11047 * keymap.c (store_in_keymap): Pay attention to the case that idx
11048 is a cons specifying a character range.
11049
110502008-02-01 Kenichi Handa <handa@m17n.org>
11051
11052 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
11053 HANDLED_RECOMPUTE_PROPS.
11054
11055 * coding.c (Fdefine_coding_system_internal): Fix checking of
11056 ascii compatibility.
11057
110582008-02-01 Kenichi Handa <handa@m17n.org>
11059
11060 * charset.c (find_charsets_in_text): Delete unused locale variable.
11061 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
11062
11063 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
11064 Resync charset_list to Vemacs_mule_charset_list.
11065
11066 * keymap.c (store_in_keymap): Pay attention to the case that idx
11067 is a cons specifying a character range.
11068
110692008-02-01 Kenichi Handa <handa@m17n.org>
11070
11071 * composite.c (update_compositions): Bind inhibit-read-only, etc
11072 to t before calling remove-list-of-text-properties.
11073
11074 * print.c (print_object): Always print ASCII chars as is.
11075
110762008-02-01 Kenichi Handa <handa@m17n.org>
11077
11078 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
11079
11080 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
11081 is a char table.
11082
110832008-02-01 Kenichi Handa <handa@m17n.org>
11084
11085 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
11086
110872008-02-01 Kenichi Handa <handa@m17n.org>
11088
11089 * xfaces.c (set_lface_from_font_name): Fix for the case that
11090 FONTNAME is not fontset name.
11091
110922008-02-01 Kenichi Handa <handa@m17n.org>
11093
11094 * fns.c (base64_encode_1): Fix previous change.
11095
110962008-02-01 Kenichi Handa <handa@m17n.org>
11097
11098 * fontset.c (set_fontset_font): New function.
11099 (Fset_fontset_font): If a font is specified for a charset, use
11100 map_charset_chars to store the font spec in a fontset.
11101
111022008-02-01 Kenichi Handa <handa@m17n.org>
11103
11104 * fontset.c (fontset_face): Create a fallback fontset on demand.
11105 (make_fontset): Don't create a fallback fontset here.
11106 (free_face_fontset): Free a fallback fontset (if any) too.
11107 (n_auto_fontsets): Delete this variable.
11108 (auto_fontset_alist): New variable.
11109 (new_fontset_from_font_name): Check auto_fontset_alist.
11110 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
11111 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
11112 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
11113 Defsubr Sfontset_list_all.
11114
111152008-02-01 Kenichi Handa <handa@m17n.org>
11116
11117 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
11118
111192008-02-01 Kenichi Handa <handa@m17n.org>
11120
11121 * fontset.c (Fnew_fontset): Check NAME more rigidly.
11122
111232008-02-01 Kenichi Handa <handa@m17n.org>
11124
11125 * editfns.c (Fgoto_char): Fix docstring.
11126
111272008-02-01 Kenichi Handa <handa@m17n.org>
11128
11129 * insdel.c (insert_from_gap): Adjust intervals correctly.
11130
111312008-02-01 Jason Rumney <jasonr@gnu.org>
11132
11133 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
11134 (pfnGetFontUnicodeRanges): New dynamically loaded function.
11135 (w32_initialize): Try to load it.
11136 (x_get_font_repertory): Use it if available.
11137 (w32_encode_char): Add shortcut for unicode output.
11138
11139 * w32fns.c (w32_load_system_font): Default charset to -1.
11140 (x_to_w32_charset): Match all fonts for unicode.
11141 (w32_to_x_charset): New parameter matching. Don't return partial
11142 or wildcard charsets.
11143 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
11144 (w32_codepage_for_font): Return CP_UNICODE for unicode.
11145 (w32_to_x_font): Match charset to real charset.
11146 (enum_font_cb2): Always list unicode versions.
11147
11148 * makefile.w32-in (temacs): Increase EMHEAP.
11149
111502008-02-01 Jason Rumney <jasonr@gnu.org>
11151
11152 * w32term.c (w32_encode_char): New charset parameter.
11153 font_info.encoding becomes encoding_type.
11154 (x_get_font_repertory): New function. Warning: stub only!
11155 (x_new_font): Return quickly if font already set.
11156 (x_new_fontset): fontsetname parameter is Lisp_Object.
11157 Use new fs_query_fontset. Try new_fontset_from_font_name.
11158 Use fontset_name for return value.
11159
11160 * w32term.h: Declare x_get_font_repertory.
11161
11162 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
11163 place of find_charset_in_text. Use encode_coding_object in place
11164 of encode_coding.
11165 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
11166 decode_coding.
11167
11168 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
11169 of x_new_fontset.
11170 (w32_load_system_font): Initialize charset as unicode.
11171 font_info.encoding becomes encoding_type.
11172 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
11173 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
11174 (syms_of_w32fns): Set get_font_repertory_func.
11175
11176 * w32console.c: Include character.h. Use terminal_encode_buffer
11177 from term.c.
11178 (write_glyphs): Use new version of encode_terminal_code. Use
11179 encode_coding_object in place of encode_coding.
11180
11181 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
11182 encoding becomes encoding_type.
11183
11184 * term.c (terminal_encode_buffer): Make externally visible.
11185
11186 * makefile.w32-in: Add character.h dependancies.
11187 (character.o, chartab.o): New targets.
11188
111892008-02-01 Kenichi Handa <handa@m17n.org>
11190
11191 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
11192 CODING_ID_EOL_TYPE.
11193
111942008-02-01 Andreas Schwab <schwab@suse.de>
11195
11196 * coding.c (produce_chars): Revert last change.
11197
111982008-02-01 Kenichi Handa <handa@m17n.org>
11199
11200 * charset.h (charset_unicode): Extern it.
11201
11202 * charset.c (string_xstring_p): Check by (C >= 0x100).
11203 (find_charsets_in_text): Change format of the arc CHARSETS. New
11204 arg MULTIBYTE.
11205 (Ffind_charset_region, Ffind_charset_string): Adjust for the
11206 change of find_charsets_in_text.
11207 (Fsplit_char): Fix doc. Never return unknown.
11208
11209 * chartab.c (char_table_translate): Use CHARACTERP, not INTEGERP.
11210
11211 * coding.c (Fdefine_coding_system_alias): Update
11212 Vcoding_system_list.
11213
11214 * fontset.c (load_font_get_repertory): Pay attention to the case
11215 that ENCODING of a font is specified by a char-table.
11216
11217 * xterm.c (x_get_font_repertory): Handle the case that the
11218 encoding of font is other than Unicode.
11219
112202008-02-01 Kenichi Handa <handa@m17n.org>
11221
11222 * term.c (encode_terminal_code): Don't handle glyph-table. Check
11223 if a character is encodable by the terminal coding system. If
11224 not, produces proper number of `?'s. Update
11225 terminal_encode_buffer and terminal_encode_buf_size if necessary.
11226 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
11227
112282008-02-01 Kenichi Handa <handa@m17n.org>
11229
11230 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
11231 variables.
11232 (encode_terminal_code): Change argument. Encode multiple
11233 characters at once. Store the result of encoding in
11234 terminal_encode_buffer.
11235 (write_glyphs, insert_glyphs): Adjust for the change of
11236 encode_terminal_code.
11237 (term_init): Initialize terminal_encode_buffer and
11238 terminal_encode_buf_size.
11239
11240 * coding.c (consume_chars): If coding->src_object is nil, don't
11241 check annotation.
11242
112432008-02-01 Kenichi Handa <handa@m17n.org>
11244
11245 * character.c (char_string): Use ASCII_CHAR_P instead of
11246 SINGLE_BYTE_CHAR_P.
11247
112482008-02-01 Kenichi Handa <handa@m17n.org>
11249
11250 * xdisp.c (handle_auto_composed_prop): Check if the last
11251 characters of auto-composed region is newly composed with the
11252 following characters.
11253 (handle_composition_prop): Fix checking of point being inside
11254 composition.
11255
112562008-02-01 Kenichi Handa <handa@m17n.org>
11257
11258 * fns.c (concat): Don't change multibyteness of the result by
11259 concatenating an 8-bit character.
11260
11261 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
11262 multibyteness of the result when newelt is an 8-bit character.
11263
112642008-02-01 Dave Love <fx@gnu.org>
11265
11266 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
11267 EMACS_INT.
11268
11269 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
11270
11271 * xfaces.c (face_numeric_value): Declare dim size_t.
11272 (Finternal_lisp_face_equal_p): Remove unused f.
11273
11274 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
11275 (MATRIX_ROW): Remove unused vars.
11276 (draw_glyphs, x_insert_glyphs, fast_find_position)
11277 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
11278 byte/char counts.
11279
11280 * regex.c (regex_compile): Remove unused var.
11281
11282 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
11283
11284 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
11285 (Faccessible_keymaps, where_is_internal): Remove unused vars.
11286
11287 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
11288
11289 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
11290
11291 * fileio.c (Fwrite_region): Remove unused var.
11292
11293 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
11294 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
11295
11296 * composite.c (Fremove_list_of_text_properties): Declare.
11297
11298 * coding.c (inhibit_pre_post_conversion): Remove (unused).
11299 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
11300 (coding_inherit_eol_type): Remove unused attrs.
11301 (detect_coding): Cast arg of detect_eol.
11302
11303 * charset.c (syms_of_charset): Remove unused var p.
11304 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
11305 byte/char counts.
11306
11307 * casetab.c (set_case_table): Remove unused var.
11308
11309 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
11310 unused vars.
11311
113122008-02-01 Dave Love <fx@gnu.org>
11313
11314 * xterm.c (x_bitmap_mask): Declare.
11315
113162008-02-01 Dave Love <fx@gnu.org>
11317
11318 * xterm.c (x_term_init): Fix type error.
11319
11320 * lisp.h: Add Funibyte_char_to_multibyte.
11321
11322 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
11323 (Fset_coding_system_priority): Doc fix.
11324
11325 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
11326
11327 * indent.c (check_composition): Make start and end EMACS_INT.
11328
11329 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
11330
11331 * xdisp.c (handle_composition_prop, check_point_in_composition):
11332 Make buffer positions EMACS_INT.
11333
11334 * composite.c (find_composition, run_composition_function)
11335 (update_compositions, Ffind_composition_internal): Make buffer
11336 positions EMACS_INT.
11337
11338 * composite.h (find_composition, update_compositions): Make
11339 position args EMACS_INT.
11340
11341 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
11342
11343 * intervals.c (get_property_and_range):
11344 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
11345
11346 * unexalpha.c: Don't include varargs.h.
11347
113482008-02-01 Dave Love <fx@gnu.org>
11349
11350 * coding.h (ENCODE_UTF_8): New.
11351
11352 * Makefile.in (gtkutil.o): Depend on coding.h.
11353
11354 * coding.c (Fset_coding_system_priority): Doc fix.
11355
113562008-02-01 Kenichi Handa <handa@m17n.org>
11357
11358 * fileio.c (Finsert_file_contents): Call setup_coding_system in
11359 the case of auto saving.
11360
113612008-02-01 Andreas Schwab <schwab@suse.de>
11362
11363 * chartab.c (map_char_table, map_char_table_for_charset): Protect
11364 `range' from GC.
11365
113662008-02-01 Kenichi Handa <handa@m17n.org>
11367
11368 * coding.c (decode_coding_sjis): Check bytes more rigidly.
11369
113702008-02-01 Kenichi Handa <handa@m17n.org>
11371
11372 * fileio.c (choose_write_coding_system): Return a decided coding system.
11373 (Fwrite_region): Set Vlast_coding_system_used to the return value
11374 of choose_write_coding_system.
11375
113762008-02-01 Kenichi Handa <handa@m17n.org>
11377
11378 * charset.c (Fset_charset_priority): Pay attention to duplicated
11379 arguments.
11380
11381 * coding.c (QCcategory): New variable.
11382 (syms_of_coding): Defsym it. Set all elements of
11383 Vcoding_category_table and their symbol values.
11384 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
11385 coding-category-XXX, and coding-category-list.
11386 (Fdefine_coding_system_internal): Add category in the plist.
11387
113882008-02-01 Kenichi Handa <handa@m17n.org>
11389
11390 * callproc.c (Fcall_process): Handle carryover correctly.
11391
11392 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
11393 (raw_text_coding_system): Check NILP (coding_system).
11394 (coding_inherit_eol_type): Check NILP (coding_system) and
11395 NILP (parent).
11396 (consume_chars): Fix for the case of raw-text.
11397
11398 * process.c (read_process_output): Handle carryover correctly.
11399
114002008-02-01 Dave Love <fx@gnu.org>
11401
11402 * regex.c (re_search_2): Fix last change.
11403
114042008-02-01 Kenichi Handa <handa@m17n.org>
11405
11406 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
11407 target_multibyte. Even in a unibyte case, return a converted
11408 multibyte char.
11409 (GET_CHAR_AFTER): New macro.
11410 (PATFETCH): Translate via multibyte char.
11411 (HANDLE_UNIBYTE_RANGE): Delete this macro.
11412 (SETUP_MULTIBYTE_RANGE): New macro.
11413 (regex_compile): Setup compiled code so that its multibyteness
11414 matches that of a target. Fix the handling of "[X-YZ]" using
11415 SETUP_MULTIBYTE_RANGE.
11416 (analyse_first) <charset>: For filling fastmap for all multibyte
11417 characters, don't check by BASE_LEADING_CODE_P.
11418 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
11419 the same as RE_MULTIBYTE_P (bufp) now.
11420 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
11421 (TARGET_CHAR_AND_LENGTH): Delete this macro.
11422 (TRANSLATE_VIA_MULTIBYTE): New macro.
11423 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
11424 It is the same as RE_MULTIBYTE_P (bufp) now.
11425 <exactn>: Translate via multibyte.
11426 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
11427 translate it.
11428 <charset, charset_not>: Fetch a character by
11429 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
11430 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
11431 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
11432 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
11433 by GET_CHAR_AFTER.
11434 (bcmp_translate): Likewise.
11435
11436 * search.c (compile_pattern): Check the member target_multibyte,
11437 not the member multibyte of buf.
11438
11439 * lread.c (read1): While reading a string, set force_singlebyte
11440 and force_multibyte correctly.
11441
11442 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
11443 up of unibyte_to_multibyte_table.
11444
114452008-02-01 Kenichi Handa <handa@m17n.org>
11446
11447 * coding.c (setup_coding_system): If coding has
11448 post-read-conversion or pre-write-conversion, set
11449 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
11450 respectively.
11451 (decode_coding_gap): Run post-read-conversion if any.
11452
11453 * fileio.c (Finsert_file_contents): Even if we read into a
11454 unibyte buffer, check if we must decode the result or not.
11455
114562008-02-01 Kenichi Handa <handa@m17n.org>
11457
11458 * coding.c (make_conversion_work_buffer): Change the work buffer
11459 name to the same one as that of Emacs 21.
11460
114612008-02-01 Kenichi Handa <handa@m17n.org>
11462
11463 * coding.h (make_conversion_work_buffer): Adjust prototype.
11464 (code_conversion_restore): Don't extern it.
11465
11466 * coding.c (detected_mask): Delete unused variable.
11467 (decode_coding_iso_2022): Pay attention to the byte sequence of
11468 CTEXT extended segment, and retain those bytes as is.
11469 (decode_coding_ccl): Delete unused variable `valids'.
11470 (setup_coding_system): Delete unused variable `category'.
11471 (consume_chars): Delete unused variable `category'. Make it work
11472 for non-multibyte case.
11473 (make_conversion_work_buffer): Change argument.
11474 (saved_coding): Delete unused variable.
11475 (code_conversion_restore): Don't check saved_coding->destination.
11476 (code_conversion_save): New function.
11477 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
11478 instead of record_unwind_protect.
11479 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
11480 (detect_coding_system): Delete unused variable `mask'.
11481 (Fdefine_coding_system_internal): Delete unused variable id.
11482
11483 * fileio.c (kill_workbuf_unwind): New function.
11484 (Finsert_file_contents): On replacing, call
11485 make_conversion_work_buffer with correct args, and call
11486 record_unwind_protect with the first arg kill_workbuf_unwind.
11487
11488 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
11489
114902008-02-01 Kenichi Handa <handa@m17n.org>
11491
11492 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
11493 (fontset_add): Fix for the case that TO is less than TO1.
11494 (Ffontset_info): Don't use fallback fontset on checking the
11495 default fontset.
11496 (dump_fontset): New function for debugging.
11497
11498 * coding.c (Fdefine_coding_system_internal): Fix for the case that
11499 coding_type is Qcharset.
11500
115012008-02-01 Kenichi Handa <handa@m17n.org>
11502
11503 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
11504 (map_char_table): Don't inherit the value from the parent on
11505 initializing VAL. Adjust for the above change.
11506
115072008-02-01 Kenichi Handa <handa@m17n.org>
11508
11509 * coding.c (Qsignature, Qendian): Delete these variables.
11510 (syms_of_coding): Don't initialize them.
11511 (CATEGORY_MASK_UTF_16_AUTO): New macro.
11512 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
11513 detect_info->found.
11514 (decode_coding_utf_16): Don't detect BOM here.
11515 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
11516 is NOT utf_16_without_bom.
11517 (setup_coding_system): For a coding system of type utf-16, check
11518 if the attribute :endian is Qbig or not (not nil or not), and set
11519 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
11520 (detect_coding): If coding type is utf-16 and BOM detection is
11521 required, detect it.
11522 (Fdefine_coding_system_internal): For a coding system of type
11523 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
11524
115252008-02-01 Kenichi Handa <handa@m17n.org>
11526
11527 * coding.c (coding_set_source): Fix for the case that the current
11528 buffer is different from coding->src_object.
11529 (decode_coding_object): Don't use the conversion work buffer if
11530 DST_OBJECT is a buffer.
11531
115322008-02-01 Dave Love <fx@gnu.org>
11533
11534 * lread.c (read_emacs_mule_char) [len==2]: Index
11535 emacs_mule_charset correctly.
11536
115372008-02-01 Dave Love <fx@gnu.org>
11538
11539 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
11540 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
11541 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
11542 treated specially.)
11543 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
11544 (detected_mask): Remove Big5 bits.
11545
115462008-02-01 Kenichi Handa <handa@m17n.org>
11547
11548 The following changes are to make the font rescaling facility
11549 compatible with Emacs 21.
11550
11551 * xfaces.c (Vface_font_rescale_alist): Rename from
11552 Vface_resizing_fonts.
11553 (struct font_name): Rename member resizing_ratio to rescale_ratio.
11554 (font_rescale_ratio): Rename from font_resizing_ratio.
11555 (split_font_name): Set font->rescale_ratio.
11556 (better_font_p): Pay attention to font->rescale_ratio.
11557 (build_scalable_font_name): Likewise. Change RESX, and RESY
11558 fields.
11559 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
11560
115612008-02-01 Kenichi Handa <handa@m17n.org>
11562
11563 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
11564 (Qutf_16_le): Remove these variables.
11565 (syms_of_coding): Don't DEFSYM them.
11566 (decode_coding_utf_16): Fix handling of BOM.
11567 (encode_coding_utf_16): Fix handling of BOM.
11568
115692008-02-01 Kenichi Handa <handa@m17n.org>
11570
11571 * fileio.c (Finsert_file_contents): On replacing, before decoding
11572 the file into the work buffer, set point of the work buffer to the end.
11573
115742008-02-01 Dave Love <fx@gnu.org>
11575
11576 * coding.c (Fcheck_coding_systems_region): Fix type errors.
11577
115782008-02-01 Dave Love <fx@gnu.org>
11579
11580 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
11581 and fix C types.
11582
115832008-02-01 Kenichi Handa <handa@m17n.org>
11584
11585 * xdisp.c (SKIP_GLYPHS): New macro.
11586 (set_cursor_from_row): Pay attention to string display properties.
11587
11588 * category.c (copy_category_entry): Fix for the case that RANGE
11589 is an integer.
11590
11591 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
11592
11593 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
11594
115952008-02-01 Kenichi Handa <handa@m17n.org>
11596
11597 * charset.c (Fcharset_id_internal): New function.
11598 (syms_of_charset): Defsubr it.
11599
11600 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
11601 with the last arg charset_list acquired from coding.
11602 (Fdefine_coding_system_internal): For ccl-based coding system, fix
11603 the attribute coding_attr_ccl_valids.
11604
11605 * coding.h (enum define_coding_ccl_arg_index): Set the first
11606 member coding_arg_ccl_decoder to coding_arg_max.
11607
11608 * ccl.h (ccl_driver): Adjust prototype.
11609
11610 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
11611 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
60612c8f 11612 of DECODE_CHAR, ENCODE_CHAR, CHAR_CHARSET.
aac0c6e3
MR
11613 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
11614 last arg Qnil.
11615
116162008-02-01 Kenichi Handa <handa@m17n.org>
11617
11618 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
11619 call encode_char.
11620
11621 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
11622
116232008-02-01 Dave Love <fx@gnu.org>
11624
11625 * composite.c (syms_of_composite): Make composition_hash_table weak.
11626
116272008-02-01 Kenichi Handa <handa@m17n.org>
11628
11629 * dispextern.h (check_face_attributes, generate_ascii_font_name)
11630 (font_name_registry): Don't extern them.
11631 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
11632
11633 * fontset.h (Qfontset): Don't extern it.
11634 (new_fontset_from_font_name): Extern it.
11635
11636 * fontset.c: Give 8 extra slots to fontset objects.
11637 (Qfontset_info): New variable.
11638 (syms_of_fontset): Defsym it.
11639 (FONTSET_FALLBACK): New macro.
11640 (fontset_face): Try also the default fontset.
11641 (make_fontset): Realize a fallback fontset from the default fontset.
11642 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
11643 using split_font_name_into_vector and build_font_name_from_vector.
11644 (Fset_fontset_font): Access the elements of font_spec by enum
11645 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
11646 name by using split_font_name_into_vector.
11647 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
11648 generate a proper font name from the fontset name. Update
11649 Vfontset_alias_alist.
11650 (n_auto_fontsets): New variable.
11651 (new_fontset_from_font_name): New function.
11652 (Ffont_info): Store the information about fonts generated from the
11653 default fontset in the first extra slot of the returned char-table.
11654
11655 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
11656 (font_name_registry): Delete function.
11657 (split_font_name_into_vector): New function.
11658 (build_font_name_from_vector): New function.
11659 (font_list): The argument REGISTRY is now a list of registry names.
11660 (choose_face_font): If we are choosing an ASCII font, and ATTRS
11661 specifies an explicit font name, return the name as is. Make a
11662 list of registy names.
11663
11664 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
11665 of x_new_fontset.
11666 (Fx_create_frame): Don't call x_new_fontset here. Just use
11667 x_list_fonts to check the existence of fonts.
11668
11669 * xterm.h (x_new_fontset): Adjust prototype.
11670
11671 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
11672 string. Use new_fontset_from_font_name to create a fontset from a
11673 font name.
11674
116752008-02-01 Kenichi Handa <handa@m17n.org>
11676
11677 * syntax.c (Vfind_word_boundary_function_table): New name for
11678 Vnext_word_boundary_function_table.
11679 (find-word-boundary-function-table): New name for
11680 next-word-boundary-function-table.
11681
116822008-02-01 Dave Love <fx@gnu.org>
11683
11684 * Makefile.in: Fix some dependencies.
11685
11686 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
11687 set it to nil before returning.
11688
11689 * composite.c (update_compositions): Fix type error.
11690
11691 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
11692
116932008-02-01 Kenichi Handa <handa@m17n.org>
11694
11695 * xterm.c (x_new_font): Optimize for the case that the font is
11696 already set for the frame.
11697
116982008-02-01 Kenichi Handa <handa@m17n.org>
11699
11700 * chartab.c (char_table_ascii): Check if the char table contents
11701 is sub-char-table or not.
11702 (char_table_set, char_table_set_range): Fix argument to
11703 char_table_ascii.
11704
11705 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
11706 (detect_coding_utf_8, detect_coding_utf_16)
11707 (detect_coding_emacs_mule, detect_coding_iso_2022)
11708 (detect_coding_sjis, detect_coding_big5)
11709 (detect_coding_ccl, detect_coding_charset): Change argument MASK
11710 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
11711 sequence is valid in this coding system. Change callers.
11712 (MAX_ANNOTATION_LENGTH): New macro.
11713 (ADD_ANNOTATION_DATA): New macro.
11714 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
11715 ADD_ANNOTATION_DATA. Change the format of annotation data.
11716 (ADD_CHARSET_DATA): New macro.
11717 (emacs_mule_char): New argument ID. Change callers.
11718 (decode_coding_emacs_mule, decode_coding_iso_2022)
11719 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
11720 Produce charset annotation data in coding->charbuf.
11721 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
11722 to charset annotation data in coding->charbuf.
11723 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
11724 coding->common_flags if the coding system is iso-2022 based and
11725 uses designation.
11726 (produce_composition): Adjust for the new annotation data format.
11727 (produce_charset): New function.
11728 (produce_annotation): Handle charset annotation.
11729 (handle_composition_annotation, handle_charset_annotation): New
11730 functions.
11731 (consume_chars): Handle charset annotation. Utilize the above two
11732 functions.
11733 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
11734 buffer, get the deleted text as a string and set
11735 coding->src_object to that string.
11736 (detect_coding, detect_coding_system): Use the new struct
11737 coding_detection_info.
11738
11739 * coding.h (struct coding_detection_info): New structure.
11740 (struct coding_system): Adjust prototype of the member `detector'.
11741 (CODING_ANNOTATE_CHARSET_MASK): New macro.
11742
117432008-02-01 Kenichi Handa <handa@m17n.org>
11744
11745 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
11746
117472008-02-01 Dave Love <fx@gnu.org>
11748
11749 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
11750 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
11751 to new local and nullify apropos_accumulate before returning.
11752 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
11753
117542008-02-01 Kenichi Handa <handa@m17n.org>
11755
11756 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
11757 correctly.
e3eea1fc 11758
aac0c6e3
MR
117592008-02-01 Dave Love <fx@gnu.org>
11760
11761 * fns.c (Flanginfo): Call synchronize_system_time_locale.
11762
117632008-02-01 Kenichi Handa <handa@m17n.org>
11764
11765 The following changes are to make character composition happen
11766 automatically on displaying.
11767
11768 * Makefile.in (lisp, shortlisp): Add composite.elc.
11769
11770 * composite.h (Qauto_composed, Vauto_composition_function)
11771 (Qauto_composition_function): Extern them.
11772
11773 * composite.c (Vcomposition_function_table)
11774 (Qcomposition_function_table): Delete variables.
11775 (Qauto_composed, Vauto_composition_function)
11776 (Qauto_composition_function): New variables.
11777 (run_composition_function): Don't call
11778 compose-chars-after-function.
11779 (update_compositions): Clear `auto-composed' text property.
11780 (compose_chars_in_text): Delete this function.
11781 (syms_of_composite): Staticpro Qauto_composed and
11782 Qauto_composition_function. Declare Vauto_composition_function as
11783 a Lisp variable.
11784
11785 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
11786
11787 * xdisp.c (it_props): Add an entry for Qauto_composed.
11788 (handle_auto_composed_prop): New function.
11789
11790 * xselect.c (selection_data_to_lisp_data): Don't call
11791 compose_chars_in_text.
11792
117932008-02-01 Dave Love <fx@gnu.org>
11794
11795 * keyboard.c (read_char): Modify checking around use of
11796 Vkeyboard_translate_table.
11797
11798 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
11799 and fix C types.
11800
118012008-02-01 Kenichi Handa <handa@m17n.org>
11802
11803 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
11804 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
11805 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
11806 the case that the last byte is '\r' correctly.
11807 (decode_coding): Flush out the unprocessed data correctly.
11808 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
11809
118102008-02-01 Dave Love <fx@gnu.org>
11811
11812 * xterm.c (XTread_socket): Fix changes for defined keysyms.
11813 Add XK_ISO... case.
11814 (xaw_scroll_callback): Revert last change.
11815
118162008-02-01 Kenichi Handa <handa@m17n.org>
11817
11818 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
11819
118202008-02-01 Kenichi Handa <handa@m17n.org>
11821
11822 * xfaces.c (Vface_resizing_fonts): New variable.
11823 (struct font_name): New member `resizing_ratio'.
11824 (font_resizing_ratio): New function.
11825 (split_font_name): Set font->resizing_ratio.
11826 (better_font_p): Pay attention to font->resizing_ratio.
11827 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
11828 RESX, and RESY fields.
11829 (try_alternative_families): Try scalable fonts if
11830 Vscalable_fonts_allowed is not Qt.
11831 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
11832
118332008-02-01 Dave Love <fx@gnu.org>
11834
11835 * xterm.c (xaw_scroll_callback): Cast correctly.
11836
118372008-02-01 Dave Love <fx@gnu.org>
11838
11839 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
11840 (lispy_kana_keys): Comment out.
11841 (make_lispy_event) [XK_kana_A]: Comment out.
11842
11843 * xterm.c (xaw_scroll_callback): Cast call_data.
11844 (XTread_socket): Deal with ASCII keysyms.
11845 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
11846
118472008-02-01 Dave Love <fx@gnu.org>
11848
11849 * xterm.c (Vx_keysym_table): New.
11850 (syms_of_xterm): Initialize it.
11851 (XTread_socket): Use it.
11852 From head: Eliminate incorrect optimization that tried to avoid
11853 decoding the output of X*LookupString.
11854 (x_get_font_repertory): Delete charset declaration.
11855
118562008-02-01 Kenichi Handa <handa@m17n.org>
11857
11858 * coding.c (detect_coding_charset): If only ASCII bytes are found,
11859 return 0.
11860 (Fdefine_coding_system_internal): Setup
11861 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
11862
118632008-02-01 Dave Love <fx@gnu.org>
11864
11865 * coding.c (Fcheck_coding_system): Doc fix.
11866
11867 * editfns.c (Finsert_byte): Return a proper value.
11868
118692008-02-01 Kenichi Handa <handa@m17n.org>
11870
11871 * coding.c (decode_coding): Fix args to translate_chars. Pay
11872 attention to Vstandard_translation_table_for_decode.
11873 (encode_coding): Fix args to translate_chars. Pay attention to
11874 Vstandard_translation_table_for_encode.
11875
11876 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
11877 SINGLE_BYTE_CHAR_P.
11878
11879 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
11880 not by SINGLE_BYTE_CHAR_P.
11881
11882 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
11883 SINGLE_BYTE_CHAR_P.
11884
11885 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
11886 SINGLE_BYTE_CHAR_P.
11887
11888 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
11889 by SINGLE_BYTE_CHAR_P.
11890
11891 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
11892 SINGLE_BYTE_CHAR_P.
11893
118942008-02-01 Dave Love <fx@gnu.org>
11895
11896 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
11897
118982008-02-01 Dave Love <fx@gnu.org>
11899
11900 * fns.c (Flanginfo): Fix typo.
11901
11902 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
11903
119042008-02-01 Kenichi Handa <handa@m17n.org>
11905
11906 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
11907 (detect_coding_emacs_mule, detect_coding_iso_2022)
11908 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
11909 incomplete byte sequence. Don't update *mask when correctly detected.
11910 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
11911 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
11912 (detect_coding, detect_coding_system): Adjust for the changes above.
11913
119142008-02-01 Kenichi Handa <handa@m17n.org>
11915
11916 * character.c (char_string): Rename from
11917 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
11918 (string_char): Rename from string_char.
11919
11920 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
11921 if C is greater than MAX_3_BYTE_CHAR.
11922 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
11923 string_char instead of string_char_with_unification.
11924
119252008-02-01 Dave Love <fx@gnu.org>
11926
11927 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
11928
119292008-02-01 Kenichi Handa <handa@m17n.org>
11930
11931 * keymap.c (push_key_description): Pay attention to force_multibyte.
11932
11933 * regex.c (re_search_2): Fix for the case of unibyte buffer.
11934
119352008-02-01 Dave Love <fx@gnu.org>
11936
11937 * charset.c (define_charset_internal): Rename `supprementary'.
11938
11939 * Makefile.in (lisp, shortlisp): Remove latin-N.
11940
119412008-02-01 Dave Love <fx@gnu.org>
11942
11943 * xfns.c (x_window, x_window): Use use_xim.
11944
11945 * xterm.c (use_xim): Initialize.
11946 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
11947 (x_term_init): Maybe set use_xim.
11948
11949 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
11950
119512008-02-01 Kenichi Handa <handa@m17n.org>
11952
11953 * search.c (search_buffer): Fix case-fold-search of multibyte
11954 characters.
11955 (boyer_moore): Rename the last argument to char_high_bits.
11956
119572008-02-01 Kenichi Handa <handa@m17n.org>
11958
11959 * xdisp.c (display_string): Fix for the case of zero width glyph.
11960
11961 * xfns.c (x_set_font): Change the error message of the case that
11962 x_new_fontset returns Qt.
11963
11964 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
11965 (Finternal_set_lisp_face_attribute): Use signal_error for the
11966 error of invalid fontset.
11967
11968 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
11969 fontset, return Qt.
11970
119712008-02-01 Dave Love <fx@gnu.org>
11972
11973 * unexelf.c (unexec): Make .got handling not SGI-specific.
11974
11975 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
11976
11977 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
11978
11979 * keyboard.c (read_key_sequence): Fix type error.
11980
11981 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
11982 type error.
11983
11984 * fontset.c (fontset_add): Return Lisp_Object.
11985
119862008-02-01 Dave Love <fx@gnu.org>
11987
11988 * charset.h (charset_ordered_list_tick): Declare extern.
11989
119902008-02-01 Kenichi Handa <handa@m17n.org>
11991
11992 The following changes (and some of 2008-02-01 changes of mine) are
11993 for handling syntax, category, and case conversion for unibyte
11994 characters by converting them to multibyte on the fly. With these
11995 changes, we don't have to setup syntax and case tables for unibyte
11996 characters in each language environment.
11997
11998 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
11999 multibyte if necessary.
12000
12001 * bytecode.c (Fbyte_code): Likewise.
12002
12003 * character.h (LEADING_CODE_LATIN_1_MIN)
12004 (LEADING_CODE_LATIN_1_MAX): New macros.
12005 (unibyte_to_multibyte_table): Extern it.
12006 (unibyte_char_to_multibyte): New macro.
12007 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
12008 (CHAR_LEADING_CODE): New macro.
12009 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
12010
12011 * character.c (unibyte_to_multibyte_table): New variable.
12012 (unibyte_char_to_multibyte): Move to character.h and define as macro.
12013 (multibyte_char_to_unibyte): If C is an eight-bit character,
12014 convert it to the corresponding byte value.
12015
12016 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
12017 not 1, signals an error. Update the elements of
12018 unibyte_to_multibyte_table.
12019 (init_charset_once): Initialize unibyte_to_multibyte_table.
12020 (syms_of_charset): Define the charset `iso-8859-1'.
12021
12022 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
12023 as is without converting it to unibyte. In a unibyte buffer,
12024 convert C to multibyte before checking the syntax.
12025
12026 * lisp.h (unibyte_char_to_multibyte): Delete extern.
12027
12028 * minibuf.c (Fminibuffer_complete_word): Use the macro
12029 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
12030
12031 * regex.h (struct re_pattern_buffer): New member target_multibyte.
12032
12033 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
12034 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
12035 that is zero, convert an eight-bit char to multibyte.
12036 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
12037 non-emacs case.
12038 (PATFETCH): Convert an eight-bit char to multibyte.
12039 (HANDLE_UNIBYTE_RANGE): New macro.
12040 (regex_compile): Setup the compiled pattern for multibyte chars
12041 even if the given regex string is unibyte. Use PATFETCH_RAW
12042 instead of PATFETCH in many places. To handle `charset'
12043 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
12044 only for ASCII chars.
12045 (analyse_first) <exactn>: Simplify because the compiled pattern
12046 is multibyte.
12047 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
12048 <charset>: Use CHAR_LEADING_CODE to get leading codes.
12049 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
12050 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
12051 multibyte always 1.
12052 (re_search_2): In emacs, set the locale variable multibyte to 1,
12053 otherwise to 0. New local variable target_multibyte. Check it
12054 to decide the multibyteness of STR1 and STR2. If
12055 target_multibyte is zero, convert unibyte chars to multibyte
12056 before translating and checking fastmap.
12057 (TARGET_CHAR_AND_LENGTH): New macro.
12058 (re_match_2_internal): In emacs, set the locale variable multibyte
12059 to 1, otherwise to 0. New local variable target_multibyte. Check
12060 it to decide the multibyteness of STR1 and STR2. Use
12061 TARGET_CHAR_AND_LENGTH to fetch a character from D.
12062 <charset, charset_not>: If multibyte is nonzero, check fastmap
12063 only for ASCII chars. Call bcmp_translate with
12064 target_multibyte, not with multibyte.
12065 <begline>: Declare the local variable C as `unsigned'.
12066 (bcmp_translate): Change the last arg name to target_multibyte.
12067
12068 * search.c (compile_pattern_1): Don't adjust the multibyteness of
12069 the regexp pattern and the matching target. Set cp->buf.multibyte
12070 to the multibyteness of the regexp pattern. Set
12071 cp->but.target_multibyte to the multibyteness of the matching target.
12072 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
12073 FETCH_STRING_CHAR_ADVANCE.
12074 (Freplace_match): Convert unibyte chars to multibyte.
12075
12076 * syntax.c (char_quoted, back_comment, scan_words)
12077 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
12078 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
12079 unibyte chars to multibyte.
12080 (skip_chars): Delete the arg syntaxp, and move the code for
12081 handling syntaxes to skip_syntaxes. Change callers.
12082 Fix the case that the multibyteness of STRING and the current
12083 buffer doesn't match.
12084 (skip_syntaxes): New function.
12085 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
12086 SINGLE_BYTE_CHAR_P.
12087
120882008-02-01 Kenichi Handa <handa@m17n.org>
12089
12090 * xfaces.c (QCfontset): New variable.
12091 (LFACE_FONTSET): New macro.
12092 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
12093 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
12094 (Finternal_set_lisp_face_attribute)
12095 (Finternal_get_lisp_face_attribute): Handle QCfontset.
12096 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
12097 check also LFACE_FONTSET_INDEX.
12098 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
12099 attrs[LFACE_FONT_INDEX].
12100 (syms_of_xfaces): Intern and staticpro QCfontset.
12101
12102 * dispextern.h (enum lface_attribute_index): New member
12103 LFACE_FONTSET_INDEX.
12104
12105 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
12106
121072008-02-01 Kenichi Handa <handa@m17n.org>
12108
12109 * coding.c (coding_set_destination): Fix coding->destination for
12110 the case converting a region.
12111 (encode_coding_utf_8): Encode eight-bit chars as single byte.
12112 (encode_coding_object): Fix coding->dst_pos and
12113 coding->dst_pos_byte for the case converting a region.
12114
12115 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
12116
12117 * character.h (BYTE8_STRING): New macro.
12118
12119 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
12120
121212008-02-01 Kenichi Handa <handa@m17n.org>
12122
12123 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
12124 characters by octal form.
12125
12126 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
12127
12128 * buffer.h (_fetch_multibyte_char_len): Delete extern.
12129 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
12130 _fetch_multibyte_char_len.
12131 (FETCH_CHAR_AS_MULTIBYTE): New macro.
12132
12133 * casetab.c (set_canon, set_identity, shuffle): Simplify.
12134
12135 * casefiddle.c (casify_object): Simplify. Handle the case that
12136 the case conversion change the byte length.
12137 (casify_region): Likewise.
12138
12139 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
12140
12141 * character.c (_fetch_multibyte_char_len): Delete this variable.
12142 (syms_of_character): Setup Vprintable_chars.
12143
12144 * editfns.c (Fchar_equal): Fix for the unibyte case.
12145 (Finsert_byte): New function.
12146 (syms_of_editfns): Defsubr it.
12147
12148 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
12149 of direct code 0x3ffff.
12150
12151 * search.c (Freplace_match): Fix for the unibyte case.
12152
121532008-02-01 Kenichi Handa <handa@m17n.org>
12154
12155 * lread.c (safe_to_load_p): Fix the logic.
12156
12157 * syntax.c (scan_words): Don't treat characters belonging to
12158 different scripts as constituting a word.
12159
12160 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12161
12162 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
12163
12164 * emacs.c (main): In the case of --unibyte, instead of aborting on
12165 finding non-empty buffer, make it unibyte.
12166
121672008-02-01 Kenichi Handa <handa@m17n.org>
12168
12169 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
12170 to create a fontset.
12171
121722008-02-01 Dave Love <fx@gnu.org>
12173
12174 * character.c (Funibyte_char_to_multibyte): Doc fix.
12175
12176 * xfns.c [HAVE_STDLIB_H]: Fix last change.
12177
121782008-02-01 Kenichi Handa <handa@m17n.org>
12179
12180 * fontset.c (fontset_add): Make the type `int'.
12181 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
12182
12183 * character.c (unibyte_char_to_multibyte)
12184 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
12185 charset_unibyte, not charset_primary.
12186
12187 * charset.h (charset_unibyte): Extern it instead of charset_primary.
12188
12189 * charset.c (charset_unibyte): Rename from charset_primary.
12190 (Funibyte_charset): Rename from Fprimary_charset.
12191 (Fset_unibyte_charset): Rename from Fset_primary_charset.
12192 (syms_of_charset): Adjust for the above changes.
12193
12194 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
12195 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
12196 it->multibyte_p is zero.
12197
12198 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
12199 Delete extern.
12200
122012008-02-01 Kenichi Handa <handa@m17n.org>
12202
12203 * coding.c (Fdefine_coding_system_internal): Fix category setting
12204 for a coding system of type iso-2022.
12205
122062008-02-01 Kenichi Handa <handa@m17n.org>
12207
12208 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
12209
122102008-02-01 Kenichi Handa <handa@m17n.org>
12211
12212 * syntax.c (Vnext_word_boundary_function_table): New variable.
12213 (next-word-boundary-function-table): Declare it as a Lisp variable
12214 in syms_of_syntax.
12215 (scan_words): Call functions in Vnext_word_boundary_function_table
12216 if any.
12217
12218 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
12219
12220 * fontset.c (fs_load_font): If fontp->charset is not negative,
12221 return fontp without setting its members.
12222
122232008-02-01 Dave Love <fx@gnu.org>
12224
12225 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
12226
12227 * m/sparc.h (HAVE_ALLOCA): Delete.
12228
12229 * s/irix6-5.h: Don't include strings.h.
12230 (bcopy, bzero, bcmp): Don't undef.
12231
12232 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
12233
12234 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
12235 (TIOCSIGSEND): Don't test IRIX6.
12236 (bcopy, bzero, bcmp): Define conditionally.
12237
122382008-02-01 Kenichi Handa <handa@m17n.org>
12239
12240 * buffer.c (Qas, Qmake, Qto): New variables.
12241 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
12242 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
12243
12244 * callproc.c (Fcall_process): Don't call insert_1_both directly if
12245 we are inserting a process output into a multibyte buffer.
12246
12247 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
12248 multibyte_char_to_unibyte.
12249
12250 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
12251 by the primary charset, make it eight-bit char.
12252 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
12253
12254 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
12255 (charset_8_bit__control, charset_8_bit_graphic)
12256 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
12257 (define_charset_internal): New function.
12258 (syms_of_charset): Call define_charset_internal for pre-defined
12259 charsets.
12260
12261 * charset.h (charset_8_bit): Extern it.
12262
12263 * coding.c (make_conversion_work_buffer): Adjust for the change
12264 of Fset_buffer_multibyte.
12265 (encode_coding_raw_text): Increment p0 in the loop.
12266
12267 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
12268
12269 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
12270 for the change of Fset_buffer_multibyte.
12271
12272 * fns.c (Fstring_to_multibyte): New function.
12273 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
12274
122752008-02-01 Dave Love <fx@gnu.org>
12276
12277 * xfns.c (x_put_x_image): Declare args.
12278
12279 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
12280 (try_font_list): Declare an arg.
12281
12282 * xdisp.c (message2_nolog, set_message): Declare an arg.
12283
12284 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
12285
12286 * syntax.c (scan_sexps_forward): Declare an arg.
12287
12288 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
12289 Declare an arg.
12290
12291 * lisp.h (Fnew_fontset): Declare.
12292
12293 * keymap.c (push_key_description): Call CHARACTERP correctly.
12294
12295 * fontset.c (fontset_add): Declare args. Call make_number correctly.
12296 (face_for_char): Delete unused vars.
12297 (Fset_fontset_font): Doc fix. Delete unused vars.
12298
12299 * doc.c (Fsubstitute_command_keys): Delete unused vars.
12300
12301 * composite.c (update_compositions): Declare arg.
12302
12303 * cm.c (calccost, cmgoto): Declare args.
12304
12305 * charset.c: Remove `emacs' conditional. Doc fixes.
12306 (map_char_table_for_charset): Declare.
12307
12308 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
12309
12310 * ccl.c: Remove `emacs' conditional.
12311
123122008-02-01 Kenichi Handa <handa@m17n.org>
12313
12314 The following changes are to allow specifying multiple font
12315 patterns for a character range (specified by script or charset).
12316
12317 * Makefile.in (abbrev.o): Depend on syntax.h.
12318 (xfaces.o): Depend on charset.h.
12319
12320 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
12321 SINGLE_BYTE_CHAR_P.
12322
12323 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
12324
12325 * character.h (Vchar_script_table): Extern it.
12326
12327 * character.c (Vscript_alist): Delete.
12328 (Vchar_script_table, Qchar_script_table): New variable.
12329 (syms_of_character): Declare Vchar_script_table as a lisp variable
12330 and initialize it.
12331
12332 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
12333 have property char-table-extra-slots, make no extra slot.
12334
12335 * dispextern.h (struct face): Delete member `charset'.
12336 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
12337 SINGLE_BYTE_CHAR_P.
12338 (choose_face_font, lookup_non_ascii_face, font_name_registry):
12339 Add prototypes.
12340 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
12341 (generate_ascii_font_name): Rename from generate_ascii_font.
12342
12343 * fontset.h (get_font_repertory_func): New prototype.
12344 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
12345 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
12346
12347 * fontset.c (Qprepend, Qappend): New variables.
12348 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
12349 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
12350 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
12351 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
12352 (fontset_ref_and_range, fontset_add, reorder_font_vector)
12353 (load_font_get_repertory): New functions.
12354 (fontset_set): Delete.
12355 (fontset_face): New arg FACE. Return face ID, not face.
12356 Complete re-write to handle new fontset structure. Change caller.
12357 (free_face_fontset): Use ASET istead of AREF (X) = Y.
12358 (face_for_char): Don't call lookup_face.
12359 (make_fontset_for_ascii_face): New arg FACE.
12360 (fs_load_font): New arg CHARSET_ID. Don't check
12361 Vfont_encoding_alist here.
12362 (find_font_encoding): New function.
12363 (list_fontsets): Use STRINGP, not ! NILP.
12364 (accumulate_script_ranges): New function.
12365 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
12366 re-written to handle new fontset structure.
12367 (Ffontset_font): Return a copy of element.
12368 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
12369 docstring of font-encoding-alist.
12370
12371 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
12372 (Fset_fotset_font): Fix arguments to 5.
12373
12374 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
12375
12376 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
12377 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12378 (highlight_trailing_whitespace): Adjust for the change of
12379 lookup_named_face.
12380
12381 * xfaces.c: Include charset.h.
12382 (load_face_font): Delete argument C. Change caller.
12383 (generate_ascii_font_name): Rename from generate_ascii_font.
12384 (font_name_registry): New function.
12385 (cache_face): Store ascii faces before non-ascii faces in buckets.
12386 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
12387 Lookup only ascii faces.
12388 (lookup_non_ascii_face): New function.
12389 (lookup_named_face): Delete argument C. Change caller.
12390 (lookup_derived_face): Delete argument C. Change caller.
12391 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
12392 a string, just call font_list with it.
12393 (choose_face_font): Delete arguments FACE and C. New arg
12394 FONT_SPEC. Change caller.
12395 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
12396 Change caller.
12397 (realize_non_ascii_face): New function.
12398 (realize_x_face): Call load_face_font here.
12399 (realize_tty_face): Delete argument C. Change caller.
12400 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
12401 get a face ID.
12402 (dump_realized_face): Don't print charset of FACE.
12403
12404 * xfns.c (x_set_font): Always call x_new_fontset and
12405 store_frame_parameter.
12406 (Fx_create_frame): Call x_new_fontset, not x_new_font.
12407 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
12408
12409 * xterm.h (x_get_font_repertory): Extern it.
12410
12411 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
12412 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
12413 it->multibyte_p is zero.
12414 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12415 (x_new_fontset): If FONTSETNAME doesn't match any existing
12416 fontsets, create a new one.
12417 (x_get_font_repertory): New function.
12418
124192008-02-01 Kenichi Handa <handa@m17n.org>
12420
12421 * coding.c (Ffind_coding_systems_region_internal): Detect an
12422 ASCII only string correctly.
12423
12424 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
12425 version is 0.
12426
124272008-02-01 Kenichi Handa <handa@m17n.org>
12428
12429 * lread.c: Include "coding.h".
12430 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
12431 (load_each_byte, unread_char): New variables.
12432 (readchar_backlog): Delete.
12433 (readchar): Return a character unless load_each_byte is nonzero.
12434 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
12435 cons. If unread_char is not -1, simply return it.
12436 (unreadchar): Handle the case that readcharfun is
12437 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
12438 (read_multibyte): Delete.
12439 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
12440 (read_emacs_mule_char): New functions.
12441 (Fload): Even if the file doesn't have the extension ".elc", if
12442 safe_to_load_p returns a positive version number, assume that the
12443 file contains bytecompiled code. If the version is less than 22,
12444 load the file while decoding multibyte sequences by emacs-mule.
12445 (readevalloop): Don't use readchar_backlog.
12446 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
12447 (Fread_from_string): Pay attention to the case that STREAM is a cons.
12448 (read_escape): Delete the arg BYTEREP.
12449 (read1): Set load_each_byte to 1 temporarily while handling
12450 #@NUMBER. Don't call read_multibyte.
12451 (read_vector): Call Fread with a cons. If readcharfun is
12452 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
12453 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
12454 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
12455 and Qload_force_doc_strings.
12456
124572008-02-01 Kenichi Handa <handa@m17n.org>
12458
12459 * xdisp.c (face_before_or_after_it_pos): Call
12460 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
12461
124622008-02-01 Kenichi Handa <handa@m17n.org>
12463
12464 * character.h (TRAILING_CODE_P): New macro.
12465 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
12466 (string_char_with_unification): Fix prototype.
12467 (Vscript_alist): Extern it.
12468
12469 * character.c (Vscript_alist): New variable.
12470 (string_char_with_unification, str_as_unibyte)
12471 (string_escape_byte8): Add `const' to local variables.
12472 (syms_of_character): Declare script-alist as a Lisp variable.
12473
12474 * charset.h (Vcharset_ordered_list): Extern it.
12475 (charset_ordered_list_tick): Extern it.
12476 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
12477 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
12478 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
12479 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
12480 (Funify_charset): Adjust for the change of Funify_charset.
12481
12482 * charset.c (charset_ordered_list_tick): New variable.
12483 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
12484 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
12485 deunify intead of unify a charset.
12486 (string_xstring_p): Add `const' to local variables.
12487 (find_charsets_in_text): Add `const' to arguments and local variables.
12488 (encode_char): Adjust for the change of Funify_charset. Fix
12489 detecting of invalid code.
12490 (Fset_charset_priority): Increment charset_ordered_list_tick.
12491 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
12492 and TO_CODE.
12493
12494 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
12495 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
12496 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
12497 (decode_coding_ccl, consume_chars)
12498 (Ffind_coding_systems_region_internal)
12499 (Fcheck_coding_systems_region): Add `const' to local variables.
12500
12501 * print.c (print_object): Use octal form for printing the
12502 contents of a bool vector.
12503
125042008-02-01 Dave Love <fx@gnu.org>
12505
12506 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
12507 <version == 20>: Refuse to load.
12508
125092008-02-01 Dave Love <fx@gnu.org>
12510
12511 * fns.c: Move coding.h.
12512 (Qcodeset, Qdays, Qmonths): New.
12513 (concat): Use CHARACTERP instead of INTEGERP.
12514 (Flocale_codeset): Delete.
12515 (Flanginfo): New function.
12516 (syms_of_fns): Change accordingly.
12517
12518 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
12519
125202008-02-01 Dave Love <fx@gnu.org>
12521
12522 * casetab.c (init_casetab_once, init_casetab_once): Fix
12523 CHAR_TABLE_SET call.
12524
12525 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
12526
12527 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
12528
12529 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
12530 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
12531 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
12532
12533 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
12534
12535 * coding.c (ENCODE_DESIGNATION, decode_eol)
12536 (make_conversion_work_buffer, code_conversion_restore)
12537 (Fdefine_coding_system_internal): Convert Lisp types.
12538 (code_conversion_restore): Use EQ, not ==.
12539 (Fencode_coding_string): Fix code_convert_string call.
12540
12541 * coding.h (code_convert_region): Fix prototype.
12542
12543 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
12544
12545 * fontset.c (fontset_ref, fontset_set, fs_load_font)
12546 (Ffontset_info): Convert Lisp types.
12547
12548 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
12549
12550 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
12551
12552 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
12553
12554 * chartab.c: Include "...h", not <...h> in some cases.
12555
12556 * callproc.c (Fcall_process): Remove unused variables.
12557
125582008-02-01 Dave Love <fx@gnu.org>
12559
12560 * coding.c (Fset_coding_system_priority): Allow null arg list.
12561
125622008-02-01 Dave Love <fx@gnu.org>
12563
12564 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
12565 (Fself_insert_and_exit): Use CHARACTERP.
12566
12567 * callproc.c (Fcall_process): Remove unused vars.
12568
12569 * xterm.c (XTread_socket): Add extra dead keysyms.
12570
12571 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
12572
12573 * dispextern.h: Remove prototypes for redraw_frame,
12574 redraw_garbaged_frames.
12575
12576 * cmds.c (Fself_insert_command): Use CHARACTERP.
12577
12578 * chartab.c (make_sub_char_table): Remove unused var.
12579 (Fset_char_table_default, Fmap_char_table): Doc fix.
12580
12581 * keymap.c (access_keymap): Remove generic char code.
12582 (push_key_description): Use CHARACTERP.
12583
125842008-02-01 Dave Love <fx@gnu.org>
12585
12586 * charset.c: Doc fixes.
12587 (Funify_charset): Extra checking.
12588
125892008-02-01 Dave Love <fx@gnu.org>
12590
12591 * lread.c: Remove some unused variables.
12592 (safe_to_load_p): If safe, return the magic number version byte.
12593 (Fload): Maybe use load-with-code-conversion.
12594
125952008-02-01 Kenichi Handa <handa@m17n.org>
12596
12597 * category.c (Fmodify_category_entry): Don't modify the contents
12598 of category_set for characters out of the range. Avoid
12599 unnecessary modification.
12600
12601 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
12602 Vchar_unify_table. The default value of the table is now nil.
12603
12604 * character.c (syms_of_character): Setup Vchar_width_table for
12605 eight-bit-control and raw-byte chars.
12606
12607 * charset.h (enum define_charset_arg_index): Delete
12608 charset_arg_parents and add charset_arg_subset and
12609 charset_arg_superset.
12610 (enum charset_attr_index): Delete charset_parents and add
12611 charset_subset and charset_superset.
12612 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
12613 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
12614 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
12615 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
12616 (CHARSET_SUPERSET): New macros.
12617 (charset_work): Extern it.
12618 (ENCODE_CHAR): Use charset_work.
12619 (CHAR_CHARSET_P): Adjust for the change of encoder format.
12620 (map_charset_chars): Extern it.
12621
12622 * charset.c (load_charset_map): Set the default value of encoder
12623 and deunifier char-tables to nil.
12624 (map_charset_chars): Change argument. Change callers. Use
12625 map_char_table_for_charset instead of map_char_table.
12626 (Fmap_charset_chars): New optional args from_code and to_code.
12627 (Fdefine_charset_internal): Adjust for the change of
12628 `define-charset' (:parents -> :subset or :superset).
12629 (charset_work): New variable.
12630 (encode_char, syms_of_charset): Adjust for the change of
12631 Fdefine_charset_internal.
12632 (Ffind_charset_string): Setup the vector `charsets' correctly.
12633
12634 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
12635 the previous change.
12636 (char_table_ref_and_range): Adjust for the above change.
12637 (map_sub_char_table_for_charset): New function.
12638 (map_char_table_for_charset): New function.
12639
12640 * keymap.c (describe_vector): Handle a char-table directly here.
12641 (describe_char_table): Delete.
12642
12643 * lisp.h (map_charset_chars): Delete.
12644
126452008-02-01 Dave Love <fx@gnu.org>
12646
12647 * fns.c (count_combining): Comment out (unused).
12648 (Flocale_codeset): New.
12649 (syms_of_fns): Defsubr it.
12650
12651 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
12652 (size_t): Remove.
12653
126542008-02-01 Dave Love <fx@gnu.org>
12655
12656 * Makefile.in (chartab.o): Depend on charset.h.
12657
126582008-02-01 Kenichi Handa <handa@m17n.org>
12659
12660 * character.c (syms_of_character): Set the default value of
12661 Vprintable_chars to Qnil.
12662
126632008-02-01 Dave Love <fx@gnu.org>
12664
12665 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
12666
126672008-02-01 Kenichi Handa <handa@m17n.org>
12668
12669 * charset.c (load_charset_map): Handle the case that from < to
12670 correctly.
12671
12672 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
12673 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
12674 Pay attention to raw-8-bit chars.
12675
126762008-02-01 Kenichi Handa <handa@m17n.org>
12677
12678 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
12679 It is not bytecompiled now.
12680
12681 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
12682 (charset_jisx0208): New variables.
12683 (Fdefine_charset_internal): Setup them if appropriate.
12684 (init_charset_once): Initialize them to -1.
12685
12686 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
12687 (charset_jisx0208): Extern them.
12688
12689 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
12690 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
12691 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
12692 (setup_iso_safe_charsets): Fix arguments to Fassq.
12693 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
12694 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
12695 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
12696 (encode_coding_iso_2022): Change the 1st arg to
12697 ENCODE_ISO_CHARACTER to a variable.
12698
126992008-02-01 Kenichi Handa <handa@m17n.org>
12700
12701 * charset.h (enum define_charset_arg_index): New enums
12702 charset_arg_min_code and charset_arg_max_code.
12703 (struct charset): New member char_index_offset.
12704
12705 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
12706 Take charset->char_index_offset into account.
12707 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
12708 args[charset_arg_max_code]. Setup charset.char_index_offset.
12709 (syms_of_charset): Fix args to Fdefine_charset_internal.
12710
127112008-02-01 Dave Love <fx@gnu.org>
12712
12713 * coding.c (decode_coding_utf_8): Reject overlong sequences.
12714
127152008-02-01 Dave Love <fx@gnu.org>
12716
12717 * coding.c: Doc fixes.
12718 (Fcoding_system_aliases): Fix return value.
12719 (Qmac): Remove (duplicated) definition.
12720
127212008-02-01 Dave Love <fx@gnu.org>
12722
12723 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
12724 functions.
12725
12726 * character.c (Fstring): Doc fix.
12727
12728 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
12729
12730 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
12731 ids.
12732 (font-encoding-alist): Doc fix.
12733
127342008-02-01 Dave Love <fx@gnu.org>
12735
12736 * term.c (costs_set): Declare static, non-initialized for pcc.
12737 (encode_terminal_code): Remove unused var.
12738
12739 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
12740 for K&R.
12741
12742 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
12743
12744 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
12745 (suffixes): Move out of make_subsidiaries for K&R.
12746
12747 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
12748
12749 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
12750
127512008-02-01 Dave Love <fx@gnu.org>
12752
12753 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
12754
12755 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
12756
127572008-02-01 Yong Lu <lyongu@asia-infonet.com>
12758
12759 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
12760
12761 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
12762
127632008-02-01 Kenichi Handa <handa@m17n.org>
12764
12765 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
12766 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
12767
127682008-02-01 Kenichi Handa <handa@m17n.org>
12769
12770 * coding.c (decode_coding_charset): Adjust for the change of
12771 Fdefine_coding_system_internal.
12772 (Fdefine_coding_system_internal): For a coding system of
12773 `charset' type, store a list of charset IDs in
12774 `charset_attr_charset_valids' element of coding attributes.
12775
127762008-02-01 Kenichi Handa <handa@m17n.org>
12777
12778 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
12779 (emacs_mule_char): New arg src. Delete arg `composition'. Change
12780 caller. Handle 2-byte and 3-byte charsets correctly.
12781 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
12782 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
12783 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
12784 (DECODE_EMACS_MULE_21_COMPOSITION): Call
12785 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
12786 sequence.
12787 (decode_coding_emacs_mule): Handle composition correctly. Rewind
12788 `src' and `consumed_chars' correctly before calling emacs_mule_char.
12789 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
12790 and alt&rule composition.
12791 (decode_coding_iso_2022): Handle composition correctly.
12792 (init_coding_once): Setup emacs_mule_bytes for private charsets.
12793
12794 * charset.c (Fdefine_charset_internal): Fix bug for the case of
12795 re-defining a charset. If the charset has :emacs-mule-id, setup
12796 emacs_mule_bytes.
12797 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
12798
127992008-02-01 Kenichi Handa <handa@m17n.org>
12800
12801 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
12802 (encode_coding_big5, encode_coding_charset): If coding requires safe
12803 encoding, produce a character specified by
12804 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
12805
128062008-02-01 Dave Love <fx@gnu.org>
12807
12808 * xterm.c (XSetIMValues): Declare.
12809
12810 * process.c: Conditionally include sys/wait.h, pty.h.
12811
12812 * print.c (print_object): Fix print format for 64-bit systems.
12813
12814 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
12815
12816 * buffer.c (emacs_strerror): Declare.
12817
12818 * fontset.c (Fclear_face_cache): Declare.
12819 (accumulate_font_info): Comment-out (unused).
12820 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
12821 variables.
12822
12823 * character.h (string_escape_byte8): Declare.
12824
12825 * charset.c (load_charset_map, load_charset_map_from_file): Remove
12826 unused vars.
12827 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
12828 (Fmap_charset_chars): Doc fix.
12829
12830 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
12831 (Fset_coding_system_priority, Fset_coding_system_priority)
12832 (Fdefine_coding_system_internal): Doc fix.
12833
128342008-02-01 Dave Love <fx@gnu.org>
12835
12836 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
12837
128382008-02-01 Kenichi Handa <handa@m17n.org>
12839
12840 * character.c (string_escape_byte8): Make multibyte string with
12841 correct size.
12842
12843 * charset.c (Fmake_char): Delete unnecessary code.
12844
128452008-02-01 Kenichi Handa <handa@m17n.org>
12846
12847 * xfns.c (x_encode_text): Allocate coding.destination here, and
12848 call encode_coding_object with dst_object Qnil.
12849
12850 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
12851 multibyte form correctly.
12852
12853 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
12854 against Vfont_encoding_alist.
12855
12856 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
12857 handling of charset list.
12858 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
12859 (decode_coding_object): Move point to coding->dst_pos before
12860 calling post-read-conversion function.
12861 (encode_coding_object): Give correct arguments to
12862 pre-write-conversion. Ignore the return value of
12863 pre-write-conversion function. Pay attention to the case that
12864 pre-write-conversion changes the current buffer. If dst_object is
12865 Qt, even if coding->src_bytes is zero, allocate at least one byte
12866 to coding->destination.
12867
12868 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
12869
12870 * charset.c (Fmake_char): Make it more backward compatible.
12871 (Fmap_charset_chars): Fix docstring.
12872
128732008-02-01 Dave Love <fx@gnu.org>
12874
12875 * coding.c: Doc fixes.
12876 (Fdefine_coding_system_alias): Use names, not symbols, in
12877 coding-system-alist.
12878
128792008-02-01 Kenichi Handa <handa@m17n.org>
12880
12881 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
12882 of calling free_realized_face.
12883
128842008-02-01 Yong Lu <lyongu@asia-infonet.com>
12885
12886 * charset.c (read_hex): Don't treat SPC as a comment starter.
12887 (decode_char): If CODE_POINT_TO_INDEX returns -1, always return -1.
12888 (Fdecode_char): Fix typo.
12889
128902008-02-01 Kenichi Handa <handa@m17n.org>
12891
12892 * charset.h (struct charset): New member `code_space_mask'.
12893
12894 * coding.c (coding_set_source): Delete the local variable beg_byte.
12895 (encode_coding_charset, Fdefine_coding_system_internal):
12896 Delete the local variable charset.
12897 (Fdefine_coding_system_internal): Setup
12898 attrs[coding_attr_charset_valids] correctly.
12899
12900 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
12901 member to check if CODE is valid or not.
12902 (Fdefine_charset_internal): Initialize `code_space_mask' member.
12903 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
12904 is within the range of charset->min_code and carset->max_code.
12905
129062008-02-01 Dave Love <fx@gnu.org>
12907
12908 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
12909
12910 * dispextern.h (generate_ascii_font): Fix return type.
12911
12912 * xfaces.c (generate_ascii_font): Fix arg declaration.
12913
12914 * coding.c (coding_inherit_eol_type)
12915 (Fset_terminal_coding_system_internal)
12916 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
12917
129182008-02-01 Kenichi Handa <handa@m17n.org>
12919
12920 * coding.c (decode_coding_charset, encode_coding_charset): Handle
12921 multiple charsets correctly.
12922
129232008-02-01 Kenichi Handa <handa@m17n.org>
12924
12925 * search.c (boyer_moore): Fix handling of multibyte character
12926 translation.
12927
12928 * xdisp.c (display_mode_element): When the variable `elt' is
12929 changed, update `this' and `lisp_string'.
12930
129312008-02-01 Kenichi Handa <handa@m17n.org>
12932
12933 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
12934
12935 * callproc.c (Fcall_process): Be sure to give the current buffer
12936 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
12937
12938 * charset.c (struct charset_map_entries): New struct.
12939 (load_charset_map): Rename from parse_charset_map. New args
12940 entries and n_entries. Change caller.
12941 (load_charset_map_from_file): Rename from load_charset_map.
12942 Change caller. New arg control_flag. Call load_charset_map at
12943 the tail.
12944 (load_charset_map_from_vector): New function.
12945 (Fdefine_charset_internal): Setup charset.compact_codes_p.
12946 (encode_char): If the charset is compact, change a character index
12947 to a code point.
12948
12949 * coding.c (coding_alloc_by_making_gap): Check the case that the
12950 source and destination are the same correctly.
12951 (decode_coding_raw_text): Set coding->consumed_char and
12952 coding->consumed to 0.
12953 (produce_chars): If coding->chars_at_source is nonzero, update
12954 coding->consumed_char and coding->consumed before calling
12955 alloc_destination.
12956 (Fdefine_coding_system_alias): Register ALIAS in
12957 Vcoding_system_alist.
12958 (syms_of_coding): Define `no-conversion' coding system at the tail.
12959
12960 * fileio.c (Finsert_file_contents): Set coding_system instead of
12961 val. If the current buffer is multibyte, always call
12962 decode_coding_gap.
12963
12964 * xfaces.c (try_font_list): Give higher priority to fontset's
12965 family than face's family.
12966
129672008-02-01 Kenichi Handa <handa@m17n.org>
12968
12969 * callproc.c (Fcall_process): Be sure to give the current buffer
12970 to decode_coding_c_string.
12971
12972 * xfaces.c (try_font_list): Give a family specified in a fontset
12973 higher priority than a family specified in a face.
12974
129752008-02-01 Kenichi Handa <handa@m17n.org>
12976
12977 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
12978 Fix arguments to insert_from_buffer.
12979
12980 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
12981
129822008-02-01 Kenichi Handa <handa@m17n.org>
12983
12984 * coding.c (produce_chars): Set the variable `multibytep' correctly.
12985 (decode_coding_gap): Set coding->dst_multibyte correctly.
12986
129872008-02-01 Kenichi Handa <handa@m17n.org>
12988
12989 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
12990 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
12991 (encode_coding_utf_16): Substitute coding->default_char for
12992 non-Unicode characters.
12993 (decode_coding): Don't call record_insert here.
12994 (setup_coding_system): Initialize `surrogate' of
12995 coding->spec.utf_16 to 0.
12996 (EMIT_ONE_BYTE): Fix for multibyte case.
12997
12998 * insdel.c (insert_from_gap): Call record_insert.
12999
130002008-02-01 Kenichi Handa <handa@m17n.org>
13001
13002 * casefiddle.c (casify_region): Fix multibyte case.
13003
13004 * character.c (c_string_width): Add return type `int'.
13005 (char_string_with_unification): Delete arg ADVANCED.
13006
13007 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
13008 (CHAR_STRING): Adjust for the change of char_string_with_unification.
13009 (CHAR_STRING_ADVANCE): Make it do-while statement.
13010
13011 * chartab.c (sub_char_table_set_range): Optimize for the case
13012 DEPTH == 3. Add workaround code for a GCC optimization bug.
13013
13014 * charset.c (parse_charset_map): Remove an unused variable.
13015
13016 * coding.c: Delete unused variables.
13017
13018 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
13019 earlier. If inserted is zero and the coding system doesn't
13020 require flushing, don't call decode_coding_gap.
13021
13022 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
13023
130242008-02-01 Kenichi Handa <handa@m17n.org>
13025
13026 The following changes are for using Unicode as an internal
13027 character model, and use UTF-8 format for buffer/string
13028 representation.
13029
13030 * .gdbinit (xchartable): Adjust for the change of char table structure.
13031 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
13032
13033 * Makefile.in (obj): Add character.o and chartab.o.
13034 (lisp, shortlisp): Remove utf-8.elc.
13035 (*.o): For many files, change dependency on charset.h to
13036 character.h, and add dependency on character.h.
13037 (character.o, chartab.o): New targets.
13038
13039 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
13040 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
13041 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
13042 of "charset.h".
13043
13044 * dired.c, filelock.c: Include "character.h".
13045
13046 * alloc.c: Include "character.h" instead of "charset.h".
13047 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
13048 (syms_of_alloc): Remove defsubr for Smake_char_table.
13049
13050 * buffer.c: Include "character.h" instead of "charset.h", don't
13051 include "coding.h".
13052 (Fset_buffer_multibyte): Adjust for UTF-8.
13053
13054 * buffer.h: EXFUN Fbuffer_live_p.
13055
13056 * callproc.c: Include "character.h" instead of "charset.h".
13057 (Fcall_process): Big change for the new code-conversion APIs.
13058
13059 * casetab.c: Include "character.h" instead of "charset.h".
13060 (set_canon, set_identity, shuffle): Adjust for the new
13061 map_char_table spec.
13062 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
13063 accessing the char table structure.
13064
13065 * chartab.c: New file that implements char table.
13066
13067 * category.c: Include "character.h".
13068 (copy_category_entry): New function.
13069 (copy_category_table): Call map_char_table and copy_category_entry.
13070 (Fmake_category_table): Initialize all top-level slots.
13071 (char_category_set): New function.
13072 (modify_lower_category_set): Delete.
13073 (Fmodify_category_entry): Call char_table_ref_and_range.
13074
13075 * category.h (CATEGORY_SET): Just call char_category_set.
13076
13077 * ccl.c: Include "character.h".
13078 (Qccl, Qcclp): New variables.
13079 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
13080 it's less than 256.
13081 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
13082 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
13083 and DST type.
13084 (ccl_driver): Change types of argument, adjust code accordingly.
13085 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
13086 ccl_driver.
13087 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
13088
13089 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
13090 New members src_multibyte, dst_multibyte, consumed, and produced.
13091 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
13092 (CODING_SPEC_CCL_PROGRAM): New macro.
13093 (ccl_driver): Update prototype.
13094 (Qccl, Qcclp, Fccl_program_p): Extern them.
13095 (CHECK_CCL_PROGRAM): New macro.
13096
13097 * character.c, character.h, chartab.c: New files.
13098
13099 * charset.c: Mostly re-written. Move character and multibyte sequence
13100 handling codes to character.c.
13101
13102 * charset.h: Mostly re-written. Move character and multibyte sequence
13103 handling codes to character.h.
13104
13105 * coding.c, coding.h: Mostly re-written.
13106
13107 * composite.c: Include "character.h" instead of "charset.h".
13108 (CHAR_WIDTH): Move to character.h.
13109 (HASH_KEY, HASH_VALUE): Delete.
13110
13111 * composite.h (enum composition_method): Change order of enumeration
13112 symbols.
13113
13114 * data.c: Include "character.h" instead of "charset.h".
13115 (Faref): Call CHAR_TABLE_REF for a char table.
13116 (Faset): Call CHAR_TABLE_SET for a char table.
13117
13118 * dispextern.h (free_realized_face, check_face_attribytes)
13119 (generate_ascii_font): Extern them.
13120 (free_realized_multibyte_face): Delete extern.
13121
13122 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
13123 table structure.
13124
13125 * editfns.c: Include "character.h" instead of "charset.h".
13126 (Fchar_to_string): Always call CHAR_STRING.
13127
13128 * emacs.c (main): Call init_charset_once, init_charset,
13129 syms_of_chartab, and syms_of_character.
13130
13131 * fileio.c: Include "character.h" instead of "charset.h".
13132 (Finsert_file_contents): Big change for the new code-conversion API.
13133 (choose_write_coding_system, Fwrite_region): Likewise.
13134 (build_annotations_2): Delete.
13135 (e_write): Big change for the new code-conversion API.
13136
13137 * fns.c: Include "character.h" instead of "charset.h".
13138 (copy_sub_char_table): Move to chartab.c.
13139 (Fcopy_sequence): Call copy_char_table for a char table.
13140 (concat): Delete codes calling count_multibyte.
13141 (string_char_to_byte, string_byte_to_char): Adjust for the new
13142 multibyte form.
13143 (internal_equal): Adjust for the change of char table structure.
13144 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
13145 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
13146 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
13147 (char_table_translate, optimize_sub_char_table)
13148 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
13149 chartab.c.
13150 (char_table_ref_and_index): Delete.
13151 (HASH_KEY, HASH_VALUE): Move to lisp.h.
13152 (Fmd5): Call preferred_coding_system instead of accessing
13153 Vcoding_category_list. Adjust for the new code-conversion API.
13154 (syms_of_fns): Move defsubr for char table related functions to
13155 chartab.c.
13156
13157 * fontset.c: Mostly re-written.
13158
13159 * fontset.h (struct font_info): Change type of the member encoding_type.
13160 (enum FONT_SPEC_INDEX): New enum.
13161 (fontset_font_pattern, fs_load_font): Update prototype.
13162 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
13163
13164 * indent.c: Include "character.h" instead of "charset.h".
13165 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
13166
13167 * insdel.c: Include "character.h" instead of "charset.h".
13168 (copy_text): Don't refer to Vnonascii_translation_table.
13169 (insert_from_gap): New function.
13170
13171 * keyboard.c: Include "character.h" instead of "charset.h".
13172 (command_loop_1): Never call direct_output_forward_char before
13173 a non-ASCII character.
13174 (read_char): If Vkeyboard_translate_table is a char table, always
13175 translate a character.
13176
13177 * keymap.c: Include "character.h".
13178 (store_in_keymap): Handle the case that IDX is a cons.
13179 (Fdefine_key): Handle the case that KEY is a cons and the car part
13180 is also a cons (range).
13181 (push_key_description): Adjust for the new character code.
13182 (describe_vector): Call describe_char_table for a char table.
13183 (describe_char_table): New function.
13184
13185 * keymap.h (describe_char_table): Extern it.
13186
13187 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
13188 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
13189 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
13190 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
13191 Delete.
13192 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
13193 structure.
13194 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
13195 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
13196 (CHARTAB_SIZE_BITS_3): New macros.
13197 (chartab_size): Extern it.
13198 (struct Lisp_Char_Table): Re-design.
13199 (struct Lisp_Sub_Char_Table): New structure.
13200 (HASH_KEY, HASH_VALUE): Move from fns.c.
13201 (CHARACTERBITS): Define as 22.
13202 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
13203 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
13204 (GC_SUB_CHAR_TABLE_P): New macro.
13205 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
13206 (code_convert_string_norecord): Deleted extern.
13207 (init_character_once, syms_of_character, init_charset)
13208 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
13209
13210 * lread.c: Include "character.h".
13211 (read_multibyte): New arg NBYTES.
13212 (read_escape): Change the meaning of returned *BYTEREP.
13213 (to_multibyte): Delete.
13214 (read1): Adjust the handling of char table and string.
13215
13216 * print.c: Include "character.h" instead of "charset.h".
13217 (print_string): Convert 8-bit raw bytes to octal form by
13218 string_escape_byte8.
13219 (print_object): Adjust for the new multibyte form. Print 8-bit
13220 raw bytes always in octal form. Handle sub char table correctly.
13221
13222 * process.c: Include "character.h" instead of "charset.h".
13223 (read_process_output, send_process): Adjust for the new
13224 code-conversion API.
13225
13226 * puresize.h (BASE_PURESIZE): Increase.
13227
13228 * regex.c: Include "character.h" instead of "charset.h".
13229 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
13230 (regex_compile): Accept a range whose starting and ending
13231 character have different leading bytes.
13232 (analyse_first): Adjust for the above change.
13233
13234 * search.c: Include "character.h" instead of "charset.h".
13235 (search_buffer, boyer_moore): Adjust for the new multibyte form.
13236 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
13237
13238 * syntax.c: Include "character.h" instead of "charset.h".
13239 (syntax_parent_lookup): Delete.
13240 (Fmodify_syntax_entry): Accept a cons as CHAR.
13241 (skip_chars): Adjust for the new multibyte form.
13242 (init_syntax_once): Call char_table_set_range instead of directly
13243 accessing the structure of a char table.
13244
13245 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
13246 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
13247 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
13248 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
13249
13250 * term.c: Include "buffer.h" and "character.h".
13251 (encode_terminal_code, write_glyphs): Adjust for the new
13252 code-conversion API.
13253 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
13254
13255 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
13256
13257 * xdisp.c: Include "character.h".
13258 (get_next_display_element): Adjust for the new multibyte form.
13259 (disp_char_vector): Adjust for the new char table structure.
13260 (decode_mode_spec_coding): Adjust for the new structure of
13261 coding system.
13262 (decode_mode_spec): Adjust for the new code-conversion API.
13263
13264 * xfaces.c: Include "character.h" instead of "charset.h".
13265 (load_face_font): Adjust for the change of choose_face_font and
13266 FS_LOAD_FONT.
13267 (generate_ascii_font): New function.
13268 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
13269 (set_font_frame_param): Adjust for the change of choose_face_font.
13270 (free_realized_face): Make it public.
13271 (free_realized_faces_for_fontset): Rename from
13272 free_realized_multibyte_face. Free also faces realized for ASCII.
13273 (choose_face_font): Change arguments. Adjust for the change of
13274 fontset_font_pattern and FS_LOAD_FONT.
13275
13276 * xfns.c: Include "character.h".
13277 (x_encode_text): Adjust for the new code-conversion API.
13278
13279 * xselect.c: Don't include "charset.h".
13280 (selection_data_to_lisp_data): Adjust for the new code conversion API.
13281
13282 * xterm.c: Include "character.h".
13283 (x_encode_char): New argument CHARSET. Change caller.
13284 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
13285 Call ENCODE_CHAR instead of SPLIT_CHAR.
13286 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
13287 CHAR_WIDTH instead of CHARSET_WIDTH.
13288 (XTread_socket): Adjust for the new code-conversion API.
13289 (x_new_font): Adjust for the change of FS_LOAD_FONT.
13290 (x_load_font): Adjust for the change of struct font.
13291
132922008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
13293
13294 * xfaces.c (face_at_buffer_position): Remove unused vars.
13295
132962008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
13297
13298 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
13299 Fix overflow checking.
13300
133012008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
13302
13303 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
13304 Cancel previous change.
13305
133062008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
13307
13308 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
13309 ccl->eight_bit_control. Fix check for buffer overflow.
13310 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
13311 (ccl_driver): Initialize extra_bytes to 0.
13312
133132008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
13314
13315 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
13316 return it ORed with ctrl_modifier.
13317
133182008-01-29 Miles Bader <miles@gnu.org>
13319
13320 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
13321
133222008-01-28 Jason Rumney <jasonr@gnu.org>
13323
13324 * w32.c (stat): Don't double check for networked drive.
13325
133262008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
13327
13328 * window.c (run_window_configuration_change_hook): New function.
13329 Code extracted from set_window_buffer. Set the selected frame.
13330 (set_window_buffer): Use it.
13331 * window.h (run_window_configuration_change_hook): Declare.
13332 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
13333
13334 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
13335
133362008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
13337
13338 * Makefile.in: Remove references to unused macros.
13339
133402008-01-26 Eli Zaretskii <eliz@gnu.org>
13341
13342 * w32.c (g_b_init_get_sid_sub_authority)
13343 (g_b_init_get_sid_sub_authority_count): New static variables.
13344 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
13345 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
13346 (init_user_info): Use them to retrieve uid and gid.
13347 Use 500/513, the Windows defaults, as Administrator's uid/gid.
13348 (fstat): Use pw_uid and pw_gid from the_passwd structure for
13349 st_uid and st_gid of the file.
13350
133512008-01-26 Jason Rumney <jasonr@gnu.org>
13352
13353 * w32.c (logon_network_drive): New function.
13354 (stat): Use it.
13355
133562008-01-26 Chong Yidong <cyd@stupidchicken.com>
13357
13358 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
13359 invisible text covered with an ellipsis.
13360
133612008-01-25 Richard Stallman <rms@gnu.org>
13362
13363 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
13364 jump back to beginning. Move some other initializations after that.
13365 (Qwindow_text_change_functions, Vwindow_text_change_functions):
13366 New variables.
13367 (syms_of_xdisp): Init them.
13368
13369 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
13370
13371 * buffer.c (reset_buffer_local_variables):
13372 Implement `permanent-local-hook'.
13373 (Qpermanent_local_hook): New variable.
13374 (syms_of_buffer): Init and staticpro it.
13375
133762008-01-25 Michael Albinus <michael.albinus@gmx.de>
13377
13378 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
13379
133802008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
13381
13382 * fns.c (Fclrhash): Return TABLE.
13383
133842008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13385
13386 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
13387 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
13388 is set even without positional changes.
13389 (x_scroll_bar_clear): Set bar->redraw_needed_p.
13390
13391 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
13392
133932008-01-23 Jason Rumney <jasonr@gnu.org>
13394
13395 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
13396
13397 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
13398 the unicode range available in MULE by locale-coding-system.
13399 Improve dbcs lead byte detection. Set event timestamp and modifiers
13400 earlier.
13401
134022008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13403
13404 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
13405 [MAC_OSX] (init_mac_osx_environment): Initialize it.
13406 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
13407 when used on child processes.
13408
134092008-01-21 Michael Albinus <michael.albinus@gmx.de>
13410
13411 * dbusbind.c (Fdbus_method_return_internal): Rename from
13412 Fdbus_method_return.
13413 (Fdbus_unregister_object): Move to dbus.el.
13414 (Fdbus_call_method, Fdbus_method_return_internal)
13415 (Fdbus_send_signal): Improve debug messages.
13416
134172008-01-20 Martin Rudalics <rudalics@gmx.at>
13418
13419 * undo.c (undo_inhibit_record_point): New variable.
13420 (syms_of_undo): Initialize it.
13421 (record_point): Don't record point when undo_inhibit_record_point
13422 is set.
13423
134242008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
13425
13426 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
13427
13428 * xdisp.c (Qauto_hscroll_mode): New var.
13429 (syms_of_xdisp): Initialize it.
13430 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
13431 window's buffer.
13432 (hscroll_windows): Don't check automatic_hscrolling_p here.
13433
13434 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
13435 vscroll if we're setting window-buffer to the value it already has.
13436
134372008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
13438
13439 * m/intel386.h: Remove references to XENIX.
13440
134412008-01-17 Andreas Schwab <schwab@suse.de>
13442
13443 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
13444 instead of HAVE_X86_64_LIB64_DIR.
13445 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
13446
134472008-01-17 Glenn Morris <rgm@gnu.org>
13448
13449 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
13450 to HAVE_X86_64_LIB64_DIR.
13451
134522008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
13453
13454 * s/irix3-3.h:
13455 * s/irix4-0.h:
13456 * s/386-ix.h:
13457 * s/domain.h:
13458 * s/hpux9-x11r4.h:
13459 * s/hpux9shxr4.h: Remove files for systems no longer supported.
13460
13461 * sysdep.c: Remove code containing references to symbols defined
13462 by unsupported systems.
13463
134642008-01-16 Glenn Morris <rgm@gnu.org>
13465
13466 * coding.c (select-safe-coding-system-function): Doc fix.
13467
134682008-01-15 Glenn Morris <rgm@gnu.org>
13469
13470 * config.in: Revert 2008-01-13 change: this is a generated file.
13471
134722008-01-13 Tom Tromey <tromey@redhat.com>
13473
13474 * lisp.h: Fix typo.
13475
134762008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
13477
13478 * m/sequent-ptx.h:
13479 * m/sequent.h:
13480 * s/ptx.h:
13481 * s/ptx4-2.h:
13482 * s/ptx4.h: Remove files for systems no longer supported.
13483
13484 * callproc.c (Fcall_process): Fix previous change.
13485
134862008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
13487
13488 * unexsunos4.c: Remove file, system not supported anymore.
13489
13490 * m/mips.h:
13491 * m/intel386.h:
13492 * callproc.c:
13493 * config.in:
13494 * ecrt0.c:
13495 * emacs.c:
13496 * fileio.c:
13497 * frame.c:
13498 * getpagesize.h:
13499 * keyboard.c:
13500 * lread.c:
13501 * process.c:
13502 * puresize.h:
13503 * sysdep.c:
13504 * systty.h:
13505 * syswait.h:
13506 * unexec.c:
13507 * xdisp.c:
13508 * alloc.c: Remove code containing references to symbols defined by
13509 unsupported systems.
13510
135112008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
13512
13513 * coding.c (detect_coding_mask): Fix previous change.
13514
135152008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
13516
13517 * coding.c (detect_coding_iso2022): New arg
13518 latin_extra_code_state. Allow Latin extra codes only
13519 when *latin_extra_code_state is nonzero.
13520 (detect_coding_mask): If there is a NULL byte, detect the encoding
13521 as UTF-16 or binary. If Latin extra codes exist, detect the
13522 encoding as ISO-2022 only when there's no other proper encoding is
13523 found.
13524
135252008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13526
13527 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
13528 #ifdef MAC_OS.
13529
135302008-01-08 Richard Stallman <rms@gnu.org>
13531
13532 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
13533
135342008-01-06 Nick Roberts <nickrob@snap.net.nz>
13535
13536 * keyboard.c (parse_menu_item): Don't enclose key bindings on
13537 menu bar in parentheses.
13538
135392008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
13540
13541 * m/7300.h:
13542 * m/acorn.h:
13543 * m/alliant-2800.h:
13544 * m/alliant.h:
13545 * m/alliant1.h:
13546 * m/alliant4.h:
13547 * m/altos.h:
13548 * m/amdahl.h:
13549 * m/apollo.h:
13550 * m/att3b.h:
13551 * m/aviion-intel.h:
13552 * m/aviion.h:
13553 * m/celerity.h:
13554 * m/clipper.h:
13555 * m/cnvrgnt.h:
13556 * m/convex.h:
13557 * m/cydra5.h:
13558 * m/delta88k.h:
13559 * m/dpx2.h:
13560 * m/dual.h:
13561 * m/elxsi.h:
13562 * m/f301.h:
13563 * m/gould-np1.h:
13564 * m/gould.h:
13565 * m/i860.h:
13566 * m/ibmps2-aix.h:
13567 * m/ibmrt-aix.h:
13568 * m/ibmrt.h:
13569 * m/irist.h:
13570 * m/is386.h:
13571 * m/isi-ov.h:
13572 * m/mega68.h:
13573 * m/mg1.h:
13574 * m/news-r6.h:
13575 * m/news-risc.h:
13576 * m/news.h:
13577 * m/nh3000.h:
13578 * m/nh4000.h:
13579 * m/ns16000.h:
13580 * m/ns32000.h:
13581 * m/nu.h:
13582 * m/orion.h:
13583 * m/orion105.h:
13584 * m/paragon.h:
13585 * m/pfa50.h:
13586 * m/plexus.h:
13587 * m/pyramid.h:
13588 * m/pyrmips.h:
13589 * m/sh3el.h:
13590 * m/sps7.h:
13591 * m/sr2k.h:
13592 * m/stride.h:
13593 * m/sun1.h:
13594 * m/sun2.h:
13595 * m/sun3-68881.h:
13596 * m/sun3-fpa.h:
13597 * m/sun3-soft.h:
13598 * m/sun3.h:
13599 * m/sun386.h:
13600 * m/symmetry.h:
13601 * m/tad68k.h:
13602 * m/tahoe.h:
13603 * m/targon31.h:
13604 * m/tek4300.h:
13605 * m/tekxd88.h:
13606 * m/tower32.h:
13607 * m/tower32v3.h:
13608 * m/ustation.h:
13609 * m/wicat.h:
13610 * m/xps100.h:
13611 * s/cxux.h:
13612 * s/cxux7.h:
13613 * s/dgux.h:
13614 * s/dgux4.h:
13615 * s/dgux5-4-3.h:
13616 * s/dgux5-4r2.h:
13617 * s/esix.h:
13618 * s/esix5r4.h:
13619 * s/hiuxmpp.h:
13620 * s/hiuxwe2.h:
13621 * s/iris3-5.h:
13622 * s/iris3-6.h:
13623 * s/isc2-2.h:
13624 * s/isc3-0.h:
13625 * s/isc4-0.h:
13626 * s/isc4-1.h:
13627 * s/newsos5.h:
13628 * s/newsos6.h:
13629 * s/osf1.h:
13630 * s/osf5-0.h:
13631 * s/riscix1-1.h:
13632 * s/riscix12.h:
13633 * s/sco4.h:
13634 * s/sco5.h:
13635 * s/sunos4-0.h:
13636 * s/sunos4-1.h:
13637 * s/sunos413.h:
13638 * s/sunos4shr.h:
13639 * s/umax.h:
13640 * s/unipl5-2.h:
13641 * s/xenix.h:
13642 * cxux-crt0.s:
13643 * unexapollo.c:
13644 * unexconvex.c:
13645 * unexenix.c:
13646 * unexsni.c: Remove files for systems no longer supported.
13647
13648 * m/intel386.h: Remove references to unsupported systems.
13649
13650 * w32.c (get_emacs_configuration): Remove reference to i860.
13651
13652 * sysdep.c: Remove dead code.
13653
136542008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
13655
13656 * s/rtu.h:
13657 * m/masscomp.h: Remove files. Platform is obsolete.
13658
136592008-01-04 Michael Albinus <michael.albinus@gmx.de>
13660
13661 * dbusbind.c (Fdbus_method_return): New function.
13662 (xd_read_message): Add the serial number to the event.
13663 (Fdbus_register_method): Activate the function.
13664
136652008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
13666
13667 * keyboard.c (read_key_sequence): Fix typo.
13668
136692008-01-03 Michael Albinus <michael.albinus@gmx.de>
13670
13671 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
13672 (xd_signature, xd_append_arg): Handle element type detection for
13673 empty arrays.
13674 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
13675 SDATA () calls; this must be solved more general.
13676 (Fdbus_register_signal): Use SBYTES instead of strlen.
13677
136782008-01-03 Magnus Henoch <magnus@zemdatav>
13679
13680 * dbusbind.c (xd_append_arg): Use unsigned char instead of
13681 unsigned int for byte values (necessary for big-endian platform).
13682 (Fdbus_call_method): Handle the case of no returned arguments.
13683
136842007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
13685
13686 * dbusbind.c (xd_read_message): Use non-static input_event struct.
13687
136882007-12-31 Magnus Henoch <mange@freemail.hu>
13689
13690 * dbusbind.c (xd_signature): Signature of variant is just "v".
13691
136922007-12-30 Michael Albinus <michael.albinus@gmx.de>
13693
13694 * dbusbind.c: Fix several errors and compiler warnings.
13695 Reported by Tom Tromey <tromey@redhat.com>.
13696 (XD_ERROR, XD_DEBUG_MESSAGE)
13697 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
13698 (xd_append_arg): Part for basic D-Bus types rewritten.
13699 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
13700 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
13701 appropriate.
13702 (xd_read_message): Return Qnil. Don't signal an error; it is not
13703 useful during event reading.
13704 (Fdbus_register_signal): Signal an error if the check for
13705 FUNCTIONP fails.
13706 (Fdbus_register_method): New function. The implementation is not
13707 complete, the call of the function signals an error therefore.
13708 (Fdbus_unregister_object): New function, renamed from
13709 Fdbus_unregister_signal. The initial check signals an error, if
13710 the object is not well formed.
13711
137122007-12-30 Richard Stallman <rms@gnu.org>
13713
13714 * textprop.c (get_char_property_and_overlay):
13715 Signal error if POSITION is out of range in a buffer.
13716
137172007-12-29 Martin Rudalics <rudalics@gmx.at>
13718
13719 * w32fns.c (Fx_create_frame): Make copy of frame parameters
13720 because the original parameters are in pure storage now.
13721
137222007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13723
13724 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
13725
137262007-12-22 Eli Zaretskii <eliz@gnu.org>
13727
13728 * callint.c (syms_of_callint) <command-history>: Add reference to
13729 history-length in the doc string.
13730
137312007-12-17 Jason Rumney <jasonr@gnu.org>
13732
13733 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
13734 before passing as wParam.
13735
137362007-12-22 Michael Albinus <michael.albinus@gmx.de>
13737
13738 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
13739 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
13740 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
13741 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
13742 as number.
13743 (Fdbus_call_method): Fix docstring.
13744
137452007-12-21 Michael Albinus <michael.albinus@gmx.de>
13746
13747 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
13748 New macros.
13749 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
13750 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
13751 Simplify.
13752 (xd_signature): New function.
13753 (xd_append_arg): Compute also signatures. Major rewrite.
13754 (xd_retrieve_arg): Make debug messages friendly.
13755 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
13756 Check for signatures of arguments.
13757
137582007-12-19 Michael Albinus <michael.albinus@gmx.de>
13759
13760 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
13761 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
13762 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
13763 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
13764 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
13765 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
13766 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
13767 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
13768 (xd_retrieve_value): Remove. Functionality included in ...
13769 (xd_append_arg): New function.
13770 (Fdbus_call_method, Fdbus_send_signal): Apply it.
13771
137722007-12-16 Michael Albinus <michael.albinus@gmx.de>
13773
13774 * dbusbind.c (top): Include <stdio.h>.
13775 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
13776 dbus_message_new_method_call and dbus_message_new_signal.
13777 (Fdbus_register_signal): Rename unique_name to uname.
13778 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
13779 non-existing unique name. Fix typos in matching rule. Return an
13780 object which is useful in Fdbus_unregister_signal.
13781 (Fdbus_unregister_signal): Reimplementation, in order to remove
13782 only the corresponding entry.
13783 (Vdbus_registered_functions_table): Change the order of entries.
13784 Apply these changes in xd_read_message and Fdbus_register_signal.
13785
137862007-12-16 Andreas Schwab <schwab@suse.de>
13787
13788 * fileio.c (Finsert_file_contents): Fix overflow check to not
13789 depend on undefined integer overflow.
13790
137912007-12-14 Jason Rumney <jasonr@gnu.org>
13792
13793 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
13794 for characters above 127.
13795
137962007-12-13 Jason Rumney <jasonr@gnu.org>
13797
13798 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
13799 before dereferencing array.
13800 (lookup_vk_code): Remove zero comparison.
13801
138022007-12-14 Michael Albinus <michael.albinus@gmx.de>
13803
13804 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
13805 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
13806 Use `unsigned int' instead of `uint'.
13807 (xd_read_message, Fdbus_register_signal): Split expressions into
13808 multiple lines before operators "&&" and "||", according to the
13809 GNU Coding Standards.
13810
138112007-12-14 Eli Zaretskii <eliz@gnu.org>
13812
13813 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
13814
138152007-12-12 Juri Linkov <juri@jurta.org>
13816
13817 * buffer.c (Frename_buffer): In interactive spec replace
13818 `read-buffer' with `read-string' that uses `buffer-name-history'
13819 as history, and the current buffer's name as default.
13820
138212007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
13822
13823 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
13824 manipulating the backtrace manually.
13825 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
13826 (struct backtrace, backtrace_list): Remove.
13827 (command_loop_1): Remove dead var `no_direct'.
13828
13829 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
13830 preserve non-built-in buffer-local variables.
13831 (Fkill_all_local_variables): Don't re-create&re-set permanent
13832 buffer-local variables.
13833
138342007-12-09 Juri Linkov <juri@jurta.org>
13835
13836 * buffer.c (Frename_buffer): Change interactive spec from "s" to
13837 Lisp code that uses `read-buffer' with current buffer as default.
13838
138392007-12-08 Michael Albinus <michael.albinus@gmx.de>
13840
13841 * dbusbind.c (xd_read_message): Generate an event for every
13842 registered handler. There might be several handlers registered
13843 for the same signal.
13844 (Fdbus_register_signal): Don't overwrite a registration for the
13845 same signal. Add a new registration if handlers are different.
13846 (Vdbus_registered_functions_table): Rework doc string.
13847
138482007-12-07 Michael Albinus <michael.albinus@gmx.de>
13849
13850 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
13851 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
13852 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
13853 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
13854 Unify argument lists.
13855 (xd_read_message, Fdbus_register_signal): Reorder and extend event
13856 arguments and hash table keys. Use unique name for service.
13857 (Fdbus_unregister_signal): Remove checks.
13858 (Vdbus_registered_functions_table): Fix doc string.
13859
138602007-12-05 Magnus Henoch <mange@freemail.hu>
13861
13862 * process.c (make_process): Initialize pty_flag to 0.
13863
138642007-12-05 Jason Rumney <jasonr@gnu.org>
13865
13866 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
13867 specified XBMs.
13868
138692007-12-05 Richard Stallman <rms@gnu.org>
13870
13871 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
13872
138732007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13874
13875 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
13876 New variable.
13877 (mac_try_close_socket) [MAC_OSX]: New function.
13878 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
13879 Update cfsockets_for_select. Replace invalid CFRunLoop source.
13880
13881 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
13882 Use mac_try_close_socket.
13883
138842007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13885
13886 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
13887 reloc_base.
13888 (copy_dysymtab): Compute relocation base here.
13889 (rebase_reloc_address) [__ppc64__]: New function.
13890 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
13891 changed.
13892
138932007-12-05 Jason Rumney <jasonr@gnu.org>
13894
13895 * w32proc.c (sys_spawnve): Quote args with wildcards.
13896
138972007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13898
13899 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
13900 __objc_* sections.
13901 (unrelocate) [_LP64]: Set relocation base to address of data segment.
13902
139032007-12-05 Michael Albinus <michael.albinus@gmx.de>
13904
13905 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
13906 Move check for Vdbus_registered_functions_table to
13907 xd_read_queued_messages.
13908 (xd_read_queued_messages): Protect xd_read_message calls by
13909 internal_condition_case_1.
13910
139112007-12-04 Michael Albinus <michael.albinus@gmx.de>
13912
13913 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
13914 Qdbus_system_bus and Qdbus_session_bus, respectively.
13915 (Vdbus_intern_symbols): Remove.
13916 (Vdbus_registered_functions_table): New hash table.
13917 (XD_SYMBOL_INTERN_SYMBOL): Remove.
13918 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
13919 Rewrite in order to manage registered functions by hash table
13920 Vdbus_registered_functions_table.
13921
139222007-12-03 Jan Djärv <jan.h.d@swipnet.se>
13923
13924 * xterm.c: Update URL to Window Manager Specification in comment.
13925
139262007-12-02 Michael Albinus <michael.albinus@gmx.de>
13927
13928 * config.in (HAVE_DBUS): Add.
13929
13930 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
13931 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
13932 (obj): Add $(DBUS_OBJ).
13933 (LIBES): Add $(DBUS_LIBS).
13934 (dbusbind.o): New target.
13935
13936 * dbusbind.c: New file.
13937
13938 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
13939
13940 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
13941 (Qdbus_event): New Lisp symbol.
13942 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
13943 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
b97439ce 13944 (keys_of_keyboard): Define dbus-event.
aac0c6e3
MR
13945
13946 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
13947
139482007-12-01 Richard Stallman <rms@gnu.org>
13949
13950 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
13951
139522007-11-30 Jason Rumney <jasonr@gnu.org>
13953
13954 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
13955 (w32con_reset_terminal_modes): Clear screen buffer.
13956 (w32_face_attributes): Don't use color indexes that are out of range.
13957 Only reverse the default colors.
13958
13959 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
13960 WINDOWSNT.
13961
13962 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
13963
139642007-11-29 Jason Rumney <jasonr@gnu.org>
13965
13966 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
13967 (w32_face_attributes): Use Vtty_defined_color_alist to determine
13968 if the terminal colors are initialized.
13969 (unspecified_fg, unspecified_bg): Remove unused declarations.
13970
139712007-11-29 Andreas Schwab <schwab@suse.de>
13972
13973 * keyboard.c (apply_modifiers): Fix typo.
13974
139752007-11-29 Richard Stallman <rms@gnu.org>
13976
13977 * keymap.c (Fcurrent_local_map): Doc fix.
13978
139792007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
13980
13981 * s/gnu-kfreebsd.h: New file.
13982
139832007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
13984
13985 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
13986 Don't cast redundantly.
13987
13988 * keyboard.c (KEY_TO_CHAR): New macro.
13989 (parse_modifiers, apply_modifiers): Accept integer arguments.
13990 (read_key_sequence): Use them to unify the "shift->unshift" mapping
13991 for chars and symbol keys.
13992 After doing such remapping, apply function-key-map again.
13993
139942007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
13995
13996 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
13997 compiled anymore.
13998
139992007-11-26 Andreas Schwab <schwab@suse.de>
14000
14001 * process.c (list_processes_1): Fix indentation level of the
14002 command column.
14003
140042007-11-23 Andreas Schwab <schwab@suse.de>
14005
14006 * editfns.c (Fformat): Handle %c specially since it requires the
14007 argument to be of type int.
14008
140092007-11-23 Markus Triska <markus.triska@gmx.at>
14010
14011 * emacs.c (main): Call init_editfns before init_process, since
14012 init_process sets Vprocess_connection_type depending on OS release.
14013
140142007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
14015
14016 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
14017 (find_symbol_value): Use do_symval_forwarding.
14018
14019 * data.c (set_internal): Set the value in the `cons-cell' (for
14020 Buffer_Local_values) not only for frame-local variables.
14021
140222007-11-22 Andreas Schwab <schwab@suse.de>
14023
14024 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
14025 values to sprintf.
14026 * keymap.c (Fsingle_key_description): Likewise.
14027 * print.c (print_object): Likewise.
14028
140292007-11-22 Jan Djärv <jan.h.d@swipnet.se>
14030
14031 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
14032 file for image is nil.
14033
140342007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
14035
14036 * term.c: Include stdarg.h.
14037 (fatal): Implement using varargs.
14038 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
14039
140402007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
14041
14042 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
14043 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
14044 Update call to buffer_slot_type_mismatch.
14045 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
14046 (buffer_slot_type_mismatch): Update.
14047 * buffer.c (buffer_local_types): Remove.
14048 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
14049 (defvar_per_buffer): Set the type in the buffer_objfwd.
14050
140512007-11-21 Jason Rumney <jasonr@gnu.org>
14052
14053 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
14054 CreateFileMapping returns NULL on failure.
14055
140562007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
14057
14058 * search.c (Fset_match_data): Remove the `evaporate' feature.
14059 (unwind_set_match_data): Don't use the `evaporate' feature.
14060
140612007-11-21 Jason Rumney <jasonr@gnu.org>
14062
14063 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
14064
14065 * w32console.c (w32con_write_glyphs): Remove unused variables.
14066
140672007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
14068
14069 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
14070
14071 * s/darwin.h (MULTI_KBOARD): Remove.
14072
14073 * macfns.c (x_create_tip_frame, Fx_create_frame)
14074 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
14075
140762007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
14077
14078 * buffer.c (Fbuffer_local_value): Remove redundant test.
14079 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
14080 than in `current-buffer' to match the comment.
14081 Do the swap using swap_in_global_binding.
14082
14083 * data.c (store_symval_forwarding, set_internal):
14084 * eval.c (specbind): Remove dead code.
14085
14086 * coding.c (detect_coding, Fupdate_coding_systems_internal):
14087 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
14088 Since we do not want to see internal Lisp_*fwd objects here.
14089
140902007-11-18 Jan Djärv <jan.h.d@swipnet.se>
14091
14092 * sysdep.c (init_system_name): Use getaddrinfo if available.
14093
14094 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
14095 (x_scroll_bar_note_movement): start, end, with, height in struct
14096 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
14097
140982007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
14099
14100 * puresize.h (BASE_PURESIZE): Increase to 1190000.
14101
141022007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
14103
14104 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
14105 This undoes Richard's change of 14-Oct-2002.
14106
14107 * alloc.c (allocate_other_vector):
14108 * lisp.h (allocate_other_vector): Remove.
14109
14110 * window.c (struct save_window_data): Move non-lisp data to the end
14111 and make it `int' rather than Lisp_Object.
14112 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
14113 Done wrap/unwrap integer values.
14114 (Fset_window_configuration, compare_window_configurations):
14115 Update use of fields to their new types.
14116
14117 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
14118 Turn integer fields into `int'. Merge x_window_low and x_window_high.
14119 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
14120 (SET_SCROLL_BAR_X_WINDOW): Remove.
14121 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
14122 Access the new x_window field directly.
14123 * xterm.c (x_scroll_bar_create): Use a pseudovector.
14124 Don't wrap/unwrap integers into Lisp_Objects.
14125 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
14126 (x_scroll_bar_report_motion):
14127 Don't wrap/unwrap integers into Lisp_Objects.
14128 (x_term_init): Use SDATA.
14129 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
14130 (x_scroll_bar_set_handle, x_scroll_bar_remove)
14131 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
14132 (x_scroll_bar_report_motion, x_scroll_bar_clear):
14133 * xfns.c (x_set_background_color):
14134 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
14135 Access the new x_window field directly.
14136
14137 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
14138 (allocate_pseudovector): Make non-static.
14139
14140 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
14141 (allocate_pseudovector): Declare.
14142 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
14143
141442007-11-15 Andreas Schwab <schwab@suse.de>
14145
14146 * editfns.c (Fformat): Correctly format EMACS_INT values.
14147 Also take precision into account when formatting an integer.
14148
14149 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
14150
141512007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
14152
14153 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
14154 (syms_of_keyboard): Defsubr it.
14155
14156 * data.c (swap_in_global_binding): Fix longstanding bug where
14157 store_symval_forwarding was not called with the right second argument,
14158 thus causing objfwd-ing from being dropped.
14159
141602007-11-14 Juanma Barranquero <lekktu@gmail.com>
14161
14162 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
14163 (Fx_display_pixel_height, Fx_display_planes)
14164 (Fx_display_color_cells, Fx_server_max_request_size)
14165 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
14166 (Fx_display_visual_class, Fx_display_save_under):
14167 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
14168 (Fx_display_pixel_height, Fx_display_planes)
14169 (Fx_display_color_cells, Fx_server_max_request_size)
14170 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
14171 (Fx_display_mm_height, Fx_display_mm_width)
14172 (Fx_display_backing_store, Fx_display_visual_class)
14173 (Fw32_select_font, Fx_display_save_under):
14174 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
14175 (Fx_display_pixel_height, Fx_display_planes)
14176 (Fx_display_color_cells, Fx_server_max_request_size)
14177 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
14178 (Fx_display_save_under): Fix typos in docstrings.
14179
141802007-11-14 Juanma Barranquero <lekktu@gmail.com>
14181
14182 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
14183 corresponding to deleted entries; they are an implementation detail.
14184 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
14185 Remove variables.
14186 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
14187 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
14188 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
14189 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
14190 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
14191 (Fw32_define_rgb_color, Fw32_load_color_file)
14192 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
14193 Fix typos in docstrings.
14194 (Fx_server_version): Reflow docstring.
14195 (Fw32_shell_execute): Doc fixes.
14196
141972007-11-13 Juanma Barranquero <lekktu@gmail.com>
14198
14199 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
14200 if w32_parse_hot_key returned nil.
14201
142022007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
14203
14204 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
14205
142062007-11-09 Jason Rumney <jasonr@gnu.org>
d6c952f8 14207
aac0c6e3
MR
14208 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
14209
14210 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
14211
14212 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
14213 Remove W32_SCROLL_BAR_CLICK_EVENT.
14214
14215 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
14216 Add MULTIMEDIA_KEY_EVENT.
14217
14218 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
14219 (lispy_multimedia_keys) [WINDOWSNT]: New array.
14220 (make_lispy_event) [WINDOWSNT]: Use it to translate
14221 MULTIMEDIA_KEY_EVENT.
14222
14223 * w32term.h (WM_APPCOMMAND): Define if not already.
14224 (GET_APPCOMMAND_LPARAM): Likewise.
14225
14226 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
14227 WM_APPCOMMAND.
14228
14229 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
14230 (syms_of_w32fns): Export and initialize it.
14231 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
14232
142332007-11-09 Chong Yidong <cyd@stupidchicken.com>
14234
14235 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
14236 twice.
14237
14238 * xdisp.c (handle_face_prop): Fix last change.
14239
142402007-11-09 Richard Stallman <rms@gnu.org>
14241
14242 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
14243 not just for after-strings and before-strings.
14244 Call face_for_overlay_string and pass the overlay to it.
14245 (handle_display_prop): Determine whether property came from an overlay.
14246 Pass OVERLAY arg to handle_single_display_spec.
14247 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
14248 (load_overlay_strings): Fill in it->string_overlays.
14249 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
14250
14251 * xfaces.c (face_for_overlay_string): Function renamed from
14252 face_at_buffer_position_no_overlays, and add arg OVERLAY.
14253
14254 * dispextern.h (struct it): New elt string_overlays.
14255 New elt from_overlay, also in stack.
14256 Rearrange a few elements.
14257 (face_for_overlay_string): Decl renamed from
14258 face_at_buffer_position_no_overlays, and add argument.
14259
142602007-11-09 Richard Stallman <rms@gnu.org>
14261
14262 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
14263 to get the base face for an overlay string.
14264
14265 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
14266
14267 * xfaces.c (face_at_buffer_position_no_overlays): New function.
14268
14269 * xdisp.c (handle_stop): Move some code out of loop.
14270
142712007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14272
14273 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
14274 Fix conversion from Lisp object to ATSUFontID.
14275
142762007-11-09 Jason Rumney <jasonr@gnu.org>
14277
14278 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
14279
142802007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14281
14282 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
14283 Don't assume regions are aligned to page boundary.
14284 (print_load_command_name): Add LC_UUID if defined.
14285
142862007-11-09 Richard Stallman <rms@gnu.org>
14287
14288 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
14289
142902007-11-07 Jason Rumney <jasonr@gnu.org>
14291
14292 * s/windows95.h: Remove.
14293
142942007-11-06 Jan Djärv <jan.h.d@swipnet.se>
14295
14296 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
14297 abort with a message on unhandled store_type values.
14298
142992007-11-01 Jan Djärv <jan.h.d@swipnet.se>
14300
14301 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
14302 Remove HAVE_X11R5 and HAVE_X11R4.
14303
143042007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
14305
14306 * Makefile.in: Remove references to sunfns.c and sunfns.o.
14307
143082007-11-01 Johan Bockgård <bojohan@gnu.org>
14309
14310 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
14311 Don't set s->stippled_p here, since it has already been set by
14312 x_set_glyph_string_gc from x_draw_glyph_string.
14313
143142007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
14315
14316 * sunfns.c: Remove file.
14317
14318 * m/sun386.h:
14319 * m/sun2.h:
14320 * m/sparc.h: Remove Sun windows code.
14321
143222007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
14323
14324 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
14325 (init_keyboard): Set current_kboard's window-system to nil.
14326 (tty_read_avail_input): Typo.
14327 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
14328
143292007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
14330
14331 * s/usg5-4.h:
14332 * s/usg5-3.h:
14333 * s/ptx.h:
14334 * m/is386.h:
14335 * m/ibmps2-aix.h:
14336 * Makefile.in: Remove all mentions of X10.
14337
14338 * dispnew.c (syms_of_display): Don't mention version 10.
14339
143402007-10-28 Juanma Barranquero <lekktu@gmail.com>
14341
14342 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
14343 ($(BLD)/abbrev.$(O)): Remove.
14344
143452007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
14346
14347 Rewrite abbrev.c in Elisp.
14348 * image.c (Qcount): Don't declare as extern.
14349 (syms_of_image): Initialize and staticpro `Qcount'.
14350 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
14351 * emacs.c (main): Don't call syms_of_abbrev.
14352 * Makefile.in (obj): Remove abbrev.o.
14353 (abbrev.o): Remove.
14354 * abbrev.c: Remove.
14355
143562007-10-26 Martin Rudalics <rudalics@gmx.at>
14357
14358 * window.c (window_min_size_2): Don't count header-line.
14359
143602007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
14361
14362 * frame.h (struct frame): Move all bit fields after the first bit
14363 field to take advantage of the available space. Group all the
14364 chars together to reduce wasted space due to padding.
14365
143662007-10-26 Juanma Barranquero <lekktu@gmail.com>
14367
14368 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
14369
14370 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
14371 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
14372 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
14373 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
14374 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
14375 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
14376 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
14377 (last_marked, mark_object_loop_halt): Make static.
14378
14379 * frame.c (syms_of_frame) <delete-frame-functions>:
14380 Fix typo in docstring.
14381
143822007-10-25 Juanma Barranquero <lekktu@gmail.com>
14383
14384 * w32.c (init_environment): Fix tiny memory leak.
14385 (w32_get_resource): Remove unused variable `ok'.
14386
143872007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
14388
14389 Make `window-system' into a keyboard-local variable (rather than
14390 frame-local as done originally by multi-tty).
14391
14392 * keyboard.h (struct kboard): Add Vwindow_system.
14393 * keyboard.c (init_kboard): Set a default for Vwindow_system.
14394 (mark_kboards): Mark Vwindow_system.
14395
14396 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
14397 (init_display): Don't set the obsolete `window-system' frame-param.
14398
14399 * xterm.c (x_term_init):
14400 * w32term.c (w32_create_terminal):
14401 * term.c (init_tty): Set Vwindow_system.
14402 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
14403 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
14404
14405 * xfns.c (Fx_create_frame, x_create_tip_frame):
14406 * w32fns.c (Fx_create_frame, x_create_tip_frame):
14407 * macfns.c (Fx_create_frame):
14408 Don't set the obsolete `window-system' frame-param.
14409
14410 * frame.h (Qwindow_system): Remove.
14411 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
14412 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
14413
144142007-10-24 Richard Stallman <rms@gnu.org>
14415
14416 * frame.c (x_figure_window_size): For fullscreen case,
14417 set USPosition | PPosition without clobbering rest of window_prompting.
14418
14419 * keyboard.c (Fcurrent_idle_time): Doc fix.
14420
14421 * print.c (Fwith_output_to_temp_buffer): Doc fix.
14422
144232007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
14424
14425 * process.c (unwind_request_sigio): Only define if __ultrix__.
14426
14427 * callproc.c (child_setup): Remove spurious *.
14428
14429 * lisp.h (Fget_text_property): Declare.
14430 (have_menus_p): Declare it here rather than in sys-dep header files.
14431 * macterm.h (have_menus_p):
14432 * msdos.h (have_menus_p):
14433 * xterm.h (have_menus_p): Remove.
14434
14435 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
14436 (Fmake_variable_frame_local): Just check the variable's const-ness
14437 rather than checking nil or t.
14438
144392007-10-22 Jason Rumney <jasonr@gnu.org>
14440
14441 * w32fns.c: Include math.h.
14442 (w32_abort): Declaration moved to nt/config.nt.
14443
14444 * s/ms-w32.h (HAVE_STDLIB_H): Define.
14445 (abort): Redefinition moved to nt/config.nt.
14446
14447 * m/windowsnt.h: Remove.
14448
144492007-10-22 Juanma Barranquero <lekktu@gmail.com>
14450
14451 * emacs.c (Fdump_emacs): Fix typo in message.
14452 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
14453 <installation-directory>: Reflow docstring.
14454
144552007-10-22 Juri Linkov <juri@jurta.org>
14456
14457 * minibuf.c: Allow minibuffer default to be a list of default values.
14458 With empty input use the first element of this list as returned default.
14459 (string_to_object)
14460 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
14461 (read_minibuf): If defalt is cons, set histstring to its car.
14462 (Fread_string): If default_value is cons, set val to its car.
14463 (Fread_buffer): If def is cons, use its car.
14464 (Fcompleting_read): If defalt is cons, set val to its car.
14465
144662007-10-21 Michael Albinus <michael.albinus@gmx.de>
14467
14468 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
14469
144702007-10-20 Juanma Barranquero <lekktu@gmail.com>
14471
14472 * doc.c (Fdocumentation): Check for advice in all cases.
14473
144742007-10-19 Chong Yidong <cyd@stupidchicken.com>
14475
14476 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
14477
144782007-10-19 Richard Stallman <rms@gnu.org>
14479
14480 * doc.c (Fdocumentation): Check for and handle an advised function.
14481
144822007-10-19 Juanma Barranquero <lekktu@gmail.com>
14483
14484 * process.c (Fset_process_filter): Doc fix.
14485
144862007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
14487
14488 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
14489 which caused key-translation-map to applied repeatedly (thus breaking
14490 double-mode).
14491
144922007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
14493
14494 * xselect.c (x_own_selection, x_handle_selection_clear)
14495 (x_clear_frame_selections):
14496 * w32menu.c (list_of_panes, list_of_items):
14497 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
14498 * textprop.c (validate_plist, interval_has_all_properties)
14499 (interval_has_some_properties, interval_has_some_properties_list)
14500 (add_properties, text_property_list):
14501 * process.c (Fget_buffer_process, list_processes_1, status_notify):
14502 * minibuf.c (Fassoc_string):
14503 * macselect.c (x_own_selection, x_clear_frame_selections)
14504 (Fx_disown_selection_internal):
14505 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
14506 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
14507
145082007-10-17 Chong Yidong <cyd@stupidchicken.com>
14509
14510 * process.c: Link to libs for calling res_init() if available.
14511 (Fmake_network_process): Call res_init() before getaddrinfo or
14512 gethostbyname, if possible.
14513
145142007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
14515
14516 * lread.c (read1): Set pvectype for char_tables.
14517
14518 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
14519 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
14520 Add type checks.
14521 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
14522
14523 * alloc.c (free_misc): Use XMISCTYPE.
14524 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
14525
145262007-10-17 Glenn Morris <rgm@gnu.org>
14527
14528 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
14529 (syms_of_minibuf): Add Qcompletion_ignore_case.
14530 * dired.c (Qcompletion_ignore_case): Change to external.
14531 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
14532 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
14533 (Fread_file_name): Use it rather than intern'ing.
14534
14535 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
14536 (Fread_coding_system): Ignore case of user input.
14537
145382007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14539
14540 * xdisp.c (handle_display_prop): Ignore display specs after
14541 replacing one when string text is being replaced.
14542 (handle_single_display_spec): Pretend as if characters with display
14543 property haven't been consumed only when buffer text is being replaced.
14544
145452007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
14546
14547 * xfns.c (Fx_create_frame, Fx_display_list):
14548 * window.c (window_fixed_size_p, enlarge_window)
14549 (shrink_window_lowest_first):
14550 * macterm.c (init_font_name_table):
14551 * macfns.c (Fx_create_frame, Fx_display_list):
14552 * lread.c (close_load_descs):
14553 * keyboard.c (read_char_x_menu_prompt):
14554 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
14555 * coding.c (code_convert_region_unwind): Test the type of an object
14556 rather than just !NILP before extracting data from it.
14557
14558 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
14559
14560 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
14561 (XMISCANY): New macro.
14562 (XMISCTYPE): Use it.
14563 (struct Lisp_Misc_Any): New type.
14564 (union Lisp_Misc): Use it.
14565 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
14566 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
14567 (find_symbol_value, set_internal, default_value, Fset_default)
14568 (Fmake_variable_buffer_local, Fmake_local_variable)
14569 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
14570 (Flocal_variable_if_set_p, Fvariable_binding_locus):
14571 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
14572 * alloc.c (allocate_buffer): Set the size and tag.
14573 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
14574 Use XMISCANY.
14575 (die): Follow the GNU convention for error messages.
14576 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
14577 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
14578 tag any more.
14579 (set_buffer_internal_1):
14580 * frame.c (store_frame_param):
14581 * eval.c (specbind):
14582 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
14583
14584 * doc.c (Fsnarf_documentation): Simplify.
14585
145862007-10-14 Juanma Barranquero <lekktu@gmail.com>
14587
14588 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
14589 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
14590
145912007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
14592
14593 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
14594
145952007-10-14 Juanma Barranquero <lekktu@gmail.com>
14596
14597 * eval.c (do_autoload): Don't save autoloads.
14598
14599 * data.c (Ffset): Save autoload of the function being set.
14600
146012007-10-07 John Paul Wallington <jpw@pobox.com>
14602
14603 * xfns.c (x_create_tip_frame): Set the `display-type' frame
14604 parameter before setting up faces.
14605
146062007-10-13 Eli Zaretskii <eliz@gnu.org>
14607
14608 * ccl.c (Fregister_code_conversion_map):
14609 * keyboard.c (append_tool_bar_item): Reformat last change.
14610
14611 * lisp.h (eabs): Rename from `abs'. All callers changed.
14612
146132007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
14614
14615 * buffer.c (add_overlay_mod_hooklist):
14616 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
14617 * fontset.c (make_fontset):
14618 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
14619 (append_tool_bar_item):
14620 * macmenu.c (grow_menu_items):
14621 * w32menu.c (grow_menu_items):
14622 * xmenu.c (grow_menu_items): Use larger_vector.
14623
146242007-10-13 Eli Zaretskii <eliz@gnu.org>
14625
14626 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
14627 selected frame'' on MSDOS).
14628
146292007-10-12 Martin Rudalics <rudalics@gmx.at>
14630
14631 * frame.c (Qexplicit_name): New variable.
14632 (x_report_frame_params): Report it in parameter alist.
14633 (syms_of_frame): Intern and staticpro it.
14634
146352007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
14636
14637 * macfns.c (x_create_tip_frame): Set terminal for frame.
14638
146392007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
14640
14641 * frame.c (Qenvironment): Remove.
14642 (syms_of_frame) <Qenvironment>: Don't initialize.
14643 (Fdelete_frame): Don't treat the `environment' param specially.
14644 * frame.h (Qenvironment): Don't declare.
14645 * callproc.c (set_initial_environment): Don't set unused frame param.
14646
14647 * frame.c (Fframe_with_environment): Remove.
14648 (syms_of_frame) <Sframe_with_environment>: Don't declare.
14649
14650 * lisp.h (Fframe_with_environment): Don't declare.
14651
146522007-10-10 Juanma Barranquero <lekktu@gmail.com>
14653
14654 * indent.c (indent_tabs_mode, last_known_column)
14655 (last_known_column_modified): Make static.
14656 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
14657
146582007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
14659
14660 * puresize.h (BASE_PURESIZE): Increase to 1170000.
14661
146622007-10-09 Jason Rumney <jasonr@gnu.org>
14663
14664 * w32term.c (x_set_window_size): Disable code that attempts to tell
14665 Lisp code about a size change before it actually happens.
14666
146672007-10-09 Richard Stallman <rms@gnu.org>
14668
14669 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
14670 return HANDLED_RETURN.
14671
146722007-10-08 Martin Rudalics <rudalics@gmx.at>
14673
14674 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
14675 when there's an unread command event.
14676
14677 * frame.c (focus_follows_mouse): Move here from frame.el to allow
14678 window autoselection act appropriately when leaving selected frame.
14679 (syms_of_frame): Initialize focus_follows_mouse.
14680 * frame.h (focus_follows_mouse): Extern it.
14681 * macterm.c (XTread_socket): When focus_follows_mouse is nil
14682 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
14683 * msdos.c (dos_rawgetc): Likewise.
14684 * w32term.c (w32_read_socket): Likewise.
14685 * xterm.c (handle_one_xevent): Likewise.
14686 * xdisp.c (syms_of_xdisp): In doc-string of
14687 mouse-autoselect-window mention focus-follows-mouse.
14688
146892007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14690
14691 * macterm.c (mac_load_query_font): Fix missing return value.
14692 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
14693 Add BLOCK_INPUT.
14694
146952007-10-08 Richard Stallman <rms@gnu.org>
14696
14697 * xdisp.c (get_window_cursor_type): Implement documented behavior
14698 for cursor-in-non-selected-windows = t.
14699
147002007-10-08 Jason Rumney <jasonr@gnu.org>
14701
14702 * w32.c (w32_get_resource): Always close registry keys.
14703
147042007-10-08 Jason Rumney <jasonr@gnu.org>
14705
14706 * makefile.w32-in (LIBS): Add COMCTL32.
14707
14708 * w32fns.c (globals_of_w32fns): Init common controls.
14709
147102007-10-08 Richard Stallman <rms@gnu.org>
14711
14712 * image.c (our_memory_buffer): Rename from omfib_buffer.
14713
147142007-10-08 Richard Stallman <rms@gnu.org>
14715
14716 * buffer.c (Foverlays_at): Doc fix.
14717
147182007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
14719
14720 * fns.c (Fplist_put): Preserve uneven tail data.
14721
147222007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
14723
14724 * termhooks.h (enum event_kind): Remove trailing comma.
14725
14726 * frame.h (enum): Remove trailing comma.
14727
147282007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
14729
14730 * w32proc.c (delete_child): Don't terminate threads of zombies.
14731
147322007-10-08 Martin Rudalics <rudalics@gmx.at>
14733
14734 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
14735
14736 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
14737 last-repeatable-command.
14738 (init_kboard): Initialize Vlast_repeatable_command.
14739 (command_loop_1): Set it to real_this_command unless that was
14740 bound to an input event.
14741 (mark_kboards): Mark it.
14742
147432007-10-08 Richard Stallman <rms@gnu.org>
14744
14745 * eval.c (condition-case): Doc fix.
14746
147472007-10-08 Masatake YAMATO <jet@gyve.org>
14748
14749 * xfaces.c (tty_supports_face_attributes_p): Fix code
14750 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
14751 was copied and not edited.
14752
147532007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
14754
14755 Add new `input-decode-map' keymap and use it for terminal
14756 escape sequences.
14757 * keyboard.h (struct kboard): Add Vinput_decode_map.
14758 Remove Vlocal_key_translation_map.
14759 * keyboard.c (read_key_sequence): Add support for input-decode-map.
14760 (init_kboard): Init input-decode-map.
14761 Replace local-key-translation-map back with key-translation-map.
14762 (syms_of_keyboard): Declare input-decode-map.
14763 Remove local-key-translation-map. Update docstrings.
14764 (mark_kboards): Mark Vinput_decode_map.
14765 Don't mark Vlocal_key_translation_map.
14766 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
14767 Replace local-key-translation-map back with key-translation-map.
14768 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
14769 Bind in input-decode-map rather than function-key-map.
14770
14771 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
14772 This was made redundant by the previous introduction of XSETPVECTYPE.
14773
147742007-10-09 Richard Stallman <rms@gnu.org>
14775
14776 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
14777
147782007-09-29 Richard Stallman <rms@gnu.org>
14779
14780 * eval.c (internal_condition_case_2, internal_condition_case_1)
14781 (internal_condition_case): Reenable abort if x_catching_errors ()
14782 to see if that really happens and why.
14783
147842007-10-06 Andreas Schwab <schwab@suse.de>
14785
14786 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
14787
147882007-10-04 Juanma Barranquero <lekktu@gmail.com>
14789
14790 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
14791
147922007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
14793
14794 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
14795
147962007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
14797
14798 * window.h (struct window):
14799 * window.c (struct save_window_data, struct saved_window):
14800 * termhooks.h (struct terminal):
14801 * process.h (struct Lisp_Process):
14802 * frame.h (struct frame):
14803 * buffer.h (struct buffer):
14804 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
14805 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
14806 The size field of (pseudo)vectors is now unsigned.
14807 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
14808
14809 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
14810 Turn `count' into an integer.
14811
14812 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
14813 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
14814 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
14815 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
14816 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
14817
14818 * alloc.c (allocate_pseudovector): New fun.
14819 (ALLOCATE_PSEUDOVECTOR): New macro.
14820 (allocate_window, allocate_terminal, allocate_frame)
14821 (allocate_process): Use it.
14822 (mark_vectorlike): New function.
14823 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
14824 (mark_terminals): Use it.
14825 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
14826 (Fmake_byte_code): Use XSETPVECTYPE.
14827
14828 * frame.c (Fframe_parameters): Minor simplification.
14829
14830 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
14831
14832 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
14833
14834 * buffer.c (Fget_buffer_create, init_buffer_once):
14835 * lread.c (defsubr):
14836 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
14837
14838 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
14839 defined differently in the m/*.h files.
14840 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
14841 (XSETPVECTYPE): New macro.
14842 (XSETPSEUDOVECTOR): Use it.
14843
14844 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
14845 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
14846
14847 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
14848 * lread.c (defvar_per_buffer):
14849 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
14850
14851 * window.c (candidate_window_p): Only consider as visible frames that
14852 are on the same terminal.
14853
14854 * m/ibms390x.h (MARKBIT): Remove unused macro.
14855
148562007-10-01 Juanma Barranquero <lekktu@gmail.com>
14857
14858 * lread.c (Fload): Fix typo in docstring.
14859
148602007-10-01 Michaël Cadilhac <michael@cadilhac.name>
14861
14862 * floatfns.c (Fexpt): Manually check for overflows, so that a power
14863 of a non-zero value can't yield zero.
14864
148652007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
14866
14867 * term.c (term_clear_mouse_face, term_mouse_highlight)
14868 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
14869
14870 * print.c (safe_debug_print): Use XHASH.
14871
14872 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
14873 Lisp elements such as tags.
14874 (XHASH): New macro.
14875 (EQ): Use it.
14876 (SREF, SSET, STRING_COPYIN): Use SDATA.
14877 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
14878
14879 * alloc.c (mark_terminal): Remove left-over declaration.
14880 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
14881 (allocate_vectorlike): Remove type argument. Adjust callers.
14882 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
14883 Only handle the one remaining MEM_TYPE_VECTORLIKE.
14884
14885 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
14886 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
14887 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
14888 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
14889 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
14890 Use them.
14891
14892 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
14893 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
14894 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
14895
148962007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
14897
14898 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
14899 loaded by default.
14900
149012007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
14902
14903 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
14904 on this tty.
14905 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
14906
14907 * term.c (mouse_face_window): Rename from Qmouse_face_window.
14908 Update all users.
14909 (handle_one_term_event): Use Gpm_DrawPointer.
14910 (Fgpm_mouse_start): Rename from Fterm_open_connection.
14911 Signal errors instead of returning nil. Always return nil.
14912 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
14913 Make it a noop if gpm-mouse was not activated.
14914 (syms_of_term): Update names.
14915
149162007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
14917
14918 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
14919 (init_sys_modes): Check that gpm_tty is the current tty.
14920
14921 * alloc.c (allocate_terminal): Set the vector size to only count the
14922 lisp fields. Initialize those to nil.
14923 (mark_object): Don't treat terminals specially.
14924 (mark_terminal): Remove.
14925 (mark_terminals): Use mark_object instead.
14926
14927 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
14928 the GC to the beginning.
14929
14930 * indent.h:
14931 * indent.c: Use EMACS_INT for ints coming from Elisp data.
14932
14933 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
14934
149352007-09-25 Jason Rumney <jasonr@gnu.org>
14936
14937 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
14938
14939 * w32console.c (create_w32cons_output): Remove.
14940
14941 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
14942
14943 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
14944 (reset_sys_modes): Use reset_terminal_modes_hook.
14945
149462007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
14947
14948 * eval.c (do_autoload): Don't output any message.
14949
149502007-09-24 Juri Linkov <juri@jurta.org>
14951
14952 * emacs.c (standard_args): Change priority of "--no-splash"
14953 from 40 to 3. Add "--no-desktop" with the same priority.
14954
149552007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
14956
14957 * alloc.c (gc_sweep): Check cons cell mark bits word by word
14958 and optimize the case where they are all 1.
14959
149602007-09-23 Johannes Weiner <hannes@saeurebad.de>
14961
14962 * lisp.h (abs): Define if not defined.
14963 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
14964 Don't define `abs', since it's defined in lisp.h.
14965
149662007-09-22 Eli Zaretskii <eliz@gnu.org>
14967
14968 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
14969 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
14970 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
14971 (init_tty): Use DEV_TTY instead of "/dev/tty".
14972 [WINDOWSNT]: No need to protect from NAME arg being null.
14973
149742007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
14975
14976 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
14977 up the tty state.
14978
149792007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
14980
14981 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
14982 (gpm_tty): Change its type.
14983 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
14984 (gpm_tty): Change its type and initialize it.
14985 (Fterm_open_connection): Check the frame is indeed a tty.
14986 Use the new gpm_tty.
14987 (Fterm_close_connection): Use the new gpm_tty.
14988 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
14989 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
14990
149912007-09-21 Juanma Barranquero <lekktu@gmail.com>
14992
14993 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
14994 underline_color, to draw strike-through.
14995
149962007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
14997
14998 * lisp.h (allocate_terminal): Declare.
14999
15000 * window.c (candidate_window_p): Consider frames that are being placed
15001 by the user as somewhere between visible and iconified.
15002 (window_loop): Prefer windows on the current frame.
15003 (Fselect_window): Move the use of select-frame to the beginning so we
15004 can just delegate all the work (it'll call us back anyway).
15005
15006 * frame.c (Qdisplay_environment_variable):
15007 * frame.h (Qdisplay_environment_variable): Delete.
15008
15009 * .gdbinit (xbacktrace): Print the arg's address rather than the value
15010 of the first arg, since that value may be a union.
15011
15012 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
15013 parameter rather than Qdisplay_environment_variable. If all else
15014 fails, look for DISPLAY in initial-environment.
15015
150162007-09-21 Glenn Morris <rgm@gnu.org>
15017
15018 * Makefile.in (emacstool): Remove target.
15019 (lisp, shortlisp): Remove termdev.elc.
15020
150212007-09-21 Markus Triska <markus.triska@gmx.at>
15022
15023 * xterm.c (x_delete_display): Compile session management conditionally.
15024
150252007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
15026
15027 * callproc.c (getenv_internal_1): New function.
15028 (getenv_internal): Use it.
15029 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
15030
15031 * terminal.c (get_terminal): Don't accept ints to represent terminals.
15032 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
15033 (Fset_terminal_parameter): Work with dead terminals as well.
15034 (Fmodify_terminal_parameters): Remove.
15035
15036 * terminal.c (get_terminal): Handle terminals.
15037 Make sure the terminal returned is live.
15038 (create_terminal): Use allocate_terminal.
15039 (mark_terminals): Move to alloc.c.
15040 (delete_terminal): Use terminal->name as liveness status.
15041 NULL out fields after freeing their contents.
15042 Don't deallocate the object.
15043 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
15044 rather than an int.
15045 (Fterminal_live_p): Accept non-integer arguments.
15046 (Fterminal_list): Return terminal objects rather than an ints.
15047
15048 * alloc.c (enum mem_type): New member for `terminal' objects.
15049 (allocate_terminal): New function.
15050 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
15051 Handle terminals.
15052 (mark_terminal): New fun.
15053 (mark_terminals): Move from terminal.c.
15054
15055 * term.c (get_tty_terminal): Don't treat output_initial specially.
15056 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
15057 (delete_tty): Use terminal->name as liveness status.
15058
15059 * termhooks.h (struct terminal): Make it into a pseudovector.
15060 Remove `deleted' replaced by checking `name's nullness.
15061
15062 * print.c (print_object): Handle terminals.
15063
15064 * lisp.h (enum pvec_type): New `terminal' pseudovector.
15065 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
15066
15067 * frame.c (make_terminal_frame):
15068 * keyboard.c (tty_read_avail_input):
15069 * w32term.c (x_delete_terminal):
15070 * xfns.c (Fx_create_frame, x_create_tip_frame):
15071 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
15072
150732007-09-20 Glenn Morris <rgm@gnu.org>
15074
15075 * process.c (Fmake_network_process): Doc fix.
15076
150772007-09-19 Jason Rumney <jasonr@gnu.org>
15078
15079 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
15080
150812007-09-19 Michaël Cadilhac <michael@cadilhac.name>
15082
15083 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
15084 Fix a C warning regarding variable constness.
15085
15086 * xterm.c (handle_one_xevent): Fix a C warning.
15087
150882007-09-18 Jason Rumney <jasonr@gnu.org>
15089
15090 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
15091
150922007-09-17 Jan Djärv <jan.h.d@swipnet.se>
15093
15094 * gtkutil.c (gdpy_def): New variable.
15095 (xg_initialize): Initialize gdpy_def.
15096 (xg_display_close): If no other display exists, set gdpy_def to a
15097 new connection.
15098
150992007-09-16 Jan Djärv <jan.h.d@swipnet.se>
15100
15101 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
15102 when we have no file name for the icon.
15103 (xg_tool_bar_expose_callback): Remove.
15104 (xg_create_tool_bar): Don't connect expose signal to
15105 xg_tool_bar_expose_callback.
15106 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
15107
151082007-09-16 Andreas Schwab <schwab@suse.de>
15109
15110 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
15111 values instead of zapping them.
15112
151132007-09-14 Glenn Morris <rgm@gnu.org>
15114
15115 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
15116 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
15117 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
15118 scope and rename to omfib_buffer for clarity.
15119 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
15120
151212007-09-14 Kenichi Handa <handa@m17n.org>
15122
15123 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
15124
151252007-09-13 Jason Rumney <jasonr@gnu.org>
15126
15127 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
15128
15129 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
15130
15131 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
15132 (mac_term_init): Call here instead, passing rif.
15133
151342007-09-13 Glenn Morris <rgm@gnu.org>
15135
15136 * s/hpux.h: No longer define `static' as nothing.
15137
151382007-09-13 Johan Bockgård <bojohan@gnu.org>
15139
15140 * callint.c (Fcall_interactively): Remove unused var `fun'.
15141
151422007-09-12 Romain Francoise <romain@orebokech.com>
15143
15144 * window.c (prefer_window_split_horizontally, display_buffer):
15145 Revert 2007-09-08 change.
15146
151472007-09-12 Glenn Morris <rgm@gnu.org>
15148
15149 * alloca.c: Remove file.
15150 * Makefile.in (alloca): Do not undef.
15151 (allocaobj, alloca.o): Remove.
15152 (otherobj): Remove allocaobj.
15153 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
15154 * regex.c (C_ALLOCA): Remove all references and code that was only
15155 used when this was defined.
15156 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
15157 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
15158 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
15159
15160 * Makefile.in (SOURCES, unlock, relock): Delete.
15161
15162 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
15163 (menu_grab_callback): All uses changed.
15164
15165 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
15166 (x_reply_selection_request): All uses changed.
15167
151682007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
15169
15170 * lread.c (load_warn_old_style_backquotes): Change message to look
15171 better when it appears in the middle of byte-compiler messages.
15172
151732007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
15174
15175 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
15176
15177 * xterm.c (x_create_terminal): Add comment.
15178
15179 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
15180
151812007-09-10 Richard Stallman <rms@gnu.org>
15182
15183 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
15184
151852007-09-10 Michaël Cadilhac <michael@cadilhac.name>
15186
15187 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
15188 (DEFUN): Document `intspec', use it instead of `prompt'.
15189
15190 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
15191
15192 * data.c (Finteractive_form): If the interactive specification starts
15193 with a `(', use it as a Lisp form.
15194
15195 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
15196 name and file modes.
15197
15198 * callint.c (Fcall_interactively): Comment fixes.
15199
152002007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
15201
15202 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
15203 and compiled functions.
15204
152052007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
15206
15207 * window.c (prefer_window_split_horizontally): New variable.
15208 (display_buffer): Consider splitting window horizontally depending
15209 on prefer_window_split_horizontally.
15210
152112007-09-08 Eli Zaretskii <eliz@gnu.org>
15212
15213 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
15214
152152007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
15216
15217 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
15218
15219 * frame.c (x_set_frame_parameters): Check number is positive before
15220 using XFASTINT.
15221
15222 * window.c (freeze_window_start): Don't presume selected_window holds
15223 a window object.
15224 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
15225
152262007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
15227
15228 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
15229
152302007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
15231
15232 * window.c (Vsplit_window_preferred_function): New var.
15233 (Fdisplay_buffer): Use it.
15234 (syms_of_window): Export, and initialize it.
15235
152362007-09-06 Pixel <pixel@mandriva.com> (tiny change)
15237
15238 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
15239
152402007-09-06 Glenn Morris <rgm@gnu.org>
15241
15242 * gtkutil.c (menu_grab_callback) <cnt>:
15243 * xselect.c (x_reply_selection_request) <cnt>: Move static
15244 variable to file scope.
15245
152462007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
15247
15248 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
15249 consistent values of selected_frame and selected_window.
15250
152512007-09-04 Jason Rumney <jasonr@gnu.org>
15252
15253 * w32console.c (initialize_w32_display): Zero unused hooks.
15254
152552007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
15256
15257 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
15258 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
15259
152602007-09-04 Jason Rumney <jasonr@gnu.org>
15261
15262 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
15263 in w32console.c. Set up input. Remove XXX comments that have been
15264 confirmed as correct.
15265
15266 * s/ms-w32.h (MULTI_KBOARD): Define.
15267
15268 * w32console.c (one_and_only_w32cons): Remove.
15269 (initialize_w32_display): Take terminal argument.
15270
15271 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
15272 initialize_w32_display.
15273 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
15274
15275 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
15276
15277 * keyboard.c (discard_mouse_events): Discard it.
15278 (make_lispy_event): Translate it to a lisp event.
15279 (lispy_wheel_names): Add wheel-left and right events.
15280 (syms_of_keyboard): Enlarge wheel_syms.
15281
15282 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
15283 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
15284
15285 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
15286
15287 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
15288 from WM_MOUSEHWHEEL.
15289 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
15290
15291 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
15292 terminal.
15293
15294 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
15295 keyboard for the terminal.
15296
152972007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
15298
15299 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
15300 (Vresume_tty_hook): Rename from Vresume_tty_functions.
15301 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
15302 and resume-tty-function to resume-tty-hook.
15303 (Fsuspend_tty, Fresume_tty): Use new names.
15304
153052007-09-02 Jan Djärv <jan.h.d@swipnet.se>
15306
15307 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
15308 if it starts with "n:".
15309
153102007-08-31 Jan Djärv <jan.h.d@swipnet.se>
15311
15312 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
15313
153142007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
15315
15316 * frame.h:
15317 * frame.c (Qterm_environment_variable): Remove.
15318 (syms_of_frame): Don't init and staticpro it.
15319
15320 * callproc.c (getenv_internal): Remove special case for $TERM.
15321
15322 * callproc.c (Vinitial_environment): New variable.
15323 (set_initial_environment): Initialize it.
15324 (syms_of_callproc): Declare it.
15325 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
15326 TERM under which a process runs is never related to the TERM in which
15327 Emacs is running.
15328
153292007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
15330
15331 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
15332 * s/darwin.h: ... do it here.
15333
153342007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
15335
15336 * lisp.h (set_initial_environment): Rename from set_global_environment.
15337
15338 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
15339 removed by mistake on the multi-tty branch.
15340
15341 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
15342 (Fmodify_frame_parameters): Return a value.
15343
15344 * image.c (png_load): Comment-out var only used in commented-out code.
15345
15346 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
15347 before passing it to mark_object.
15348
15349 * xfaces.c (internal_resolve_face_name): Return a value.
15350 (internal_resolve_face_name, resolve_face_name_error): Comment out.
15351
15352 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
15353 (x_icon): Comment-out var only used in commented-out code.
15354
153552007-08-29 Romain Francoise <romain@orebokech.com>
15356
15357 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
15358 QUIT hasn't been provided.
15359
153602007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
15361
15362 * callproc.c (child_setup, getenv_internal): Use the
15363 display-environment-variable and term-environment-variable frame params.
15364 (set_initial_environment): Initialise Vprocess_environment.
15365
15366 * config.in: Disable multi-keyboard support on a mac.
15367
15368 * frame.c (Qterm_environment_variable)
15369 (Qdisplay_environment_variable): New variables.
15370 (syms_of_frame): Intern and staticpro them.
15371 (Fmake_terminal_frame): Disable output method test.
15372
15373 * frame.h: Declare them here.
15374
15375 * macfns.c (x_set_mouse_color): Get rif from the frame.
15376 (x_set_tool_bar_lines): Don't use updating_frame.
15377 (mac_window): Add 2 new parameters for consistency with other systems.
15378 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
15379 frame parameters following what is done in X11 and w32. Don't use
15380 FRAME_MAC_DISPLAY_INFO.
15381 (Fx_open_connection, start_hourglass): Remove window-system check.
15382 (x_create_tip_frame): Get the keyboard from the terminal.
15383
15384 * macmenu.c: Reorder includes.
15385 (Fx_popup_menu): Use terminal specific mouse_position_hook.
15386
15387 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
15388 terminal parameter.
15389 (x_clear_frame): Add a frame parameter.
15390 (note_mouse_movement): Get rif from the frame.
15391 (mac_term_init): Initialize the terminal.
15392 (mac_initialize): Make static and move terminal initialization ...
15393 (mac_create_terminal): ... to this new function.
15394
15395 * macterm.h (struct mac_display_info): Add terminal.
15396 (mac_initialize): Delete declaration.
15397
15398 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
15399
15400 * sysdep.c: Comment out text after #endif.
15401
15402 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
15403 is defined. Better initialize ttys in windows. Use terminal
15404 specific mouse_position_hook.
15405
15406 * termhooks.h (union display_info): Add mac_display_info.
15407
15408 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
15409 Set the default minibuffer frame, window_system and the rest of the
15410 frame parameters following what is done in X11.
15411
15412 * w32term.c (w32_initialize): Make static.
15413
15414 * xselect.c (x_handle_selection_clear): Only access
15415 terminal->kboard when MULTI_KBOARD is defined.
15416
15417 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
15418 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
15419
154202007-08-29 Jason Rumney <jasonr@gnu.org>
15421
15422 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
15423 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
15424
15425 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
15426 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
15427
15428 * keyboard.c (restore_kboard_configuration): Only define when
15429 MULTI_KBOARD defined.
15430
15431 * makefile.w32-in: Update dependancies from Makefile.in.
15432 (OBJ1): Add terminal.$(O)
15433
15434 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
15435 Don't define function body.
15436 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
15437
15438 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
15439
15440 * w32.c (request_sigio, unrequest_sigio): Remove.
15441
15442 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
15443 (w32con_clear_frame, w32con_clear_end_of_line)
15444 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
15445 (w32con_delete_glyphs, w32con_set_terminal_window)
15446 (scroll_line, w32_sys_ring_bell): Add frame arg.
15447 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
15448 Add terminal arg.
15449 (PICK_FRAME): Remove.
15450 (w32con_write_glyphs): Use frame specific terminal coding.
15451 (one_and_only_w32cons): New global variable.
15452 (initialize_w32_display): Use it for storing hooks.
15453 (create_w32cons_output): New function.
15454
15455 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
15456 arg a frame.
15457
15458 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
15459 Set window_system.
15460 (x_set_tool_bar_lines): Don't use updating_frame.
15461 (Fx_create_frame): Set terminal and ref count.
15462 (Fx_open_connection): Remove window-system check.
15463
15464 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
15465
15466 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
15467 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
15468 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
15469 Add frame arg.
15470 (x_delete_terminal, w32_create_terminal): New functions.
15471 (w32_term_init): Create a terminal.
15472 (w32_initialize): Move terminal specific initialization to
15473 w32_create_terminal.
15474
15475 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
15476 (w32_clear_rect, w32_clear_area): Use background from frame.
15477 (w32_display_info): Add terminal.
15478 (w32_sys_ring_bell, x_delete_display): Declare here.
15479
15480 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
15481
15482 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
15483
154842007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
15485
15486 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
15487 Fix get_named_tty calls for the controlling tty.
15488
154892007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
15490
15491 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
15492
154932007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
15494
15495 * term.c (tty_insert_glyphs): Add missing first parameter.
15496
154972007-08-29 Károly Lőrentey <karoly@lorentey.hu>
15498
15499 * buffer.c (Fbuffer_list, Fbury_buffer):
15500 Take frame->buried_buffer_list into account.
15501
15502 * cm.c (current_tty): New variable, for cmputc().
15503 (cmputc): Use it.
15504 (cmcheckmagic): Add tty parameter, look up terminal streams there.
15505 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
15506 (cmgoto): Add tty parameter. Pass it on to calccost().
15507 Use emacs_tputs() instead of tputs().
15508
15509 * cm.h (emacs_tputs): New macro to set current_tty, and then call
15510 tputs().
15511 (current_tty): New variable, for cmputc().
15512 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
15513
15514 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
15515 (internal_condition_case, internal_condition_case_1)
15516 (internal_condition_case_2): Don't abort when x_catching_errors.
15517
15518 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
15519 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
15520 prevent crashes caused by bogus longjmps in read_char.
15521
15522 * keymap.h (Fset_keymap_parent): Add EXFUN.
15523
15524 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
15525 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
15526 Remove redundant definition.
15527
15528 * macfns.c (x_set_mouse_color, x_make_gc):
15529 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15530
15531 * w32term.c (x_free_frame_resources):
15532 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15533 (w32_initialize): Use the accessor macros for terminal characteristics.
15534
15535 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
15536 Use the accessor macros for terminal characteristics.
15537 * msdos.c (internal_terminal_init): Use the accessor macros for
15538 terminal characteristics.
15539 (ScreenVisualBell, internal_terminal_init):
15540 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15541
15542 * termopts.h (no_redraw_on_reenter): Declare.
15543
15544 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
15545 (mark_terminals, mark_ttys): Declare.
15546 (Fgarbage_collect): Call them.
15547 (mark_object): Mark buried_buffer_list.
15548
15549 * prefix-args.c: Include stdlib.h for exit.
15550
15551 * syssignal.h: Add comment.
15552
15553 * indent.c: Include stdio.h.
15554
15555 * window.h (Vinitial_window_system): Declare.
15556 (Vwindow_system): Delete declaration.
15557
15558 * fontset.c (Finternal_char_font): Use FRAME_RIF.
15559
15560 * image.c (lookup_image): Don't initialize `c' until the xasserts
15561 have been run.
15562
15563 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
15564 FRAME_FOREGROUND_PIXEL.
15565
15566 * print.c (print_preprocess): Don't lose print_depth levels while
15567 iterating.
15568
15569 * widget.c (update_from_various_frame_slots):
15570 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15571
15572 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
15573 frames.
15574 (window_internal_height): Remove bogus make_number call.
15575 (init_window_once): Call make_terminal_frame with two zero parameters.
15576
15577 * fileio.c (Fread_file_name): Update comment.
15578
15579 * callint.c (Fcall_interactively):
15580 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
15581 Make sure it is correctly unwound.
15582
15583 * xsmfns.c (x_session_close): New function.
15584
15585 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
15586 Delete declarations.
15587
15588 * xterm.h: Remove declaration for x_fully_uncatch_errors.
15589 (x_output): Remove background_pixel and foreground_pixel fields.
15590 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
15591 (x_delete_device, x_session_close): Declare.
15592
15593 * lread.c: Include setjmp.h. Update declaration of `read_char'.
15594 (read_filtered_event): Call `read_char' with a local
15595 `wrong_kboard_jmpbuf'.
15596
15597 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
15598 Don't call single_kboard_state. Use FRAME_RIF.
15599
15600 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
15601 systems.
15602
15603 * lisp.h (set_process_environment): Rename to `set_global_environment'.
15604 (Fframe_with_environment, Fset_input_meta_mode)
15605 (Fset_quit_char): EXFUN.
15606 (x_create_device, tty_output, terminal, tty_display_info): Declare.
15607 (init_sys_modes, reset_sys_modes): Update prototypes.
15608 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
15609
15610 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
15611 Vlocal_key_translation_map, and Vkeyboard_translate_table.
15612 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
15613 Delete declarations.
15614 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
15615 (temporarily_switch_to_single_kboard, tty_read_avail_input):
15616 New declarations.
15617
15618 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
15619 already does that during init_display(). Call syms_of_keymap
15620 before syms_of_keyboard. Call `syms_of_terminal'.
15621 Call set_initial_environment, not set_process_environment.
15622 (shut_down_emacs): Call reset_all_sys_modes() instead of
15623 reset_sys_modes().
15624
15625 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
15626 (internal_resolve_face_name, resolve_face_name_error): New functions.
15627 (resolve_face_name): Protect against loops and errors thrown by Fget.
15628 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
15629 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
15630
15631 * scroll.c: Replace CURTTY() with local variables throughout the
15632 file (where applicable).
15633 (calculate_scrolling, calculate_direct_scrolling)
15634 (scrolling_1, scroll_cost): Use the accessor macros for terminal
15635 characteristics.
15636
15637 * keymap.c (Vfunction_key_map): Remove.
15638 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
15639 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
15640 (Vkey_translation_map): Remove.
15641 (syms_of_keymap): Remove DEFVAR for key-translation-map.
15642 (Fdescribe_buffer_bindings)
15643 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
15644 Update for terminal-local key-translation-map.
15645
15646 * Makefile.in (callproc.o): Update dependencies.
15647 (lisp, shortlisp): Add termdev.elc.
15648 (obj): Add terminal.o.
15649 (terminal.o): Add dependencies.
15650 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
15651 (data.o, fns.o): Add termhooks.h dependency.
15652 (SOME_MACHINE_LISP): Add dnd.elc.
15653 (minibuf.o): Fix typo.
15654 Update dependencies.
15655
15656 * data.c (do_symval_forwarding, store_symval_forwarding)
15657 (find_symbol_value): Use the selected frame's keyboard, not
15658 current_kboard.
15659
15660 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
15661 Vwindow_system.
15662
15663 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
15664 Fmenu_bar_open.
15665 (syms_of_xmenu): Update defsubr.
15666 (mouse_position_for_popup, Fx_popup_menu)
15667 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
15668 (set_frame_menubar, free_frame_menubar)
b97439ce 15669 (create_and_show_popup_menu, xmenu_show)
aac0c6e3
MR
15670 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
15671 an X frame.
15672
15673 * xselect.c (x_own_selection): Abort if not an X frame.
15674 (some_frame_on_display): Check if it is an X frame.
15675 (x_handle_selection_clear): Deal with MULTI_KBOARD.
15676
15677 * coding.c: Include frame.h and termhooks.h.
15678 (terminal_coding, keyboard_coding): Delete.
15679 (Fset_terminal_coding_system_internal)
15680 (Fset_keyboard_coding_system_internal)
15681 (Fkeyboard_coding_system)
15682 (Fterminal_coding_system): Add a terminal parameter.
15683 Get terminal_coding from the terminal.
15684 (init_coding_once): Don't call setup_coding_system here.
15685
15686 * dispextern.h (set_scroll_region, turn_off_insert)
15687 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
15688 (tty_clear_end_of_line, tty_setup_colors)
15689 (delete_tty, updating_frame)
15690 (produce_special_glyphs, produce_glyphs, write_glyphs)
15691 (insert_glyphs): Remove.
15692 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
15693 (tty_turn_off_highlight, get_tty_size): Add declaration.
15694 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
15695
15696 * frame.h (enum output_method): Add output_initial.
15697 (struct x_output): Delete.
15698 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
15699 Access foreground_pixel and background_pixel directly from the frame.
15700 (tty_display): Delete.
15701 (struct frame): Add buried_buffer_list, foreground_pixel,
15702 background_pixel and terminal. Delete kboard.
15703 (union output_data): Add tty.
15704 (FRAME_KBOARD): Get the kboard from the terminal.
15705 (FRAME_INITIAL_P): New macro.
15706 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
15707 (Qterm_environment_variable, Qdisplay_environment_variable)
15708 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
15709 New declarations.
15710
15711 * termchar.h (tty_output, tty_display_info): New structures.
15712 (tty_list): Declare.
15713 (FRAME_TTY, CURTTY): New macros.
15714 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
15715 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
15716 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
15717 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
15718
15719 * callproc.c: Include frame.h and termhooks.h, for terminal
15720 parameters.
15721 (add_env): New function.
15722 (child_setup): Use it.
15723 (child_setup, getenv_internal): Handle the new Vprocess_environment.
15724 (getenv_internal): Fix get_terminal_param call.
15725 (Fgetenv_internal, egetenv): Update doc.
15726 (syms_of_callproc): Initialize Vprocess_environment to nil.
15727 Register and initialize them. Remove obsolete defvars. Update doc
15728 strings.
15729 (child_setup): Handle Vlocal_environment_variables.
15730 (getenv_internal): Add terminal parameter.
15731 Handle Vlocal_environment_variables.
15732 (Fgetenv_internal): Add terminal parameter.
15733 (child_setup, getenv_internal, Fgetenv_internal): Store the local
15734 environment in a frame (not terminal) parameter. Update doc strings.
15735 (set_initial_environment): Rename from set_global_environment.
15736 Store Emacs environment in initial frame parameter.
15737
15738 * xdisp.c (redisplay_internal): Update references to
15739 `previous_terminal_frame'.
15740 (display_mode_line, Fformat_mode_line): Replace calls to
15741 `push_frame_kboard' with `push_kboard'.
15742 (get_glyph_string_clip_rects): Add extra parentheses and
15743 braces to prevent compiler warnings.
15744 (calc_pixel_width_or_height): Add xassert to check that the
15745 frame is alive. Don't call `lookup_image' on a termcap frame.
15746 (message2_nolog, message3_nolog, redisplay_internal)
15747 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
15748 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
15749 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
15750 (Fx_display_pixel_width, Fx_display_pixel_height)
15751 (Fx_display_planes, Fx_display_color_cells)
15752 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
15753 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
15754 (Fx_display_backing_store, Fx_display_visual_class)
15755 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
15756 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
15757
15758 * xfns.c (x_set_foreground_color x_set_background_color)
15759 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
15760 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15761 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
15762 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
15763 terminal that is being deleted.
15764 (Fx_create_frame): Use `store_frame_param' to set `window-system'
15765 frame parameter, and make sure it overrides any user-supplied setting.
15766 (Fx_close_connection, Fx_synchronize): Unify argument names with
15767 the rest of the DEFUNs.
15768
15769 * dispnew.c (Fsend_string_to_terminal): Update call to
15770 `get_tty_terminal'.
15771 (Fredraw_frame, Fsend_string_to_terminal)
15772 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
15773 FRAME_TERMCAP_P and FRAME_TTY.
15774 (window_change_signal): Don't believe width/height values that are
15775 impossibly small.
15776 (Vinitial_window_system): Rename from Vwindow_system.
15777 (termscript, Wcm, rif): Delete.
15778
15779 * termhooks.h (struct terminal): New struct containing the
15780 previously global text display hooks and new members NAME,
15781 DELETED and PARAM_ALIST.
15782 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
15783 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
15784 (FRAME_RIF): New macros.
15785 (get_terminal_param, get_device): New declarations.
15786 (termscript): Delete declaration.
15787
15788 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
15789 (XTflash, x_free_frame_resources, x_scroll_bar_create)
15790 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
15791 FRAME_FOREGROUND_PIXEL.
15792 (x_fully_uncatch_errors): Disable definition.
15793 (x_scroll_bar_expose): Fix reference to foreground pixel.
15794 (XTread_socket): Disable loop on all X displays.
15795 (x_delete_terminal): Don't set terminal->deleted and let
15796 delete_terminal delete the frames on the terminal.
15797 (x_delete_display): Doc update to reflect changes in
15798 delete_terminal.
15799 (x_display_info) <terminal>: Move member earlier in the struct.
15800 (deleting_tty): Remove old variable.
15801 (Fsuspend_tty): Call clear_tty_hooks.
15802 (Fresume_tty, init_tty): Call set_tty_hooks.
15803 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
15804 errors on X frames.
15805 (x_catch_errors_unwind): Abort if x_error_message is NULL.
15806 (handle_one_xevent): Initialize `f' to NULL.
15807 (x_delete_terminal, x_create_terminal): New functions.
15808 (XTset_terminal_modes, XTreset_terminal_modes)
15809 (XTread_socket, x_connection_closed, x_term_init)
15810 (x_term_init, x_delete_display): Add terminal parameter.
15811 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
15812 X connections.
15813
15814 * frame.c: Include termchar.h.
15815 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
15816 (Qwindow_system, Qenvironment, Qterm_environment_variable)
15817 (Qdisplay_environment_variable): New vars.
15818 (Fframep): Deal with output_initial.
15819 (Fframe-live-p): Doc fix.
15820 (Fwindow-system): New function.
15821 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
15822 (make_terminal_frame): Don't create frames on a terminal that is
15823 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15824 (store_frame_param): Check for found_for_frame before calling XFRAME.
15825 (Fmake_terminal_frame): Handle NULL tty names correctly.
15826 (syms_of_frame): Enhance doc string of `default-frame-alist'.
15827 (Fdelete_frame): Remove unused variable `count'. Don't allow other
15828 frames to refer to a deleted frame in their 'environment parameter.
15829 (Fframe_with_environment): New function.
15830 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
15831 (get_future_frame_param): New function.
15832 (Fmake_terminal_frame): Use it.
15833 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
15834
15835 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
15836 * sysdep.c (reset_sys_modes): Update for renames.
15837
15838 * keyboard.c (tty_read_avail_input): New function.
15839 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
15840 (syms_of_keyboard): Defsubr them.
15841 (Fset_input_meta_mode, Fset_quit_char): New functions.
15842 (Fset_input_mode): Split to above functions.
15843 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
15844 parameter. Use it in call to `read_char'.
15845 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
15846 Set wrong_kboard_jmpbuf correctly in recursive calls.
15847 Use current_kboard to access Vkeyboard_translate_table.
15848 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
15849 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
15850 Update longjmp invocations. Remember the original current_kboard,
15851 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
15852 changes it. Comment out unnecessary calls to
15853 `record_single_kboard_state' and `any_kboard_state'.
15854 Update recursive calls.
15855 (wrong_kboard_jmpbuf): Remove global variable.
15856 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
15857 Handle deleted interrupted_kboards correctly; that is a legal
15858 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
15859 and read_char calls. Abort if interrupted_kboard died in read_char.
15860 (any_kboard_state, single_kboard_state)
15861 (push_frame_kboard): Remove function.
15862 (pop_kboard): Switch out of single_kboard mode if the kboard has
15863 been deleted. Remove unused variable. Help debugging by not
15864 changing current_kboard unnecessarily. Set current_kboard to the
15865 kboard of the selected frame when the stored kboard object has
15866 been deleted before pop_kboard.
15867 (temporarily_switch_to_single_kboard): Change first parameter to a
15868 frame pointer. Throw an error when caller wants to change kboards
15869 while in single_kboard mode. Don't push_kboard if we weren't in
15870 single kboard state. Don't pop_kboard if we popped into any
15871 kboard state.
15872 (restore_kboard_configuration): Abort if pop_kboard changed the
15873 kboard in single_kboard mode. Call pop_kboard only after setting
15874 up single_kboard mode.
15875 (Frecursive_edit): Switch to single_kboard mode only in nested
15876 command loops.
15877 (cmd_error, command_loop, command_loop_1, timer_check):
15878 Comment out unnecessary call to `any_kboard_state' and
15879 `record_single_kboard_state'.
15880 (delete_kboard): Exit single_kboard mode if we have just deleted
15881 that kboard. Use FRAME_KBOARD.
15882 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
15883 `fatal_error_signal'.
15884 (record_single_kboard_state): Don't push_kboard if we weren't in
15885 single kboard state. Don't pop_kboard if we popped into any
15886 kboard state.
15887 (push_frame_kboard): Rename to push_kboard.
15888 (kbd_buffer_get_event): Use FRAME_TERMINAL.
15889 (read_avail_input): Read input from all terminals.
15890 (mark_kboards): Also mark Vkeyboard_translate_table.
15891 (kbd_buffer_store_event_hold): Simplify condition.
15892 (read_key_sequence): Reinitialize fkey and keytran at each replay.
15893 (Vkeyboard_translate_table): Move to struct kboard.
15894 (init_kboard): Initialize Vkeyboard_translate_table.
15895 (syms_of_keyboard): Use DEFVAR_KBOARD to define
15896 Vkeyboard_translate_table. Update doc strings. Update docs of
15897 local-function-key-map and function-key-map.
15898
15899 * terminal.c: New file.
15900
15901 * term.c: Include errno.h.
15902 (Vring_bell_function, device_list, initial_device)
15903 (next_device_id, ring_bell, update_begin, update_end)
15904 (set_terminal_window, cursor_to, raw_cursor_to)
15905 (clear_to_end, clear_frame, clear_end_of_line)
15906 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
15907 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
15908 (syms_of_term): Move their initialization to terminal.c.
15909 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
15910 (Ftty_display_color_cells)
15911 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
15912 (clear_tty_hooks, set_tty_hooks)
15913 (init_tty, maybe_fatal): New functions.
15914 (Ftty_type): Return nil if terminal is not on a tty instead of
15915 throwing an error. Doc update.
15916 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
15917 Doc update. Initialize new subrs and variables.
15918 (delete_tty): Use terminal->deleted.
15919 (tty_set_terminal_modes): Rename from set_terminal_modes.
15920 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
15921 (set_scroll_region): Rename to `tty_set_scroll_region'.
15922 (turn_on_insert): Rename to `tty_turn_on_insert'.
15923 (turn_off_insert): Rename to `tty_turn_off_insert'.
15924 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
15925 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
15926 (toggle_highligh): Rename to `tty_toggle_highlight'.
15927 (background_highlight): Rename to `tty_background_highlight'.
15928 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
15929 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
15930 (tty_set_scroll_region, tty_background_highlight)
15931 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
15932 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
15933 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
15934 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
15935 Add static modifier.
15936 (tty_reset_terminal_modes, tty_set_terminal_window)
15937 (tty_set_scroll_region, tty_background_highlight)
15938 (tty_highlight_if_desired, tty_cursor_to)
15939 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
15940 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
15941 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
15942 renames.
15943
159442007-08-28 Jan Djärv <jan.h.d@swipnet.se>
15945
15946 * keyboard.c: Qrtl is new.
15947 (parse_tool_bar_item): Handle :rtl keyword.
15948 (syms_of_keyboard): Intern :rtl keyword.
15949
15950 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
15951
15952 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
15953 so no Lisp code is executed.
15954 (file_for_image, find_rtl_image): New functions.
15955 (xg_get_image_for_pixmap): Use file_for_image.
15956 (update_frame_tool_bar): If direction is RTL, use RTL image if
15957 defined. Use Gtk stock images if defined.
15958
159592007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15960
15961 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
15962 for nonexistent or zero-width glyph in composition glyph.
15963
159642007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
15965
15966 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
15967
15968 * xdisp.c (Finvisible_p): New function.
15969 (syms_of_xdisp): defsubr it.
15970
159712007-08-24 Juanma Barranquero <lekktu@gmail.com>
15972
15973 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
15974 Doc fixes.
15975
159762007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15977
15978 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
15979
159802007-08-24 Martin Rudalics <rudalics@gmx.at>
15981
15982 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
15983 whether decoding has modified buffer contents.
15984
159852007-08-24 Jason Rumney <jasonr@gnu.org>
15986
15987 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
15988 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
15989 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
15990 (init_svg_functions) [HAVE_NTGUI]: New function.
15991 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
15992 (svg_load_image): Use them.
15993 (svg_load_image) [HAVE_NTGUI]: Implement background.
15994
159952007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15996
15997 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
15998 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
15999 (LIBX): Remove @RSVG_LIBS@.
16000 (LIBES): Add $(RSVG_LIBS).
16001
16002 * image.c (svg_load_image): Blend with specified background if exists.
16003 Use IMAGE_BACKGROUND. Add Mac OS Support.
16004
16005 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
16006 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
16007 Remove macros.
16008 [MAC_OSX] (socket_callback): Do nothing.
16009 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
16010 ReceiveNextEvent.
16011 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
16012 socket_callback.
16013 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
16014
160152007-08-22 Glenn Morris <rgm@gnu.org>
16016
16017 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
16018
160192007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
16020
16021 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
16022
16023 * image.c: Add support for SVG images. Some additional comments
16024 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
16025 (svg_image_p): New function to test for SVG image.
16026 (svg_load): New function to load SVG image.
16027 (svg_load_image): New function, helper for svg_load.
16028 (Qsvg): New Lisp_object.
16029 (svg_keyword_index): New enum.
16030 (svg_format): New static `image_keyword' struct.
16031 (svg_type): New static `image_type' struct.
16032 (librsvg/rsvg.h): Include it.
16033
160342007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
16035
16036 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
16037
160382007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
16039
16040 * lread.c (Qold_style_backquotes): New var.
16041 (syms_of_lread): Init and staticpro it.
16042 (load_warn_old_style_backquotes): New fun.
16043 (Fload): Use them to warn about old style backquotes.
16044 (end_of_file_error, Fload): Remove unused vars.
16045
16046 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
16047
16048 * lread.c (Vold_style_backquotes): New var.
16049 (syms_of_lread): Init and export it to Elisp.
16050 (read1): Set it when we find an old-style (back)quote.
16051
160522007-08-22 Jason Rumney <jasonr@gnu.org>
16053
16054 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
16055
160562007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
16057
16058 * puresize.h (BASE_PURESIZE): Increase to 1140000.
16059
160602007-08-19 Richard Stallman <rms@gnu.org>
16061
16062 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
16063
160642007-08-19 Andreas Schwab <schwab@suse.de>
16065
16066 * alloc.c (pure): Round PURESIZE up.
16067
160682007-08-17 Jan Djärv <jan.h.d@swipnet.se>
16069
16070 * xterm.c (handle_one_xevent): Remove check that mouse click is in
16071 active frame.
16072
160732007-08-16 Richard Stallman <rms@gnu.org>
16074
16075 * eval.c (Fcommandp): Add parens to clarify.
16076
16077 * minibuf.c (Fall_completions): Use enum for type of table.
16078
16079 * emacs.c (USAGE2): Improve text.
16080
160812007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
16082
16083 * term.c (tty_default_color_capabilities): Declare static
16084 variables in file scope, to avoid HPUX compiler problem.
16085
160862007-08-13 Jan Djärv <jan.h.d@swipnet.se>
16087
16088 * gtkutil.c (update_frame_tool_bar): Use -1 as index
16089 to gtk_toolbar_insert.
16090
160912007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
16092
16093 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
16094
16095 * insdel.c (reset_var_on_error): New fun.
16096 (signal_before_change, signal_after_change):
16097 Use it to reset (after|before)-change-functions to nil in case of error.
16098 Bind inhibit-modification-hooks to t.
16099 Don't bind (after|before)-change-functions to nil while they run.
16100
161012007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16102
16103 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
16104 filling pixmap with stippled background.
16105
161062007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16107
16108 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
16109 Don't use invisible frame as parent window for repositioning.
16110
161112007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
16112
16113 * print.c (new_backquote_output): Rename from old_backquote_output.
16114 (print): Inverse its logic (according to its name) so as to match the
16115 behavior of new_backquote_flag in lread.c.
16116
161172007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16118
16119 * gmalloc.c (posix_memalign): New function.
16120
16121 * macterm.c (frame_highlight, frame_unhighlight): Don't call
16122 ActivateControl/DeactivateControl here.
16123 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
16124 frame-notice-user-settings is non-nil.
16125 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
16126 for kEventParamFMFontStyle.
16127 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
16128 mac_pass_command_to_system and mac_pass_control_to_system here.
16129 (XTread_socket): Call ActivateControl/DeactivateControl here.
16130 (XTread_socket) [TARGET_API_MAC_CARBON]:
16131 Check mac_pass_command_to_system and mac_pass_control_to_system here.
16132 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
16133 for window repositioning.
16134
161352007-08-08 Glenn Morris <rgm@gnu.org>
16136
16137 * Replace `iff' in doc-strings and comments.
16138
161392007-08-07 Chong Yidong <cyd@stupidchicken.com>
16140
16141 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
16142
161432007-08-07 Martin Rudalics <rudalics@gmx.at>
16144
16145 * fileio.c (Finsert_file_contents): Run format-decode and
16146 after_insert_file_functions on entire buffer when REPLACE is
16147 non-nil and inhibit modification_hooks and point_motion_hooks.
16148 For consistency, run after_insert_file_functions iff something
16149 got inserted. Move signal_after_change and update_compositions
16150 after code running after_insert_file_functions. Make sure that
16151 undo_list doesn't record intermediate steps of the decoding process.
16152
161532007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16154
16155 * emacs.c (main)
16156 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
16157 Call malloc_enable_thread on interactive startup.
16158
16159 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
16160 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
16161 [USE_PTHREAD]: Conditionalize with it.
16162 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
16163 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
16164 New functions.
16165
161662007-08-06 Chong Yidong <cyd@stupidchicken.com>
16167
16168 * xdisp.c (redisplay_window): When restoring original buffer
16169 position, make sure it is still valid.
16170
16171 * image.c (png_load): Ignore png-supplied background color.
16172
161732007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16174
16175 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
16176 Use kCFAbsoluteTimeIntervalSince1970.
16177
16178 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
16179 New variable.
16180 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
16181 event loop should be quit.
16182 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
16183 Quit dialog event loop if quit_dialog_event_loop is set.
16184
16185 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
16186 (Selection): New typedef. Use instead of ScrapRef.
16187 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
16188 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
16189 (mac_clear_selection): Rename from clear_scrap.
16190 (get_flavor_type_from_symbol): New argument SEL and subsume function of
16191 scrap_has_target_type. All uses changed.
16192 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
16193 (mac_selection_has_target_p): New functions.
16194 (mac_put_selection_value): Rename from put_scrap_string.
16195 (mac_get_selection_value): Rename from get_scrap_string.
16196 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
16197 (put_scrap_private_timestamp, scrap_has_target_type)
16198 (get_scrap_private_timestamp): Remove functions.
16199 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
16200 (x_own_selection, x_get_local_selection):
16201 Use mac_valid_selection_value_p.
16202 (x_own_selection): Don't use put_scrap_private_timestamp.
16203 Record OWNERSHIP-INFO into Vselection_alist instead.
16204 (x_get_local_selection): Don't check type if request is local.
16205 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
16206 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
16207
162082007-08-04 Jan Djärv <jan.h.d@swipnet.se>
16209
16210 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
16211 add comment explaining why.
16212
162132007-08-03 Richard Stallman <rms@gnu.org>
16214
16215 * fileio.c (Fvisited_file_modtime): Use make_time.
16216
162172007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
16218
16219 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
16220 build.
16221
162222007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
16223
16224 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
16225
162262007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
16227
16228 * puresize.h (BASE_PURESIZE): Increase to 1130000.
16229
162302007-07-30 Richard Stallman <rms@gnu.org>
16231
16232 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
16233
162342007-07-29 Jan Djärv <jan.h.d@swipnet.se>
16235
16236 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
16237
162382007-07-28 Nick Roberts <nickrob@snap.net.nz>
16239
16240 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
16241 remote default-directory.
16242
16243 * buffer.c (mode-line-format): Update doc string.
16244
162452007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16246
16247 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
16248 scroll bar gap.
16249 (x_scroll_bar_create): Set bar->fringe_extended_p.
16250 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
16251 on frame edge. Check fringe background extension. Don't clear
16252 extended fringe background area.
16253
16254 * w32term.h (struct scroll_bar): New member fringe_extended_p.
16255 (w32_fill_area): Enclose multiple statements with do ... while (0).
16256
16257 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
16258 Extend fringe background to scroll bar gap.
16259 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
16260 Set bar->fringe_extended_p.
16261 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
16262 Put leftmost/rightmost scroll bars on frame edge. Check fringe
16263 background extension. Don't clear extended fringe background area.
16264
16265 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
16266 New member fringe_extended_p.
16267
162682007-07-25 Glenn Morris <rgm@gnu.org>
16269
16270 * Relicense all FSF files to GPLv3 or later.
16271
16272 * COPYING: Switch to GPLv3.
16273
162742007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
16275
16276 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
16277
16278 * data.c (Finteractive_form): Check for the presence of an
16279 `interactive-form' symbol property more thoroughly.
16280
16281 * data.c (Finteractive_form): Use an `interactive-form' property if
16282 present, analogous to the function-documentation property.
16283
162842007-07-24 Jason Rumney <jasonr@gnu.org>
16285
16286 * w32fns.c (x_real_positions): Get real position from OS instead of
16287 calculating it.
16288
162892007-07-23 Jason Rumney <jasonr@gnu.org>
16290
16291 * filelock.c (current_lock_owner): Allow for @ sign in username.
16292
162932007-07-22 Nick Roberts <nickrob@snap.net.nz>
16294
16295 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
16296 remote default-directory.
16297
16298 * buffer.c (mode-line-format): Describe above case in doc string.
16299
163002007-07-20 Eli Zaretskii <eliz@gnu.org>
16301
16302 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
16303 Define if not defined.
16304
163052007-07-18 Jason Rumney <jasonr@gnu.org>
16306
16307 * w32proc.c (w32_executable_type): Handle 64 bit executables.
16308
163092007-07-18 Richard Stallman <rms@gnu.org>
16310
16311 * data.c (Fsetq_default): Doc fix.
16312
16313 * eval.c (Fsetq): Doc fix.
16314
163152007-07-18 Juanma Barranquero <lekktu@gmail.com>
16316
16317 * coding.c (Ffind_operation_coding_system):
16318 * eval.c (For, Fand): Doc fixes.
16319 Reported by Johan Bockgård.
16320
163212007-07-18 Jan Djärv <jan.h.d@swipnet.se>
16322
16323 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
16324
16325 * xterm.h: Declare x_ewmh_activate_frame.
16326
16327 * xterm.c (x_ewmh_activate_frame): New function.
16328 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
16329
163302007-07-17 Martin Rudalics <rudalics@gmx.at>
16331
16332 * window.c (Fdisplay_buffer): If largest or LRU window is the
16333 only window, split it even if it is not eligible for splitting.
16334 This restores the original behavior broken by the 2007-07-15
16335 change.
16336
163372007-07-17 Glenn Morris <rgm@gnu.org>
16338
16339 * abbrev.c (abbrev_check_chars): New function.
16340 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
16341 Call abbrev_check_chars to check abbrev characters are word
16342 constituents. Doc fix.
16343
163442007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
16345
16346 * process.c (Fstart_process, Fmake_network_process)
16347 (read_process_output): Fix up last changes.
16348
163492007-07-16 Eli Zaretskii <eliz@gnu.org>
16350
16351 * makefile.w32-in (clean): Don't delete *~.
16352
163532007-07-16 Andreas Schwab <schwab@suse.de>
16354
16355 * window.c (Fdisplay_buffer): Use NILP.
16356 (Fset_window_scroll_bars): Likewise.
16357
163582007-07-15 Martin Rudalics <rudalics@gmx.at>
16359
16360 * window.c (window_min_size_2): New function.
16361 (window_min_size_1, size_window, Fdisplay_buffer)
16362 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
16363 windows without mode- or header-lines when window-min-height is
16364 too small.
16365 (size_window): Reset nodelete_p after testing it, following an
16366 earlier note by Kim F. Storm.
16367 (display_buffer): Do not set split_height_threshold to twice the
16368 value of window_min_height to avoid changing the value of a
16369 customizable variable. Rather explicitly check whether the
16370 height of the window that shall be splitted is at least as large
16371 as split_height_threshold.
16372 (Fwindow_full_width_p): New defun.
16373 (syms_of_window): Defsubr it.
16374
16375 * window.h: Add EXFUN for Fwindow_full_width_p.
16376
163772007-07-14 Jason Rumney <jasonr@gnu.org>
16378
16379 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
16380
163812007-07-14 Richard Stallman <rms@gnu.org>
16382
16383 * eval.c (maybe_call_debugger): New function.
16384 (find_handler_clause): Use maybe_call_debugger.
16385 Call it when the handler says `debug'.
16386 Eliminate DEBUGGER_VALUE_PTR.
16387 (Fsignal): Eliminate debugger_value.
16388 (Qdebug): New variable.
16389 (syms_of_eval): Initialize it.
16390
163912007-07-14 Juanma Barranquero <lekktu@gmail.com>
16392
16393 * eval.c (Fprogn):
16394 * keyboard.c (Ftrack_mouse):
16395 * print.c (Fwith_output_to_temp_buffer):
16396 * window.c (Fsave_window_excursion): Doc fix.
16397
163982007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
16399
16400 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
16401
164022007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
16403
16404 * process.h (struct Lisp_Process): Turn slots infd, outfd,
16405 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
16406 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
16407 read_output_delay, and read_output_skip from Lisp_Objects to ints.
16408 Remove unused encoding_carryover.
16409 * process.c: Adjust all functions accordingly.
16410
164112007-07-12 Richard Stallman <rms@gnu.org>
16412
16413 * term.c: Include unistd.h only if HAVE_UNISTD_H.
16414
164152007-07-11 Jason Rumney <jasonr@gnu.org>
16416
16417 * makefile.w32-in (LIBS): Include OLE32.
16418
16419 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
16420 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
16421
164222007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
16423
16424 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
16425 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
16426 from a Lisp_Object into a bare pointer.
16427 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
16428 Adjust the code correspondingly.
16429
16430 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
16431
16432 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
16433 (term_show_mouse_face): Remove unused var `j'.
16434 (handle_one_term_event): Remove unused vars `i' and `j'.
16435 Don't cast return value of ttyname since it's not necessary.
16436
164372007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
16438
16439 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
16440 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
16441
16442 * fns.c (map_char_table): Use an array of int for `indices' rather than
16443 an array of Lisp_Objects (which are only ever integers anyway).
16444 (Fmap_char_table): Update caller.
16445 * lisp.h: Update prototype.
16446 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
16447 * fontset.c (Ffontset_info):
16448 * casetab.c (set_case_table): Update callers.
16449
16450 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
16451
16452 * keymap.c (struct accessible_keymaps_data)
16453 (struct where_is_internal_data): New structures.
16454 (accessible_keymaps_1, where_is_internal_1): Use them to change
16455 interface to adhere to the one used by map_keymap.
16456 (Faccessible_keymaps, where_is_internal): Use map_keymap.
16457 (accessible_keymaps_char_table, where_is_internal_2): Remove.
16458
16459 * keymap.h (map_keymap_function_t): More informative prototype.
16460
164612007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
16462
16463 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
16464 (looking_at_1): Don't change search_regs and last_thing_searched
16465 if `inhibit-changing-match-data' is non-nil.
16466 (string_match_1, search_buffer, set_search_regs): Likewise.
16467 (syms_of_search): Add Lisp level definition for
16468 `inhibit-changing-match-data' and set it to nil.
16469 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
16470 start and end of the match, instead of using values in search_regs.
16471
164722007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
16473
16474 * minibuf.c (Fcompleting_read): New value `confirm-only'
16475 for `require-match'.
16476
164772007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
16478
16479 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
16480 part of the 2007-06-27 change to syms_of_fileio.
16481
164822007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16483
16484 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
16485 Check WINDOWP before using XWINDOW. Consolidate return statements.
16486
164872007-06-27 Richard Stallman <rms@gnu.org>
16488
16489 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
16490
164912007-06-27 Juanma Barranquero <lekktu@gmail.com>
16492
16493 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
16494
164952007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16496
16497 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
16498 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
16499 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
16500 (_free_internal, memalign): Use them.
16501 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
16502 Initialize to PTHREAD_MUTEX_INITIALIZER.
16503 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
16504 (morecore_nolock): Rename from morecore. All uses changed.
16505 Use only nolock versions of internal allocation functions.
16506 (_malloc_internal_nolock, _realloc_internal_nolock)
16507 (_free_internal_nolock): New functions created from
16508 _malloc_internal, _realloc_internal, and _free_internal.
16509 (_malloc_internal, _realloc_internal, _free_internal): Use them.
16510 Copy hook value to automatic variable before its use.
16511 (memalign): Copy hook value to automatic variable before its use.
16512
165132007-06-26 Kenichi Handa <handa@m17n.org>
16514
16515 * coding.c (Ffind_operation_coding_system): Docstring improved.
16516 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
16517
165182007-06-25 David Kastrup <dak@gnu.org>
16519
16520 * keymap.c (Fcurrent_active_maps): Add `position' argument.
16521 (Fwhere_is_internal): Adjust call to `current-active-maps' to
16522 cater for additional parameter.
16523
16524 * keymap.h: Adjust number of parameters to `current-active-maps'.
16525
16526 * doc.c (Fsubstitute_command_keys): Adjust call of
16527 `current-active-maps'.
16528
165292007-06-25 David Kastrup <dak@gnu.org>
16530
16531 * callint.c (Fcall_interactively): Make the parsing of interactive
16532 specs somewhat more readable.
16533
165342007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16535
16536 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
16537 to scroll bar gap also when bitmap fills fringe. Draw only foreground
16538 if extended background has already been filled.
16539
165402007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16541
16542 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
16543 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
16544
16545 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
16546 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
16547 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
16548 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
16549 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
16550 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
16551 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
16552 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
16553 Run timers during dialog popup.
16554 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
16555
165562007-06-21 Jason Rumney <jasonr@gnu.org>
16557
16558 * image.c (convert_mono_to_color_image): Swap fore and background.
16559
165602007-06-20 Jason Rumney <jasonr@gnu.org>
16561
16562 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
16563 (w32_free_bdf_font): Unmap memory not handle.
16564
165652007-06-20 Sam Steingold <sds@gnu.org>
16566
16567 * gmalloc.c (__morecore): Fix the declaration to comply with the
16568 definition.
16569
165702007-06-20 Juanma Barranquero <lekktu@gmail.com>
16571
16572 * w32term.c (w32_delete_display): Remove leftover declaration.
16573 (w32_define_cursor, w32_initialize): Make static.
16574
16575 * w32.c (_wsa_errlist): Fix typo in error message.
16576 (init_environment): Ignore any environment variable from the
16577 registry having a null value.
16578
165792007-06-20 Glenn Morris <rgm@gnu.org>
16580
16581 * Makefile.in (LIBGIF): Default to -lgif.
16582
165832007-06-17 Jason Rumney <jasonr@gnu.org>
16584
16585 * w32menu.c (add_menu_item): Don't use multibyte string functions on
16586 unicode strings.
16587
165882007-06-16 Juanma Barranquero <lekktu@gmail.com>
16589
16590 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
16591 Fix typo in docstring.
16592
165932007-06-16 Eli Zaretskii <eliz@gnu.org>
16594
16595 * w32menu.c (add_menu_item): Escape `&' characters in menu items
16596 and their keybindings.
16597
165982007-06-15 Chong Yidong <cyd@stupidchicken.com>
16599
16600 * composite.c (update_compositions): Fix last fix.
16601
166022007-06-14 Jason Rumney <jasonr@gnu.org>
16603
16604 * w32.c (get_process_times_fn): New function pointer.
16605 (globals_of_w32): Intialize it if present in kernel32.dll.
16606 (w32_get_internal_run_time): New function.
16607
16608 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
16609
166102007-06-14 Kenichi Handa <handa@etlken.m17n.org>
16611
16612 * composite.c (update_compositions): Check the validness of
16613 compositions.
16614
166152007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16616
16617 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
16618 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
16619
16620 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
16621 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
16622
16623 * macgui.h (USE_MAC_TOOLBAR): New define.
16624
16625 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
16626 Return immediately unless popup is activated.
16627
16628 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
16629 background to scroll bar gap.
16630 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
16631 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
16632 scroll bars on frame edge. Check fringe background extension.
16633 Don't clear extended fringe background area.
16634 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
16635 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
16636 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
16637 [USE_MAC_TOOLBAR]: New macros.
16638 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
16639 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
16640 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
16641 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
16642 [USE_MAC_TOOLBAR]: New functions.
16643 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
16644 manually if previous repositioning has failed.
16645 (mac_handle_keyboard_event): Use precomputed event kind.
16646 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
16647 as tool bar item click. Handle mouse movement over tool bar items.
16648
16649 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
16650 toolbar_win_gravity.
16651 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
16652 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
16653 Add externs.
16654
16655 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
16656 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
16657
166582007-06-14 Chong Yidong <cyd@stupidchicken.com>
16659
16660 * image.c (search_image_cache): Remove unused variable.
16661
166622007-06-13 Chong Yidong <cyd@stupidchicken.com>
16663
16664 * xfns.c, xmenu.c: Link to xaw3d if available.
16665
166662007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16667
16668 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
16669 frame_foreground and frame_background.
16670
16671 * image.c (lookup_image): Save frame foreground and background colors.
16672 (search_image_cache): Check if saved and current frame colors match.
16673
166742007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
16675
16676 * regex.c (regex_compile): Remove the `regnum' counter.
16677 Use bufp->re_nsub instead. Add support for \(?N:RE\).
16678
166792007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
16680
16681 * term.c: Include intervals.h to declare Fget_text_property.
16682
166832007-06-10 Jason Rumney <jasonr@gnu.org>
16684
16685 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
16686
166872007-06-08 Juanma Barranquero <lekktu@gmail.com>
16688
16689 * callint.c (Fcall_interactively):
16690 * editfns.c (Fdelete_and_extract_region):
16691 * fileio.c (Fread_file_name):
16692 * fns.c (Fmapconcat):
16693 * keyboard.c (cmd_error_internal):
16694 * keymap.c (Fkey_description):
16695 * lread.c (openp):
16696 * minibuf.c (read_minibuf):
16697 * search.c (wordify):
16698 * sunfns.c (sel_read):
16699 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
16700 * xfns.c (x_default_scroll_bar_color_parameter):
16701 * xmenu.c (menu_help_callback):
16702 * xselect.c (Fx_get_atom_name):
16703 * xterm.c (x_term_init): Use empty_unibyte_string.
16704
167052007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
16706
16707 * alloc.c (init_strings): Initialize canonical empty strings.
16708 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
16709 canonical empty string when the requested size is 0.
16710
16711 * emacs.c (empty_unibyte_string): Rename from empty_string.
16712 (empty_multibyte_string): New canonical empty string.
16713 (syms_of_emacs): Don't initialize empty_string.
16714
16715 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
16716 string, if appropriate.
16717 (empty_unibyte_string, empty_multibyte_string): New externs.
16718 (empty_string): Remove extern.
16719
16720 * lread.c (syms_of_lread): Use empty_unibyte_string.
16721
167222007-06-07 Jason Rumney <jasonr@gnu.org>
16723
16724 * s/ms-w32.h: Don't define HAVE_TZNAME.
16725
16726 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
16727
167282007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16729
16730 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
16731
16732 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
16733 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
16734
16735 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
16736 Don't call next handler.
16737 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
16738 Remove argument. Install handler to application.
16739 (set_frame_menubar): Don't change deep_p.
16740 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
16741 FRAME_OUTER_TO_INNER_DIFF_Y.
16742 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
16743 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
16744 [HAVE_DIALOGS]: New macros.
16745 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
16746 Use them.
16747 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
16748
16749 * macselect.c [MAC_OSX] (install_service_handler): Rename from
16750 init_service_handler. All callers changed. Return OSStatus value.
16751
16752 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
16753 All callers changed so as not to call SetPortWindowPort.
16754 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
16755 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
16756 mac_draw_string_common.
16757 (mac_draw_image_string_qd): Likewise.
16758 (mac_draw_string_common): Use them. Add INLINE.
16759 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
16760 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
16761 GetGlobalMouse.
16762 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
16763 and FRAME_OUTER_TO_INNER_DIFF_Y.
16764 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
16765 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
16766 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
16767 repositioning window to mac_handle_window_event.
16768 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
16769 saving window location to mac_handle_window_event
16770 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
16771 (install_menu_target_item_handler): Remove argument in extern.
16772 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
16773 Also accept command events.
16774 (do_keystroke): New function created from XTread_socket.
16775 (init_command_handler): Remove functions.
16776 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
16777 and save window location by kEventWindowShowing and kEventWindowHiding
16778 handlers here. Don't call next handler for window state change and
16779 focus events.
16780 (mac_handle_application_event, mac_handle_keyboard_event)
16781 [TARGET_API_MAC_CARBON]: New functions.
16782 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
16783 kEventWindowShowing and kEventWindowHiding events. Move installation
16784 of mouse, font, text input and menu target item handlers to
16785 install_application_handler.
16786 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
16787 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
16788 New function.
16789 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
16790 Register it.
16791 (XTread_socket) [TARGET_API_MAC_CARBON]:
16792 Consolidate SendEventToEventTarget calls.
16793 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
16794 Move application activation handler to mac_handle_application_event.
16795 Move keyboard handler to mac_handle_keyboard_event.
16796 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
16797 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
16798 init_command_handler. Call install_application_handler.
16799
16800 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
16801 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
16802
168032007-06-07 Glenn Morris <rgm@gnu.org>
16804
16805 * emacs.c (main): Use `emacs-copyright' in --version output.
16806
168072007-06-06 Chong Yidong <cyd@stupidchicken.com>
16808
16809 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
16810
168112007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16812
16813 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
16814
16815 * macgui.h: Replace WindowPtr with WindowRef.
16816
16817 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
16818 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
16819 Replace ControlHandle with ControlRef.
16820 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
16821
16822 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
16823 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
16824 Replace ControlHandle with ControlRef.
16825 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
16826 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
16827
16828 * macterm.h (struct scroll_bar): Rename member control_handle_low
16829 and control_handle_high to control_ref_low and control_ref_high.
16830 All uses changed.
16831 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
16832 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
16833 respectively. All uses changed.
16834 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
16835 (install_window_handler, remove_window_handler): Replace WindowPtr
16836 with WindowRef in externs.
16837
168382007-06-05 Juanma Barranquero <lekktu@gmail.com>
16839
16840 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
16841
168422007-06-03 Nick Roberts <nickrob@snap.net.nz>
16843
16844 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
16845
16846 * frame.c (Fmouse_position, Fmouse_pixel_position):
16847 Condition on HAVE_GPM too.
16848
16849 * term.c (term_mouse_highlight): Remove unused variables.
16850 (Fterm_open_connection): Set gpm_zerobased to 1.
16851 (term_mouse_movement, term_mouse_click, handle_one_term_event):
16852 Use zero based co-ordinates.
16853 (handle_one_term_event): Report a drag as mouse movement too.
16854
16855 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
16856
168572007-06-03 Chong Yidong <cyd@stupidchicken.com>
16858
16859 * image.c (search_image_cache): New function. Require background
16860 color match if background color is unspecified in the image spec.
16861 (uncache_image, lookup_image): Use it.
16862
168632007-06-01 Juanma Barranquero <lekktu@gmail.com>
16864
16865 * window.c (Fshrink_window): Reflow docstring.
16866
168672007-06-02 Chong Yidong <cyd@stupidchicken.com>
16868
16869 * Version 22.1 released.
16870
168712007-06-01 Richard Stallman <rms@gnu.org>
16872
16873 * xfns.c (x_encode_text): Add GCPRO.
16874
168752007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16876
16877 * xfns.c (x_set_name_internal): Save encoded name before
16878 x_encode_text in case string data is relocated.
16879
168802007-05-31 Richard Stallman <rms@gnu.org>
16881
16882 * buffer.c (syms_of_buffer): Doc fix.
16883
168842007-05-30 Nick Roberts <nickrob@snap.net.nz>
16885
16886 * sysdep.c (init_sys_modes): Add rather than replace with
16887 O_NONBLOCK.
16888
16889 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
16890 term_mouse_moveto.
16891
16892 * termhooks.h (term_mouse_moveto): New extern.
16893
16894 * term.c (mouse_face_window): Rename...
16895 (Qmouse_face_window): ...to this.
16896 (term_show_mouse_face, term_clear_mouse_face)
16897 (term_mouse_highlight): Use Qmouse_face_window.
16898 (term_mouse_moveto): New function.
16899 (term_mouse_position): Make it work.
16900 (syms_of_term): Uncomment assignment to mouse_position_hook.
16901 Staticpro Qmouse_face_window.
16902
169032007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16904
16905 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
16906 around current_column call.
16907
169082007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
16909
16910 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
16911 * xdisp.c (next_element_from_buffer):
16912 * window.c (delete_window):
16913 * term.c (term_mouse_highlight):
16914 * msdos.c (getdefdir):
16915 * macterm.c (mac_create_bitmap_from_bitmap_data)
16916 (init_font_name_table):
16917 * fns.c (Fsxhash):
16918 * data.c (Fmake_local_variable):
16919 * ccl.c (ccl_driver): Likewise.
16920
169212007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16922
16923 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
16924 Call mac_wakeup_from_rne on window size change.
16925
169262007-05-25 Chong Yidong <cyd@stupidchicken.com>
16927
16928 * image.c (uncache_image): Fix typo.
16929
169302007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
16931
16932 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
16933
169342007-05-22 Richard Stallman <rms@gnu.org>
16935
16936 * xterm.c (x_connection_closed): Remove NO_RETURN.
16937
169382007-05-22 Martin Rudalics <rudalics@gmx.at>
16939
16940 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
16941
169422007-05-21 Chong Yidong <cyd@stupidchicken.com>
16943
16944 * image.c (uncache_image): New function.
16945 (Fimage_refresh): New function.
16946
169472007-05-20 Jan Djärv <jan.h.d@swipnet.se>
16948
16949 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
16950
169512007-05-20 Nick Roberts <nickrob@snap.net.nz>
16952
16953 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
16954 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
16955
169562007-05-20 Nick Roberts <nickrob@snap.net.nz>
16957
16958 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
16959 conditional on [HAVE_GPM_H].
16960
169612007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
16962
16963 * syntax.c (skip_chars): Update syntax-table only after we checked that
16964 the new location is valid.
16965
169662007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16967
16968 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
16969 mac_get_window_bounds.
16970
169712007-05-20 Nick Roberts <nickrob@snap.net.nz>
16972
16973 * Makefile.in (LIBGPM): Allow it to be set from configure.
16974 If set then link Emacs with it.
16975
16976 * config.in: Regenerate.
16977
16978 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
16979 New externs.
16980
16981 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
16982 Include gpm.h.
16983 (handle_one_term_event, term_gpm): New externs.
16984
16985 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
16986 and allow it to be interrupted by SIGIO.
16987
16988 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
16989 (wait_reading_process_output): Wait on gpm_fd too.
16990 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
16991 (add_gpm_wait_descriptor_called_flag): New variable.
16992 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
16993
16994 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
16995 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
16996 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
16997 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
16998 (make_lispy_event): Add case GPM_CLICK_EVENT.
16999 (read_avail_input): Handle mouse input.
17000
17001 * term.c (write_glyphs_with_face): New function.
17002 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
17003 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
17004 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
17005 (mouse_face_face_id, term_gpm, pos_x, pos_y)
17006 (last_mouse_x, last_mouse_y): New variables.
17007 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
17008 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
17009 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
17010 (Fterm_close_connection): New functions.
17011 (term_init): Initialise mouse_face_window.
17012
170132007-05-19 Chong Yidong <cyd@stupidchicken.com>
17014
17015 * xdisp.c (redisplay_window): If first window line is a
17016 continuation line, recompute the new window start instead of
17017 recentering.
17018
170192007-05-18 Glenn Morris <rgm@gnu.org>
17020
17021 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
17022 Suggested by Alfred M. Szmidt <ams@gnu.org>.
17023
170242007-05-17 Glenn Morris <rgm@gnu.org>
17025
17026 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
17027
170282007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17029
17030 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
17031 dead key repeat and up events.
17032
170332007-05-14 Chong Yidong <cyd@stupidchicken.com>
17034
17035 * image.c (pbm_load): Check image size for monochrome pbm.
17036
170372007-05-13 Chong Yidong <cyd@stupidchicken.com>
17038
17039 * xterm.c (XTread_socket): Revert last change.
17040
170412007-05-12 Chong Yidong <cyd@stupidchicken.com>
17042
17043 * image.c (pbm_load): Correctly check image size for greyscale pbm.
17044
17045 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
17046
170472007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
17048
17049 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
17050 mixup (YAILOM).
17051
170522007-05-07 Andreas Schwab <schwab@suse.de>
17053
17054 * keymap.c (Flookup_key): Fix typo in last change.
17055
170562007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
17057
17058 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
17059 mapping for unibyte strings.
17060
170612007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17062
17063 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
17064 (Fx_popup_dialog) [MAC_OSX]: Likewise.
17065
170662007-04-29 Richard Stallman <rms@gnu.org>
17067
17068 * insdel.c (replace_range): For undo, record insertion first.
17069
170702007-04-29 Andreas Schwab <schwab@suse.de>
17071
17072 * lisp.h (VECSIZE): Use OFFSETOF.
17073
170742007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17075
17076 * xdisp.c (try_window_reusing_current_matrix): Fix number of
17077 disabled lines.
17078
170792007-04-28 Richard Stallman <rms@gnu.org>
17080
17081 * lread.c (read_escape): In a string, \s is always space.
17082
170832007-04-27 Jan Djärv <jan.h.d@swipnet.se>
17084
17085 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
17086
17087 * gtkutil.c (xg_update_menubar, create_menus): Create empty
17088 submenu for menu bar items.
17089
17090See ChangeLog.10 for earlier changes.
17091
17092;; Local Variables:
17093;; coding: utf-8
17094;; add-log-time-zone-rule: t
17095;; bug-reference-url-format: "http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=%s"
17096;; End:
17097
76b6f707 17098 Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
aac0c6e3
MR
17099
17100 This file is part of GNU Emacs.
17101
17102 GNU Emacs is free software: you can redistribute it and/or modify
17103 it under the terms of the GNU General Public License as published by
17104 the Free Software Foundation, either version 3 of the License, or
17105 (at your option) any later version.
17106
17107 GNU Emacs is distributed in the hope that it will be useful,
17108 but WITHOUT ANY WARRANTY; without even the implied warranty of
17109 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17110 GNU General Public License for more details.
17111
17112 You should have received a copy of the GNU General Public License
17113 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
17114
17115;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40