* nsmenu.m (NSMENUPROFILE): Change #if style.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
cbe0b5bf
AR
12009-01-21 Adrian Robert <Adrian.B.Robert@gmail.com>
2
3 * nsmenu.m (NSMENUPROFILE): Change #if style.
4
5
e301e634
CY
62009-01-19 Chong Yidong <cyd@stupidchicken.com>
7
7f82490b
CY
8 * xfaces.c (Finternal_set_lisp_face_attribute, Fx_list_fonts):
9 Check return value of font_spec_from_name.
10 (Fx_list_fonts): Doc fix.
11
12 * font.c (font_spec_from_name): Return Qnil if font name could not
13 be parsed.
14 (font_parse_name): Treat a `?' character as part of an XLFD.
15
e301e634
CY
16 * fns.c (Fsubstring): Doc fix.
17
1c0db158
KH
182009-01-19 Kenichi Handa <handa@m17n.org>
19
20 * ftfont.c (ftfont_lookup_cache): Check the return value of
21 FcFontList.
22 (ftfont_list): Likewise.
23
acf20901
JB
242009-01-18 Juanma Barranquero <lekktu@gmail.com>
25
fff4e459
JB
26 * dbusbind.c (Fdbus_register_signal):
27 * process.c (conv_sockaddr_to_lisp):
28 * w32fns.c (Fw32_battery_status): Use empty_unibyte_string.
29
acf20901
JB
30 * callproc.c (Fgetenv_internal): Doc fix.
31
e7abcdfb
CY
322009-01-16 Chong Yidong <cyd@stupidchicken.com>
33
34 * xfns.c (x_make_gc): Don't allocate stipple member for gc_values;
35 it is not even used.
36
b60861e6
GM
372009-01-16 Glenn Morris <rgm@gnu.org>
38
39 * font.c (Ffont_variation_glyphs): Silence compiler.
40
8db52afe
JB
412009-01-15 Juanma Barranquero <lekktu@gmail.com>
42
43 * sound.c (SOUND_WARNING): Use _snprintf, for MSVC compatibility.
44 Reported by David Robinow <drobinow@gmail.com>.
45
4cddb209
KH
462009-01-15 Kenichi Handa <handa@m17n.org>
47
48 * coding.c (detect_coding_system): Fix handling of
49 null_byte_found.
50
f247f67b
JR
512009-01-14 Jason Rumney <jasonr@gnu.org>
52
53 * frame.c (x_set_font): Always store a font to the font parameter,
fff4e459 54 never a fontset. (Bug#1562)
f247f67b 55
f56a4450
KH
562009-01-14 Kenichi Handa <handa@m17n.org>
57
58 * coding.c (TWO_MORE_BYTES): New macro.
fff4e459 59 (detect_coding_utf_16): Use TWO_MORE_BYTES instead of ONE_MORE_BYTE.
f56a4450 60
4e99855e
CY
612009-01-13 Chong Yidong <cyd@stupidchicken.com>
62
63 * font.c (font_clear_prop): If clearing the family, clear the font
64 width index too.
65
fff4e459 66 * xfaces.c (Finternal_set_lisp_face_attribute): Revert last change.
4e99855e 67
24f01470
JB
682009-01-12 Juanma Barranquero <lekktu@gmail.com>
69
70 * sound.c [WINDOWSNT] (SOUND_WARNING): New macro.
71 (do_play_sound): Use it. Don't pass a hardcoded buffer size to mci
72 functions, use sizeof.
73
a41240a3
MR
742009-01-12 Martin Rudalics <rudalics@gmx.at>
75
76 * keyboard.c (read_char): Fix case where last_nonmenu_event
77 returned a bad value with submenus. (Bug#447)
78
944636b8
CY
792009-01-12 Chong Yidong <cyd@stupidchicken.com>
80
81 * xfaces.c (Finternal_set_lisp_face_attribute): If setting the
82 family, clear the font width index too.
83
0dad7c6f
JR
842009-01-11 Jason Rumney <jasonr@gnu.org>
85
86 * keyboard.c (cmd_error_internal): Exit when errors occur before
87 frame creation and not in daemon mode. (Bug#1836)
88
7c2363af
CY
892009-01-10 Chong Yidong <cyd@stupidchicken.com>
90
91 * xdisp.c (pos_visible_p): When iterator stops on the last glyph
92 of a display vector, backtrack.
93 (try_window_reusing_current_matrix): Check glyph type before
94 referencing charpos member.
95
97b1b294
EZ
962009-01-10 Eli Zaretskii <eliz@gnu.org>
97
98 Fix Bug #876:
99
100 * coding.c (inhibit_null_byte_detection): New variable.
101 (detect_coding, detect_coding_system): Don't pay attention to null
102 bytes if inhibit_null_byte_detection is non-zero.
103 (syms_of_coding) <inhibit-null-byte-detection>: Declare and
104 document.
105 <inhibit-iso-escape-detection>: Doc fix.
106
4624b6e3
JR
1072009-01-09 Jason Rumney <jasonr@gnu.org>
108
109 * w32font.c (add_font_entity_to_list): Don't report unknown
fff4e459 110 Windows charset as any unrecognized registry. (Bug#1548)
4624b6e3
JR
111 Only report Unicode Plane 2 fonts as unicode-sip.
112
323b840c
CY
1132009-01-09 Chong Yidong <cyd@stupidchicken.com>
114
115 * xfaces.c (Fx_font_family_list): Function deleted. Compatibility
116 version moved to faces.el.
117
118 * font.c (Ffont_family_list): Return a list of strings, not
119 symbols.
120
eba7400d
MR
1212009-01-09 Martin Rudalics <rudalics@gmx.at>
122
123 * frame.c (x_set_frame_parameters): Remember requested value for
124 fullscreen before it's reset by the parameter handler.
125
4b09796d
GM
1262009-01-09 Glenn Morris <rgm@gnu.org>
127
128 * keyboard.c (last_command_char): For clarity, rename to...
129 (last_command-event): ... and update all users.
130 (last_input_char): For clarity, rename to...
131 (last_input_event): ... and update all users.
132 (last-command-char, last-input-char): Move to subr.el as aliases.
133 * cmds.c, commands.h: Update for last_command_char rename.
134
14ccea62
CY
1352009-01-08 Chong Yidong <cyd@stupidchicken.com>
136
137 * font.c (font_open_for_lface): Handle unspecified height
138 attribute.
139
5f004711
JR
1402009-01-08 Jason Rumney <jasonr@gnu.org>
141
142 * w32fns.c (Vx_pointer_shape, Vx_nontext_pointer_shape)
143 (Vx_mode_pointer_shape, Vx_window_horizontal_drag_shape)
144 (Vx_hourglass_pointer_shape, Vx_sensitive_text_pointer_shape):
145 Don't declare.
fff4e459 146 (syms_of_w32fns): Don't define x-pointer-shape variable. (Bug#1485)
5f004711
JR
147 (x_create_tip_frame) [GLYPH_DEBUG]: Enable image debugging code.
148
b71f6f73
KH
1492009-01-07 Kenichi Handa <handa@m17n.org>
150
50b06221 151 * fileio.c (Finsert_file_contents): In the case of replace,
f56a4450 152 remember the coding system used for decoding in
50b06221
KH
153 coding_system (Bug#1039).
154
b71f6f73 155 * coding.c (decode_coding_utf_8): Check byte_after_cr before
79a97217 156 breaking the loop. (Bug#870)
b71f6f73
KH
157 (decode_coding_utf_16, decode_coding_emacs_mule)
158 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
159 (decode_coding_charset): Likewise.
160
56f668f7
MR
1612009-01-05 Martin Rudalics <rudalics@gmx.at>
162
163 * frame.c (x_set_frame_parameters): Make sure height (width) get
164 applied when fullwidth (fullheight) is set. (Bug#1522)
165
5da9424d
JB
1662009-01-04 Juanma Barranquero <lekktu@gmail.com>
167
168 * w32.c: Use 64-bit arithmetic to do FILETIME conversions. (Bug#1766)
169 (utc_base): Declare as ULONGLONG, not long double.
170 (convert_time_raw): Delete.
171 (FILETIME_TO_U64, U64_TO_LISP_TIME): New macros.
172 (initialize_utc_base): New function.
173 (convert_time): Use FILETIME_TO_U64, initialize_utc_base.
174 (convert_from_time_t): Use initialize_utc_base; compute result with
175 64-bit arithmetic.
176 (process_times): Use FILETIME_TO_U64, U64_TO_LISP_TIME.
177
c4605e09
EZ
1782009-01-03 Eli Zaretskii <eliz@gnu.org>
179
9acef61c 180 * process.c (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess)
c4605e09
EZ
181 (Qttname, Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime)
182 (Qcutime, Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs)
183 (Quser, Qgroup, Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime)
184 [!subprocesses]: Define.
185 (syms_of_process) [!subprocesses]: Intern and staticpro them.
186 (Flist_system_processes, Fsystem_process_attributes)
187 [!subprocesses]: Call list_system_processes and
188 system_process_attributes instead of returning Qnil.
189
9acef61c
JB
190 * dosfns.c (system_process_attributes, list_system_processes):
191 New functions.
c4605e09
EZ
192
193 * vm-limit.c (ret_lim_data) [MSDOS]: New function.
194
195 * sysdep.c (list_system_processes, system_process_attributes) [MSDOS]:
196 Don't use the default (no-op) implementation.
197
8b7d0a16
JR
1982009-01-03 Jason Rumney <jasonr@gnu.org>
199
a6d46bc1
JR
200 * keyboard.c (parse_modifiers_uncached): Wheel events are
201 clicks (bug#687).
202
8b7d0a16
JR
203 * w32term.c (x_query_colors, x_query_color): New functions.
204
205 * image.c (x_to_xcolors, png_load): Eliminate W32 specific code.
206 (svg_load_image): Cast returned pointers from dynamically loaded
207 functions. Eliminate W32 specific code.
208
bfe11752
DN
2092009-01-02 Dan Nicolaescu <dann@ics.uci.edu>
210
89e2438a
DN
211 * nsfns.m (x_set_foreground_color, x_set_background_color)
212 (x_set_cursor_color, x_set_icon_name, x_explicitly_set_name)
213 (x_set_title, x_set_icon_type, x_set_cursor_type): Rename to use
214 x_ prefix instead of ns_. Update references.
215 (syms_of_nsfns): Add a FIXME comment.
216
217 * nsterm.m (x_set_cursor_type): New prototype.
218 (setValuesFromPanel): Use it instead of the old ns_ prefixed name.
219
bfe11752
DN
220 * sysdep.c (system_process_attributes): Provide Qtime and Qctime
221 for Solaris instead of incorrectly providing Qutime and Qcutime.
222
031da700
EZ
2232009-01-02 Eli Zaretskii <eliz@gnu.org>
224
225 * w32.c (process_times): Compute sum of utime and stime.
226 (system_process_attributes): Add Qtime to the alist.
227
228 * sysdep.c (system_process_attributes): Compute Qtime and Qctime
229 and add them to the alist.
230
231 * process.c (top level) <Qtime, Qctime>: New variables.
232 (syms_of_process): staticpro them.
233 (Fsystem_process_attributes): Add their documentation to the doc
234 string.
235
236 * process.h: Declare Qtime and Qctime.
237
df23bf08
JR
2382009-01-02 Jason Rumney <jasonr@gnu.org>
239
9acef61c 240 * image.c (Qgobject): New symbol.
df23bf08
JR
241 (syms_of_image): Initialize it.
242 (init_svg_functions): Load some functions from gobject library.
243
5bbdf7aa
DN
2442009-01-01 Dan Nicolaescu <dann@ics.uci.edu>
245
246 * frame.c (make_terminal_frame): Remove redundant code and useless
247 block.
248
63136da6
AS
2492009-01-01 Andreas Schwab <schwab@suse.de>
250
251 * process.c (conv_sockaddr_to_lisp): Add workaround for
252 getsockname bug on BSD.
253
9ef69046
CY
2542009-01-01 Chong Yidong <cyd@stupidchicken.com>
255
d6fafbe0
CY
256 * xfns.c (x_create_tip_frame): Set border width of the X window.
257
9ef69046
CY
258 * xfaces.c (Finternal_set_lisp_face_attribute): Improve error
259 message.
260
f9c34147
JR
2612009-01-01 Jason Rumney <jasonr@gnu.org>
262
9acef61c 263 * w32term.c (x_new_font): Return font object, not fontset. (Bug#119)
f9c34147
JR
264 Don't block input, as per earlier xterm.c changes.
265
f5497e45
AR
2662008-12-31 Adrian Robert <Adrian.B.Robert@gmail.com>
267
268 * nsfns.m (ns_appkit_version_str): Rename from ns_appkit_version.
269 (ns_appkit_version_int): New function.
270 (x-server-version): Use ns_appkit_version_int and follow 21+
271 convention of returning 3 integers.
272
c19cab20
KH
2732008-12-30 Kenichi Handa <handa@m17n.org>
274
275 * character.h (CHAR_VARIATION_SELECTOR_P): New macro.
276 (CHAR_SURROGATE_PAIR_P): New macro.
277
278 * font.h (struct font_driver): New member get_variation_glyphs.
279
9acef61c 280 * font.c (font_range): Don't require a font for a variation selector.
c19cab20
KH
281 (Ffont_variation_glyphs): New function.
282 (syms_of_font): Defsubr it.
283
284 * ftfont.c (ftfont_driver): Set the member get_variation_glyphs to
285 ftfont_variation_glyphs.
286 (setup_otf_gstring): New function.
287 (ftfont_drive_otf): Use it.
288 (ftfont_shape_by_flt): Handle variation selector.
289 (ftfont_variation_glyphs): New function.
290
28cd591f
MR
2912008-12-30 Martin Rudalics <rudalics@gmx.at>
292
293 * frame.c (Vemacs_iconified): Remove.
294
7f714baf
JR
2952008-12-30 Jason Rumney <jasonr@gnu.org>
296
297 * frame.c (store_frame_param, x_get_arg): Enable newer code on
9acef61c 298 WINDOWSNT too, as related changes have already been synced. (Bug#117)
7f714baf 299
9d2d22ab
CY
3002008-12-30 Chong Yidong <cyd@stupidchicken.com>
301
302 * indent.c (Fvertical_motion): Don't advance iterator if we have
303 reseated to the desired position.
304
305 * xdisp.c (move_it_to): Handle GET_FROM_STRETCH method when
306 checking for pos match.
307
545312c2
KH
3082008-12-30 Kenichi Handa <handa@m17n.org>
309
1ede3eb6
KH
310 * insdel.c (copy_text): To convert a non-ASCII char to unibyte,
311 just get the low 8-bit of the code.
312
545312c2
KH
313 * font.c (font_intern_prop): Validate str as multibyte.
314
bd7bbf29
DN
3152008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
316
31e0750e
DN
317 * dispextern.h (struct face): Move lface and hash from the middle
318 of bitfields.
319
bd7bbf29
DN
320 * Makefile.in (INTERVALS_H): Rename from INTERVAL_SRC, update all users.
321
b5672e7c
DN
3222008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
323
324 * Makefile.in (INTERVAL_SRC): Also depend on dispextern.h.
325 (coding.o, dispnew.o, keymap.o, msdos.o): Depend on INTERVAL_SRC
326 instead of intervals.h.
327
d704470f
AS
3282008-12-26 Andreas Schwab <schwab@suse.de>
329
330 * keymap.c (map_keymap_char_table_item): Make a copy of KEY if it is a
331 cons.
332
54b33868
MR
3332008-12-26 Martin Rudalics <rudalics@gmx.at>
334
335 * textprop.c (Qminibuffer_prompt): New variable.
336 (syms_of_textprop): Initialize it.
337 * callint.c (Fcall_interactively): For `c', `k', and `K' prompt
338 in minibuffer-prompt face. (Bug#1662)
339
40b615d6
JR
3402008-12-25 Jason Rumney <jasonr@gnu.org>
341
342 * buffer.c (Fbuffer_swap_text): Use POINTER_TYPE.
343
baae5c2d
JR
3442008-12-24 Jason Rumney <jasonr@gnu.org>
345
346 * ralloc.c (r_alloc_reset_variable): New function.
347
348 * buffer.c (Fbuffer_swap_text) [REL_ALLOC]: Reset ralloc's internal
9acef61c 349 record of what points where. (Bug#716)
baae5c2d 350
a9051c88
DN
3512008-12-22 Dan Nicolaescu <dann@ics.uci.edu>
352
353 * minibuf.c (read_minibuf): Follow the non-interactive case when
354 running as a daemon, before detaching.
355
8b146312
AS
3562008-12-22 Andreas Schwab <schwab@suse.de>
357
358 * buffer.c (init_buffer): Use realloc instead of xrealloc.
359 * gtkutil.c (free_widget_value): Use xfree instead of free.
360
56f2de10
MR
3612008-12-22 Martin Rudalics <rudalics@gmx.at>
362
363 * frame.c (delete_frame): New function derived from
364 Fdelete_frame to handle Qnoelisp value for FORCE argument.
365 Delete last frame iff FORCE equals Qnoelisp. (Bug#1450)
366 (Fdelete_frame): Call delete_frame. Remove line from doc-string
367 saying that FORCE non-nil doesn't run `delete-frame-functions'.
368 * frame.h: Extern delete_frame.
369 * window.c (window_loop):
370 * terminal.c (delete_terminal):
371 * xterm.c (x_connection_closed):
372 * xfns.c (Fx_hide_tip):
9acef61c 373 * w32fns.c (Fx_hide_tip): Call delete_frame instead of Fdelete_frame.
56f2de10 374
1fc200d6
JR
3752008-12-21 Jason Rumney <jasonr@gnu.org>
376
377 * w32uniscribe.c (uniscribe_encode_char): Return FONT_INVALID_CHAR
378 when character maps to .notdef character.
379
5e252df2
SM
3802008-12-21 Stefan Monnier <monnier@iro.umontreal.ca>
381
382 * keyboard.c (cmd_error_internal): Don't exit in daemon mode, bug#1310.
383
99b72cc4
JR
3842008-12-20 Jason Rumney <jasonr@gnu.org>
385
386 * frame.c (Fmake_terminal_frame): Raise an error when called from
9acef61c 387 a graphical frame on Windows. (Bug#1325)
99b72cc4 388
acc49a52
JD
3892008-12-20 Jan Djärv <jan.h.d@swipnet.se>
390
391 * frame.c (Fdelete_frame): Set f->menu_bar_vector to Qnil.
392
6ea15123
CY
3932008-12-20 Chong Yidong <cyd@stupidchicken.com>
394
395 * minibuf.c (Fread_buffer): Doc fix.
396
b2dab6c8
JR
3972008-12-20 Jason Rumney <jasonr@gnu.org>
398
54ea0c87 399 * fileio.c (Fexpand_file_name): Do not allow ../ to go beyond the
9acef61c 400 server name in UNC paths. (Bug#719)
54ea0c87 401
b2dab6c8 402 * coding.c (decode_coding): Clear chars_at_source flag when using
9acef61c 403 charbuf. (Bug#1035)
b2dab6c8 404
6d1921be
DN
4052008-12-19 Daniel Engeler <engeler@gmail.com>
406
407 * sysdep.c (serial_configure): Fix typo.
408
53934c98
DN
4092008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
410
411 * sysdep.c: Include alloca.h.
f4f634e8
DN
412 (system_process_attributes): Add implementation for Solaris.
413
414 * s/sol2-10.h (HAVE_PROCFS, _STRUCTURED_PROC): New defines.
53934c98 415
06e111a6
DN
4162008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
417
418 Reorganize implementation of Flist_system_processes and
419 Fsystem_process_attributes. No functional changes.
420 * process.c: Don't #include pwd.h, grp.h and limits.h.
421 (Flist_system_processes): Just call list_system_processes.
422 (Fsystem_process_attributes): Just call system_process_attributes.
423 (procfs_list_system_processes, time_from_jiffies)
424 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
425 (procfs_get_total_memory, procfs_system_process_attributes): Move ...
426
427 * sysdep.c: ... here. Include pwd.h, grp.h and limits.h.
428 (list_system_processes): Rename from
429 procfs_list_system_processes. Enclose in #ifdef HAVE_PROCFS.
430 Provide a do nothing implementation.
431 (system_process_attributes): Rename from
432 procfs_list_system_processes.
433 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
9acef61c 434 (procfs_get_total_memory): Enclose in #ifdef GNU_LINUX.
06e111a6
DN
435
436 * w32.c (list_system_processes): Rename from
437 w32_list_system_processes.
438 (system_process_attributes): Rename from
439 w32_system_process_attributes.
440
441 * s/gnu-linux.h (LISTPROC, PROCATTR): Remove.
442
443 * process.h (w32_list_system_processes)
444 (w32_system_process_attributes): Remove.
445 (list_system_processes, system_process_attributes): New
446 prototypes.
447
6a705b23
KH
4482008-12-19 Kenichi Handa <handa@m17n.org>
449
450 * xfont.c (xfont_decode_coding_xlfd): New function.
451 (xfont_encode_coding_xlfd): New function.
452 (xfont_list_pattern): Decode XLFD by iso-8859-1.
453 (xfont_list): Decode and encode XLFD by iso-8859-1.
454 (xfont_match): Likewise.
455 (xfont_list_family): Likewise.
456 (xfont_open): Likewise.
457
d66c0241 458 * ftfont.c (ftfont_open): Generate a multibyte string if given
6a705b23
KH
459 names are utf-8.
460
d66c0241 461 * xftfont.c (xftfont_open): Generate a multibyte string if given
6a705b23
KH
462 names are utf-8.
463
5a130941
JD
4642008-12-18 Jan Djärv <jan.h.d@swipnet.se>
465
466 * gtkutil.c (xg_frame_resized): Remove check if rows/columns have
467 changed.
bfd20325
JD
468 (xg_tool_bar_proxy_callback): Put focus on the frame after we have
469 clicked on a detached tool bar button.
5a130941 470
fd95644b
DN
4712008-12-18 Dan Nicolaescu <dann@ics.uci.edu>
472
473 * emacs.c (main): Print and error and exit when no data is read
474 from the pipe.
475
e6eee6ae
JR
4762008-12-17 Jason Rumney <jasonr@gnu.org>
477
478 * w32font.c (w32font_has_char): Always return -1.
479
a35dd56b
KH
4802008-12-16 Kenichi Handa <handa@m17n.org>
481
482 * font.c (font_open_entity): Fix previous change.
483
0e3635c2
DN
4842008-12-16 Dan Nicolaescu <dann@ics.uci.edu>
485
486 * process.c: Include <limits.h>.
487
d4835507 4882008-12-16 Chetan Pandya <pandyacus@sbcglobal.net> (tiny change)
b5356c39
CY
489
490 * font.c (font_update_drivers): Fix mistake in reconstructing the
491 driver list.
492
4932008-12-16 Chong Yidong <cyd@stupidchicken.com>
494
495 * font.c (font_clear_cache): Fix format of font cache data.
496
e2cbc401
CY
4972008-12-15 Chong Yidong <cyd@stupidchicken.com>
498
499 * xftfont.c (xftfont_open): Free Xft font pattern if
500 XftFontOpenPattern fails.
501
502 * xterm.c (x_free_frame_resources): Remove extraneous call to
503 free_frame_faces.
504
b131d535
CY
5052008-12-13 Chong Yidong <cyd@stupidchicken.com>
506
507 * xterm.c (x_delete_display): Move xim_close_dpy call to
508 x_delete_terminal.
509 (x_delete_terminal): Call xim_close_dpy.
510
e6df5336
JR
5112008-12-13 Jason Rumney <jasonr@gnu.org>
512
513 * w32font.c (intern_font_name): New function.
514 (add_font_name_to_list, w32_enumfont_pattern_entity): Use it.
515 (w32font_open_internal, Fx_select_font): Decode font name.
516 (fill_in_logfont, list_all_matching_fonts): Encode font name.
517
518 * w32font.h (intern_font_name): Declare new function.
519
520 * w32uniscribe.c (add_opentype_font_name_to_list):
521 Use intern_font_name.
522
20d68145
CY
5232008-12-13 Chong Yidong <cyd@stupidchicken.com>
524
9f2554de
CY
525 * frame.c (Fdelete_frame): Call free_font_driver_list.
526
3d9bec9a
CY
527 * font.c (free_font_driver_list): Implement missing function.
528
20d68145
CY
529 * w32term.c (w32_term_init): Don't initialize the image cache
530 here; it will be done in init_frame_faces.
531
532 * xterm.h (struct xim_inst_t): Definition moved from xterm.c.
533 (struct x_display_info): Remove unused member null_pixel. New
534 member xim_callback_data.
535
536 * xterm.c (struct xim_inst_t): Definition moved to xterm.h.
537 (xim_initialize): Save pointer to callback function data.
538 (xim_close_dpy): Free callback function data. Call XCloseIM,
539 reverting 2008-11-04 change by David Smith.
540 (x_term_init): Don't initialize the image cache here; it will be
541 done in init_frame_faces. Remove ancient "null_pixel" cruft.
542 (x_delete_display): Free x_dnd_atoms member.
543
96f9306b
KH
5442008-12-13 Kenichi Handa <handa@m17n.org>
545
6dec9044
JB
546 * font.c (font_rescale_ratio): Moved from xfaces.c.
547 Argument type changed. Handle a font-spec too.
96f9306b 548 (font_score): Check Vface_font_rescale_alist.
6dec9044 549 (font_open_entity): Likewise. (Bug#1547)
96f9306b
KH
550
551 * xfaces.c (font_rescale_ratio): Moved to font.c.
552
8d5b4964
CY
5532008-12-13 Chong Yidong <cyd@stupidchicken.com>
554
555 * xfns.c (Fx_wm_set_size_hint): Check if the frame is an X frame.
556
e6df5336
JR
5572008-12-12 Jason Rumney <jasonr@gnu.org>
558
559 * w32fns.c (x_display_info_for_name, Fx_open_connection): Set
560 Vwindow_system_version to the real w32 major version.
561
97c6058a
DN
5622008-12-12 Dan Nicolaescu <dann@ics.uci.edu>
563
564 * term.c (init_tty): Move setting the terminal name before the
565 potential user: maybe_fatal.
566
ec4e88d7
CY
5672008-12-11 Chong Yidong <cyd@stupidchicken.com>
568
d4835507
JB
569 * term.c (tty_free_frame_resources): Renamed from delete_tty_output;
570 all callers changed. Call free_frame_faces to free the face cache.
ec4e88d7 571
b4233ec9
JR
5722008-12-11 Jason Rumney <jasonr@gnu.org>
573
8ec71e23 574 * w32font.c (fill_in_logfont): Don't assume symbol script means
9acef61c 575 SYMBOL_CHARSET. (Bug#547)
8ec71e23 576
b4233ec9 577 * w32uniscribe.c (uniscribe_encode_char): Increase glyph buffer
9acef61c 578 size for surrogates. (Bug#1096, bug#872)
b4233ec9 579
011a0143
JB
5802008-12-11 Juanma Barranquero <lekktu@gmail.com>
581
582 * w32proc.c (Fw32_get_locale_info): Decode long form of locale name.
583
3c309f34
JB
5842008-12-11 Juanma Barranquero <lekktu@gmail.com>
585
586 * process.c (Fsystem_process_attributes, syms_of_process):
587 Fix typo in name of Ssystem_process_attributes.
588 Reported by Ulrich Mueller <ulm@kph.uni-mainz.de>.
589
fedc6ab5
JB
5902008-12-11 Juanma Barranquero <lekktu@gmail.com>
591
592 * syntax.c (Fmodify_syntax_entry): Doc fix.
593
ba3de0e8
JB
5942008-12-10 Juanma Barranquero <lekktu@gmail.com>
595
596 * font.c (Ffont_spec): Move usage to end of docstring.
597
174f1c74
JR
5982008-12-10 Jason Rumney <jasonr@gnu.org>
599
600 * w32font.c (Qcham): New symbol.
601 (font_supported_scripts): Add cham, and comments for other new
602 scripts in bitfield from OpenType spec.
9d32f818
JR
603 (add_font_entity_to_list): Limit unicode-sip fonts to those that
604 contain characters beyond the bmp.
174f1c74 605
7b649478
KH
6062008-12-10 Kenichi Handa <handa@m17n.org>
607
608 * ftfont.c (fc_charset_table): Add "unicode-sip".
2ae37cf0 609 (ftfont_spec_pattern): Lookup fc_charset_table for the registry
7b649478
KH
610 Qunicode_sip.
611
2133e2d1
JB
6122008-12-10 Juanma Barranquero <lekktu@gmail.com>
613
614 * coding.c (QCdefault_char): Rename from QCdefalut_char.
615 (Fcoding_system_put): Use QCdefault_char.
616 (syms_of_coding): Set QCdefault_char, not QCdefalut_char.
617
9af886ee
CY
6182008-12-09 Chong Yidong <cyd@stupidchicken.com>
619
74d819eb
CY
620 * xftfont.c (syms_of_xftfont): Fix typo.
621
4ccfa1c0 622 * buffer.c (Fbuffer_swap_text): Signal error if swapping a dead buffer.
9af886ee 623
7c19d3ae
DN
6242008-12-08 Dan Nicolaescu <dann@ics.uci.edu>
625
626 * emacs.c (main): Close daemon_pipe on exec.
627
567826bb
CY
6282008-12-08 Chong Yidong <cyd@stupidchicken.com>
629
630 * termchar.h (struct tty): New members termcap_term_buffer and
631 termcap_strings_buffer.
632
633 * term.c (encode_terminal_code): Free any previous memory blocks
4ccfa1c0 634 before calling xmalloc for encode_terminal_src or encode_terminal_dst.
567826bb
CY
635 (maybe_fatal): Buffer argument deleted. Don't free buffer here.
636 All callers changed.
637 (init_tty): Store termcap data and string buffers in new struct
638 tty members termcap_term_buffer and termcap_strings_buffer.
639 (delete_tty): Free them.
4ccfa1c0 640 (syms_of_term): Initialize encode_terminal_src and encode_terminal_dst.
567826bb 641
aa96c42b
SZ
6422008-12-07 Seiji Zenitani <zenitani@mac.com>
643
644 * nsfns.m (ns_set_background_color): Remove code duplication.
4ccfa1c0 645 It was a substitute for face-transparency on OS X 10.3.
aa96c42b 646
b7e1d896
CY
6472008-12-06 Chong Yidong <cyd@stupidchicken.com>
648
649 * coding.c (make_conversion_work_buffer): Disable buffer
650 modification hooks in the work buffer.
651
b5ec91a5
EZ
6522008-12-05 Eli Zaretskii <eliz@gnu.org>
653
654 * process.c (procfs_system_process_attributes): If `nread' has a
655 negative value, assign zero to it.
656
a5d2a52b
CY
6572008-12-05 Chong Yidong <cyd@stupidchicken.com>
658
68c5540b 659 * eval.c (Vdebug_on_error): Doc fix.
a5d2a52b 660
7bf1bb21
KH
6612008-12-05 Kenichi Handa <handa@m17n.org>
662
663 * ftfont.c (ftfont_shape_by_flt): Use "combining" flt if the
664 second character is a combining character.
665
2fdc7d00
EZ
6662008-12-05 Eli Zaretskii <eliz@gnu.org>
667
668 * process.c (procfs_system_process_attributes): Don't use cmd,
669 cmdsize, and q without initializing them first.
670
bf6bfba8
JR
6712008-12-04 Jason Rumney <jasonr@gnu.org>
672
673 * w32font.c (w32font_draw): Initialize orig_clip before getting
674 it, and delete it when finished.
675
a3b1a468
DN
6762008-12-04 Dan Nicolaescu <dann@ics.uci.edu>
677
678 * keyboard.c (kbd_buffer_get_event): Follow the non-interactive
679 case when running as a daemon before detaching.
680
8b8be8eb
JB
6812008-12-03 Juanma Barranquero <lekktu@gmail.com>
682
805f2638 683 * w32.c (init_environment): Don't unload library shell32.dll.
8b8be8eb 684
b1bde622
KH
6852008-12-03 Kenichi Handa <handa@m17n.org>
686
e500c47d
KH
687 * font.c (font_at): Set `multibyte' at first.
688
ca516334
KH
689 * coding.c (decode_coding_charset): Check type of an element of
690 vector VALIDS.
7bf1bb21 691 (encode_coding_emacs_mule): Be sure to set `code'.
ca516334 692
4ccfa1c0 693 * fontset.c (face_for_char): Handle invalid charset property correctly.
b1bde622
KH
694 (font_for_char): Likewise.
695
1e5ecd37
CY
6962008-12-03 Chong Yidong <cyd@stupidchicken.com>
697
d5b01609 698 * font.c (Fopen_font): Compute pixel size correctly.
ba207571
CY
699 (font_update_lface): Handle fonts with corrupted size specs,
700 i.e. non-int and non-float.
d5b01609 701
11e3a6e4 702 * ftfont.c (ftfont_match): Initialize entity variable.
9a48c8cb 703 (ftfont_resolve_generic_family): Avoid using uninitialized var.
8adb3a3b 704 (ftfont_list_family): Initialize list var earlier.
11e3a6e4 705
ab06788b
CY
706 * xselect.c (Fx_get_cut_buffer_internal): Fix memory leak.
707
1e5ecd37 708 * xterm.c (x_draw_glyph_string): Fall back on
0cff82ab 709 underline_minimum_offset for underline position.
1e5ecd37 710
63c125ab
DN
7112008-12-03 Dan Nicolaescu <dann@ics.uci.edu>
712
713 * keyboard.c (read_char_help_form_unwind): Specify the type for ARG.
714
715 * character.c (c_string_width): Specify the type for LEN.
716
3a8406e1
KH
7172008-12-03 Kenichi Handa <handa@m17n.org>
718
4ccfa1c0 719 * coding.c (decode_coding_utf_16): Initialize consumed_chars_base to 0.
453b38f0 720 (decode_coding_utf_8): Likewise.
4ccfa1c0 721 (detect_coding_system): Initialize utf_16_le_eol to -1, val to Qnil.
4533845d 722 (produce_chars): Initialize consumed_chars to 0.
3a8406e1 723
651df7d9
CY
7242008-12-02 Chong Yidong <cyd@stupidchicken.com>
725
726 * keyboard.c (make_lispy_position): Only use PT if the selected
727 window is current.
728
1f625c6c
AS
7292008-12-02 Andreas Schwab <schwab@suse.de>
730
f7741ce9
AS
731 * font.c (font_unparse_fcname): Fix use of uninitialized variable.
732
1f625c6c
AS
733 * doprnt.c (doprnt1): Fix size of charbuf.
734
92bc2678
CY
7352008-12-02 Chong Yidong <cyd@stupidchicken.com>
736
737 * keyboard.c (timer_check): Revert last change.
738
93b9e8cc
JB
7392008-12-02 Juanma Barranquero <lekktu@gmail.com>
740
741 * makefile.w32-in ($(BLD)/w32console.$(O)): Fix silly, silly typo.
742
fd7a37d5
JB
7432008-12-01 Juanma Barranquero <lekktu@gmail.com>
744
745 * makefile.w32-in: Update dependencies.
746 (CONFIG_H): Add $(EMACS_ROOT)/nt/inc/sys/time.h.
747
c115043b
AS
7482008-12-01 Andreas Schwab <schwab@suse.de>
749
750 * font.c (register_font_driver): Use xmalloc.
751 (font_put_frame_data): Likewise.
752
f5668d2a
CY
7532008-12-01 Chong Yidong <cyd@stupidchicken.com>
754
860d96be
CY
755 * xfaces.c (realize_x_face): Make abort condition clearer.
756
f5668d2a
CY
757 * gtkutil.c (update_frame_tool_bar): Initialize variable.
758
379c17e7
CY
7592008-11-30 Chong Yidong <cyd@stupidchicken.com>
760
761 * keyboard.c (timer_check): After a timer runs, ensure that the
762 selected window's buffer is current.
763
35f36d65
JB
7642008-11-30 Juanma Barranquero <lekktu@gmail.com>
765
f952c61c
JB
766 * makefile.w32-in ($(BLD)/abbrev.$(O)): Remove.
767 It was accidentally restored by the Unicode merge.
768
35f36d65
JB
769 * w32proc.c (Fw32_get_locale_info): Fix typo in docstring.
770
b23077df
JB
7712008-11-29 Juanma Barranquero <lekktu@gmail.com>
772
773 * w32proc.c: Include "coding.h".
774 (Fw32_short_file_name): Encode filename passed to Windows API.
775 (Fw32_long_file_name): Encode filename passed to Windows API and
776 decode back the result. (Bug#1433)
777
b8ebe9dd
KH
7782008-11-29 Kenichi Handa <handa@m17n.org>
779
8cc53f96
KH
780 * charset.h (CHAR_CHARSET_P): Check if the encoder is loaded or
781 not before accessing it.
782
b8ebe9dd
KH
783 * charset.c (Fdefine_charset_internal): After calculating
784 min_char, max_char, and fastmap, copy the charset structure again.
785 (encode_char): Fix the previous change.
786
59bc82c0
SZ
7872008-11-28 Seiji Zenitani <zenitani@mac.com>
788
789 * frame.c (x_set_alpha) [NS_IMPL_COCOA]: Call x_set_frame_alpha.
790
791 * nsfns.m (ns_frame_parm_handlers): Set alpha handler.
792
793 * nsterm.m (x_set_frame_alpha): New function.
794
32247e3d
EZ
7952008-11-27 Eli Zaretskii <eliz@gnu.org>
796
797 * xfaces.c (Fx_font_family_list, syms_of_xfaces): Fix last change.
798
b003e5ff
JB
7992008-11-27 Juanma Barranquero <lekktu@gmail.com>
800
801 * w32font.c (add_font_entity_to_list): Pass the right LOGFONT
802 pointer to check_face_name.
803
708550f5
KH
8042008-11-27 Kenichi Handa <handa@m17n.org>
805
806 * category.h (SET_CATEGORY_SET): Call set_category_set.
807 (set_category_set): Extern it.
808
809 * category.c (hash_get_category_set): New function.
810 (Fmodify_category_entry): Adjusted for the change of
811 char_table_ref_and_range. Call hash_get_category_set to get a
812 category set to store in the table.
813
814 * character.h (MAYBE_UNIFY_CHAR): Call maybe_unify_char instead of
815 Funify_charset.
816
2ae37cf0 817 * charset.h (enum charset_method): Delete CHARSET_METHOD_MAP_DEFERRED.
708550f5
KH
818 (DECODE_CHAR): Check if the decoder vector is ready.
819 (ENCODE_CHAR): Check if the encoder char-table is ready.
820 (maybe_unify_char): Extern it.
821
822 * charset.c (Vchar_unified_charset_table): Delete it.
823 (inhibit_load_charset_map): New variable.
824 (temp_charset_work): New variable.
825 (SET_TEMP_CHARSET_WORK_ENCODER, GET_TEMP_CHARSET_WORK_ENCODER)
826 (SET_TEMP_CHARSET_WORK_DECODER, GET_TEMP_CHARSET_WORK_DECODER):
827 New macros.
828 (load_charset_map): Meaning of control_flag changed. If
829 inhibit_load_charset_map is nonzero, setup a table in
830 temp_charset_work.
831 (load_charset): New argument control_flag.
832 (map_charset_for_dump): New function.
833 (map_charset_chars): If inhibit_load_charset_map is nonzero, use
834 map_charset_for_dump.
835 (Fdefine_charset_internal): If the charset method is MAP, load
836 mapping tables by calling load_charset.
837 (Funify_charset): Don't load a mapping table but directly set
838 Vchar_unify_table.
839 (maybe_unify_char): New function.
840 (decode_char): Don't handle the deleted method MAP_DEFERRED.
841 Handle the case of inhibit_load_charset_map being nonzero.
842 (encode_char): Don't handle the deleted method MAP_DEFERRED.
843 Handle the case of inhibit_load_charset_map being nonzero.
844 (Fclear_charset_maps): Just free temp_charset_work.
845 (syms_of_charset): Make `inhibit-load-charset-map' a Lisp
846 variable.
847
848 * chartab.c (sub_char_table_ref_and_range): Adjusted for the
849 change of char_table_ref_and_range.
850 (char_table_ref_and_range): Change the meaning of argument FROM
851 and TO. Now the caller must provide initial values for *FROM
852 and *TO.
853
854 * fontset.c (fontset_add): Adjusted for the change of
855 char_table_ref_and_range.
856 (fontset_get_font_group): Likewise.
857 (Ffontset_info): Likewise.
858
859 * keymap.c (describe_vector): Adjusted for the change of
860 char_table_ref_and_range. For char-table, put boundary between
861 non-ASCII and 8-bit characters.
862
863 * print.c (print_object): For bool-vector, delete unnecessary
864 check of ASCII_BYTE_P.
865
9196133b
JR
8662008-11-26 Jason Rumney <jasonr@gnu.org>
867
868 * w32font.c (w32font_open_internal): Don't include external
9acef61c 869 leading in font height. (Bug#879)
9196133b 870
9f688acf
GM
8712008-11-26 Glenn Morris <rgm@gnu.org>
872
873 * xfaces.c (Fx_font_family_list): Replace lisp/term/pc-win.el
874 redefinition with ifdef. (Bug#1383)
875
90d19aff
AR
8762008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
877
878 * nsterm.m (ns_get_color): Handle long hex strings (fixes bug #1044).
879
4ccfa1c0 8802008-11-24 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
90d19aff
AR
881
882 * nsterm.m (-otherMouseDown:, -otherMouseUp:, -otherMouseDragged):
883 New EmacsView methods.
884 (EV_UDMODIFIERS, EV_BUTTON): Add OtherMouse constants.
885 Fixes bug #1048,1357,1414.
886
8872008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
888
889 Fix bug #1362.
890 * image.c (x_clear_image_1): Do not free background under HAVE_NS, it
891 is not an indexed color.
892 * nsterm.m (free_indexed_color): Add argument checking.
893 * nsfns.m: Move config.h to before system includes (advised by Dan N.).
894
e7d5ecb3
CY
8952008-11-24 Chong Yidong <cyd@stupidchicken.com>
896
897 * minibuf.c (Fcompleting_read, Vminibuffer_completion_confirm):
898 Document confirm-after-completion value for
899 minibuffer-completion-confirm.
900
c285743c
JR
9012008-11-24 Jason Rumney <jasonr@gnu.org>
902
903 * w32font.c (check_face_name): Use xstrcasecmp. Avoid compiler
904 warning.
905
b0857706
JR
9062008-11-23 Jason Rumney <jasonr@gnu.org>
907
908 * w32uniscribe.c (uniscribe_encode_char): Ensure context is
909 restored before returning.
910
911 * w32font.c (check_face_name): New function.
912 (add_font_entity_to_list): Use it to filter out common substituted
9acef61c 913 fonts. (Bug#642)
b0857706 914
ee50ff07
MR
9152008-11-22 Martin Rudalics <rudalics@gmx.at>
916
917 * buffer.c (Fswitch_to_buffer): Reword and mention new option
918 confirm-nonexistent-file-or-buffer in doc-string.
919
b8ff72fa
SM
9202008-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
921
922 * buffer.c (Fbuffer_swap_text): Remove redundant marker manipulation.
923 Fix copy/paste typo. Add checks.
924
cee53ed4
KH
9252008-11-21 Kenichi Handa <handa@m17n.org>
926
927 * coding.c (detect_coding_iso_2022): Reject invalid composition
928 sequence.
929 (DECODE_COMPOSITION_START): If the current source is the last
930 block, and the current composition doesn't end, regard this
931 sequence as invalid.
932 (decode_coding_iso_2022): Handle invalid composition sequence.
933
f6ef1e65
MR
9342008-11-20 Martin Rudalics <rudalics@gmx.at>
935
936 * window.c (coordinates_in_window): Don't return
937 ON_VERTICAL_BORDER for the rightmost position of a mode/header
938 line when the window is not the rightmost one. (Bug#1372)
939
e08b1705
MR
9402008-11-16 Ben North <ben@redfrontdoor.org> (tiny change)
941
942 * buffer.c (syms_of_buffer): Fix doc-string of cursor-type.
943
ad98e89f
EZ
9442008-11-15 Eli Zaretskii <eliz@gnu.org>
945
946 * msdos.c (run_msdos_command): Don't call dos_ttcooked, dos_ttraw,
947 and bright_bg if noninteractive is non-zero.
948
fb098a4b
CY
9492008-11-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
950
951 * xterm.c (x_draw_glyph_string): For stretch glyphs, don't call
952 x_draw_glyph_string_background.
953
954 * w32term.c (x_draw_glyph_string): Likewise.
955
ce952b6e
CY
9562008-11-15 Chong Yidong <cyd@stupidchicken.com>
957
958 * xterm.c (x_draw_glyph_string): Stop drawing the background of
959 the next glyph string once past the overhang width.
960
961 * nsterm.m (ns_draw_glyph_string): Likewise.
962
963 * w32term.c (x_draw_glyph_string): Likewise.
964
26ea7079
CY
9652008-11-14 Fabrice Popineau <fabrice.popineau@supelec.fr> (tiny change)
966
967 * fileio.c (Finsert_file_contents): Decrement specpdl_ptr to avoid
968 double file close.
969
1c33c906
MR
9702008-11-14 Martin Rudalics <rudalics@gmx.at>
971
972 * window.c (window_loop): In DELETE_BUFFER_WINDOWS case, reset
973 dedicated status of window before attempting to display another
974 buffer in it.
975
8fc29035
JB
9762008-11-14 Juanma Barranquero <lekktu@gmail.com>
977
978 * msdos.c (Fmsdos_long_file_names):
979 (syms_of_msdos) <dos-unsupported-char-glyph>:
980 * dosfns.c (Fint86): Fix typos in docstrings.
981
55fb4286
EZ
9822008-11-14 Eli Zaretskii <eliz@gnu.org>
983
984 * makefile.w32-in (OBJ1, WIN32OBJ): Fix whitespace.
985
3fda0315
KY
9862008-11-14 Katsumi Yamaoka <yamaoka@jpl.org>
987
988 * puresize.h (BASE_PURESIZE): Increase to 1260000.
989
7e849c17
CY
9902008-11-12 Michal Nazarewicz <mina86@tlen.pl> (tiny change)
991
992 * frame.c (x_set_alpha): Set alpha to -1 if nil given.
993
994 * frame.h: Negative alpha means "don't touch".
995
996 * w32term.c (x_set_frame_alpha): Do nothing if alpha is negative.
997
998 * xterm.c (x_set_frame_alpha): Do nothing if alpha is negative.
999
b9fd67bd
DN
10002008-11-12 Dan Nicolaescu <dann@ics.uci.edu>
1001
1002 * hftctl.c:
1003 * chpdef.h:
1004 * acldef.h: Remove files used only for systems no longer supported.
1005
1006 * Makefile.in: Fix .o alphabetical ordering.
1007 (hftctl.o): Remove dependency, file removed.
1008 (keymap.o, print.o): Depend on charset.h.
1009
d5998e03
KH
10102008-11-10 Kenichi Handa <handa@m17n.org>
1011
2ae37cf0 1012 * character.c (Fget_byte): Fix and make it faster for unibyte target.
d5998e03 1013
be70e183
CY
10142008-11-08 Chong Yidong <cyd@stupidchicken.com>
1015
1016 * dired.c (file_name_completion): If completion_ignore_case is
1017 enabled, ignore case when checking completion-regexp-list.
1018
7cf94eac
EZ
10192008-11-08 Eli Zaretskii <eliz@gnu.org>
1020
1021 * vm-limit.c (get_lim_data): Fix last change.
1022
ee107a89
KH
10232008-11-08 Kenichi Handa <handa@m17n.org>
1024
1025 * character.c (Fget_byte): New function.
1026 (syms_of_character): Defsubr Fget_byte.
1027
5fd15622
CY
10282008-11-07 Chong Yidong <cyd@stupidchicken.com>
1029
1030 * xdisp.c (try_window_reusing_current_matrix): Ensure that window
1031 cursor position is valid after scrolling.
1032
13d62fad
JB
10332008-11-06 Juanma Barranquero <lekktu@gmail.com>
1034
1035 * fns.c (Frandom): Rename arg N to LIMIT to match the docs; doc fix.
1036
a1dd2936
GM
10372008-11-06 Glenn Morris <rgm@gnu.org>
1038
1039 * xterm.c (handle_one_xevent): Don't let popup menus cause
1040 mouse-autoselect-window related window switching. (Bug#1261)
1041
860cd236
CY
10422008-11-04 David Smith <davidsmith@acm.org> (tiny change)
1043
1044 * xterm.c (xim_close_dpy): Avoid double-free on X11R6 XIM.
1045
653a3150
AS
10462008-11-04 Andreas Schwab <schwab@suse.de>
1047
1048 * xfns.c (Fx_wm_set_size_hint): Add missing return value.
1049
870f5cac
CY
10502008-11-03 Chong Yidong <cyd@stupidchicken.com>
1051
1052 * xfns.c (Fx_wm_set_size_hint): New function.
1053
1e02f3cb
MR
10542008-11-03 Martin Rudalics <rudalics@gmx.at>
1055
1056 * textprop.c (Fprevious_single_char_property_change): Return 0
1057 when there's no change in a string. (Bug#1301)
1058
e630dfc6
MR
10592008-11-02 Martin Rudalics <rudalics@gmx.at>
1060
1061 * frame.c (do_switch_frame): New argument NORECORD passed to
1062 Fselect_window.
1063 (Fselect_frame): New argument NORECORD passed to
1064 do_switch_frame.
1065 (Fset_frame_selected_window): New argument NORECORD passed to
1066 Fselect_frame.
1067 (Fhandle_switch_frame, Fdelete_frame): Handle NORECORD argument
1068 in call of do_switch_frame.
1069 (Fset_mouse_position, Fset_mouse_pixel_position, Fraise_frame):
1070 Handle NORECORD argument in call of Fselect_frame.
1071 * lisp.h (do_switch_frame, Fselect_frame)
1072 (Fset_frame_selected_window): Adjust declarations.
1073 * window.c (select_frame_norecord): New function.
1074 (run_window_configuration_change_hook): Use it and call
1075 Fselect_frame with NORECORD set.
1076 (Fselect_window): Pass NORECORD to Fselect_frame.
1077 (Fset_window_configuration): Handle NORECORD argument in call of
1078 do_switch_frame.
1079 * minibuf.c (choose_minibuf_frame): Handle NORECORD in call of
1080 Fset_frame_selected_window.
1081 * keyboard.c (command_loop_1): Handle NORECORD in call of
1082 Fselect_frame (currently ifdefd).
1083
9020b223
GM
10842008-11-02 Ulrich Mueller <ulm@kph.uni-mainz.de>
1085
1086 * emacs.c (USAGE2): Untabify.
1087
793ffee8
SM
10882008-11-01 Stefan Monnier <monnier@iro.umontreal.ca>
1089
1090 * composite.c (fill_gstring_header): Fix copy/paste typo.
1091
ab6d1131
MR
10922008-10-31 Martin Rudalics <rudalics@gmx.at>
1093
1094 * window.c (Fnext_window, Fprevious_window): Rewrite doc-string.
1095 (Fother_window): Rename argument and rewrite doc-string.
1096 (select_window_norecord): Fix return value. (Bug#1276)
1097
601a9cf1
JB
10982008-10-30 Juanma Barranquero <lekktu@gmail.com>
1099
1100 * w32fns.c (x_create_tip_frame): Prevent default foreground color for
1101 new frames overriding foreground for tooltips. Based on similar patch
1102 from Martin Rudalics <rudalics@gmx.at>. (Bug#1032)
1103
813b0652
CY
11042008-10-29 Chong Yidong <cyd@stupidchicken.com>
1105
1106 * emacs.c (Fdaemon_initialized): Initialize nfd.
1107
4414f58f
MR
11082008-10-29 Martin Rudalics <rudalics@gmx.at>
1109
1110 * window.c (Fwindow_height, Fdelete_window, set_window_buffer)
1111 (Fwindow_text_height): Clarify doc-strings.
1112 * xdisp.c (syms_of_xdisp): Mention set-window-buffer in
1113 doc-string of window-scroll-functions.
1114
ecdcaa09
RS
11152008-10-28 Reiner Steib <Reiner.Steib@gmx.de>
1116
1117 * category.c (syms_of_category): Fix typo in docstring.
1118
23fe745a
JB
11192008-10-28 Juanma Barranquero <lekktu@gmail.com>
1120
1121 * window.c (Fwindowp, Fwindow_live_p, Fwindow_minibuffer_p)
1122 (Fcoordinates_in_window_p, Fscroll_left, Fscroll_right):
1123 Fix typos in docstrings.
1124
ff808935
DN
11252008-10-28 Dan Nicolaescu <dann@ics.uci.edu>
1126
1127 * emacs.c (daemon_pipe): Make non-static.
1128 (IS_DAEMON): Move definition ...
1129 * lisp.h (IS_DAEMON): ... here.
1130 (daemon_pipe): Declare.
1131 (is_daemon): Remove.
1132 * dispnew.c (init_display): Use IS_DAEMON.
1133
fc012771
SM
11342008-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
1135
1136 * xdisp.c (pos_visible_p, redisplay_internal, message3_nolog)
1137 (message2_nolog): Check FRAME_INITIAL_P instead of noninteractively.
1138
1139 * emacs.c (is_daemon): Remove.
1140 (main): Don't set is_daemon.
1141 (IS_DAEMON): New macro.
1142 (Fdaemonp, Fdaemon_initialized): Use it.
601a9cf1 1143 (Fdaemon_initialized): Write a char into the pipe to make sure the
fc012771
SM
1144 parent exits.
1145 (syms_of_emacs): Explicitly initialize daemon_pipe[1].
1146
d8bdbe6f
CY
11472008-10-27 Chong Yidong <cyd@stupidchicken.com>
1148
d1a072bf
CY
1149 * nsterm.m (ns_draw_window_cursor): When hbar cursor is on
1150 over-sized glyph, draw it with the default glyph width.
1151
e2e325aa
CY
1152 * w32term.c (x_draw_bar_cursor): When hbar cursor is on over-sized
1153 glyph, draw it with the default glyph width.
1154
1155 * xterm.c (x_draw_bar_cursor): When hbar cursor is on over-sized
1156 glyph, draw it with the default glyph width.
1157
d8bdbe6f
CY
1158 * xdisp.c (try_scrolling): When computing the distance from the
1159 scroll margin to PT, try moving some distance past the window
1160 bottom before giving up.
1161
7bfac547
MR
11622008-10-27 Martin Rudalics <rudalics@gmx.at>
1163
1164 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p)
1165 (Fset_window_buffer): Explain in doc-string that a window can be
1166 "strongly" dedicated to its buffer.
1167
4ff029f6
DN
11682008-10-27 Dan Nicolaescu <dann@ics.uci.edu>
1169
1170 * emacs.c (daemon_name): New variable.
1171 (main): Deal with --daemon=SERVER_NAME.
1172 (Fdaemonp): Return a name if one was passed to --daemon.
1173
5790ef40
DN
11742008-10-26 Romain Francoise <romain@orebokech.com>
1175
f9bd0df9 1176 * emacs.c (daemon_pipe): New variable.
5790ef40
DN
1177 (main): Create a pipe before forking, make the parent exit only after
1178 the child has closed its end of the pipe. Move closing the
1179 descriptors ...
1180 (Fdaemon_initialized): ... here. New function.
1181
f5385255
SM
11822008-10-26 Stefan Monnier <monnier@iro.umontreal.ca>
1183
4d632321
SM
1184 * chartab.c (Foptimize_char_table): Make sure `ascii' doesn't point to
1185 the previous unoptimized table.
1186
f5385255
SM
1187 * window.c (Fset_window_buffer): Undo 2008-10-18 change to re-instate
1188 the distinction between non-nil and non-t value of `dedicated'.
1189
6c56a0f3
CY
11902008-10-25 Chong Yidong <cyd@stupidchicken.com>
1191
1192 * keyboard.c (read_char_minibuf_menu_prompt): Ensure that
f5385255 1193 read_char_minibuf_menu_text is large enough to hold the menu string.
6c56a0f3 1194
fec89261
MR
11952008-10-25 Martin Rudalics <rudalics@gmx.at>
1196
1197 * window.c (Fget_buffer_window, Fdelete_windows_on)
1198 (Freplace_buffer_in_windows): Make buffer argument optional and
1199 rename to buffer_or_name.
1200
34fcddd0
CY
12012008-10-24 Chong Yidong <cyd@stupidchicken.com>
1202
f5385255
SM
1203 * xdisp.c (handle_single_display_spec, handle_display_prop):
1204 Undo 2005-05-16 change.
34fcddd0
CY
1205 (handle_stop): Pop iterator if it's loaded with an empty string.
1206 (get_overlay_strings_1): Don't save iterator if it's loaded with
1207 an empty string (bug#1201).
1208
064766f2
KH
12092008-10-24 Kenichi Handa <handa@m17n.org>
1210
1211 * ftfont.c (ftfont_otf_features): Fix previous change.
1212 (ftfont_otf_capability): Check FeatureList.FeatureCount before
1213 calling ftfont_otf_features.
1214
f9bd0df9 12152008-10-24 Kenichi Handa <handa@m17n.org>
064766f2
KH
1216
1217 * font.c (font_match_p): Fix for the case that a vector of
1218 characters is in script-representative-chars.
1219
1dae9197
MA
12202008-10-24 Michael Albinus <michael.albinus@gmx.de>
1221
1222 * dbusbind.c (xd_in_read_queued_messages): New variable.
f5385255 1223 (XD_SIGNAL1, XD_SIGNAL2, XD_SIGNAL3): New macros. Throw Qdbus_error.
1dae9197
MA
1224 (xd_read_queued_messages): Catch Qdbus_error from the macros.
1225 (all): Replace xsignal1, xsignal2, xsignal3 by the respective
1226 macro. (Bug#1186).
1227
f9bd0df9 12282008-10-23 Ali Bahrami <ali_gnu@emvision.com> (tiny change)
9b3362b8
DN
1229
1230 * s/sol2-10.h: New file.
1231
878a4584
JB
12322008-10-23 Juanma Barranquero <lekktu@gmail.com>
1233
1234 * xdisp.c (fill_glyph_string): Fix typo in source (though the
1235 poor beast has survived 9+ years and the jump from xterm.c!).
1236
cd265ca6
MR
12372008-10-23 Martin Rudalics <rudalics@gmx.at>
1238
1239 * buffer.c (Fget_buffer_create): Rename arg to buffer_or_name.
1240 Reword doc-string.
f5385255 1241 (Fbury_buffer): In doc-string say what happens to the buffer's window.
cd265ca6 1242
472a4dc9
JB
12432008-10-23 Juanma Barranquero <lekktu@gmail.com>
1244
1245 * character.c (syms_of_character) <script-representative-chars>:
1246 <unicode-category-table>: Doc fixes.
1247
159bd5a2
NF
12482008-10-23 Noah Friedman <friedman@splode.com>
1249
1250 * coding.c (make_conversion_work_buffer): Check that
1251 Vcode_conversion_reused_workbuf is a live buffer, otherwise call
1252 Fget_buffer_create.
1253
49f9c344
KH
12542008-10-23 Kenichi Handa <handa@m17n.org>
1255
1256 * font.c (font_add_log): Check the values of extra properties.
1257
12bb3111
MR
12582008-10-22 Martin Rudalics <rudalics@gmx.at>
1259
1260 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
1261 Reword doc-string.
1262 (Fset_window_parameter): Use NILP.
1263 (Fscroll_up, Fscroll_down, Fminibuffer_selected_window)
f5385255 1264 (Frecenter): Use "selected" instead of "current" window in doc-strings.
12bb3111 1265
bbeb4e99
JB
12662008-10-22 Juanma Barranquero <lekktu@gmail.com>
1267
1268 * xdisp.c (next_element_from_buffer): Remove bogus xassert condition.
1269
12702008-10-22 Adrian Robert <Adrian.B.Robert@gmail.com>
cb83c00b
AR
1271
1272 * nsfns.m (ns_appkit_version): New function.
1273 (x-server-version): Use it.
1274 (syms_of_nsfns): Define ns-version-string here, not nsterm.m.
1275 (x-server-vendor): Don't check_ns().
1276
1277 * nsterm.m (syms_of_nsterm): Drop ns-version-string.
1278
a9b555d3
JB
12792008-10-22 Juanma Barranquero <lekktu@gmail.com>
1280
1281 * w32fns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert.
1282 Copied from 2005-02-03 change to xfns.c by Kim F. Storm.
1283
4626499f
KH
12842008-10-22 Kenichi Handa <handa@m17n.org>
1285
e3681952
KH
1286 * syntax.c (scan_words): Call word_boundary_p instead of comparing
1287 scripts.
1288
4626499f
KH
1289 * category.c (word_boundary_p): Check scripts instead of charset.
1290 Handle nil value in word-separating-categories and
1291 word-combining-categories.
1292 (syms_of_category): Fix docstrings of word-separating-categories
1293 and word-combining-categories.
1294
1560f91a
EZ
12952008-10-21 Eli Zaretskii <eliz@gnu.org>
1296
1297 * coding.c (Fencode_coding_region, Fdecode_coding_region)
1298 (Fdecode_coding_string, Fencode_coding_string): Doc fix.
1299
f4668441
MR
13002008-10-21 Martin Rudalics <rudalics@gmx.at>
1301
1302 * buffer.c (Fget_buffer, Fbury_buffer, switch_to_buffer_1):
1303 Rename arg "buffer" to "buffer_or_name".
1304 (Fkill_buffer): Rename arg "buffer" to "buffer_or_name" and make
1305 it optional.
1306 (no_switch_window): Remove since the return value is not used.
a9b555d3 1307 (Fswitch_to_buffer): Rename arg "buffer" to "buffer_or_name".
f4668441
MR
1308 Consider window as dedicated when Fwindow_dedicated_p returns a
1309 non-nil value.
1310 * lisp.h: Remove prototype for no_switch_window.
1311
fd75ddb2
JD
13122008-10-21 Jan Djärv <jan.h.d@swipnet.se>
1313
1314 * emacs.c (main): Unconditionally set PER_LINUX32 and exec
2ae37cf0 1315 temacs when dumping if HAVE_PERSONALITY_LINUX32 is defined.
fd75ddb2 1316
07295713
KH
13172008-10-21 Kenichi Handa <handa@m17n.org>
1318
1319 * coding.c (detect_coding_charset): For iso-8859-* coding systems,
1320 check Vlatin_extra_code_table.
1321
712adc82
EZ
13222008-10-20 Eli Zaretskii <eliz@gnu.org>
1323
1324 * fileio.c (Fset_file_modes): Doc fix.
1325
f549eb0b
MA
13262008-10-19 Michael Albinus <michael.albinus@gmx.de>
1327
1328 * dbusbind.c (XD_OBJECT_TO_DBUS_TYPE): Handle simple type symbols
1329 in arrays.
1330
aac0c6e3
MR
13312008-10-19 Martin Rudalics <rudalics@gmx.at>
1332
1333 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
1334 Mention kill-buffer in doc-string.
1335 (Fset_window_buffer): Reinsert tem check removed in last commit.
1336 (Fenlarge_window, Fshrink_window): Have argument names and
1337 doc-string follow Elisp manual more closely.
1338
13392008-10-18 Eli Zaretskii <eliz@gnu.org>
1340
1341 * fileio.c (Fset_file_modes): Doc fix.
1342
13432008-10-18 Martin Rudalics <rudalics@gmx.at>
1344
1345 * window.c (Fwindow_width, Fset_window_start)
1346 (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter)
f5385255
SM
1347 (Fdelete_windows_on, Freplace_buffer_in_windows):
1348 Make doc-strings follow code and Elisp manual more closely.
aac0c6e3
MR
1349 (Fwindow_dedicated_p): Make window argument optional.
1350 (Fset_window_dedicated_p): Rename argument "arg" to "flag".
1351 (Fset_window_buffer): Respect any non-nil dedicated value for
1352 window. Rename "buffer" argument to "buffer_or_name".
1353
13542008-10-18 Ulrich Mueller <ulm@gentoo.org>
1355
1356 * m/sh3.h: New file, machine description for SuperH.
1357
13582008-10-17 Martin Rudalics <rudalics@gmx.at>
1359
1360 * window.c (Fsplit_window): Rename arg horflag to horizontal.
1361
13622008-10-17 Kenichi Handa <handa@m17n.org>
1363
1364 * ftfont.c (ftfont_otf_features): Fix indexing
1365 gsub_gpos->FeatureList.Feature. Check the validity of indices.
1366
13672008-10-16 Magnus Henoch <mange@freemail.hu>
1368
1369 * dbusbind.c (Fdbus_call_method): Unbreak usage line.
1370 (Fdbus_call_method_asynchronously): Ditto.
1371 This change makes C-h f display the argument list.
1372
13732008-10-16 Chong Yidong <cyd@stupidchicken.com>
1374
1375 * fileio.c (Fexpand_file_name): Doc fix.
1376
1377 * xfaces.c (Finternal_set_lisp_face_attribute): Make null values
1378 of :foreground and :background equivalent to unspecified (20.x
1379 compatibility).
1380
13812008-10-15 Eli Zaretskii <eliz@gnu.org>
1382
1383 * buffer.c (syms_of_buffer): Doc fix.
1384
13852008-10-14 Kenichi Handa <handa@m17n.org>
1386
1387 * font.c (font_clear_prop): When clearing font width, clear the
1388 average width field too.
1389
13902008-10-12 Andreas Schwab <schwab@suse.de>
1391
1392 * ftfont.c (ftfont_shape_by_flt): Make static.
1393 * ftfont.h (ftfont_shape_by_flt): Don't declare.
1394
1395 * font.c: Don't include <m17n-flt.h>.
1396
13972008-10-10 Eli Zaretskii <eliz@gnu.org>
1398
1399 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Decrease to 10000.
1400
14012008-10-09 Eli Zaretskii <eliz@gnu.org>
1402
1403 * frame.c (make_terminal_frame) [MSDOS]: Remove unused #ifdef'ed
1404 away code.
1405
14062008-10-09 Chong Yidong <cyd@stupidchicken.com>
1407
1408 * dispnew.c (update_text_area): Avoid looping due to large glyph
1409 overhangs (bug#1070).
1410
14112008-10-09 Kenichi Handa <handa@m17n.org>
1412
1413 * fontset.c (face_for_char): If face->fontset is negative, just
1414 return ascii_face.
1415
f5385255
SM
1416 * font.c (font_delete_unmatched): Fix previous change.
1417 Don't reject an entity if DPI and AVGWIDTH of an entity are 0.
aac0c6e3
MR
1418
14192008-10-09 Martin Rudalics <rudalics@gmx.at>
1420
1421 * frame.c (Fraise_frame): On text-only terminals select frame in
1422 order to make it visible. (Bug#1061)
1423
14242008-10-08 Chong Yidong <cyd@stupidchicken.com>
1425
1426 * fontset.c (fontset_find_font): Check frame validity.
1427
14282008-10-07 Chong Yidong <cyd@stupidchicken.com>
1429
a9b555d3 1430 * gtkutil.c (xg_display_open): Reset default display if none exists.
aac0c6e3
MR
1431 (xg_display_close): Allow Emacs to close all displays (bug#985).
1432
14332008-10-06 Andreas Schwab <schwab@suse.de>
1434
f5385255 1435 * sysdep.c (sys_signal): Always set SA_RESTART when noninteractively.
aac0c6e3
MR
1436
14372008-10-06 Chong Yidong <cyd@stupidchicken.com>
1438
f5385255 1439 * emacs.c (Vbefore_init_time, Vafter_init_time): Move from startup.el.
aac0c6e3 1440
a9b555d3 1441 * lisp.h (Vbefore_init_time, Vafter_init_time): Declare.
aac0c6e3
MR
1442
1443 * gtkutil.c (x_wm_set_size_hint): Return immediately if called
1444 during initialization.
1445
14462008-10-04 Eli Zaretskii <eliz@gnu.org>
1447
1448 * xdisp.c (redisplay_internal): If frame switched, redisplay the
1449 whole thing on MSDOS frames as well as on a TTY.
1450
1451 * dispnew.c (update_frame): Flush termscript for MSDOS frames as
1452 well as for TTY.
1453 (Fopen_termscript): Allow opening a termscript on MSDOS frames as
1454 well as on a TTY.
1455
1456 * sysdep.c (init_sys_modes): Set FRAME_GARBAGED_P for MSDOS frames
1457 as well as for TTY.
1458
1459 * systime.h (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
1460
1461 * dispnew.c (change_frame_size_1): Set FrameRows and FrameCols for
1462 MSDOS frames as well.
1463
14642008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
1465
1466 * image.c (x_clear_image_1): Under NS, call ns_free_indexed_color with
1467 correct arguments.
1468 * menu.c (find_and_return_menu_selection) Add cast.
1469
14702008-10-03 Glenn Morris <rgm@gnu.org>
1471
1472 * emacs.c (USAGE1): Add --daemon.
1473
14742008-10-02 Eli Zaretskii <eliz@gnu.org>
1475
1476 * process.c (procfs_system_process_attributes): Multiply `pcpu' by
1477 100, so it's in percents as advertised.
1478
14792008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
1480
1481 * nsterm.h (ns_cursor_types, ns_output.desired_cursor_color)
1482 (ns_output.current_cursor, ns_output.desired_cursor)
1483 (ns_output.last_inactive, FRAME_CURSOR, FRAME_NEW_CURSOR)
1484 (FRAME_NEW_CURSOR_COLOR): Remove.
1485
1486 * nsfns.m (ns_set_cursor_color): Use FRAME_CURSOR_COLOR.
a9b555d3 1487 (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp): Use core Emacs
aac0c6e3
MR
1488 enumeration (HOLLOW_BOX_CURSOR, etc.).
1489
1490 * nsterm.m (ns_frame_rehighlight): Remove commented code.
1491 (draw_window_cursor): Simplify code.
f5385255
SM
1492 (EmacsView-windowDidBecomeKey:,-windowDidResignKey:):
1493 Don't change cursor type. In latter, call rehighlight instead of doing
aac0c6e3 1494 updates manually.
a9b555d3
JB
1495 (EmacsPrefsController-setPanelFromValues,-setValuesFromPanel):
1496 Use core Emacs cursor types.
aac0c6e3 1497
b8ff72fa 1498 * xdisp.c (draw_glyphs): Don't call notice_overwritten_cursor under NS.
aac0c6e3
MR
1499
15002008-10-02 Martin Rudalics <rudalics@gmx.at>
1501
1502 * process.c (Faccept_process_output): Fix doc-string.
1503
15042008-10-02 Dan Nicolaescu <dann@ics.uci.edu>
1505
1506 * gmalloc.c (__sbrk): Also define for uClibc.
1507
1508 * s/gnu-linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Add definition
1509 for uClibc.
1510
15112008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1512
1513 * nsfont.m (nsfont_spec_to_traits): Use UnXX masks only for non-normal
1514 styles.
1515 (nsfont_open): Reenable the cache.
1516
15172008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1518
1519 * font.c (font_matching_entity): Reflect ATTRS in font selection.
1520 (font_find_for_lface) [HAVE_NS]: Don't ignore case.
1521
15222008-09-30 Stefan Monnier <monnier@iro.umontreal.ca>
1523
1524 * dispnew.c (Fsend_string_to_terminal): Don't try to send a string to
1525 a suspended terminal.
1526
15272008-09-30 Michael Albinus <michael.albinus@gmx.de>
1528
1529 * dbusbind.c (xd_signature): Use strcat instead of sprintf.
1530
15312008-09-30 Eli Zaretskii <eliz@gnu.org>
1532
1533 * Makefile.in (MSDOS_SUPPORT): Remove ccl.elc and codepage.elc.
1534
15352008-09-30 Chong Yidong <cyd@stupidchicken.com>
1536
1537 * xdisp.c (move_it_to): Don't advance the iterator if the last tab
1538 in a continued line coincides with a line beginning.
1539
15402008-09-29 Adrian Robert <Adrian.B.Robert@gmail.com>
1541
1542 * nsfont.m (nsfont_trait_distance): Fix bug.
1543 (nsfont_list): Return a list rather than a vector (syncs with Handa
1544 changes of 2008-05-14).
1545 (nsfont_open): Improve logging.
1546
15472008-09-29 Andreas Schwab <schwab@suse.de>
1548
1549 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
1550
15512008-09-28 Martin Rudalics <rudalics@gmx.at>
1552
1553 * character.c (Fchar_resolve_modifiers): Rewrite Elisp function
1554 name as char-resolve-modifiers.
1555 Reported by: Markus Triska <markus.triska@gmx.at>
1556
15572008-09-28 Dan Nicolaescu <dann@ics.uci.edu>
1558
1559 * dispnew.c (init_display): Return earlier when running as a daemon.
1560
15612008-09-27 Adrian Robert <Adrian.B.Robert@gmail.com>
1562
1563 * nsfont.m (nsfont_draw): Fix up composition rendering (cmp_from, ...).
1564
15652008-09-27 Eli Zaretskii <eliz@gnu.org>
1566
1567 * composite.c (Fcomposition_get_gstring)
1568 (Fcompose_region_internal, Fcompose_string_internal)
1569 (Ffind_composition_internal): Doc fix.
1570 (syms_of_composite) <compose-chars-after-function>: Doc fix.
1571 (syms_of_composite) <auto-composition-function>: Doc fix.
1572 (syms_of_composite) <composition-function-table>: Doc fix.
1573
15742008-09-25 Chong Yidong <cyd@stupidchicken.com>
1575
1576 * search.c (wordify): New argument for lax word-ends.
1577 (Fword_search_forward_lax, Fword_search_backward_lax): New funs.
1578
15792008-09-24 Dan Nicolaescu <dann@ics.uci.edu>
1580
1581 * lisp.h (is_daemon): Declare.
1582 * dispnew.c (init_display): Do not try to initialize the terminal
1583 when running as a daemon.
1584
15852008-09-22 Chong Yidong <cyd@stupidchicken.com>
1586
1587 * nsfns.m (compute_tip_xy): Use x_display_pixel_width and
1588 x_display_pixel_height.
1589
15902008-09-22 Martin Rudalics <rudalics@gmx.at>
1591
1592 * undo.c (record_point): Don't call Fundo_boundary for first
1593 change. (Bug#731)
1594
15952008-09-22 Juanma Barranquero <lekktu@gmail.com>
1596
1597 * emacs.c (Fdaemonp): Doc fix.
1598
15992008-09-22 Dan Nicolaescu <dann@ics.uci.edu>
1600
1601 * emacs.c (main): Place #ifdef in the proper place.
1602
16032008-09-21 Dan Nicolaescu <dann@ics.uci.edu>
1604
1605 * emacs.c (standard_args): Add --daemon.
1606 (main): Disconnect from the terminal when --daemon is passed.
1607 (is_daemon): New variable.
1608 (Fdaemonp): New function.
1609 (syms_of_emacs): Defsubr it.
1610
16112008-09-20 Chong Yidong <cyd@stupidchicken.com>
1612
1613 * xdisp.c (get_next_display_element): Handle string display
1614 correctly when checking for the end of a box run.
1615
16162008-09-20 Glenn Morris <rgm@gnu.org>
1617
1618 * fileio.c (Qdelete_by_moving_to_trash): New Lisp_Object.
1619 (syms_of_fileio): Add Qdelete_by_moving_to_trash.
1620 (Frename_file): Avoid copying to trash if a rename involves
1621 a delete. (Bug#964).
1622
16232008-09-20 Eli Zaretskii <eliz@gnu.org>
1624
1625 * keyboard.c (Fset_quit_char, Fset_input_meta_mode)
1626 (Fset_output_flow_control, Fcurrent_input_mode): Support MSDOS
1627 frames as well as termcap frames.
1628 (handle_interrupt): Remove "#ifndef MSDOS" around the call to
1629 get_named_tty.
1630
16312008-09-19 Eli Zaretskii <eliz@gnu.org>
1632
1633 * process.c (procfs_system_process_attributes): Fix cmdline in
1634 case /proc/PID/cmdline is empty.
1635
1636 * xterm.c (x_wm_set_size_hint): Use x_display_pixel_width and
1637 x_display_pixel_height.
1638
16392008-09-19 Juanma Barranquero <lekktu@gmail.com>
1640
1641 * frame.c (x_fullscreen_adjust): Declare var as Display_Info.
1642
1643 * w32fns.c (Fx_display_pixel_width, Fx_display_pixel_height)
1644 (compute_tip_xy): Use x_display_pixel_width, x_display_pixel_height.
1645
16462008-09-19 Dan Nicolaescu <dann@ics.uci.edu>
1647
1648 * dispextern.h (struct it): Move line_wrap away from the middle of
1649 bitfields. Move voffset in struct iterator_stack_entry after the
1650 bitfields. Move tab_width near after another short.
1651
16522008-09-18 Dan Nicolaescu <dann@ics.uci.edu>
1653
1654 * frame.h (struct frame): Move alpha from the middle of bitfields.
1655
1656 * window.h (struct window): Move frozen_window_start_p after the
1657 rest of the bitfields to reduce padding.
1658
16592008-09-18 Chong Yidong <cyd@stupidchicken.com>
1660
1661 * xterm.h (x_display_info): Remove `height' and `width' members.
1662
1663 * nsterm.h (ns_display_info): Remove `height' and `width' members.
1664
1665 * w32term.h (w32_display_info): Remove `height', `width',
1666 `height_in', and `width_in' members.
1667
b8ff72fa
SM
1668 * xterm.c (x_display_pixel_height, x_display_pixel_width):
1669 New functions.
aac0c6e3
MR
1670 (x_calc_absolute_position): Use them.
1671 (x_term_init): Omit removed `height' and `width' members.
1672
b8ff72fa
SM
1673 * w32term.c (x_display_pixel_height, x_display_pixel_width):
1674 New functions.
aac0c6e3
MR
1675 (w32_read_socket, x_calc_absolute_position): Use them.
1676 (w32_initialize_display_info, w32_term_init): Omit removed members
1677 of w32_display_info.
1678
b8ff72fa
SM
1679 * nsterm.m (x_display_pixel_height, x_display_pixel_width):
1680 New functions.
1681 (ns_initialize_display_info): Omit removed members of ns_display_info.
aac0c6e3 1682
b8ff72fa
SM
1683 * xterm.c (x_display_pixel_height, x_display_pixel_width):
1684 New functions.
aac0c6e3
MR
1685 (x_calc_absolute_position): Use them.
1686 (x_term_init): Omit removed `height' and `width' members.
1687
1688 * xfns.c (Fx_display_pixel_width, Fx_display_pixel_height)
b8ff72fa
SM
1689 (compute_tip_xy):
1690 * frame.c (x_fullscreen_adjust):
aac0c6e3
MR
1691 * xmenu.c (menu_position_func): Use x_display_pixel_height and
1692 x_display_pixel_width.
1693
16942008-09-18 Kenichi Handa <handa@m17n.org>
1695
1696 * composite.c (fill_gstring_header): Don't check FROM and TO here.
1697 (composition_compute_stop_pos): Fix handling of static composition.
1698 (Fcomposition_get_gstring): Check FROM and TO at first.
1699
17002008-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
1701
1702 * composite.c (Fcomposition_get_gstring): Yet another int/Lisp_Oject
1703 mixup (YAILOM).
1704
17052008-09-17 Chong Yidong <cyd@stupidchicken.com>
1706
1707 * indent.c (Fvertical_motion): Use position reported by iterator
1708 instead of PT for determining screen motion (bug#943).
1709
17102008-09-17 Romain Francoise <romain@orebokech.com>
1711
1712 * composite.c (composition_adjust_point): Fix int/EMACS_INT mixup.
1713
17142008-09-17 Kenichi Handa <handa@m17n.org>
1715
1716 * ftfont.c (ftfont_shape_by_flt): Downcase family name.
1717
1718 * composite.c (Fcomposition_get_gstring): Make bigger gstring_work
1719 if necessary.
1720
17212008-09-16 Kenichi Handa <handa@m17n.org>
1722
1723 * coding.c (make_conversion_work_buffer): Avoid calling
1724 Fget_buffer_create if it is not necessary.
1725
17262008-09-15 Martin Rudalics <rudalics@gmx.at>
1727
1728 * window.c (Fselect_window): Don't update window_select_count and
1729 use_time when norecord is not nil.
1730
17312008-09-14 Kenichi Handa <handa@m17n.org>
1732
1733 * fileio.c (Finsert_file_contents): Delete incorrect decrement of
1734 specpdl_ptr.
1735
17362008-09-12 Kenichi Handa <handa@m17n.org>
1737
1738 * indent.c (scan_for_column): Don't handle automatic composition
1739 if the current buffer is not associated with a window.
1740
1741 * composite.c (composition_reseat_it): If the current buffer is
1742 not associated with a window, ignore the automatic composition.
1743 (find_automatic_composition): Likewise.
1744
17452008-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
1746
1747 * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
1748 (Fgpm_mouse_stop): Use it.
1749 * termhooks.h (close_gpm): Declare.
1750 * keyboard.c (tty_read_avail_input): Forcefully close the gpm
1751 connection if Gpm_GetEvent fails.
1752
1753 * window.c (set_window_buffer): Always preserve current-buffer.
1754
17552008-09-12 Glenn Morris <rgm@gnu.org>
1756
1757 * charset.c (init_charset): Warn if etc/charsets not found. (Bug#909)
1758
17592008-09-11 Glenn Morris <rgm@gnu.org>
1760
1761 * charset.c (charset-map-path): Doc fix.
1762
17632008-09-10 Kenichi Handa <handa@m17n.org>
1764
1765 * xdisp.c (handle_composition_prop): Set it->cmp_it.ch to -1.
1766
1767 * font.c (Ffont_shape_gstring): Make glyphs of non-nil adjustment
1768 compose a grapheme cluster with the preceding base glyph.
1769
1770 * composite.c (composition_compute_stop_pos): Fix previous change.
1771 Reset cmp_it->id to -1 at first.
1772
17732008-09-10 Glenn Morris <rgm@gnu.org>
1774
1775 * Makefile.in (character.o, chartab.o): Fix config.h typo.
1776
17772008-09-09 Chong Yidong <cyd@stupidchicken.com>
1778
1779 * keyboard.c (read_key_sequence): Reapply translation maps when
1780 switching keyboards.
1781
17822008-09-09 Kenichi Handa <handa@m17n.org>
1783
1784 * ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII
1785 characters.
1786
1787 * composite.c (FORWARD_CHAR): Fix calculation
1788 of (POSITION).pos_byte.
1789 (composition_compute_stop_pos): Limit the search of composition to
1790 at most 500 characters ahead. If we reach the limit or find a
1791 newline, set cmp_it->ch to -2 and return 0.
1792 (composition_reseat_it): Handle the case that cmp_it->ch is -2.
1793
17942008-09-08 Kenichi Handa <handa@m17n.org>
1795
1796 * indent.c (Fvertical_motion): Be sure to set
1797 it_overshoot_expected if it.cmp_it.id is non-negative.
1798
17992008-09-07 Andreas Schwab <schwab@suse.de>
1800
1801 * callproc.c (Fcall_process): Don't hold references to string data
1802 across garbage collection. Move initialisation of new_argv down
1803 to avoid compiler bug.
1804
18052008-09-07 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
1806
1807 * process.c (Fsystem_process_attributes): Doc fix.
1808
18092008-09-07 Chong Yidong <cyd@stupidchicken.com>
1810
1811 * callproc.c (Fcall_process): Canonicalize current directory name.
1812
1813 * xdisp.c (move_it_to): When moving by vpos, ensure that the
1814 iterator advances to the next line if the current line ends in a
1815 continued tab.
1816
18172008-09-07 Teodor Zlatanov <tzz@lifelogs.com>
1818
1819 * nsfont.m (nsfont_draw): Fix the references to missing gidx data
1820 member to point to cmp_from.
1821
1822 * xdisp.c: Doc fix for references to gidx data member.
1823
18242008-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
1825
1826 * buffer.c (Fbuffer_swap_text): Reset window->point markers.
1827
18282008-09-07 Kenichi Handa <handa@m17n.org>
1829
1830 * composite.c (FORWARD_CHAR): Check STOP after
1831 incrementing (POSITION).pos.
1832
18332008-09-06 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
1834
1835 * process.c (Fsystem_process_attributes): Doc fix.
1836
18372008-09-06 Chong Yidong <cyd@stupidchicken.com>
1838
1839 * keyboard.c (Ftop_level): Doc fix.
1840
18412008-09-06 Eli Zaretskii <eliz@gnu.org>
1842
1843 * xmenu.c (xmenu_show) [!HAVE_X_WINDOWS]: If frame has a
1844 minibuffer, don't let lower part of menu invade the echo area.
1845
1846 * msdos.c (IT_menu_display): Use STRING_CHAR_ADVANCE instead of a
1847 "char *q" to access menu text and advance through it. Revert the
1848 change that displayed ">" instead of ASCII character 0x10.
1849
18502008-09-05 Eli Zaretskii <eliz@gnu.org>
1851
1852 * menu.c (single_menu_item) [!HAVE_BOXES]: Enable emulation of
1853 toggle boxes and radio buttons on MS-DOS as well.
1854
18552008-09-05 Kenichi Handa <handa@m17n.org>
1856
1857 * composite.c (autocmp_chars): Check lookback count.
1858 (composition_compute_stop_pos): Set cmp_it->lookback.
1859 (composition_reseat_it): Check lookback count.
1860 (struct position_record): New struct.
1861 (FORWARD_CHAR, BACKWARD_CHAR, CHAR_COMPOSABLE_P): New macros.
1862 (find_automatic_composition): New function.
1863 (composition_adjust_point): Use find_automatic_composition.
1864
1865 * dispextern.h (struct composition_it): New member lookback.
1866
18672008-09-02 Chong Yidong <cyd@stupidchicken.com>
1868
1869 * indent.c (Fvertical_motion): Don't call move_it_by_lines again
1870 if moving by a single line.
1871
18722008-09-02 Andreas Schwab <schwab@suse.de>
1873
1874 * xterm.c (x_delete_display): Fix merge error.
1875
1876 * fileio.c (Fexpand_file_name): Remove unused variables.
1877
18782008-09-02 Eli Zaretskii <eliz@gnu.org>
1879
1880 * fileio.c (Fexpand_file_name): Copy argument `name' into local
1881 storage on all platforms, not just on DOS_NT.
1882
18832008-09-02 Jason Rumney <jasonr@gnu.org>
1884
b8ff72fa
SM
1885 * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show):
1886 Ensure mouse is not grabbed after menu is finished.
aac0c6e3
MR
1887
18882008-09-01 Chong Yidong <cyd@stupidchicken.com>
1889
1890 * xfaces.c (Finternal_set_alternative_font_family_alist)
1891 (Finternal_set_alternative_font_registry_alist): Properly copy
1892 entire alist structure.
1893
18942008-09-01 Kenichi Handa <handa@m17n.org>
1895
d66c0241 1896 * ftfont.c (ftfont_spec_pattern): Don't create a charset if the
aac0c6e3 1897 representative chars of the script is a vector.
d66c0241
JB
1898 (ftfont_list): Handle the case where the representative chars of
1899 the script is a vector.
aac0c6e3
MR
1900
1901 * character.c (syms_of_character): Docstring of
1902 script-representative-chars fixed.
1903
19042008-08-31 Eli Zaretskii <eliz@gnu.org>
1905
1906 * msdos.c (BUILD_CHAR_GLYPH): New macro.
1907 (IT_menu_display): Use it instead of SET_CHAR_GLYPH to construct
1908 the menu. Allocate larger buffer for `text', to account for
1909 possible ^C characters.
1910
19112008-08-31 Martin Rudalics <rudalics@gmx.at>
1912
1913 * xdisp.c (prepare_menu_bars): Don't call
1914 Vwindow_size_change_functions with arg Qt.
1915
19162008-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
1917
1918 * font.h (font_range):
1919 * fileio.c (report_file_error):
1920 * composite.c (composition_update_it): Yet another int/Lisp_Oject mixup.
1921
19222008-08-30 Glenn Morris <rgm@gnu.org>
1923
1924 * data.c (Fmake_variable_frame_local): Doc fix.
1925
1926 * frame.c (Fmodify_frame_parameters): Doc fix.
1927
19282008-08-30 Eli Zaretskii <eliz@gnu.org>
1929
1930 * w32.c (init_user_info): Allocate buf[] with xmalloc using the size
1931 needed by GetTokenInformation.
1932 (w32_system_process_attributes): Check return values of all system
1933 APIs.
1934
1935 * msdos.c (IT_display_cursor): Write "CURSOR ON/OFF" to termscript
1936 only when the state changes.
1937 (IT_update_begin, IT_update_end): Add termscript trace.
1938
1939 * w16select.c (Fw16_set_clipboard_data): Don't encode text if
1940 clipboard is unavailable. Set dst to NULL if it doesn't point to
1941 malloc'ed data.
1942 (Fw16_get_clipboard_data): Initialize htext to NULL, to avoid
1943 passing random values to xfree.
1944
1945 * dispnew.c (init_display): Set `tty's association in frame's
b8ff72fa 1946 parameters alist to the name of the terminal device, if that is known.
aac0c6e3
MR
1947
19482008-08-29 Jason Rumney <jasonr@gnu.org>
1949
1950 * w32uniscribe.c (uniscribe_check_otf): Don't fallback on DFLT script.
1951
19522008-08-29 Eli Zaretskii <eliz@gnu.org>
1953
1954 * composite.c (fill_gstring_body): Avoid compiler warnings.
1955
1956 * font.c (font_fill_lglyph_metrics): Use EMACS_INT in
1957 LGLYPH_SET_CODE to avoid compiler warnings.
1958
2ae37cf0 1959 * makefile.w32-in ($(BLD)/w32uniscribe.$(O)): Depend on composite.h.
aac0c6e3
MR
1960
1961 * composite.h (LGLYPH_SET_CODE): Cast `val' to EMACS_INT.
1962
1963 * w32uniscribe.c (uniscribe_shape): Shut up compiler warning in
1964 LGLYPH_SET_CODE.
1965
19662008-08-29 Kenichi Handa <handa@m17n.org>
1967
1968 * fileio.c (report_file_error): Don't downcase the first character
1969 of errstring if it is still unibyte.
1970
19712008-08-29 Kenichi Handa <handa@m17n.org>
1972
1973 These changes are to re-implement the automatic composition so
1974 that it doesn't use text properties.
1975
1976 * Makefile.in (ftfont.o): Depend on composite.h.
1977 (composite.o): Depend dispextern.h, font.h, frame, and window.h.
1978
1979 * character.h (Vunicode_category_table): Extern it.
1980
1981 * character.c (Vunicode_category_table): New variable.
1982 (syms_of_character): DEFVAR_LISP Vunicode_category_table.
1983
1984 * chartab.c (optimize_sub_char_table): Perform more greedy
1985 optimization.
1986
b8ff72fa
SM
1987 * composite.h (enum composition_method):
1988 Delete COMPOSITION_WITH_GLYPH_STRING.
aac0c6e3
MR
1989 (COMPOSITION_METHOD): Don't check COMPOSITION_WITH_GLYPH_STRING.
1990 (Vcomposition_function_table): Extern it.
1991 (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h.
1992 (composition_gstring_put_cache, composition_gstring_from_id)
1993 (composition_gstring_p, composition_gstring_width)
1994 (composition_compute_stop_pos, composition_reseat_it)
1995 (composition_update_it, composition_adjust_point): Extern them.
1996 (Fcomposition_get_gstring): EXFUN it.
1997
d66c0241 1998 * composite.c: Include window.h, frame.h, dispextern.h, font.h.
aac0c6e3
MR
1999 (Vcomposition_function_table)
2000 (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING.
b8ff72fa
SM
2001 (gstring_hash_table, gstring_work, gstring_work_headers):
2002 New variables.
aac0c6e3
MR
2003 (gstring_lookup_cache, composition_gstring_put_cache)
2004 (composition_gstring_from_id, composition_gstring_p)
2005 (composition_gstring_width, fill_gstring_header)
2006 (fill_gstring_body, autocmp_chars, composition_compute_stop_pos)
2007 (composition_reseat_it, composition_update_it)
b8ff72fa 2008 (composition_adjust_point, Fcomposition_get_gstring): New functions.
aac0c6e3
MR
2009 (syms_of_composite): Initialize gstring_hash_table, gstrint_work,
2010 and gstring_work_headers. DEFVAR_LISP composition-function-table.
2011 Defsubr compostion_get_gstring.
2012
2013 * dispextern.h (struct glyph): New union u.cmp. Delete the member
2014 cmp_id.
2015 (struct glyph_string): Delete the member gidx. New members
2016 cmp_id, cmp_from, and cmp_to.
2017 (enum it_method): Delete GET_FROM_COMPOSITION.
2018 (struct composition_it): New struct.
2019 (struct it): New member cmp_it, and iterator_stack_entry.cmp_it.
2020 Delete c, len, cmp_id, cmp_len in u.comp.
2021
2022 * font.h (enum lgstring_indices): Delete it.
b8ff72fa 2023 (LGSTRING_XXX, LGLYPH_XXX): Move these macros to composite.h.
aac0c6e3 2024 (enum lglyph_indices): Likewise.
b8ff72fa 2025 (font_range): Adjust extern.
aac0c6e3
MR
2026 (font_fill_lglyph_metrics): Extern it.
2027
2028 * font.c (QCf): New variable.
2029 (check_gstring): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
2030 (font_prepare_composition): Delete this function.
2031 (font_range): Type and arguments changed.
2032 (Ffont_make_gstring, Ffont_fill_gstring): Delete them.
2033 (font_fill_lglyph_metrics): New function.
b8ff72fa 2034 (Ffont_shape_text): Rename to Ffont_shape_gstring and change arguments.
aac0c6e3 2035 (syms_of_font): DEFSYM QCf. Delete defsubr for
b8ff72fa
SM
2036 Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text.
2037 Defsubr Sfont_shape_gstring.
aac0c6e3
MR
2038
2039 * fontset.h (font_for_char): Extern it.
2040
2041 * fontset.c (font_for_char): New function.
2042
2043 * ftfont.c: Include composite.h.
2044 (ftfont_resolve_generic_family): Add langset "en" to pattern.
b8ff72fa 2045 (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
aac0c6e3
MR
2046
2047 * indent.c: Include composite.h and dispextern.h.
2048 (check_composition): Delete this function.
2049 (scan_for_column): Handle composition by
2050 composition_compute_stop_pos, composition_reseat_it, and
2051 composition_update_it.
2052 (compute_motion): Likewise.
2053 (Fvertical_motion): Fix checking of composition.
2054
2055 * keyboard.c (adjust_point_for_property): Check composition by
2056 composition_adjust_point.
2057
b8ff72fa 2058 * nsterm.m (ns_draw_glyph_string): Adjust for the change of
aac0c6e3
MR
2059 struct glyph_string.
2060
b8ff72fa
SM
2061 * term.c (encode_terminal_code): Adjust for the change of struct glyph.
2062 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3
MR
2063 struct glyph.
2064 (produce_composite_glyph): Likewise.
2065
b8ff72fa
SM
2066 * w32term.c (x_draw_composite_glyph_string_foreground):
2067 Adjust for the change of struct glyph_string.
aac0c6e3
MR
2068 (x_draw_glyph_string): Likewise.
2069
2070 * w32uniscribe.c (struct uniscribe_font_info): Include composite.h.
2071 (uniscribe_shape): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
2072
2073 * xdisp.c: Include font.h.
2074 (it_props): Delete the entry for Qauto_composed.
2075 (init_iterator): Initialize it->cmp_it.id to -1.
2076 (compute_stop_pos): Call composition_compute_stop_pos.
b8ff72fa 2077 (face_before_or_after_it_pos): Adjust for the change of struct it.
aac0c6e3
MR
2078 (handle_auto_composed_prop): Delete it.
2079 (handle_composition_prop): Handle only static composition.
2080 (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION
2081 from xassert. Initialize it->cmp_it.stop_pos.
b8ff72fa 2082 (push_it): Adjust for the change of struct it.
aac0c6e3
MR
2083 (pop_it): Likewise.
2084 (get_next_element): Delete next_element_from_composition.
2085 (CHAR_COMPOSED_P): New macro.
2086 (get_next_display_element): For automatic composition, get a face
2087 from the font in the glyph-string.
2088 (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING,
b8ff72fa 2089 check composition by it->cmp_it.id. Delete GET_FROM_COMPOSITION case.
aac0c6e3
MR
2090 (next_element_from_string): Check if the character at the current
2091 position is composed by CHAR_COMPOSED_P.
2092 (next_element_from_buffer): Likewise.
d66c0241
JB
2093 (next_element_from_composition): Adjust for the change of struct it.
2094 Update it->cmp_it.
b8ff72fa
SM
2095 (dump_glyph): Adjust for the change of struct glyph.
2096 (fill_composite_glyph_string): Adjust for the change of struct
aac0c6e3
MR
2097 it and struct glyph. Don't handle automatic composition here.
2098 (fill_gstring_glyph_string): New function.
2099 (x_get_glyph_overhangs): Handle automatic composition.
b8ff72fa 2100 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the change of struct glyph.
aac0c6e3
MR
2101 (BUILD_GSTRING_GLYPH_STRING): New macro.
2102 (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for
2103 automatic composition.
b8ff72fa 2104 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3 2105 struct glyph.
b8ff72fa 2106 (x_produce_glyphs): Adjust for the change of struct it.
aac0c6e3 2107
b8ff72fa 2108 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aac0c6e3
MR
2109 the change of struct glyph_string.
2110 (x_draw_glyph_string): Likewise.
2111
21122008-08-29 Glenn Morris <rgm@gnu.org>
2113
2114 * buffer.c (word-wrap): Doc fix.
2115 * xdisp.c (truncate-partial-width-windows): Doc fix.
2116 Increase default to 50.
2117
21182008-08-29 Chong Yidong <cyd@stupidchicken.com>
2119
2120 * xdisp.c (update_tool_bar_unwind): New function.
2121 (update_tool_bar): Temporarily set selected frame before building
2122 tool-bar items.
2123
21242008-08-28 Michael Albinus <michael.albinus@gmx.de>
2125
2126 * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and
2127 snprintf, respectively.
2128 (xd_append_arg): Convert strings with Fstring_make_unibyte.
2129
21302008-08-28 Chong Yidong <cyd@stupidchicken.com>
2131
2132 * Makefile.in: Revert (undocumented) 2008-08-20 change adding
2133 LDFLAGS to GNUstep CC invocation.
2134
21352008-08-27 Chong Yidong <cyd@stupidchicken.com>
2136
2137 * indent.c (Fvertical_motion): Revert last change. Handle the
2138 general case where we are moving forward, and PT spans multiple
2139 screen lines.
2140
2141 * eval.c (find_handler_clause): Temporarily increase
2142 max-lisp-eval-depth while printing the backtrace buffer, to
2143 guarantee that help-mode code can run.
2144
21452008-08-27 Eli Zaretskii <eliz@gnu.org>
2146
2147 * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame
2148 colors under -rv.
2149 (IT_set_frame_parameters): Don't swap foreground and background
2150 colors if `(reverse . t)' is present in the frame properties.
2151 (internal_terminal_init): Call init_frame_faces only for the
2152 initial frame.
2153
21542008-08-27 Andreas Schwab <schwab@suse.de>
2155
2156 * dired.c (Ffile_attributes): Avoid compiler warning in bitshift.
2157
21582008-08-27 Andreas Schwab <schwab@suse.de>
2159
2160 * search.c (search_buffer): Set char_base to zero only at the end.
2161
21622008-08-27 Kenichi Handa <handa@m17n.org>
2163
b8ff72fa 2164 * fileio.c (report_file_error): Fix handling of multibyte error string.
aac0c6e3
MR
2165
21662008-08-27 Andreas Seltenreich <seltenreich@gmx.de>
2167
2168 * xterm.c (x_term_init): Temporarily hide the partially
2169 initialized terminal while calling vendor-specific-keysyms.
2170
21712008-08-26 Eli Zaretskii <eliz@gnu.org>
2172
2173 * msdos.c (internal_terminal_init): Most initializations done only
2174 once, especially initial_screen_colors[] and termscript open.
2175
21762008-08-26 Chong Yidong <cyd@stupidchicken.com>
2177
2178 * eval.c (Fcondition_case): Doc fix.
2179
2180 * widgetprv.h (EmacsFramePart): Change font member to the new font
2181 struct.
2182
2183 * widget.c: Include character.h and font.h for XSETFONT.
2184 (setup_frame_gcs): Compute X font id from font struct, just once.
2185
21862008-08-26 Eli Zaretskii <eliz@gnu.org>
2187
2188 * term.c (get_named_tty): Fix last change.
2189
21902008-08-26 Chong Yidong <cyd@stupidchicken.com>
2191
2192 * indent.c (Fvertical_motion): If moving forward starting from a
b8ff72fa 2193 multi-line string, move the iterator to the last line of that string.
aac0c6e3
MR
2194
21952008-08-25 Eli Zaretskii <eliz@gnu.org>
2196
2197 * frame.c (do_switch_frame): Mark previously displayed frame as
2198 obscured for FRAME_MSDOS_P frames as well.
2199
22002008-08-24 Eli Zaretskii <eliz@gnu.org>
2201
2202 * frame.c (make_terminal_frame): Initialize f->terminal,
2203 f->terminal->reference_count, and scroll bars on MS-DOS as well.
2204 Set the top frame to newly created frame.
2205 (Fmake_terminal_frame): Reuse the_only_display_info.
2206
2207 * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of
2208 estimating available memory.
2209
b97439ce 22102008-08-23 David Reitter <david.reitter@gmail.com>
aac0c6e3
MR
2211
2212 * nsterm.m (ns_draw_window_cursor): Don't call
2213 NSDisableScreenUpdates and NSEnableScreenUpdates on
2214 non-NS_IMPL_COCOA systems.
2215
22162008-08-23 Andreas Schwab <schwab@suse.de>
2217
2218 * process.c (procfs_system_process_attributes): Fix use of
2219 uninitialized variables.
2220
22212008-08-23 Eli Zaretskii <eliz@gnu.org>
2222
2223 * emacs.c (main) [MSDOS]: Call syms_of_xmenu.
2224
2225 * dispnew.c (init_display): Remove MS-DOS specific conditions for
2226 calling tty-set-up-initial-frame-faces.
2227
b8ff72fa
SM
2228 * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show):
2229 Allow MSDOS frames along with X frames.
aac0c6e3
MR
2230
2231 * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in
2232 addition to output_termcap.
2233
2234 * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode.
2235
2236 * termchar.h (FRAME_TTY): Support output_msdos_raw.
2237 (struct tty_display_info) [MSDOS]: Add fields related to mouse
2238 highlight.
2239
2240 * process.c [!subprocesses]: Define QCname.
2241 (syms_of_process): Intern and staticpro it.
2242
2243 * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
b8ff72fa
SM
2244 Adjust for changes in encoding/decoding routines.
2245 Use encode_coding_object and decode_coding_object instead of
aac0c6e3
MR
2246 encode_coding and decode_coding.
2247
b8ff72fa 2248 * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as argument.
aac0c6e3
MR
2249
2250 * dosfns.c: Include frame.h before termhooks.h.
2251 (dos_cleanup): Use CURTTY ()->termscript instead of a global
2252 variable termscript.
2253
2254 * s/msdos.h (USER_FULL_NAME): Define.
2255 (SYSTEM_PURESIZE_EXTRA): Bump up to 100K.
2256
2257 * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined.
2258 (Fuser_full_name): Use USER_FULL_NAME instead of a literal
2259 pw->pw_gecos.
2260
2261 * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with
2262 SELECTED_FRAME as additional (1st) argument.
2263 (tty_read_avail_input): Handle output_msdos_raw in
2264 addition to output_termcap.
2265
2266 * msdos.c: Include frame.h before termhooks.h.
2267 (mouse_on, mouse_off, mouse_moveto, mouse_init)
2268 (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs)
2269 (show_mouse_face, IT_clear_end_of_line, IT_clear_screen)
2270 (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto)
2271 (IT_set_terminal_modes, IT_reset_terminal_modes)
2272 (IT_set_frame_parameters): Use tty->termscript instead of a global
2273 variable termscript.
2274 (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a
2275 global variable terminal_coding. Don't refer to
2276 Vnonascii_translation_table.
2277 (internal_terminal_init): Set Vwindow_system in current_kboard.
2278 Don't use TTY_CHAR_INS_DEL_OK. Set Vinitial_window_system.
2279 Announce date and time of session start, if termscript is open.
2280 Don't zero out the_only_display_info (it is done in
b8ff72fa
SM
2281 term.c:init_tty). Open termscript only of not already open.
2282 Log "SCREEN SAVED" here, instead of IT_set_terminal_modes. Init mouse
aac0c6e3
MR
2283 here instead of dos_ttraw. Don't initialize display if this is an
2284 initial tty. Don't set FRAME_FONT.
2285 (Vwindow_system_version): Bump to 23.
2286 (dos_ttraw): Accept a TTY argument; all callers fixed. If mouse
2287 is available, set up mouse_position_hook.
2288 (dos_ttraw, IT_set_terminal_modes): If called with initial
2289 terminal, do nothing.
2290 (IT_set_frame_parameters): Handle the Qtty_type frame
2291 parameter by calling internal_terminal_init.
2292 (dos_set_window_size, show_mouse_face)
2293 (clear_mouse_face, IT_note_mode_line_highlight)
2294 (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date)
2295 (dos_rawgetc): Use tty_display_info instead of x_display_info.
2296 (initialize_msdos_display): New function.
2297 (IT_cursor_to, IT_clear_to_end, IT_clear_screen)
2298 (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs)
2299 (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes)
2300 (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin):
b8ff72fa 2301 Accept additional argument: a pointer to a frame. Update all callers.
aac0c6e3
MR
2302 (request_sigio, unrequest_sigio): Don't define, now defined on
2303 sysdep.c.
2304 (IT_write_glyphs): Rewrite to use encode_terminal_code.
2305
2306 * term.c [MSDOS]: Include msdos.h.
2307 (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch. Change cpp
2308 conditional to DOS_NT. Allow only one call to this function in a
2309 session. Don't allocate a new struct tty_display_info; instead,
2310 reuse the_only_display_info. Call get_tty_size to get screen
2311 dimensions. Call init_baud_rate to set bad_rate.
2312 (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body.
2313 (Fsuspend_tty) [MSDOS]: Don't close input and output.
b8ff72fa 2314 (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use stdin/stdout.
aac0c6e3
MR
2315 (get_tty_terminal, get_named_tty, Ftty_type)
2316 (Fcontrolling_tty_p): Handle output_msdos_raw in addition to
2317 output_termcap.
b8ff72fa
SM
2318 (Fresume_tty, Fsuspend_tty, init_tty, delete_tty):
2319 Call add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor
2ae37cf0 2320 only when subprocesses are supported.
aac0c6e3
MR
2321
2322 * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of
2323 f->output_data.x.
2324 (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new
2325 terminal devices.
2326
5582fbc7 2327 * msdos.h: Remove definition of struct x_display_info and struct
aac0c6e3
MR
2328 x_output.
2329 (FRAME_FONT): Use output_data.tty.
2330 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define.
b8ff72fa
SM
2331 (struct x_display_info): Rename from display_info. Update all users in
2332 msdos.c.
aac0c6e3 2333 (struct x_output): Remove background_pixel and foreground_pixel.
b8ff72fa 2334 (the_only_display_info): Rename from the_only_x_display.
aac0c6e3
MR
2335 (dos_ttraw): Update prototype.
2336
2337 * Makefile.in (MSDOS_OBJ): Add xmenu.o.
2338 (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc.
2339
23402008-08-23 Jason Rumney <jasonr@gnu.org>
2341
2342 * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword.
2343 (fn_TIFFSetDirectory): New library function used.
2344 (init_tiff_functions) [HAVE_NTGUI]: Initialize it.
2345 (tiff_load): Use :index to select among multiple images. Set count
2346 property when multiple images exist.
2347 (gif_format): Use :index, not :image.
2348
23492008-08-23 Chong Yidong <cyd@stupidchicken.com>
2350
2351 * xdisp.c (try_scrolling): Check INT_MAX instead of
2352 MOST_POSITIVE_FIXNUM for maximum integer value. Include limits.h
2353 to obtain INT_MAX.
2354
23552008-08-21 İsmail Dönmez <ismail@namtrac.org> (tiny change)
2356
2357 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+.
2358
23592008-08-21 Christian Faulhammer <opfer@gentoo.org> (tiny change)
2360
2361 * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate
2362 GNUstep library location.
2363
23642008-08-21 Chong Yidong <cyd@stupidchicken.com>
2365
2366 * xfaces.c (x_update_menu_appearance): Check validity of menu font
2367 before using it.
2368
2369 * puresize.h (BASE_PURESIZE): Increase to 1250000.
2370
23712008-08-20 Adrian Robert <Adrian.B.Robert@gmail.com>
2372
2373 * nsfns.m (ns-read-file-name): Add casts to avoid warning.
2374 (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly.
2375 * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil.
2376 * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration.
2377 (EmacsApp-cursor_blink_handler): Remove declaration.
2378 * nsterm.m (ns_draw_glyph_string): Update first conditional body to
2379 match 01 Feb 2008 changes in xterm.c.
2380 (ns_read_socket): Add cast to avoid warning.
2381 (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on
2382 GNUstep.
2383
23842008-08-20 Chong Yidong <cyd@stupidchicken.com>
2385
2386 * xselect.c (x_get_foreign_selection): Return nil if desired
2387 selection could not be obtained, instead of signalling an error.
2388
23892008-08-20 David Reitter <david.reitter@gmail.com>
2390
2391 * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c.
2392 * nsterm.m: Remove ns-specific code for cursor blinking.
2393 (ns_draw_window_cursor): Clear cursor properly rather than
2394 redrawing the area. Respect width of bar cursors.
2395 These changes enable the use of generic blink-cursor-mode and
2396 generic cursor types in NS and support smooth cursor movements (do
2397 not blink off after command).
2398 * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on
2399 Nextstep, too.
2400
24012008-08-19 Kenichi Handa <handa@m17n.org>
2402
2403 * font.c (Vfont_log_deferred): New variable.
2404 (font_add_log): Check Vfont_log_deferred.
2405 (font_deferred_log): New function.
2406
2407 * font.h (font_deferred_log): Extern it.
2408
2409 * fontset.c (reorder_font_vector): Use encoding charset of fonts
2410 for sorting.
2411 (face_for_char): Use deferred log.
2412
24132008-08-18 Kenichi Handa <handa@m17n.org>
2414
2415 * fontset.c (face_for_char): Add font log.
2416
2417 * font.c (font_add_log): Add the font properties :script, :lang,
2418 and :otf in the log.
2419
24202008-08-17 Chong Yidong <cyd@stupidchicken.com>
2421
2422 * xdisp.c: Remove dead code.
2423 (handle_invisible_prop, next_overlay_string): Defer call to
2424 setup_for_ellipsis.
2425 (handle_stop, set_iterator_to_next): Call setup_for_ellipsis.
2426
24272008-08-15 Chong Yidong <cyd@stupidchicken.com>
2428
2429 * xfaces.c (lookup_derived_face): Properly handle possible zero
2430 return value of get_lface_attributes.
2431 (merge_faces): Don't tell lookup_derived_face to signal an error
2432 if face is not found.
2433
2434 * dired.c (Fdirectory_files): Doc fix.
2435
2436 * process.c (make_process): Initialize kill_without_query struct
2437 member.
2438
24392008-08-15 Eli Zaretskii <eliz@gnu.org>
2440
2441 * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]:
2442 Alternative calculation of totphys for Visual Studio 6.
2443
2444 * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR.
2445
2446 * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX):
2447 Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX.
2448 All users changed.
2449 (stat): Only root directory passed to GetDriveType. Allow RAM
2450 disk as well as local fixed disk when w32-get-true-file-attributes
2451 is set to `local'.
2452 (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs.
2453 (equal_sid, get_length_sid, copy_sid): New wrapper functions.
2454 (w32_cached_id, w32_add_to_cache): New functions.
2455 (get_name_and_id): Look account names in the cache before calling
2456 lookup_account_sid.
2457 (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid):
2458 New initialization flags.
2459 (globals_of_w32): Initialize them to zero.
2460 (w32_system_process_attributes): Use w32_cached_id and
2461 w32_add_to_cache.
2462
24632008-08-14 Lawrence Mitchell <wence@gmx.li>
2464
2465 * lread.c (Fread_char, Fread_char_exclusive): If no character
2466 event is read before timeout is reached, return nil, rather than
2467 converting to a number.
2468
24692008-08-14 Chong Yidong <cyd@stupidchicken.com>
2470
2471 * fns.c (use_dialog_box): Doc fix.
2472
2473 * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful
2474 on OS X.
2475
24762008-08-13 Chong Yidong <cyd@stupidchicken.com>
2477
2478 * frame.c (Qns_parse_geometry): New var.
2479 (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry.
2480
24812008-08-11 Chong Yidong <cyd@stupidchicken.com>
2482
2483 * xdisp.c (x_produce_glyphs): Handle the case when font has no
2484 space character in calculating tabs.
2485
24862008-08-11 Dan Nicolaescu <dann@ics.uci.edu>
2487
2488 * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case.
2489
24902008-08-10 Glenn Morris <rgm@gnu.org>
2491
2492 * process.c (procfs_system_process_attributes): Use EMACS_INTs to
2493 silence gcc "limited range of data type" warnings in some
2494 make_fixnum_or_float calls.
2495
24962008-08-09 Eli Zaretskii <eliz@gnu.org>
2497
2498 * w32.c (w32_system_process_attributes): If the process does not
2499 exist, return nil.
2500
2501 * w32.c: Include thelp32.h, psapi.h and coding.h.
2502 (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct
2503 declarations.
2504 (CreateToolhelp32Snapshot_Proc, Process32First_Proc)
2505 (Process32Next_Proc): New typedefs.
2506 (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first)
2507 (g_b_init_process32_next, g_b_init_open_thread_token)
2508 (g_b_init_impersonate_self, g_b_init_revert_to_self)
2509 (g_b_init_get_process_memory_info, g_b_init_global_memory_status)
2510 (g_b_init_get_process_working_set_size)
2511 (g_b_init_global_memory_status_ex): New static variables.
2512 (globals_of_w32): Initialize them.
2513 (create_toolhelp32_snapshot, process32_first, process32_next)
2514 (open_thread_token, impersonate_self, revert_to_self)
2515 (get_process_memory_info, get_process_working_set_size)
2516 (global_memory_status, global_memory_status_ex): New wrapper
2517 functions.
2518 (w32_list_system_processes, w32_system_process_attributes)
2519 (enable_privilege, restore_privilege, ltime, process_times):
2520 New functions.
2521 (convert_time_raw): New function.
2522 (convert_time): Remove conversion of FILETIME into time in 100
2523 nsec units, call convert_time_raw instead.
2524
2525 * process.h (w32_list_system_processes, w32_system_process_attributes):
2526 Add prototypes.
2527 (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname)
2528 (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime)
2529 (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup)
2530 (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations.
2531
2532 * process.c (Fsystem_process_attributes): Doc fix.
2533
25342008-08-08 Chong Yidong <cyd@stupidchicken.com>
2535
2536 * xdisp.c (move_it_to): When stopping at a charpos, check if that's
2537 a continued multi-char glyph; if so, advance to the actual glyph.
2538
25392008-08-07 Dan Nicolaescu <dann@ics.uci.edu>
2540
2541 * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in.
2542
2543 * Makefile.in (ALL_OBJC_CFLAGS): New variable.
2544 (.m.o): Use it.
2545 * config.in: Regenerate.
2546
25472008-08-07 Chong Yidong <cyd@stupidchicken.com>
2548
2549 * xdisp.c (redisplay_window): Revert last change.
2550 (try_window): Check bottom scroll margin too.
2551
25522008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
2553
2554 * config.in: Regenerate.
2555
2556 * Makefile.in (emacs): Remove ifndef NS conditional for 'emacs
2557 -list-load-path-shadows'.
2558 (nsgui.h): Reduce number of things depending on it.
2559
25602008-08-06 Chong Yidong <cyd@stupidchicken.com>
2561
2562 * xdisp.c (try_scrolling): Use iterator to find the scroll margin,
2563 instead of window-end which does the wrong thing at eob.
2564 (try_cursor_movement): Minor optimization.
2565 (redisplay_window): If scroll margin is defined, don't assume
2566 window doesn't need scrolling.
2567
25682008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
2569
2570 * config.in: Regenerate.
2571
2572 * Makefile.in: Move nsXXX.m dependencies into big alphabetical list.
2573 (mostlyclean): Don't delete *.d under NS.
2574
2575 * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER.
2576
25772008-08-06 Kenichi Handa <handa@m17n.org>
2578
2579 * xfont.c (xfont_list_family): Return a list of symbols, not strings.
2580
25812008-08-06 Andreas Schwab <schwab@suse.de>
2582
2583 * config.in: Regenerate.
2584
25852008-08-05 Chong Yidong <cyd@stupidchicken.com>
2586
2587 * xdisp.c (redisplay_window): Don't enforce scroll-margin when
2588 forcing a window start.
2589
2590 * fileio.c (Vauto_save_list_file_name): Move here from file.el.
2591 (auto_save_1): Update modtime when auto-save-list-file-name is on.
2592
25932008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2594
2595 * emacs.c (main): Under NS, set working dir to HOME when get a "psn"
2596 argument.
2597
25982008-08-05 Juanma Barranquero <lekktu@gmail.com>
2599
2600 * buffer.c (syms_of_buffer) <scroll-up-aggressively>:
2601 <scroll-down-aggressively, before-change-functions>:
2602 <after-change-functions>: Reflow docstrings.
2603
26042008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2605 Ken Raeburn <raeburn@gnu.org>
2606
2607 Dock menu customization, based on a patch by Ken Raeburn, plus some
2608 other fixes.
2609 * nsmenu.m (dockMenu): New variable.
2610 (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17.
2611
2612 * nsterm.h (dockMenu): Declare.
2613
2614 * nsterm.m (KEY_NS_NEW_FRAME): New definition.
2615 (ns_term_init): Initialize dockMenu.
2616 (EmacsApp -newFrame:, -applicationDockMenu:): New methods.
2617 (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame
2618 left.
2619
2620 * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA.
2621
26222008-08-04 Chong Yidong <cyd@stupidchicken.com>
2623
2624 * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it.
2625
2626 * config.in: Regenerate.
2627
26282008-08-04 Seiji Zenitani <zenitani@mac.com>
2629
2630 * nsfns.m (x-create-frame): Set the frame parameter alpha to nil.
2631
26322008-08-04 Chong Yidong <cyd@stupidchicken.com>
2633
2634 * nsterm.h (find_and_call_menu_selection): Fix prototype.
2635
26362008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2637
2638 * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS.
2639
2640 * keyboard.h: Comment an #endif.
2641
2642 * lisp.h (have_menus_p): Adjust comment.
2643
2644 * menu.c (find_and_return_menu_selection): Fix comparison with
2645 client_data.
2646
2647 * nsmenu.m (popup_activated_flag): New variable.
2648 (popup_activated): New function.
2649 (menu-or-popup-active-p): New exported lisp definition.
2650 (ns_popup_menu): Set popup_activated_flag. Call discard_menu_items()
2651 when popup done.
2652 (ns_popup_dialog): Set popup_activated_flag.
2653
2654 * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger
2655 version for GNUstep (handled by conditional typedef in nsterm.m).
2656 (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now
2657 in rgb.txt).
2658
2659 * process.c (init_process): Use DARWIN_OS, not DARWIN.
2660
2661 * sysselect.h: Conditionalize init_process undef on DARWIN_OS.
2662
2663 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS.
2664
2665 * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS,
2666 shortcircuit if popup_activated like GTK and X toolkit.
2667
2668 * m/inter386.h: Change DARWIN to DARWIN_OS.
2669
2670 * s/darwin.h: Add #define DARWIN_OS. Get rid of C_SWITCH_SYSTEM def.
2671 Change LIBS_MACGUI to LIBS_NSGUI. Move temacs-conditionalized defs
2672 closer to C_SWITCH_SYSTEM_TEMACS so usage is understood. Expand
2673 comment on NO_SOCK_SIGIO.
2674
26752008-08-03 Chong Yidong <cyd@stupidchicken.com>
2676
2677 * nsterm.m (windowDidResize): Remove stopModal call.
2678
26792008-08-03 Andreas Schwab <schwab@suse.de>
2680
2681 * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define.
2682 (check_memory_limits): Don't handle HAVE_GETRLIMIT here.
2683
26842008-08-02 Chong Yidong <cyd@stupidchicken.com>
2685
2686 * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin.
2687 Don't use uninitialized pointer variable when using getrlimit.
2688
26892008-08-02 Jason Rumney <jasonr@gnu.org>
2690
2691 * w32font.c (compute_metrics): Don't mess with glyph_idx setting here.
2692
26932008-08-02 Eli Zaretskii <eliz@gnu.org>
2694
2695 * alloc.c (NSTATICS): Bump to 0x640.
2696
2697 * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
2698
2699 * lisp.h: Add prototype for directory_files_internal.
2700
2701 * process.c (Fsystem_processes_list, Fsystem_process_attributes):
2702 New functions.
2703 (syms_of_process): Defsubr them. Add initializations for various
2704 Q* symbols used in procfs_system_process_attributes.
2705 (procfs_list_system_processes, procfs_system_process_attributes)
2706 [HAVE_PROCFS]: New functions.
2707 (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname)
2708 (procfs_get_total_memory): New functions.
2709
27102008-08-01 Juanma Barranquero <lekktu@gmail.com>
2711
2712 * xfaces.c (Fx_load_color_file): Fix previous change;
2713 it is #ifdef WINDOWSNT, not WINDOWS_NT.
2714
27152008-08-01 Michael Albinus <michael.albinus@gmx.de>
2716
2717 * dbusbind.c (xd_read_message): Handle D-Bus error messages.
2718
27192008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2720
2721 * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard.
2722
27232008-08-01 Chong Yidong <cyd@stupidchicken.com>
2724
2725 * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha.
2726
2727 * nsterm.m (EmacsApp -application:openFiles:): GNUstep does not
2728 define NSApplicationDelegateReplySuccess.
2729 (EmacsView -converstationIdentifier): Use long instead of
2730 NSInteger for GNUstep, since it doesn't have NSInteger.
2731
2732 * xmenu.c: Revert last change.
2733
2734 * keyboard.h: Fix last change.
2735
27362008-08-01 Juanma Barranquero <lekktu@gmail.com>
2737
2738 * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting
2739 on Windows.
2740
27412008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2742
2743 Warning clearing and clean-up in NS port.
2744 * keyboard.h (xmalloc_widget_value, digest_single_submenu):
2745 Add prototypes.
2746 * nsgui.h (FACE_DEFAULT): Remove, unused.
2747 (XGCValues): Change colors to unsigned long.
2748 * nsterm.h (EmacsApp): Add declaration of all methods implemented in
2749 nsterm.m.
2750 (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class.
2751 (ns_list_fonts): Remove, unused.
2752 (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes.
2753 * nsfns.m (interpret_services_menu): Use NSMenuItem class.
2754 * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc.
2755 (nsfont_draw): Compare face colors to 0, not nil.
2756 * nsmenu.m (struct widget_value): Drop unneeded declaration.
2757 (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:)
2758 (-addSubmenuWithTitle:): Use NSMenuItem class.
2759 (ns_popup_menu): Use NO, not NULL, for enabled setting.
2760 * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0.
2761 (ns_clip_to_row): Make gc arg a BOOL.
2762 (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in
2763 ns_clip_to_row() call.
2764 (ns_draw_glyph_string): Drop face comparison to ~0 (no longer
2765 used). Cast FRAME_FONT assignments.
2766 (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:.
2767 (ns_string_to_lispmod): Change arg to const char.
2768 (ns_term_init): Use NSMenuItem class.
2769 (EmacsApp -openFile:): Move to different section of file.
2770 (EmacsApp -application:openFiles:): Don't return a value, call
2771 -replyToOpenOrPrint:.
2772 (EmacsView -keyDown:): Fix up cast.
2773 (EmacsView -converstationIdentifier): Use NSInteger instead of long.
2774 (EmacsView -menuDown:): Cast tag in call to
2775 find_and_call_menu_selection().
2776 (ns_list_fonts): Remove, unused.
2777 (ns_font_to_xlfd): Make static. Cast result of UTF8String.
2778 (ns_fontname_to_xlfd): Make static.
2779 * w32menu.c (xmalloc_widget_value, digest_single_submenu):
2780 Remove prototypes (now in keyboard.h).
2781 (next_menubar_widget_id): Remove, unused.
2782 * xmenu.c (xmalloc_widget_value, digest_single_submenu):
2783 Remove prototypes (now in keyboard.h).
2784 * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused.
2785
27862008-08-01 Dan Nicolaescu <dann@ics.uci.edu>
2787
2788 * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o)
2789 (floatfns.o): Depend on syssignal.h.
2790 (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC).
2791
2792 * systty.h: Fix previous change that removed BSD_TERMIOS.
2793 Add comments to #ifdefs.
2794
27952008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2796
2797 * w32fns.c (w32-load-color-file): Remove.
2798 (x-open-connection): Use renamed Fx_load_color_file.
2799 * xfaces.c (x-load-color-file): Add.
2800 * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of
2801 Emacs.clr.
2802 (hide_hourglass): BLOCK_INPUT before UNBLOCK.
2803
28042008-07-31 Michael Albinus <michael.albinus@gmx.de>
2805
2806 * dbusbind.c (Fdbus_call_method_asynchronously)
2807 (Fdbus_method_error_internal): New defuns.
2808 (xd_read_message): Handle also reply messages.
2809 (Vdbus_registered_functions_table): Extend docstring.
2810
28112008-07-31 Juanma Barranquero <lekktu@gmail.com>
2812
2813 * keyboard.c (gobble_input): Fix previous change.
2814
28152008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
2816
2817 * bitmaps/README:
2818 * xfns.c:
2819 * termcap.c:
2820 * term.c:
2821 * syswait.h:
2822 * systty.h:
2823 * systime.h:
2824 * syssignal.h:
2825 * sysdep.c:
2826 * process.h:
2827 * process.c:
2828 * print.c:
2829 * ndir.h:
2830 * lread.c:
2831 * keyboard.c:
2832 * getpagesize.h:
2833 * floatfns.c:
2834 * fileio.c:
2835 * emacs.c:
2836 * doc.c:
2837 * dispnew.c:
2838 * dired.c:
2839 * data.c:
2840 * callproc.c:
2841 * buffer.c:
2842 * README:
2843 * Makefile.in:
2844 * s/template.h:
2845 * s/msdos.h:
2846 * m/vax.h: Remove VMS support.
2847 * s/vms.h:
2848 * vlimit.h:
2849 * uaf.h:
2850 * temacs.opt:
2851 * param.h:
2852 * ioctl.h: Remove file.
2853
28542008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
2855
2856 * s/ms-w32.h (MULTI_KBOARD): Remove.
2857 * xterm.c:
2858 * xselect.c:
2859 * xfns.c:
2860 * window.c:
2861 * w32term.c:
2862 * w32fns.c:
2863 * terminal.c:
2864 * termhooks.h:
2865 * term.c:
2866 * sysdep.c:
2867 * keyboard.h:
2868 * keyboard.c:
2869 * frame.h:
2870 * frame.c:
2871 * frame.c: Remove references to MULTI_KBOARD, it is now the default.
2872 * config.in: Regenerate.
2873
28742008-07-30 Jason Rumney <jasonr@gnu.org>
2875
2876 * w32font.h (struct w32font_info): Use unicode version of textmetrics.
2877
2878 * w32font.c (w32font_encode_char): Leave as unicode if in range.
2879 (w32font_open_internal): Get unicode version of textmetrics.
2880 Don't enable or disable glyph indices here.
2881 (w32font_open): Disable use of glyph indices.
2882
2883 * w32uniscribe.c (uniscribe_open): Enable use of glyph indices.
2884
28852008-07-30 Chong Yidong <cyd@stupidchicken.com>
2886
2887 * minibuf.c (Vread_buffer_function): Doc fix.
2888
28892008-07-30 John Paul Wallington <jpw@pobox.com>
2890
2891 * minibuf.c (read_buffer_completion_ignore_case): New var.
2892 (Fread_buffer): Use it.
2893
28942008-07-30 Dan Nicolaescu <dann@ics.uci.edu>
2895
2896 * systty.h (sensemode): Remove empty #if. Remove reference to
2897 BSD_TERMIOS, unused.
2898
2899 * sysdep.c: Remove reference to DGUX.
2900 (closedir): Remove reference to BROKEN_CLOSEDIR, unused.
2901
2902 * config.in: Regenerate.
2903
29042008-07-30 Jason Rumney <jasonr@gnu.org>
2905
2906 * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size.
2907
29082008-07-29 Jason Rumney <jasonr@gnu.org>
2909
2910 * w32uniscribe.c (uniscribe_shape): Avoid using context if cache
2911 is populated.
2912 (uniscribe_encode_char): Always use uniscribe.
2913 Avoid using context if cache is populated.
2914
29152008-07-29 Jan Djärv <jan.h.d@swipnet.se>
2916
2917 * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to
2918 open menu.
2919
2920 * gtkutil.c (menu_nav_ended): Remove.
2921 (create_menus): Remove signal connect for menu_nav_ended.
2922
29232008-07-28 Chong Yidong <cyd@stupidchicken.com>
2924
2925 * xdisp.c (redisplay_window): Check return value of
2926 compute_window_start_on_continuation_line before forcing a window
2927 start.
2928
29292008-07-28 Jason Rumney <jasonr@gnu.org>
2930
2931 * w32font.c (w32font_text_extents): Use w32_metric_cache consistently.
2932
2933 * w32term.c (w32_enable_unicode_output, cleartype_active):
2934 Remove obsolete display options.
2935 (x_draw_glyph_string_background): Don't use old cleartype_active
2936 workaround.
2937 (w32_initialize): Remove cleartype_active initialization.
2938 (syms_of_w32term): Remove w32_enable_unicode_output initialization.
2939
29402008-07-28 Andreas Schwab <schwab@suse.de>
2941
2942 * lisp.h (init_weak_hash_tables, syms_of_font)
2943 (xd_read_queued_messages, syms_of_dbusbind): Declare.
2944 (remove_hash_entry): Don't declare.
2945 * eval.c (maybe_call_debugger): Make static and move before use.
2946 * gtkutil.c: Include <X11/Xft/Xft.h> if HAVE_XFT.
2947 * xdisp.c: Include "gtkutil.h" if USE_GTK.
2948 * xterm.h (x_set_frame_alpha): Declare.
2949
29502008-07-28 Jan Djärv <jan.h.d@swipnet.se>
2951
2952 * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24.
2953 (create_menus): Connect selection-done to menu_nav_ended.
2954
29552008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
2956
2957 * nsfns.m (x-create-frame): Add copy of parms argument to beginning.
2958 Set Vx_resource_name to a fallback. Replace read of 'buffered'
2959 parameter with read of 'alpha' one.
2960 (Qns_frame_parameter): Remove.
5582fbc7 2961 * nsselect.m (selection-coding-system)
aac0c6e3
MR
2962 (next-selection-coding-system, Vselection_coding_system)
2963 (Vnext_selection_coding_system): Drop.
2964
29652008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
2966
2967 * nsfns.m (do-applescript, do_applescript): Rename to
2968 ns-do-applescript, ns_do_applescript, and move within file.
2969
29702008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
2971
2972 Remove support for Mac Carbon.
2973 * mactoolbox.c:
2974 * macterm.h:
2975 * macterm.c:
2976 * macselect.c:
2977 * macmenu.c:
2978 * macgui.h:
2979 * macfns.c:
2980 * mac.c: Remove file.
2981 * s/darwin.h:
2982 * m/intel386.h:
2983 * xfaces.c:
2984 * xdisp.c:
2985 * window.c:
2986 * tparam.c:
2987 * termhooks.h:
2988 * termcap.c:
2989 * term.c:
2990 * syssignal.h:
2991 * sysselect.h:
2992 * sysdep.c:
2993 * process.c:
2994 * lread.c:
2995 * lisp.h:
2996 * keyboard.c:
2997 * image.c:
2998 * fringe.c:
2999 * frame.h:
3000 * frame.c:
3001 * fontset.c:
3002 * font.h:
3003 * font.c:
3004 * fns.c:
3005 * fileio.c:
3006 * emacs.c:
3007 * dispnew.c:
3008 * dispextern.h:
3009 * config.in:
3010 * atimer.c:
2ae37cf0 3011 * Makefile.in: Remove code for Carbon.
aac0c6e3 3012
f0131492 30132008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aac0c6e3
MR
3014
3015 * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.
3016
30172008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3018
3019 * macterm.h (kCGBitmapByteOrder32Host): New define for
3020 non-universal SDKs.
3021
3022 * image.c (mac_create_cg_image_from_image, image_load_image_io)
3023 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
3024
3025 * macterm.c (XDrawLine, XCreatePixmapFromBitmapData)
3026 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
3027
30282008-07-26 David Robinow <drobinow@gmail.com> (tiny change)
3029
3030 * w32inevt.c: Include dispextern.h.
3031
30322008-07-26 Andreas Schwab <schwab@suse.de>
3033
3034 * print.c (print_object): Fix off-by-one in last change.
3035
30362008-07-25 Juanma Barranquero <lekktu@gmail.com>
3037
3038 * term.c (syms_of_term): Don't initialize default_orig_pair,
3039 default_set_foreground and default_set_background on Windows.
3040
30412008-07-25 Jason Rumney <jasonr@gnu.org>
3042
3043 * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to
3044 ScriptItemize. Clean up return value checking. Remove unused
3045 variables.
3046 (uniscribe_encode_char): Encode non-BMP characters with uniscribe
3047 shaping engine.
3048
3049 * w32font.c (w32font_has_char): Handle the case where we can't
3050 determine the script for a character.
3051
30522008-07-25 Chong Yidong <cyd@stupidchicken.com>
3053
3054 * term.c (syms_of_term): Initialize default_orig_pair,
3055 default_set_foreground, and default_set_background.
3056
3057 * getloadavg.c (nl): Rename to name_list to avoid ncurses.h
3058 clash (bug#86).
3059 (getloadavg): Callers changed.
3060
3061 * image.c (svg_load_image): Fix last change.
3062 (svg_load_image): Use rsvg_handle_get_dimensions to check that
3063 image size is valid. Use g_object_unref instead of deprecated
3064 rsvg_handle_free to free rsvg handle.
3065 (x_from_xcolors): Don't initialize pixmap (silence compiler).
3066
30672008-07-25 Jason Rumney <jasonr@gnu.org>
3068
3069 * w32font.c (w32font_encode_char): Encode characters outside BMP as
3070 surrogates before looking up glyph index.
3071 (w32font_text_extents): Encode as surrogates if falling back to
3072 functions that need UTF-16 wide chars.
3073
3074 * w32uniscribe.c (uniscribe_encode_char): Encode characters outside
3075 BMP as surrogates before looking up glyph index.
3076
30772008-07-25 Chong Yidong <cyd@stupidchicken.com>
3078
3079 * image.c (svg_load_image): Check for failure in return value of
3080 rsvg_handle_get_pixbuf. Free rsvg handle when done.
3081
30822008-07-25 Jason Rumney <jasonr@gnu.org>
3083
3084 * w32font.c (Fx_select_font): Reverse sense of second arg.
3085
30862008-07-24 Stefan Monnier <monnier@iro.umontreal.ca>
3087
3088 * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos)
3089 (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions.
3090
3091 * puresize.h (PURESIZE_CHECKING_RATIO): New macro.
3092 (PURESIZE): Use it.
3093
30942008-07-24 Dan Nicolaescu <dann@ics.uci.edu>
3095
3096 * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs.
3097 * m/alpha.h (TEXT_END):
3098 * m/ibmrs6000.h (TEXT_END):
3099 * m/macppc.h (TEXT_END):
3100 * s/darwin.h (TEXT_END):
3101 * s/msdos.h (TEXT_END): Remove, unused.
3102 * s/gnu-linux.h (BSD_PGRPS): Add a comment.
3103 * s/cygwin.h: Remove comment.
3104
3105 * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused.
3106 (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES.
3107 * m/intel386.h (DOT_GLOBAL_START):
3108 * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES.
3109 (USG): Remove, file not used on USG platforms.
3110
3111 * Makefile.in (HAVE_X11): Remove empty #else.
3112
31132008-07-24 Andreas Schwab <schwab@suse.de>
3114
3115 * fileio.c (Finsert_file_contents): Properly adjust undo list
3116 after format conversion.
3117
31182008-07-24 Jan Djärv <jan.h.d@swipnet.se>
3119
3120 * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG.
3121 (menu_nav_ended): Remove.
3122 (create_menus): Remove signal connect for menu_nav_ended.
3123 (xg_update_menubar): Also take deactivate_cb as parameter, pass it to
3124 create_menus.
3125 (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar.
3126
31272008-07-23 Jason Rumney <jasonr@gnu.org>
3128
3129 * w32font.c (w32_enumfont_pattern_entity): Return height consistent
3130 with opened font.
3131 (w32font_open): Set font type to gdi.
3132
3133 * w32uniscribe.c (uniscribe_open): Set font type to uniscribe.
3134
31352008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
3136
3137 * s/usg5-4.h (ADDR_CORRECT): Remove, unused.
3138 * unexaix.c (ADDR_CORRECT): Remove conditional, the only user
3139 defines it.
3140 * unexec.c (ADDR_CORRECT): Define unconditionally.
3141
3142 * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove.
3143
3144 * unexec.c: Remove code depending on !COFF and USG, the file is
3145 not used for such systems.
3146
3147 * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
3148 * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused.
3149 (LD_SWITCH_SYSTEM_1): Remove, update users.
3150
3151 * s/darwin.h (DATA_END):
3152 * m/intel386.h (DATA_END):
3153 * m/ibmrs6000.h (DATA_END):
3154 * m/alpha.h (DATA_END): Remove, unused.
3155
3156 * config.in: Regenerate.
3157 * s/ms-w32.h (subprocesses): Define unconditionally.
3158 * s/template.h (subprocesses): Update comment.
3159 * s/vms.h (subprocesses):
3160 * s/usg5-4.h (subprocesses):
3161 * s/hpux10-20.h (subprocesses):
3162 * s/gnu-linux.h (subprocesses):
3163 * s/cygwin.h (subprocesses):
3164 * s/bsd-common.h (subprocesses):
3165 * s/aix4-2.h (subprocesses):
3166 * s/darwin.h (subprocesses): Do not define, defined by default now.
3167
3168 * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused.
3169 Remove all references.
3170 (temacs): Add GNUstep specific ld flags.
3171
3172 * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing,
3173 similarly to what X does.
3174
31752008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
3176
3177 * nsfns.m (x-list-fonts): Remove.
3178 (syms_of_nsfns): Drop the x-list-fonts declaration.
3179 * nsterm.m: Get rid of remaining "//" comments.
3180
31812008-07-22 Chong Yidong <cyd@stupidchicken.com>
3182
3183 * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
3184
3185 * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p)
3186 (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal)
3187 (Fns_own_selection_internal, Fx_disown_selection_internal)
3188 (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal):
3189
3190 * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /*
3191 ... */' style of docstrings. Doc fixes.
3192
31932008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
3194
3195 * terminfo.c (UP, BC, PC): Undo previous change.
3196
3197 * nsfns.m: Rename ns prefixed functions/variables to the
3198 corresponding x versions. Update references.
3199
32002008-07-22 Stefan Monnier <monnier@iro.umontreal.ca>
3201
3202 * syntax.c (char_quoted): Check "charpos > beg" before decrementing.
3203
32042008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
3205
3206 * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):
3207 Remove forwarding functions.
3208 (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make
3209 non-static.
3210 (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make
3211 non-static.
3212 (ns_frame_parm_handlers): Use the new names.
3213 (syms_of_nsfns): Move to the end of file.
3214
3215 * nsterm.m (syms_of_nsterm): Move to the end of file.
3216
3217 * dispnew.c (init_display): Remove code for X10.
3218
32192008-07-22 Jason Rumney <jasonr@gnu.org>
3220
3221 * w32proc.c (Fw32_long_file_name): Don't append dir separator to
3222 bare drive.
3223
32242008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
3225
3226 * nsterm.m (syms_of_nsterm): Remove debugging println.
3227
32282008-07-22 David Reitter <david.reitter@gmail.com>
3229
3230 * nsfns.m (do_applescript, F_do_applescript): NS version of the
3231 Carbon implementation of the same functionality: execute arbitrary
3232 AppleScript code.
3233
32342008-07-21 Adrian Robert <Adrian.B.Robert@gmail.com>
3235
3236 * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
3237 (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
3238 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
3239 (Fx_display_mm_height, Fx_display_mm_width)
3240 (Fx_display_backing_store, Fx_display_visual_class)
3241 (Fx_display_save_under, Fx_open_connection)
3242 (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
3243 (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
3244 (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
3245 (Fx_display_pixel_width, Fx_display_pixel_height)
3246 (Fx_display_usable_bounds, Fx_display_planes)
3247 (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
3248 ... */' style of docstrings.
3249
32502008-07-21 Dan Nicolaescu <dann@ics.uci.edu>
3251
3252 * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
3253 on this platform.
3254 (mips):
3255 * m/iris4d.h (mips): Do not define.
3256 * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
3257
3258 * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
3259
3260 * image.c:
3261 * nsfns.m:
3262 * nsselect.m:
3263 * nsterm.h:
3264 * nsterm.m: Rename ns prefixed functions/variables to the
3265 corresponding x versions. Update references.
3266
3267 * m/ibms390x.h (NO_REMAP): Do not undefine.
3268
3269 * m/amdx86-64.h: Use SOLARIS2 instead of sun.
3270
32712008-07-21 Chong Yidong <cyd@stupidchicken.com>
3272
3273 * nsfns.m: Change NS to Nextstep in docstrings and error messages.
3274 (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
3275 (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
3276 (Fns_server_vendor, Fns_server_version, Fns_display_screens)
3277 (Fns_display_mm_height, Fns_display_mm_width)
3278 (Fns_display_backing_store, Fns_display_visual_class)
3279 (Fns_display_save_under, Fns_open_connection)
3280 (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
3281 (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
3282 (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
3283 (Fns_display_pixel_width, Fns_display_pixel_height)
3284 (Fns_display_usable_bounds, Fx_display_planes)
3285 (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
3286
32872008-07-21 Ami Fischman <ami@fischman.org> (tiny change)
3288
3289 * print.c (print_object): Check print_depth before searching for
3290 circularities.
3291
32922008-07-21 Michael Albinus <michael.albinus@gmx.de>
3293
3294 * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
3295 only sprintf.
3296
32972008-07-21 Kenichi Handa <handa@m17n.org>
3298
3299 * ftfont.c (adjust_anchor): Check if DeltaValue is not NULL.
3300
33012008-07-20 Andreas Schwab <schwab@suse.de>
3302
3303 * syntax.c (find_start_pos, find_start_value)
3304 (find_start_value_byte, find_start_begv, find_defun_start)
3305 (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions.
3306
33072008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
3308
3309 * s/sol2-3.h: Insert contents of s/sol2.h.
3310 (LD_SWITCH_SYSTEM): Remove redundant definition.
3311 * s/sol2.h: Remove, unused.
3312
33132008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
3314
3315 * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV.
3316
33172008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
3318
3319 * Makefile.in (ns_appdir): Fix typo in find command.
3320
33212008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
3322
3323 * m/intel386.h (NO_REMAP): Do no define for USG, not used.
3324
3325 * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
3326 added not supported anymore.
3327
3328 * s/usg5-4-2.h (LIBS_SYSTEM):
3329 * s/sol2.h (LIBS_SYSTEM): Do not undefine.
3330
3331 * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
3332 * s/lynxos.h (GETPGRP_NO_ARG):
3333 * s/hpux10-20.h (NO_SIOCTL_H):
3334 * s/gnu.h (GETPGRP_NO_ARG):
3335 * s/gnu-linux.h (NO_SIOCTL_H):
3336 * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
3337 * s/cygwin.h (GETPGRP_NO_ARG):
3338 * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
3339 (C_DEBUG_SWITCH): Remove duplicate definition.
3340
3341 * m/ibms390.h: Remove boilerplate comments.
3342
3343 * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
3344
3345 * process.c (HAVE_SERIAL): Consolidate ifdefs.
3346 (wait_reading_process_output): Remove code for SunOS, platform not
3347 supported anymore. Use SOLARIS2 instead of sun.
3348
33492008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3350
3351 * font.c (font_open_by_name): Under NS, default lface height to zero.
3352 (font_open_for_lface): Under NS, set size based on frame fontsize.
3353 * nsterm.m (EmacsView-changeFont:): Remove some commented code.
3354 * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
3355
33562008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3357
3358 * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
3359 (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
3360 DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
3361 YES/NO.
3362 * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
3363 * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
3364 * Makefile.in (clean): Clear out build destination dir.
3365
33662008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3367
3368 * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
3369 xterm, xselect.
3370 * lisp.h: Remove declaration of hash_remove.
3371 * nsgui.h: Remove redefinitions of hash_remove.
3372 * fns.c (hash_remove): Rename to hash_remove_from_table.
3373
33742008-07-19 Seiji Zenitani <zenitani@mac.com>
3375
3376 * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
3377 strdup() the family UTF8String before modifying it.
3378
33792008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3380
3381 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
3382 NS_FACE_BACKGROUND with 0 instead of nil.
3383 * nsfont.m (nsfont_draw): Same.
3384
33852008-07-19 Chong Yidong <cyd@stupidchicken.com>
3386
3387 * nsfns.m (ns_set_background_color): Fix crash.
3388
33892008-07-18 Chong Yidong <cyd@stupidchicken.com>
3390
3391 * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
3392
33932008-07-18 Dan Nicolaescu <dann@ics.uci.edu>
3394
3395 * puresize.h (BASE_PURESIZE): Increase to 1240000.
3396
33972008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3398
3399 * gtkutil.c: Include <config.h> instead of "config.h".
3400
3401 * lisp.h (Foverlay_buffer): Add EXFUN.
3402
3403 * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
3404 child process to complete child_setup. Undo 2005-09-21 change.
3405
3406 * s/darwin.h: Mention setsid after vfork.
3407
34082008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3409
3410 * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
3411 Depend on macgui.h.
3412
3413 * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
3414 gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
3415
3416 * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
3417 and f19.
3418 [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
3419
3420 * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
3421 (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
3422 Remove enumerators.
3423
3424 * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
3425 Check if FACE_FROM_ID returns NULL.
3426
34272008-07-17 David Robinow <drobinow@gmail.com> (tiny change)
3428
3429 * w32inevt.c (change_frame_size): Remove extern declaration.
3430 (resize_event, maybe_generate_resize_event): Pass SAFE arg to
3431 change_frame_size.
3432
34332008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
3434
3435 * getloadavg.c: Revert last change (2008-07-15).
3436
34372008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
3438
3439 * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
3440 set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc) set
3441 from configure.
3442
34432008-07-17 Dan Nicolaescu <dann@ics.uci.edu>
3444
3445 * s/sol2.h:
3446 * s/sol2-4.h: Reorganize conditionals.
3447
3448 * ecrt0.c: Remove code depending on m68000, not used anymore.
3449
3450 * fns.c (hash_remove): Make static.
3451 * lisp.h (hash_remove): Don't prototype.
3452
3453 * m/ibmrs6000.h:
3454 * m/ibms390x.h:
3455 * m/macppc.h: Remove boilerplate comments.
3456
3457 * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
3458 Solaris, which does not need them.
3459
3460 * m/vax.h: Remove comments about unsupported systems.
3461
3462 * s/darwin.h: Reorganize ifdefs.
3463
34642008-07-17 Andreas Schwab <schwab@suse.de>
3465
3466 * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
3467
34682008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
3469
3470 Use SDATA. Follow coding convention of placing operators at
3471 beginning of next line rather than end of previous line, and placing
3472 spaces around infix operators.
3473
3474 * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
3475 in case it was defined already.
3476 USE @GNUSTEP_MAKEFILES@ rather than envvars.
3477 * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
3478 ns_default.
3479 (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
3480 Lisp_Objects.
3481 * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
3482 (ns_defined_color, ns_color_to_lisp): Declare.
3483 * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
3484 (Fns_own_selection_internal): Make the big ugly hack more explicit, so
3485 it's accepted even with USE_LISP_UNION_TYPE.
3486 * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
3487 (update_frame_tool_bar): Remove apparently obsolete tests for
3488 non-integerness of f->tool_bar_lines.
3489 (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
3490 hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
3491 * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
3492 (nsfont_open): Don't confuse NULL for Qnil.
3493 * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
3494 * menu.h (find_and_call_menu_selection):
3495 * menu.c (find_and_call_menu_selection): Use just int for vector size.
3496 (find_and_return_menu_selection): Always return something.
3497 * frame.h: Include dispextern.h for Display_Info.
3498 (display_x_get_resource): Declare.
3499
35002008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
3501
3502 * syntax.c: Remove stdio.h include accidentally introduced in
3503 Emacs.app commit.
3504 * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
3505 NS_IMPL_COCOA.
3506 * keyboard.c (handle_async_input, input_available_signal): Remove
3507 BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
3508
35092008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
3510
3511 * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
3512 (ns_lisp_to_color): Don't mess with internal Lisp data fields.
3513 (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
3514 Use SDATA.
3515
3516 * keymap.c: Remove all NS-specific code.
3517 (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
3518 (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
3519 where_is_preferred_modifier, return a different value depending on how
3520 preferred is the binding.
3521 (where_is_internal): Adjust accordingly.
3522 (Fwhere_is_internal): Refresh where_is_preferred_modifier.
3523 Adjust to new preferred_sequence_p.
3524 (syms_of_keymap): Declare `where-is-preferred-modifier'.
3525 * keyboard.c (parse_solitary_modifier): Not static any more.
3526 * keyboard.h (parse_solitary_modifier): Declare.
3527
35282008-07-16 Andreas Schwab <schwab@suse.de>
3529
3530 * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
3531 of easymenu.
3532
35332008-07-16 Chong Yidong <cyd@stupidchicken.com>
3534
3535 * xdisp.c (move_it_in_display_line): Account for word wrap, so
3536 that we don't move off the line.
3537
35382008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
3539
3540 * keyboard.c (Qsuper): Remove.
3541 (parse_menu_item): Don't call where_is_internal specially for NS.
3542
35432008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
3544
3545 * s/gnu-linux.h: Remove boilerplate comments.
3546
3547 * m/alpha.h (__ELF__): Consolidate conditions.
3548
3549 * m/m68k.h (linux): Use GNU_LINUX instead.
3550 Remove boilerplate comments.
3551
3552 * m/intel386.h: Undo refactoring from previous change.
3553 (LIB_STANDARD): All systems that define USG define LIB_STANDARD
3554 too, remove dead code.
3555 (linux): Use GNU_LINUX instead.
3556
35572008-07-16 Jason Rumney <jasonr@gnu.org>
3558
3559 * w32gui.h: Repeat 26 June changes lost by last change.
3560
35612008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
3562
3563 * systty.h: Remove code for Aix on 386, unsupported platform.
3564
3565 * s/ms-w32.h: Remove boilerplate comments.
3566 (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
3567
3568 * s/gnu-linux.h (TERM): Remove support.
3569 (HAVE_SYSVIPC): Remove, unused.
3570 (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
3571 for this system.
3572
3573 * process.c: Remove support for IRIS, unused.
3574 Remove support for TERM, not relevant anymore.
3575
3576 * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
3577 used with the definition.
3578
3579 * s/aix4-2.h (static): Do not undef.
3580
3581 * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
3582 only used on Aix.
3583 (HAVE_SYSVIPC): Remove, unused.
3584
3585 * m/hp800.h (CANNOT_DUMP): Do not undef.
3586
3587 * m/alpha.h: Fix comment.
3588
3589 * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
3590 (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
3591 used by this configuration.
3592 * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
3593 * unexec.c: Remove code depending on HPUX and
3594 USG_SHARED_LIBRARIES, not used with this file. Remove code
3595 depending on IRIS, unused. Remove if 0-ed code.
3596
3597 * s/template.h: Remove comments about static.
3598
3599 * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
3600 Remove if 0-ed code.
3601 (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
3602 were the same as the default.
3603 * s/vms.h (BAUD_CONVERT): Remove, same as the default.
3604 Remove boilerplate comments.
3605 * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
3606 (HAVE_SYSVIPC): Remove, unused.
3607 (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
3608
3609 * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
3610 Remove boilerplate comments.
3611 * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
3612 Remove boilerplate comments.
3613 * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
3614 Remove boilerplate comments.
3615 * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
3616
3617 * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
3618 USG systems which do not use DATA_SEG_BITS.
3619 Refactor code. Remove boilerplate comments.
3620
3621 * m/ibms390.h:
3622 * m/m68k.h:
3623 * s/bsd-common.h:
3624 * s/cygwin.h:
3625 * s/darwin.h:
3626 * s/freebsd.h:
3627 * s/gnu.h:
3628 * s/msdos.h: Remove boilerplate comments.
3629
3630 * m/iris4d.h: Remove boilerplate comments and code for systems that
3631 do not use this file.
3632 (IRIS_4D): Remove, unused.
3633
3634 * m/mips.h: Remove boilerplate comments and code for systems that
3635 do not use this file.
3636 (SIGN_EXTEND_CHAR):
3637 * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
3638 * unexmips.c: Remove file, unused.
3639
3640 * editfns.c (Fuser_full_name): Replace the only use of
3641 USER_FULL_NAME with its value.
3642 * config.in: Regenerate.
3643
36442008-07-16 David Reitter <david.reitter@gmail.com>
3645
3646 * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
3647 easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
3648
36492008-07-16 Glenn Morris <rgm@gnu.org>
3650
3651 * emacs.c (system-type): Doc fix.
3652
36532008-07-15 Stefan Monnier <monnier@iro.umontreal.ca>
3654
3655 * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
3656 If the cache doesn't work, let's fix it, rather than work around it.
3657
36582008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
3659
3660 * Makefile.in: Correct additions for nsfont.o in last commit.
3661 * nsfont.m: New file (forgot last commit).
3662
36632008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
3664
3665 * callproc.c (set_initial_environment): Initialize
3666 Vprocess_environment under CANNOT_DUMP (fixes crash when
3667 batch-compiling for bootstrap).
3668
36692008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
3670 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3671
3672 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
3673 fix crash due to different init order.
3674
36752008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
3676
3677 Changes and additions for NeXTstep windowing system (Cocoa and
3678 GNUstep) support.
3679
3680 * Makefile.in:
3681 * config.in: Support defines and build commands for NS port.
3682 * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
3683 (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
3684 * dispextern.h: Include nsgui.h and add needed typedefs under NS
3685 windowing.
3686 (struct face): Add synth_ital field.
3687 * dispnew.c: Include nsterm.h when compiling under NS windowing.
3688 (init_display): Initialize Vinitial_window_system to "ns" when so
3689 compiled.
3690 * emacs.c: Include GSConfig.h when compiling under GNUstep.
3691 (display_arg): Use under NS.
3692 (main): Under NS, allocate autorelease pool and handle command line
3693 args. Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
3694 (standard_args): Add NS-specific args.
3695 (shut_down_emacs): Shut down NS terminal if compiled under NS.
3696 * font.c (DEFAULT_ENCODING): New variable.
3697 (font_find_for_lface): Use it.
3698 (syms_of_font): Load syms_of_nsfont under NS.
3699 * font.h: Declare nsfont_driver when compiled under NS.
3700 * fontset.c: When compiling under NS, include nsterm.h.
3701 (fontset_from_font): Autoconstruct fontset under NS.
3702 * frame.c (various): Under NS, include nsterm.h, add Qns window system
3703 symbol, document and use it.
3704 (do_switch_frame): When for_deletion under Cocoa, add
3705 Fraise_frame(Qnil).
3706 (x_set_frame_parameters): Ensure font attribute changes are picked up.
3707 (x_get_arg): Allow "yes" and "no" as boolean values.
3708 (syms_of_frame): Declare Qns. Init Vdefault_frame_scroll_bars to
3709 Qright under Cocoa.
3710 (focus-follows-mouse): Default to 0 under NS.
3711 * frame.h (enum output_method): Add output_ns.
3712 (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
3713 (FRAME_EXTERNAL_MENU_BAR): Use under NS.
3714 (FRAME_WINDOW_P): NS-specific definition.
3715 * fringe.c (max_used_fringe_bitmap): Make public.
3716 * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
3717 (getloadavg): Use NeXT code under descendant OS's.
3718 * image.c (includes and header section, x_create_bitmap_from_data)
3719 (x_create_bitmap_from_file, free_bitmap_record, image_background)
3720 (image_background_transparent, x_clear_image_1)
3721 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
3722 (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
3723 (x_to_xcolors, x_from_xcolors, x_disable_image)
3724 (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
3725 other GUIs, including XPM support using code originally written for
3726 Carbon GUI.
3727 (png_load, jpeg_load, tiff_load, gif_load): Add implementations
3728 using NS API.
3729 (image_ascent): Use font metrics macros instead of direct struct field
3730 access.
3731 * keyboard.c (includes): Add nsterm.h when compiling under NS.
3732 (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
3733 Also, handle NS as GTK for menu bar purposes.
3734 (make_lispy_event): Handle NS as other GUI windowing systems, and as X
3735 toolkit where they differ.
3736 (parse_menu_item): Prefer keybindings using 'super' modifier. Also,
3737 use cachelist, still needed under NS.
3738 * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
3739 (struct widget_value): Define it here for menu.c.
3740 * keymap.c (includes): Include modifier internals.
3741 (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
3742 NS.
3743 (where_is_internal, Fwhere_is_internal): When compiled under NS, add
3744 support for preferring sequences using certain modifiers, specified by
3745 the FIRSTONLY argument.
3746 * lisp.h (hash_remove): Rename to avoid name clash when compiling
3747 under NS GNUstep implementation.
3748 (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
3749 * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
3750 * menu.c: Include nsterm.h under NS.
3751 (single_menu_item, parse_single_submenu, xmalloc_widget_value)
3752 (free_menubar_widget_tree_value, update_submenu_strings)
3753 (find_and_call_menu_selection): Treat NS as X and NT.
3754 (find_and_return_menu_selection): New function, used for popup menus.
3755 * nsgui.h:
3756 * nsterm.h:
3757 * nsfns.m:
3758 * nsimage.m:
3759 * nsmenu.m:
3760 * nsselect.m:
3761 * nsterm.m: New files.
3762 * process.c (wait_reading_process_output): Under NS, call ns_select()
3763 instead of plain select().
3764 * syntax.c (char_quoted): Under NS, avoid a crash when called near
3765 beginning of buffer.
3766 * sysselect.h (init_process): Rename when compiling under Cocoa to
3767 avoid name conflict.
3768 * termhooks.h (display_info): Add ns_display_info to union.
3769 * terminal.c (Fterminal_live_p): Add ns to terminal types.
3770 * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
3771 COCOA environment.
3772 * unexnext.c: Update to work with mach API on Mac OS X, and to use new
3773 unexec() signature. (Note, this will dump, but the resulting file
3774 crashes; unexosx is used instead; keeping around for reference and
3775 possible aid in getting dump working under GNUstep.)
3776 * w32gui.h (button_type, widget_value): Remove definitions (now in
3777 keyboard.h).
3778 * window.c: Include nsterm.h when compiling under NS.
3779 * xdisp.c (includes): Include nsterm.h when compiling under NS.
3780 (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
3781 other GUI windowing systems.
3782 (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
3783 GTK.
3784 (x_consider_frame_title): Under NS, set icon type and frame
3785 modified-state indicator; use ns_set_name_as_filename() when using
3786 formatted title.
3787 (update_window_cursor): Make public when compiling under NS.
3788 (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
3789 (hourglass_atimer, Vhourglass_delay
3790 * xfaces.c (header section, init_frame_faces, clear_font_table)
3791 (defined_color, unload_color, x_face_list_fonts)
3792 (prepare_face_for_display): Add NS support parallel to other GUIs.
3793 Emulate GCs like other non-X GUIs.
3794 (split_font_name): Don't lowercase font name under NS.
3795 (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
3796 under NS.
3797 * s/darwin.h: Add support for compilation under NS.
3798
37992008-07-15 Jason Rumney <jasonr@gnu.org>
3800
3801 * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
3802 (w32_show_hourglass): Rename from show_hourglass.
3803 (w32_hide_hourglass): Rename from hide_hourglass.
3804 (DEFAULT_HOURGLASS_DELAY): Revert from last change.
3805 (Vhourglass_delay): Declare extern.
3806 (hourglass_started): Remove.
3807
3808 * xdisp.c (Vhourglass_delay): Remove static.
3809 (hourglass_started, start_hourglass, cancel_hourglass):
3810 Don't include these versions on WINDOWSNT.
3811
38122008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
3813
3814 * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
3815 variables (formerly in xfns.c).
3816 (show_hourglass, hide_hourglass): New prototypes (same).
3817 * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
3818 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
3819 in xfns.c).
3820 (syms_of_xdisp): Declare/initialize display-hourglass,
3821 hourglass-delay. Initialize hourglass_atimer, hourglass_shown_p.
3822 (hourglass_started, start_hourglass, cancel_hourglass): New functions,
3823 formerly in xfns.c.
3824 * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
3825 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
3826 (start_hourglass, cancel_hourglass): Remove.
3827 (show_hourglass, hide_hourglass): Remove prototypes and static
3828 modifiers.
3829 (syms_of_xfns): Remove display-hourglass, hourglass-delay,
3830 hourglass_atimer, hourglass_shown_p declaration/initialization.
3831 * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
3832 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
3833 (start_hourglass, cancel_hourglass): Remove.
3834 (show_hourglass, hide_hourglass): Remove prototypes and static
3835 modifiers.
3836 (syms_of_macfns): Remove display-hourglass, hourglass-delay,
3837 hourglass_atimer, hourglass_shown_p declaration/initialization.
3838 * w32fns.c (display_hourglass_p, Vhourglass_delay)
3839 (DEFAULT_HOURGLASS_DELAY): Remove.
3840 (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
3841 hourglass_shown_p declaration/initialization.
3842
38432008-07-14 Jason Rumney <jasonr@gnu.org>
3844
3845 * w32fns.c (w32_get_arg): Remove wrapper function.
3846 (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
3847 directly.
3848 (Fx_create_frame): Sync with xfns.c. Use x_get_arg directly.
3849
38502008-07-14 Kenichi Handa <handa@m17n.org>
3851
3852 * xfont.c (xfont_open): Add workaround for X's bug.
3853
38542008-07-14 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
3855
3856 * fontset.c: Include <stdio.h> unconditionally.
3857
38582008-07-13 Michael Albinus <michael.albinus@gmx.de>
3859
3860 * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
3861 for filtering.
3862
38632008-07-13 Dan Nicolaescu <dann@ics.uci.edu>
3864
3865 * s/vms.h: Use __GNUC__ instead of _GNUC_.
3866
3867 * m/macppc.h:
3868 * m/alpha.h: Use GNU_LINUX instead of LINUX. Reorganize conditionals.
3869
3870 * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
3871 (SPECIAL_EMACS_INT):
3872 * m/ia64.h (SPECIAL_EMACS_INT):
3873 * m/amdx86-64.h (SPECIAL_EMACS_INT):
3874 * s/gnu.h (NLIST_STRUCT):
3875 * s/aix4-2.h (X11R5_INHIBIT_I18N):
3876 * s/gnu-linux.h (LINUX):
3877 * s/msdos.h (HAVE_FACES):
3878 * s/ms-w32.h (HAVE_FACES): Don't define, unused.
3879
3880 * systty.h:
3881 * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
3882 anymore.
3883
38842008-07-12 Dan Nicolaescu <dann@ics.uci.edu>
3885
3886 * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was
3887 always defined as int.
3888
3889 * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
3890 * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
3891 * s/gnu-linux.h (HAVE_WAIT_HEADER):
3892 * s/freebsd.h (HAVE_WAIT_HEADER):
3893 * s/bsd-common.h (HAVE_UNION_WAIT):
3894 * s/aix4-2.h (HAVE_WAIT_HEADER):
3895 * m/mips.h (HAVE_UNION_WAIT):
3896 * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
3897 (COFF, static): Do not define, they are undefined later in the file.
3898
3899 * process.c (update_status): Don't use a union.
3900 (status_convert):
3901 (sigchld_handler): Use int instead of WAITTYPE.
3902
39032008-07-12 Chong Yidong <cyd@stupidchicken.com>
3904
3905 * indent.c (Fvertical_motion): Restore hscroll before moving to
3906 goal column.
3907
39082008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
3909
3910 * lisp.h: Remove left over code.
3911
39122008-07-11 Andreas Schwab <schwab@suse.de>
3913
3914 * lisp.h: Fix logic in last change.
3915
3916 * menu.h: New file.
3917 * menu.c: Include it.
3918 * xmenu.c: Likewise.
3919 * Makefile.in: Update dependencies.
3920
39212008-07-11 Kenichi Handa <handa@m17n.org>
3922
3923 * fontset.c (fontset_from_font): Cancel the previous change.
3924
39252008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
3926
3927 * lisp.h:
3928 * w32heap.c:
3929 * emacs.c:
3930 * alloc.c: Replace all references of NO_UNION_TYPE with
3931 USE_LISP_UNION_TYPE.
3932
3933 * m/xtensa.h (NO_UNION_TYPE):
3934 * m/vax.h (NO_UNION_TYPE):
3935 * m/template.h (NO_UNION_TYPE):
3936 * m/sparc.h (NO_UNION_TYPE):
3937 * m/mips.h (NO_UNION_TYPE):
3938 * m/macppc.h (NO_UNION_TYPE):
3939 * m/m68k.h (NO_UNION_TYPE):
3940 * m/iris4d.h (NO_UNION_TYPE):
3941 * m/intel386.h (NO_UNION_TYPE):
3942 * m/ibms390x.h (NO_UNION_TYPE):
3943 * m/ibms390.h (NO_UNION_TYPE):
3944 * m/ibmrs6000.h (NO_UNION_TYPE):
3945 * m/ia64.h (NO_UNION_TYPE):
3946 * m/hp800.h (NO_UNION_TYPE):
3947 * m/arm.h (NO_UNION_TYPE):
3948 * m/amdx86-64.h (NO_UNION_TYPE):
3949 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
3950 defining it the same.
3951
39522008-07-10 Chong Yidong <cyd@stupidchicken.com>
3953
3954 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
3955
39562008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
3957
3958 * fileio.c:
3959 * sysdep.c
3960 * systty.h:
3961 * m/ibmrs6000.h:
3962 * m/iris4d.h:
3963 * s/aix4-2.h:
3964 * s/freebsd.h:
3965 * s/gnu-linux.h:
3966 * s/hpux10-20.h:
3967 * s/hpux11.h:
3968 * s/netbsd.h:
3969 * s/sol2-3.h:
3970 * s/sol2-4.h:
3971 * s/sol2.h:
3972 * s/usg5-4.h:
3973 * s/vms.h: Remove references to unused variables.
3974
39752008-07-10 Andreas Schwab <schwab@suse.de>
3976
3977 * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
3978 pattern before matching the generic family.
3979
39802008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
3981
3982 * unexec.c:
3983 * s/vms.h:
3984 * s/usg5-4-2.h:
3985 * s/sol2-5.h:
3986 * s/freebsd.h:
3987 * s/darwin.h: Remove dead code.
3988
3989 * m/template.h:
3990 * m/sparc.h:
3991 * m/mips.h:
3992 * m/m68k.h:
3993 * m/iris4d.h:
3994 * m/intel386.h:
3995 * m/ibms390x.h:
3996 * m/ibms390.h:
3997 * m/ia64.h:
3998 * m/hp800.h:
3999 * m/arm.h:
4000 * m/amdx86-64.h: Remove dead code and references to unused
4001 and compiler defined symbols.
4002
4003 * unexmips.c:
4004 * unexelf.c: Remove references to desupported systems.
4005
4006 * m/powermac.h: Remove file, it is now identical to m/macppc.h.
4007
4008 * m/powermac.h: Remove boilerplate comments.
4009 (NO_REMAP): Remove unused definition.
4010
4011 * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
4012 define them.
4013
40142008-07-10 Kenichi Handa <handa@m17n.org>
4015
4016 * xfont.c (xfont_open): Log the reason of failure.
4017
40182008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
4019
4020 * fontset.c (fontset_get_font_group):
4021 * font.c (font_check_otf): Specify argument types.
4022
40232008-07-09 Kenichi Handa <handa@m17n.org>
4024
4025 * coding.c (detect_coding_utf_8): Set detect_info->found only when
4026 non-ASCII char is found.
4027
4028 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
4029 (reorder_font_vector): Change the arg preferred_family to font.
4030 Prefer the spec matching with font.
4031 (fontset_get_font_group): New function.
4032 (fontset_find_font): Change the format of an element of a realized
4033 fontset. Use fontset_get_font_group.
4034 (fontset_font): Try the current fontset, the default fontset, the
4035 fallbacks of the current fontset, and the fallbacks of the default
4036 fontset in this order.
4037 (face_for_char): Delete the shortcut to use the current font.
4038 (fontset_from_font): Don't set fonts for Latin in the fontset.
4039
4040 * font.h (font_make_object, font_match_p): Adjust prototypes.
4041
4042 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
4043
4044 * font.c (font_make_object): New arg entity and pixelsize.
4045 (font_check_otf_features, font_check_otf): New functions.
4046 (font_match_p): Check :lang, :script, and :otf properties.
4047
4048 * xfont.c (xfont_open): Adjust it for the change of
4049 font_make_object.
4050 (xfont_text_extents): Fix initial setting of metrics.
4051
4052 * ftfont.c (struct ftfont_info): New member index, delete member
4053 fc_charset_idx. Make the member order compatible with struct
4054 xftfont_info.
4055 (fc_charset_table): Change charset names to registry names.
4056 (ftfont_pattern_entity): Delete the args registry and
4057 fc_charset_idx. Change the value of :font-entity property
4058 to (FONTNAME . INDEX). Always set :registry property to
4059 `iso10646-1'.
4060 (struct ftfont_cache_data): New struct.
4061 (ftfont_lookup_cache): New arg for_face.
4062 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
4063 (ftfont_driver): Set the member otf_capability.
4064 (ftfont_get_charset): Adjust it for the change of
4065 fc_charset_table.
4066 (OTF_TAG_SYM): New macro.
4067 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
4068 for the change of fc_charset_table.
4069 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
4070 ftfont_pattern_entity. Add FC_INDEX to objset.
4071 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
4072 and ftfont_pattern_entity.
4073 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
4074 font_make_object, struct ftfont_info.
4075 (ftfont_has_char): Use ftfont_get_fc_charset.
4076 (ftfont_otf_features, ftfont_otf_capability): New functions.
4077 (ftfont_shape): Use ftfont_get_otf.
4078 (ftfont_text_extents): Fix initial setting of metrics.
4079
4080 * xftfont.c (struct xftfont_info): New member ft_size. Make the
4081 member order compatible with struct ftfont_info.
4082 (xftfont_open): Add FC_CHARSET to the pattern. Set
4083 xftfont_info->ft_size. Don't unlock the face. Check BDF
4084 properties if appropriate.
4085 (xftfont_close): Unlock the face.
4086 (xftfont_anchor_point, xftfont_shape): Deleted.
4087 (syms_of_xftfont): Don't set members anchor_point and shape of
4088 xftfont_driver.
4089
4090 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
4091 font_make_object.
4092
4093 * w32font.c (w32font_open): Adjust it for the change of
4094 font_make_object.
4095 (w32font_open_internal): Don't set properties of font_object here.
4096
40972008-07-08 Chong Yidong <cyd@stupidchicken.com>
4098
4099 * macfns.c (x_create_tip_frame):
4100 * w32fns.c (x_create_tip_frame):
4101 * xfns.c (x_create_tip_frame): Pass parameter argument to
4102 face-set-after-frame-default.
4103
4104 * xfaces.c (Finternal_merge_in_global_face): Save merged
4105 attributes for the default face back into the face vector.
4106
41072008-07-08 Andreas Schwab <schwab@suse.de>
4108
4109 * fontset.h: Declare fontset_from_font. Don't declare
4110 new_fontset_from_font and fontset_from_font_name.
4111 * xterm.c: Include "fontset.h".
4112 * Makefile.in (xterm.o): Update dependencies.
4113
41142008-07-08 Glenn Morris <rgm@gnu.org>
4115
4116 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
4117 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
4118
41192008-07-07 Chong Yidong <cyd@stupidchicken.com>
4120
4121 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
4122 (x_set_frame_parameters): Don't bind it.
4123
41242008-07-07 Juanma Barranquero <lekktu@gmail.com>
4125
4126 * w32fns.c (map_w32_filename): Declare extern.
4127
41282008-07-07 Jason Rumney <jasonr@gnu.org>
4129
4130 * w32term.c (WS_EX_LAYERED): Define if not already.
4131
41322008-07-06 Chong Yidong <cyd@stupidchicken.com>
4133
4134 * xfaces.c (set_font_frame_param): Don't try to set the font
4135 parameter if it is still unspecified in the lface.
4136
41372008-07-05 Chong Yidong <cyd@stupidchicken.com>
4138
4139 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
4140 face if it didn't already exist.
4141
4142 * xdisp.c (try_window_id): Give up if word-wrapping is on.
4143
41442008-07-05 Andreas Schwab <schwab@suse.de>
4145
4146 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
4147
41482008-07-05 Chong Yidong <cyd@stupidchicken.com>
4149
4150 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
4151 word-wrapping.
4152 (IT_DISPLAYING_WHITESPACE): New macro.
4153 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
4154 when word-wrapping. Simplify word-wrapping logic. Use correct
4155 pixel positions when saving copies of the iterator.
4156 (display_line): Use proper wrap point if the last character on a
4157 line was preceded by whitespace.
4158
41592008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
4160
4161 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
4162
41632008-07-04 Kenichi Handa <handa@m17n.org>
4164
4165 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
4166
4167 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
4168
41692008-07-02 Jason Rumney <jasonr@gnu.org>
4170
4171 * xfns.c (syms_of_xfns): Only define x-select-font when both
2ae37cf0 4172 HAVE_FREETYPE and USE_GTK.
aac0c6e3
MR
4173
4174 * xdisp.c (next_element_from_display_vector): Move assignment out
4175 of if statement.
4176
41772008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
4178
4179 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
4180
4181 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
4182 (syms_of_fileio): Initialize and export them.
4183 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
4184
4185 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
4186 (Fsystem_move_file_to_trash): New function.
4187 (syms_of_w32fns): Export it to lisp.
4188
41892008-07-01 Jason Rumney <jasonr@gnu.org>
4190
4191 * w32font.c (w32font_text_extents): Don't count overhang as part
4192 of width.
4193
41942008-06-30 Miles Bader <miles@gnu.org>
4195
4196 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
4197 Add `avoid_cursor_p' field.
4198
4199 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
4200 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
4201 (append_glyph, append_composite_glyph, produce_image_glyph)
4202 (append_stretch_glyph): Initialize avoid_cursor_p.
4203 (get_it_property): Rename from `get_line_height_property'.
4204 (x_produce_glyphs): Use get_it_property.
4205 (handle_line_prefix, push_display_prop): New functions.
4206 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
4207 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
4208 New variables.
4209 (syms_of_xdisp): Initialize them.
4210
42112008-06-30 Kenichi Handa <handa@m17n.org>
4212
4213 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
4214 XftDefaultSubstitute (they are called in XftFontMatch).
4215 (xftfont_open): Fix args to ftfont_font_format.
4216
4217 * ftfont.c (fc_charset_table): New member lang.
4218 (ftfont_resolve_generic_family): New arg pattern.
60612c8f 4219 (ftfont_spec_pattern): Check fc_charset_table[]->lang.
aac0c6e3
MR
4220 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
4221 (ftfont_open): Fix args to ftfont_font_format.
4222 (ftfont_font_format): New arg filename.
4223
42242008-06-30 Chong Yidong <cyd@stupidchicken.com>
4225
4226 * xfaces.c (Finternal_merge_in_global_face): If default face was
4227 modified, realize it again. Update the font face attribute.
4228
42292008-06-29 Jason Rumney <jasonr@gnu.org>
4230
4231 * w32term.c (x_set_frame_alpha): Fix logic.
4232
42332008-06-29 Kenichi Handa <handa@m17n.org>
4234
4235 * fontset.c (Finternal_char_font): Return font-object instead of
4236 font-name.
4237
4238 * composite.c (get_composition_id): Fix the width calculation for TAB.
4239
42402008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
4241
4242 * indent.c (Fvertical_motion): Properly handle float column arg.
4243
42442008-06-28 Jason Rumney <jasonr@gnu.org>
4245
4246 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
4247 (pfnSetLayeredWindowAttributes): New function pointer.
4248 (w32_initialize): Initialize it when supported.
4249 (x_set_frame_alpha): New function.
4250
4251 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
4252 (w32_frame_parm_handlers): Set alpha handler.
4253
4254 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
4255
42562008-06-27 Jason Rumney <jasonr@gnu.org>
4257
4258 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
4259 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
4260 (w32_to_x_charset, x_to_w32_charset)
4261 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
4262 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
4263 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
4264 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
4265 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
4266 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
4267 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
4268 (Qw32_charset_unicode): Remove.
4269 (syms_of_w32fns): Update for above changes.
4270
4271 * w32font.c (w32_to_x_charset, x_to_w32_charset)
4272 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
4273 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
4274 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
4275 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
4276 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
4277 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
4278 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
4279 (syms_of_w32font): Update for above changes.
4280
42812008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
4282
4283 * s/usg5-4.h: Fix previous change: keep the correct branch of a
4284 removed #if.
4285 (USG_SHARED_LIBRARIES): Remove duplicate definition.
4286
42872008-06-26 Juanma Barranquero <lekktu@gmail.com>
4288 Eli Zaretskii <eliz@gnu.org>
4289
4290 * makefile.w32-in (LOCAL_FLAGS):
4291 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
4292
4293 * sysdep.c (_spawnlp, _getpid):
4294 Declare with explicit _cdecl instead of _CRTAPI1.
4295
4296 * editfns.c (Fget_internal_run_time):
4297 Check for WINDOWSNT with #ifdef, not #if.
4298
42992008-06-26 Jason Rumney <jasonr@gnu.org>
4300
4301 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
4302
4303 * w32term.c (x_draw_glyph_string_foreground)
4304 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
4305 Use FONT_HANDLE macro.
4306 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
4307
4308 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
4309 (uniscribe_encode_char): Use FONT_HANDLE macro.
4310
4311 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
4312 (w32font_text_extents): Use precast w32_font.
4313 (w32font_close): Free cached metrics.
4314 (w32font_open_internal): Allocate space for name on stack.
4315
43162008-06-26 Chong Yidong <cyd@stupidchicken.com>
4317
4318 * xdisp.c (extend_face_to_end_of_line): Fix last change.
4319
43202008-06-26 Jason Rumney <jasonr@gnu.org>
4321
4322 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
4323 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
4324
43252008-06-26 Juanma Barranquero <lekktu@gmail.com>
4326
4327 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
4328
43292008-06-26 Jason Rumney <jasonr@gnu.org>
4330
4331 * w32bdf.c, w32bdf.h: Remove obsolete files.
4332
4333 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
4334
4335 * w32gui.h: Don't include w32bdf.h.
4336 (XCharStruct, enum w32_char_font_type, W32FontStruct):
4337 Remove obsolete font support.
4338
4339 * w32font.h (struct w32font_info): Remove compat_w32_font.
4340 Add hfont member.
4341 (FONT_COMPAT): Remove obsolete macro.
4342
4343 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
4344 (w32font_encode_char, w32font_text_extents): Use new hfont member.
4345 (w32font_open_internal): Remove compat code. Set new hfont member.
4346 (Fx_select_font): Use new hfont member.
4347
4348 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
4349 (uniscribe_encode_char): Use new hfont member.
4350
4351 * w32term.c (x_draw_glyph_string_foreground)
4352 (x_draw_composite_glyph_string_foreground): Use new hfont member.
4353 (x_draw_glyph_string): Use metrics in w32font_info.
4354
43552008-06-26 Kenichi Handa <handa@m17n.org>
4356
4357 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
4358
43592008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
4360
4361 * unexnext.c:
4362 * m/ews4800.h:
4363 * m/hp9000s300.h:
4364 * m/ibm370aix.h:
4365 * m/mips-siemens.h:
4366 * m/ncr386.h:
4367 * m/next.h:
4368 * m/pmax.h:
4369 * m/powerpcle.h:
4370 * m/tandem-s2.h:
4371 * s/386bsd.h:
4372 * s/bsd386.h:
4373 * s/bsd4-1.h:
4374 * s/bsd4-2.h:
4375 * s/bsdos2-1.h:
4376 * s/bsdos2.h:
4377 * s/bsdos3.h:
4378 * s/bsdos4.h:
4379 * s/nextstep.h:
4380 * s/ultrix4-3.h:
4381 * s/usg5-0.h:
4382 * s/usg5-2-2.h:
4383 * s/usg5-2.h:
4384 * s/usg5-4-3.h:
4385 * s/ux4800.h:
4386 * s/uxpds.h:
4387 * s/uxpv.h: Remove support for obsolete systems.
4388 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
8f3a3ac2 4389 Remove, insert contents in s/hpux10-20.h.
aac0c6e3
MR
4390 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
4391 Remove, insert contents in s/aix4-2.h.
4392 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
4393 * s/bsd4-3.h: Rename to ...
4394 * s/bsd-common.h: ... this.
4395 * data.c:
4396 * doc.c:
4397 * ecrt0.c:
4398 * emacs.c:
4399 * fileio.c:
4400 * floatfns.c:
4401 * keyboard.c:
4402 * mem-limits.h:
4403 * print.c:
4404 * process.c:
4405 * sysdep.c:
4406 * syssignal.h:
4407 * systty.h:
4408 * syswait.h:
4409 * term.c:
4410 * unexec.c:
4411 * unexelf.c:
4412 * unexhp9k800.c:
4413 * m/hp800.h:
4414 * m/ibmrs6000.h:
4415 * m/mips.h:
4416 * m/vax.h:
4417 * s/darwin.h:
4418 * s/freebsd.h:
4419 * s/gnu.h:
4420 * s/ms-w32.h:
4421 * s/msdos.h:
4422 * s/netbsd.h:
4423 * s/template.h: Remove references to obsolete variables.
4424
4425 * Makefile.in: Add dependencies for all unexec files.
4426 (admindir): Remove unused variable.
4427 (UNEXEC_SRC): Remove references.
4428
44292008-06-25 Chong Yidong <cyd@stupidchicken.com>
4430
4431 * xfns.c (x_default_font_parameter): If Xft is available, first
4432 try Monospace-12 for the default font.
4433
44342008-06-25 Jason Rumney <jasonr@gnu.org>
4435
4436 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
4437
44382008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
4439
4440 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
4441
4442 * buffer.c (syms_of_buffer): Remove default-word-wrap.
4443
44442008-06-25 Juanma Barranquero <lekktu@gmail.com>
4445
4446 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
4447 <scroll-conservatively>: Fix typo in docstring.
4448
4449 * xselect.c (Fx_send_client_event): Doc fix.
4450
44512008-06-25 Kenichi Handa <handa@m17n.org>
4452
4453 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
4454
4455 * font.c (font_parse_fcname): Remove unused variables.
4456 (font_sort_entites): Delete the arg SPEC. Caller changed.
4457 Fix for the case of ! best_only.
4458 (font_delete_unmatched): Check DPI and AVGWIDTH too.
4459
4460 * lisp.h (Fstring_to_unibyte): EXFUN it.
4461
4462 * character.h (str_to_unibyte): Extern it.
4463
4464 * character.c (str_to_unibyte): New function.
4465
4466 * fns.c (Fstring_to_unibyte): New function.
4467 (syms_of_fns): Defsubr it.
4468
44692008-06-24 Kenichi Handa <handa@m17n.org>
4470
4471 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
4472 DPI too.
4473 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
4474
44752008-06-24 Andreas Schwab <schwab@suse.de>
4476
4477 * Makefile.in (${lispsource}loaddefs.el): Rename from
4478 ../lisp/loaddefs.el.
4479 (bootstrap-clean): Do what distclean does but don't remove
4480 Makefile.
4481 (distclean): Depend on bootstrap-clean and remove Makefile.
4482
44832008-06-24 Chong Yidong <cyd@stupidchicken.com>
4484
4485 * buffer.h (struct buffer): New member word_wrap.
4486
4487 * buffer.c (syms_of_buffer): New variables default-word-wrap and
4488 word-wrap.
4489 (init_buffer_once): Initialize them.
4490
4491 * dispextern.h (struct it): Replace bool truncate_lines_p with a
4492 line_wrap enum possessing three possible values.
4493
4494 * termopts.h: Replace truncate_partial_width_windows with
4495 Vtruncate_partial_width_windows.
4496
4497 * dispnew.c (direct_output_for_insert): Avoid direct output when
4498 inserting a space with word wrap on.
4499
4500 * indent.c (compute_motion): Obey integer values of
4501 truncate-partial-width-windows.
4502
4503 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
4504 replacing truncate_partial_width_windows.
4505 (init_iterator): If Vtruncate_partial_width_windows is an integer,
4506 truncate only if the window width is below that integer.
4507 (start_display, resize_mini_window, produce_stretch_glyph)
4508 (display_string, move_it_in_display_line_to): Use line_wrap.
4509 (back_to_previous_visible_line_start, reseat_1): Reset
4510 string_from_display_prop_p.
4511 (display_line): Extend default face to end of line when wrapping.
4512
45132008-06-24 Kim F. Storm <storm@cua.dk>
4514
4515 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
4516 to wrap continued lines at word boundaries.
4517
45182008-06-24 Jason Rumney <jasonr@gnu.org>
4519
4520 * font.c (Ffont_face_attributes): Multiply pixel size before point
4521 conversion to avoid multiplying rounding error.
4522
45232008-06-23 Jason Rumney <jasonr@gnu.org>
4524
4525 * w32term.c (x_draw_glyph_string_background)
4526 (x_draw_glyph_string): Remove old bdf font code.
4527
4528 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
4529
45302008-06-22 Kenichi Handa <handa@m17n.org>
4531
4532 * font.c (font_find_for_lface): Try the adstyle specified in
4533 the property of LFACE_FONT of LFACE (if any).
4534
45352008-06-21 Seiji Zenitani <zenitani@mac.com>
4536 Ryo Yoshitake <ryo@shiftmode.net>
4537
4538 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
4539
45402008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
4541
4542 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
4543 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
4544 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
4545 (witness-emacs): Remove.
4546 (lisp, shortlisp): Move loaddefs.el earlier.
4547 (mostlyclean): Forget about witness-emacs.
4548
45492008-06-22 Glenn Morris <rgm@gnu.org>
4550
4551 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
4552 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
4553
45542008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
4555
4556 * Makefile.in (PRECOMP): Remove.
4557 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
4558 (witness-emacs): Run `compile-first'.
4559 (.el.elc): Use the new compile-onefile target.
4560
45612008-06-21 Kenichi Handa <handa@m17n.org>
4562
4563 * xftfont.c (xftfont_open): Handle QCembolden only when
4564 FC_EMBOLDEN is defined.
4565
45662008-06-21 Andreas Schwab <schwab@suse.de>
4567
4568 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
4569 (.el.elc): Likewise.
4570
45712008-06-21 Miles Bader <miles@gnu.org>
4572
4573 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
4574 build dir, not the lisp source dir.
4575
45762008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
4577
4578 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
4579 (bootstrapclean): Remove.
4580 (.el.elc): New rule.
4581 (PRECOMP): New var.
4582 (../lisp/subdirs.el): Remove.
4583 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
4584 (witness-emacs): New target.
4585 (mostlyclean): Remove witness-emacs as well.
4586 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
4587 Add witness-emacs dependency.
4588
45892008-06-20 Chong Yidong <cyd@stupidchicken.com>
4590
4591 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
4592 defined by the font.
4593
45942008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
4595
4596 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
4597 (bootstrap-clean): New target that keeps TAGS around.
4598 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
4599 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
4600
46012008-06-20 Jason Rumney <jasonr@gnu.org>
4602
4603 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
4604 Remove obsolete font code.
4605
4606 * w32font.c (font_matches_spec): Use csb bitfield from font signature
4607 to determine language support.
4608
46092008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
4610
4611 * sysdep.c (cfsetspeed): New fun extracted from the code.
4612 (cfmakeraw): Move before first use.
4613
46142008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
4615
4616 * sysdep.c (cfmakeraw): Provide fallback implementation.
4617 (serial_configure): Provide fallback implementation of cfsetspeed.
4618
46192008-06-20 Kenichi Handa <handa@m17n.org>
4620
4621 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
4622 the pattern.
4623
4624 * fontset.c (fontset_from_font): Copy font_spec before changing
4625 the elements.
4626
4627 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
4628
46292008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
4630
4631 * w32fns.c, xfns.c (x_default_font_parameter): Only set `font-param'
4632 for explicit `font' parameters.
4633
4634 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
4635
46362008-06-19 Kenichi Handa <handa@m17n.org>
4637
4638 * frame.c: Include <ctype.h>.
4639 (x_set_font_backend): Allow spacing characters in the X resource
4640 for FontBackend.
4641
46422008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
4643
4644 * w32fns.c, xfns.c (Qfont_param): New var.
4645 (syms_of_w32fns): Initialize it.
4646 (x_default_font_parameter): Record explicit `font' into
4647 `font-parameter'.
4648
46492008-06-18 Kenichi Handa <handa@m17n.org>
4650
4651 * font.c (font_parse_xlfd): Fix previous change.
4652 (font_parse_fcname): Don't use :fc-unknown-spec.
4653 (FRAME_X_DISPLAY_INFO): Be sure to have at least 1 pixel height.
4654 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
4655 (font_add_log): Prepend the driver name to the resulting fonts.
4656
4657 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
4658 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
4659 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
4660
4661 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
4662 (QCembolden): New variables.
4663 (syms_of_xftfont): DEFSYM them.
4664 (xftfont_open): Call XftFontMatch. Don't trust the result of
4665 XftTextExtents8 if the pixel_size is less than 5.
4666
46672008-06-18 Andreas Schwab <schwab@suse.de>
4668
4669 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
4670 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
4671
46722008-06-18 Jason Rumney <jasonr@gnu.org>
4673
4674 * w32font.c (w32font_list, w32font_match): Add logging.
4675
4676 * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging.
4677
46782008-06-17 Chong Yidong <cyd@stupidchicken.com>
4679
4680 * font.c (font_parse_fcname): Store divider characters for
4681 unknown-spec list. For known key symbols, intern using correct
4682 symbol name.
4683
46842008-06-17 Kenichi Handa <handa@m17n.org>
4685
4686 * xfaces.c (realize_default_face): If the frame is not on window
4687 system, set the fontset of face to nil.
4688
46892008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
4690
4691 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
4692
46932008-06-16 Juanma Barranquero <lekktu@gmail.com>
4694
4695 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
4696 (build_font_name_from_vector): Delete externs.
4697
4698 * xfaces.c (struct font_name): Don't declare.
4699
47002008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
4701
4702 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
4703
47042008-06-16 Chong Yidong <cyd@stupidchicken.com>
4705
4706 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
4707
47082008-06-16 Juanma Barranquero <lekktu@gmail.com>
4709
4710 * font.c (Ffont_spec): Fix usage in docstring.
4711 (Ffont_face_attributes): Doc fix.
4712
47132008-06-16 Andreas Schwab <schwab@suse.de>
4714
4715 * font.c (Ffont_face_attributes): Fix definition.
4716
47172008-06-16 Jason Rumney <jasonr@gnu.org>
4718
4719 * font.h (font_style_symbolic_from_value): Remove.
4720
4721 * font.c (font_style_symbolic_from_value): Remove.
4722 (font_style_symbolic): Revert to pre 2008-06-13 version.
4723
4724 * w32font.c (w32_to_fc_weight): New function.
4725 (w32font_full_name, logfont_to_fcname): Use it.
4726
47272008-06-16 Kenichi Handa <handa@m17n.org>
4728
4729 * font.c (font_check_object): Delete it.
4730 (font_clear_cache): Check if a font-object is alive.
4731 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
4732 font-object to nil.
4733 (font_close_object): Don't check FONT_CLOSE_OBJECT.
4734 (font_at): Don't call font_check_object.
4735 (Ffont_get): Return a symbol for :weight, :slant, and :width.
4736
47372008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
4738
4739 * puresize.h (BASE_PURESIZE): Increase to 1230000.
4740
47412008-06-16 Chong Yidong <cyd@stupidchicken.com>
4742
4743 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
4744
47452008-06-15 Chong Yidong <cyd@stupidchicken.com>
4746
4747 * font.c (font_parse_fcname): Only one decimal point.
4748 (font_unparse_fcname): Handle data in family and foundry indices
4749 as symbols, not strings.
4750 (font_unparse_gtkname, Ffont_face_attributes): New functions.
4751
4752 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
4753
4754 * font.h (font_unparse_gtkname): Add prototype.
4755
47562008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
4757
4758 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
4759
47602008-06-15 Andreas Schwab <schwab@suse.de>
4761
4762 * font.c (font_update_drivers): Fix crash when no drivers match.
4763
47642008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
4765
4766 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
4767 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
4768
47692008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
4770
4771 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
4772
47732008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
4774
4775 * process.c (Fserial_process_configure, Fprocess_send_eof):
4776 Use EQ to compare Lisp_Objects.
4777
47782008-06-13 Jason Rumney <jasonr@gnu.org>
4779
4780 * w32fns.c (Fw32_select_font): Remove old font API function.
4781
4782 * w32font.c (logfont_to_fcname): New function.
4783 (Fx_select_font): New font dialog function compatible with
4784 GTK/fontconfig version.
4785
4786 * font.c (font_style_symbolic_from_value): New function.
4787 (font_style_symbolic): Use it.
4788
4789 * font.h (font_style_symbolic_from_value): Declare new function.
4790
47912008-06-13 Juanma Barranquero <lekktu@gmail.com>
4792
4793 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
4794 <font-width-table>: Fix typos in docstrings.
4795
47962008-06-13 Daniel Engeler <engeler@gmail.com>
4797
4798 These changes add serial port access.
4799 * process.c: Add HAVE_SERIAL.
4800 (Fdelete_process, Fprocess_status, Fset_process_buffer)
4801 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
4802 (list_processes_1, select_wrapper, Fstop_process)
4803 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
4804 (status_notify): Modify to handle serial processes.
4805 [HAVE_SERIAL] (Fserial_process_configure)
4806 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
4807 New functions.
4808 * process.h (struct Lisp_Process): Add `type'.
4809 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
4810 New functions.
4811 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
4812 serial ports.
4813 (serial_open, serial_configure) New functions.
4814 * w32.h: Add FILE_SERIAL.
4815 (struct _child_process): Add ovl_read, ovl_write.
4816
48172008-06-13 Kenichi Handa <handa@m17n.org>
4818
4819 * dispextern.h (enum lface_attribute_index): New member
4820 LFACE_FOUNDRY_INDEX.
4821
4822 * font.c (font_score): Delete arg alternate_families. Check only
4823 weight, slant, width, and size. Ignore the difference of alias
4824 style symbols.
4825 (font_sort_entites): Adjust for the above change. Reflect the
4826 order of font-driver to scores.
4827 (font_list_entities): Don't check alternate_familes here.
4828 (font_clear_prop): Handle foundry.
4829 (font_update_lface): Don't parse "foundry-family" form here.
4830 Handle FONT_FOUNDRY_INDEX.
4831 (font_find_for_lface): Likewise. Handle alternate families here.
4832 If registry is nil, try iso8859-1 and ascii-0.
4833 (font_open_for_lface): Pay attention to size in ENTITY.
4834 (font_open_by_name): Simplify by calling font_load_for_lface.
4835 (free_font_driver_list): Delete it.
4836 (font_update_drivers): Preserve the order of backends.
4837 (syms_of_font): Setting of sort_shift_bits adjusted for the change
4838 of font_score and font_sort_entites.
4839 (font_update_sort_order): Likewise.
4840
4841 * xfaces.c (LFACE_FOUNDRY): New macro.
4842 (check_lface_attrs): Check foundry.
4843 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
4844 (merge_face_vectors): Check foundry.
4845 (merge_face_ref): Likewise.
4846 (Finternal_set_lisp_face_attribute): Likewise.
4847 (x_update_menu_appearance): Likewise.
4848 (Finternal_get_lisp_face_attribute): Likewise.
4849 (lface_hash): Likewise.
4850 (lface_same_font_attributes_p): Likewise.
4851 (x_supports_face_attributes_p): Likewise.
4852 (tty_supports_face_attributes_p): Likewise.
4853 (Finternal_set_alternative_font_family_alist): Intern strings.
4854 (Finternal_set_alternative_font_registry_alist): Downcase strings.
4855 (realize_default_face): Set LFACE_FOUNDRY (lface).
4856
4857 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
4858 font-driver at first.
4859
4860 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
4861
48622008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
4863
4864 * lread.c (Fload): Use xfree, not free on saved_doc_string.
4865
48662008-06-12 Jim Meyering <meyering@redhat.com>
4867
4868 Make unexec_free handle NULL the same way free does.
4869 * unexmacosx.c (unexec_free): Ignore a NULL argument.
4870
48712008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
4872
4873 * character.h (CHAR_TO_BYTE_SAFE): New macro.
4874 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
4875 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
4876 (WEAK_ALIAS): Simplify.
4877 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
4878 when searching a unibyte buffer.
4879
48802008-06-12 Chong Yidong <cyd@stupidchicken.com>
4881
4882 * xfns.c (Fx_select_font): Rename from x-font-dialog.
4883
48842008-06-12 Juanma Barranquero <lekktu@gmail.com>
4885
4886 * w32font.c: Include ctype.h.
4887
48882008-06-11 Jason Rumney <jasonr@gnu.org>
4889
4890 * w32font.c (w32font_encode_char): Detect missing glyphs that are
4891 misreported as space.
4892 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
4893 as aliases for registry iso10646-1.
4894
48952008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
4896
4897 * buffer.c (clone_per_buffer_values): Skip `name'.
4898
48992008-06-11 Chong Yidong <cyd@stupidchicken.com>
4900
4901 * font.c (font_parse_fcname): Fix last change; accept decimal
4902 points in font size.
4903
49042008-06-10 Jason Rumney <jasonr@gnu.org>
4905
4906 * w32uniscribe.c (add_opentype_font_name_to_list):
4907 Skip non unicode fonts.
4908
49092008-06-10 Chong Yidong <cyd@stupidchicken.com>
4910
4911 * xfns.c (Fx_font_dialog): New function.
4912
4913 * gtkutil.c (xg_dialog_response_cb): Rename from
4914 xg_file_response_callback.
4915 (pop_down_dialog): Rename from pop_down_file_dialog.
4916 (xg_get_file_name): Callers changed.
4917 (xg_get_font_name): New function.
4918
4919 * gtkutil.h (xg_get_font_name): Insert prototype.
4920
49212008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
4922
4923 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
4924 x_underline_minimum_display_offset.
4925 (syms_of_xdisp): Declare it here rather than in xterm.c.
4926 * dispextern.h (underline_minimum_offset): Declare it.
4927 * w32term.c (x_draw_glyph_string): Use it.
4928 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
4929 (syms_of_xterm): Don't declare it any more.
4930 (x_draw_glyph_string): Adjust to the new name.
4931
49322008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
4933
4934 * xterm.c (x_underline_minimum_display_offset): New var.
4935 (x_draw_glyph_string): Use it.
4936 (syms_of_xterm): Declare it.
4937
49382008-06-10 Chong Yidong <cyd@stupidchicken.com>
4939
4940 * font.c (font_parse_fcname): Accept GTK-style font names too.
4941
49422008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
4943
4944 * dired.c (file_name_completion): Don't return t if the match is exact
4945 but with different capitalization.
4946 * minibuf.c (Ftry_completion): Simplify.
4947
4948 * window.c (Vwindow_point_insertion_type): New var.
4949 (set_window_buffer): Use it.
4950 (syms_of_window): Init and export it to Lisp.
4951
49522008-06-10 Kenichi Handa <handa@m17n.org>
4953
4954 * font.h (font_intern_prop): Prototype adjusted.
4955
4956 * font.c (font_intern_prop): New arg force_symbol.
4957 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
4958 Adjust for the change of font_intern_prop.
4959
4960 * ftfont.c (ftfont_pattern_entity):
4961 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
4962 (w32_registry):
4963 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
4964 the change of font_intern_prop.
4965
49662008-06-09 Juanma Barranquero <lekktu@gmail.com>
4967
4968 * w32menu.c (digest_single_submenu): Declare extern.
4969
49702008-06-09 Jason Rumney <jasonr@gnu.org>
4971
4972 * w32term.c (x_make_frame_visible): Use alternate restore flags.
4973
4974 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
4975 (parse_single_submenu): Remove.
4976 (digest_single_submenu): Remove.
4977 (syms_of_w32menu): Don't initialise variables that have moved
4978 to menu.c.
4979 (set_frame_menubar): Sync with version in xmenu.c.
4980 (w32_menu_show): Sync with xmenu_show in xmenu.c.
4981
4982 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
4983 Make static again.
4984
49852008-06-09 Jason Rumney <jasonr@gnu.org>
4986
4987 Changes to w32 files related to the move of common menu code
4988 to menu.c on 2008-06-08 by Chong Yidong.
4989
4990 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
4991 defs to w32gui.h.
4992 (single_keymap_panes, push_menu_item, push_menu_pane):
4993 Make globally visible.
4994
4995 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
4996 (local_free, malloc_widget_value, free_widget_value)
4997 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
4998 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
4999 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
5000 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
5001 (menu_items, menu_items_allocated, menu_items_used)
5002 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
5003 (init_menu_items, finish_menu_items, discard_menu_items)
5004 (grow_menu_items, push_submenu_start, push_submenu_end)
5005 (push_left_right_boundary, push_menu_pane, push_menu_item)
5006 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
5007 (free_menubar_widget_tree_value, parse_single_submenu)
5008 (update_submenu_strings): Remove functions.
5009 (xmalloc_widget_value): Remove and declare extern.
5010
5011 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
5012 (OBJ1): Build it.
5013
5014 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
5015 (local_heap, local_alloc, local_free, malloc_widget_value)
5016 (free_widget_value): Define here.
5017
50182008-06-09 Kenichi Handa <handa@m17n.org>
5019
5020 * font.h (Qascii_0): Extern it.
5021
5022 * font.c (Qascii_0): New variable.
5023 (syms_of_font): DEFSYM it.
5024 (font_open_by_name): If the registry "iso8859-1" fails, try also
5025 "ascii-0".
5026
5027 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
5028
50292008-06-08 Kenichi Handa <handa@m17n.org>
5030
5031 * .gdbinit (xfont): New command.
5032
50332008-06-08 Andreas Schwab <schwab@suse.de>
5034
5035 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
5036 * Makefile.in (menu.o): Update dependencies.
5037
5038 * Makefile.in (obj): Always add menu.o.
5039 * emacs.c (main): Always call syms_of_menu.
5040 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
5041
50422008-06-08 Chong Yidong <cyd@stupidchicken.com>
5043
5044 * Makefile.in: Compile menu.c.
5045
5046 * lisp.h: Declare syms_of_menu.
5047
5048 * emacs.c (main): Call syms_of_menu.
5049
5050 * keyboard.h: Relocate platform-independent menu definitions from
5051 xmenu.c.
5052
5053 * menu.c: New file. Relocate platform-independent menu
5054 definitions from xmenu.c. Suggested by Adrian Robert.
5055
5056 * xmenu.c: Remove platform-independent menu definitions.
5057 (menu_items menu_items_inuse, menu_items_allocated)
5058 (menu_items_used, menu_items_n_panes)
5059 (menu_items_submenu_depth): Move to keyboard.h.
5060 (init_menu_items, finish_menu_items, unuse_menu_items)
5061 (discard_menu_items, restore_menu_items, save_menu_items)
5062 (grow_menu_items, push_submenu_start, push_submenu_end)
5063 (push_left_right_boundary, push_menu_pane, push_menu_item)
5064 (keymap_panes, single_keymap_panes, single_menu_item)
5065 (list_of_panes, list_of_items, find_and_call_menu_selection)
5066 (xmalloc_widget_value, free_menubar_widget_value_tree)
5067 (parse_single_submenu, digest_single_submenu)
5068 (update_submenu_strings): Move to menu.c.
5069
50702008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
5071
5072 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
5073
50742008-06-06 Miles Bader <miles@gnu.org>
5075
5076 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
5077 face, not frame default.
5078
50792008-06-05 Martin Rudalics <rudalics@gmx.at>
5080
5081 * window.c (pop_up_windows, pop_up_frames)
5082 (display_buffer_reuse_frames, Vpop_up_frame_function)
5083 (Vdisplay_buffer_function, Veven_window_heights)
5084 (Vspecial_display_buffer_names, Vspecial_display_regexps)
5085 (Vspecial_display_function, Vsame_window_buffer_names)
5086 (Vsame_window_regexps, split_height_threshold)
5087 (Vsplit_window_preferred_function): Move those vars to window.el.
5088 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
5089 (Fdisplay_buffer): Move those functions to window.el.
5090 (syms_of_window): Remove corresponding declarations.
5091 (display_buffer): New function.
5092 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
5093 * dispnew.c (Flast_nonminibuf_frame): New function.
5094 * buffer.c (Fpop_to_buffer): Move to window.el.
5095
50962008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5097
5098 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
5099
51002008-06-05 Kenichi Handa <handa@m17n.org>
5101
5102 * coding.c (detect_coding): Fix previous change.
5103 (detect_coding_system): Likewise.
5104
51052008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5106
5107 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
5108
5109 * keymap.c (Vminibuffer_local_filename_must_match_map):
5110 Rename from Vminibuffer_local_must_match_filename_map.
5111 (syms_of_keymap):
5112 * minibuf.c (Fcompleting_read): Adjust accordingly.
5113 * commands.h: Rename declaration as well.
5114
51152008-06-05 Kenichi Handa <handa@m17n.org>
5116
5117 * font.c (Ffont_spec): Don't use font_parse_family_registry for
5118 family name.
5119 (Ffont_put): Likewise.
5120
5121 * fontset.c (fontset_find_font): Call font_open_for_lface with the
5122 current font-spec.
5123
5124 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
5125 is unspecified.
5126
5127 * xfaces.c (realize_x_face): If the font-related face attributes
5128 are the same as those of default face, realize a new fontset from
5129 default->fontset.
5130 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
5131
51322008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5133
5134 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
5135 (move_it_in_display_line): New wrapper.
5136
5137 * window.c (window_scroll_pixel_based_preserve_x)
5138 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
5139 (window_scroll_pixel_based, window_scroll_line_based):
5140 Use them to preserve column positions.
5141 (syms_of_window): Initialize them.
5142
5143 * indent.c (Fvertical_motion): Extend first arg to allow passing an
5144 (HPOS . VPOS) pair.
5145
5146 * dispextern.h (move_it_in_display_line): Declare.
5147
51482008-06-05 Juanma Barranquero <lekktu@gmail.com>
5149
5150 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
5151 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
5152 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
5153
51542008-06-04 Juanma Barranquero <lekktu@gmail.com>
5155
5156 * window.c (Fset_window_parameter): Doc fix.
5157 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
5158
51592008-06-04 Joakim Verona <joakim@verona.se>
5160
5161 * window.h (struct window): Add new member window_parameters.
5162
5163 * window.c (Fwindow_parameters, Fwindow_parameter)
5164 (Fset_window_parameter): New defuns.
5165 (syms_of_window): Defsubr the new defuns.
5166 (make_window): Initialize window_parameters to nil.
5167
51682008-06-04 John Paul Wallington <jpw@pobox.com>
5169
5170 * eval.c (Fdefmacro): Doc fix.
5171
51722008-06-04 Kenichi Handa <handa@m17n.org>
5173
5174 * coding.c (detect_coding): Fix handling of coding->head_ascii.
5175 Be sure to call setup_coding_system when we find a proper coding system.
5176 (detect_coding_system): Fix handling of coding->head_ascii.
5177
51782008-06-03 Andreas Schwab <schwab@suse.de>
5179
5180 * font.c (font_prop_validate_spacing): Fix last change.
5181
51822008-06-03 Kenichi Handa <handa@m17n.org>
5183
5184 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
5185 (font_parse_fcname): Fix handling of unknown key.
5186
5187 * xfont.c (xfont_list): Try an alias.
5188
5189 * charset.c (char_charset): Return NULL if the arg charset_list is
5190 specified and C doesn't belong to any of them.
5191
51922008-06-02 Chip Coldwell <coldwell@redhat.com>
5193
5194 * font.c (font_pixel_size): Don't take cdr of an integer.
5195
51962008-06-02 Jim Meyering <meyering@redhat.com>
5197
5198 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
5199 * alloc.c (xfree): Return right away for a NULL arg.
5200 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
5201 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
5202 * mac.c (create_apple_event_from_event_ref): Likewise.
5203 (create_apple_event_from_drag_ref, cfstring_create_normalized):
5204 Likewise.
5205 * doprnt.c (doprnt1): Likewise.
5206 * frame.c (frame): Likewise.
5207 * keyboard.c (wipe_kboard): Likewise.
5208 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
5209 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
5210 * term.c (tty_default_color_capabilities, maybe_fatal)
5211 (delete_tty): Likewise.
5212 * w16select.c (string): Likewise.
5213 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
5214 * w32bdf.c (w32_free_bdf_font): Likewise.
5215 * w32fns.c (w32_unload_font): Likewise.
5216 * w32font.c (w32font_close): Likewise.
5217 * window.c (size_window): Likewise.
5218 * xselect.c (receive_incremental_selection): Likewise.
5219 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
5220 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
5221 * w32.c (stat): Likewise.
5222
5223 Remove useless if-before-free tests.
5224 * editfns.c (Fset_time_zone_rule): Likewise.
5225 * lread.c (nosuffix): Likewise.
5226 * ralloc.c (get_bloc): Likewise.
5227 * regex.c (reg_free): Likewise.
5228 * xftfont.c (xftfont_open, xftfont_close): Likewise.
5229 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
5230 * xsmfns.c (smc_save_yourself_CB): Likewise.
5231
52322008-06-02 Kenichi Handa <handa@m17n.org>
5233
5234 * font.c (font_find_for_lface): Handle float font size.
5235 (font_open_for_lface): Likewise.
5236
5237 * xfaces.c (x_supports_face_attributes_p): Check face->font before
5238 comparing the properties.
5239
52402008-06-01 Jason Rumney <jasonr@gnu.org>
5241
5242 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
5243 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
5244 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
5245 Don't add empty script list.
5246 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
5247
52482008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
5249
5250 * Makefile.in (dot, dotdot): Remove, update users.
5251 ".." has been used elsewhere in the file for a long time.
5252 (LIBXT_STATIC): Remove conditional based on unused variable.
5253
52542008-06-01 Miles Bader <miles@gnu.org>
5255
5256 * xfaces.c (Vface_remapping_alist): New variable.
5257 (syms_of_xfaces): Initialize it.
5258 (enum named_merge_point_kind): New type.
5259 (struct named_merge_point): Add `named_merge_point_kind' field.
5260 (push_named_merge_point): Make cycle detection respect different
5261 named-merge-point kinds.
5262 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
5263 Remove face-name alias resolution.
5264 (lface_from_face_name): New definition using
5265 `lface_from_face_name_no_resolve'.
5266 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
5267 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
5268 (get_lface_attributes): New definition that layers face-remapping on
5269 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
5270 (lookup_basic_face): New function.
5271 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
5272 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
5273 `get_lface_attributes'.
5274 (face_at_buffer_position): Use `lookup_basic_face' to lookup
5275 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
5276 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
5277
5278 * xdisp.c (init_iterator): Pass base_face_id through
5279 `lookup_basic_face' when we actually use it as a face-id.
5280 (handle_single_display_prop): Use `lookup_basic_face' to lookup
5281 DEFAULT_FACE_ID.
5282
5283 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
5284 lookup the initial face-id.
5285
5286 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
5287
52882008-06-01 Juanma Barranquero <lekktu@gmail.com>
5289
5290 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
5291 (Fremove_text_properties): Fix typos in docstrings.
5292
52932008-05-31 Kenichi Handa <handa@m17n.org>
5294
5295 * font.c (font_list_entities): Fix the car part of data to be
5296 stored in the cache.
5297
5298 * ftfont.c (ftfont_font_format): Don't use strcasestr.
5299
53002008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
5301
5302 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
5303 Add a `test' argument so another predicate than `equal' can be used.
5304 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
5305 (map_char_table): Remove unused vars `c' and `i'.
5306 * lisp.h (Foptimize_char_table): Adjust declaration.
5307 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
5308
53092008-05-30 Kenichi Handa <handa@m17n.org>
5310
5311 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
5312 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
5313 defined.
5314
53152008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
5316
5317 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
5318 (Fmake_variable_frame_local): Disallow mixing buffer-local and
5319 frame-local settings for the same variable.
5320
53212008-05-30 Kenichi Handa <handa@m17n.org>
5322
5323 * fontset.c (Ffont_info): Move to font.c.
5324 (syms_of_fontset): Delete defsubr of Sfont_info.
5325
5326 * font.c (font_style_to_value, font_score): Delete casting of the
5327 args to xstcasecmp.
5328 (register_font_driver): Increment num_font_drivers only when
5329 registering the driver globally.
5330 (Ffont_info): Move from fontset.c. Handle a font object too.
5331 (syms_of_font): Defsubr Sfont_info.
5332
53332008-05-29 Kenichi Handa <handa@m17n.org>
5334
5335 * coding.h (enum define_coding_utf8_arg_index): New enum.
5336 (enum coding_attr_index): Change coding_attr_utf_16_bom to
5337 coding_attr_utf_bom.
5338 (enum utf_bom_type): Rename from utf_16_bom_type.
5339 (struct utf_16_spec): Adjust for the above change.
5340 (struct coding_system): Add utf_8_bom in `spec' union.
5341
5342 * coding.c (CODING_UTF_8_BOM): New macro.
5343 (enum coding_category): Delete coding_category_utf_8, add
5344 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
5345 coding_category_utf_8_sig.
5346 (CATEGORY_MASK_UTF_8): Delete it.
5347 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
5348 (CATEGORY_MASK_UTF_8_SIG): New macros.
5349 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
5350 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
5351 CATEGORY_MASK_UTF_8_SIG.
5352 (CATEGORY_MASK_UTF_8): New macro.
5353 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
5354 (detect_coding_utf_8): Check BOM.
5355 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
5356 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
5357 (encode_coding_utf_16): Likewise.
5358 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
5359 (detect_coding, detect_coding_system): Handle utf-8-auto.
5360 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
5361 (syms_of_coding): Fix setting up of Vcoding_category_table.
5362
53632008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
5364
5365 * process.c (Faccept_process_output): If `millisec' is non-nil,
5366 `seconds' default to 0.
5367 (wait_reading_process_output): Also return non-nil if we read output
5368 from a non-running process.
5369
53702008-05-29 Jason Rumney <jasonr@gnu.org>
5371
5372 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
5373 `raster' specified.
5374 (add_font_entity_to_list): Allow non-opentype truetype fonts back
5375 in the uniscribe backend, but disallow any font that has no
5376 unicode subrange support.
5377
53782008-05-29 Juanma Barranquero <lekktu@gmail.com>
5379
5380 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
5381 Fix typos in docstrings.
5382
53832008-05-29 Kenichi Handa <handa@m17n.org>
5384
5385 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
5386 (Fx_family_fonts): Set frame correctly.
5387
53882008-05-28 Jason Rumney <jasonr@gnu.org>
5389
5390 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
5391
53922008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
5393
5394 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
5395 calling build_annotations.
5396
53972008-05-28 Juanma Barranquero <lekktu@gmail.com>
5398
5399 * coding.c (Fdecode_coding_region, Fencode_coding_region)
5400 (Fencode_coding_string):
5401 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
5402 <latin-extra-code-table>: Fix typos in docstrings.
5403 (syms_of_coding) <coding-system-alist>: Doc fix.
5404 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
5405
54062008-05-28 Kenichi Handa <handa@m17n.org>
5407
5408 * fontset.c (Ffont_info): Don't call font_close_object.
5409
5410 * font.c (font_parse_family_registry): Use Ffont_put to validate
5411 foundry and family.
5412 (font_delete_unmatched): Don't check spacing.
5413 (font_list_entities): Add spacing to the spec to list fonts.
5414
5415 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
5416 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
5417
5418 * coding.c (encode_coding_raw_text): Fix previous change.
5419 (encode_coding_object): When the dst_object is a buffer and is
5420 different from src_object, move gap to PT.
5421
54222008-05-27 Chong Yidong <cyd@stupidchicken.com>
5423
5424 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
5425
54262008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
5427
5428 * coding.c (encode_coding_raw_text): Set coding->produced_char for
5429 all branches. Compute it differently.
5430
5431 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
5432
54332008-05-27 Juanma Barranquero <lekktu@gmail.com>
5434
5435 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
5436 into "else if () ... else ...".
5437
54382008-05-27 Jason Rumney <jasonr@gnu.org>
5439
5440 * w32font.c (w32font_open_internal): Determine if glyph indices
5441 are likely to work here.
5442
54432008-05-27 Chong Yidong <cyd@stupidchicken.com>
5444
5445 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
5446 draw overlap glyphs with appropriate highlighting.
5447
54482008-05-27 Kenichi Handa <handa@m17n.org>
5449
5450 * xfont.c (xfont_open): Fix calculation of font->average_width.
5451
54522008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
5453
5454 * casefiddle.c (casify_object): Try to guess better whether the
5455 argument is a byte or a char.
5456
54572008-05-26 Andreas Schwab <schwab@suse.de>
5458
5459 * xselect.c (x_reply_selection_request): Properly handle format == 32.
5460 Always send multiples of format size.
5461
5462 * xterm.c (x_set_frame_alpha): Fix type mismatch.
5463
54642008-05-26 Jason Rumney <jasonr@gnu.org>
5465
5466 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
5467 (compute_metrics): Don't set failure if we just cleared the cache.
5468 (w32_weight_table): Remove unused variable.
5469 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
5470 backwards compatibility.
5471
54722008-05-25 Kenichi Handa <handa@m17n.org>
5473
5474 * w32term.c (x_draw_glyph_string):
5475 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
5476
5477 * xfaces.c: Delete unused function prototypes.
5478 (xstrlwr, font_frame): Delete them.
5479 (clear_face_cache): Delete unused variable.
5480
5481 * xftfont.c (xftfont_open): Delete unused variable.
5482 If underline_thickness is not 1, adjust underline_position.
5483
5484 * ftxfont.c (ftxfont_open): Delete unused variable.
5485
5486 * fontset.c (face_for_char): Optimize for the case of no charset
5487 property.
5488
5489 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
5490 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
5491 (otf_open, font_otf_capability, generate_otf_features)
5492 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
5493 Comment out by surrounding "#if 0" and "#endif" for the moment.
5494 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
5495 (syms_of_font): Codes for accessing above commented out.
5496
54972008-05-24 Eli Zaretskii <eliz@gnu.org>
5498
5499 * w32proc.c: Include dispextern.h.
5500
5501 * w32.c: Include dispextern.h.
5502
55032008-05-23 Juanma Barranquero <lekktu@gmail.com>
5504
5505 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
5506 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
5507 Fix typos in docstrings.
5508
55092008-05-23 Jason Rumney <jasonr@gnu.org>
5510
5511 * xsmfns.c: Remove includes that are already included by config.h.
5512
55132008-05-23 Kenichi Handa <handa@m17n.org>
5514
5515 * charset.c (Qemacs, charset_emacs): New variables.
5516 (char_charset): Fix for non-Unicode characters.
5517 (syms_of_charset): Define charset_emacs.
5518
5519 * w32term.c (x_draw_glyph_string): Be sure to update
5520 s->underline_thickness and s->underline_position. Be sure to draw
5521 underline within the current line area.
5522
5523 * xterm.c (x_draw_glyph_string): Be sure to update
5524 s->underline_thickness and s->underline_position. Be sure to draw
5525 underline within the current line area.
5526
5527 * fontset.c: Delete unused variables and add casting for char *
5528 throughout the file.
5529 (fontset_font): Try the fallback fonts of the current fontset
5530 before consulting the default fontset.
5531
5532 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
5533
5534 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
5535
55362008-05-22 Jason Rumney <jasonr@gnu.org>
5537
5538 * font.c: Don't include strings.h.
5539
5540 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
5541
5542 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
5543 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
5544 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
5545 to call xstrcasecmp.
5546
5547 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
5548
5549 * fontset.c (fs_query_fontset): Use xstrcasecmp.
5550
5551 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
5552
5553 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
5554
55552008-05-22 Kenichi Handa <handa@m17n.org>
5556
5557 * puresize.h (BASE_PURESIZE): Increase to 1220000.
5558
5559 * font.c (font_prop_validate_style): Adjust for the format
5560 change of font_style_table.
5561
5562 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
5563 two args.
5564
5565 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
5566 two args.
5567
55682008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
5569
5570 * minibuf.c (keys_of_minibuf): Delete.
5571 * lisp.h (keys_of_minibuf): Delete.
5572 * emacs.c (main): Don't call keys_of_minibuf.
5573
55742008-05-22 Kenichi Handa <handa@m17n.org>
5575
5576 * ftfont.c (ftfont_resolve_generic_family): Rename from
5577 ftfont_list_generic_family. Return a single family for each
5578 generic family.
5579 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
5580 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
5581 Call font_add_log.
5582 (ftfont_match): Call font_add_log.
5583
5584 * font.h (Ffont_xlfd_name): EXFUN adjusted.
5585 (FONT_DEBUG): Define it.
5586 (font_add_log): Extern it.
5587 (font_assert): Rename from xassert.
5588
5589 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
5590 (xfont_list_family): Call font_add_log.
5591 (xfont_match): Likewise.
5592 (memq_no_quit): Delete.
5593
5594 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
5595 call of Ffont_xlfd_name.
5596
5597 * xfaces.c (struct table_entry, slant_table, weight_table)
5598 (swidth_table): Move to font.c.
5599
5600 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
5601 xassert are changed to font_assert. Delete many unused variables.
5602 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
5603 New variables.
5604 (struct table_entry): Move from xfaces.c and modified.
5605 (weight_table, slant_table, width_table): Move from xfaces.c and
5606 contents adjusted for the change of struct table_entry.
5607 (font_style_to_value, font_style_symbolic): Adjust for the
5608 format change of font_style_table.
5609 (font_parse_family_registry): Don't overwrite existing foundry and
5610 family of font_spec.
5611 (font_score): Fix calculation of diff for sizes.
5612 (font_sort_entites): Call font_add_log.
5613 (font_delete_unmatched): Return a newly created list.
5614 (font_list_entities): Fix previous change. Call font_add_log.
5615 (font_matching_entity, font_open_entity, font_close_entity):
5616 Call font_add_log.
5617 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
5618 (Finternal_set_font_style_table): Delete.
5619 (BUILD_STYLE_TABLE): New macro.
5620 (build_style_table): New function.
5621 (Vfont_log, font_log_env_checked): New variables.
5622 (font_add_log): New function.
5623 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
5624 Declare Lisp variables "font-weight-table", "font-slant-table",
5625 "font-width-table", and "font-log". Initialize font_style_table.
5626
56272008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
5628
5629 * xterm.c (x_set_frame_alpha): Move declarations before statements.
5630
56312008-05-21 Seiji Zenitani <zenitani@mac.com>
5632 Ryo Yoshitake <ryo@shiftmode.net>
5633
5634 * frame.c (Qalpha): Add a new frame parameter `alpha'.
5635 (Vframe_alpha_lower_limit): New variable.
5636 (x_set_alpha): New function.
5637
5638 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
5639
5640 * xfns.c (x-create-frame, Qalpha):
5641 Initialize the frame parameter `alpha'.
5642 * xterm.c (OPAQUE, OPACITY): New.
5643 (x_set_frame_alpha): New function.
5644 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
5645
5646 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
5647 * w32fns.c (w32_frame_parm_handlers): Likewise.
5648
56492008-05-20 Jason Rumney <jasonr@gnu.org>
5650
5651 * w32font.c (add_font_entity_to_list): Don't add non-opentype
5652 truetype fonts to opentype list.
5653
56542008-05-20 Juanma Barranquero <lekktu@gmail.com>
5655
5656 * fontset.c (Ffontset_info): Doc fix.
5657 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
5658 <ignore-relative-composition>: Fix typos in docstrings.
5659
5660 * font.c (syms-of-font) <font-encoding-alist>:
5661 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
5662 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
5663 (Ffont_otf_alternates): Doc fixes.
5664
56652008-05-20 Kenichi Handa <handa@m17n.org>
5666
5667 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
5668 font.h through out the file.
5669 (FONT_DRIVERS): Rename from FONTOBJ.
5670 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
5671 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
5672
5673 * emacs.c (main): Call syms_of_font unconditionally.
5674
5675 * font.h (find_font_encoding): Extern it.
5676
5677 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
5678 fontset.c.
5679 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
5680 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
5681 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
5682 only when HAVE_WINDOW_SYSTEM is defined.
5683 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
5684 when HAVE_WINDOW_SYSTEM is defined.
5685
5686 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
5687 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
5688
5689 * xfaces.c: Include font.h unconditionally.
5690 (merge_face_ref, merge_face_vectors)
5691 (Finternal_set_lisp_face_attribute): Cancel the previous change.
5692
56932008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
5694
5695 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
5696 indirect_variable.
5697 * eval.c (lisp_indirect_variable): New fun.
5698 (Fuser_variable_p): Use it.
5699
57002008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
5701
5702 * lisp.h (indirect_variable):
5703 * data.c (indirect_variable, let_shadows_buffer_binding_p):
5704 Use Lisp_Symbol pointers rather than Lisp_Object.
5705 Adjust callers.
5706 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
5707 To this end, change calling-convention.
5708
5709 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
5710 if some non-hidden buffers are selected by string&pred.
5711
57122008-05-19 Chong Yidong <cyd@stupidchicken.com>
5713
5714 * process.c (wait_reading_process_output): Always check status
5715 when in batch mode.
5716
57172008-05-19 Kenichi Handa <handa@m17n.org>
5718
5719 * font.c (font_list_entities): Fix handling of cache.
5720 (font_matching_entity): Likewise.
5721
5722 * ftfont.c (cs_iso8859_1): Delete.
5723 (ft_face_cache): New variable.
5724 (struct ftfont_info): New member fc_charset_idx.
5725 (ftfont_build_basic_charsets): Delete.
5726 (fc_charset_table): New variable.
5727 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
5728 . FC_CHARSET_IDX) as :font-entity property in the font entity.
5729 Callers changed.
5730 (ftfont_lookup_cache, ftfont_get_charset): New functions.
5731 (ftfont_spec_pattern): New argument fc_charset_idx.
5732 Check registry more rigidly. Change callers.
5733 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
5734 change of :font-entity property of the font.
5735
5736 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
5737 property of the font.
5738
57392008-05-18 Juanma Barranquero <lekktu@gmail.com>
5740
5741 * coding.c (Fcoding_system_p): Rename argument to match docstring.
5742 (Funencodable_char_position, Fcheck_coding_systems_region)
5743 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
5744 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
5745 (Ffind_operation_coding_system, Fset_coding_system_priority)
5746 (Fcoding_system_eol_type): Doc fixes.
5747
57482008-05-17 Glenn Morris <rgm@gnu.org>
5749
5750 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
5751
57522008-05-16 Eli Zaretskii <eliz@gnu.org>
5753
5754 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
5755 and st_gid.
5756
5757 * frame.c (Fdelete_frame): Don't call font_update_drivers if
5758 HAVE_WINDOW_SYSTEM is not defined.
5759
5760 * xfaces.c (merge_face_ref, merge_face_vectors)
5761 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
5762 HAVE_WINDOW_SYSTEM is defined.
5763 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
5764
57652008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
5766
5767 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
5768
57692008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5770
5771 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
5772
57732008-05-15 Kenichi Handa <handa@m17n.org>
5774
5775 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
5776 preference.
5777
57782008-05-15 Glenn Morris <rgm@gnu.org>
5779
5780 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
5781
57822008-05-15 Chong Yidong <cyd@stupidchicken.com>
5783
5784 * fns.c (init_fns): Don't initialize weak_hash_tables here.
5785 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
5786
5787 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
5788
57892008-05-15 Kenichi Handa <handa@m17n.org>
5790
5791 * ftfont.c (ftfont_list): Downcase family name to check generic
5792 families.
5793
5794 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
5795 font-spec for QCfont value.
5796
5797 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
5798 buffer. Check the return value of it.
5799
58002008-05-14 Jason Rumney <jasonr@gnu.org>
5801
5802 * w32term.c (w32_get_glyph_overhangs): Remove.
5803 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
5804
58052008-05-14 Kenichi Handa <handa@m17n.org>
5806
5807 * font.c (font_prop_validate): Make nil a valid value.
5808 (font_clear_cache): Check if the cached vector of entities is nil
5809 or not.
5810
58112008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5812
5813 * emacs.c (main_thread): Conditionalize on
5814 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
5815 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
5816
5817 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
5818 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
5819 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
5820
58212008-05-14 Kenichi Handa <handa@m17n.org>
5822
5823 * coding.c (detect_coding_iso_2022): Ignore a coding category that
5824 has no corresponding coding system.
5825
58262008-05-14 Jason Rumney <jasonr@gnu.org>
5827
5828 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
5829
5830 * w32font.h (w32font_open_internal): Update declaration.
5831
5832 * w32font.c (w32font_open_internal): Change last argument from
5833 w32font_info struct to font object. Fill in font object from
5834 font_entity. Get Outline metrics if possible. Use them to
5835 calculate underline position and thickness. Use xlfd name as name
5836 property. Don't set codepage.
5837 (w32font_open): Pass font_object to w32font_open_internal. Don't
5838 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
5839 (w32font_draw): Use s->font.
5840 (clear_cached_metrics): Don't clear non-existent blocks.
5841
5842 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
5843 font was not found.
5844 (x_draw_glyph_string): Use underline position and thickness from font.
5845
5846 * w32uniscribe.c (uniscribe_open): Pass font_object to
5847 w32font_open_internal.
5848
58492008-05-14 Kenichi Handa <handa@m17n.org>
5850
5851 These changes are to delete all legacy font-handling codes, and
5852 make Emacs use only font-backends.
5853
5854 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
5855 (frame.o, image.o, print.o): Depend on $(FONTSRC).
5856
5857 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
5858
5859 * charset.h (Vcharset_non_preferred_head)
5860 (Vcurrent_iso639_language): Extern them.
5861
5862 * charset.c (Vcharset_non_preferred_head): New variable.
5863 (Vcurrent_iso639_language): New variable.
5864 (syms_of_charset): Declare it as a Lisp variable.
5865 (char_charset): Don't check non preferred charsets. As a last
5866 resort, return charset_unicode.
5867 (Fset_charset_priority): Update Vcharset_non_preferred_head.
5868
5869 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
5870 conditionals. Don't check enable_font_backend. Delete all codes
5871 used only when USE_FONT_BACKEND is not defined.
5872
5873 * dispextern.h (struct glyph_string): Change type of `font' to
5874 `struct font *'.
5875 (struct glyph_string): New member underline_position and
5876 underline_thickness.
5877 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
5878 (struct face): Change type of `font' to `struct font *'. Remove
5879 members `font_name', `font_info_id'.
5880 (per_char_metric, encode_char): Delete externs.
5881 (calc_pixel_width_or_height): Adjust the prototype.
5882
5883 * emacs.c (enable_font_backend): Delete extern.
5884 (main): Don't set enable_font_backend. Don't check the command
5885 line argument "-disable-font-backend".
5886
5887 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
5888 (enum font_property_index): New members FONT_DPI_INDEX,
5889 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
5890 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
5891 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
5892 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
5893 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
5894 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
5895 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
5896 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
5897 (struct font_spec, struct font_entity): New structs.
5898 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
5899 (struct font): Many members from old "struct font_info" moved to
5900 here. Members font and entity deleted.
5901 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
5902 the new font-related objects.
5903 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
5904 (CHECK_FONT_GET_OBJECT): Likewise.
5905 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
5906 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
5907 (struct font_driver): New members case_sensitive anc check. Type
5908 of the member list and open changed.
5909 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
5910 (font_symbolic_width, font_find_object, font_get_spec)
5911 (font_set_lface_from_name): Delete extern.
5912 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
5913
5914 * font.c: Include <strings.h>.
5915 (enable_font_backend): Delete it.
5916 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
5917 (CHECK_VALIDATE_FONT_SPEC): Delete it.
5918 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
5919 (null_string): Delete it.
5920 (null_vector): Make it static.
5921 (font_family_alist): Delete it.
5922 (Qnormal): Extern it.
5923 (QCextra, QClanguage): Delete it.
5924 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
5925 (font_make_spec, font_make_entity, font_make_object)
5926 (font_intern_prop): Renamed from intern_downcase. Don't downcase
5927 the string. Callers changed.
5928 (font_pixel_size): Adjusted for the format change of font-related
5929 objects.
5930 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
5931 (font_style_to_value, font_style_symbolic): New function.
5932 (build_font_family_alist): Delete it.
5933 (font_registry_charsets): Use Fassoc_string instead of
5934 assq_no_quit.
5935 (font_prop_validate_symbol): Don't return null_string.
5936 (font_prop_validate_style): Adjusted for the change of
5937 style-related values in a font vector.
5938 (font_property_table): Delete entries for QClanguage and
5939 QCantialias, add entries for QCavgwidth.
5940 (get_font_prop_index): Delete the 2nd argument FROM.
5941 (font_prop_validate): Arguments changed.
5942 (font_put_extra): Adjusted for the change of font-related objects.
5943 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
5944 (font_parse_fcname, font_unparse_fcname)
5945 (font_prepare_composition): Likewise.
5946 (font_parse_family_registry): Renamed from font_merge_old_spec.
5947 (otf_open): Delete the 1st arg entity.
5948 (font_otf_capability): Adjusted for the above change.
5949 (font_score): New arg alternate_families. Adjusted for the change
5950 of font-related objects.
5951 (font_sort_entites): New arg best_only.
5952 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
5953 Delete them.
5954 (font_match_p): Check alternate families.
5955 (font_find_object): Delete it.
5956 (font_check_object): New function.
5957 (font_clear_cache): Adjusted for the change of font-related objects.
5958 (font_delete_unmatched): New arg.
5959 (font_list_entities): Call font_driver->list with a spec that
5960 doesn't specify style-related properties.
5961 (font_matching_entity): Arguments changed. Caller changed.
5962 (font_open_entity): Adjusted for the change of font-related objects.
5963 (font_close_object, font_has_char, font_encode_char)
5964 (font_get_name, font_get_spec): Likewise.
5965 (font_spec_from_name, font_clear_prop, font_update_lface):
5966 New functions.
5967 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
5968 (font_prepare_for_face, font_done_for_face, font_open_by_name)
5969 (font_at): Adjusted for the change of font-related objects.
5970 (font_range): New function.
5971 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
5972 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
5973 (Fcopy_font_spec, Fmerge_font_spec): New function.
5974 (Ffont_family_list): Renamed from list-families.
5975 (Finternal_set_font_style_table): Arguments changed.
5976 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
5977 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
5978 change of font-related objects.
5979 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
5980
5981 * fontset.h (struct font_info): Delete it. Most members go to
5982 struct font.
5983 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
5984 (enum FONT_SPEC_INDEX): Delete it.
5985 (font_info, list_fonts_func, load_font_func, query_font_func)
5986 (set_frame_fontset_func, find_ccl_program_func)
5987 (get_font_repertory_func, new_fontset_from_font_name): Delete
5988 externs.
5989 (fontset_from_font_name): Extern it.
5990 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
5991 (FONT_INFO_FROM_FACE): Deleted.
5992 (face_for_font): Adjust prototype.
5993
5994 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
5995 conditionals. Don't check enable_font_backend. Delete all codes
5996 used only when USE_FONT_BACKEND is not defined.
5997 (get_font_info_func, list_font_func, load_font_func)
5998 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
5999 (get_font_repertory_func): Delete them.
6000 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
6001 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
6002 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
6003 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
6004 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
6005 (fontset_compare_rfontdef): New function.
6006 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
6007 rfont-defs by qsort. Adjusted for the change of font-group vector.
6008 (load_font_get_repertory): Deleted.
6009 (fontset_find_font): Use new macros to ref/set elements of
6010 font-def and rfont-def.
6011 (fontset_font): Fix the timing of remembering that no font for C.
6012 (free_face_fontset): Do nothing if the face has no fontset.
6013 (face_suitable_for_char_p): Use new macros to ref/set elements of
6014 rfont-def.
6015 (face_for_char): Likewise. Call face_for_char with font_object.
6016 (fs_load_font): Delete. Delete #pragma surrounding it.
6017 (fs_query_fontset): Use strcasecmp instead of strcmp.
6018 (generate_ascii_font_name): Adjusted for the format change of
6019 font-spec.
6020 (Fset_fontset_font): Likewise. Use new macros to set elements of
6021 font-def.
6022 (Fnew_fontset): Use font_unparse_xlfd to generate
6023 FONTSET_ASCII (fontset).
6024 (new_fontset_from_font_name): Deleted.
6025 (fontset_from_font): Renamed from new_fontset_from_font. Check if
6026 a fontset is already created for the font. FIx updating of
6027 Vfontset_alias_alist.
6028 (fontset_ascii_font): Deleted.
6029 (Ffont_info): Adjusted for the format change of font-spec.
6030 (Finternal_char_font): Likewise.
6031 (Ffontset_info): Likewise.
6032 (syms_of_fontset): Don't check load_font_func.
6033
6034 * fns.c (internal_equal): Handle PREV_FONT.
6035
6036 * frame.h: Delete USE_FONT_BACKEND conditional.
6037
6038 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
6039 conditionals. Don't check enable_font_backend. Delete all codes
6040 used only when USE_FONT_BACKEND is not defined.
6041 (x_set_font): Call x_new_font, not x_new_fontset2.
6042 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
6043 already set for the frame.
6044
6045 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
6046 a font-entity by font_make_entity. Use font_intern_prop instead
6047 of intern_downcase. Use FONT_SET_STYLE to set a style-related
6048 font property. If a font is scalable, set avgwidth property to 0.
6049 Set font-entity property by font_put_extra.
6050 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
6051 (ffont_driver): Adjusted for the change of struct font_driver.
6052 (ftfont_spec_pattern): New function.
6053 (ftfont_list): Return a list, not vector.
6054 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
6055 (ftfont_list_family): Don't downcase names.
6056 (ftfont_free_entity): Deleted.
6057 (ftfont_open): Return a font-object. Adjusted for the change of
6058 struct font. Get underline_thickness and underline_position from
6059 font property. Don't update dpyinfo->smallest_font_height and
6060 dpyinfo->smallest_char_width.
6061 (ftfont_close): Don't free `struct font'.
6062 (ftfont_has_char): Adjusted for the format change of font-entity.
6063 (ftfont_encode_char, ftfont_text_extents): Likewise.
6064
6065 * ftxfont.c (ftxfont_list): Return a list, not vector.
6066 (ftxfont_open): Return a font-object. Adjusted for the change of
6067 struct font. Get underline_thickness and underline_position from
6068 font property. Don't update dpyinfo->smallest_font_height and
6069 dpyinfo->smallest_char_width.
6070 (ftxfont_close): Don't decrease FRAME_X_DISPLAY_INFO (f)->n_fonts.
6071 (ftxfont_draw): Adjusted for the change of struct font.
6072
6073 * image.c (image_ascent): Don't include "charset.h". Include
6074 "character.h" and "font.h".
6075
6076 * lisp.h (enum pvec_type): New member PREV_FONT.
6077 (Fassoc_string): EXFUN it.
6078
6079 * print.c: Include font.h.
6080 (print_object): Handle font-related objects.
6081
6082 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
6083 conditionals. Don't check enable_font_backend. Delete all codes
6084 used only when USE_FONT_BACKEND is not defined.
6085 (handle_auto_composed_prop): Do nothing if it->f is not on a
6086 window system. Check how many following characters can be
6087 displayed by the same font.
6088 (calc_pixel_width_or_height): Type of the 4th arg is changed to
6089 'struct font *'.
6090 (get_char_face_and_encoding): Assign the whole encoding task to
6091 the `encode-char' method of a font driver.
6092 (fill_composite_glyph_string): Adjusted for the change of `struct
6093 face' and `struct glyph_string'.
6094 (fill_glyph_string): Likewise.
6095 (get_per_char_metric): Arguments changed.
6096 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
6097 and `struct glyph_string'.
6098 (produce_stretch_glyph, calc_line_height_property)
6099 (x_produce_glyphs): Likewise.
6100
6101 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
6102 conditionals. Don't check enable_font_backend. Delete all codes
6103 used only when USE_FONT_BACKEND is not defined. Use
6104 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
6105 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
6106 (Qp): Extern them.
6107 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
6108 Deleted.
6109 (struct font_name): Deleted.
6110 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
6111 (compare_fonts_by_sort_order): New function.
6112 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
6113 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
6114 Deleted.
6115 (Fx_family_fonts): Use font_list_entities, and sort fonts by
6116 compare_fonts_by_sort_order.
6117 (Fx_font_family_list): Call Ffont_family_list.
6118 (face_numeric_value, face_numeric_weight, face_numeric_slant)
6119 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
6120 (face_symbolic_slant, face_symbolic_swidth)
6121 (split_font_name_into_vector, build_font_name_from_vector)
6122 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
6123 (font_rescale_ratio, split_font_name, build_font_name)
6124 (free_font_names, sort_fonts, x_face_list_fonts)
6125 (face_font_available_p, sorted_font_list, cmp_font_names)
6126 (font_list_1, concat_font_list, font_list, remove_duplicates):
6127 Deleted.
6128 (Fx_list_fonts): Use Ffont_list.
6129 (LFACE_AVGWIDTH): Deleted.
6130 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
6131 by FONTP.
6132 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
6133 (set_lface_from_font_name): Delete it.
6134 (set_lface_from_font): Renamed from
6135 set_lface_from_font_and_fontset. Caller changed. Don't set
6136 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
6137 for face.
6138 (merge_face_vectors): Copy font-spec if necessary.
6139 Clear properties of the font-spec if necessary.
6140 (merge_face_ref): Clear properties of the font-spec if necessary.
6141 (Finternal_set_lisp_face_attribute): Likewise.
6142 (set_font_frame_param): Use font_load_for_lface to load a
6143 font-object, and call Fmodify_frame_parameters with it.
6144 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
6145 font name by Ffont_xlfd_name.
6146 (Finternal_lisp_face_attribute_values): Don't check QCweight,
6147 QCslant, and QCwidth.
6148 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
6149 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
6150 Compare fonts by EQ.
6151 (lookup_non_ascii_face): Deleted.
6152 (face_for_font): The 2nd argument changed.
6153 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
6154 Check atomic font properties by case insensitive.
6155 (realize_non_ascii_face): Set face->overstrike correctly.
6156 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
6157 (dump_realized_face): Get font name from
6158 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
6159
6160 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
6161 conditionals. Don't check enable_font_backend. Delete all codes
6162 used only when USE_FONT_BACKEND is not defined.
6163 (xic_create_xfontset): Original code deleted and renamed from
6164 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
6165 (x_make_gc): Don't set GCFont in GCs.
6166 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
6167 opened by "fixed".
6168 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
6169 find_ccl_program_func, query_font_func, set_frame_fontset_func,
6170 get_font_repertory_func.
6171
6172 * xfont.c: Include <stdlib.h> and "ccl.h".
6173 (struct xfont_info): New structure.
6174 (xfont_query_font): Deleted.
6175 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
6176 moved from xterm.c.
6177 (xfont_driver): Adjusted for the change of struct font_driver.
6178 (compare_font_names): New function.
6179 (xfont_list_pattern): Sort font names case insensitively. Make
6180 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
6181 (xfont_list): Return a list, not vector.
6182 (xfont_match): If the font doesn't have QCname property, generate
6183 a name from the other font properties.
6184 (xfont_open): Return a font-object. Adjusted for the change of
6185 struct font. Get underline_thickness and underline_position from
6186 font property. Don't update dpyinfo->smallest_font_height and
6187 dpyinfo->smallest_char_width.
6188 (xfont_close): Don't free struct font.
6189 (xfont_prepare_face): Adjusted for the change of struct font.
6190 (xfont_done_face): Deleted.
6191 (xfont_has_char): Adjusted for the change of struct font.
6192 (xfont_encode_char, xfont_draw): Likewise.
6193 (xfont_check): New function.
6194
6195 * xftfont.c (xftfont_list): Adjusted for the change of `list'
6196 callback function.
6197 (xftfont_match): Adjusted for the format change of font-entity.
6198 (xftfont_open): Adjusted for the format change of font-entity and
6199 font-object. Adjusted for the change of struct font. Return a
6200 font-object. Don't update dpyinfo->smallest_font_height and
6201 dpyinfo->smallest_char_width.
6202 (xftfont_close): Block input while calling XftFontClose.
6203 (xftfont_prepare_face): Don't block input while calling
6204 xftfont_get_colors. Adjusted for the change of struct font.
6205 (xftfont_shape): Return value of error case fixed.
6206
6207 * xrdb.c (x_load_resources): Don't setup a fontset resource.
6208
6209 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
6210 conditionals.
6211 (FONT_WIDTH): Return (f)->max_width.
6212 (struct x_display_info): Delete member `font'.
6213 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
6214 (x_find_ccl_program, x_get_font_repertory): Delete externs.
6215 (struct x_output): Change type of `font' to `struct font *'.
6216
6217 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
6218 conditionals. Don't check enable_font_backend. Delete all codes
6219 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
6220 (x_per_char_metric, x_encode_char): Deleted.
6221 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
6222 (x_compute_glyph_string_overhangs): Adjusted for the change of
6223 `struct face'.
6224 (x_draw_glyph_string_foreground)
6225 (x_draw_composite_glyph_string_foreground): Likewise.
6226 (x_draw_glyph_string): Likewise. Use font->underline_position and
6227 font->underline_thickness.
6228 (x_new_font): Renamed from x_new_fontset2.
6229 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
6230 (x_check_font): Call `check' method of a font driver.
6231 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
6232 (x_query_font, x_get_font_repertory): Deleted.
6233 (x_find_ccl_program): Renamed and moved to xfont.c.
6234 (x_redisplay_interface): Adjusted for the change of `struct
6235 redisplay_interface'.
6236
6237 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
6238 conditionals. Don't check enable_font_backend. Delete all codes
6239 used only when USE_FONT_BACKEND is not defined. Surround non-used
6240 code by "#ifdef OLD_FONT" and "endif".
6241 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
6242
6243 * w32font.h (struct w32font_info): New member.
6244 (FONT_COMPAT): New macro.
6245 (w32font_open_internal): Prototype adjusted.
6246
6247 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
6248 OLD_FONT" and "endif".
6249
6250 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
6251 conditionals. Don't check enable_font_backend. Delete all codes
6252 used only when USE_FONT_BACKEND is not defined.
6253 (w32font_open): Return a font-object. Make a font-object by
6254 font_make_object. Adjusted for the change of struct w32font_info.
6255 (w32font_close): Don't free struct font. Adjusted for the change
6256 of struct w32font_info.
6257 (w32font_encode_char, w32font_text_extents, w32font_draw):
6258 Adjusted for the change of struct w32font_info.
6259 (w32font_draw): Likewise.
6260 (w32font_list_internal): Return a list, not vector.
6261 (w32font_open_internal): Change the 4th arg to font-object.
6262 Adjusted for the change of struct w32font_info and font-object format.
6263 (add_font_name_to_list): Don't downcase names.
6264 (w32_enumfont_pattern_entity): Make a font-entity by
6265 font_make_entity. Adjusted for the format change of font-entity.
6266 Use FONT_SET_STYLE to set a style-related font property. If a
6267 font is scalable, set avgwidth property to 0. Set font-entity
6268 property by font_put_extra.
6269 (font_matches_spec): Adjusted for the format change of font-entity.
6270 (w32_weight_table, w32_decode_weight): New variables.
6271 (w32_encode_weight): New function.
6272 (fill_in_logfont): Adjusted for the format change of font-spec.
6273 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
6274 weight value.
6275 (w32font_driver): Adjusted for the change of struct font_driver.
6276
6277 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
6278 conditionals. Don't check enable_font_backend. Surround non-used
6279 code by "#ifdef OLD_FONT" and "endif".
6280 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
6281 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
6282
6283 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
6284 conditionals. Don't check enable_font_backend. Delete all codes
6285 used only when USE_FONT_BACKEND is not defined. Surround non-used
6286 code by "#ifdef OLD_FONT" and "endif".
6287
6288 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
6289 (uniscribe_open): Return value changed to font-object.
6290 Adjusted for the format change of font-object.
6291 (uniscribe_otf_capability): Adjusted for the change of struct font.
6292 (add_opentype_font_name_to_list): Don't downcase names.
6293 (uniscribe_font_driver): Adjusted for the change of struct
6294 font_driver.
6295
62962008-05-13 Chong Yidong <cyd@stupidchicken.com>
6297
6298 * dispnew.c (update_frame_1): Check if tty output is still valid
6299 before flushing it.
6300
63012008-05-13 Jan Djärv <jan.h.d@swipnet.se>
6302
6303 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
6304 to Gtk+ menus.
6305
63062008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
6307
6308 * dired.c (file_name_completion): Tweak the code so as to always do it
6309 in a single pass. Tighten the scope of some variables.
6310
6311 * dired.c (Qdefault_directory): New var.
6312 (file_name_completion): Use it instead of Fexpand_file_name.
6313 (syms_of_dired): Initialize it.
6314
63152008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
6316
6317 * fileio.c (double_dollars): Remove dead code.
6318
63192008-05-10 Eli Zaretskii <eliz@gnu.org>
6320
6321 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
6322 Mention w32-get-true-file-attributes in doc string.
6323
6324 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
6325
63262008-05-09 Glenn Morris <rgm@gnu.org>
6327
6328 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
6329 2008-04-23.
6330
63312008-05-09 Eli Zaretskii <eliz@gnu.org>
6332
6333 Support for reporting owner and group of each file on MS-Windows:
6334 * dired.c (stat_uname, stat_gname): New functions, with special
6335 implementation for w32.
6336 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
6337
6338 * w32.c: Rename the_passwd_* to dflt_passwd_*.
6339 (dflt_group_name): New static variable.
6340 (dflt_group): Rename from the_group.
6341 (init_user_info): Init dflt_group fields. Get user's group name
6342 from LookupAccountSid.
6343 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
6344 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
6345 New initialization states.
6346 (globals_of_w32): Initialize them to zero. Initialize the default
6347 group name to "None".
6348 (GetFileSecurity_Name): New global var, the name of the function
6349 to call for GetFileSecurity.
6350 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
6351 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
6352 (get_file_security, get_security_descriptor_owner)
6353 (get_security_descriptor_group, is_valid_sid)
6354 (get_file_security_desc, get_rid, get_name_and_id)
6355 (get_file_owner_and_group): New functions.
6356 (stat): Use get_file_security_desc and get_file_owner_and_group to
6357 report the owner and primary group of each file. Don't ignore the
6358 high 32 bits of file's size, now that st_size is 64-bit wide.
6359 Fix test when to get true file attributes.
6360 (init_user_info): Use get_rid instead of equivalent inline code.
6361 (fstat): Don't ignore the high 32 bits of file's size.
6362
63632008-05-09 Chong Yidong <cyd@stupidchicken.com>
6364
6365 * image.c (png_load): Use correct bit-depth for setting background
6366 color.
6367
63682008-05-08 Eli Zaretskii <eliz@gnu.org>
6369
6370 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
6371 epa-hook.elc.
6372
63732008-05-08 Juanma Barranquero <lekktu@gmail.com>
6374
6375 * font.c (Ffont_match_p): Don't use `iff' in docstring.
6376
63772008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
6378
6379 * macfns.c (Fx_create_frame): Make a copy of frame parameters
6380 because the original parameters are in pure storage now.
6381 (mac_window): Remove unused params. Update callers.
6382
63832008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
6384
6385 * lread.c (substitute_object_recurse): Use lower-level primitives.
6386 Don't signal errors when traversing sub-char-tables.
6387 Don't loop over all the possible characters when traversing char-tables.
6388
6389 * print.c (print_preprocess): Add sub-char-tables to the print-table,
6390 just like we do in print.c.
6391
63922008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
6393
6394 * minibuf.c (Ftry_completion): Remove code left over from when we used
6395 scmp instead of Fcompare_strings.
6396
63972008-05-04 Juanma Barranquero <lekktu@gmail.com>
6398
6399 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
6400
64012008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6402
6403 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
6404 Create bitmap context in native byte order.
6405
6406 * macterm.c (XDrawLine)
6407 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
6408 context in native byte order.
6409
64102008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6411
6412 * config.in: Regenerate.
6413
6414 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
6415 New definitions for Image I/O support.
6416 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
6417 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
6418 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
6419 (mac_data_provider_release_data, image_load_image_io)
6420 [USE_MAC_IMAGE_IO]: New functions.
6421 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
6422 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
6423 (init_image_func_pointer) [MAC_OSX]: Remove function.
6424 (image_load_quartz2d) [MAC_OSX]: Check availability of
6425 CGImageCreateWithPNGDataProvider at compile time.
6426 Use lowercase `false' for boolean constant.
6427 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
6428 Use image_load_image_io.
6429 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
6430 Don't check MyCGImageCreateWithPNGDataProvider.
6431 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
6432 Don't call init_image_func_pointer.
6433
6434 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
6435
6436 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
6437 Make variable non-static.
6438 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
6439 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
6440
6441 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
6442 (RED_FROM_ULONG): Mask off higher bits.
6443 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
6444
6445 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
6446 Include AvailabilityMacros.h.
6447 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
6448 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
6449
64502008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
6451
6452 * chartab.c (Fset_char_table_range): If range is t, really set all
6453 chars to that value.
6454
64552008-05-03 Eli Zaretskii <eliz@gnu.org>
6456
6457 * dired.c (Ffile_attributes): Don't allow the device number become
6458 negative.
6459
64602008-05-02 Daiki Ueno <ueno@unixuser.org>
6461
6462 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
6463
64642008-05-02 Juri Linkov <juri@jurta.org>
6465
6466 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
6467 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
6468 DEFAULT argument as a list of default values in docstrings.
6469
64702008-05-01 Chong Yidong <cyd@stupidchicken.com>
6471
6472 * puresize.h (BASE_PURESIZE): Increase to 1210000.
6473
64742008-05-01 Martin Rudalics <rudalics@gmx.at>
6475
6476 * dispnew.c (change_frame_size_1): Preserve small windows when
6477 shrinking frames by calling set_window_height|width with third
6478 arg 2.
6479
6480 * window.h (struct window): Replace field too_small_ok by field
6481 resize_proportionally.
6482
6483 * window.c (make_window): Initialize resize_proportionally.
6484 (enlarge_window): Temporarily set resize_proportionally to make
6485 sure that shrink_windows does scale the window proportionally.
6486 (shrink_windows): When window has resize_proportionally set try
6487 to shrink it proportionally by stealing from other windows.
6488 (struct saved_window, Fset_window_configuration)
6489 (compare_window_configurations): Handle resize_proportionally.
6490 (WINDOW_TOTAL_SIZE): New macro.
6491 (window_min_size, shrink_windows, size_window): Use it.
6492 (check_min_window_sizes): Remove. Invalid values of
6493 window-min-height|width are handled by window_min_size_2 now.
6494 (size_window, Fsplit_window, enlarge_window)
6495 (adjust_window_trailing_edge, grow_mini_window): Don't call
6496 check_min_window_sizes.
6497 (window_min_size_2, window_min_size_1, window_min_size):
6498 New argument safe_p for retrieving "safe" minimum sizes.
6499 (Fdisplay_buffer, Fsplit_window, enlarge_window)
6500 (adjust_window_trailing_edge, grow_mini_window):
6501 Adjust arguments of window_min_size... functions.
6502 (shrink_windows): Argument min_size removed. New argument
6503 safe_p allows shrinking windows to their safe minimum sizes.
6504 Calculate minimum size and decide whether a window shall be
6505 deleted for each window individually.
6506 (size_window): When nodelete_p equals 2, tell shrink_windows to
6507 delete windows only if their new minimum size is no more safe.
6508 (shrink_window_lowest_first): Call window_min_size_1 to make
6509 sure to preserve modeline of bottom-most window when resizing
6510 the minibuffer.
6511 (Fset_window_configuration, Fcurrent_window_configuration)
6512 (compare_window_configurations): Do not handle
6513 window-min-height|width any more.
6514 (syms_of_window): Clarify window-min-height|width doc-strings.
6515
65162008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
6517
6518 * dired.c (file_name_completion): Fix up the encoding/decoding issue
6519 some more. Copy some of the code from Ftry_completions.
6520 Remove special case code that dates back to initial revision when the
6521 slash was only added when necessary and that can't trigger nowadays.
6522
65232008-04-27 Kenichi Handa <handa@m17n.org>
6524
6525 * font.c (font_prop_validate): Signal `error' instead of `font'.
6526
65272008-04-29 Jason Rumney <jasonr@gnu.org>
6528
6529 * w32fns.c (Fw32_battery_status): New defun.
6530 (syms_of_w32fns): Defsubr it.
6531
65322008-04-28 Andreas Schwab <schwab@suse.de>
6533
6534 * dired.c (file_name_completion): Fix another mixing of encoded
6535 and decoded names.
6536
65372008-04-28 Juanma Barranquero <lekktu@gmail.com>
6538
6539 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
6540
65412008-04-27 Juanma Barranquero <lekktu@gmail.com>
6542
6543 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
6544
65452008-04-27 Andreas Schwab <schwab@suse.de>
6546
6547 * dired.c (file_name_completion): Fix inappropriate mixing of
6548 encoded and decoded names.
6549
6550 * xterm.c (XTread_socket): Fix use of uninitialized variable.
6551
6552 * puresize.h (BASE_PURESIZE): Increase to 1200000.
6553
65542008-04-26 Eli Zaretskii <eliz@gnu.org>
6555
6556 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
6557 2008-03-31, it's not needed anymore with `struct stat' definition
6558 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
6559 for the same reasons.
6560
65612008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
6562
6563 * m/sparc.h: Additional redefinitions for GNU/Linux.
6564
65652008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6566
6567 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
6568 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
6569 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
6570 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
6571 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
6572 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
6573 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
6574 Likewise.
6575
6576 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
6577 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
6578 (mac_ax_number_of_characters): Add externs.
6579 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
6580 [USE_MAC_TSM]: Likewise.
6581 (mac_handle_text_input_event) [MAC_OSX]:
6582 Handle kEventTextInputOffsetToPos for no active input area case.
6583 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
6584 (mac_handle_document_access_event)
6585 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
6586 (install_application_handler) [MAC_OSX]: Register handlers for
6587 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
6588 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
6589 Register mac_handle_document_access_event.
6590
6591 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
6592 Make functions non-static.
6593
65942008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
6595
6596 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
6597 (read_file_name_completion_ignore_case, insert_default_directory)
6598 (Qdefault_directory): Move to minibuffer.el.
6599 (Fread_file_name): Call the new `read-file-name' instead.
6600
66012008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6602
6603 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
6604 Make function non-static.
6605 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
6606 Remove function.
6607 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
6608 Move to mactoolbox.c.
6609 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
6610
6611 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
6612 (mac_rect_make): New macro.
6613
6614 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
6615 instead of float.
6616 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
6617 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
6618 (XSetBackground) [USE_CG_DRAWING]: Likewise.
6619 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
6620 CGRectMake.
6621 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
6622 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
6623 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
6624 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
6625 instead of WindowRef in argument type.
6626 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
6627 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
6628 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
6629 instead of DISPLAY. All uses changed.
6630 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
6631 (x_calc_absolute_position): Simplify so as not to use
6632 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
6633
6634 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
6635 instead of WindowRef in argument type.
6636 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
6637 [TARGET_API_MAC_CARBON]: Remove externs.
6638 (create_apple_event, mac_event_parameters_to_lisp)
6639 [TARGET_API_MAC_CARBON]: Add externs.
6640
6641 * mactoolbox.c (Vmac_ts_script_language_on_focus)
6642 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
6643 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
6644 is clicked.
6645 (x_activate_menubar): Remove extern for saved_menu_event_location.
6646 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
6647 Move from mac.c.
6648
66492008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6650
6651 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
6652 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
6653
66542008-04-23 Jason Rumney <jasonr@gnu.org>
6655
6656 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
6657 attributes only for local files.
6658
6659 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
6660 default to Qlocal.
6661
66622008-04-22 Juri Linkov <juri@jurta.org>
6663
6664 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
6665 read-buffer-to-switch instead of using the letter "B".
6666
66672008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
6668
6669 * fileio.c (Qdefault_directory): New variable.
6670 (Fread_file_name): Use it to pass `dir' to the completion functions.
6671
66722008-04-20 Chong Yidong <cyd@stupidchicken.com>
6673
6674 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
6675
66762008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
6677
6678 * keyboard.c (Vpre_help_message): Remove.
6679 (show_help_echo): Remove default C code.
6680
6681 * dired.c (directory_files_internal, file_name_completion):
6682 Only call ENCODE_FILE if the string is indeed decoded.
6683
66842008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
6685
6686 * Makefile.in (TOOLKIT_DEFINES): Remove.
6687 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
6688
66892008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6690
6691 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
6692 (mactoolbox.o): New target.
6693
6694 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
6695 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
6696
6697 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
6698 Use mac_set_frame_window_background instead of XSetWindowBackground.
6699 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
6700 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
6701 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
6702 instead of SetWindowTitleWithCFString.
6703 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
6704 Move function to mactoolbox.c.
6705 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
6706 Use mac_set_window_modified instead of SetWindowModified.
6707 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
6708 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
6709 (Fx_focus_frame): Use mac_front_non_floating_window instead of
6710 FrontNonFloatingWindow. Use mac_activate_window instead of
6711 ActivateWindow. Use mac_active_non_floating_window instead of
6712 ActiveNonFloatingWindow.
6713 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
6714 Use mac_show_hourglass and mac_hide_hourglass.
6715 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
6716 instead of GetGlobalMouse.
6717 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
6718 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
6719 Use mac_bring_window_to_front instead of BringToFront.
6720 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
6721 mactoolbox.c.
6722 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
6723 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
6724 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
6725 mactoolbox.c.
6726
6727 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
6728 (XtPointer): Move typedef from macmenu.c.
6729 (enum button_type): Move enum from macmenu.c.
6730 (widget_value): Move typedef from macmenu.c.
6731 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
6732 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
6733 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
6734 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
6735 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
6736 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
6737 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
6738 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
6739 (Selection): Move typedef from macselect.c.
6740 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
6741 macterm.c.
6742 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
6743 (mac_is_window_collapsed, mac_bring_window_to_front)
6744 (mac_send_window_behind, mac_hide_window, mac_show_window)
6745 (mac_collapse_window, mac_front_non_floating_window)
6746 (mac_active_non_floating_window, mac_activate_window)
6747 (mac_move_window_structure, mac_move_window, mac_size_window)
6748 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
6749
6750 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
6751 (enum mac_menu_kind): Move enum to mactoolbox.c.
6752 (min_menu_id): Move variable to mactoolbox.c.
6753 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
6754 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
6755 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
6756 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
6757 [TARGET_API_MAC_CARBON]: Likewise.
6758 (XtPointer): Move typedef to macgui.h.
6759 (enum button_type): Move enum to macgui.h.
6760 (widget_value): Move typedef to macgui.h.
6761 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
6762 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
6763 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
6764 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
6765 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
6766 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
6767 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
6768 (popup_activated_flag): Make variable non-static.
6769 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
6770 (add_menu_item, fill_menu, dispose_menus):
6771 Move functions to mactoolbox.c.
6772 (restore_show_help_function, menu_target_item_handler)
6773 (install_menu_target_item_handler, mac_handle_dialog_event)
6774 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
6775 [TARGET_API_MAC_CARBON]: Likewise.
6776 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
6777 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
6778 (find_and_call_menu_selection, name_is_separator): Make function
6779 non-static.
6780 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
6781 to mactoolbox.c.
6782 (set_frame_menubar): Don't call install_menu_quit_handler.
6783 (menu_item_selection): New variable.
6784 (mac_menu_show): Use create_and_show_popup_menu.
6785 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
6786 selection but set variable menu_item_selection. All uses changed.
6787 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
6788 Call install_menu_quit_handler. Move to mactoolbox.c.
6789
6790 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
6791 (Selection): Move typedef to macgui.h.
6792 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
6793 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
6794 Make variables non-static.
6795 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
6796 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
6797 Make functions non-static.
6798 (Vmac_service_selection) [MAC_OSX]: Likewise.
6799 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
6800 (mac_valid_selection_target_p, mac_clear_selection)
6801 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
6802 (mac_put_selection_value, mac_selection_has_target_p)
6803 (mac_get_selection_value, mac_get_selection_target_list)
6804 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
6805 Move functions to mactoolbox.c.
6806 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
6807 Likewise.
6808 (copy_scrap_flavor_data, mac_handle_service_event)
6809 (install_service_handler) [MAC_OSX]: Likewise.
6810 (syms_of_macselect) <Vmac_dnd_known_types>:
6811 Use mac_dnd_default_known_types.
6812
6813 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
6814 Move to mactoolbox.c.
6815 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
6816 (Fx_selection_owner_p): Add EXFUN.
6817 (install_window_handler, remove_window_handler, XSetWindowBackground):
6818 Remove externs.
6819 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
6820 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
6821 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
6822 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
6823 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
6824 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
6825 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
6826 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
6827 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
6828 (create_and_show_popup_menu, mac_get_selection_from_symbol)
6829 (mac_valid_selection_target_p, mac_clear_selection)
6830 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
6831 (mac_put_selection_value, mac_selection_has_target_p)
6832 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
6833 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
6834 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
6835 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
6836 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
6837 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
6838 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
6839 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
6840 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
6841
6842 * mactoolbox.c: New file.
6843
68442008-04-18 Jason Rumney <jasonr@gnu.org>
6845
6846 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
6847
68482008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
6849
6850 * character.c (Fmultibyte_char_to_unibyte):
6851 Return latin1 chars unchanged.
6852
6853 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
6854 relocated if it points to `name'.
6855
68562008-04-17 Kenichi Handa <handa@m17n.org>
6857
6858 * data.c (Faset): Allow setting a multibyte character in an
6859 ASCII-only unibyte string.
6860
6861 * lisp.h (STRING_SET_MULTIBYTE): New macro.
6862
68632008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
6864
6865 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
6866 done in config.h.
6867
68682008-04-16 Juanma Barranquero <lekktu@gmail.com>
6869
6870 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
6871 (Fchar_direction): Add usage in the docstring.
6872
68732008-04-15 Chong Yidong <cyd@stupidchicken.com>
6874
6875 * keyboard.c (read_key_sequence): Remove always-true checks.
6876
68772008-04-14 Jason Rumney <jasonr@gnu.org>
6878
6879 * w32font.c (w32font_open_internal): Set max_bounds.descent in
6880 compatibility struct, for better underline positioning.
6881
68822008-04-13 David Hansen <david.hansen@gmx.net>
6883
6884 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
6885 string.
6886
68872008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
6888
6889 * m/hp800.h (XUINT, XSET): Remove.
6890
68912008-04-12 Juanma Barranquero <lekktu@gmail.com>
6892
6893 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
6894 previous change.
6895
68962008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
6897
6898 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
6899 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
6900
69012008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
6902
6903 * keymap.h (map_keymap_canonical): Declare.
6904 * xmenu.c (single_keymap_panes): Use it.
6905
69062008-04-11 Glenn Morris <rgm@gnu.org>
6907
6908 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
6909 set the target's value to that of the alias.
6910
69112008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
6912
6913 * term.c (set_tty_color_mode): Left over typo.
6914
69152008-04-10 Michael Albinus <michael.albinus@gmx.de>
6916
6917 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
6918 only after check for file name handler functions. Signal, when
6919 native functionality is not supported.
6920 (syms_of_fileio): Declare it unconditionally.
6921
69222008-04-10 Jason Rumney <jasonr@gnu.org>
6923
6924 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
6925 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
6926
6927 * w32.c (logon_network_drive): Also logon to remote drives that
6928 are mapped to drive letters.
6929
69302008-04-10 Glenn Morris <rgm@gnu.org>
6931
6932 * xdisp.c (truncate-partial-width-windows): Doc fix.
6933
69342008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
6935
6936 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
6937 Move functions to minibuffer.el.
6938 (syms_of_fileio): Don't declare them.
6939
69402008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
6941
6942 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
6943 (syms_of_minibuf): Remove its initialization.
6944
6945 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
6946
69472008-04-09 Juanma Barranquero <lekktu@gmail.com>
6948
6949 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
6950
69512008-04-09 Jason Rumney <jasonr@gnu.org>
6952
6953 * makefile.w32-in (distclean): Delete makefile too.
6954 (maintainer-clean): New target.
6955
6956 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
6957
6958 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
6959 for new font backend and composite cases.
6960
69612008-04-09 Jan Djärv <jan.h.d@swipnet.se>
6962
6963 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
6964 Most of the code moved to run_timers.
6965 (do_pending_atimers): Call run_timers.
6966 (run_timers): New function.
6967
6968 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
6969 run atimers.
6970
6971 * process.c (wait_reading_process_output): The same as above.
6972
69732008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
6974
6975 * minibuf.c (last_exact_completion): Remove variable.
6976 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
6977 (complete_and_exit_1, complete_and_exit_2)
6978 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
6979 (Fdisplay_completion_list, display_completion_list_1)
6980 (Fminibuffer_completion_help, Fself_insert_and_exit)
6981 (Fexit_minibuffer, Fminibuffer_message): Move functions to
6982 minibuffer.el.
6983 (syms_of_minibuf): Remove corresponding initializations.
6984
6985 * keyboard.c (Qdeactivate_mark): New var.
6986 (command_loop_1): Use it to call `deactivate-mark'.
6987 (syms_of_keyboard): Initialize it.
6988
6989 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
6990 to another frame.
6991 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
6992 Don't call set_tty_color_mode.
6993 (store_frame_param): Reset previous_frame rather than call
6994 set_tty_color_mode.
6995 * term.c (set_tty_color_mode): Rewrite.
6996 * dispextern.h (set_tty_color_mode): New type.
6997 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
6998
69992008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
7000
7001 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
7002 for generic chars, which do not exist any more in emacs-unicode.
7003
70042008-04-08 Michael Albinus <michael.albinus@gmx.de>
7005
7006 * coding.c (detect_coding_emacs_mule)
7007 (Ffind_operation_coding_system): Fix typo.
7008
70092008-04-08 Jason Rumney <jasonr@gnu.org>
7010
7011 * w32uniscribe.c (SNAME): Extract only symbol name.
7012
7013 * w32font.h (struct w32_metric_cache): New struct.
7014 (w32font_info): Use it.
7015 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
7016 (CACHE_BLOCKSIZE): New constants.
7017
7018 * w32font.c (Qja, Qko, Qzh): New symbols.
7019 (syms_of_w32font): Initialise them.
7020 (font_matches_spec): Use them to filter by language.
7021 (recompute_cached_metrics): Remove function.
7022 (compute_metrics, clear_cached_metrics): New functions.
7023 (w32font_encode_char): Use them to manage metric cache.
7024 (w32font_text_extents): Cache metrics for all glyphs on demand.
7025 Delay converting glyph indices to WORD until needed.
7026 (w32font_open_internal): Initialize metric cache to empty.
7027 (registry_to_w32_charset): Charset should always be a symbol.
7028 (fill_in_logfont, list_all_matching_fonts): Family should
7029 always be a symbol.
7030
70312008-04-06 Jason Rumney <jasonr@gnu.org>
7032
7033 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
7034 Give up if glyph indices not supported. Use uniscribe obtained
7035 ABC widths for individual metrics. Map glyph clusters back to
7036 characters using fClusterStart flag. Return number of glyphs
7037 produced, not chars processed.
7038 (uniscribe_shape): Map char at FROM to current glyph.
7039
70402008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7041
7042 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
7043 Use SetMenuItemHierarchicalMenu.
7044
70452008-04-05 Jason Rumney <jasonr@gnu.org>
7046
7047 * image.c (pbm_load): Allow color values up to 65535.
7048 Throw an error if max_color_idx is outside the supported range.
7049 Report an error when image size is invalid.
7050 Read two bytes at a time when raw images have max_color_idx above 255.
7051
70522008-04-05 Eli Zaretskii <eliz@gnu.org>
7053
7054 * w32.c (readdir): If FindFirstFile/FindNextFile return in
7055 cFileName a file name that includes `?' characters, use the 8+3
7056 alias in cAlternateFileName instead.
7057
70582008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
7059
7060 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
7061 append "CCL: Quitted" when the CCL program is quitted.
7062 (setup_ccl_program): Initialize ccl->quit_silently to zero.
7063
7064 * ccl.h (struct ccl_program): New member quit_silently.
7065
70662008-04-05 Chong Yidong <cyd@stupidchicken.com>
7067
7068 * search.c (compile_pattern_1): Treat non-nil and non-string of
7069 search-spaces-regexp as nil.
7070
7071 * minibuf.c (Fassoc_string): Tweak docstring.
7072
70732008-04-05 Eli Zaretskii <eliz@gnu.org>
7074
7075 * dired.c (Ffile_attributes): Support inode numbers wider than 32
7076 bits. Remove ugly WINDOWSNT-specific kludge introduced on
7077 2008-03-14 to force inode be positive.
7078
7079 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
7080 _S_* ones, since we now use our own sys/stat.h.
7081 (stat, fstat): Don't mangle the inode number.
7082 (init_user_info): Don't restrict UID and GID to 0-60000 range.
7083
70842008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
7085
7086 * frame.h (struct frame): Give one more bit to `visible' since we use
7087 values larger than 1 to indicate obscured frames on ttys.
7088
7089 * keymap.c (Qkeymap_canonicalize): New var.
7090 (Fmap_keymap_internal): New fun.
7091 (describe_map): Use keymap-canonicalize.
7092
7093 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
7094 (Fundo_boundary): Set them.
7095 (syms_of_undo): Initialize them.
7096 (record_point): Use them instead of last_point_position*.
7097 (last_undo_buffer): Change type.
7098
70992008-04-04 Jason Rumney <jasonr@gnu.org>
7100
7101 * w32font.c (w32font_text_extents): Use font's ascent and descent.
7102 (recompute_cached_metrics): Don't set ascent and descent per char.
7103
7104 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
7105 (uniscribe_check_otf): Add GC protection before consing.
7106 Rearrange loop for counting features.
7107
71082008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
7109
7110 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
7111 buffer with byte-size of source buffer.
7112
71132008-04-03 Chong Yidong <cyd@stupidchicken.com>
7114
7115 * callint.c (Fcall_interactively): Handle temporary region even
7116 when shift-select-mode is off.
7117
71182008-04-03 Jason Rumney <jasonr@gnu.org>
7119
7120 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
7121
71222008-04-03 Kenichi Handa <handa@m17n.org>
7123
7124 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
7125 (CATEGORY_MASK_UTF_16): Likewise.
7126 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
7127 binary file.
7128 (detect_coding): Add null-byte detection for a binary file.
7129 (detect_coding_system): Likewise.
7130
71312008-04-03 Jason Rumney <jasonr@gnu.org>
7132
7133 * w32uniscribe.c: New file.
7134
7135 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
7136
7137 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
7138
7139 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
7140 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
7141 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
7142 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
7143 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
7144 (Qphonetic): New symbols.
7145 (syms_of_w32font): Initialize them.
7146 (font_supported_scripts): Use them.
7147 (w32font_list_family): List all charsets.
7148 (w32font_text_extents, recompute_cached_metrics): Fix metric
7149 calculations.
7150 (w32_enumfont_pattern_entity): Make full_type a DWORD.
7151 Give opentype fonts their own format.
7152 (font_matches_spec): New arguments backend and logfont.
7153 Handle :otf spec for uniscribe backend.
7154 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
7155 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
7156
7157 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
7158 font backend.
7159 (globals_of_w32fns): Initialize uniscribe font backend.
7160
7161 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
7162 dependencies.
7163 (w32uniscribe.$(O)): New file to build.
7164 (FONT_OBJ): Include w32uniscribe.$(O).
7165 (LIBS): Add uniscribe libraries.
7166
7167 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
7168
71692008-04-02 Chong Yidong <cyd@stupidchicken.com>
7170
7171 * callint.c (Vshift_select_mode): New var.
7172 (Finteractive): Document new ^ spec.
7173 (Fcall_interactively): Call handle-shift-selection if the ^ spec
7174 is present.
7175
7176 * keyboard.c (Vthis_command_keys_shift_translated): New var.
7177 (command_loop_1): Avoid running the direct display versions of
7178 forward-char and backward-char if shift-selection may occur.
7179 (read_key_sequence): Set Vthis_command_keys_shift_translated if
7180 shift-translation takes place.
7181
7182 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
7183 avoid clobbering by define-minor-mode.
7184
7185 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
7186 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
7187
7188 * syntax.c (Fforward_word): Add ^ interactive spec.
7189
7190 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
7191 (Fscroll_right): Add ^ interactive spec.
7192
71932008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
7194
7195 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
7196
7197 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
7198
7199 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
7200
72012008-03-31 Juri Linkov <juri@jurta.org>
7202
7203 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
7204
72052008-03-30 Jan Djärv <jan.h.d@swipnet.se>
7206
7207 * gtkutil.c (xg_set_geometry): Fix indentation.
7208 (xg_resize_outer_widget): Remove.
7209 (x_wm_size_hint_off): Fix indentation.
7210 (xg_frame_set_char_size): Call flush_and_sync after
7211 gtk_window_resize.
7212 (x_wm_set_size_hint): Pass NULL as geometry window to
7213 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
7214 Add menu bar and tool bar height to base height.
7215 (xg_update_frame_menubar, free_frame_menubar)
7216 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
7217 (update_frame_tool_bar, free_frame_tool_bar):
7218 Change xg_resize_outer_widget to xg_frame_set_char_size.
7219
72202008-03-30 Michael Albinus <michael.albinus@gmx.de>
7221
7222 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
7223 (Fdbus_call_method): New parameter TIMEOUT.
7224 (dbus-send-signal): Optimize UNGCPRO call.
7225
72262008-03-29 Juri Linkov <juri@jurta.org>
7227
7228 * window.c (Fdisplay_buffer): Move call to
7229 Vsplit_window_preferred_function out of conditions that check
7230 if window is eligible for vertical splitting.
7231 When Vsplit_window_preferred_function is non-nil, call it and use
7232 its non-nil return value as window. Otherwise, continue doing
7233 vertical splitting using Fsplit_window with arg horflag=nil.
7234 (syms_of_window) <Vsplit_window_preferred_function>: Change the
7235 default value from `split-window' to nil.
7236
72372008-03-29 Juri Linkov <juri@jurta.org>
7238
7239 * callint.c (Fcall_interactively): Revert 2008-03-16 change
7240 for interactive code letters 'b' and 'B'.
7241
72422008-03-29 Eli Zaretskii <eliz@gnu.org>
7243
7244 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
7245 multibyte string.
7246
72472008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
7248
7249 * keyboard.c (pending_funcalls): New var.
7250 (timer_check): Run it.
7251 (syms_of_keyboard): Initialize it.
7252 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
7253 (Vdelete_terminal_functions): New vars.
7254 (syms_of_terminal): Initialize them.
7255 (Fdelete_terminal): Run delete-terminal-functions.
7256 * xdisp.c (safe_eval): Rewrite.
7257 (safe_call2): New fun.
7258 * frame.c (Qdelete_frame_functions): New var.
7259 (syms_of_frame): Initialize it.
7260 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
7261 * lisp.h (safe_call2, pending_funcalls): Declare.
7262
72632008-03-28 Andreas Schwab <schwab@suse.de>
7264
7265 * indent.c (Fmove_to_column): Move declaration before statements.
7266
72672008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
7268
7269 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
7270 (struct frame): Use bit fields for boolean vars.
7271
7272 * process.c (server_accept_connection): Simplify naming.
7273 (emacs_get_tty_pgrp): Use SDATA.
7274
7275 * coding.c (decode_coding_object): Fix last change.
7276
72772008-03-27 Jason Rumney <jasonr@gnu.org>
7278
7279 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
7280
72812008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
7282
7283 * charset.c (Fdefine_charset_internal): Change the way of
7284 registering charsets in Vcharset_order_list.
7285 (syms_of_charset): Make the charset `eight-bit' supplementary.
7286
72872008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
7288
7289 * regex.c (EXTEND_BUFFER): Change order of pointer addition
7290 operations, to avoid having the difference between pointers
7291 overflow.
7292
72932008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
7294
7295 * indent.c (check_display_width): New fun.
7296 (scan_for_column): Use it.
7297
7298 * data.c (syms_of_data): Mark most-positive-fixnum and
7299 most-negative-fixnum as constants.
7300
7301 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
7302
7303 * indent.c (scan_for_column): Extract from current_column_1.
7304 Merge with the same code from Fmove_to_column.
7305 (current_column_1, Fmove_to_column): Use it.
7306
73072008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
7308
7309 * keymap.c (map_keymap_internal): New fun.
7310 (map_keymap): Use it.
7311 (Fmap_keymap_internal): New fun.
7312 (Fmap_keymap): Remove left-out test from before make_save_value.
7313
7314 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
7315
7316 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
7317 Use XCAR/XCDR.
7318
7319 * process.h (struct Lisp_Process): Remove filter_multibyte.
7320 * process.c (QCfilter_multibyte): Remove.
7321 (setup_process_coding_systems): Don't use filter_multibyte.
7322 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
7323 (read_process_output): Don't adjust multibyteness to filter_multibyte.
7324 (Fset_process_filter_multibyte): Change the coding-system to
7325 approximate the previous behavior.
7326 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
7327 coding-system.
7328
7329 * coding.c (decode_coding_object): When not decoding into a buffer,
7330 obey the coding system's preference of (uni|multi)byte.
7331
73322008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
7333
7334 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
7335 every char is changed and has a different byte-length.
7336 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
7337 Fix int -> EMACS_INT.
7338
73392008-03-23 David Hansen <david.hansen@gmx.net>
7340
7341 * dbusbind.c (xd_read_message): Remove extra copying of message
7342 strings. Check for NULL `interface' or `member'.
7343
73442008-03-22 Eli Zaretskii <eliz@gnu.org>
7345
7346 * w32.c (readdir): If FindFirstFile/FindNextFile return in
7347 cFileName a file name that includes `?' characters, use the 8+3
7348 alias in cAlternateFileName instead.
7349
73502008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
7351
7352 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
7353
73542008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
7355
7356 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
7357 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
7358 work on current_buffer only instead (that was already the case
7359 for some of the code anyway).
7360 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
7361 (temp_set_point, temp_set_point_both): Use EMACS_INT.
7362 (SET_PT, SET_PT_BOTH): Adjust.
7363 * intervals.h (set_point, temp_set_point, set_point_both)
7364 (temp_set_point_both): Remove redundant declarations.
7365
73662008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
7367
7368 * fileio.c (Finsert_file_contents):
7369 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
7370 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
7371 when buffer != current_buffer anyway.
7372
73732008-03-20 Andreas Schwab <schwab@suse.de>
7374
7375 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
7376 as default.
7377
73782008-03-19 Jason Rumney <jasonr@gnu.org>
7379
7380 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
7381 (syms_of_w32fns): Initialize them.
7382 (HOURGLASS_ID): New constant.
7383 (x_window_to_frame): Don't check hourglass_window.
7384 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
7385 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
7386 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
7387 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
7388 Only change the cursor if hourglass is not active.
7389 (Fx_create_frame): Initialize frame's current_cursor.
7390 (hourglass_atimer): Remove.
7391 (hourglass_started): New function.
7392 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
7393 (show_hourglass): Adapt to w32, changing argument to frame.
7394
7395 * w32term.h (struct w32_output): Remove hourglass_window.
7396 Add current_cursor.
7397
7398 * eval.c (call_debugger, Fsignal):
7399 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
7400 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
7401 (Fexecute_extended_command, cancel_hourglass_unwind):
7402 * minibuf.c (read_minibuf):
7403 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
7404
74052008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
7406
7407 * window.c (run_funs): New fun.
7408 (run_window_configuration_change_hook): Use it to run the buffer-local
7409 and the global part of the hook.
7410
7411 * xdisp.c (format_mode_line_unwind_data): Add window argument.
7412 (unwind_format_mode_line): Restore selected window.
7413 (x_consider_frame_title, Fformat_mode_line): Set selected window.
7414
74152008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
7416
7417 * editfns.c (Fchar_equal): Check they are valid characters.
7418
7419 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
7420
74212008-03-17 Andreas Schwab <schwab@suse.de>
7422
7423 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
7424 against a charset.
7425
7426 * lisp.h (Fbuffer_list): Declare.
7427
74282008-03-17 Jan Djärv <jan.h.d@swipnet.se>
d6c952f8 7429
aac0c6e3
MR
7430 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
7431 handlebox_widget is != 0.
7432
74332008-03-16 Juri Linkov <juri@jurta.org>
7434
7435 * callint.c (Fcall_interactively): For interactive code letters
7436 'b' and 'B' put the buffer list into the list of default "future"
7437 values of the minibuffer.
7438
74392008-03-16 Andreas Schwab <schwab@suse.de>
7440
7441 * keyboard.c (read_key_sequence): Fix downcasing of letters with
7442 modifiers.
7443
7444 * regex.c (re_match_2_internal): Correct matching of a charset
7445 against latin-1 characters.
7446
74472008-03-16 Kenichi Handa <handa@m17n.org>
7448
7449 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
7450 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
7451 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
7452 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
7453 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
7454 CHAR_STRING_ADVANCE.
7455 (produce_chars): Fix for the case that the source and the
7456 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
7457 instead of CHAR_STRING_ADVANCE.
7458 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
7459 STRING_CHAR_ADVANCE.
7460
74612008-03-15 Andreas Schwab <schwab@suse.de>
7462
7463 * regex.c (re_match_2_internal): Correct matching of eight bit
7464 characters in unibyte strings.
7465
74662008-03-15 Martin Rudalics <rudalics@gmx.at>
7467
7468 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
7469 at end of range when it coincides with the end of the buffer.
7470
74712008-03-14 Eli Zaretskii <eliz@gnu.org>
7472
7473 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
7474
7475 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
7476
74772008-03-14 Jason Rumney <jasonr@gnu.org>
7478
7479 * editfns.c (initial_tz): New variable.
7480 (syms_of_editfns): Initialize it.
7481 (Fset_time_zone_rule): Set it when first called.
7482 Use it when TZSTRING is nil.
7483
7484 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
7485 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
7486 (monitor_from_point_fn, get_monitor_info_fn): New globals.
7487 (globals_of_w32fns): Initialize them.
7488 (compute_tip_xy): Use them to position tooltips.
7489
74902008-03-14 Glenn Morris <rgm@gnu.org>
7491
7492 * emacs.c (main): Revert previous change.
7493 (standard_args): Revert -internal-script back to -scriptload,
7494 and remove the long-option form.
7495
74962008-03-13 Glenn Morris <rgm@gnu.org>
7497
7498 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
7499 Remove option -enable-font-backend.
7500
75012008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
7502
7503 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
7504
75052008-03-11 Jan Djärv <jan.h.d@swipnet.se>
7506
7507 * xterm.c (x_connection_closed): For GTK: If this is the last
7508 terminal just exit without closing the display.
7509
75102008-03-11 Jason Rumney <jasonr@gnu.org>
7511
7512 * w32font.c (w32font_full_name): Use floor to round.
7513
f0131492 75142008-03-10 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
aac0c6e3
MR
7515
7516 * sound.c (alsa_configure): Declare vol at beginning of block.
7517
7518 * fontset.c (Ffontset_info): Remove extra semicolon.
7519
75202008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
7521
7522 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
7523 size of resulting string.
7524
75252008-03-10 Jason Rumney <jasonr@gnu.org>
7526
7527 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
7528
75292008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7530
7531 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
7532 Don't pretend as if characters with display property haven't been
7533 consumed for string-replacing-string case.
7534
75352008-03-08 Kim F. Storm <storm@cua.dk>
7536
7537 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
7538 (get_next_display_element, next_element_from_string)
7539 (next_element_from_ellipsis, next_element_from_buffer): Use it.
7540
75412008-03-08 Andreas Schwab <schwab@suse.de>
7542
7543 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
7544
75452008-03-06 Jason Rumney <jasonr@gnu.org>
7546
7547 * w32font.c (w32_registry): Take font_type argument. Use ANSI
7548 when charset not specified. Only translate ANSI to unicode when
7549 font_type is truetype.
7550 (w32font_coverage_ok): New function.
7551 (add_font_entity_to_list): Use it to filter unsuitable fonts.
7552
75532008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
7554
7555 * lread.c (Fread_char): Resolve modifiers.
7556 (Fread_char_exclusive): Likewise.
7557
7558 * character.c (char_resolve_modifier_mask): New function.
7559 (char_string): Use char_resolve_modifier_mask.
7560 (Fchar_resolve_modifiers): New function.
7561 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
7562 function.
7563
75642008-03-04 Jason Rumney <jasonr@gnu.org>
7565
7566 * makefile.w32-in: Always include w32font.c in the build.
7567 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
7568
75692008-03-04 Andreas Schwab <schwab@suse.de>
7570
7571 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
7572 (versionclean): Likewise.
7573
75742008-03-04 Juanma Barranquero <lekktu@gmail.com>
7575
7576 * .cvsignore: Add oo.
7577
75782008-03-03 Andreas Schwab <schwab@suse.de>
7579
7580 * coding.c (decode_coding_object): Inhibit gap shrinking while
7581 decoding in place.
7582
75832008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
7584
7585 * w32term.c: Remove unused include "gnu.h".
7586 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
7587
7588 * gnu.h: Rename to ...
7589 * emacs-icon.h: ... this.
7590 * xterm.c: Use emacs-icon.h instead of gnu.h.
7591 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
7592
75932008-03-03 Juanma Barranquero <lekktu@gmail.com>
7594
7595 * w32font.c: Include math.h.
7596
75972008-03-03 Jason Rumney <jasonr@gnu.org>
7598
7599 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
7600 Compute options separately.
7601 (w32font_open_internal): Set glyph_idx before caching metrics.
7602
7603 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
7604 Define if system headers don't.
7605 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
7606 (w32font_encode_char): Don't declare here.
7607
7608 * w32font.c (Quniscribe, QCformat): New symbols.
7609 (syms_of_w32font): Define them.
7610 (w32font_has_char): Indicate uncertainty.
7611 (w32font_encode_char): Encode as glyph point. Make static.
7612 (recompute_cached_metrics): New function.
7613 (w32font_open_internal): Use it. Set font to use glyph points
7614 initially. Set format based on type of font.
7615 (w32font_text_extents, w32font_draw): Optionally use glyph points.
7616 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
7617 on it. Set format based on information available here.
7618 (add_font_entity_to_list): Identify backend based on opentype_only.
7619
76202008-03-02 Andreas Schwab <schwab@suse.de>
7621
7622 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
7623
7624 * coding.c (decode_coding_big5, produce_chars):
7625 Fix typos in last change.
7626
76272008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
7628
7629 * gnu.h: New icon.
7630
76312008-03-02 Kenichi Handa <handa@m17n.org>
7632
7633 * coding.c (decode_coding_utf_8): When eol-type of CODING is
7634 `dos', don't decode '\r' if that is the last in the source.
7635 (decode_coding_utf_16, decode_coding_emacs_mule)
7636 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
7637 (decode_coding_raw_text, decode_coding_charset): Likewise.
7638 (produce_chars): Don't decode EOL here. Use EMACS_INT.
7639
76402008-03-01 Jason Rumney <jasonr@gnu.org>
7641
7642 * w32font.c (w32font_full_name): Report point size for scalable fonts.
7643
76442008-03-01 Kim F. Storm <storm@cua.dk>
7645
7646 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
7647
76482008-03-01 Jason Rumney <jasonr@gnu.org>
7649
7650 * w32font.c (w32font_full_name): New function.
7651 (w32font_open_internal): Use it.
7652
76532008-03-01 Kim F. Storm <storm@cua.dk>
7654
7655 * dispnew.c (line_draw_cost): Fix invalid glyph check.
7656
76572008-03-01 Jason Rumney <jasonr@gnu.org>
7658
7659 * font.c (font_unparse_fcname): Increase len when style is a symbol.
7660
76612008-03-01 Jan Djärv <jan.h.d@swipnet.se>
7662
7663 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
7664 xg_frame_resized when the event is for the edit widget.
7665
7666 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
7667
7668 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
7669 set_char_size.
7670 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
7671 operations on widgets here. Just set frame size if needed.
7672 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
7673 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
7674 (x_wm_set_size_hint): Set size hints on the edit widget only, not
7675 the whole frame.
7676 (xg_create_tool_bar): Move attachment of the tool bar to
7677 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
7678 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
7679
76802008-03-01 Jason Rumney <jasonr@gnu.org>
7681
7682 * w32fns.c (w32_msg_pump): Disable debug code.
7683
76842008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7685
7686 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
7687
76882008-02-29 Chong Yidong <cyd@stupidchicken.com>
7689
7690 * xdisp.c (next_overlay_string): Don't set
7691 overlay_strings_at_end_processed_p if we're currently reading from
7692 a display string.
7693
76942008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
7695
7696 * xdisp.c (get_overlay_strings_1): Fix typo.
7697
76982008-02-29 Chong Yidong <cyd@stupidchicken.com>
7699
7700 * xdisp.c (get_overlay_strings_1): Add missing argument type.
7701
77022008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
7703
7704 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
7705
7706 * xdisp.c (display_mode_element): Cancel the previous change.
7707 (decode_mode_spec): Likewise.
7708 (handle_auto_composed_prop): Don't make composition if it->string
7709 is a string.
7710
77112008-02-27 Kim F. Storm <storm@cua.dk>
7712
7713 * lisp.h (GLYPH): Change type from int to struct with separate char
7714 and face_id members.
7715 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
7716 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
7717 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
7718 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
7719 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
7720 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
7721 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
7722 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
7723 handle new Lisp glyph code encoding, either an integer or a cons.
7724
7725 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
7726 (GLYPH_ALIAS): Delete.
7727 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
7728 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
7729 (GLYPH_FROM_CHAR): Replace macro by ...
7730 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
7731
7732 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
7733 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
7734 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
7735 (GLYPH_INVALID_P): New macro.
7736 (spec_glyph_lookup_face): Update prototype.
7737
7738 * dispnew.c (line_draw_cost): Adapt to new glyph type.
7739 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
7740 new glyph code encoding.
7741 (spec_glyph_lookup_face): No return value; update passed glyph instead.
7742 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
7743
7744 * xdisp.c (get_next_display_element, next_element_from_display_vector):
7745 Adapt to new glyph type and new glyph code encoding.
7746
7747 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
7748
7749 * indent.c (current_column, current_column_1, Fmove_to_column)
7750 (compute_motion): Adapt to new glyph code encoding.
7751
7752 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
7753
77542008-02-27 Chong Yidong <cyd@stupidchicken.com>
7755
7756 * process.c (wait_reading_process_output): Check for window
7757 changes caused by timers.
7758 Suggested by Johan Bockgård.
7759
77602008-02-27 Glenn Morris <rgm@gnu.org>
7761
7762 * emacs.c (USAGE1): Add `--disable-font-backend'.
7763
77642008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
7765
7766 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
7767 is made to the buffer.
7768
77692008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
7770
7771 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
7772 (face_at_string_position):
7773 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
7774 (face_at_string_position):
7775 * xdisp.c (display_string, next_overlay_change):
7776 * buffer.h (overlays_at):
7777 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
7778 Update callers.
7779
77802008-02-26 Chong Yidong <cyd@stupidchicken.com>
7781
7782 * editfns.c (Fformat): Doc fix.
7783
77842008-02-26 Juanma Barranquero <lekktu@gmail.com>
7785
7786 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
7787 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
7788 (Ffont_otf_alternates, Fquery_font): Doc fixes.
7789
77902008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
7791
7792 * buffer.c (Fbuffer_swap_text): New function.
7793 (syms_of_buffer): Defsubr it.
7794
77952008-02-25 Chong Yidong <cyd@stupidchicken.com>
7796
7797 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
7798
77992008-02-25 Jason Rumney <jasonr@gnu.org>
7800
7801 * w32font.c (w32font_draw): Draw one character at a time when padding.
7802
78032008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
7804
7805 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
7806 Handle a nil arg. Use run_window_configuration_change_hook.
7807 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
7808 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
7809 Use run_window_configuration_change_hook.
7810
78112008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
7812
7813 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
7814 1-pixel width.
7815
78162008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
7817
7818 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
7819 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
7820 if the glyph in the font is zero pixel with.
7821
7822 * dispextern.h (struct glyph_string): New member padding_p.
7823
7824 * w32font.c (w32font_draw): Pay attention to s->padding_p.
7825
7826 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
7827
7828 * xfont.c (xfont_draw): Pay attention to s->padding_p.
7829
7830 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
7831
7832 * font.c: If the font driver doesn't have `shape' function, return Qnil.
7833
78342008-02-25 Jason Rumney <jasonr@gnu.org>
7835
7836 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
7837
78382008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
7839
7840 Allow fine-grained image-cache flushing.
7841 * dispextern.h (struct image): Add `dependencies' field.
7842 (clear_image_caches): Change arg to Lisp_Object.
7843 * image.c (make_image): Initialize `dependencies' field.
7844 (clear_image_cache): Change arg to allow fine-grained flushing.
7845 Perform the flush even if image-cache-eviction-delay is nil.
7846 (clear_image_caches): Change arg to Lisp_Object.
7847 (Fclear_image_cache): Expand meaning of the argument.
7848 (mark_image): Mark `dependencies' field.
7849 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
7850 (lface_hash): Use XHASH rather than XFASTINT.
7851 (face_at_buffer_position): Fix int -> EMACS_INT position.
7852 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
7853 (select_frame_for_redisplay): Remove code duplication.
7854 (redisplay_internal): Adapt arg to call to clear_image_caches.
7855
78562008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
7857
7858 * s/vms4-0.h:
7859 * s/vms4-2.h:
7860 * s/vms4-4.h:
7861 * s/vms5-5.h: Remove, unused.
7862
7863 * s/irix5-2.h:
7864 * s/irix6-0.h:
7865 * s/riscos5.h:
7866 * s/mach-bsd4-3.h:
7867 * m/mips4.h: Remove files for obsolete systems.
7868
7869 * Makefile.in:
7870 * filelock.c:
7871 * unexmips.c:
7872 * m/hp9000s300.h:
7873 * m/iris4d.h:
7874 * s/aix3-1.h:
7875 * s/hpux.h:
7876 * s/msdos.h:
7877 * s/usg5-0.h:
7878 * s/usg5-2-2.h:
7879 * s/usg5-2.h:
7880 * s/usg5-3.h: Remove references to obsolete variables.
7881
7882 * s/irix5-0.h: Remove, move all the contents ...
7883 * s/irix6-5.h: ... here. Simplify.
7884 * config.in: Regenerate.
7885
78862008-02-24 Jason Rumney <jasonr@gnu.org>
7887
7888 * w32term.c (x_draw_glyph_string_background): Clear the background
7889 manually when cleartype is in use.
7890 (x_draw_glyph_string_foreground): Draw text transparently when
7891 cleartype is in use.
7892
7893 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
7894 a font into it unless we have to.
7895
78962008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
7897
7898 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
7899 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
d6c952f8 7900
aac0c6e3
MR
79012008-02-18 Jason Rumney <jasonr@gnu.org>
7902
7903 * w32fns.c (Fw32_shell_execute): Encode parameters.
7904
79052008-02-09 Eli Zaretskii <eliz@gnu.org>
7906
7907 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
7908
79092008-02-05 Juanma Barranquero <lekktu@gmail.com>
7910
7911 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
7912
79132008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
7914
7915 * xterm.c (x_set_offset): Don't change the gravity if
7916 CHANGE_GRAVITY is -1.
7917
79182008-02-23 Chong Yidong <cyd@stupidchicken.com>
7919
7920 * fileio.c (auto_save_error_occurred): New var.
7921 (auto_save_error): Set it.
7922 (Fdo_auto_save): Don't overwrite the error message if an auto-save
7923 error occurred.
7924
79252008-02-23 Eli Zaretskii <eliz@gnu.org>
7926
7927 * w32.c (globals_of_w32): Add initializations for
7928 g_b_init_get_sid_sub_authority and
7929 g_b_init_get_sid_sub_authority_count.
7930
79312008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
7932
7933 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
7934 (font_parse_xlfd): Use them for sanity check.
7935 (Finternal_set_font_style_table): Make sure the table is bijective.
7936
7937 Consolidate the image_cache to the terminal struct.
7938 * termhooks.h (P_): Remove redundant def.
7939 (struct terminal): New field `image_cache'.
7940 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
7941 of FRAME_X_IMAGE_CACHE.
7942 * xterm.h (struct x_display_info): Remove image_cache field.
7943 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7944 * w32term.h (struct w32_display_info): Remove image_cache field.
7945 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7946 * macterm.h (struct mac_display_info): Remove image_cache field.
7947 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7948 * xterm.c (x_term_init):
7949 * w32term.c (w32_term_init):
7950 * macterm.c (mac_term_init): Set the image_cache in the terminal.
7951 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
7952 Remove declarations.
7953 (clear_image_caches, mark_image_cache): New declarations.
7954 * xfaces.c (clear_face_cache):
7955 * xdisp.c (redisplay_internal): Use clear_image_caches.
7956 * image.c (clear_image_cache): Don't check that a frame is on
7957 a window-system before checking if it shares the same cache.
7958 (clear_image_caches): New function.
7959 (Fclear_image_cache): Use it.
7960 (mark_image): Move from allo.c.
7961 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
7962 * alloc.c (mark_image, mark_image_cache): Move to image.c.
7963 (mark_object): Don't call mark_image_cache for frames.
7964 (mark_terminals): Call mark_image_cache.
7965
7966 * lisp.h (Fdelete_terminal): Declare.
7967
7968 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
7969 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
7970 wrong_type_argument.
7971
79722008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
7973
7974 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
7975 malayalam.el, and tamil.el. Add sinhala.el.
7976
79772008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
7978
7979 * xterm.c (x_connection_closed): Consolidate identical tests.
7980 (x_delete_terminal): Don't crash if called via x_connection_closed.
7981
79822008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
7983
7984 * xdisp.c (decode_mode_spec): New arg string.
7985 (display_mode_element): Adjust for the above change.
7986
79872008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
7988
7989 * callint.c (Fcall_interactively): Use AREF.
7990
79912008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
7992
7993 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
7994
79952008-02-18 Jan Djärv <jan.h.d@swipnet.se>
7996
7997 * xfns.c (Fx_show_tip): Set string to " " if empty.
7998
79992008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
8000
8001 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
8002 with Qt.
8003
80042008-02-17 Kenichi Handa <handa@m17n.org>
8005
8006 * ftfont.c (ftfont_shape): Return Lispy number.
8007
8008 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
8009 for GCs.
8010 (Finternal_set_font_selection_order): Call font_update_sort_order
8011 only when enable_font_backend is set.
8012 (realize_x_face): Set face->font_info to that of default face only
8013 when enable_font_backend is set.
8014
8015 * xdisp.c (handle_composition_prop): Set it->c to the fist
8016 character of the composed region.
8017 (fill_composite_glyph_string): Set base_face->font_info to
8018 s->font_info. Get a face for ascii from base_face->ascii_face.
8019 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
8020 with a face already decided.
8021 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
8022 non-negative.
8023 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
8024 call font_prepare_composition unconditionally.
8025
8026 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
8027
8028 * xterm.h (struct x_display_info): New member font.
8029
8030 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
8031 (x_set_mouse_face_gc, x_new_font): Likewise.
8032 (x_term_init): Setup display_info->font.
8033 (x_delete_terminal): Free display_info->font.
8034
8035 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
8036
8037 * ftxfont.c (ftxfont_default_fid): Delete it.
8038 (ftxfont_open): Set xfont->fid to 0.
8039 (ftxfont_end_for_frame): Clear data specific to the frame and the
8040 font-driver.
8041
8042 * xftfont.c (xftfont_default_fid): Delete it.
8043 (xftfont_open): Set xfont->fid to 0.
8044
8045 * fontset.c (FONTSET_OBJLIST): New macro.
8046 (fontset_find_font): Update font-object list of the fontset.
8047 (free_realized_fontset): New function.
8048 (free_face_fontset): Call free_realized_fontset.
8049 (Ffont_info): Call font_close_object only when enable_font_backend
8050 is set.
8051
8052 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
8053 [HAVE_NTGUI]: Include w32term.h.
8054 [MAC_OS]: Include macterm.ch.
8055 (font_otf_ValueRecord): Use make_number.
8056 (font_finish_cache): Fix handling of reference count.
8057 (font_clear_cache): Update num_fonts.
8058 (font_open_entity): Update smallest_char_width and
8059 smallest_font_height of the frame.
8060 (font_close_object): Update num_fonts.
8061 (Fclear_font_cache): Fix finding the target cache data.
8062
80632008-02-16 Glenn Morris <rgm@gnu.org>
8064
8065 * fontset.c (Finternal_char_font): Fix compilation warning.
8066
80672008-02-16 Eli Zaretskii <eliz@gnu.org>
8068
8069 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
8070 instead of char arrays. Enlarge the size of array passed to
8071 get_token_information.
8072
8073 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
8074 warnings.
8075
80762008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
8077
8078 * .gdbinit: Don't set `args', it breaks gdb --args.
8079
80802008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
8081
8082 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
8083 within a narrowed buffer.
8084
80852008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
8086
8087 * coding.c (decode_coding_object, encode_coding_object):
8088 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
8089
80902008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
8091
8092 * coding.c (coding_set_destination): Use BEG_BYTE rather than
8093 hardcoding 1.
8094 (detect_coding_system):
8095 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
8096 (string_char_to_byte, string_byte_to_char, insert_from_gap):
8097 * insdel.c (insert_from_gap):
8098 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
8099 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
8100 (string_to_multibyte):
8101 * character.c (chars_in_text, multibyte_chars_in_text):
8102 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
8103
8104 * character.h (FETCH_STRING_CHAR_ADVANCE)
8105 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
8106 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
8107 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
8108
8109 * casefiddle.c (casify_region): Only call after-change and composition
8110 functions on the part of the region that was changed.
8111
8112 * keyboard.c (read_avail_input):
8113 * frame.c (Fdelete_frame): Call Fdelete_terminal.
8114
81152008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
8116
8117 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
8118 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
8119
81202008-02-11 Juanma Barranquero <lekktu@gmail.com>
8121
8122 * w32menu.c (push_submenu_start, push_submenu_end)
8123 (push_left_right_boundary, push_menu_pane, push_menu_item):
8124 * keyboard.c (read_key_sequence): Don't pass args with side effects
8125 to AREF, it fails when compiling with -DENABLE_CHECKING.
8126
81272008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
8128
8129 * Makefile.in (${lispsource}international/charprop.el):
8130 Delete this target.
8131
8132 * search.c (boyer_moore): Fix incorrect synching of the trunk and
8133 emacs-unicode-2.
8134
81352008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
8136
8137 * terminal.c (Fdelete_terminal): Clean up the `force' path.
8138
81392008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
8140
8141 * frame.c (Qnoelisp): New symbol.
8142 (syms_of_frame): Initialize it.
8143 (Fdelete_frame): Use it to distinguish a mere `force' passed from some
8144 harmless Elisp code, from a strong `force' from x_connection_closed.
8145 * frame.h (Qnoelisp): Declare.
8146 * xterm.c (x_connection_closed): Pass `noelisp'.
8147
8148 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
8149 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
8150 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
8151 rather than `int' for the type of `type'.
8152
81532008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
8154
8155 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
8156
8157 * Makefile.in (GNUC): Remove support for gcc-1.x.
8158
81592008-02-10 Richard Stallman <rms@gnu.org>
8160
8161 * lisp.h (ASET): Use AREF, not ASLOT.
8162
81632008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
8164
8165 * lisp.h (ASET): Check bounds.
8166
81672008-02-10 Glenn Morris <rgm@gnu.org>
8168
8169 * buffer.c (mode-name): Doc fix.
8170
81712008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
8172
8173 * Makefile.in:
8174 * emacs.c:
8175 * gmalloc.c:
8176 * keyboard.c:
8177 * lisp.h:
8178 * m/ibm370aix.h:
8179 * process.c:
8180 * regex.c:
8181 * s/hpux.h:
8182 * sysdep.c:
8183 * sysselect.h:
8184 * systty.h:
8185 * unexec.c:
8186 * w32term.c:
8187 * xsmfns.c:
8188 * xterm.c: Remove code that deals with obsolete variables.
8189
8190 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
8191
8192 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
8193 nothing else needs it anymore.
8194
81952008-02-09 Eli Zaretskii <eliz@gnu.org>
8196
8197 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
8198 instead of unibyte_char_to_multibyte.
8199
82002008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
8201
8202 * s/gnu-linux.h: Remove commented out code.
8203
8204 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
8205
8206 * Makefile.in: Update what RMS says about using autoconf.
8207 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
8208 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
8209 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
8210 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
8211
82122008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
8213
8214 * keymap.c (Fkey_description): Move side effect outside of macro call.
8215
8216 * xfaces.c (Finternal_make_lisp_face):
8217 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
8218
8219 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
8220 (syms_of_fontset): Use ASET.
8221
8222 * fns.c (concat): Move side effect outside of macro call.
8223 (hash_clear): Use ASET.
8224
82252008-02-08 Richard Stallman <rms@gnu.org>
8226
8227 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
8228 If FORCE, and frame has a surrogate minibuffer for another frame,
8229 delete the other frame first.
8230
82312008-02-07 Timo Savola <timo.savola@iki.fi>
8232
8233 * xterm.c (x_detect_focus_change): Handle embed client message.
8234 (handle_one_xevent): Ditto.
8235 (handle_one_xevent): If embedded and we get a button press/release,
8236 request focus.
8237 (xembed_set_info, xembed_send_message): New functions.
8238 (x_make_frame_visible): Call xembed_set_info if embedded.
8239 (x_make_frame_invisible): Call xembed_set_info if embedded.
8240 (x_term_init): Initialize Xatom_XEMBED.
8241 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
8242 (x_iconify_frame): Ditto.
8243
8244 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
8245 (enum xembed_info, enum xembed_message, enum xembed_focus)
8246 (enum xembed_modifier, enum xembed_accelerator): New.
8247 (xembed_set_info, xembed_send_message): Declare.
8248 (FRAME_X_EMBEDDED_P): New.
8249
8250 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
8251 gtk_plug_new.
8252
8253 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
8254 window ID of a frame.
8255 (x_window): Reparent frame if embedded.
8256 (Fx_create_frame): Don't set border width if embedded.
8257
8258 * emacs.c (USAGE3): Add --parent-id.
8259 (standard_args): Ditto.
8260
82612008-02-07 Jan Djärv <jan.h.d@swipnet.se>
8262
8263 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
8264
82652008-02-07 Jim Meyering <meyering@redhat.com>
8266
8267 Use "do...while (0)", not "if (1)...else" in macro definitions.
8268 The latter provokes a warning from gcc about the empty else, when
8269 followed by ";". Also, without that trailing semicolon, it would
8270 silently swallow up any following statement.
8271 * syntax.h (SETUP_SYNTAX_TABLE)
8272 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
8273 * buffer.h (DECODE_POSITION): Likewise.
8274 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
8275 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
8276 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
8277 (FETCH_CHAR_ADVANCE): Likewise.
8278 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
8279
82802008-02-07 Jim Meyering <meyering@redhat.com>
8281
8282 * lread.c [lint]: Don't include <sys/inode.h>.
8283
82842008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
8285
8286 * xselect.c (x_handle_dnd_message):
8287 * xmenu.c (digest_single_submenu, xmenu_show):
8288 * xdisp.c (with_echo_area_buffer_unwind_data)
8289 (format_mode_line_unwind_data, unwind_format_mode_line)
8290 (display_menu_bar):
8291 * eval.c (Ffetch_bytecode):
8292 * doc.c (store_function_docstring):
8293 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
8294 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
8295 * buffer.c (add_overlay_mod_hooklist): Use ASET.
8296
82972008-02-07 Kenichi Handa <handa@m17n.org>
8298
8299 * ftxfont.c (ftxfont_open): Don't set
8300 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
8301
8302 * ftfont.c (ftfont_open): Fix previous change.
8303
83042008-02-06 Jason Rumney <jasonr@gnu.org>
8305
8306 * w32font.c (w32font_text_extents): Fill in lbearing metric.
8307 Use cached metrics for ASCII characters.
8308 (w32font_open_internal): Don't set font's owning_frame.
8309 Cache metrics for ASCII characters.
8310
8311 * w32font.h (struct w32font_info): Add ascii_metrics.
8312 Remove owning_frame.
8313
83142008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
8315
8316 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
8317 to negative value.
8318
8319 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
8320
8321 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
8322
8323 * charset.c (syms_of_charset): Set QCtest and Qeq.
8324
83252008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
8326
8327 * process.c (Fstart_process):
8328 * callproc.c (Fcall_process): Handle the case where
8329 Funhandled_file_name_directory returns nil.
8330
8331 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
8332 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
8333 * font.c (check_gstring): Use them and AREF to access the vector before
8334 we know it's really a gstring.
8335 (Ffont_shape_text): Fix typo.
8336 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Oject mixups.
8337
8338 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
8339 Declare.
8340
8341 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
8342
83432008-02-05 Jason Rumney <jasonr@gnu.org>
8344
8345 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
8346 Set smallest_font_height and smallest_char_width in display info.
8347
83482008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
8349
8350 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
8351
83522008-02-05 Miles Bader <miles@gnu.org>
8353
8354 * xfaces.c (get_lface_attributes, merge_named_face)
8355 (lookup_named_face, lookup_derived_face, realize_named_face):
8356 Revert 2008-02-01 change by cyd@stupidchicken.com.
8357
83582008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
8359
8360 * fontset.c (Ffontset_info): Handle the case of inhibitting the
8361 fallback fonts.
8362 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
8363
83642008-02-04 Jason Rumney <jasonr@gnu.org>
8365
8366 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
8367 set full_name.
8368 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
8369
83702008-02-03 Jason Rumney <jasonr@gnu.org>
8371
8372 * makefile.w32-in (OBJ1): Include font.o here.
8373 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
8374
83752008-02-02 Jason Rumney <jasonr@gnu.org>
8376
8377 * makefile.w32-in (temacs): Bump EMHEAP to 21.
8378
83792008-02-01 Jason Rumney <jasonr@gnu.org>
8380
8381 * s/cygwin.h: Define VIRT_ADDR_VARIES.
8382
8383 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
8384
83852008-02-01 Andreas Schwab <schwab@suse.de>
8386
8387 * Makefile.in (shortlisp, lisp): Update for rename of
8388 ../lisp/language/myanmar.el.
8389
83902008-02-01 Chong Yidong <cyd@stupidchicken.com>
8391
8392 * xfaces.c (get_lface_attributes): Delete function.
8393 (merge_named_face, lookup_named_face, lookup_derived_face)
8394 (realize_named_face): Call lface_from_face_name directly, and use
8395 the fact that merge_face_vectors does not alter its FROM argument.
8396
83972008-02-01 Jason Rumney <jasonr@gnu.org>
8398
8399 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
8400 input in the default locale. Handle non-Unicode multibyte input.
8401
84022008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8403
8404 * fontset.c (reorder_font_vector): Exclude nil elements from the
8405 font group. Don't try multiple fonts.
8406 (fontset_font): Adjust for the above change.
8407 (Finternal_char_font): Return nil if the found font doesn't
8408 contain the character ch.
8409
8410 * Makefile.in (lisp, shortlisp): Add cham.el.
8411
84122008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8413
8414 * font.h (FONTP): Make it return 1 also for a font-object.
8415
8416 * .gdbinit (xfontset): New function.
8417
8418 * font.c (font_find_for_lface): Check if the character C is
8419 supported or not only for the first font.
8420
8421 * fontset.c (reorder_font_vector): Fix typo.
8422 (fontset_find_font): Don't add a font-spec specifying a script.
8423 Use 0 (not Qt) for the indication of empty font-group. Change the
8424 format of RFONT-DEF. Return Qt if no font in the font-group
8425 support the character.
8426 (fontset_font): Adjust for the above change. If no font was
8427 found the character, remember that.
8428 (face_for_char): Adjust for the change of RFONT-DEF.
8429 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
8430 no font for the target.
8431 (Finternal_char_font): Adjust for the change of RFONT-DEF.
8432
84332008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8434
8435 * font.c (font_load_for_face): Handle the case that the font in
8436 face->lface is a string.
8437
84382008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8439
8440 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
8441
84422008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8443
8444 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
8445 Fix previous change. If the frame is not on a window system,
8446 signal an error.
8447
84482008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8449
8450 * coding.c (decode_coding_object, encode_coding_object): Adjust
8451 marker positions after conversion.
8452
8453 * lisp.h (struct Lisp_Marker): New member need_adjustment.
8454
84552008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8456
8457 * font.c (font_find_for_lface): Fix the handling of the return
8458 value of font_has_char.
8459 (Ffont_shape_text): Fix previous change.
8460
8461 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
8462 (fontset_ref_and_range): Delete it.
8463 (fontset_find_font): Call char_table_ref_and_range instead of
8464 FONTSET_REF_AND_RANGE.
8465 (make_fontset): Don't setup font groups of Latin here.
8466 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
8467 (new_fontset_from_font): Make the specified font the default for
8468 all Latin characters.
8469
84702008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8471
8472 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
8473 is on a window system before accessing the fontset of the frame.
8474
84752008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8476
8477 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
8478
8479 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
8480 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
8481
8482 * font.c (Ffont_shape_text): If the font driver doesn't have a
8483 shaper function, make zero-width glyphs to have at least one-pixel
8484 width. Fix setting of `to' field of glyphs.
8485
84862008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8487
8488 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
8489 glyphs.
8490
8491 * font.h (struct font_driver): Improve docstring of member `shape'.
8492
84932008-02-01 Kenichi Handa <handa@m17n.org>
8494
8495 * composite.c (syms_of_composite): Fix docstring of
8496 auto-composition-function.
8497
8498 * font.h (LGLYPH_SIZE): New macro.
8499
8500 * font.c (Ffont_fill_gstring): Stop filling when a character not
8501 supported by the font is found.
8502 (Ffont_shape_text): When a shape callback function returns nil,
8503 try at most two more times with larger gstring.
8504 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
8505
8506 * xdisp.c (handle_auto_composed_prop): Change the argument to
8507 auto-composition-function.
8508
8509 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
8510 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
8511 Lispy glyph and store it in the lgstring.
8512
8513 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
8514
8515 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
8516
85172008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8518
8519 * font.c (Ffont_shape_text): Avoid unnecessary composition.
8520
8521 * fontset.c (Vfont_encoding_charset_alist): New variable.
8522 (syms_of_fontset): DEFVAR it.
8523 (reorder_font_vector, fontset_find_font): Optimize for the case of
8524 no need of reordering.
8525 (face_for_char): Map the charset property by
8526 Vfont_encoding_charset_alist.
8527
85282008-02-01 Jason Rumney <jasonr@gnu.org>
8529
8530 * w32font.c (logfonts_match): Don't check adstyle here.
8531 (font_matches_spec): Check here against physical font instead.
8532 (add_font_entity_to_list): Avoid some substitutions.
8533
8534 * font.c (font_parse_fcname): Default weight and slant to normal.
8535 (font_score): Prefer normal fonts if weight or slant unspecified.
8536 (font_score) [WINDOWSNT]: Scale weight difference down to closer
8537 match freetype scores.
8538
85392008-02-01 Jason Rumney <jasonr@gnu.org>
8540
8541 * w32font.c (w32font_text_extents): Don't use the frame stored in the
8542 font, as it may have been deleted.
8543 (w32_enumfont_pattern_entity): Map generic family to adstyle using
8544 most common hyphenless variation.
8545 (logfonts_match): Check generic family.
8546 (font_matches_spec): Don't check generic family here.
8547 (fill_in_logfont): Set generic family based on adstyle.
8548
8549 * w32font.h (w32font_get_cache): Update declaration.
8550
85512008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8552
8553 * ftfont.c (ftfont_get_cache): Adjust the argument type.
8554
8555 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
8556 If none of the new drivers are available, call font_update_drivers
8557 with the old drivers.
8558
8559 * w32font.c (w32font_get_cache): Adjust the argument type.
8560
8561 * xfont.c (xfont_get_cache): Adjust the argument type.
8562
8563 * font.h (struct font_driver): Change argument type of get_cache.
8564
8565 * xftfont.c (xftfont_start_for_frame): Delete prototype.
8566
8567 * font.c (Ffont_get): Fix arguments to Fassoc.
8568 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
8569 (font_clear_cache): New function.
8570 (font_list_entities, font_matching_entity): Use font_get_cache.
8571 (font_update_drivers): Call font_clear_cache when finishing a driver.
8572
8573 * fontset.c (fontset_find_font): Fix previous change.
8574
85752008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8576
8577 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
8578 dpyinfo->font_table.
8579 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
8580 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
8581
8582 * font.c (font_at): Handle the case that the arg C is negative.
8583 Handle the unibyte case.
8584 (Ffont_at): Call font_at with the arg C -1.
8585
8586 * xdisp.c (handle_auto_composed_prop): Don't get a character at
8587 the position here, and call font_at with the arg C -1.
8588 Don't check the range of the existing composition at the point.
8589
85902008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8591
8592 * fontset.c (fontset_add): New args charset_id and family.
8593 Change caller.
8594 (load_font_get_repertory, fontset_find_font): Assume that
8595 font_spec is always a font-spec object.
8596 (Fset_fontset_font): Always store a font-spec object in a fontset.
8597
8598 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
8599 instead of get_property_and_range.
8600
86012008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8602
8603 * xftfont.c (struct xftfont_info): Delete the member ft_face.
8604 (xftfont_open): Don't keep locking face.
8605 (xftfont_close): Don't unlock face.
8606 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
8607
8608 * fontset.c (fontset_find_font): Don't prefer a font of
8609 supplementary charset.
8610
86112008-02-01 Kenichi Handa <handa@m17n.org>
8612
8613 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
8614 script, langsys_tag to langsys, new member script.
8615 (OTF_TAG_STR): Terminate by '\0'.
8616 (ftfont_get_open_type_spec): If :otf prop is is spec, Limit the
8617 listing to the script specified in that property. Fix arg to
8618 OTF_check_features.
8619
86202008-02-01 Jason Rumney <jasonr@gnu.org>
8621
8622 * w32font.h: New file.
8623
8624 * w32font.c: Include it.
8625 (struct w32font_info): Add owning_frame field. Move to w32font.h.
8626 (w32font_open): Set owning_frame.
8627 (w32font_text_extents): Use owning_frame.
8628 (struct font_callback_data): Add opentype_only field.
8629 (add_font_entity_to_list): Use it to filter fonts.
8630 Don't check against full name.
8631 (w32font_list_internal): New function.
8632 (w32font_list): Use it.
8633 (w32font_match_internal): New function.
8634 (w32font_match): Use it.
8635 (w32font_open_internal): New function.
8636 (w32font_open): Use it.
8637 (w32font_get_cache, w32font_close, w32font_has_char)
8638 (w32font_encode_char, w32font_text_extents, w32font_draw):
8639 Make non-static.
8640
8641 * makefile.w32-in (w32font.o): Depend on w32font.h.
8642
86432008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8644
8645 * charset.c (Fdefine_charset_internal): Record a supplementary
8646 charset at the tail of Vcharset_order_list.
8647
8648 * font.c (Ffont_shape_text): Fix the return value.
8649
8650 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
8651
8652 * xdisp.c (handle_auto_composed_prop): Fix previous change.
8653
86542008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8655
8656 * ftfont.c (struct OpenTypeSpec): New struct.
8657 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
8658 (ftfont_get_open_type_spec): New function.
8659 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
8660
8661 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
8662
86632008-02-01 Jason Rumney <jasonr@gnu.org>
8664
8665 * w32font.c (add_font_entity_to_list): Compare only the beginning
8666 of full name.
8667
86682008-02-01 Kenichi Handa <handa@m17n.org>
8669
8670 * xdisp.c (handle_auto_composed_prop): Simplify the code.
8671 Never return HANDLED_RECOMPUTE_PROPS.
8672
86732008-02-01 Kenichi Handa <handa@m17n.org>
8674
8675 * font.c (font_gstring_produce): Delete it.
8676
8677 * composite.h (COMPOSITION_METHOD):
8678 Handle COMPOSITION_WITH_GLYPH_STRING.
8679
86802008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8681
8682 * xfont.c (Qx): Delete.
8683 (syms_of_xfont): Don't initialize Qx.
8684
8685 * composite.h (enum composition_method):
8686 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
8687
86882008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8689
8690 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
8691 (choose_face_font): Accept new form of font-spec.
8692
8693 * frame.h (font_driver_list): Declare it unconditionally.
8694 (struct frame): Define members font_driver_list and font_data_list
8695 unconditionally.
8696
8697 * fontset.c: Include "font.h" unconditionally.
8698 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
8699 (Fset_fontset_font): Accept a font-spec object.
8700
8701 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
8702 PIXEL_SIZE part a wild card.
8703
8704 * dispextern.h (struct glyph_string): Define members clip and
8705 num_clips unconditionally.
8706 (struct face): Define members font_info and extra unconditionally.
8707
8708 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
8709 ftfont_info only when HAVE_LIBOTF is defined.
8710
87112008-02-01 Andreas Schwab <schwab@suse.de>
8712
8713 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
8714 and end.
8715
87162008-02-01 Jason Rumney <jasonr@gnu.org>
8717
8718 * w32font.c (w32font_driver): Add new fields.
8719
87202008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8721
8722 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
8723 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
8724 (LIBES): Add @M17N_FLT_CFLAGS@.
8725
8726 * composite.c (compose_text): Don't treat the new style
8727 composition specially.
8728
8729 * emacs.c (main): Call syms_of_font unconditionally.
8730
8731 * font.h (FONT_ENTITY_NOT_LOADABLE)
8732 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
8733 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
8734 (struct font_driver): New member shape.
8735 (font_registry_charsets): Extern it.
8736 (font_find_for_lface, font_prepare_composition): Adjust prototype.
8737 (font_otf_capability, font_drive_otf): Delete their externs.
8738
8739 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
8740 (font_charset_alist, font_registry_charsets): Move from xfont.c
8741 and rename.
8742 (font_prop_validate_otf): New function.
8743 (font_property_table): Register it for QCotf.
8744 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
8745 (font_drive_otf): Delete.
8746 (font_prepare_composition): New arg F. Adjust for the change of
8747 lispy gstring.
8748 (font_find_for_lface): New arg C.
8749 (font_load_for_face): Adjust for the change of font_find_for_lface.
8750 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
8751 lispy gstring.
8752 (Ffont_shape_text): New function.
8753 (Fopen_font): If the font size is not given, use 12-pixel.
8754 (Ffont_at): New arg STRING.
8755 (syms_of_font): Initalize font_charset_alist.
8756 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
8757 conditionally.
8758
8759 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
8760 fonts of the same font-spec. Change the format of RFONT-DEF.
8761 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
8762 Adjust for the change of RFONT-DEF.
8763 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
8764
8765 * ftfont.h: New file.
8766
8767 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
8768 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
8769 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
8770 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
8771 font_otf_capability and font_drive_otf, set ftfont_shape.
8772 (ftfont_list): Adjust for the change of :otf property value.
8773 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
8774 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
8775 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
8776 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
8777 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
8778 (otf_gstring, gstring, m17n_flt_initialized): New variables.
8779
8780 * w32term.c (x_draw_composite_glyph_string_foreground):
8781 Adjust for the change of lispy gstring.
8782
8783 * xdisp.c (handle_composition_prop): Adjust for the change of
8784 lispy gstring. Call a function for auto-composition with the
8785 third arg it->window.
8786 (fill_composite_glyph_string): Adjust for the change of lispy string.
8787 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
8788
8789 * xfaces.c (set_font_frame_param): Adjust for the change of
8790 font_find_for_lface.
8791
8792 * xfont.c (x_font_charset_alist): Move to font.c and rename.
8793 (xfont_registry_charsets): Likewise. Change caller.
8794 (syms_of_xfont): Don't handle x_font_charset_alist.
8795
8796 * xftfont.c: Include "ftfont.h".
8797 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
8798 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
8799 (xftfont_close) [HAVE_LIBOTF]: Close otf.
8800 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
8801 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
8802 Set xftfont_driver.shape to xftfont_shape.
8803
8804 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
8805 the change of lispy gstring.
8806
88072008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8808
8809 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
8810
88112008-02-01 Jason Rumney <jasonr@gnu.org>
8812
8813 * w32font.c (w32font_draw): Fill background manually.
8814
88152008-02-01 Jason Rumney <jasonr@gnu.org>
8816
8817 * font.c (Qfontp): Remove unused symbol.
8818 (QCantialias): New symbol.
8819 (syms_of_font): Define it.
8820 (font_property_table): Set a validator for QCantialias.
8821
8822 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
8823 Define if not already.
8824 (QCfamily): Share with xfaces.c.
8825 (Qstandard, Qsubpixel, Qnatural): New symbols.
8826 (syms_of_w32font): Define them. Don't define QCfamily here.
8827 (w32_antialias_type, lispy_antialias_type): New functions.
8828 (w32_enumfont_pattern_entity): New arg requested_font.
8829 Set antialias parameter if non-default was requested.
8830 (fill_in_logfont): Fill in lfQuality if :antialias specified.
8831
88322008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8833
8834 * lread.c (read1): Undo the previous change.
8835
88362008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
8837
8838 * frame.c (Fdelete_frame): Call font_update_drivers only when
8839 USE_FONT_BACKEND is defined.
8840
88412008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8842
8843 * font.h (struct font_bitmap): New member bits_per_pixel.
8844 (struct font_driver): New members start_for_frame and end_for_frame.
8845 (struct font_data_list): New struct.
8846 (font_put_frame_data, font_get_frame_data): Extern them.
8847
8848 * frame.h (struct frame): New member font_data_list.
8849
8850 * font.c (font_update_drivers): Call driver->start_for_frame and
8851 driver->end_for_frame at proper timings.
8852 (font_put_frame_data, font_get_frame_data): New functions.
8853 (Ffont_spec): Add usage in the docstring.
8854
8855 * frame.c (make_frame): Initialize f->font_data_list to NULL.
8856 (Fdelete_frame): Call font_update_drivers.
8857
8858 * xftfont.c (struct xftface_info): Delete the member xft_draw.
8859 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
8860 (xftfont_get_xft_draw): New function.
8861 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
8862 (xftfont_end_for_frame): New function.
8863 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
8864
8865 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
8866 Change argument. Cache GCs in the per-frame data.
8867 (struct ftxfont_frame_data): New struct.
8868 (ftxfont_draw_bitmap): New arg gc_fore and flush.
8869 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
8870 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
8871 (ftxfont_end_for_frame): New function.
8872 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
8873
8874 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
8875
88762008-02-01 Kenichi Handa <handa@m17n.org>
8877
8878 * xselect.c (Vselection_coding_system)
8879 (Vnext_selection_coding_system): Delete them.
8880 (syms_of_xselect): Don't declare selection-coding-system and
8881 next-selection-coding-system. They are declared in select.el.
8882
88832008-02-01 Jason Rumney <jasonr@gnu.org>
8884
8885 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
8886
8887 * w32fns.c: Include imm.h.
8888 (get_composition_string_fn, get_ime_context_fn): New optional
8889 system functions.
8890 (globals_of_w32fns): Load them from imm32.dll.
8891 (ignore_ime_char): New flag.
8892 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
8893 WM_IME_ENDCOMPOSITION messages.
8894
8895 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
8896 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
8897
88982008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8899
8900 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
8901 (READCHAR_REPORT_MULTIBYTE): New macro.
8902 (readchar): New 2nd arg MULTIBYTE.
8903 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
8904 Make symbol's name multibyte according to the multibyteness of the
8905 source.
8906
89072008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8908
8909 * xfaces.c (face_for_overlay_string): Call lookup_face with
8910 correct arguments (fix of synching with the trunk).
8911
89122008-02-01 Kenichi Handa <handa@m17n.org>
8913
8914 * font.c (font_prop_validate_symbol, font_prop_validate_style)
8915 (font_prop_validate_non_neg, font_prop_validate_spacing):
8916 Delete argument prop_index.
8917 (font_property_table): Change arguments to validater. Change Callers.
8918 (font_lispy_object): Delete.
8919 (font_at): Use font_find_object instead fo font_lispy_object.
8920
89212008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8922
8923 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
8924 and file names.
8925
89262008-02-01 Jason Rumney <jasonr@gnu.org>
8927
8928 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
8929 (font_matches_spec): Remove debug output.
8930 (add_font_entity_to_list): Avoid using substituted fonts.
8931
89322008-02-01 Jason Rumney <jasonr@gnu.org>
8933
8934 * doc.c (Fsnarf_documentation):
8935 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
8936
89372008-02-01 Miles Bader <miles@gnu.org>
8938
8939 * dispextern.h (struct glyph_row): Only define "clip" field if
8940 HAVE_WINDOW_SYSTEM is defined.
8941
89422008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
8943
8944 Fix up multi-tty merge.
8945
8946 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
8947 and indentation.
8948
8949 * xfaces.c (free_realized_face, clear_face_gcs):
8950 Include font_done_for_face in the input_blocked section, just in case.
8951
8952 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
8953 (get_char_face_and_encoding): Undo last change and remove the *other*
8954 duplicate definition (i.e. keep the one that's better scoped and that
8955 includes code for the font-backend).
8956
8957 * terminal.c (create_terminal): Default keyboard_coding to
8958 `no-conversion' and terminal_coding to `undecided'.
8959
8960 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
8961
8962 * fontset.c (free_realized_fontsets): Check that the table entry does
8963 contain a fontset before trying to compare it to `base'.
8964
8965 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
8966 syms_of_charset, and syms_of_coding earlier because init_window_once
8967 now needs Vcoding_system_hash_table to be setup.
8968
8969 * coding.h (default_buffer_file_coding): Remove.
8970
8971 * coding.c (default_buffer_file_coding): Remove.
8972 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
8973 than ->symbol, and use the terminal-local coding system.
8974 (syms_of_coding): Don't setup the coding-systems that are not
8975 terminal-local.
8976 (Fdefine_coding_system_internal): Use XCAR/XCDR.
8977
8978 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
8979 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
8980
8981 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
8982 in chartab.c and were re-added here by mistake.
8983 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
8984
8985 * doc.c (Fsnarf_documentation):
8986 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
8987 src to etc.
8988
8989 * ChangeLog.10: Add mistakenly removed entry.
8990
89912008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
8992
8993 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
8994
89952008-02-01 Miles Bader <miles@gnu.org>
8996
8997 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
8998 Add extra args to FACE_FOR_CHAR.
8999
90002008-02-01 Kenichi Handa <handa@m17n.org>
9001
9002 * keymap.c (where_is_internal_1): If key is a cons, store the copy
9003 in sequence.
9004
9005 * chartab.c (map_sub_char_table, map_char_table): If the range
9006 contains just one character, call the function with that character
9007 even if the depth is not 3.
9008
90092008-02-01 Jason Rumney <jasonr@gnu.org>
9010
9011 * w32font.c (w32font_text_extents): Calculate metrics for the
9012 whole string.
9013
90142008-02-01 Jason Rumney <jasonr@gnu.org>
9015
9016 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
9017
90182008-02-01 Jason Rumney <jasonr@gnu.org>
9019
9020 * w32term.c (x_set_glyph_string_clipping): Use
9021 get_glyph_string_clip_rects.
9022 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
9023 Adjust for the change of struct glyph_string.
9024
9025 * w32font.c (w32font_draw): Do clipping here.
9026
90272008-02-01 Kenichi Handa <handa@m17n.org>
9028
9029 * xftfont.c (xftfont_draw): Adjust for the change of struct
9030 glyph_string.
9031
9032 * xterm.c (x_set_glyph_string_clipping): Use
9033 get_glyph_string_clip_rects.
9034 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
9035 Adjust for the change of struct glyph_string.
9036
9037 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
9038 the resulting clip(s}.
9039 (expose_overlaps): Add arg r. Change callers. Set it to
9040 row->clip temporarily.
9041 (expose_window): Redraw rows overlapping the exposed area.
9042
9043 * dispextern.h (struct glyph_row): New member clip.
9044 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
9045 clip_height, new member clip, and num_clips.
9046
90472008-02-01 Kenichi Handa <handa@m17n.org>
9048
9049 * data.c (Fchar_or_string_p): Fix docstring.
9050
90512008-02-01 Kenichi Handa <handa@m17n.org>
9052
9053 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
9054 create a temporary XftDraw object.
9055
90562008-02-01 Kenichi Handa <handa@m17n.org>
9057
9058 * font.c (Ffontp): Fix docstring.
9059
9060 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
9061 strong evidence of ISO-2022.
9062
90632008-02-01 Kenichi Handa <handa@m17n.org>
9064
9065 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
9066 SYNTAX_ENTRY_FOLLOW_PARENT.
9067
90682008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
9069
9070 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
9071 its type.
9072 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
9073 Update to the new type of weak_hash_tables and next_weak.
9074
9075 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
9076 a plain C pointer to Lisp_Hash_Table.
9077
9078 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
9079 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
9080 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
9081 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
9082 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
9083 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
9084 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
9085 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
9086 (GC_EQ): Remove since they've been identical to their non-GC_
9087 alter-egos ever since the markbit was eradicated.
9088
9089 * alloc.c:
9090 * buffer.c:
9091 * buffer.h:
9092 * data.c:
9093 * fileio.c:
9094 * filelock.c:
9095 * fns.c:
9096 * frame.h:
9097 * lisp.h:
9098 * macterm.c:
9099 * print.c:
9100 * process.c:
9101 * w32fns.c:
9102 * w32menu.c:
9103 * w32term.c:
9104 * xfns.c:
9105 * xmenu.c:
9106 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
9107
91082008-02-01 Kenichi Handa <handa@m17n.org>
9109
9110 * chartab.c (map_sub_char_table): Make it work for the top-level
9111 char-table. Fix handling of parent char-table.
9112 (map_char_table): Adjust for the above change.
9113
91142008-02-01 Jason Rumney <jasonr@gnu.org>
9115
9116 * w32font.c (Qgdi): Rename from Qw32.
9117
91182008-02-01 Jason Rumney <jasonr@gnu.org>
9119
9120 * w32bdf.c (get_quoted_string): Make function static.
9121
91222008-02-01 Kenichi Handa <handa@m17n.org>
9123
9124 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
9125 bigger ascent and descent than those of the font, use them as
9126 font's ascent and descent.
9127
91282008-02-01 Kenichi Handa <handa@m17n.org>
9129
9130 * Makefile.in (${lispsource}international/charprop.el): Move this
9131 target within "#ifdef HAVE_UNIDATA" and "#endif".
9132
91332008-02-01 Kenichi Handa <handa@m17n.org>
9134
9135 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
9136 (shortlisp): Add ../lisp/language/tai-viet.el.
9137
91382008-02-01 Ulrich Mueller <ulm@gentoo.org>
9139
9140 * Makefile.in (${lispsource}international/charprop.el): Depend on
9141 temacs${EXEEXT}.
9142
91432008-02-01 Jason Rumney <jasonr@gnu.org>
9144
9145 * w32font.c (w32font_close): Delete the GDI font object.
9146
9147 * w32menu.c: Include character.h.
9148
9149 * w32proc.c: Likewise.
9150
9151 * w32select.c: Likewise.
9152
9153 * makefile.w32-in (w32proc.o): Depend on character.h.
9154
91552008-02-01 Jason Rumney <jasonr@gnu.org>
9156
9157 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
9158
9159 * w32menu.c (syms_of_w32menu): Likewise.
9160
9161 * w32proc.c (syms_of_ntproc): Likewise.
9162
9163 * w32select.c (syms_of_w32select): Likewise.
9164
9165 * w32term.c (syms_of_w32term): Likewise.
9166
91672008-02-01 Jason Rumney <jasonr@gnu.org>
9168
9169 * w32font.c (w32font_draw): Delete brush after using it.
9170
91712008-02-01 Jason Rumney <jasonr@gnu.org>
9172
9173 * w32font.c (w32font_open): Don't set font_idx.
9174 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
9175 to font settings.
9176 (w32font_draw): Fill background explicitly.
9177
91782008-02-01 Jason Rumney <jasonr@gnu.org>
9179
9180 * w32term.c (w32_initialize): Don't call w32font_initialize.
9181
9182 * w32font.c (w32font_info): Remove subranges.
9183 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
9184 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
9185 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
9186 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
9187 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
9188 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
9189 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
9190 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
9191 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
9192 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
9193 New symbols.
9194 (font_callback_data): New struct.
9195 (w32font_list, w32font_match): Use it.
9196 (w32font_open): Don't populate subranges.
9197 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
9198 (w32font_encode_char): Always return unicode code-point as-is.
9199 (w32font_text_extents): Supply a transformation matrix to
9200 GetGlyphOutline. Never look up by glyph index. Avoid looping
9201 twice. Use unicode version of GetTexExtentPoint32 instead of
9202 glyph index version.
9203 (set_fonts_frame): Remove.
9204 (w32_enumfont_pattern_entity): Add frame parameter, use it to
9205 set frame parameter. Use backward compatible fake foundries.
9206 Save generic family in extra slot under QCfamily. Make width slot
9207 constant. Save QCspacing value. Save list of scripts instead of
9208 binary subranges.
9209 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
9210 (add_font_entity_to_list): Use font_callback_data struct. Filter
9211 unwanted fonts.
9212 (add_one_font_entity_to_list): Use font_callback_data struct.
9213 (w32_registry): Default to iso10646_1.
9214 (fill_in_logfont): Use dpi from extra slot. Don't bother with
9215 string font registries. Don't fill in font name if it is a generic
9216 family name, fill family instead. Use spacing, family and script
9217 extra info to fill pitch, family and charset fields.
9218 (list_all_matching_fonts): Use font_callback_data struct.
9219 (unicode_range_for_char): Remove.
9220 (font_supported_scripts): New function.
9221 (w32font_initialize): Remove.
9222 (syms_of_w32font): Update which symbols are defined.
9223
92242008-02-01 Jason Rumney <jasonr@gnu.org>
9225
9226 * font.c (font_pixel_size): Reverse assq_no_quit args.
9227
9228 * w32term.h (FONT_WIDTH): Report max width, not average.
9229 (FONT_MAX_WIDTH): Remove.
9230 (FONT_AVG_WIDTH): New macro.
9231
9232 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
9233 redefinition of FONT_WIDTH.
9234
9235 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
9236 (w32_cache_char_metrics): Use FONT_WIDTH.
9237
9238 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
9239
92402008-02-01 Jason Rumney <jasonr@gnu.org>
9241
9242 * w32font.c (w32font_open): Make lfHeight negative.
9243
9244 * w32fns.c (x_default_font_parameter): Use new style font name.
9245 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
9246
92472008-02-01 Jason Rumney <jasonr@gnu.org>
9248
9249 * w32font.c (QCsubranges): New symbol.
9250 (w32font_open, w32font_has_char): Get subranges from subproperty
9251 of extra.
9252 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
9253 (syms_of_w32font): Define :subranges symbol.
9254
9255 * font.c (font_put_extra): Expose externally.
9256
9257 * font.h (font_put_extra): Move declaration from font.c.
9258
9259 * font.c (Ffont_get): Use font driver to determine otf capability.
9260 (adjust_anchor): Check if driver defines anchor_point before using.
9261
9262 * w32font.c (w32font_open): Handle size, height and pixel_size better.
9263 (w32font_draw): Use options.
9264 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
9265 Fix detection of truetype fonts.
9266 (registry_to_w32_charset): Handle charsets other than iso8859-1
9267 expressed as lisp symbols.
9268 (w32_registry): Express charset as lisp symbol.
9269 (fill_in_logfont): Reverse pixel and point height logic.
9270 Don't set width here. Set quality to default.
9271
9272 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
9273 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
9274
9275 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
9276 Remove redundant loop and allocation.
9277
9278 * makefile.w32-in (font.o, w32font.o): New objects.
9279 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
9280 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
9281
9282 * xdisp.c (fill_composite_glyph_string): Make the first arg to
9283 STORE_XCHARB a valid l-value.
9284
9285 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
9286 calculations for non-Truetype fonts.
9287 (x_draw_glyph_string): Sync with xterm.c.
9288 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
9289 Remove redundant code.
9290 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
9291
9292 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
9293 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
9294
9295 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
9296 (x_to_w32_charset, w32_to_x_charset): Expose externally.
9297
9298 * w32font.c: New file for w32 font backend.
9299
93002008-02-01 Kenichi Handa <handa@m17n.org>
9301
9302 * term.c: Don't include "buffer.h" twice.
9303
93042008-02-01 Kenichi Handa <handa@m17n.org>
9305
9306 * character.c (Funibyte_string): New function.
9307 (syms_of_character): Defsubr it.
9308
93092008-02-01 Jason Rumney <jasonr@gnu.org>
9310
9311 * w32term.c [USE_FONT_BACKEND]:
9312 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
9313 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
9314 (x_draw_glyph_string, x_draw_glyph_string_foreground)
9315 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
9316 (x_free_frame_resources): Sync with xterm.c.
9317
93182008-02-01 Andreas Schwab <schwab@suse.de>
9319
9320 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
9321 char-table size.
9322
93232008-02-01 Kenichi Handa <handa@m17n.org>
9324
9325 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
9326
93272008-02-01 Kenichi Handa <handa@m17n.org>
9328
9329 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
9330 font_otf_gpos, add font_drive_otf.
9331
9332 * fontset.c (fontset_find_font): Pay attention to font size
9333 specified for a font.
9334 (reorder_font_vector): Check contents of font_def.
9335
9336 * font.c (struct otf_list): Delete it.
9337 (otf_list): Make it a lisp variable.
9338 (otf_open): Use lispy otf_list.
9339 (generate_otf_features): Rename from parse_gsub_gpos_spec.
9340 (check_otf_features): New function.
9341 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
9342 New functions.
9343 (font_drive_otf): New function merging font_otf_gsub and
9344 font_otf_gpos.
9345 (font_open_for_lface): New arg spec. Change argument order.
9346 (font_load_for_face): Adjust for the change of font_open_for_lface.
9347 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
9348 Ffont_otf_gpos.
9349 (syms_of_font): Staticpro otf_list. Delete defsubr of
9350 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
9351
9352 * xfaces.c (set_font_frame_param): Adjust for the change of
9353 font_open_for_lface.
9354
9355 * font.h (font_open_for_lface): Adjust prototype.
9356 (struct font_driver): Delete members otf_gsub and otf_gpos, add
9357 member otf_drive.
9358 (font_otf_gsub, font_otf_gpos): Delete externs.
9359 (font_drive_otf): Extern it.
9360
93612008-02-01 Kenichi Handa <handa@m17n.org>
9362
9363 * font.c (font_at): If the window W is not on a window system,
9364 return Qnil.
9365
9366 * coding.c (produce_chars, encode_coding): Don't call
9367 insert_from_gap if no characters to produce.
9368
93692008-02-01 Kenichi Handa <handa@m17n.org>
9370
9371 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
9372 Fclear_face_cache.
9373
9374 * xfaces.c (face_for_font): Check also face->font==font->font.font.
9375
93762008-02-01 Miles Bader <miles@gnu.org>
9377
9378 * emacs.c (main): Change default value of `enable_font_backend' to 1.
9379 Parse "--disable-font-backend" option.
9380 (standard_args): Add "--disable-font-backend" option.
9381
93822008-02-01 Kenichi Handa <handa@m17n.org>
9383
9384 * fontset.c (fontset_find_font): New function.
9385 (fontset_font): Use fontset_find_font.
9386 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
9387 Register the specified font for all Latin characters.
9388 (new_fontset_from_font): Register the specified font for all Latin
9389 characters.
9390 (dump_fontset): For a realized fontset, include the base fontset
9391 name in the returned vector.
9392
93932008-02-01 Kenichi Handa <handa@m17n.org>
9394
9395 * character.h (CHAR_STRING): Cast C to unsigned on calling
9396 char_string.
9397
9398 * character.c (char_string): Type of arg C changed to unsigned.
9399 Signal an error if C is an invalid character code.
9400
9401 * editfns.c (general_insert_function, Fchar_to_string):
9402 Use CHARACTERP, not INTEGERP.
9403
94042008-02-01 Kenichi Handa <handa@m17n.org>
9405
9406 * character.h (MIN_MULTIBYTE_LEADING_CODE)
9407 (MAX_MULTIBYTE_LEADING_CODE): New macros.
9408
9409 * regex.c (analyse_first): Fix for multibyte characters in "case
9410 charset:" and "case categoryspec:".
9411
94122008-02-01 Andreas Schwab <schwab@suse.de>
9413
9414 * Makefile.in (LIBES): Move standard libraries to the end.
9415
94162008-02-01 Kenichi Handa <handa@m17n.org>
9417
9418 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
9419 nonzero, don't shrink the buffer nextb.
9420
9421 * buffer.h (struct buffer_text): New member inhibit_shrinking.
9422
9423 * coding.c (coding_alloc_by_making_gap): New arg offset.
9424 (alloc_destination): Call coding_alloc_by_making_gap with the arg
9425 offset.
9426 (decode_coding_iso_2022): Update coding->safe_charsets.
9427 (decode_coding_gap): Temporarily set
9428 current_buffer->text->inhibit_shrinking to 1.
9429
94302008-02-01 Kenichi Handa <handa@m17n.org>
9431
9432 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
9433 indexing into elements of s->cmp and s->char2b.
9434
94352008-02-01 Juanma Barranquero <lekktu@gmail.com>
9436
9437 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
9438
94392008-02-01 Kenichi Handa <handa@m17n.org>
9440
9441 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
9442 target_multibyte instead of multibyte.
9443 (re_match_2_internal): Call bcmp_translate with target_multibyte.
9444 (bcmp_translate): Change the argument name from multibyte to
9445 target_multibyte.
9446
94472008-02-01 Kenichi Handa <handa@m17n.org>
9448
9449 These changes are to compile a regexp into a pattern that can be
9450 used both for multibyte and unibyte targets.
9451
9452 * Makefile.in (search.o): Depend on charset.h.
9453
9454 * character.c (multibyte_char_to_unibyte_safe): New function.
9455
9456 * search.c: Include "charset.h".
9457 (compile_pattern_1): Delete argument multibyte. Don't set
9458 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
9459 (compile_pattern): Don't compare cp->buf.target_multibyte.
9460 Compare cp->buf.charset_unibyte.
9461 (compile_pattern): Set cp->buf.target_multibyte.
9462
9463 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
9464
9465 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
9466
9467 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
9468 multibyte. Change callers.
9469 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
9470 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
9471 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
9472 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
9473 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
9474 (regex_compile): Make the compiled pattern usable both for
9475 multibyte and unibyte targets.
9476 (analyse_first): Make the fastmap usable both for multibyte and
9477 unibyte targets.
9478 (TRANSLATE_VIA_MULTIBYTE): Delete.
9479 (re_match_2_internal): Pay attention to the case that the
9480 multibyteness of bufp and target may be different.
9481
94822008-02-01 Kenichi Handa <handa@m17n.org>
9483
9484 * xdisp.c (x_produce_glyphs): When a font is not found, make the
9485 empty box occupy at least one column width.
9486
94872008-02-01 Miles Bader <miles@gnu.org>
9488
9489 * Makefile.in: Remove redundant HAVE_XFT clause.
9490
94912008-02-01 Kenichi Handa <handa@m17n.org>
9492
9493 * xrdb.c (x_load_resources): Setup the default fontSet X resource.
9494
94952008-02-01 Kenichi Handa <handa@m17n.org>
9496
9497 * fontset.c (Finternal_char_font): Fix for the case of POSITION
9498 being nil.
9499
95002008-02-01 Kenichi Handa <handa@m17n.org>
9501
9502 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
9503
95042008-02-01 Kenichi Handa <handa@m17n.org>
9505
9506 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
9507
95082008-02-01 Kenichi Handa <handa@m17n.org>
9509
9510 * search.c (simple_search): Fix previous change.
9511
95122008-02-01 Kenichi Handa <handa@m17n.org>
9513
9514 * xftfont.c (ftfont_font_format): Extern declaration.
9515
9516 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
9517
9518 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
9519 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
9520
9521 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
9522 (ftfont_font_format): Fix previous change.
9523
9524 * font.h (Ffont_xlfd_name): EXFUN it.
9525
9526 * font.c (font_parse_xlfd): Fix the array size of `f'.
9527 (register_font_driver): Use EQ to compare driver->type.
9528
9529 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
9530 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
9531 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
9532
95332008-02-01 Kenichi Handa <handa@m17n.org>
9534
9535 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
9536 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
9537
95382008-02-01 Kenichi Handa <handa@m17n.org>
9539
9540 * xfont.c (xfont_open): Set font->format.
9541
9542 * xftfont.c (xftfont_open): Set font->format.
9543
9544 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
9545 (ftfont_list): Include FC_FONTFORMAT in FcObject.
9546 (ftfont_open): Set font->format.
9547 (ftfont_font_format): New function.
9548
9549 * font.h (struct font): New member format.
9550
9551 * font.c (Qopentype): New variable.
9552 (syms_of_font): Defsym it.
9553 (Fquery_font): Change the format of the last element of the return
9554 value.
9555
95562008-02-01 Kenichi Handa <handa@m17n.org>
9557
9558 * xfns.c (xic_create_xfontset): Try the default fontset name as a
9559 last resort.
9560
95612008-02-01 Kenichi Handa <handa@m17n.org>
9562
9563 * coding.c (detect_coding_charset): Fix detection of multi-byte
9564 charset.
9565
95662008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
9567
9568 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
9569
95702008-02-01 Kenichi Handa <handa@m17n.org>
9571
9572 * xdisp.c (get_next_display_element): Set it->face_id for the
9573 first component of a composition.
9574 (x_produce_glyphs): Check if the font is changed or not for composition.
9575
95762008-02-01 Kenichi Handa <handa@m17n.org>
9577
9578 * fontset.c (Qlatin): New variable.
9579 (syms_of_fontset): Define it as a lisp symbol.
9580 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
9581
95822008-02-01 Kenichi Handa <handa@m17n.org>
9583
9584 * font.c (font_unparse_fcname): Pay attention to the case that
9585 some of font property is a null string.
9586
95872008-02-01 Kenichi Handa <handa@m17n.org>
9588
9589 * term.c: Include "composite.h".
9590 (encode_terminal_code): Output all components of composition.
9591 Check the size of encode_terminal_src.
9592 (produce_glyphs): For composition, call produce_composite_glyph.
9593 (append_composite_glyph, produce_composite_glyph): New functions.
9594
9595 * xdisp.c (x_produce_glyphs): In handling composition, if a font
9596 is not found, get font_info from the current ascii face.
9597
95982008-02-01 Kenichi Handa <handa@m17n.org>
9599
9600 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
9601 buffer-file-name to Qnil before calling insert_from_buffer.
9602
9603 * font.c (font_unparse_fcname): Pay attention to the case that
9604 foundry is a null string.
9605
96062008-02-01 Kenichi Handa <handa@m17n.org>
9607
9608 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
9609
9610 * font.c (Qunicode_sip): New variable.
9611 (syms_of_font): Declare it as a Lisp symbol.
9612
9613 * font.h (Qunicode_sip): Extern it.
9614
96152008-02-01 Kenichi Handa <handa@m17n.org>
9616
9617 * composite.c (get_composition_id): Pay attention to TAB component.
9618
9619 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
9620 TAB. Adjust for the change of s->char2b which always points to
9621 the first element of allocated memory.
9622
9623 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
9624
9625 * xdisp.c (handle_composition_prop): Set it->c to the first
9626 non-TAB component.
9627 (fill_composite_glyph_string): Change argument.
9628 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
9629 (x_produce_glyphs): Fix handling of left/right padding.
9630
96312008-02-01 Kenichi Handa <handa@m17n.org>
9632
9633 * coding.c (detect_coding_system): Fix for handling off
9634 inhibit_iso_escape_detection. Fix for the case that no coding
9635 system is defined for a specific coding category.
9636
96372008-02-01 Kenichi Handa <handa@m17n.org>
9638
9639 * font.c (font_matching_entity): Delete unused local var.
9640
9641 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
9642 opening a font.
9643
9644 * fileio.c (Finsert_file_contents): On recovering a file, assume
9645 Unix-like eol.
9646 (choose_write_coding_system): On auto-saving a file, force
9647 Unix-like eol.
9648
9649 * coding.c (setup_coding_system): Fix setting of
9650 coding->common_flags based on eol_type.
9651 (coding_inherit_eol_type): If PARENT is not nil, be sure to
9652 inherit from it.
9653
96542008-02-01 Kenichi Handa <handa@m17n.org>
9655
9656 * alloc.c (NSTATICS): Increas to 0x600.
9657
96582008-02-01 Kenichi Handa <handa@m17n.org>
9659
9660 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
9661 (ftfont_list): Don't check :name property.
9662 (ftfont_match): New function.
9663 (ftfont_pattern_entity): If the pattern doesn't contain
9664 FC_SPACING, don't assume FC_MONO.
9665
9666 * font.h (struct font_driver): New member `match'.
9667 (font_update_drivers): Adjust prototype.
9668
9669 * font.c (font_parse_fcname, font_parse_name): Don't change :name
9670 property of FONT.
9671 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
9672 them unconditionally.
9673 (font_matching_entity): New function.
9674 (font_open_by_name): Try font_matching_entity if exact match is
9675 not found.
9676 (font_update_drivers): Delete the arg FONT. Return a list of
9677 actually used backends. Don't free faces, font caches here.
9678 Don't store data in frame parameters. Don't call x_set_font.
9679 (Ffont_spec): Store :name property as is.
9680 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
9681 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
9682 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
9683 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
9684 Call font->driver->otf_gsub instead of font_otf_gsub.
9685
9686 * frame.c (x_set_font_backend): Do more works that were done in
9687 font_update_drivers before.
9688
9689 * xfont.c (xfont_match): New function.
9690 (xfont_driver): Set xfont_driver.match to xfont_match.
9691 (xfont_draw): Set font in GC if necessary.
9692
9693 * ftxfont.c (ftxfont_match): New function.
9694 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
9695
9696 * xftfont.c (xftfont_match): New function.
9697 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
9698
96992008-02-01 Kenichi Handa <handa@m17n.org>
9700
9701 * font.h (struct font): New member scalable.
9702 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
9703 (font_otf_gsub): Adjust prototype.
9704
9705 * font.c (font_otf_capability): Fix handling of the default langsys.
9706 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
9707 Check the contents of SPEC.
9708 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
9709 (check_gstring): New function.
9710 (REPLACEMENT_CHARACTER): New macro.
9711 (font_otf_gsub): New arg alternate_subst. Be sure to set all
9712 glyph codes of GSTRING.
9713 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
9714 (font_prepare_composition): Set cmp->glyph_len.
9715 (font_open_entity): Set font->scalable.
9716 (Ffont_get): Handle :otf property.
9717 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
9718 functions.
9719 (Fquery_font): Use font->font.full_name.
9720 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
9721 Sfont_otf_alternates.
9722
9723 * ftfont.c (ftfont_open): Set font->font.full_name and
9724 font->font.name properly. Fix calculation of font->font.height
9725 and font->min_width.
9726
9727 * ftxfont.c (ftxfont_create_gcs): New function.
9728 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
9729 (ftxfont_draw_backgrond): Fix filling region.
9730 (ftxfont_default_fid): New function.
9731 (ftxfont_open): Set xfont->fid to the return value of
9732 ftxfont_default_fid.
9733 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
9734 (ftxfont_done_face): Free only GCs that are created by
9735 ftxfont_create_gcs.
9736 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
9737
9738 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
9739 Clip to src->width, etc (not src->clip_XXX).
9740
9741 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
9742 FontBackend frame parameter.
9743
97442008-02-01 Kenichi Handa <handa@m17n.org>
9745
9746 * font.h (struct font_driver_list): New member `on'.
9747 (Fclear_font_cache): EXFUN it.
9748 (font_update_drivers): Extern it.
9749
9750 * font.c (font_unparse_fcname): Fix typo (swidth->width).
9751 (font_list_entities): Check driver_list->on.
9752 (register_font_driver): Initalize `on' member to 0.
9753 (font_update_drivers): New function.
9754 (Fclear_font_cache): Check driver_list->on.
9755
9756 * frame.h (Qfont_backend): Extern it.
9757 (x_set_font_backend): Extern it.
9758
9759 * frame.c (Qfont_backend): New variable.
9760 (frame_parms): New element for font-backend.
9761 (x_set_font_backend): New function.
9762
9763 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
9764 FontBackend frame parameter.
9765 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
9766 x_set_font_backend.
9767
9768 * xfont.c (xfont_list): Don't try listing by :name property if the
9769 name is not for XLFD.
9770
97712008-02-01 Kenichi Handa <handa@m17n.org>
9772
9773 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
9774 (LGLYPH_SET_TO): New macros.
9775 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
9776 element of G is vector or not.
9777 (font_at): Extern it.
9778
9779 * font.c: Include window.h.
9780 (font_lispy_object): New function.
9781 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
9782 end of valid glyph.
9783 (font_close_object): Fix getting (struct font *).
9784 (font_at): New function.
9785 (Ffont_get): If FONT is a font-object, get entity from it.
9786 (Ffont_make_gstring): Initialize elements of glyphs with nil.
9787 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
9788 range check.
9789 (Ffont_at): New function.
9790 (syms_of_font): Defsubr Sfont_at.
9791
9792 * xdisp.c (it_props): Move the entry for Qauto_composed to just
9793 before the entry for Qcomposition.
9794 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
9795 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
9796 the font in gstring.
9797 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
9798 LGLYPH_FORM (g) to detect the end of valid glyph.
9799 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
9800 we are composing with gstring.
9801
9802 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
9803 Check if adjustment is vector or not.
9804
9805 * Makefile.in (font.o): Make it depends on window.h.
9806
98072008-02-01 Kenichi Handa <handa@m17n.org>
9808
9809 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
9810 adjustment is vector or not.
9811
98122008-02-01 Miles Bader <miles@gnu.org>
9813
9814 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
9815
98162008-02-01 Kenichi Handa <handa@m17n.org>
9817
9818 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
9819 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
9820 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
9821
9822 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
9823 (DEVICE_DELTA): Fix typo.
9824 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
9825 LGLYPH format.
9826
9827 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
9828 the change of LGLYPH format.
9829
98302008-02-01 Kenichi Handa <handa@m17n.org>
9831
9832 * ftfont.c (ftfont_list): Fix typo.
9833 (ftfont_build_basic_charsets): Don't include letters with diacritics.
9834
98352008-02-01 Jan Djärv <jan.h.d@swipnet.se>
9836
9837 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
9838
9839 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
9840 xftface_info is non-NULL.
9841
98422008-02-01 Jan Djärv <jan.h.d@swipnet.se>
9843
9844 * ftfont.c (ftfont_list): Move misplaced #endif.
9845
98462008-02-01 Kenichi Handa <handa@m17n.org>
9847
9848 * ftfont.c (ftfont_list): Pay attention to the case that
9849 FC_CAPABILITY is not defined.
9850
98512008-02-01 Kenichi Handa <handa@m17n.org>
9852
9853 * xftfont.c (xftfont_open): Set charset related members to -1.
9854
9855 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
9856 QCname.
9857 (ftfont_open): Set charset related members to -1.
9858
9859 * fontset.c (Votf_script_alist): New variable.
9860 (syms_of_fontset): Initialize it.
9861 (fontset_font): Delete unused variable.
9862
9863 * fontset.h (Votf_script_alist): Extern it.
9864
9865 * font.c (font_find_for_lface): Optimize code.
9866
9867 * font.h (font_close_object, font_merge_old_spec): Extern them.
9868
98692008-02-01 Kenichi Handa <handa@m17n.org>
9870
9871 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
9872 (syms_of_font): Initialize them.
9873 (font_pixel_size): Allow float value in dpi.
9874 (font_prop_validate_type): Delete.
9875 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
9876 Change caller.
9877 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
9878 (font_prop_validate_extra): Delete.
9879 (font_prop_validate_spacing): New function.
9880 (font_property_table): Add elements for all known properties.
9881 (get_font_prop_index): Rename from check_font_prop_name. New
9882 argument FROM. Change caller.
9883 (font_prop_validate): Validate all known properties.
9884 (font_put_extra): Delete argument force. Change caller.
9885 (font_expand_wildcards): Make it static. Fix the way of shrinking
9886 the possible range.
9887 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
9888 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
9889 Change caller.
9890 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
9891 (font_parse_fcname): Delete argument merge. Fix parsing of point
9892 size. Don't validate properties values here. Change caller.
9893 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
9894 (font_open_by_name): Delete unused variable.
9895 (Ffont_spec): Likewise. Validate property values.
9896 (Ffont_match_p): New function.
9897
9898 * font.h (QCscalable): Extern it.
9899 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
9900
9901 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
9902
9903 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
9904 (xfont_list_pattern): New function.
9905 (xfont_list): Use xfont_list_pattern.
9906
99072008-02-01 Kenichi Handa <handa@m17n.org>
9908
9909 * font.h (Flist_fonts): EXFUN it.
9910
99112008-02-01 Jason Rumney <jasonr@gnu.org>
9912
9913 * w32term.c (w32_initialize): Add back smoothing_type and
9914 smoothing_enabled definitions.
9915
99162008-02-01 Kenichi Handa <handa@m17n.org>
9917
9918 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
9919 s->face->font on determining underline position.
9920
99212008-02-01 Kenichi Handa <handa@m17n.org>
9922
9923 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
9924 (font_has_char): Accept font-object too.
9925 (font_find_for_lface): Try at first with a size specified in face.
9926
99272008-02-01 Kenichi Handa <handa@m17n.org>
9928
9929 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
9930 font_open_by_name.
9931
99322008-02-01 Kenichi Handa <handa@m17n.org>
9933
9934 * font.h (QCspacing, QCdpi): Extern them.
9935 (enum font_spacing): New enum.
9936 (FONT_PIXEL_SIZE_QUANTUM): New macro.
9937
9938 * font.c (POINT_TO_PIXEL): Don't divide POINT by 10.
9939 (QCspacing, QCdpi): New variables.
9940 (syms_of_font): Initialize them.
9941 (font_pixel_size): New function.
9942 (font_put_extra): New function.
9943 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
9944 in FONT_EXTRA.
9945 (font_parse_fcname): Handle enumerated values (e.g. bold).
9946 Fix handling font size. Add QCname property that contains only
9947 unknown properties.
9948 (font_score): Change argument. Change caller. Pay attention to
9949 FONT_PIXEL_SIZE_QUANTUM.
9950 (font_sort_entites, font_list_entities, font_find_for_lface)
9951 (font_open_for_lface, font_open_by_name): Fix handling of font size.
9952 (Ffont_spec): Add QCname property that contains only unknown properties.
9953
9954 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
9955 include weight in listing pattern, instead check weight of each
9956 listed font. Don't include scalable in pattern. Pay attention to
9957 FONT_PIXEL_SIZE_QUANTUM.
9958
99592008-02-01 Kenichi Handa <handa@m17n.org>
9960
9961 * font.c (font_parse_fcname): Fix parsing of point-size.
9962 (font_unparse_fcname): Produce symbolic names for style properties.
9963 (font_list_entities): Handle float size correctly.
9964 (font_open_by_name): Prefer `normal' property values if the name
9965 doesn't specify them.
9966
9967 * fontset.c (Finternal_char_font): Use font_get_name, not
9968 Ffont_xlfd_name.
9969
9970 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
9971 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
9972 pattern. Don't force scalable.
9973
9974 * xftfont.c (xftfont_open): For generating a name, start from
9975 96-byte buffer.
9976
99772008-02-01 Jan Djärv <jan.h.d@swipnet.se>
9978
9979 * frame.h (x_new_fontset2): Fix prototype.
9980
99812008-02-01 Kenichi Handa <handa@m17n.org>
9982
9983 * font.h (struct font_driver): Delete member parse_name.
9984 (font_match_p, font_get_spec, font_parse_fcname)
9985 (font_unparse_fcname): Extern them.
9986 (font_get_name): Adjust prototype.
9987
9988 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
9989 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
9990 (font_expand_wildcards): Fix handling ENCODING field. Avoid
9991 unnecessary checks for weight, slant, and swidth.
9992 (font_parse_fcname): New function.
9993 (font_unparse_fcname): New function.
9994 (font_parse_name): New function.
9995 (font_match_p): New function.
9996 (font_get_name): Change return value to Lisp string.
9997 (font_get_spec): New function.
9998 (Qunspecified, Qignore_defface): Don't extern them.
9999 (font_find_for_lface): Assume that LFACE is fully specified.
10000 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
10001 object, use it for FACE.
10002 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
10003 driver->parse_name.
10004 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
10005
10006 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
10007 prototype.
10008
10009 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
10010 argument F. Don't call Fnew_fontset. Instead, directly call
10011 make_fontset.
10012
10013 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
10014
10015 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
10016 of x_new_fontset2.
10017
10018 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
10019 (Qsans__serif): New variables.
10020 (ftfont_generic_family_list): New variable.
10021 (syms_of_ftfont): Initialize the above variables.
10022 (ftfont_pattern_entity): Delete argument NAME.
10023 (ftfont_list_generic_family): New function.
10024 (ftfont_parse_name): Delete this function.
10025 (ftfont_list): Try generic family only when FcFontList found no font.
10026 (ftfont_list_family): Fix args to FcObjectSetBuild.
10027
10028 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
10029 object in attrs[LFACE_FONT_INDEX].
10030 (set_lface_from_font_name): Cancel all changes for font-backend.
10031 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
10032 function.
10033 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
10034 font object in QCfont attribute.
10035 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
10036 (realize_default_face) [USE_FONT_BACKEND]: Call
10037 set_lface_from_font_and_fontset.
10038
10039 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
10040 "fixed", and signal error here if no suitable font was found.
10041
10042 * xfont.c (xfont_parse_name): Delete this function.
10043
10044 * xftfont.c (xftfont_open): Change coding style of error
10045 handling. Generate fontconfig's fontname pattern.
10046
10047 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
10048 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
10049
10050 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
10051 Both args FONTSET and FONT_OBJECT must be existing ones.
10052
100532008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10054
10055 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
10056
100572008-02-01 Kenichi Handa <handa@m17n.org>
10058
10059 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
10060
10061 * font.h (struct font): Fix typo.
10062
10063 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
10064 XLFD_XXX_INDEX.
10065 (enum xlfd_field_mask): New enum.
10066 (intern_font_field): Changed argument. Change caller. If digits
10067 are followed by non-digits, return a symbol.
10068 (font_expand_wildcards): New function.
10069 (font_parse_xlfd): Fix wildcard handling.
10070 (Ffont_spec): If :name is specified, reflect the info in the other
10071 properties.
10072
10073 * ftfont.c (ftfont_pattern_entity): Fix typo.
10074 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
10075 locale.
10076
100772008-02-01 Kenichi Handa <handa@m17n.org>
10078
10079 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
10080
10081 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
10082 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
10083 registry doesn't specify encoding part.
10084 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
10085 (font_open_by_name): At first try parsing the name.
10086 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
10087 as Lisp symbols.
10088
10089 * fontset.c (reorder_font_vector): Pay attention to the case that
10090 the 3rd element of font_def is nil.
10091 (fontset_font): For the default fontset, append one more fontset
10092 elements for a script-based font specification. Don't add script
10093 attribute on finding a font.
10094 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
10095 font name.
10096 (fontset_ascii_font): If a font can't be opened, return nil.
10097
10098 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
10099 (ftfont_pattern_entity): New function.
10100 (ftfont_get_cache): Assume that freetype_font_cache is already
10101 initialized.
10102 (ftfont_list): Handle the case that a file is specified in font
10103 name. Use ftfont_pattern_entity to generate entities.
10104 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
10105 (syms_of_ftfont): Initialize freetype_font_cache.
10106
10107 * xftfont.c (xftfont_open): Make the font name fontconfig's
10108 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
10109 (xftfont_close): Free font->font.name if not NULL.
10110
10111 * xfont.c (xfont_list): If script is specified for a font, return
10112 null_vector.
10113 (xfont_list_family): Declare argument type.
10114
10115 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
10116 name, set LFACE_FONT (lface) to nil.
10117
10118 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
10119 return Qnil.
10120
101212008-02-01 Kenichi Handa <handa@m17n.org>
10122
10123 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
10124 (standard_args): Add "-enable-font-backend".
10125
101262008-02-01 Kenichi Handa <handa@m17n.org>
10127
10128 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
10129 (struct xftdraw_list, xftdraw_list): Delete them.
10130 (register_xftdraw, check_xftdraw): Delete them.
10131 (xftfont_prepare_face): Don't call register_xftdraw.
10132 (xftfont_done_face): Don't call check_xftdraw.
10133 (xftfont_draw): Get background color only when with_background is
10134 nonzero.
10135
10136 * xfont.c (xfont_encode_char): Fix calculation of char2b.
10137
101382008-02-01 Kenichi Handa <handa@m17n.org>
10139
10140 These changes are for the new font handling codes.
10141
10142 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
10143 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
10144 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
10145 (FONTSRC, FONTOBJ): New variables.
10146 (obj): Add $(FONTOBJ).
10147 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
10148 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
10149 @LIBOTF_LIBS@.
10150 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
10151 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
10152
10153 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
10154
10155 * character.h (Vscript_representative_chars): Extern it.
10156
10157 * character.c (Vscript_representative_chars): New variable.
10158 (syms_of_character): Declare it as a Lisp variable.
10159
10160 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
10161 enable_font_backend is nonzero, accept the composition method
10162 COMPOSITION_WITH_GLYPH_STRING.
10163
10164 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
10165 enumeration COMPOSITION_WITH_GLYPH_STRING.
10166
10167 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
10168 members clip_x, clip_y, clip_width, and clip_height.
10169 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
10170
10171 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
10172 --enable-font-backend. Call syms_of_font.
10173
10174 * fns.c (assoc_no_quit): New function.
10175
10176 * fontset.h (FONT_INFO_FROM_FACE): New macro.
10177 (face_for_font, new_fontset_from_font)
10178 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
10179
10180 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
10181 (fontset_font, fontset_ascii, face_for_char)
10182 (make_fontset_for_ascii_face, Ffont_info)
10183 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
10184 is nonzero, use font-backend mechanism.
10185 (find_font_encoding): Make it non-static.
10186 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
10187 New functions.
10188
10189 * frame.h (struct frame): New members resx and resy.
10190 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
10191 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
10192
10193 * frame.c [USE_FONT_BACKEND]: Include "font.h".
10194 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
10195
10196 * lisp.h (assoc_no_quit): Extern it.
10197
10198 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
10199 Through out the file, use FONT_INFO_FROM_FACE instead of
10200 FONT_INFO_FROM_ID, use get_per_char_metric instead of
10201 rif->per_char_metric.
10202 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
10203 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
10204 (get_glyph_face_and_encoding, fill_composite_glyph_string)
10205 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
10206 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
10207 nonzero, use font-backend mechanism.
10208 (get_per_char_metric): New function.
10209
10210 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
10211 (set_lface_from_font_name)
10212 (set_font_frame_param, free_realized_face)
10213 (prepare_face_for_display, clear_face_gcs)
10214 (Finternal_set_font_selection_order, realize_x_face)
10215 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
10216 font-backend mechanism.
10217 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
10218 (load_face_font) [USE_FONT_BACKEND]: Abort.
10219 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
10220 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
10221
10222 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
10223 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
10224 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
10225 nonzero, register all available font drivers. Call
10226 x_default_font_parameter for deciding a font.
10227 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
10228
10229 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
10230 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
10231 (x_set_glyph_string_clipping_exactly)
10232 (x_compute_glyph_string_overhangs)
10233 (x_draw_glyph_string_foreground)
10234 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
10235 (x_free_frame_resources) [USE_FONT_BACKEND]: If
10236 enable_font_backend is nonzero, use font-backend mechanism.
10237 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
10238
102392008-02-01 Kenichi Handa <handa@m17n.org>
10240
10241 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
10242 system_eol_type.
10243 (syms_of_coding): Initialize system_eol_type.
10244
10245 * process.c (Fset_process_coding_system): Inherit system's eol
10246 format if necessary.
10247
102482008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10249
10250 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
10251
102522008-02-01 Kenichi Handa <handa@m17n.org>
10253
10254 * coding.c (decode_eol): Pay attention to buffer relocation in
10255 del_range_2.
10256 (decode_coding): Call decode_eol before restoring undo_list.
10257
102582008-02-01 Kenichi Handa <handa@m17n.org>
10259
10260 * charset.c (Fdefine_charset_internal): Fix setting of
10261 emacs_mule_bytes.
10262
102632008-02-01 Kenichi Handa <handa@m17n.org>
10264
10265 * keyboard.c (read_char): Check if C is a character or not before
10266 looking up Vkeyboard_translate_table.
10267
102682008-02-01 Kenichi Handa <handa@m17n.org>
10269
10270 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
10271 condition to terminate the loop.
10272
102732008-02-01 Kenichi Handa <handa@m17n.org>
10274
10275 * coding.c (produce_composition): Compare charbuf[i] instead of
10276 args[i] against 0.
10277 (Fterminal_coding_system): Use EQ to compare Lisp objects.
10278
102792008-02-01 Kenichi Handa <handa@m17n.org>
10280
10281 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
10282 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
10283 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
10284 detect_coding.
10285 (emacs_mule_char): Handle old style (Emacs 20) component character
10286 of a composition.
10287 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
10288 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
10289 composition rule.
10290 (decode_coding_emacs_mule): Handle invalid bytes correctly.
10291
102922008-02-01 Kenichi Handa <handa@m17n.org>
10293
10294 * coding.c (encode_coding_ccl): Allocate destination dynamically
10295 when necessary.
10296
102972008-02-01 Kenichi Handa <handa@m17n.org>
10298
10299 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
10300 the loop. When quitted, show a proper error message.
10301
103022008-02-01 Kenichi Handa <handa@m17n.org>
10303
10304 * xterm.c (x_set_glyph_string_clipping_exactly): Set
10305 src->clip_head and src->clip_tail temporarily instead of src->hl.
10306
10307 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
10308 character sequence.
10309 (Fccl_execute_on_string): Use ASET, not XSET.
10310
103112008-02-01 Kenichi Handa <handa@m17n.org>
10312
10313 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
10314
103152008-02-01 Kenichi Handa <handa@m17n.org>
10316
10317 * coding.c (decode_coding): Fix the condition of terminating the
10318 decoding loop.
10319
103202008-02-01 Kenichi Handa <handa@m17n.org>
10321
10322 * data.c (Faset): On setting a character bigger than 255 in a
10323 unibyte string, signal an error instead of make the string multibyte.
10324
103252008-02-01 Kenichi Handa <handa@m17n.org>
10326
10327 * charset.c (map_charset_chars): Fix for ascii-compatible charset
10328 made by a mapping table.
10329
103302008-02-01 Kenichi Handa <handa@m17n.org>
10331
10332 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
10333 not.
10334 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
10335 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
10336
10337 * xterm.c (x_draw_composite_glyph_string_foreground): Check
10338 s->face is NULL or not.
10339
103402008-02-01 Kenichi Handa <handa@m17n.org>
10341
10342 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
10343 (x_draw_glyph_string): Fix drawing of right_overhang and
10344 left_overhang around/on cursor.
10345
10346 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
10347
103482008-02-01 Kenichi Handa <handa@m17n.org>
10349
10350 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
10351
103522008-02-01 Kenichi Handa <handa@m17n.org>
10353
10354 * coding.c (Fdefine_coding_system_internal)
10355 (Fdefine_coding_system_alias): Avoid a duplicated element in
10356 Vcoding_system_alist.
10357
103582008-02-01 Kenichi Handa <handa@m17n.org>
10359
10360 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
10361
10362 * coding.c (Qcoding_system_define_form): New variable.
10363 (syms_of_coding): Intern and staticpro it.
10364 (Fcoding_system_p): Check Qcoding_system_define_form.
10365 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
10366
10367 * coding.h (CODING_SYSTEM_P): If ID is not available, call
10368 Fcoding_system_p.
10369 (CHECK_CODING_SYSTEM): If ID is not available, call
10370 Fcheck_coding_system.
10371 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
10372 Try also Fcheck_coding_system.
10373
103742008-02-01 Kenichi Handa <handa@m17n.org>
10375
10376 * coding.c (code_conversion_restore): GCPRO arg.
10377
103782008-02-01 Kenichi Handa <handa@m17n.org>
10379
10380 * character.c (lisp_string_width): Check multibyteness of STRING.
10381
103822008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10383
10384 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
10385 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
10386 (decode_mac_font_name): Use decode_coding_c_string instead of
10387 decode_coding.
10388 (x_load_font): Initialize fontp->fontset to -1. Set
10389 fontp->encoding_type.
10390
103912008-02-01 Kenichi Handa <handa@m17n.org>
10392
10393 * search.c (search_buffer): Give up BM search on case-fold-search
10394 if one of a target character has a case-equivalence of different
10395 byte length even if that target charcter is an ASCII.
10396 (simple_search): Fix calculation of byte length of matched text.
10397 (boyer_moore): Fix handling of case-equivalent multibyte characters.
10398
103992008-02-01 Kenichi Handa <handa@m17n.org>
10400
10401 * coding.c (decode_coding): Fix handling of invalid bytes.
10402
104032008-02-01 Kenichi Handa <handa@m17n.org>
10404
10405 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
10406 Unicode characters.
10407
104082008-02-01 Kenichi Handa <handa@m17n.org>
10409
10410 * coding.c (encode_coding_object): If a pre-write-conversion
10411 function makes a new buffer, kill it.
10412
104132008-02-01 Kenichi Handa <handa@m17n.org>
10414
10415 * coding.c (QCascii_compatible_p): New variable.
10416 (syms_of_coding): Initialize it.
10417 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
10418 calling string_char.
10419 (record_conversion_result): Add `default:' case.
10420 (coding_charset_list): Delete unused variable `coding_type'.
10421 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
10422 property in the plist of the coding system.
10423 (Fcoding_system_put): Check QCascii_compatible_p.
10424
104252008-02-01 Miles Bader <miles@gnu.org>
10426
10427 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
10428 removed calculation of frame `f', as it's now used.
10429
104302008-02-01 Kenichi Handa <handa@m17n.org>
10431
10432 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
10433 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
10434 (UNIDATA): New variable.
10435 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
10436 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
10437 $(RUN_TEMACS) unconditionally.
10438
104392008-02-01 Kenichi Handa <handa@m17n.org>
10440
10441 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
10442 (admindir): New variable.
10443 ($(lispsource)international/charprop.el): New target.
10444
104452008-02-01 Miles Bader <miles@gnu.org>
10446
10447 * character.c (chars-in-region): Remove obsolete function.
10448 (syms_of_character): Remove its initialization.
10449
104502008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
10451
10452 * w32select.c (validate_coding_system)
10453 (setup_windows_coding_system): New functions.
10454 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
10455 setup_windows_coding_system.
10456 (setup_config, Fw32_get_clipboard_data): Use
10457 validate_coding_system.
10458 (Fx_selection_exists): Move call to setup_config to a place
10459 where signals are allowed.
10460
10461 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
10462 (Fcheck_coding_system): Add declarations.
10463
104642008-02-01 Kenichi Handa <handa@m17n.org>
10465
10466 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
10467
104682008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10469
10470 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
10471 string as the second argument for x_new_fontset.
10472
104732008-02-01 Kenichi Handa <handa@m17n.org>
10474
10475 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
10476 (encode_coding_object): Use safe_call instead of call2.
10477
104782008-02-01 Kenichi Handa <handa@m17n.org>
10479
10480 * fontset.c (Fset_fontset_font): Check family element of a given vector.
10481
10482 * Makefile.in (lisp): Include charprop.el.
10483
104842008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10485
10486 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
10487 Not sure if it's unnecessary.
10488
104892008-02-01 Steven Tamm <steventamm@mac.com>
10490
10491 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
10492 some possibly unnecessary fontset checking code that crashed
10493 when creating a new frame.
10494
104952008-02-01 Kenichi Handa <handa@m17n.org>
10496
10497 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
10498 lookup_face.
10499
10500 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
10501
10502 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
10503
105042008-02-01 Kenichi Handa <handa@m17n.org>
10505
10506 * coding.c: Cancel the change done in HEAD on 2008-02-01.
10507 (coding_charset_list): New function.
10508
10509 * coding.h (coding_charset_list): Extern it.
10510
105112008-02-01 Kenichi Handa <handa@m17n.org>
10512
10513 * fontset.c (Fset_fontset_font): Call find_font_encoding with
10514 concatenation of family and registry.
10515
105162008-02-01 Kenichi Handa <handa@m17n.org>
10517
10518 * character.h (BYTE8_STRING): Fix typo.
10519
10520 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
10521 string to multibyte (sync to HEAD).
10522
10523 * casefiddle.c (casify_region): Handle changes in byte-length
10524 using replace_range_2 (sync to HEAD).
10525
105262008-02-01 Andreas Schwab <schwab@suse.de>
10527
10528 * chartab.c (map_char_table): GCPRO table and arg.
10529
105302008-02-01 Kenichi Handa <handa@m17n.org>
10531
10532 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
10533 already at limit.
10534
105352008-02-01 Kenichi Handa <handa@m17n.org>
10536
10537 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
10538 instead of fast_c_string_match_ignore_case.
10539 (find_font_encoding): Change argument to Lisp_Object. Use
10540 fast_string_match_ignore_case instead of
10541 fast_c_string_match_ignore_case. Change caller.
10542
105432008-02-01 Kenichi Handa <handa@m17n.org>
10544
10545 * xdisp.c (get_next_display_element): In unibyte case, decide to
10546 display in octal form by checking a character by
10547 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
10548
10549 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
10550
10551 * character.c (unibyte_has_multibyte_table): New variable.
10552
10553 * character.h (unibyte_has_multibyte_table): Extern it.
10554 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
10555
105562008-02-01 Kenichi Handa <handa@m17n.org>
10557
10558 * coding.c (encode_coding_iso_2022): Fix handling of charset
10559 annotation.
10560
105612008-02-01 Kenichi Handa <handa@m17n.org>
10562
10563 * coding.c (setup_coding_system): If coding_system is nil, use
10564 Qundecided.
10565 (Fterminal_coding_system): Return nil if terminal coding system is
10566 `undecided'.
10567 (syms_of_coding): Define coding-system `undecided' here. Setup
10568 terminal_coding as `undecided'.
10569
105702008-02-01 Kenichi Handa <handa@m17n.org>
10571
10572 * xdisp.c (message_dolog, set_message_1): Call
10573 unibyte_char_to_multibyte with arg type int.
10574
10575 * lread.c (read1): Fix reading of a char-table.
10576
10577 * print.c (print_object): Include sub char-table in circularities
10578 detection.
10579
105802008-02-01 Kenichi Handa <handa@m17n.org>
10581
10582 * keymap.c (where_is_internal_2): Fix for the case that KEY is a cons.
10583 Append the found sequences in car of ARGS instead of prepending.
10584
105852008-02-01 Kenichi Handa <handa@m17n.org>
10586
10587 * fileio.c (report_file_error): Make a unibyte string from
10588 strerror (errorno).
10589 (Fsubstitute_in_file_name): Fix the arg to
10590 unibyte_char_to_multibyte. It is evaluated twice.
10591
105922008-02-01 Kenichi Handa <handa@m17n.org>
10593
10594 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
10595
105962008-02-01 Kenichi Handa <handa@m17n.org>
10597
10598 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
10599 BOM is not found.
10600 (detect_coding, detect_coding_system): Optimization for ISO-2022
10601 when no 8-bit data is found.
10602
106032008-02-01 Jason Rumney <jasonr@gnu.org>
10604
10605 * w32fns.c (x_to_w32_font): Update to use new coding struct.
10606
106072008-02-01 Kenichi Handa <handa@m17n.org>
10608
10609 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
10610 CHARS.
10611
106122008-02-01 Steven Tamm <steventamm@mac.com>
10613
10614 * macterm.c (mac_encode_char): Add charset argument and update
10615 to use encoding_type.
10616 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
10617 switch to pure fontset.
10618 (decode_mac_font_name): Temporarily remove decoding.
10619 (x_font_name_to_mac_font_name): Temporarily remove encoding.
10620 (x_load_font): Temporarily remove encoding.
10621
106222008-02-01 Kenichi Handa <handa@m17n.org>
10623
10624 * xfaces.c (Fface_font): If frame is not on a window system,
10625 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
10626 refer to face->font.
10627 (split_font_name_into_vector, build_font_name_from_vector)
10628 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
10629 when HAVE_WINDOW_SYSTEM is defined.
10630
106312008-02-01 Kenichi Handa <handa@m17n.org>
10632
10633 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
10634 (x_produce_glyphs): Fix setting of members of cmp in case
10635 cmp->glyph_len is zero.
10636
10637 * fontset.c (Fset_fontset_font): Fix docstring.
10638 (Ffontset_info): Make it backward compatible. New arg ALL.
10639
106402008-02-01 Kim F. Storm <storm@cua.dk>
10641
10642 * process.c (read_process_output): Grow decoding_buf when needed;
10643 this could cause a crash in allocate_string and compact_small_strings.
10644
106452008-02-01 Kenichi Handa <handa@m17n.org>
10646
10647 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
10648
106492008-02-01 Kenichi Handa <handa@m17n.org>
10650
10651 * coding.c (setup_coding_system): Set coding->common_flags
10652 correctly for raw-text.
10653 (consume_chars): On encoding unibyte text by raw-text, don't check
10654 multibyte form.
10655 (encode_coding): On encoding by raw-text, never use translation tables.
10656
10657 * fileio.c (e_write): Short cut for the case of no encoding.
10658
106592008-02-01 Kenichi Handa <handa@m17n.org>
10660
10661 * coding.c (detect_coding, detect_coding_system): Delete unused
10662 variables.
10663
106642008-02-01 Kenichi Handa <handa@m17n.org>
10665
10666 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
10667 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
10668
106692008-02-01 Kenichi Handa <handa@m17n.org>
10670
10671 * coding.c (Ffind_coding_systems_region_internal): Include
10672 raw-text and no-conversion in the result.
10673
106742008-02-01 Kenichi Handa <handa@m17n.org>
10675
10676 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
10677 (load_font_get_repertory): Delete unnecessary check of ENCODING of
10678 FONT_DEF.
10679 (font_def_arg, add_arg, from_arg, to_arg): New args.
10680 (set_fontset_font): Change argument.
10681 (Fset_fontset_font): Fix for the case that TARGET is a script
10682 name and charset name.
10683 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
10684
106852008-02-01 Kenichi Handa <handa@m17n.org>
10686
10687 * fontset.c (fontset_font): Rename from fontset_face. Change return
10688 value.
10689 (face_suitable_for_char_p, face_for_char): Adjust for the change
10690 of fontset_font.
10691 (make_fontset_for_ascii_face): Fix setting of the fontset element
10692 for ASCII.
10693 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
10694 to get a font name.
10695 (Ffontset_info): Adjust for the change of fontset_font.
10696
10697 * coding.c (emacs_mule_char): Check invalid code more rigidly.
10698
10699 * character.h (LEADING_CODE_LATIN_1_MIN)
10700 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
10701
107022008-02-01 Kenichi Handa <handa@m17n.org>
10703
10704 * editfns.c (check_translation): New function.
10705 (Ftranslate_region_internal): Handle M:N mapping.
10706
107072008-02-01 Kenichi Handa <handa@m17n.org>
10708
10709 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
10710
107112008-02-01 Kenichi Handa <handa@m17n.org>
10712
10713 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
10714 goto invalid_code.
10715 (decode_coding_iso_2022): Fix handling of invalid designation.
10716
10717 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
10718 after calling code_conversion_save.
10719
107202008-02-01 Kenichi Handa <handa@m17n.org>
10721
10722 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
10723
10724 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
10725
10726 * fontset.c: Include "intervals.h".
10727 (fontset_face): Fix comparing of Lisp_Objects.
10728 (free_face_fontset, new_fontset_from_font_name): Fix
10729 Lisp_Object/int mixup.
10730
10731 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
10732
10733 * coding.c: Add many prototypes for static functions.
10734 (get_translation_table): Allow max_lookup to be NULL.
10735 (decode_coding, Ffind_coding_systems_region_internal)
10736 (Funencodable_char_position, Fcheck_coding_systems_region): Call
10737 get_translation_table with max_lookup NULL.
10738
107392008-02-01 Kenichi Handa <handa@m17n.org>
10740
10741 * coding.c (get_translation_table): Declare it as Lisp_Object.
10742 (LOOKUP_TRANSLATION_TABLE): New macro.
10743 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
10744 instead of CHAR_TABLE_REF.
10745
107462008-02-01 Kenichi Handa <handa@m17n.org>
10747
10748 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
10749 annotation data format.
10750 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
10751 Change arguments FROM and TO to single argument NCHARS. Change caller.
10752 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
10753 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
10754 (decode_coding_ccl, decode_coding_charset): Pay attention to
10755 coding->charbuf_used.
10756 (get_translation): New function.
10757 (produce_chars): New arguments translation_table and last_block.
10758 Translate characters here. Return number of carryover chars.
10759 Change caller.
10760 (produce_composition): New argument pos. Change caller.
10761 Adjust for the change of annotation data format.
10762 (produce_charset, produce_annotation): Likewise.
10763 (decode_coding, encode_coding): Don't call translate_chars.
10764 (consume_chars): New arg translation_table. Change caller.
10765 (translate_chars): Delete.
10766 (syms_of_coding): Make translation-table's number of extra slots 2.
10767
107682008-02-01 Kenichi Handa <handa@m17n.org>
10769
10770 * search.c (simple_search): Fix setting this_pos_byte in backward
10771 search.
10772
10773 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
10774 byte sequence.
10775 (detect_coding_ccl): Fix setting of the variable valids.
10776
107772008-02-01 Kenichi Handa <handa@m17n.org>
10778
10779 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
10780
10781 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
10782
10783 * editfns.c (Ftranslate_region_internal): Rename from
10784 Ftranslate_region. Accept a char-table in TABLE.
10785 (syms_of_editfns): Defsubr Stranslate_region_internal.
10786
10787 * xfaces.c (set_lface_from_font_name): If a font is specified for
10788 a frame, generate a fontset from the font.
10789 (build_scalable_font_name): If the scalable font is requested for
10790 a specific size, don't change that size.
10791 (try_font_list): Try a scalable font also in the case that a
10792 pattern string is specified.
10793
107942008-02-01 Kenichi Handa <handa@m17n.org>
10795
10796 * xfaces.c (Fface_font): New optional arg CHARACTER.
10797
107982008-02-01 Kenichi Handa <handa@m17n.org>
10799
10800 * charset.h (CHARSET_OFFSET): New macro.
10801
108022008-02-01 Kenichi Handa <handa@m17n.org>
10803
10804 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
10805
10806 * fontset.c (fontset_face): Handle the case that repertory is a
10807 char-table.
10808 (find_font_encoding): Return nil for unknown encoding.
10809 (Fset_fontset_font): Ignore a font of unknown encoding.
10810
108112008-02-01 Kenichi Handa <handa@m17n.org>
10812
10813 * keymap.c (describe_vector): Handle default value of a char table.
10814
10815 * fontset.c (fontset_face): Handle fallback fonts correctly.
10816 (Ffontset_info): Return infomation about fallback fonts.
10817
108182008-02-01 Kenichi Handa <handa@m17n.org>
10819
10820 * fontset.c (FONTSET_DEFAULT): New macro.
10821 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
10822 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
10823 the case that it is nil.
10824 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
10825 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
10826
10827 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
10828 subset or superset.
10829
108302008-02-01 Kenichi Handa <handa@m17n.org>
10831
10832 * emacs.c (main): Call init_charset after syms_of_XXX.
10833
10834 * charset.c (Vcharset_map_directory): Delete.
10835 (Vcharset_map_path): New variable.
10836 (load_charset_map_from_file): Use Vcharset_map_path instead.
10837 (init_charset): Initialize Vcharset_map_path.
10838 (syms_of_charset): Delete declaration of "charset-map-directory",
10839 add declaration of "charset-map-path".
10840
108412008-02-01 Kenichi Handa <handa@m17n.org>
10842
10843 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
10844 ASCII only string.
10845
10846 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
10847
10848 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
10849 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
10850
108512008-02-01 Kenichi Handa <handa@m17n.org>
10852
10853 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
10854
10855 * coding.c (QCmnemonic, QCdefalut_char)
10856 (QCdecode_translation_table, QCencode_translation_table)
10857 (QCpost_read_conversion, QCpre_write_conversion): New variables.
10858 (get_translation_table): Return a list of translation tables if
10859 necessary.
10860 (decode_coding): Call get_translation_table with ENCODEP 0.
10861 (char_encodable_p): If translation_table is non-nil, always call
10862 translate_char.
10863 (Fdefine_coding_system_internal): Accept list of translation
10864 tables as :encode-translation-table and :decode-translation-table.
10865 (Fcoding_system_put): New function.
10866 (syms_of_coding): Declare new symbols. Defsubr
10867 Scoding_system_put.
10868 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
10869 typically JISX0212.
10870
10871 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
10872 when the charset is superset type.
10873
10874 * character.c (translate_char): Accept list of translation tables.
10875
108762008-02-01 Kenichi Handa <handa@m17n.org>
10877
10878 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
10879 (CODING_ATTR_TRANS_TBL): New macro.
10880
10881 * coding.c (get_translation_table): New function.
10882 (translate_chars): Fix the bug of skipping annotation data.
10883 (decode_coding, encode_coding): Utilize get_translation_table.
10884 (char_encodable_p, Funencodable_char_position): Translate char if
10885 necessary.
10886 (Ffind_coding_systems_region_internal)
10887 (Fcheck_coding_systems_region): Setup translation table for encode
10888 in a coding system attribute vector in advance.
10889 (Fdefine_coding_system_internal): Allow a symbol as translation
10890 table. For shift-jis type coding system, allow 4th charset.
10891
108922008-02-01 Kenichi Handa <handa@m17n.org>
10893
10894 * coding.c (decode_coding_sjis): Check the first byte rigidly.
10895
10896 * xdisp.c (get_next_display_element): Pass -1 as POS to
10897 FACE_FOR_CHAR if displaying a C-string.
10898
108992008-02-01 Kenichi Handa <handa@m17n.org>
10900
10901 * composite.c (get_composition_id): Handle xoff and yoff in a
10902 composition rule.
10903
10904 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
10905 (struct composition): New member lbearing and rbearing.
10906
10907 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
10908 (x_get_glyph_overhangs): Handle a composition glyph.
10909 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
10910
10911 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
10912 composition glyph.
10913
109142008-02-01 Kenichi Handa <handa@m17n.org>
10915
10916 * print.c: Include charset.h.
10917 (Vprint_charset_text_property): New variable.
10918 (Qdefault): Extern it.
10919 (PRINT_STRING_NON_CHARSET_FOUND)
10920 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
10921 (print_check_string_result): New variable.
10922 (print_check_string_charset_prop): New function.
10923 (print_prune_charset_plist): New variable.
10924 (print_prune_string_charset): New function.
10925 (print_object): Call print_prune_string_charset if
10926 Vprint_charset_text_property is not t.
10927 (print_interval): Print nothing if interval->plist is nil.
10928 (syms_of_print): Declare Vprint_charset_text_property as a lisp
10929 variable. Init and staticpro print_prune_charset_plist.
10930
109312008-02-01 Kenichi Handa <handa@m17n.org>
10932
10933 * fontset.c (new_fontset_from_font_name): Use the specified font
10934 for all characters in the new fontset.
10935
10936 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
10937 OBJECT args.
10938
10939 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
10940 OBJECT args for composition too.
10941
10942 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
10943 OBJECT args.
10944
109452008-02-01 Kenichi Handa <handa@m17n.org>
10946
10947 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
10948
10949 * fontset.c (reorder_font_vector): Adjust for the change of
10950 FONT_DEF format.
10951 (fontset_face): New arg id. Change caller.
10952 (face_for_char): New args pos and object.
10953 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
10954 (fs_query_fontset): Check NAME by Fassoc too.
10955 (Fset_fontset_font): Allow non-XLFD font name.
10956 (Ffontset_info): Adjust for the change of FONT_DEF format.
10957
10958 * fontset.h (face_for_char): Adjust prototype.
10959
10960 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
10961 (append_space, extend_face_to_end_of_line)
10962 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
10963 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
10964
10965 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
10966 POS and OBJECT args.
10967
10968 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
10969 POS and OBJECT args.
10970
109712008-02-01 Jason Rumney <jasonr@gnu.org>
10972
10973 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
10974 of GlobalAlloc'ed memory.
10975
109762008-02-01 Kenichi Handa <handa@m17n.org>
10977
10978 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
10979
10980 * charset.h (charset_table_used): Delete extern.
10981
10982 * charset.c (charset_table_used): Make it static.
10983 (map_charset_chars): Fix args to c_function with.
10984
10985 * chartab.c (map_sub_char_table_for_charset): Fix args to
10986 c_function with.
10987
10988 * coding.h (enum coding_result_code): Delete
10989 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
10990
10991 * coding.c (Qinsufficient_source, Qinconsistent_eol)
10992 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
10993 (Vlast_code_conversion_error): New variables.
10994 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
10995 (ONE_MORE_BYTE): Record error if any instead of signaling an
10996 error. If non-ASCII multibyte char is found, return the negative
10997 value of the code. All callers changed to check it.
10998 (ONE_MORE_BYTE_NO_CHECK): Likewise.
10999 (record_conversion_result): New function. Change all codes setting
11000 coding->result to call this function.
11001 (detect_coding_utf_8, decode_coding_utf_8)
11002 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
11003 Don't use the local variable incomplete.
11004 (emacs_mule_char): Change the second arg to `const'.
11005 (decode_coding): Fix of flushing out unprocessed data.
11006 (make_conversion_work_buffer): Fix making of a work buffer.
11007 (decode_coding_object): Return coding->dst_object.
11008
11009 * fontset.c (set_fontset_font): Fix args.
11010
11011 * lisp.h (CHARACTERBITS): Define as 22.
11012
11013 * process.c (send_process): Be sure to set coding->src_multibyte.
11014
11015 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
11016
110172008-02-01 Kenichi Handa <handa@m17n.org>
11018
11019 * xdisp.c (handle_auto_composed_prop): Give limit to
11020 Fnext_single_char_property_change.
11021
110222008-02-01 Kenichi Handa <handa@m17n.org>
11023
11024 * composite.c (syms_of_composite): Don't make the composition hash
11025 table weak.
11026
11027 * fontset.c (Fset_fontset_font): Fix docstring.
11028
11029 * lisp.h (detect_coding_system): Adjust prototype.
11030
11031 * fileio.c (kill_workbuf_unwind): Delete this function.
11032 (Finsert_file_contents): Adjust the call of detect_coding_system.
11033 Get conversion_buffer by code_conversion_save. Use the macro
11034 CODING_MAY_REQUIRE_DECODING. After decoding, update
11035 coding_system.
11036
11037 * coding.h (make_conversion_work_buffer): Delete extern.
11038 (code_conversion_save): Extern it.
11039
11040 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
11041 (CODING_GET_INFO): Delete argument eol_type. Change callers.
11042 (decode_coding_utf_8): Don't do eol converion.
11043 (detect_coding_utf_16): Check coding->src_chars, not
11044 coding->src_bytes. Add heuristics for those that have no signature.
11045 (decode_coding_emacs_mule, decode_coding_iso_2022)
11046 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
11047 Don't do eol converion.
11048 (adjust_coding_eol_type): Return a new coding system.
11049 (detect_coding): Don't detect eol. Fix for utf-16 detection.
11050 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
11051 each change.
11052 (decode_coding): Pay attention to undo_list. Do eol conversion for
11053 all types of coding-systems (if necessary).
11054 (Vcode_conversion_work_buf_list): Delete it.
11055 (Vcode_conversion_reused_workbuf): Rename from
11056 Vcode_conversion_reused_work_buf.
11057 (Vcode_conversion_workbuf_name): New variable.
11058 (reused_workbuf_in_use): New variable.
11059 (make_conversion_work_buffer): Delete the arg DEPTH.
11060 (code_conversion_restore): Change argument to cons.
11061 (code_conversion_save): Delete the argument BUFFER. Change callers.
11062 (detect_coding_system): New argument src_chars. Change callers.
11063 Fix for utf-16 detection.
11064 (init_coding_once): Don't use ISO_carriage_return.
11065 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
11066 reused_workbuf_in_use.
11067
110682008-02-01 Kenichi Handa <handa@m17n.org>
11069
11070 * keymap.c (store_in_keymap): Pay attention to the case that idx
11071 is a cons specifying a character range.
11072
110732008-02-01 Kenichi Handa <handa@m17n.org>
11074
11075 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
11076 HANDLED_RECOMPUTE_PROPS.
11077
11078 * coding.c (Fdefine_coding_system_internal): Fix checking of
11079 ascii compatibility.
11080
110812008-02-01 Kenichi Handa <handa@m17n.org>
11082
11083 * charset.c (find_charsets_in_text): Delete unused locale variable.
11084 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
11085
11086 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
11087 Resync charset_list to Vemacs_mule_charset_list.
11088
11089 * keymap.c (store_in_keymap): Pay attention to the case that idx
11090 is a cons specifying a character range.
11091
110922008-02-01 Kenichi Handa <handa@m17n.org>
11093
11094 * composite.c (update_compositions): Bind inhibit-read-only, etc
11095 to t before calling remove-list-of-text-properties.
11096
11097 * print.c (print_object): Always print ASCII chars as is.
11098
110992008-02-01 Kenichi Handa <handa@m17n.org>
11100
11101 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
11102
11103 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
11104 is a char table.
11105
111062008-02-01 Kenichi Handa <handa@m17n.org>
11107
11108 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
11109
111102008-02-01 Kenichi Handa <handa@m17n.org>
11111
11112 * xfaces.c (set_lface_from_font_name): Fix for the case that
11113 FONTNAME is not fontset name.
11114
111152008-02-01 Kenichi Handa <handa@m17n.org>
11116
11117 * fns.c (base64_encode_1): Fix previous change.
11118
111192008-02-01 Kenichi Handa <handa@m17n.org>
11120
11121 * fontset.c (set_fontset_font): New function.
11122 (Fset_fontset_font): If a font is specified for a charset, use
11123 map_charset_chars to store the font spec in a fontset.
11124
111252008-02-01 Kenichi Handa <handa@m17n.org>
11126
11127 * fontset.c (fontset_face): Create a fallback fontset on demand.
11128 (make_fontset): Don't create a fallback fontset here.
11129 (free_face_fontset): Free a fallback fontset (if any) too.
11130 (n_auto_fontsets): Delete this variable.
11131 (auto_fontset_alist): New variable.
11132 (new_fontset_from_font_name): Check auto_fontset_alist.
11133 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
11134 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
11135 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
11136 Defsubr Sfontset_list_all.
11137
111382008-02-01 Kenichi Handa <handa@m17n.org>
11139
11140 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
11141
111422008-02-01 Kenichi Handa <handa@m17n.org>
11143
11144 * fontset.c (Fnew_fontset): Check NAME more rigidly.
11145
111462008-02-01 Kenichi Handa <handa@m17n.org>
11147
11148 * editfns.c (Fgoto_char): Fix docstring.
11149
111502008-02-01 Kenichi Handa <handa@m17n.org>
11151
11152 * insdel.c (insert_from_gap): Adjust intervals correctly.
11153
111542008-02-01 Jason Rumney <jasonr@gnu.org>
11155
11156 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
11157 (pfnGetFontUnicodeRanges): New dynamically loaded function.
11158 (w32_initialize): Try to load it.
11159 (x_get_font_repertory): Use it if available.
11160 (w32_encode_char): Add shortcut for unicode output.
11161
11162 * w32fns.c (w32_load_system_font): Default charset to -1.
11163 (x_to_w32_charset): Match all fonts for unicode.
11164 (w32_to_x_charset): New parameter matching. Don't return partial
11165 or wildcard charsets.
11166 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
11167 (w32_codepage_for_font): Return CP_UNICODE for unicode.
11168 (w32_to_x_font): Match charset to real charset.
11169 (enum_font_cb2): Always list unicode versions.
11170
11171 * makefile.w32-in (temacs): Increase EMHEAP.
11172
111732008-02-01 Jason Rumney <jasonr@gnu.org>
11174
11175 * w32term.c (w32_encode_char): New charset parameter.
11176 font_info.encoding becomes encoding_type.
11177 (x_get_font_repertory): New function. Warning: stub only!
11178 (x_new_font): Return quickly if font already set.
11179 (x_new_fontset): fontsetname parameter is Lisp_Object.
11180 Use new fs_query_fontset. Try new_fontset_from_font_name.
11181 Use fontset_name for return value.
11182
11183 * w32term.h: Declare x_get_font_repertory.
11184
11185 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
11186 place of find_charset_in_text. Use encode_coding_object in place
11187 of encode_coding.
11188 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
11189 decode_coding.
11190
11191 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
11192 of x_new_fontset.
11193 (w32_load_system_font): Initialize charset as unicode.
11194 font_info.encoding becomes encoding_type.
11195 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
11196 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
11197 (syms_of_w32fns): Set get_font_repertory_func.
11198
11199 * w32console.c: Include character.h. Use terminal_encode_buffer
11200 from term.c.
11201 (write_glyphs): Use new version of encode_terminal_code. Use
11202 encode_coding_object in place of encode_coding.
11203
11204 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
11205 encoding becomes encoding_type.
11206
11207 * term.c (terminal_encode_buffer): Make externally visible.
11208
11209 * makefile.w32-in: Add character.h dependancies.
11210 (character.o, chartab.o): New targets.
11211
112122008-02-01 Kenichi Handa <handa@m17n.org>
11213
11214 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
11215 CODING_ID_EOL_TYPE.
11216
112172008-02-01 Andreas Schwab <schwab@suse.de>
11218
11219 * coding.c (produce_chars): Revert last change.
11220
112212008-02-01 Kenichi Handa <handa@m17n.org>
11222
11223 * charset.h (charset_unicode): Extern it.
11224
11225 * charset.c (string_xstring_p): Check by (C >= 0x100).
11226 (find_charsets_in_text): Change format of the arc CHARSETS. New
11227 arg MULTIBYTE.
11228 (Ffind_charset_region, Ffind_charset_string): Adjust for the
11229 change of find_charsets_in_text.
11230 (Fsplit_char): Fix doc. Never return unknown.
11231
11232 * chartab.c (char_table_translate): Use CHARACTERP, not INTEGERP.
11233
11234 * coding.c (Fdefine_coding_system_alias): Update
11235 Vcoding_system_list.
11236
11237 * fontset.c (load_font_get_repertory): Pay attention to the case
11238 that ENCODING of a font is specified by a char-table.
11239
11240 * xterm.c (x_get_font_repertory): Handle the case that the
11241 encoding of font is other than Unicode.
11242
112432008-02-01 Kenichi Handa <handa@m17n.org>
11244
11245 * term.c (encode_terminal_code): Don't handle glyph-table. Check
11246 if a character is encodable by the terminal coding system. If
11247 not, produces proper number of `?'s. Update
11248 terminal_encode_buffer and terminal_encode_buf_size if necessary.
11249 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
11250
112512008-02-01 Kenichi Handa <handa@m17n.org>
11252
11253 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
11254 variables.
11255 (encode_terminal_code): Change argument. Encode multiple
11256 characters at once. Store the result of encoding in
11257 terminal_encode_buffer.
11258 (write_glyphs, insert_glyphs): Adjust for the change of
11259 encode_terminal_code.
11260 (term_init): Initialize terminal_encode_buffer and
11261 terminal_encode_buf_size.
11262
11263 * coding.c (consume_chars): If coding->src_object is nil, don't
11264 check annotation.
11265
112662008-02-01 Kenichi Handa <handa@m17n.org>
11267
11268 * character.c (char_string): Use ASCII_CHAR_P instead of
11269 SINGLE_BYTE_CHAR_P.
11270
112712008-02-01 Kenichi Handa <handa@m17n.org>
11272
11273 * xdisp.c (handle_auto_composed_prop): Check if the last
11274 characters of auto-composed region is newly composed with the
11275 following characters.
11276 (handle_composition_prop): Fix checking of point being inside
11277 composition.
11278
112792008-02-01 Kenichi Handa <handa@m17n.org>
11280
11281 * fns.c (concat): Don't change multibyteness of the result by
11282 concatenating an 8-bit character.
11283
11284 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
11285 multibyteness of the result when newelt is an 8-bit character.
11286
112872008-02-01 Dave Love <fx@gnu.org>
11288
11289 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
11290 EMACS_INT.
11291
11292 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
11293
11294 * xfaces.c (face_numeric_value): Declare dim size_t.
11295 (Finternal_lisp_face_equal_p): Remove unused f.
11296
11297 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
11298 (MATRIX_ROW): Remove unused vars.
11299 (draw_glyphs, x_insert_glyphs, fast_find_position)
11300 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
11301 byte/char counts.
11302
11303 * regex.c (regex_compile): Remove unused var.
11304
11305 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
11306
11307 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
11308 (Faccessible_keymaps, where_is_internal): Remove unused vars.
11309
11310 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
11311
11312 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
11313
11314 * fileio.c (Fwrite_region): Remove unused var.
11315
11316 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
11317 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
11318
11319 * composite.c (Fremove_list_of_text_properties): Declare.
11320
11321 * coding.c (inhibit_pre_post_conversion): Remove (unused).
11322 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
11323 (coding_inherit_eol_type): Remove unused attrs.
11324 (detect_coding): Cast arg of detect_eol.
11325
11326 * charset.c (syms_of_charset): Remove unused var p.
11327 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
11328 byte/char counts.
11329
11330 * casetab.c (set_case_table): Remove unused var.
11331
11332 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
11333 unused vars.
11334
113352008-02-01 Dave Love <fx@gnu.org>
11336
11337 * xterm.c (x_bitmap_mask): Declare.
11338
113392008-02-01 Dave Love <fx@gnu.org>
11340
11341 * xterm.c (x_term_init): Fix type error.
11342
11343 * lisp.h: Add Funibyte_char_to_multibyte.
11344
11345 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
11346 (Fset_coding_system_priority): Doc fix.
11347
11348 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
11349
11350 * indent.c (check_composition): Make start and end EMACS_INT.
11351
11352 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
11353
11354 * xdisp.c (handle_composition_prop, check_point_in_composition):
11355 Make buffer positions EMACS_INT.
11356
11357 * composite.c (find_composition, run_composition_function)
11358 (update_compositions, Ffind_composition_internal): Make buffer
11359 positions EMACS_INT.
11360
11361 * composite.h (find_composition, update_compositions): Make
11362 position args EMACS_INT.
11363
11364 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
11365
11366 * intervals.c (get_property_and_range):
11367 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
11368
11369 * unexalpha.c: Don't include varargs.h.
11370
113712008-02-01 Dave Love <fx@gnu.org>
11372
11373 * coding.h (ENCODE_UTF_8): New.
11374
11375 * Makefile.in (gtkutil.o): Depend on coding.h.
11376
11377 * coding.c (Fset_coding_system_priority): Doc fix.
11378
113792008-02-01 Kenichi Handa <handa@m17n.org>
11380
11381 * fileio.c (Finsert_file_contents): Call setup_coding_system in
11382 the case of auto saving.
11383
113842008-02-01 Andreas Schwab <schwab@suse.de>
11385
11386 * chartab.c (map_char_table, map_char_table_for_charset): Protect
11387 `range' from GC.
11388
113892008-02-01 Kenichi Handa <handa@m17n.org>
11390
11391 * coding.c (decode_coding_sjis): Check bytes more rigidly.
11392
113932008-02-01 Kenichi Handa <handa@m17n.org>
11394
11395 * fileio.c (choose_write_coding_system): Return a decided coding system.
11396 (Fwrite_region): Set Vlast_coding_system_used to the return value
11397 of choose_write_coding_system.
11398
113992008-02-01 Kenichi Handa <handa@m17n.org>
11400
11401 * charset.c (Fset_charset_priority): Pay attention to duplicated
11402 arguments.
11403
11404 * coding.c (QCcategory): New variable.
11405 (syms_of_coding): Defsym it. Set all elements of
11406 Vcoding_category_table and their symbol values.
11407 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
11408 coding-category-XXX, and coding-category-list.
11409 (Fdefine_coding_system_internal): Add category in the plist.
11410
114112008-02-01 Kenichi Handa <handa@m17n.org>
11412
11413 * callproc.c (Fcall_process): Handle carryover correctly.
11414
11415 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
11416 (raw_text_coding_system): Check NILP (coding_system).
11417 (coding_inherit_eol_type): Check NILP (coding_system) and
11418 NILP (parent).
11419 (consume_chars): Fix for the case of raw-text.
11420
11421 * process.c (read_process_output): Handle carryover correctly.
11422
114232008-02-01 Dave Love <fx@gnu.org>
11424
11425 * regex.c (re_search_2): Fix last change.
11426
114272008-02-01 Kenichi Handa <handa@m17n.org>
11428
11429 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
11430 target_multibyte. Even in a unibyte case, return a converted
11431 multibyte char.
11432 (GET_CHAR_AFTER): New macro.
11433 (PATFETCH): Translate via multibyte char.
11434 (HANDLE_UNIBYTE_RANGE): Delete this macro.
11435 (SETUP_MULTIBYTE_RANGE): New macro.
11436 (regex_compile): Setup compiled code so that its multibyteness
11437 matches that of a target. Fix the handling of "[X-YZ]" using
11438 SETUP_MULTIBYTE_RANGE.
11439 (analyse_first) <charset>: For filling fastmap for all multibyte
11440 characters, don't check by BASE_LEADING_CODE_P.
11441 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
11442 the same as RE_MULTIBYTE_P (bufp) now.
11443 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
11444 (TARGET_CHAR_AND_LENGTH): Delete this macro.
11445 (TRANSLATE_VIA_MULTIBYTE): New macro.
11446 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
11447 It is the same as RE_MULTIBYTE_P (bufp) now.
11448 <exactn>: Translate via multibyte.
11449 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
11450 translate it.
11451 <charset, charset_not>: Fetch a character by
11452 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
11453 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
11454 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
11455 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
11456 by GET_CHAR_AFTER.
11457 (bcmp_translate): Likewise.
11458
11459 * search.c (compile_pattern): Check the member target_multibyte,
11460 not the member multibyte of buf.
11461
11462 * lread.c (read1): While reading a string, set force_singlebyte
11463 and force_multibyte correctly.
11464
11465 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
11466 up of unibyte_to_multibyte_table.
11467
114682008-02-01 Kenichi Handa <handa@m17n.org>
11469
11470 * coding.c (setup_coding_system): If coding has
11471 post-read-conversion or pre-write-conversion, set
11472 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
11473 respectively.
11474 (decode_coding_gap): Run post-read-conversion if any.
11475
11476 * fileio.c (Finsert_file_contents): Even if we read into a
11477 unibyte buffer, check if we must decode the result or not.
11478
114792008-02-01 Kenichi Handa <handa@m17n.org>
11480
11481 * coding.c (make_conversion_work_buffer): Change the work buffer
11482 name to the same one as that of Emacs 21.
11483
114842008-02-01 Kenichi Handa <handa@m17n.org>
11485
11486 * coding.h (make_conversion_work_buffer): Adjust prototype.
11487 (code_conversion_restore): Don't extern it.
11488
11489 * coding.c (detected_mask): Delete unused variable.
11490 (decode_coding_iso_2022): Pay attention to the byte sequence of
11491 CTEXT extended segment, and retain those bytes as is.
11492 (decode_coding_ccl): Delete unused variable `valids'.
11493 (setup_coding_system): Delete unused variable `category'.
11494 (consume_chars): Delete unused variable `category'. Make it work
11495 for non-multibyte case.
11496 (make_conversion_work_buffer): Change argument.
11497 (saved_coding): Delete unused variable.
11498 (code_conversion_restore): Don't check saved_coding->destination.
11499 (code_conversion_save): New function.
11500 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
11501 instead of record_unwind_protect.
11502 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
11503 (detect_coding_system): Delete unused variable `mask'.
11504 (Fdefine_coding_system_internal): Delete unused variable id.
11505
11506 * fileio.c (kill_workbuf_unwind): New function.
11507 (Finsert_file_contents): On replacing, call
11508 make_conversion_work_buffer with correct args, and call
11509 record_unwind_protect with the first arg kill_workbuf_unwind.
11510
11511 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
11512
115132008-02-01 Kenichi Handa <handa@m17n.org>
11514
11515 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
11516 (fontset_add): Fix for the case that TO is less than TO1.
11517 (Ffontset_info): Don't use fallback fontset on checking the
11518 default fontset.
11519 (dump_fontset): New function for debugging.
11520
11521 * coding.c (Fdefine_coding_system_internal): Fix for the case that
11522 coding_type is Qcharset.
11523
115242008-02-01 Kenichi Handa <handa@m17n.org>
11525
11526 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
11527 (map_char_table): Don't inherit the value from the parent on
11528 initializing VAL. Adjust for the above change.
11529
115302008-02-01 Kenichi Handa <handa@m17n.org>
11531
11532 * coding.c (Qsignature, Qendian): Delete these variables.
11533 (syms_of_coding): Don't initialize them.
11534 (CATEGORY_MASK_UTF_16_AUTO): New macro.
11535 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
11536 detect_info->found.
11537 (decode_coding_utf_16): Don't detect BOM here.
11538 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
11539 is NOT utf_16_without_bom.
11540 (setup_coding_system): For a coding system of type utf-16, check
11541 if the attribute :endian is Qbig or not (not nil or not), and set
11542 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
11543 (detect_coding): If coding type is utf-16 and BOM detection is
11544 required, detect it.
11545 (Fdefine_coding_system_internal): For a coding system of type
11546 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
11547
115482008-02-01 Kenichi Handa <handa@m17n.org>
11549
11550 * coding.c (coding_set_source): Fix for the case that the current
11551 buffer is different from coding->src_object.
11552 (decode_coding_object): Don't use the conversion work buffer if
11553 DST_OBJECT is a buffer.
11554
115552008-02-01 Dave Love <fx@gnu.org>
11556
11557 * lread.c (read_emacs_mule_char) [len==2]: Index
11558 emacs_mule_charset correctly.
11559
115602008-02-01 Dave Love <fx@gnu.org>
11561
11562 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
11563 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
11564 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
11565 treated specially.)
11566 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
11567 (detected_mask): Remove Big5 bits.
11568
115692008-02-01 Kenichi Handa <handa@m17n.org>
11570
11571 The following changes are to make the font rescaling facility
11572 compatible with Emacs 21.
11573
11574 * xfaces.c (Vface_font_rescale_alist): Rename from
11575 Vface_resizing_fonts.
11576 (struct font_name): Rename member resizing_ratio to rescale_ratio.
11577 (font_rescale_ratio): Rename from font_resizing_ratio.
11578 (split_font_name): Set font->rescale_ratio.
11579 (better_font_p): Pay attention to font->rescale_ratio.
11580 (build_scalable_font_name): Likewise. Change RESX, and RESY
11581 fields.
11582 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
11583
115842008-02-01 Kenichi Handa <handa@m17n.org>
11585
11586 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
11587 (Qutf_16_le): Remove these variables.
11588 (syms_of_coding): Don't DEFSYM them.
11589 (decode_coding_utf_16): Fix handling of BOM.
11590 (encode_coding_utf_16): Fix handling of BOM.
11591
115922008-02-01 Kenichi Handa <handa@m17n.org>
11593
11594 * fileio.c (Finsert_file_contents): On replacing, before decoding
11595 the file into the work buffer, set point of the work buffer to the end.
11596
115972008-02-01 Dave Love <fx@gnu.org>
11598
11599 * coding.c (Fcheck_coding_systems_region): Fix type errors.
11600
116012008-02-01 Dave Love <fx@gnu.org>
11602
11603 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
11604 and fix C types.
11605
116062008-02-01 Kenichi Handa <handa@m17n.org>
11607
11608 * xdisp.c (SKIP_GLYPHS): New macro.
11609 (set_cursor_from_row): Pay attention to string display properties.
11610
11611 * category.c (copy_category_entry): Fix for the case that RANGE
11612 is an integer.
11613
11614 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
11615
11616 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
11617
116182008-02-01 Kenichi Handa <handa@m17n.org>
11619
11620 * charset.c (Fcharset_id_internal): New function.
11621 (syms_of_charset): Defsubr it.
11622
11623 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
11624 with the last arg charset_list acquired from coding.
11625 (Fdefine_coding_system_internal): For ccl-based coding system, fix
11626 the attribute coding_attr_ccl_valids.
11627
11628 * coding.h (enum define_coding_ccl_arg_index): Set the first
11629 member coding_arg_ccl_decoder to coding_arg_max.
11630
11631 * ccl.h (ccl_driver): Adjust prototype.
11632
11633 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
11634 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
60612c8f 11635 of DECODE_CHAR, ENCODE_CHAR, CHAR_CHARSET.
aac0c6e3
MR
11636 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
11637 last arg Qnil.
11638
116392008-02-01 Kenichi Handa <handa@m17n.org>
11640
11641 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
11642 call encode_char.
11643
11644 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
11645
116462008-02-01 Dave Love <fx@gnu.org>
11647
11648 * composite.c (syms_of_composite): Make composition_hash_table weak.
11649
116502008-02-01 Kenichi Handa <handa@m17n.org>
11651
11652 * dispextern.h (check_face_attributes, generate_ascii_font_name)
11653 (font_name_registry): Don't extern them.
11654 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
11655
11656 * fontset.h (Qfontset): Don't extern it.
11657 (new_fontset_from_font_name): Extern it.
11658
11659 * fontset.c: Give 8 extra slots to fontset objects.
11660 (Qfontset_info): New variable.
11661 (syms_of_fontset): Defsym it.
11662 (FONTSET_FALLBACK): New macro.
11663 (fontset_face): Try also the default fontset.
11664 (make_fontset): Realize a fallback fontset from the default fontset.
11665 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
11666 using split_font_name_into_vector and build_font_name_from_vector.
11667 (Fset_fontset_font): Access the elements of font_spec by enum
11668 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
11669 name by using split_font_name_into_vector.
11670 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
11671 generate a proper font name from the fontset name. Update
11672 Vfontset_alias_alist.
11673 (n_auto_fontsets): New variable.
11674 (new_fontset_from_font_name): New function.
11675 (Ffont_info): Store the information about fonts generated from the
11676 default fontset in the first extra slot of the returned char-table.
11677
11678 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
11679 (font_name_registry): Delete function.
11680 (split_font_name_into_vector): New function.
11681 (build_font_name_from_vector): New function.
11682 (font_list): The argument REGISTRY is now a list of registry names.
11683 (choose_face_font): If we are choosing an ASCII font, and ATTRS
11684 specifies an explicit font name, return the name as is. Make a
11685 list of registy names.
11686
11687 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
11688 of x_new_fontset.
11689 (Fx_create_frame): Don't call x_new_fontset here. Just use
11690 x_list_fonts to check the existence of fonts.
11691
11692 * xterm.h (x_new_fontset): Adjust prototype.
11693
11694 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
11695 string. Use new_fontset_from_font_name to create a fontset from a
11696 font name.
11697
116982008-02-01 Kenichi Handa <handa@m17n.org>
11699
11700 * syntax.c (Vfind_word_boundary_function_table): New name for
11701 Vnext_word_boundary_function_table.
11702 (find-word-boundary-function-table): New name for
11703 next-word-boundary-function-table.
11704
117052008-02-01 Dave Love <fx@gnu.org>
11706
11707 * Makefile.in: Fix some dependencies.
11708
11709 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
11710 set it to nil before returning.
11711
11712 * composite.c (update_compositions): Fix type error.
11713
11714 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
11715
117162008-02-01 Kenichi Handa <handa@m17n.org>
11717
11718 * xterm.c (x_new_font): Optimize for the case that the font is
11719 already set for the frame.
11720
117212008-02-01 Kenichi Handa <handa@m17n.org>
11722
11723 * chartab.c (char_table_ascii): Check if the char table contents
11724 is sub-char-table or not.
11725 (char_table_set, char_table_set_range): Fix argument to
11726 char_table_ascii.
11727
11728 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
11729 (detect_coding_utf_8, detect_coding_utf_16)
11730 (detect_coding_emacs_mule, detect_coding_iso_2022)
11731 (detect_coding_sjis, detect_coding_big5)
11732 (detect_coding_ccl, detect_coding_charset): Change argument MASK
11733 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
11734 sequence is valid in this coding system. Change callers.
11735 (MAX_ANNOTATION_LENGTH): New macro.
11736 (ADD_ANNOTATION_DATA): New macro.
11737 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
11738 ADD_ANNOTATION_DATA. Change the format of annotation data.
11739 (ADD_CHARSET_DATA): New macro.
11740 (emacs_mule_char): New argument ID. Change callers.
11741 (decode_coding_emacs_mule, decode_coding_iso_2022)
11742 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
11743 Produce charset annotation data in coding->charbuf.
11744 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
11745 to charset annotation data in coding->charbuf.
11746 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
11747 coding->common_flags if the coding system is iso-2022 based and
11748 uses designation.
11749 (produce_composition): Adjust for the new annotation data format.
11750 (produce_charset): New function.
11751 (produce_annotation): Handle charset annotation.
11752 (handle_composition_annotation, handle_charset_annotation): New
11753 functions.
11754 (consume_chars): Handle charset annotation. Utilize the above two
11755 functions.
11756 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
11757 buffer, get the deleted text as a string and set
11758 coding->src_object to that string.
11759 (detect_coding, detect_coding_system): Use the new struct
11760 coding_detection_info.
11761
11762 * coding.h (struct coding_detection_info): New structure.
11763 (struct coding_system): Adjust prototype of the member `detector'.
11764 (CODING_ANNOTATE_CHARSET_MASK): New macro.
11765
117662008-02-01 Kenichi Handa <handa@m17n.org>
11767
11768 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
11769
117702008-02-01 Dave Love <fx@gnu.org>
11771
11772 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
11773 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
11774 to new local and nullify apropos_accumulate before returning.
11775 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
11776
117772008-02-01 Kenichi Handa <handa@m17n.org>
11778
11779 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
11780 correctly.
e3eea1fc 11781
aac0c6e3
MR
117822008-02-01 Dave Love <fx@gnu.org>
11783
11784 * fns.c (Flanginfo): Call synchronize_system_time_locale.
11785
117862008-02-01 Kenichi Handa <handa@m17n.org>
11787
11788 The following changes are to make character composition happen
11789 automatically on displaying.
11790
11791 * Makefile.in (lisp, shortlisp): Add composite.elc.
11792
11793 * composite.h (Qauto_composed, Vauto_composition_function)
11794 (Qauto_composition_function): Extern them.
11795
11796 * composite.c (Vcomposition_function_table)
11797 (Qcomposition_function_table): Delete variables.
11798 (Qauto_composed, Vauto_composition_function)
11799 (Qauto_composition_function): New variables.
11800 (run_composition_function): Don't call
11801 compose-chars-after-function.
11802 (update_compositions): Clear `auto-composed' text property.
11803 (compose_chars_in_text): Delete this function.
11804 (syms_of_composite): Staticpro Qauto_composed and
11805 Qauto_composition_function. Declare Vauto_composition_function as
11806 a Lisp variable.
11807
11808 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
11809
11810 * xdisp.c (it_props): Add an entry for Qauto_composed.
11811 (handle_auto_composed_prop): New function.
11812
11813 * xselect.c (selection_data_to_lisp_data): Don't call
11814 compose_chars_in_text.
11815
118162008-02-01 Dave Love <fx@gnu.org>
11817
11818 * keyboard.c (read_char): Modify checking around use of
11819 Vkeyboard_translate_table.
11820
11821 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
11822 and fix C types.
11823
118242008-02-01 Kenichi Handa <handa@m17n.org>
11825
11826 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
11827 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
11828 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
11829 the case that the last byte is '\r' correctly.
11830 (decode_coding): Flush out the unprocessed data correctly.
11831 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
11832
118332008-02-01 Dave Love <fx@gnu.org>
11834
11835 * xterm.c (XTread_socket): Fix changes for defined keysyms.
11836 Add XK_ISO... case.
11837 (xaw_scroll_callback): Revert last change.
11838
118392008-02-01 Kenichi Handa <handa@m17n.org>
11840
11841 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
11842
118432008-02-01 Kenichi Handa <handa@m17n.org>
11844
11845 * xfaces.c (Vface_resizing_fonts): New variable.
11846 (struct font_name): New member `resizing_ratio'.
11847 (font_resizing_ratio): New function.
11848 (split_font_name): Set font->resizing_ratio.
11849 (better_font_p): Pay attention to font->resizing_ratio.
11850 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
11851 RESX, and RESY fields.
11852 (try_alternative_families): Try scalable fonts if
11853 Vscalable_fonts_allowed is not Qt.
11854 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
11855
118562008-02-01 Dave Love <fx@gnu.org>
11857
11858 * xterm.c (xaw_scroll_callback): Cast correctly.
11859
118602008-02-01 Dave Love <fx@gnu.org>
11861
11862 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
11863 (lispy_kana_keys): Comment out.
11864 (make_lispy_event) [XK_kana_A]: Comment out.
11865
11866 * xterm.c (xaw_scroll_callback): Cast call_data.
11867 (XTread_socket): Deal with ASCII keysyms.
11868 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
11869
118702008-02-01 Dave Love <fx@gnu.org>
11871
11872 * xterm.c (Vx_keysym_table): New.
11873 (syms_of_xterm): Initialize it.
11874 (XTread_socket): Use it.
11875 From head: Eliminate incorrect optimization that tried to avoid
11876 decoding the output of X*LookupString.
11877 (x_get_font_repertory): Delete charset declaration.
11878
118792008-02-01 Kenichi Handa <handa@m17n.org>
11880
11881 * coding.c (detect_coding_charset): If only ASCII bytes are found,
11882 return 0.
11883 (Fdefine_coding_system_internal): Setup
11884 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
11885
118862008-02-01 Dave Love <fx@gnu.org>
11887
11888 * coding.c (Fcheck_coding_system): Doc fix.
11889
11890 * editfns.c (Finsert_byte): Return a proper value.
11891
118922008-02-01 Kenichi Handa <handa@m17n.org>
11893
11894 * coding.c (decode_coding): Fix args to translate_chars. Pay
11895 attention to Vstandard_translation_table_for_decode.
11896 (encode_coding): Fix args to translate_chars. Pay attention to
11897 Vstandard_translation_table_for_encode.
11898
11899 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
11900 SINGLE_BYTE_CHAR_P.
11901
11902 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
11903 not by SINGLE_BYTE_CHAR_P.
11904
11905 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
11906 SINGLE_BYTE_CHAR_P.
11907
11908 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
11909 SINGLE_BYTE_CHAR_P.
11910
11911 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
11912 by SINGLE_BYTE_CHAR_P.
11913
11914 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
11915 SINGLE_BYTE_CHAR_P.
11916
119172008-02-01 Dave Love <fx@gnu.org>
11918
11919 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
11920
119212008-02-01 Dave Love <fx@gnu.org>
11922
11923 * fns.c (Flanginfo): Fix typo.
11924
11925 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
11926
119272008-02-01 Kenichi Handa <handa@m17n.org>
11928
11929 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
11930 (detect_coding_emacs_mule, detect_coding_iso_2022)
11931 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
11932 incomplete byte sequence. Don't update *mask when correctly detected.
11933 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
11934 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
11935 (detect_coding, detect_coding_system): Adjust for the changes above.
11936
119372008-02-01 Kenichi Handa <handa@m17n.org>
11938
11939 * character.c (char_string): Rename from
11940 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
11941 (string_char): Rename from string_char.
11942
11943 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
11944 if C is greater than MAX_3_BYTE_CHAR.
11945 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
11946 string_char instead of string_char_with_unification.
11947
119482008-02-01 Dave Love <fx@gnu.org>
11949
11950 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
11951
119522008-02-01 Kenichi Handa <handa@m17n.org>
11953
11954 * keymap.c (push_key_description): Pay attention to force_multibyte.
11955
11956 * regex.c (re_search_2): Fix for the case of unibyte buffer.
11957
119582008-02-01 Dave Love <fx@gnu.org>
11959
11960 * charset.c (define_charset_internal): Rename `supprementary'.
11961
11962 * Makefile.in (lisp, shortlisp): Remove latin-N.
11963
119642008-02-01 Dave Love <fx@gnu.org>
11965
11966 * xfns.c (x_window, x_window): Use use_xim.
11967
11968 * xterm.c (use_xim): Initialize.
11969 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
11970 (x_term_init): Maybe set use_xim.
11971
11972 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
11973
119742008-02-01 Kenichi Handa <handa@m17n.org>
11975
11976 * search.c (search_buffer): Fix case-fold-search of multibyte
11977 characters.
11978 (boyer_moore): Rename the last argument to char_high_bits.
11979
119802008-02-01 Kenichi Handa <handa@m17n.org>
11981
11982 * xdisp.c (display_string): Fix for the case of zero width glyph.
11983
11984 * xfns.c (x_set_font): Change the error message of the case that
11985 x_new_fontset returns Qt.
11986
11987 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
11988 (Finternal_set_lisp_face_attribute): Use signal_error for the
11989 error of invalid fontset.
11990
11991 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
11992 fontset, return Qt.
11993
119942008-02-01 Dave Love <fx@gnu.org>
11995
11996 * unexelf.c (unexec): Make .got handling not SGI-specific.
11997
11998 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
11999
12000 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
12001
12002 * keyboard.c (read_key_sequence): Fix type error.
12003
12004 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
12005 type error.
12006
12007 * fontset.c (fontset_add): Return Lisp_Object.
12008
120092008-02-01 Dave Love <fx@gnu.org>
12010
12011 * charset.h (charset_ordered_list_tick): Declare extern.
12012
120132008-02-01 Kenichi Handa <handa@m17n.org>
12014
12015 The following changes (and some of 2008-02-01 changes of mine) are
12016 for handling syntax, category, and case conversion for unibyte
12017 characters by converting them to multibyte on the fly. With these
12018 changes, we don't have to setup syntax and case tables for unibyte
12019 characters in each language environment.
12020
12021 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
12022 multibyte if necessary.
12023
12024 * bytecode.c (Fbyte_code): Likewise.
12025
12026 * character.h (LEADING_CODE_LATIN_1_MIN)
12027 (LEADING_CODE_LATIN_1_MAX): New macros.
12028 (unibyte_to_multibyte_table): Extern it.
12029 (unibyte_char_to_multibyte): New macro.
12030 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
12031 (CHAR_LEADING_CODE): New macro.
12032 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
12033
12034 * character.c (unibyte_to_multibyte_table): New variable.
12035 (unibyte_char_to_multibyte): Move to character.h and define as macro.
12036 (multibyte_char_to_unibyte): If C is an eight-bit character,
12037 convert it to the corresponding byte value.
12038
12039 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
12040 not 1, signals an error. Update the elements of
12041 unibyte_to_multibyte_table.
12042 (init_charset_once): Initialize unibyte_to_multibyte_table.
12043 (syms_of_charset): Define the charset `iso-8859-1'.
12044
12045 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
12046 as is without converting it to unibyte. In a unibyte buffer,
12047 convert C to multibyte before checking the syntax.
12048
12049 * lisp.h (unibyte_char_to_multibyte): Delete extern.
12050
12051 * minibuf.c (Fminibuffer_complete_word): Use the macro
12052 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
12053
12054 * regex.h (struct re_pattern_buffer): New member target_multibyte.
12055
12056 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
12057 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
12058 that is zero, convert an eight-bit char to multibyte.
12059 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
12060 non-emacs case.
12061 (PATFETCH): Convert an eight-bit char to multibyte.
12062 (HANDLE_UNIBYTE_RANGE): New macro.
12063 (regex_compile): Setup the compiled pattern for multibyte chars
12064 even if the given regex string is unibyte. Use PATFETCH_RAW
12065 instead of PATFETCH in many places. To handle `charset'
12066 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
12067 only for ASCII chars.
12068 (analyse_first) <exactn>: Simplify because the compiled pattern
12069 is multibyte.
12070 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
12071 <charset>: Use CHAR_LEADING_CODE to get leading codes.
12072 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
12073 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
12074 multibyte always 1.
12075 (re_search_2): In emacs, set the locale variable multibyte to 1,
12076 otherwise to 0. New local variable target_multibyte. Check it
12077 to decide the multibyteness of STR1 and STR2. If
12078 target_multibyte is zero, convert unibyte chars to multibyte
12079 before translating and checking fastmap.
12080 (TARGET_CHAR_AND_LENGTH): New macro.
12081 (re_match_2_internal): In emacs, set the locale variable multibyte
12082 to 1, otherwise to 0. New local variable target_multibyte. Check
12083 it to decide the multibyteness of STR1 and STR2. Use
12084 TARGET_CHAR_AND_LENGTH to fetch a character from D.
12085 <charset, charset_not>: If multibyte is nonzero, check fastmap
12086 only for ASCII chars. Call bcmp_translate with
12087 target_multibyte, not with multibyte.
12088 <begline>: Declare the local variable C as `unsigned'.
12089 (bcmp_translate): Change the last arg name to target_multibyte.
12090
12091 * search.c (compile_pattern_1): Don't adjust the multibyteness of
12092 the regexp pattern and the matching target. Set cp->buf.multibyte
12093 to the multibyteness of the regexp pattern. Set
12094 cp->but.target_multibyte to the multibyteness of the matching target.
12095 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
12096 FETCH_STRING_CHAR_ADVANCE.
12097 (Freplace_match): Convert unibyte chars to multibyte.
12098
12099 * syntax.c (char_quoted, back_comment, scan_words)
12100 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
12101 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
12102 unibyte chars to multibyte.
12103 (skip_chars): Delete the arg syntaxp, and move the code for
12104 handling syntaxes to skip_syntaxes. Change callers.
12105 Fix the case that the multibyteness of STRING and the current
12106 buffer doesn't match.
12107 (skip_syntaxes): New function.
12108 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
12109 SINGLE_BYTE_CHAR_P.
12110
121112008-02-01 Kenichi Handa <handa@m17n.org>
12112
12113 * xfaces.c (QCfontset): New variable.
12114 (LFACE_FONTSET): New macro.
12115 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
12116 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
12117 (Finternal_set_lisp_face_attribute)
12118 (Finternal_get_lisp_face_attribute): Handle QCfontset.
12119 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
12120 check also LFACE_FONTSET_INDEX.
12121 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
12122 attrs[LFACE_FONT_INDEX].
12123 (syms_of_xfaces): Intern and staticpro QCfontset.
12124
12125 * dispextern.h (enum lface_attribute_index): New member
12126 LFACE_FONTSET_INDEX.
12127
12128 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
12129
121302008-02-01 Kenichi Handa <handa@m17n.org>
12131
12132 * coding.c (coding_set_destination): Fix coding->destination for
12133 the case converting a region.
12134 (encode_coding_utf_8): Encode eight-bit chars as single byte.
12135 (encode_coding_object): Fix coding->dst_pos and
12136 coding->dst_pos_byte for the case converting a region.
12137
12138 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
12139
12140 * character.h (BYTE8_STRING): New macro.
12141
12142 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
12143
121442008-02-01 Kenichi Handa <handa@m17n.org>
12145
12146 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
12147 characters by octal form.
12148
12149 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
12150
12151 * buffer.h (_fetch_multibyte_char_len): Delete extern.
12152 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
12153 _fetch_multibyte_char_len.
12154 (FETCH_CHAR_AS_MULTIBYTE): New macro.
12155
12156 * casetab.c (set_canon, set_identity, shuffle): Simplify.
12157
12158 * casefiddle.c (casify_object): Simplify. Handle the case that
12159 the case conversion change the byte length.
12160 (casify_region): Likewise.
12161
12162 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
12163
12164 * character.c (_fetch_multibyte_char_len): Delete this variable.
12165 (syms_of_character): Setup Vprintable_chars.
12166
12167 * editfns.c (Fchar_equal): Fix for the unibyte case.
12168 (Finsert_byte): New function.
12169 (syms_of_editfns): Defsubr it.
12170
12171 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
12172 of direct code 0x3ffff.
12173
12174 * search.c (Freplace_match): Fix for the unibyte case.
12175
121762008-02-01 Kenichi Handa <handa@m17n.org>
12177
12178 * lread.c (safe_to_load_p): Fix the logic.
12179
12180 * syntax.c (scan_words): Don't treat characters belonging to
12181 different scripts as constituting a word.
12182
12183 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12184
12185 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
12186
12187 * emacs.c (main): In the case of --unibyte, instead of aborting on
12188 finding non-empty buffer, make it unibyte.
12189
121902008-02-01 Kenichi Handa <handa@m17n.org>
12191
12192 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
12193 to create a fontset.
12194
121952008-02-01 Dave Love <fx@gnu.org>
12196
12197 * character.c (Funibyte_char_to_multibyte): Doc fix.
12198
12199 * xfns.c [HAVE_STDLIB_H]: Fix last change.
12200
122012008-02-01 Kenichi Handa <handa@m17n.org>
12202
12203 * fontset.c (fontset_add): Make the type `int'.
12204 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
12205
12206 * character.c (unibyte_char_to_multibyte)
12207 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
12208 charset_unibyte, not charset_primary.
12209
12210 * charset.h (charset_unibyte): Extern it instead of charset_primary.
12211
12212 * charset.c (charset_unibyte): Rename from charset_primary.
12213 (Funibyte_charset): Rename from Fprimary_charset.
12214 (Fset_unibyte_charset): Rename from Fset_primary_charset.
12215 (syms_of_charset): Adjust for the above changes.
12216
12217 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
12218 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
12219 it->multibyte_p is zero.
12220
12221 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
12222 Delete extern.
12223
122242008-02-01 Kenichi Handa <handa@m17n.org>
12225
12226 * coding.c (Fdefine_coding_system_internal): Fix category setting
12227 for a coding system of type iso-2022.
12228
122292008-02-01 Kenichi Handa <handa@m17n.org>
12230
12231 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
12232
122332008-02-01 Kenichi Handa <handa@m17n.org>
12234
12235 * syntax.c (Vnext_word_boundary_function_table): New variable.
12236 (next-word-boundary-function-table): Declare it as a Lisp variable
12237 in syms_of_syntax.
12238 (scan_words): Call functions in Vnext_word_boundary_function_table
12239 if any.
12240
12241 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
12242
12243 * fontset.c (fs_load_font): If fontp->charset is not negative,
12244 return fontp without setting its members.
12245
122462008-02-01 Dave Love <fx@gnu.org>
12247
12248 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
12249
12250 * m/sparc.h (HAVE_ALLOCA): Delete.
12251
12252 * s/irix6-5.h: Don't include strings.h.
12253 (bcopy, bzero, bcmp): Don't undef.
12254
12255 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
12256
12257 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
12258 (TIOCSIGSEND): Don't test IRIX6.
12259 (bcopy, bzero, bcmp): Define conditionally.
12260
122612008-02-01 Kenichi Handa <handa@m17n.org>
12262
12263 * buffer.c (Qas, Qmake, Qto): New variables.
12264 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
12265 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
12266
12267 * callproc.c (Fcall_process): Don't call insert_1_both directly if
12268 we are inserting a process output into a multibyte buffer.
12269
12270 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
12271 multibyte_char_to_unibyte.
12272
12273 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
12274 by the primary charset, make it eight-bit char.
12275 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
12276
12277 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
12278 (charset_8_bit__control, charset_8_bit_graphic)
12279 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
12280 (define_charset_internal): New function.
12281 (syms_of_charset): Call define_charset_internal for pre-defined
12282 charsets.
12283
12284 * charset.h (charset_8_bit): Extern it.
12285
12286 * coding.c (make_conversion_work_buffer): Adjust for the change
12287 of Fset_buffer_multibyte.
12288 (encode_coding_raw_text): Increment p0 in the loop.
12289
12290 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
12291
12292 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
12293 for the change of Fset_buffer_multibyte.
12294
12295 * fns.c (Fstring_to_multibyte): New function.
12296 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
12297
122982008-02-01 Dave Love <fx@gnu.org>
12299
12300 * xfns.c (x_put_x_image): Declare args.
12301
12302 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
12303 (try_font_list): Declare an arg.
12304
12305 * xdisp.c (message2_nolog, set_message): Declare an arg.
12306
12307 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
12308
12309 * syntax.c (scan_sexps_forward): Declare an arg.
12310
12311 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
12312 Declare an arg.
12313
12314 * lisp.h (Fnew_fontset): Declare.
12315
12316 * keymap.c (push_key_description): Call CHARACTERP correctly.
12317
12318 * fontset.c (fontset_add): Declare args. Call make_number correctly.
12319 (face_for_char): Delete unused vars.
12320 (Fset_fontset_font): Doc fix. Delete unused vars.
12321
12322 * doc.c (Fsubstitute_command_keys): Delete unused vars.
12323
12324 * composite.c (update_compositions): Declare arg.
12325
12326 * cm.c (calccost, cmgoto): Declare args.
12327
12328 * charset.c: Remove `emacs' conditional. Doc fixes.
12329 (map_char_table_for_charset): Declare.
12330
12331 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
12332
12333 * ccl.c: Remove `emacs' conditional.
12334
123352008-02-01 Kenichi Handa <handa@m17n.org>
12336
12337 The following changes are to allow specifying multiple font
12338 patterns for a character range (specified by script or charset).
12339
12340 * Makefile.in (abbrev.o): Depend on syntax.h.
12341 (xfaces.o): Depend on charset.h.
12342
12343 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
12344 SINGLE_BYTE_CHAR_P.
12345
12346 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
12347
12348 * character.h (Vchar_script_table): Extern it.
12349
12350 * character.c (Vscript_alist): Delete.
12351 (Vchar_script_table, Qchar_script_table): New variable.
12352 (syms_of_character): Declare Vchar_script_table as a lisp variable
12353 and initialize it.
12354
12355 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
12356 have property char-table-extra-slots, make no extra slot.
12357
12358 * dispextern.h (struct face): Delete member `charset'.
12359 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
12360 SINGLE_BYTE_CHAR_P.
12361 (choose_face_font, lookup_non_ascii_face, font_name_registry):
12362 Add prototypes.
12363 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
12364 (generate_ascii_font_name): Rename from generate_ascii_font.
12365
12366 * fontset.h (get_font_repertory_func): New prototype.
12367 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
12368 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
12369
12370 * fontset.c (Qprepend, Qappend): New variables.
12371 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
12372 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
12373 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
12374 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
12375 (fontset_ref_and_range, fontset_add, reorder_font_vector)
12376 (load_font_get_repertory): New functions.
12377 (fontset_set): Delete.
12378 (fontset_face): New arg FACE. Return face ID, not face.
12379 Complete re-write to handle new fontset structure. Change caller.
12380 (free_face_fontset): Use ASET istead of AREF (X) = Y.
12381 (face_for_char): Don't call lookup_face.
12382 (make_fontset_for_ascii_face): New arg FACE.
12383 (fs_load_font): New arg CHARSET_ID. Don't check
12384 Vfont_encoding_alist here.
12385 (find_font_encoding): New function.
12386 (list_fontsets): Use STRINGP, not ! NILP.
12387 (accumulate_script_ranges): New function.
12388 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
12389 re-written to handle new fontset structure.
12390 (Ffontset_font): Return a copy of element.
12391 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
12392 docstring of font-encoding-alist.
12393
12394 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
12395 (Fset_fotset_font): Fix arguments to 5.
12396
12397 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
12398
12399 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
12400 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12401 (highlight_trailing_whitespace): Adjust for the change of
12402 lookup_named_face.
12403
12404 * xfaces.c: Include charset.h.
12405 (load_face_font): Delete argument C. Change caller.
12406 (generate_ascii_font_name): Rename from generate_ascii_font.
12407 (font_name_registry): New function.
12408 (cache_face): Store ascii faces before non-ascii faces in buckets.
12409 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
12410 Lookup only ascii faces.
12411 (lookup_non_ascii_face): New function.
12412 (lookup_named_face): Delete argument C. Change caller.
12413 (lookup_derived_face): Delete argument C. Change caller.
12414 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
12415 a string, just call font_list with it.
12416 (choose_face_font): Delete arguments FACE and C. New arg
12417 FONT_SPEC. Change caller.
12418 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
12419 Change caller.
12420 (realize_non_ascii_face): New function.
12421 (realize_x_face): Call load_face_font here.
12422 (realize_tty_face): Delete argument C. Change caller.
12423 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
12424 get a face ID.
12425 (dump_realized_face): Don't print charset of FACE.
12426
12427 * xfns.c (x_set_font): Always call x_new_fontset and
12428 store_frame_parameter.
12429 (Fx_create_frame): Call x_new_fontset, not x_new_font.
12430 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
12431
12432 * xterm.h (x_get_font_repertory): Extern it.
12433
12434 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
12435 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
12436 it->multibyte_p is zero.
12437 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12438 (x_new_fontset): If FONTSETNAME doesn't match any existing
12439 fontsets, create a new one.
12440 (x_get_font_repertory): New function.
12441
124422008-02-01 Kenichi Handa <handa@m17n.org>
12443
12444 * coding.c (Ffind_coding_systems_region_internal): Detect an
12445 ASCII only string correctly.
12446
12447 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
12448 version is 0.
12449
124502008-02-01 Kenichi Handa <handa@m17n.org>
12451
12452 * lread.c: Include "coding.h".
12453 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
12454 (load_each_byte, unread_char): New variables.
12455 (readchar_backlog): Delete.
12456 (readchar): Return a character unless load_each_byte is nonzero.
12457 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
12458 cons. If unread_char is not -1, simply return it.
12459 (unreadchar): Handle the case that readcharfun is
12460 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
12461 (read_multibyte): Delete.
12462 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
12463 (read_emacs_mule_char): New functions.
12464 (Fload): Even if the file doesn't have the extension ".elc", if
12465 safe_to_load_p returns a positive version number, assume that the
12466 file contains bytecompiled code. If the version is less than 22,
12467 load the file while decoding multibyte sequences by emacs-mule.
12468 (readevalloop): Don't use readchar_backlog.
12469 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
12470 (Fread_from_string): Pay attention to the case that STREAM is a cons.
12471 (read_escape): Delete the arg BYTEREP.
12472 (read1): Set load_each_byte to 1 temporarily while handling
12473 #@NUMBER. Don't call read_multibyte.
12474 (read_vector): Call Fread with a cons. If readcharfun is
12475 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
12476 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
12477 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
12478 and Qload_force_doc_strings.
12479
124802008-02-01 Kenichi Handa <handa@m17n.org>
12481
12482 * xdisp.c (face_before_or_after_it_pos): Call
12483 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
12484
124852008-02-01 Kenichi Handa <handa@m17n.org>
12486
12487 * character.h (TRAILING_CODE_P): New macro.
12488 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
12489 (string_char_with_unification): Fix prototype.
12490 (Vscript_alist): Extern it.
12491
12492 * character.c (Vscript_alist): New variable.
12493 (string_char_with_unification, str_as_unibyte)
12494 (string_escape_byte8): Add `const' to local variables.
12495 (syms_of_character): Declare script-alist as a Lisp variable.
12496
12497 * charset.h (Vcharset_ordered_list): Extern it.
12498 (charset_ordered_list_tick): Extern it.
12499 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
12500 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
12501 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
12502 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
12503 (Funify_charset): Adjust for the change of Funify_charset.
12504
12505 * charset.c (charset_ordered_list_tick): New variable.
12506 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
12507 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
12508 deunify intead of unify a charset.
12509 (string_xstring_p): Add `const' to local variables.
12510 (find_charsets_in_text): Add `const' to arguments and local variables.
12511 (encode_char): Adjust for the change of Funify_charset. Fix
12512 detecting of invalid code.
12513 (Fset_charset_priority): Increment charset_ordered_list_tick.
12514 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
12515 and TO_CODE.
12516
12517 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
12518 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
12519 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
12520 (decode_coding_ccl, consume_chars)
12521 (Ffind_coding_systems_region_internal)
12522 (Fcheck_coding_systems_region): Add `const' to local variables.
12523
12524 * print.c (print_object): Use octal form for printing the
12525 contents of a bool vector.
12526
125272008-02-01 Dave Love <fx@gnu.org>
12528
12529 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
12530 <version == 20>: Refuse to load.
12531
125322008-02-01 Dave Love <fx@gnu.org>
12533
12534 * fns.c: Move coding.h.
12535 (Qcodeset, Qdays, Qmonths): New.
12536 (concat): Use CHARACTERP instead of INTEGERP.
12537 (Flocale_codeset): Delete.
12538 (Flanginfo): New function.
12539 (syms_of_fns): Change accordingly.
12540
12541 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
12542
125432008-02-01 Dave Love <fx@gnu.org>
12544
12545 * casetab.c (init_casetab_once, init_casetab_once): Fix
12546 CHAR_TABLE_SET call.
12547
12548 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
12549
12550 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
12551
12552 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
12553 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
12554 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
12555
12556 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
12557
12558 * coding.c (ENCODE_DESIGNATION, decode_eol)
12559 (make_conversion_work_buffer, code_conversion_restore)
12560 (Fdefine_coding_system_internal): Convert Lisp types.
12561 (code_conversion_restore): Use EQ, not ==.
12562 (Fencode_coding_string): Fix code_convert_string call.
12563
12564 * coding.h (code_convert_region): Fix prototype.
12565
12566 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
12567
12568 * fontset.c (fontset_ref, fontset_set, fs_load_font)
12569 (Ffontset_info): Convert Lisp types.
12570
12571 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
12572
12573 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
12574
12575 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
12576
12577 * chartab.c: Include "...h", not <...h> in some cases.
12578
12579 * callproc.c (Fcall_process): Remove unused variables.
12580
125812008-02-01 Dave Love <fx@gnu.org>
12582
12583 * coding.c (Fset_coding_system_priority): Allow null arg list.
12584
125852008-02-01 Dave Love <fx@gnu.org>
12586
12587 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
12588 (Fself_insert_and_exit): Use CHARACTERP.
12589
12590 * callproc.c (Fcall_process): Remove unused vars.
12591
12592 * xterm.c (XTread_socket): Add extra dead keysyms.
12593
12594 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
12595
12596 * dispextern.h: Remove prototypes for redraw_frame,
12597 redraw_garbaged_frames.
12598
12599 * cmds.c (Fself_insert_command): Use CHARACTERP.
12600
12601 * chartab.c (make_sub_char_table): Remove unused var.
12602 (Fset_char_table_default, Fmap_char_table): Doc fix.
12603
12604 * keymap.c (access_keymap): Remove generic char code.
12605 (push_key_description): Use CHARACTERP.
12606
126072008-02-01 Dave Love <fx@gnu.org>
12608
12609 * charset.c: Doc fixes.
12610 (Funify_charset): Extra checking.
12611
126122008-02-01 Dave Love <fx@gnu.org>
12613
12614 * lread.c: Remove some unused variables.
12615 (safe_to_load_p): If safe, return the magic number version byte.
12616 (Fload): Maybe use load-with-code-conversion.
12617
126182008-02-01 Kenichi Handa <handa@m17n.org>
12619
12620 * category.c (Fmodify_category_entry): Don't modify the contents
12621 of category_set for characters out of the range. Avoid
12622 unnecessary modification.
12623
12624 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
12625 Vchar_unify_table. The default value of the table is now nil.
12626
12627 * character.c (syms_of_character): Setup Vchar_width_table for
12628 eight-bit-control and raw-byte chars.
12629
12630 * charset.h (enum define_charset_arg_index): Delete
12631 charset_arg_parents and add charset_arg_subset and
12632 charset_arg_superset.
12633 (enum charset_attr_index): Delete charset_parents and add
12634 charset_subset and charset_superset.
12635 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
12636 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
12637 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
12638 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
12639 (CHARSET_SUPERSET): New macros.
12640 (charset_work): Extern it.
12641 (ENCODE_CHAR): Use charset_work.
12642 (CHAR_CHARSET_P): Adjust for the change of encoder format.
12643 (map_charset_chars): Extern it.
12644
12645 * charset.c (load_charset_map): Set the default value of encoder
12646 and deunifier char-tables to nil.
12647 (map_charset_chars): Change argument. Change callers. Use
12648 map_char_table_for_charset instead of map_char_table.
12649 (Fmap_charset_chars): New optional args from_code and to_code.
12650 (Fdefine_charset_internal): Adjust for the change of
12651 `define-charset' (:parents -> :subset or :superset).
12652 (charset_work): New variable.
12653 (encode_char, syms_of_charset): Adjust for the change of
12654 Fdefine_charset_internal.
12655 (Ffind_charset_string): Setup the vector `charsets' correctly.
12656
12657 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
12658 the previous change.
12659 (char_table_ref_and_range): Adjust for the above change.
12660 (map_sub_char_table_for_charset): New function.
12661 (map_char_table_for_charset): New function.
12662
12663 * keymap.c (describe_vector): Handle a char-table directly here.
12664 (describe_char_table): Delete.
12665
12666 * lisp.h (map_charset_chars): Delete.
12667
126682008-02-01 Dave Love <fx@gnu.org>
12669
12670 * fns.c (count_combining): Comment out (unused).
12671 (Flocale_codeset): New.
12672 (syms_of_fns): Defsubr it.
12673
12674 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
12675 (size_t): Remove.
12676
126772008-02-01 Dave Love <fx@gnu.org>
12678
12679 * Makefile.in (chartab.o): Depend on charset.h.
12680
126812008-02-01 Kenichi Handa <handa@m17n.org>
12682
12683 * character.c (syms_of_character): Set the default value of
12684 Vprintable_chars to Qnil.
12685
126862008-02-01 Dave Love <fx@gnu.org>
12687
12688 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
12689
126902008-02-01 Kenichi Handa <handa@m17n.org>
12691
12692 * charset.c (load_charset_map): Handle the case that from < to
12693 correctly.
12694
12695 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
12696 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
12697 Pay attention to raw-8-bit chars.
12698
126992008-02-01 Kenichi Handa <handa@m17n.org>
12700
12701 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
12702 It is not bytecompiled now.
12703
12704 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
12705 (charset_jisx0208): New variables.
12706 (Fdefine_charset_internal): Setup them if appropriate.
12707 (init_charset_once): Initialize them to -1.
12708
12709 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
12710 (charset_jisx0208): Extern them.
12711
12712 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
12713 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
12714 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
12715 (setup_iso_safe_charsets): Fix arguments to Fassq.
12716 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
12717 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
12718 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
12719 (encode_coding_iso_2022): Change the 1st arg to
12720 ENCODE_ISO_CHARACTER to a variable.
12721
127222008-02-01 Kenichi Handa <handa@m17n.org>
12723
12724 * charset.h (enum define_charset_arg_index): New enums
12725 charset_arg_min_code and charset_arg_max_code.
12726 (struct charset): New member char_index_offset.
12727
12728 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
12729 Take charset->char_index_offset into account.
12730 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
12731 args[charset_arg_max_code]. Setup charset.char_index_offset.
12732 (syms_of_charset): Fix args to Fdefine_charset_internal.
12733
127342008-02-01 Dave Love <fx@gnu.org>
12735
12736 * coding.c (decode_coding_utf_8): Reject overlong sequences.
12737
127382008-02-01 Dave Love <fx@gnu.org>
12739
12740 * coding.c: Doc fixes.
12741 (Fcoding_system_aliases): Fix return value.
12742 (Qmac): Remove (duplicated) definition.
12743
127442008-02-01 Dave Love <fx@gnu.org>
12745
12746 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
12747 functions.
12748
12749 * character.c (Fstring): Doc fix.
12750
12751 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
12752
12753 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
12754 ids.
12755 (font-encoding-alist): Doc fix.
12756
127572008-02-01 Dave Love <fx@gnu.org>
12758
12759 * term.c (costs_set): Declare static, non-initialized for pcc.
12760 (encode_terminal_code): Remove unused var.
12761
12762 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
12763 for K&R.
12764
12765 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
12766
12767 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
12768 (suffixes): Move out of make_subsidiaries for K&R.
12769
12770 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
12771
12772 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
12773
127742008-02-01 Dave Love <fx@gnu.org>
12775
12776 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
12777
12778 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
12779
127802008-02-01 Yong Lu <lyongu@asia-infonet.com>
12781
12782 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
12783
12784 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
12785
127862008-02-01 Kenichi Handa <handa@m17n.org>
12787
12788 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
12789 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
12790
127912008-02-01 Kenichi Handa <handa@m17n.org>
12792
12793 * coding.c (decode_coding_charset): Adjust for the change of
12794 Fdefine_coding_system_internal.
12795 (Fdefine_coding_system_internal): For a coding system of
12796 `charset' type, store a list of charset IDs in
12797 `charset_attr_charset_valids' element of coding attributes.
12798
127992008-02-01 Kenichi Handa <handa@m17n.org>
12800
12801 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
12802 (emacs_mule_char): New arg src. Delete arg `composition'. Change
12803 caller. Handle 2-byte and 3-byte charsets correctly.
12804 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
12805 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
12806 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
12807 (DECODE_EMACS_MULE_21_COMPOSITION): Call
12808 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
12809 sequence.
12810 (decode_coding_emacs_mule): Handle composition correctly. Rewind
12811 `src' and `consumed_chars' correctly before calling emacs_mule_char.
12812 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
12813 and alt&rule composition.
12814 (decode_coding_iso_2022): Handle composition correctly.
12815 (init_coding_once): Setup emacs_mule_bytes for private charsets.
12816
12817 * charset.c (Fdefine_charset_internal): Fix bug for the case of
12818 re-defining a charset. If the charset has :emacs-mule-id, setup
12819 emacs_mule_bytes.
12820 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
12821
128222008-02-01 Kenichi Handa <handa@m17n.org>
12823
12824 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
12825 (encode_coding_big5, encode_coding_charset): If coding requires safe
12826 encoding, produce a character specified by
12827 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
12828
128292008-02-01 Dave Love <fx@gnu.org>
12830
12831 * xterm.c (XSetIMValues): Declare.
12832
12833 * process.c: Conditionally include sys/wait.h, pty.h.
12834
12835 * print.c (print_object): Fix print format for 64-bit systems.
12836
12837 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
12838
12839 * buffer.c (emacs_strerror): Declare.
12840
12841 * fontset.c (Fclear_face_cache): Declare.
12842 (accumulate_font_info): Comment-out (unused).
12843 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
12844 variables.
12845
12846 * character.h (string_escape_byte8): Declare.
12847
12848 * charset.c (load_charset_map, load_charset_map_from_file): Remove
12849 unused vars.
12850 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
12851 (Fmap_charset_chars): Doc fix.
12852
12853 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
12854 (Fset_coding_system_priority, Fset_coding_system_priority)
12855 (Fdefine_coding_system_internal): Doc fix.
12856
128572008-02-01 Dave Love <fx@gnu.org>
12858
12859 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
12860
128612008-02-01 Kenichi Handa <handa@m17n.org>
12862
12863 * character.c (string_escape_byte8): Make multibyte string with
12864 correct size.
12865
12866 * charset.c (Fmake_char): Delete unnecessary code.
12867
128682008-02-01 Kenichi Handa <handa@m17n.org>
12869
12870 * xfns.c (x_encode_text): Allocate coding.destination here, and
12871 call encode_coding_object with dst_object Qnil.
12872
12873 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
12874 multibyte form correctly.
12875
12876 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
12877 against Vfont_encoding_alist.
12878
12879 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
12880 handling of charset list.
12881 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
12882 (decode_coding_object): Move point to coding->dst_pos before
12883 calling post-read-conversion function.
12884 (encode_coding_object): Give correct arguments to
12885 pre-write-conversion. Ignore the return value of
12886 pre-write-conversion function. Pay attention to the case that
12887 pre-write-conversion changes the current buffer. If dst_object is
12888 Qt, even if coding->src_bytes is zero, allocate at least one byte
12889 to coding->destination.
12890
12891 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
12892
12893 * charset.c (Fmake_char): Make it more backward compatible.
12894 (Fmap_charset_chars): Fix docstring.
12895
128962008-02-01 Dave Love <fx@gnu.org>
12897
12898 * coding.c: Doc fixes.
12899 (Fdefine_coding_system_alias): Use names, not symbols, in
12900 coding-system-alist.
12901
129022008-02-01 Kenichi Handa <handa@m17n.org>
12903
12904 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
12905 of calling free_realized_face.
12906
129072008-02-01 Yong Lu <lyongu@asia-infonet.com>
12908
12909 * charset.c (read_hex): Don't treat SPC as a comment starter.
12910 (decode_char): If CODE_POINT_TO_INDEX returns -1, always return -1.
12911 (Fdecode_char): Fix typo.
12912
129132008-02-01 Kenichi Handa <handa@m17n.org>
12914
12915 * charset.h (struct charset): New member `code_space_mask'.
12916
12917 * coding.c (coding_set_source): Delete the local variable beg_byte.
12918 (encode_coding_charset, Fdefine_coding_system_internal):
12919 Delete the local variable charset.
12920 (Fdefine_coding_system_internal): Setup
12921 attrs[coding_attr_charset_valids] correctly.
12922
12923 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
12924 member to check if CODE is valid or not.
12925 (Fdefine_charset_internal): Initialize `code_space_mask' member.
12926 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
12927 is within the range of charset->min_code and carset->max_code.
12928
129292008-02-01 Dave Love <fx@gnu.org>
12930
12931 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
12932
12933 * dispextern.h (generate_ascii_font): Fix return type.
12934
12935 * xfaces.c (generate_ascii_font): Fix arg declaration.
12936
12937 * coding.c (coding_inherit_eol_type)
12938 (Fset_terminal_coding_system_internal)
12939 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
12940
129412008-02-01 Kenichi Handa <handa@m17n.org>
12942
12943 * coding.c (decode_coding_charset, encode_coding_charset): Handle
12944 multiple charsets correctly.
12945
129462008-02-01 Kenichi Handa <handa@m17n.org>
12947
12948 * search.c (boyer_moore): Fix handling of multibyte character
12949 translation.
12950
12951 * xdisp.c (display_mode_element): When the variable `elt' is
12952 changed, update `this' and `lisp_string'.
12953
129542008-02-01 Kenichi Handa <handa@m17n.org>
12955
12956 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
12957
12958 * callproc.c (Fcall_process): Be sure to give the current buffer
12959 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
12960
12961 * charset.c (struct charset_map_entries): New struct.
12962 (load_charset_map): Rename from parse_charset_map. New args
12963 entries and n_entries. Change caller.
12964 (load_charset_map_from_file): Rename from load_charset_map.
12965 Change caller. New arg control_flag. Call load_charset_map at
12966 the tail.
12967 (load_charset_map_from_vector): New function.
12968 (Fdefine_charset_internal): Setup charset.compact_codes_p.
12969 (encode_char): If the charset is compact, change a character index
12970 to a code point.
12971
12972 * coding.c (coding_alloc_by_making_gap): Check the case that the
12973 source and destination are the same correctly.
12974 (decode_coding_raw_text): Set coding->consumed_char and
12975 coding->consumed to 0.
12976 (produce_chars): If coding->chars_at_source is nonzero, update
12977 coding->consumed_char and coding->consumed before calling
12978 alloc_destination.
12979 (Fdefine_coding_system_alias): Register ALIAS in
12980 Vcoding_system_alist.
12981 (syms_of_coding): Define `no-conversion' coding system at the tail.
12982
12983 * fileio.c (Finsert_file_contents): Set coding_system instead of
12984 val. If the current buffer is multibyte, always call
12985 decode_coding_gap.
12986
12987 * xfaces.c (try_font_list): Give higher priority to fontset's
12988 family than face's family.
12989
129902008-02-01 Kenichi Handa <handa@m17n.org>
12991
12992 * callproc.c (Fcall_process): Be sure to give the current buffer
12993 to decode_coding_c_string.
12994
12995 * xfaces.c (try_font_list): Give a family specified in a fontset
12996 higher priority than a family specified in a face.
12997
129982008-02-01 Kenichi Handa <handa@m17n.org>
12999
13000 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
13001 Fix arguments to insert_from_buffer.
13002
13003 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
13004
130052008-02-01 Kenichi Handa <handa@m17n.org>
13006
13007 * coding.c (produce_chars): Set the variable `multibytep' correctly.
13008 (decode_coding_gap): Set coding->dst_multibyte correctly.
13009
130102008-02-01 Kenichi Handa <handa@m17n.org>
13011
13012 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
13013 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
13014 (encode_coding_utf_16): Substitute coding->default_char for
13015 non-Unicode characters.
13016 (decode_coding): Don't call record_insert here.
13017 (setup_coding_system): Initialize `surrogate' of
13018 coding->spec.utf_16 to 0.
13019 (EMIT_ONE_BYTE): Fix for multibyte case.
13020
13021 * insdel.c (insert_from_gap): Call record_insert.
13022
130232008-02-01 Kenichi Handa <handa@m17n.org>
13024
13025 * casefiddle.c (casify_region): Fix multibyte case.
13026
13027 * character.c (c_string_width): Add return type `int'.
13028 (char_string_with_unification): Delete arg ADVANCED.
13029
13030 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
13031 (CHAR_STRING): Adjust for the change of char_string_with_unification.
13032 (CHAR_STRING_ADVANCE): Make it do-while statement.
13033
13034 * chartab.c (sub_char_table_set_range): Optimize for the case
13035 DEPTH == 3. Add workaround code for a GCC optimization bug.
13036
13037 * charset.c (parse_charset_map): Remove an unused variable.
13038
13039 * coding.c: Delete unused variables.
13040
13041 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
13042 earlier. If inserted is zero and the coding system doesn't
13043 require flushing, don't call decode_coding_gap.
13044
13045 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
13046
130472008-02-01 Kenichi Handa <handa@m17n.org>
13048
13049 The following changes are for using Unicode as an internal
13050 character model, and use UTF-8 format for buffer/string
13051 representation.
13052
13053 * .gdbinit (xchartable): Adjust for the change of char table structure.
13054 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
13055
13056 * Makefile.in (obj): Add character.o and chartab.o.
13057 (lisp, shortlisp): Remove utf-8.elc.
13058 (*.o): For many files, change dependency on charset.h to
13059 character.h, and add dependency on character.h.
13060 (character.o, chartab.o): New targets.
13061
13062 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
13063 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
13064 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
13065 of "charset.h".
13066
13067 * dired.c, filelock.c: Include "character.h".
13068
13069 * alloc.c: Include "character.h" instead of "charset.h".
13070 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
13071 (syms_of_alloc): Remove defsubr for Smake_char_table.
13072
13073 * buffer.c: Include "character.h" instead of "charset.h", don't
13074 include "coding.h".
13075 (Fset_buffer_multibyte): Adjust for UTF-8.
13076
13077 * buffer.h: EXFUN Fbuffer_live_p.
13078
13079 * callproc.c: Include "character.h" instead of "charset.h".
13080 (Fcall_process): Big change for the new code-conversion APIs.
13081
13082 * casetab.c: Include "character.h" instead of "charset.h".
13083 (set_canon, set_identity, shuffle): Adjust for the new
13084 map_char_table spec.
13085 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
13086 accessing the char table structure.
13087
13088 * chartab.c: New file that implements char table.
13089
13090 * category.c: Include "character.h".
13091 (copy_category_entry): New function.
13092 (copy_category_table): Call map_char_table and copy_category_entry.
13093 (Fmake_category_table): Initialize all top-level slots.
13094 (char_category_set): New function.
13095 (modify_lower_category_set): Delete.
13096 (Fmodify_category_entry): Call char_table_ref_and_range.
13097
13098 * category.h (CATEGORY_SET): Just call char_category_set.
13099
13100 * ccl.c: Include "character.h".
13101 (Qccl, Qcclp): New variables.
13102 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
13103 it's less than 256.
13104 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
13105 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
13106 and DST type.
13107 (ccl_driver): Change types of argument, adjust code accordingly.
13108 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
13109 ccl_driver.
13110 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
13111
13112 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
13113 New members src_multibyte, dst_multibyte, consumed, and produced.
13114 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
13115 (CODING_SPEC_CCL_PROGRAM): New macro.
13116 (ccl_driver): Update prototype.
13117 (Qccl, Qcclp, Fccl_program_p): Extern them.
13118 (CHECK_CCL_PROGRAM): New macro.
13119
13120 * character.c, character.h, chartab.c: New files.
13121
13122 * charset.c: Mostly re-written. Move character and multibyte sequence
13123 handling codes to character.c.
13124
13125 * charset.h: Mostly re-written. Move character and multibyte sequence
13126 handling codes to character.h.
13127
13128 * coding.c, coding.h: Mostly re-written.
13129
13130 * composite.c: Include "character.h" instead of "charset.h".
13131 (CHAR_WIDTH): Move to character.h.
13132 (HASH_KEY, HASH_VALUE): Delete.
13133
13134 * composite.h (enum composition_method): Change order of enumeration
13135 symbols.
13136
13137 * data.c: Include "character.h" instead of "charset.h".
13138 (Faref): Call CHAR_TABLE_REF for a char table.
13139 (Faset): Call CHAR_TABLE_SET for a char table.
13140
13141 * dispextern.h (free_realized_face, check_face_attribytes)
13142 (generate_ascii_font): Extern them.
13143 (free_realized_multibyte_face): Delete extern.
13144
13145 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
13146 table structure.
13147
13148 * editfns.c: Include "character.h" instead of "charset.h".
13149 (Fchar_to_string): Always call CHAR_STRING.
13150
13151 * emacs.c (main): Call init_charset_once, init_charset,
13152 syms_of_chartab, and syms_of_character.
13153
13154 * fileio.c: Include "character.h" instead of "charset.h".
13155 (Finsert_file_contents): Big change for the new code-conversion API.
13156 (choose_write_coding_system, Fwrite_region): Likewise.
13157 (build_annotations_2): Delete.
13158 (e_write): Big change for the new code-conversion API.
13159
13160 * fns.c: Include "character.h" instead of "charset.h".
13161 (copy_sub_char_table): Move to chartab.c.
13162 (Fcopy_sequence): Call copy_char_table for a char table.
13163 (concat): Delete codes calling count_multibyte.
13164 (string_char_to_byte, string_byte_to_char): Adjust for the new
13165 multibyte form.
13166 (internal_equal): Adjust for the change of char table structure.
13167 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
13168 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
13169 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
13170 (char_table_translate, optimize_sub_char_table)
13171 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
13172 chartab.c.
13173 (char_table_ref_and_index): Delete.
13174 (HASH_KEY, HASH_VALUE): Move to lisp.h.
13175 (Fmd5): Call preferred_coding_system instead of accessing
13176 Vcoding_category_list. Adjust for the new code-conversion API.
13177 (syms_of_fns): Move defsubr for char table related functions to
13178 chartab.c.
13179
13180 * fontset.c: Mostly re-written.
13181
13182 * fontset.h (struct font_info): Change type of the member encoding_type.
13183 (enum FONT_SPEC_INDEX): New enum.
13184 (fontset_font_pattern, fs_load_font): Update prototype.
13185 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
13186
13187 * indent.c: Include "character.h" instead of "charset.h".
13188 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
13189
13190 * insdel.c: Include "character.h" instead of "charset.h".
13191 (copy_text): Don't refer to Vnonascii_translation_table.
13192 (insert_from_gap): New function.
13193
13194 * keyboard.c: Include "character.h" instead of "charset.h".
13195 (command_loop_1): Never call direct_output_forward_char before
13196 a non-ASCII character.
13197 (read_char): If Vkeyboard_translate_table is a char table, always
13198 translate a character.
13199
13200 * keymap.c: Include "character.h".
13201 (store_in_keymap): Handle the case that IDX is a cons.
13202 (Fdefine_key): Handle the case that KEY is a cons and the car part
13203 is also a cons (range).
13204 (push_key_description): Adjust for the new character code.
13205 (describe_vector): Call describe_char_table for a char table.
13206 (describe_char_table): New function.
13207
13208 * keymap.h (describe_char_table): Extern it.
13209
13210 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
13211 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
13212 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
13213 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
13214 Delete.
13215 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
13216 structure.
13217 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
13218 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
13219 (CHARTAB_SIZE_BITS_3): New macros.
13220 (chartab_size): Extern it.
13221 (struct Lisp_Char_Table): Re-design.
13222 (struct Lisp_Sub_Char_Table): New structure.
13223 (HASH_KEY, HASH_VALUE): Move from fns.c.
13224 (CHARACTERBITS): Define as 22.
13225 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
13226 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
13227 (GC_SUB_CHAR_TABLE_P): New macro.
13228 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
13229 (code_convert_string_norecord): Deleted extern.
13230 (init_character_once, syms_of_character, init_charset)
13231 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
13232
13233 * lread.c: Include "character.h".
13234 (read_multibyte): New arg NBYTES.
13235 (read_escape): Change the meaning of returned *BYTEREP.
13236 (to_multibyte): Delete.
13237 (read1): Adjust the handling of char table and string.
13238
13239 * print.c: Include "character.h" instead of "charset.h".
13240 (print_string): Convert 8-bit raw bytes to octal form by
13241 string_escape_byte8.
13242 (print_object): Adjust for the new multibyte form. Print 8-bit
13243 raw bytes always in octal form. Handle sub char table correctly.
13244
13245 * process.c: Include "character.h" instead of "charset.h".
13246 (read_process_output, send_process): Adjust for the new
13247 code-conversion API.
13248
13249 * puresize.h (BASE_PURESIZE): Increase.
13250
13251 * regex.c: Include "character.h" instead of "charset.h".
13252 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
13253 (regex_compile): Accept a range whose starting and ending
13254 character have different leading bytes.
13255 (analyse_first): Adjust for the above change.
13256
13257 * search.c: Include "character.h" instead of "charset.h".
13258 (search_buffer, boyer_moore): Adjust for the new multibyte form.
13259 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
13260
13261 * syntax.c: Include "character.h" instead of "charset.h".
13262 (syntax_parent_lookup): Delete.
13263 (Fmodify_syntax_entry): Accept a cons as CHAR.
13264 (skip_chars): Adjust for the new multibyte form.
13265 (init_syntax_once): Call char_table_set_range instead of directly
13266 accessing the structure of a char table.
13267
13268 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
13269 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
13270 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
13271 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
13272
13273 * term.c: Include "buffer.h" and "character.h".
13274 (encode_terminal_code, write_glyphs): Adjust for the new
13275 code-conversion API.
13276 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
13277
13278 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
13279
13280 * xdisp.c: Include "character.h".
13281 (get_next_display_element): Adjust for the new multibyte form.
13282 (disp_char_vector): Adjust for the new char table structure.
13283 (decode_mode_spec_coding): Adjust for the new structure of
13284 coding system.
13285 (decode_mode_spec): Adjust for the new code-conversion API.
13286
13287 * xfaces.c: Include "character.h" instead of "charset.h".
13288 (load_face_font): Adjust for the change of choose_face_font and
13289 FS_LOAD_FONT.
13290 (generate_ascii_font): New function.
13291 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
13292 (set_font_frame_param): Adjust for the change of choose_face_font.
13293 (free_realized_face): Make it public.
13294 (free_realized_faces_for_fontset): Rename from
13295 free_realized_multibyte_face. Free also faces realized for ASCII.
13296 (choose_face_font): Change arguments. Adjust for the change of
13297 fontset_font_pattern and FS_LOAD_FONT.
13298
13299 * xfns.c: Include "character.h".
13300 (x_encode_text): Adjust for the new code-conversion API.
13301
13302 * xselect.c: Don't include "charset.h".
13303 (selection_data_to_lisp_data): Adjust for the new code conversion API.
13304
13305 * xterm.c: Include "character.h".
13306 (x_encode_char): New argument CHARSET. Change caller.
13307 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
13308 Call ENCODE_CHAR instead of SPLIT_CHAR.
13309 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
13310 CHAR_WIDTH instead of CHARSET_WIDTH.
13311 (XTread_socket): Adjust for the new code-conversion API.
13312 (x_new_font): Adjust for the change of FS_LOAD_FONT.
13313 (x_load_font): Adjust for the change of struct font.
13314
133152008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
13316
13317 * xfaces.c (face_at_buffer_position): Remove unused vars.
13318
133192008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
13320
13321 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
13322 Fix overflow checking.
13323
133242008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
13325
13326 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
13327 Cancel previous change.
13328
133292008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
13330
13331 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
13332 ccl->eight_bit_control. Fix check for buffer overflow.
13333 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
13334 (ccl_driver): Initialize extra_bytes to 0.
13335
133362008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
13337
13338 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
13339 return it ORed with ctrl_modifier.
13340
133412008-01-29 Miles Bader <miles@gnu.org>
13342
13343 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
13344
133452008-01-28 Jason Rumney <jasonr@gnu.org>
13346
13347 * w32.c (stat): Don't double check for networked drive.
13348
133492008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
13350
13351 * window.c (run_window_configuration_change_hook): New function.
13352 Code extracted from set_window_buffer. Set the selected frame.
13353 (set_window_buffer): Use it.
13354 * window.h (run_window_configuration_change_hook): Declare.
13355 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
13356
13357 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
13358
133592008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
13360
13361 * Makefile.in: Remove references to unused macros.
13362
133632008-01-26 Eli Zaretskii <eliz@gnu.org>
13364
13365 * w32.c (g_b_init_get_sid_sub_authority)
13366 (g_b_init_get_sid_sub_authority_count): New static variables.
13367 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
13368 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
13369 (init_user_info): Use them to retrieve uid and gid.
13370 Use 500/513, the Windows defaults, as Administrator's uid/gid.
13371 (fstat): Use pw_uid and pw_gid from the_passwd structure for
13372 st_uid and st_gid of the file.
13373
133742008-01-26 Jason Rumney <jasonr@gnu.org>
13375
13376 * w32.c (logon_network_drive): New function.
13377 (stat): Use it.
13378
133792008-01-26 Chong Yidong <cyd@stupidchicken.com>
13380
13381 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
13382 invisible text covered with an ellipsis.
13383
133842008-01-25 Richard Stallman <rms@gnu.org>
13385
13386 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
13387 jump back to beginning. Move some other initializations after that.
13388 (Qwindow_text_change_functions, Vwindow_text_change_functions):
13389 New variables.
13390 (syms_of_xdisp): Init them.
13391
13392 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
13393
13394 * buffer.c (reset_buffer_local_variables):
13395 Implement `permanent-local-hook'.
13396 (Qpermanent_local_hook): New variable.
13397 (syms_of_buffer): Init and staticpro it.
13398
133992008-01-25 Michael Albinus <michael.albinus@gmx.de>
13400
13401 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
13402
134032008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
13404
13405 * fns.c (Fclrhash): Return TABLE.
13406
134072008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13408
13409 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
13410 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
13411 is set even without positional changes.
13412 (x_scroll_bar_clear): Set bar->redraw_needed_p.
13413
13414 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
13415
134162008-01-23 Jason Rumney <jasonr@gnu.org>
13417
13418 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
13419
13420 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
13421 the unicode range available in MULE by locale-coding-system.
13422 Improve dbcs lead byte detection. Set event timestamp and modifiers
13423 earlier.
13424
134252008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13426
13427 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
13428 [MAC_OSX] (init_mac_osx_environment): Initialize it.
13429 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
13430 when used on child processes.
13431
134322008-01-21 Michael Albinus <michael.albinus@gmx.de>
13433
13434 * dbusbind.c (Fdbus_method_return_internal): Rename from
13435 Fdbus_method_return.
13436 (Fdbus_unregister_object): Move to dbus.el.
13437 (Fdbus_call_method, Fdbus_method_return_internal)
13438 (Fdbus_send_signal): Improve debug messages.
13439
134402008-01-20 Martin Rudalics <rudalics@gmx.at>
13441
13442 * undo.c (undo_inhibit_record_point): New variable.
13443 (syms_of_undo): Initialize it.
13444 (record_point): Don't record point when undo_inhibit_record_point
13445 is set.
13446
134472008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
13448
13449 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
13450
13451 * xdisp.c (Qauto_hscroll_mode): New var.
13452 (syms_of_xdisp): Initialize it.
13453 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
13454 window's buffer.
13455 (hscroll_windows): Don't check automatic_hscrolling_p here.
13456
13457 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
13458 vscroll if we're setting window-buffer to the value it already has.
13459
134602008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
13461
13462 * m/intel386.h: Remove references to XENIX.
13463
134642008-01-17 Andreas Schwab <schwab@suse.de>
13465
13466 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
13467 instead of HAVE_X86_64_LIB64_DIR.
13468 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
13469
134702008-01-17 Glenn Morris <rgm@gnu.org>
13471
13472 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
13473 to HAVE_X86_64_LIB64_DIR.
13474
134752008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
13476
13477 * s/irix3-3.h:
13478 * s/irix4-0.h:
13479 * s/386-ix.h:
13480 * s/domain.h:
13481 * s/hpux9-x11r4.h:
13482 * s/hpux9shxr4.h: Remove files for systems no longer supported.
13483
13484 * sysdep.c: Remove code containing references to symbols defined
13485 by unsupported systems.
13486
134872008-01-16 Glenn Morris <rgm@gnu.org>
13488
13489 * coding.c (select-safe-coding-system-function): Doc fix.
13490
134912008-01-15 Glenn Morris <rgm@gnu.org>
13492
13493 * config.in: Revert 2008-01-13 change: this is a generated file.
13494
134952008-01-13 Tom Tromey <tromey@redhat.com>
13496
13497 * lisp.h: Fix typo.
13498
134992008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
13500
13501 * m/sequent-ptx.h:
13502 * m/sequent.h:
13503 * s/ptx.h:
13504 * s/ptx4-2.h:
13505 * s/ptx4.h: Remove files for systems no longer supported.
13506
13507 * callproc.c (Fcall_process): Fix previous change.
13508
135092008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
13510
13511 * unexsunos4.c: Remove file, system not supported anymore.
13512
13513 * m/mips.h:
13514 * m/intel386.h:
13515 * callproc.c:
13516 * config.in:
13517 * ecrt0.c:
13518 * emacs.c:
13519 * fileio.c:
13520 * frame.c:
13521 * getpagesize.h:
13522 * keyboard.c:
13523 * lread.c:
13524 * process.c:
13525 * puresize.h:
13526 * sysdep.c:
13527 * systty.h:
13528 * syswait.h:
13529 * unexec.c:
13530 * xdisp.c:
13531 * alloc.c: Remove code containing references to symbols defined by
13532 unsupported systems.
13533
135342008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
13535
13536 * coding.c (detect_coding_mask): Fix previous change.
13537
135382008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
13539
13540 * coding.c (detect_coding_iso2022): New arg
13541 latin_extra_code_state. Allow Latin extra codes only
13542 when *latin_extra_code_state is nonzero.
13543 (detect_coding_mask): If there is a NULL byte, detect the encoding
13544 as UTF-16 or binary. If Latin extra codes exist, detect the
13545 encoding as ISO-2022 only when there's no other proper encoding is
13546 found.
13547
135482008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13549
13550 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
13551 #ifdef MAC_OS.
13552
135532008-01-08 Richard Stallman <rms@gnu.org>
13554
13555 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
13556
135572008-01-06 Nick Roberts <nickrob@snap.net.nz>
13558
13559 * keyboard.c (parse_menu_item): Don't enclose key bindings on
13560 menu bar in parentheses.
13561
135622008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
13563
13564 * m/7300.h:
13565 * m/acorn.h:
13566 * m/alliant-2800.h:
13567 * m/alliant.h:
13568 * m/alliant1.h:
13569 * m/alliant4.h:
13570 * m/altos.h:
13571 * m/amdahl.h:
13572 * m/apollo.h:
13573 * m/att3b.h:
13574 * m/aviion-intel.h:
13575 * m/aviion.h:
13576 * m/celerity.h:
13577 * m/clipper.h:
13578 * m/cnvrgnt.h:
13579 * m/convex.h:
13580 * m/cydra5.h:
13581 * m/delta88k.h:
13582 * m/dpx2.h:
13583 * m/dual.h:
13584 * m/elxsi.h:
13585 * m/f301.h:
13586 * m/gould-np1.h:
13587 * m/gould.h:
13588 * m/i860.h:
13589 * m/ibmps2-aix.h:
13590 * m/ibmrt-aix.h:
13591 * m/ibmrt.h:
13592 * m/irist.h:
13593 * m/is386.h:
13594 * m/isi-ov.h:
13595 * m/mega68.h:
13596 * m/mg1.h:
13597 * m/news-r6.h:
13598 * m/news-risc.h:
13599 * m/news.h:
13600 * m/nh3000.h:
13601 * m/nh4000.h:
13602 * m/ns16000.h:
13603 * m/ns32000.h:
13604 * m/nu.h:
13605 * m/orion.h:
13606 * m/orion105.h:
13607 * m/paragon.h:
13608 * m/pfa50.h:
13609 * m/plexus.h:
13610 * m/pyramid.h:
13611 * m/pyrmips.h:
13612 * m/sh3el.h:
13613 * m/sps7.h:
13614 * m/sr2k.h:
13615 * m/stride.h:
13616 * m/sun1.h:
13617 * m/sun2.h:
13618 * m/sun3-68881.h:
13619 * m/sun3-fpa.h:
13620 * m/sun3-soft.h:
13621 * m/sun3.h:
13622 * m/sun386.h:
13623 * m/symmetry.h:
13624 * m/tad68k.h:
13625 * m/tahoe.h:
13626 * m/targon31.h:
13627 * m/tek4300.h:
13628 * m/tekxd88.h:
13629 * m/tower32.h:
13630 * m/tower32v3.h:
13631 * m/ustation.h:
13632 * m/wicat.h:
13633 * m/xps100.h:
13634 * s/cxux.h:
13635 * s/cxux7.h:
13636 * s/dgux.h:
13637 * s/dgux4.h:
13638 * s/dgux5-4-3.h:
13639 * s/dgux5-4r2.h:
13640 * s/esix.h:
13641 * s/esix5r4.h:
13642 * s/hiuxmpp.h:
13643 * s/hiuxwe2.h:
13644 * s/iris3-5.h:
13645 * s/iris3-6.h:
13646 * s/isc2-2.h:
13647 * s/isc3-0.h:
13648 * s/isc4-0.h:
13649 * s/isc4-1.h:
13650 * s/newsos5.h:
13651 * s/newsos6.h:
13652 * s/osf1.h:
13653 * s/osf5-0.h:
13654 * s/riscix1-1.h:
13655 * s/riscix12.h:
13656 * s/sco4.h:
13657 * s/sco5.h:
13658 * s/sunos4-0.h:
13659 * s/sunos4-1.h:
13660 * s/sunos413.h:
13661 * s/sunos4shr.h:
13662 * s/umax.h:
13663 * s/unipl5-2.h:
13664 * s/xenix.h:
13665 * cxux-crt0.s:
13666 * unexapollo.c:
13667 * unexconvex.c:
13668 * unexenix.c:
13669 * unexsni.c: Remove files for systems no longer supported.
13670
13671 * m/intel386.h: Remove references to unsupported systems.
13672
13673 * w32.c (get_emacs_configuration): Remove reference to i860.
13674
13675 * sysdep.c: Remove dead code.
13676
136772008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
13678
13679 * s/rtu.h:
13680 * m/masscomp.h: Remove files. Platform is obsolete.
13681
136822008-01-04 Michael Albinus <michael.albinus@gmx.de>
13683
13684 * dbusbind.c (Fdbus_method_return): New function.
13685 (xd_read_message): Add the serial number to the event.
13686 (Fdbus_register_method): Activate the function.
13687
136882008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
13689
13690 * keyboard.c (read_key_sequence): Fix typo.
13691
136922008-01-03 Michael Albinus <michael.albinus@gmx.de>
13693
13694 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
13695 (xd_signature, xd_append_arg): Handle element type detection for
13696 empty arrays.
13697 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
13698 SDATA () calls; this must be solved more general.
13699 (Fdbus_register_signal): Use SBYTES instead of strlen.
13700
137012008-01-03 Magnus Henoch <magnus@zemdatav>
13702
13703 * dbusbind.c (xd_append_arg): Use unsigned char instead of
13704 unsigned int for byte values (necessary for big-endian platform).
13705 (Fdbus_call_method): Handle the case of no returned arguments.
13706
137072007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
13708
13709 * dbusbind.c (xd_read_message): Use non-static input_event struct.
13710
137112007-12-31 Magnus Henoch <mange@freemail.hu>
13712
13713 * dbusbind.c (xd_signature): Signature of variant is just "v".
13714
137152007-12-30 Michael Albinus <michael.albinus@gmx.de>
13716
13717 * dbusbind.c: Fix several errors and compiler warnings.
13718 Reported by Tom Tromey <tromey@redhat.com>.
13719 (XD_ERROR, XD_DEBUG_MESSAGE)
13720 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
13721 (xd_append_arg): Part for basic D-Bus types rewritten.
13722 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
13723 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
13724 appropriate.
13725 (xd_read_message): Return Qnil. Don't signal an error; it is not
13726 useful during event reading.
13727 (Fdbus_register_signal): Signal an error if the check for
13728 FUNCTIONP fails.
13729 (Fdbus_register_method): New function. The implementation is not
13730 complete, the call of the function signals an error therefore.
13731 (Fdbus_unregister_object): New function, renamed from
13732 Fdbus_unregister_signal. The initial check signals an error, if
13733 the object is not well formed.
13734
137352007-12-30 Richard Stallman <rms@gnu.org>
13736
13737 * textprop.c (get_char_property_and_overlay):
13738 Signal error if POSITION is out of range in a buffer.
13739
137402007-12-29 Martin Rudalics <rudalics@gmx.at>
13741
13742 * w32fns.c (Fx_create_frame): Make copy of frame parameters
13743 because the original parameters are in pure storage now.
13744
137452007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13746
13747 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
13748
137492007-12-22 Eli Zaretskii <eliz@gnu.org>
13750
13751 * callint.c (syms_of_callint) <command-history>: Add reference to
13752 history-length in the doc string.
13753
137542007-12-17 Jason Rumney <jasonr@gnu.org>
13755
13756 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
13757 before passing as wParam.
13758
137592007-12-22 Michael Albinus <michael.albinus@gmx.de>
13760
13761 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
13762 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
13763 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
13764 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
13765 as number.
13766 (Fdbus_call_method): Fix docstring.
13767
137682007-12-21 Michael Albinus <michael.albinus@gmx.de>
13769
13770 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
13771 New macros.
13772 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
13773 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
13774 Simplify.
13775 (xd_signature): New function.
13776 (xd_append_arg): Compute also signatures. Major rewrite.
13777 (xd_retrieve_arg): Make debug messages friendly.
13778 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
13779 Check for signatures of arguments.
13780
137812007-12-19 Michael Albinus <michael.albinus@gmx.de>
13782
13783 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
13784 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
13785 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
13786 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
13787 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
13788 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
13789 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
13790 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
13791 (xd_retrieve_value): Remove. Functionality included in ...
13792 (xd_append_arg): New function.
13793 (Fdbus_call_method, Fdbus_send_signal): Apply it.
13794
137952007-12-16 Michael Albinus <michael.albinus@gmx.de>
13796
13797 * dbusbind.c (top): Include <stdio.h>.
13798 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
13799 dbus_message_new_method_call and dbus_message_new_signal.
13800 (Fdbus_register_signal): Rename unique_name to uname.
13801 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
13802 non-existing unique name. Fix typos in matching rule. Return an
13803 object which is useful in Fdbus_unregister_signal.
13804 (Fdbus_unregister_signal): Reimplementation, in order to remove
13805 only the corresponding entry.
13806 (Vdbus_registered_functions_table): Change the order of entries.
13807 Apply these changes in xd_read_message and Fdbus_register_signal.
13808
138092007-12-16 Andreas Schwab <schwab@suse.de>
13810
13811 * fileio.c (Finsert_file_contents): Fix overflow check to not
13812 depend on undefined integer overflow.
13813
138142007-12-14 Jason Rumney <jasonr@gnu.org>
13815
13816 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
13817 for characters above 127.
13818
138192007-12-13 Jason Rumney <jasonr@gnu.org>
13820
13821 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
13822 before dereferencing array.
13823 (lookup_vk_code): Remove zero comparison.
13824
138252007-12-14 Michael Albinus <michael.albinus@gmx.de>
13826
13827 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
13828 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
13829 Use `unsigned int' instead of `uint'.
13830 (xd_read_message, Fdbus_register_signal): Split expressions into
13831 multiple lines before operators "&&" and "||", according to the
13832 GNU Coding Standards.
13833
138342007-12-14 Eli Zaretskii <eliz@gnu.org>
13835
13836 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
13837
138382007-12-12 Juri Linkov <juri@jurta.org>
13839
13840 * buffer.c (Frename_buffer): In interactive spec replace
13841 `read-buffer' with `read-string' that uses `buffer-name-history'
13842 as history, and the current buffer's name as default.
13843
138442007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
13845
13846 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
13847 manipulating the backtrace manually.
13848 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
13849 (struct backtrace, backtrace_list): Remove.
13850 (command_loop_1): Remove dead var `no_direct'.
13851
13852 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
13853 preserve non-built-in buffer-local variables.
13854 (Fkill_all_local_variables): Don't re-create&re-set permanent
13855 buffer-local variables.
13856
138572007-12-09 Juri Linkov <juri@jurta.org>
13858
13859 * buffer.c (Frename_buffer): Change interactive spec from "s" to
13860 Lisp code that uses `read-buffer' with current buffer as default.
13861
138622007-12-08 Michael Albinus <michael.albinus@gmx.de>
13863
13864 * dbusbind.c (xd_read_message): Generate an event for every
13865 registered handler. There might be several handlers registered
13866 for the same signal.
13867 (Fdbus_register_signal): Don't overwrite a registration for the
13868 same signal. Add a new registration if handlers are different.
13869 (Vdbus_registered_functions_table): Rework doc string.
13870
138712007-12-07 Michael Albinus <michael.albinus@gmx.de>
13872
13873 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
13874 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
13875 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
13876 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
13877 Unify argument lists.
13878 (xd_read_message, Fdbus_register_signal): Reorder and extend event
13879 arguments and hash table keys. Use unique name for service.
13880 (Fdbus_unregister_signal): Remove checks.
13881 (Vdbus_registered_functions_table): Fix doc string.
13882
138832007-12-05 Magnus Henoch <mange@freemail.hu>
13884
13885 * process.c (make_process): Initialize pty_flag to 0.
13886
138872007-12-05 Jason Rumney <jasonr@gnu.org>
13888
13889 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
13890 specified XBMs.
13891
138922007-12-05 Richard Stallman <rms@gnu.org>
13893
13894 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
13895
138962007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13897
13898 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
13899 New variable.
13900 (mac_try_close_socket) [MAC_OSX]: New function.
13901 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
13902 Update cfsockets_for_select. Replace invalid CFRunLoop source.
13903
13904 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
13905 Use mac_try_close_socket.
13906
139072007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13908
13909 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
13910 reloc_base.
13911 (copy_dysymtab): Compute relocation base here.
13912 (rebase_reloc_address) [__ppc64__]: New function.
13913 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
13914 changed.
13915
139162007-12-05 Jason Rumney <jasonr@gnu.org>
13917
13918 * w32proc.c (sys_spawnve): Quote args with wildcards.
13919
139202007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13921
13922 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
13923 __objc_* sections.
13924 (unrelocate) [_LP64]: Set relocation base to address of data segment.
13925
139262007-12-05 Michael Albinus <michael.albinus@gmx.de>
13927
13928 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
13929 Move check for Vdbus_registered_functions_table to
13930 xd_read_queued_messages.
13931 (xd_read_queued_messages): Protect xd_read_message calls by
13932 internal_condition_case_1.
13933
139342007-12-04 Michael Albinus <michael.albinus@gmx.de>
13935
13936 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
13937 Qdbus_system_bus and Qdbus_session_bus, respectively.
13938 (Vdbus_intern_symbols): Remove.
13939 (Vdbus_registered_functions_table): New hash table.
13940 (XD_SYMBOL_INTERN_SYMBOL): Remove.
13941 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
13942 Rewrite in order to manage registered functions by hash table
13943 Vdbus_registered_functions_table.
13944
139452007-12-03 Jan Djärv <jan.h.d@swipnet.se>
13946
13947 * xterm.c: Update URL to Window Manager Specification in comment.
13948
139492007-12-02 Michael Albinus <michael.albinus@gmx.de>
13950
13951 * config.in (HAVE_DBUS): Add.
13952
13953 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
13954 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
13955 (obj): Add $(DBUS_OBJ).
13956 (LIBES): Add $(DBUS_LIBS).
13957 (dbusbind.o): New target.
13958
13959 * dbusbind.c: New file.
13960
13961 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
13962
13963 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
13964 (Qdbus_event): New Lisp symbol.
13965 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
13966 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
b97439ce 13967 (keys_of_keyboard): Define dbus-event.
aac0c6e3
MR
13968
13969 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
13970
139712007-12-01 Richard Stallman <rms@gnu.org>
13972
13973 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
13974
139752007-11-30 Jason Rumney <jasonr@gnu.org>
13976
13977 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
13978 (w32con_reset_terminal_modes): Clear screen buffer.
13979 (w32_face_attributes): Don't use color indexes that are out of range.
13980 Only reverse the default colors.
13981
13982 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
13983 WINDOWSNT.
13984
13985 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
13986
139872007-11-29 Jason Rumney <jasonr@gnu.org>
13988
13989 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
13990 (w32_face_attributes): Use Vtty_defined_color_alist to determine
13991 if the terminal colors are initialized.
13992 (unspecified_fg, unspecified_bg): Remove unused declarations.
13993
139942007-11-29 Andreas Schwab <schwab@suse.de>
13995
13996 * keyboard.c (apply_modifiers): Fix typo.
13997
139982007-11-29 Richard Stallman <rms@gnu.org>
13999
14000 * keymap.c (Fcurrent_local_map): Doc fix.
14001
140022007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
14003
14004 * s/gnu-kfreebsd.h: New file.
14005
140062007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
14007
14008 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
14009 Don't cast redundantly.
14010
14011 * keyboard.c (KEY_TO_CHAR): New macro.
14012 (parse_modifiers, apply_modifiers): Accept integer arguments.
14013 (read_key_sequence): Use them to unify the "shift->unshift" mapping
14014 for chars and symbol keys.
14015 After doing such remapping, apply function-key-map again.
14016
140172007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
14018
14019 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
14020 compiled anymore.
14021
140222007-11-26 Andreas Schwab <schwab@suse.de>
14023
14024 * process.c (list_processes_1): Fix indentation level of the
14025 command column.
14026
140272007-11-23 Andreas Schwab <schwab@suse.de>
14028
14029 * editfns.c (Fformat): Handle %c specially since it requires the
14030 argument to be of type int.
14031
140322007-11-23 Markus Triska <markus.triska@gmx.at>
14033
14034 * emacs.c (main): Call init_editfns before init_process, since
14035 init_process sets Vprocess_connection_type depending on OS release.
14036
140372007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
14038
14039 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
14040 (find_symbol_value): Use do_symval_forwarding.
14041
14042 * data.c (set_internal): Set the value in the `cons-cell' (for
14043 Buffer_Local_values) not only for frame-local variables.
14044
140452007-11-22 Andreas Schwab <schwab@suse.de>
14046
14047 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
14048 values to sprintf.
14049 * keymap.c (Fsingle_key_description): Likewise.
14050 * print.c (print_object): Likewise.
14051
140522007-11-22 Jan Djärv <jan.h.d@swipnet.se>
14053
14054 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
14055 file for image is nil.
14056
140572007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
14058
14059 * term.c: Include stdarg.h.
14060 (fatal): Implement using varargs.
14061 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
14062
140632007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
14064
14065 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
14066 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
14067 Update call to buffer_slot_type_mismatch.
14068 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
14069 (buffer_slot_type_mismatch): Update.
14070 * buffer.c (buffer_local_types): Remove.
14071 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
14072 (defvar_per_buffer): Set the type in the buffer_objfwd.
14073
140742007-11-21 Jason Rumney <jasonr@gnu.org>
14075
14076 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
14077 CreateFileMapping returns NULL on failure.
14078
140792007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
14080
14081 * search.c (Fset_match_data): Remove the `evaporate' feature.
14082 (unwind_set_match_data): Don't use the `evaporate' feature.
14083
140842007-11-21 Jason Rumney <jasonr@gnu.org>
14085
14086 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
14087
14088 * w32console.c (w32con_write_glyphs): Remove unused variables.
14089
140902007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
14091
14092 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
14093
14094 * s/darwin.h (MULTI_KBOARD): Remove.
14095
14096 * macfns.c (x_create_tip_frame, Fx_create_frame)
14097 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
14098
140992007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
14100
14101 * buffer.c (Fbuffer_local_value): Remove redundant test.
14102 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
14103 than in `current-buffer' to match the comment.
14104 Do the swap using swap_in_global_binding.
14105
14106 * data.c (store_symval_forwarding, set_internal):
14107 * eval.c (specbind): Remove dead code.
14108
14109 * coding.c (detect_coding, Fupdate_coding_systems_internal):
14110 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
14111 Since we do not want to see internal Lisp_*fwd objects here.
14112
141132007-11-18 Jan Djärv <jan.h.d@swipnet.se>
14114
14115 * sysdep.c (init_system_name): Use getaddrinfo if available.
14116
14117 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
14118 (x_scroll_bar_note_movement): start, end, with, height in struct
14119 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
14120
141212007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
14122
14123 * puresize.h (BASE_PURESIZE): Increase to 1190000.
14124
141252007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
14126
14127 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
14128 This undoes Richard's change of 14-Oct-2002.
14129
14130 * alloc.c (allocate_other_vector):
14131 * lisp.h (allocate_other_vector): Remove.
14132
14133 * window.c (struct save_window_data): Move non-lisp data to the end
14134 and make it `int' rather than Lisp_Object.
14135 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
14136 Done wrap/unwrap integer values.
14137 (Fset_window_configuration, compare_window_configurations):
14138 Update use of fields to their new types.
14139
14140 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
14141 Turn integer fields into `int'. Merge x_window_low and x_window_high.
14142 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
14143 (SET_SCROLL_BAR_X_WINDOW): Remove.
14144 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
14145 Access the new x_window field directly.
14146 * xterm.c (x_scroll_bar_create): Use a pseudovector.
14147 Don't wrap/unwrap integers into Lisp_Objects.
14148 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
14149 (x_scroll_bar_report_motion):
14150 Don't wrap/unwrap integers into Lisp_Objects.
14151 (x_term_init): Use SDATA.
14152 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
14153 (x_scroll_bar_set_handle, x_scroll_bar_remove)
14154 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
14155 (x_scroll_bar_report_motion, x_scroll_bar_clear):
14156 * xfns.c (x_set_background_color):
14157 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
14158 Access the new x_window field directly.
14159
14160 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
14161 (allocate_pseudovector): Make non-static.
14162
14163 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
14164 (allocate_pseudovector): Declare.
14165 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
14166
141672007-11-15 Andreas Schwab <schwab@suse.de>
14168
14169 * editfns.c (Fformat): Correctly format EMACS_INT values.
14170 Also take precision into account when formatting an integer.
14171
14172 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
14173
141742007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
14175
14176 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
14177 (syms_of_keyboard): Defsubr it.
14178
14179 * data.c (swap_in_global_binding): Fix longstanding bug where
14180 store_symval_forwarding was not called with the right second argument,
14181 thus causing objfwd-ing from being dropped.
14182
141832007-11-14 Juanma Barranquero <lekktu@gmail.com>
14184
14185 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
14186 (Fx_display_pixel_height, Fx_display_planes)
14187 (Fx_display_color_cells, Fx_server_max_request_size)
14188 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
14189 (Fx_display_visual_class, Fx_display_save_under):
14190 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
14191 (Fx_display_pixel_height, Fx_display_planes)
14192 (Fx_display_color_cells, Fx_server_max_request_size)
14193 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
14194 (Fx_display_mm_height, Fx_display_mm_width)
14195 (Fx_display_backing_store, Fx_display_visual_class)
14196 (Fw32_select_font, Fx_display_save_under):
14197 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
14198 (Fx_display_pixel_height, Fx_display_planes)
14199 (Fx_display_color_cells, Fx_server_max_request_size)
14200 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
14201 (Fx_display_save_under): Fix typos in docstrings.
14202
142032007-11-14 Juanma Barranquero <lekktu@gmail.com>
14204
14205 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
14206 corresponding to deleted entries; they are an implementation detail.
14207 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
14208 Remove variables.
14209 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
14210 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
14211 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
14212 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
14213 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
14214 (Fw32_define_rgb_color, Fw32_load_color_file)
14215 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
14216 Fix typos in docstrings.
14217 (Fx_server_version): Reflow docstring.
14218 (Fw32_shell_execute): Doc fixes.
14219
142202007-11-13 Juanma Barranquero <lekktu@gmail.com>
14221
14222 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
14223 if w32_parse_hot_key returned nil.
14224
142252007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
14226
14227 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
14228
142292007-11-09 Jason Rumney <jasonr@gnu.org>
d6c952f8 14230
aac0c6e3
MR
14231 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
14232
14233 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
14234
14235 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
14236 Remove W32_SCROLL_BAR_CLICK_EVENT.
14237
14238 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
14239 Add MULTIMEDIA_KEY_EVENT.
14240
14241 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
14242 (lispy_multimedia_keys) [WINDOWSNT]: New array.
14243 (make_lispy_event) [WINDOWSNT]: Use it to translate
14244 MULTIMEDIA_KEY_EVENT.
14245
14246 * w32term.h (WM_APPCOMMAND): Define if not already.
14247 (GET_APPCOMMAND_LPARAM): Likewise.
14248
14249 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
14250 WM_APPCOMMAND.
14251
14252 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
14253 (syms_of_w32fns): Export and initialize it.
14254 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
14255
142562007-11-09 Chong Yidong <cyd@stupidchicken.com>
14257
14258 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
14259 twice.
14260
14261 * xdisp.c (handle_face_prop): Fix last change.
14262
142632007-11-09 Richard Stallman <rms@gnu.org>
14264
14265 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
14266 not just for after-strings and before-strings.
14267 Call face_for_overlay_string and pass the overlay to it.
14268 (handle_display_prop): Determine whether property came from an overlay.
14269 Pass OVERLAY arg to handle_single_display_spec.
14270 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
14271 (load_overlay_strings): Fill in it->string_overlays.
14272 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
14273
14274 * xfaces.c (face_for_overlay_string): Function renamed from
14275 face_at_buffer_position_no_overlays, and add arg OVERLAY.
14276
14277 * dispextern.h (struct it): New elt string_overlays.
14278 New elt from_overlay, also in stack.
14279 Rearrange a few elements.
14280 (face_for_overlay_string): Decl renamed from
14281 face_at_buffer_position_no_overlays, and add argument.
14282
142832007-11-09 Richard Stallman <rms@gnu.org>
14284
14285 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
14286 to get the base face for an overlay string.
14287
14288 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
14289
14290 * xfaces.c (face_at_buffer_position_no_overlays): New function.
14291
14292 * xdisp.c (handle_stop): Move some code out of loop.
14293
142942007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14295
14296 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
14297 Fix conversion from Lisp object to ATSUFontID.
14298
142992007-11-09 Jason Rumney <jasonr@gnu.org>
14300
14301 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
14302
143032007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14304
14305 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
14306 Don't assume regions are aligned to page boundary.
14307 (print_load_command_name): Add LC_UUID if defined.
14308
143092007-11-09 Richard Stallman <rms@gnu.org>
14310
14311 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
14312
143132007-11-07 Jason Rumney <jasonr@gnu.org>
14314
14315 * s/windows95.h: Remove.
14316
143172007-11-06 Jan Djärv <jan.h.d@swipnet.se>
14318
14319 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
14320 abort with a message on unhandled store_type values.
14321
143222007-11-01 Jan Djärv <jan.h.d@swipnet.se>
14323
14324 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
14325 Remove HAVE_X11R5 and HAVE_X11R4.
14326
143272007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
14328
14329 * Makefile.in: Remove references to sunfns.c and sunfns.o.
14330
143312007-11-01 Johan Bockgård <bojohan@gnu.org>
14332
14333 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
14334 Don't set s->stippled_p here, since it has already been set by
14335 x_set_glyph_string_gc from x_draw_glyph_string.
14336
143372007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
14338
14339 * sunfns.c: Remove file.
14340
14341 * m/sun386.h:
14342 * m/sun2.h:
14343 * m/sparc.h: Remove Sun windows code.
14344
143452007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
14346
14347 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
14348 (init_keyboard): Set current_kboard's window-system to nil.
14349 (tty_read_avail_input): Typo.
14350 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
14351
143522007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
14353
14354 * s/usg5-4.h:
14355 * s/usg5-3.h:
14356 * s/ptx.h:
14357 * m/is386.h:
14358 * m/ibmps2-aix.h:
14359 * Makefile.in: Remove all mentions of X10.
14360
14361 * dispnew.c (syms_of_display): Don't mention version 10.
14362
143632007-10-28 Juanma Barranquero <lekktu@gmail.com>
14364
14365 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
14366 ($(BLD)/abbrev.$(O)): Remove.
14367
143682007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
14369
14370 Rewrite abbrev.c in Elisp.
14371 * image.c (Qcount): Don't declare as extern.
14372 (syms_of_image): Initialize and staticpro `Qcount'.
14373 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
14374 * emacs.c (main): Don't call syms_of_abbrev.
14375 * Makefile.in (obj): Remove abbrev.o.
14376 (abbrev.o): Remove.
14377 * abbrev.c: Remove.
14378
143792007-10-26 Martin Rudalics <rudalics@gmx.at>
14380
14381 * window.c (window_min_size_2): Don't count header-line.
14382
143832007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
14384
14385 * frame.h (struct frame): Move all bit fields after the first bit
14386 field to take advantage of the available space. Group all the
14387 chars together to reduce wasted space due to padding.
14388
143892007-10-26 Juanma Barranquero <lekktu@gmail.com>
14390
14391 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
14392
14393 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
14394 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
14395 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
14396 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
14397 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
14398 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
14399 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
14400 (last_marked, mark_object_loop_halt): Make static.
14401
14402 * frame.c (syms_of_frame) <delete-frame-functions>:
14403 Fix typo in docstring.
14404
144052007-10-25 Juanma Barranquero <lekktu@gmail.com>
14406
14407 * w32.c (init_environment): Fix tiny memory leak.
14408 (w32_get_resource): Remove unused variable `ok'.
14409
144102007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
14411
14412 Make `window-system' into a keyboard-local variable (rather than
14413 frame-local as done originally by multi-tty).
14414
14415 * keyboard.h (struct kboard): Add Vwindow_system.
14416 * keyboard.c (init_kboard): Set a default for Vwindow_system.
14417 (mark_kboards): Mark Vwindow_system.
14418
14419 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
14420 (init_display): Don't set the obsolete `window-system' frame-param.
14421
14422 * xterm.c (x_term_init):
14423 * w32term.c (w32_create_terminal):
14424 * term.c (init_tty): Set Vwindow_system.
14425 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
14426 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
14427
14428 * xfns.c (Fx_create_frame, x_create_tip_frame):
14429 * w32fns.c (Fx_create_frame, x_create_tip_frame):
14430 * macfns.c (Fx_create_frame):
14431 Don't set the obsolete `window-system' frame-param.
14432
14433 * frame.h (Qwindow_system): Remove.
14434 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
14435 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
14436
144372007-10-24 Richard Stallman <rms@gnu.org>
14438
14439 * frame.c (x_figure_window_size): For fullscreen case,
14440 set USPosition | PPosition without clobbering rest of window_prompting.
14441
14442 * keyboard.c (Fcurrent_idle_time): Doc fix.
14443
14444 * print.c (Fwith_output_to_temp_buffer): Doc fix.
14445
144462007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
14447
14448 * process.c (unwind_request_sigio): Only define if __ultrix__.
14449
14450 * callproc.c (child_setup): Remove spurious *.
14451
14452 * lisp.h (Fget_text_property): Declare.
14453 (have_menus_p): Declare it here rather than in sys-dep header files.
14454 * macterm.h (have_menus_p):
14455 * msdos.h (have_menus_p):
14456 * xterm.h (have_menus_p): Remove.
14457
14458 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
14459 (Fmake_variable_frame_local): Just check the variable's const-ness
14460 rather than checking nil or t.
14461
144622007-10-22 Jason Rumney <jasonr@gnu.org>
14463
14464 * w32fns.c: Include math.h.
14465 (w32_abort): Declaration moved to nt/config.nt.
14466
14467 * s/ms-w32.h (HAVE_STDLIB_H): Define.
14468 (abort): Redefinition moved to nt/config.nt.
14469
14470 * m/windowsnt.h: Remove.
14471
144722007-10-22 Juanma Barranquero <lekktu@gmail.com>
14473
14474 * emacs.c (Fdump_emacs): Fix typo in message.
14475 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
14476 <installation-directory>: Reflow docstring.
14477
144782007-10-22 Juri Linkov <juri@jurta.org>
14479
14480 * minibuf.c: Allow minibuffer default to be a list of default values.
14481 With empty input use the first element of this list as returned default.
14482 (string_to_object)
14483 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
14484 (read_minibuf): If defalt is cons, set histstring to its car.
14485 (Fread_string): If default_value is cons, set val to its car.
14486 (Fread_buffer): If def is cons, use its car.
14487 (Fcompleting_read): If defalt is cons, set val to its car.
14488
144892007-10-21 Michael Albinus <michael.albinus@gmx.de>
14490
14491 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
14492
144932007-10-20 Juanma Barranquero <lekktu@gmail.com>
14494
14495 * doc.c (Fdocumentation): Check for advice in all cases.
14496
144972007-10-19 Chong Yidong <cyd@stupidchicken.com>
14498
14499 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
14500
145012007-10-19 Richard Stallman <rms@gnu.org>
14502
14503 * doc.c (Fdocumentation): Check for and handle an advised function.
14504
145052007-10-19 Juanma Barranquero <lekktu@gmail.com>
14506
14507 * process.c (Fset_process_filter): Doc fix.
14508
145092007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
14510
14511 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
14512 which caused key-translation-map to applied repeatedly (thus breaking
14513 double-mode).
14514
145152007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
14516
14517 * xselect.c (x_own_selection, x_handle_selection_clear)
14518 (x_clear_frame_selections):
14519 * w32menu.c (list_of_panes, list_of_items):
14520 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
14521 * textprop.c (validate_plist, interval_has_all_properties)
14522 (interval_has_some_properties, interval_has_some_properties_list)
14523 (add_properties, text_property_list):
14524 * process.c (Fget_buffer_process, list_processes_1, status_notify):
14525 * minibuf.c (Fassoc_string):
14526 * macselect.c (x_own_selection, x_clear_frame_selections)
14527 (Fx_disown_selection_internal):
14528 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
14529 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
14530
145312007-10-17 Chong Yidong <cyd@stupidchicken.com>
14532
14533 * process.c: Link to libs for calling res_init() if available.
14534 (Fmake_network_process): Call res_init() before getaddrinfo or
14535 gethostbyname, if possible.
14536
145372007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
14538
14539 * lread.c (read1): Set pvectype for char_tables.
14540
14541 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
14542 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
14543 Add type checks.
14544 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
14545
14546 * alloc.c (free_misc): Use XMISCTYPE.
14547 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
14548
145492007-10-17 Glenn Morris <rgm@gnu.org>
14550
14551 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
14552 (syms_of_minibuf): Add Qcompletion_ignore_case.
14553 * dired.c (Qcompletion_ignore_case): Change to external.
14554 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
14555 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
14556 (Fread_file_name): Use it rather than intern'ing.
14557
14558 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
14559 (Fread_coding_system): Ignore case of user input.
14560
145612007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14562
14563 * xdisp.c (handle_display_prop): Ignore display specs after
14564 replacing one when string text is being replaced.
14565 (handle_single_display_spec): Pretend as if characters with display
14566 property haven't been consumed only when buffer text is being replaced.
14567
145682007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
14569
14570 * xfns.c (Fx_create_frame, Fx_display_list):
14571 * window.c (window_fixed_size_p, enlarge_window)
14572 (shrink_window_lowest_first):
14573 * macterm.c (init_font_name_table):
14574 * macfns.c (Fx_create_frame, Fx_display_list):
14575 * lread.c (close_load_descs):
14576 * keyboard.c (read_char_x_menu_prompt):
14577 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
14578 * coding.c (code_convert_region_unwind): Test the type of an object
14579 rather than just !NILP before extracting data from it.
14580
14581 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
14582
14583 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
14584 (XMISCANY): New macro.
14585 (XMISCTYPE): Use it.
14586 (struct Lisp_Misc_Any): New type.
14587 (union Lisp_Misc): Use it.
14588 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
14589 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
14590 (find_symbol_value, set_internal, default_value, Fset_default)
14591 (Fmake_variable_buffer_local, Fmake_local_variable)
14592 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
14593 (Flocal_variable_if_set_p, Fvariable_binding_locus):
14594 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
14595 * alloc.c (allocate_buffer): Set the size and tag.
14596 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
14597 Use XMISCANY.
14598 (die): Follow the GNU convention for error messages.
14599 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
14600 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
14601 tag any more.
14602 (set_buffer_internal_1):
14603 * frame.c (store_frame_param):
14604 * eval.c (specbind):
14605 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
14606
14607 * doc.c (Fsnarf_documentation): Simplify.
14608
146092007-10-14 Juanma Barranquero <lekktu@gmail.com>
14610
14611 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
14612 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
14613
146142007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
14615
14616 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
14617
146182007-10-14 Juanma Barranquero <lekktu@gmail.com>
14619
14620 * eval.c (do_autoload): Don't save autoloads.
14621
14622 * data.c (Ffset): Save autoload of the function being set.
14623
146242007-10-07 John Paul Wallington <jpw@pobox.com>
14625
14626 * xfns.c (x_create_tip_frame): Set the `display-type' frame
14627 parameter before setting up faces.
14628
146292007-10-13 Eli Zaretskii <eliz@gnu.org>
14630
14631 * ccl.c (Fregister_code_conversion_map):
14632 * keyboard.c (append_tool_bar_item): Reformat last change.
14633
14634 * lisp.h (eabs): Rename from `abs'. All callers changed.
14635
146362007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
14637
14638 * buffer.c (add_overlay_mod_hooklist):
14639 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
14640 * fontset.c (make_fontset):
14641 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
14642 (append_tool_bar_item):
14643 * macmenu.c (grow_menu_items):
14644 * w32menu.c (grow_menu_items):
14645 * xmenu.c (grow_menu_items): Use larger_vector.
14646
146472007-10-13 Eli Zaretskii <eliz@gnu.org>
14648
14649 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
14650 selected frame'' on MSDOS).
14651
146522007-10-12 Martin Rudalics <rudalics@gmx.at>
14653
14654 * frame.c (Qexplicit_name): New variable.
14655 (x_report_frame_params): Report it in parameter alist.
14656 (syms_of_frame): Intern and staticpro it.
14657
146582007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
14659
14660 * macfns.c (x_create_tip_frame): Set terminal for frame.
14661
146622007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
14663
14664 * frame.c (Qenvironment): Remove.
14665 (syms_of_frame) <Qenvironment>: Don't initialize.
14666 (Fdelete_frame): Don't treat the `environment' param specially.
14667 * frame.h (Qenvironment): Don't declare.
14668 * callproc.c (set_initial_environment): Don't set unused frame param.
14669
14670 * frame.c (Fframe_with_environment): Remove.
14671 (syms_of_frame) <Sframe_with_environment>: Don't declare.
14672
14673 * lisp.h (Fframe_with_environment): Don't declare.
14674
146752007-10-10 Juanma Barranquero <lekktu@gmail.com>
14676
14677 * indent.c (indent_tabs_mode, last_known_column)
14678 (last_known_column_modified): Make static.
14679 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
14680
146812007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
14682
14683 * puresize.h (BASE_PURESIZE): Increase to 1170000.
14684
146852007-10-09 Jason Rumney <jasonr@gnu.org>
14686
14687 * w32term.c (x_set_window_size): Disable code that attempts to tell
14688 Lisp code about a size change before it actually happens.
14689
146902007-10-09 Richard Stallman <rms@gnu.org>
14691
14692 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
14693 return HANDLED_RETURN.
14694
146952007-10-08 Martin Rudalics <rudalics@gmx.at>
14696
14697 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
14698 when there's an unread command event.
14699
14700 * frame.c (focus_follows_mouse): Move here from frame.el to allow
14701 window autoselection act appropriately when leaving selected frame.
14702 (syms_of_frame): Initialize focus_follows_mouse.
14703 * frame.h (focus_follows_mouse): Extern it.
14704 * macterm.c (XTread_socket): When focus_follows_mouse is nil
14705 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
14706 * msdos.c (dos_rawgetc): Likewise.
14707 * w32term.c (w32_read_socket): Likewise.
14708 * xterm.c (handle_one_xevent): Likewise.
14709 * xdisp.c (syms_of_xdisp): In doc-string of
14710 mouse-autoselect-window mention focus-follows-mouse.
14711
147122007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14713
14714 * macterm.c (mac_load_query_font): Fix missing return value.
14715 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
14716 Add BLOCK_INPUT.
14717
147182007-10-08 Richard Stallman <rms@gnu.org>
14719
14720 * xdisp.c (get_window_cursor_type): Implement documented behavior
14721 for cursor-in-non-selected-windows = t.
14722
147232007-10-08 Jason Rumney <jasonr@gnu.org>
14724
14725 * w32.c (w32_get_resource): Always close registry keys.
14726
147272007-10-08 Jason Rumney <jasonr@gnu.org>
14728
14729 * makefile.w32-in (LIBS): Add COMCTL32.
14730
14731 * w32fns.c (globals_of_w32fns): Init common controls.
14732
147332007-10-08 Richard Stallman <rms@gnu.org>
14734
14735 * image.c (our_memory_buffer): Rename from omfib_buffer.
14736
147372007-10-08 Richard Stallman <rms@gnu.org>
14738
14739 * buffer.c (Foverlays_at): Doc fix.
14740
147412007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
14742
14743 * fns.c (Fplist_put): Preserve uneven tail data.
14744
147452007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
14746
14747 * termhooks.h (enum event_kind): Remove trailing comma.
14748
14749 * frame.h (enum): Remove trailing comma.
14750
147512007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
14752
14753 * w32proc.c (delete_child): Don't terminate threads of zombies.
14754
147552007-10-08 Martin Rudalics <rudalics@gmx.at>
14756
14757 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
14758
14759 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
14760 last-repeatable-command.
14761 (init_kboard): Initialize Vlast_repeatable_command.
14762 (command_loop_1): Set it to real_this_command unless that was
14763 bound to an input event.
14764 (mark_kboards): Mark it.
14765
147662007-10-08 Richard Stallman <rms@gnu.org>
14767
14768 * eval.c (condition-case): Doc fix.
14769
147702007-10-08 Masatake YAMATO <jet@gyve.org>
14771
14772 * xfaces.c (tty_supports_face_attributes_p): Fix code
14773 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
14774 was copied and not edited.
14775
147762007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
14777
14778 Add new `input-decode-map' keymap and use it for terminal
14779 escape sequences.
14780 * keyboard.h (struct kboard): Add Vinput_decode_map.
14781 Remove Vlocal_key_translation_map.
14782 * keyboard.c (read_key_sequence): Add support for input-decode-map.
14783 (init_kboard): Init input-decode-map.
14784 Replace local-key-translation-map back with key-translation-map.
14785 (syms_of_keyboard): Declare input-decode-map.
14786 Remove local-key-translation-map. Update docstrings.
14787 (mark_kboards): Mark Vinput_decode_map.
14788 Don't mark Vlocal_key_translation_map.
14789 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
14790 Replace local-key-translation-map back with key-translation-map.
14791 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
14792 Bind in input-decode-map rather than function-key-map.
14793
14794 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
14795 This was made redundant by the previous introduction of XSETPVECTYPE.
14796
147972007-10-09 Richard Stallman <rms@gnu.org>
14798
14799 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
14800
148012007-09-29 Richard Stallman <rms@gnu.org>
14802
14803 * eval.c (internal_condition_case_2, internal_condition_case_1)
14804 (internal_condition_case): Reenable abort if x_catching_errors ()
14805 to see if that really happens and why.
14806
148072007-10-06 Andreas Schwab <schwab@suse.de>
14808
14809 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
14810
148112007-10-04 Juanma Barranquero <lekktu@gmail.com>
14812
14813 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
14814
148152007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
14816
14817 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
14818
148192007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
14820
14821 * window.h (struct window):
14822 * window.c (struct save_window_data, struct saved_window):
14823 * termhooks.h (struct terminal):
14824 * process.h (struct Lisp_Process):
14825 * frame.h (struct frame):
14826 * buffer.h (struct buffer):
14827 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
14828 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
14829 The size field of (pseudo)vectors is now unsigned.
14830 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
14831
14832 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
14833 Turn `count' into an integer.
14834
14835 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
14836 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
14837 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
14838 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
14839 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
14840
14841 * alloc.c (allocate_pseudovector): New fun.
14842 (ALLOCATE_PSEUDOVECTOR): New macro.
14843 (allocate_window, allocate_terminal, allocate_frame)
14844 (allocate_process): Use it.
14845 (mark_vectorlike): New function.
14846 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
14847 (mark_terminals): Use it.
14848 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
14849 (Fmake_byte_code): Use XSETPVECTYPE.
14850
14851 * frame.c (Fframe_parameters): Minor simplification.
14852
14853 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
14854
14855 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
14856
14857 * buffer.c (Fget_buffer_create, init_buffer_once):
14858 * lread.c (defsubr):
14859 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
14860
14861 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
14862 defined differently in the m/*.h files.
14863 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
14864 (XSETPVECTYPE): New macro.
14865 (XSETPSEUDOVECTOR): Use it.
14866
14867 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
14868 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
14869
14870 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
14871 * lread.c (defvar_per_buffer):
14872 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
14873
14874 * window.c (candidate_window_p): Only consider as visible frames that
14875 are on the same terminal.
14876
14877 * m/ibms390x.h (MARKBIT): Remove unused macro.
14878
148792007-10-01 Juanma Barranquero <lekktu@gmail.com>
14880
14881 * lread.c (Fload): Fix typo in docstring.
14882
148832007-10-01 Michaël Cadilhac <michael@cadilhac.name>
14884
14885 * floatfns.c (Fexpt): Manually check for overflows, so that a power
14886 of a non-zero value can't yield zero.
14887
148882007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
14889
14890 * term.c (term_clear_mouse_face, term_mouse_highlight)
14891 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
14892
14893 * print.c (safe_debug_print): Use XHASH.
14894
14895 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
14896 Lisp elements such as tags.
14897 (XHASH): New macro.
14898 (EQ): Use it.
14899 (SREF, SSET, STRING_COPYIN): Use SDATA.
14900 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
14901
14902 * alloc.c (mark_terminal): Remove left-over declaration.
14903 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
14904 (allocate_vectorlike): Remove type argument. Adjust callers.
14905 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
14906 Only handle the one remaining MEM_TYPE_VECTORLIKE.
14907
14908 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
14909 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
14910 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
14911 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
14912 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
14913 Use them.
14914
14915 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
14916 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
14917 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
14918
149192007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
14920
14921 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
14922 loaded by default.
14923
149242007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
14925
14926 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
14927 on this tty.
14928 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
14929
14930 * term.c (mouse_face_window): Rename from Qmouse_face_window.
14931 Update all users.
14932 (handle_one_term_event): Use Gpm_DrawPointer.
14933 (Fgpm_mouse_start): Rename from Fterm_open_connection.
14934 Signal errors instead of returning nil. Always return nil.
14935 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
14936 Make it a noop if gpm-mouse was not activated.
14937 (syms_of_term): Update names.
14938
149392007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
14940
14941 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
14942 (init_sys_modes): Check that gpm_tty is the current tty.
14943
14944 * alloc.c (allocate_terminal): Set the vector size to only count the
14945 lisp fields. Initialize those to nil.
14946 (mark_object): Don't treat terminals specially.
14947 (mark_terminal): Remove.
14948 (mark_terminals): Use mark_object instead.
14949
14950 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
14951 the GC to the beginning.
14952
14953 * indent.h:
14954 * indent.c: Use EMACS_INT for ints coming from Elisp data.
14955
14956 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
14957
149582007-09-25 Jason Rumney <jasonr@gnu.org>
14959
14960 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
14961
14962 * w32console.c (create_w32cons_output): Remove.
14963
14964 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
14965
14966 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
14967 (reset_sys_modes): Use reset_terminal_modes_hook.
14968
149692007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
14970
14971 * eval.c (do_autoload): Don't output any message.
14972
149732007-09-24 Juri Linkov <juri@jurta.org>
14974
14975 * emacs.c (standard_args): Change priority of "--no-splash"
14976 from 40 to 3. Add "--no-desktop" with the same priority.
14977
149782007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
14979
14980 * alloc.c (gc_sweep): Check cons cell mark bits word by word
14981 and optimize the case where they are all 1.
14982
149832007-09-23 Johannes Weiner <hannes@saeurebad.de>
14984
14985 * lisp.h (abs): Define if not defined.
14986 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
14987 Don't define `abs', since it's defined in lisp.h.
14988
149892007-09-22 Eli Zaretskii <eliz@gnu.org>
14990
14991 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
14992 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
14993 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
14994 (init_tty): Use DEV_TTY instead of "/dev/tty".
14995 [WINDOWSNT]: No need to protect from NAME arg being null.
14996
149972007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
14998
14999 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
15000 up the tty state.
15001
150022007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
15003
15004 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
15005 (gpm_tty): Change its type.
15006 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
15007 (gpm_tty): Change its type and initialize it.
15008 (Fterm_open_connection): Check the frame is indeed a tty.
15009 Use the new gpm_tty.
15010 (Fterm_close_connection): Use the new gpm_tty.
15011 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
15012 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
15013
150142007-09-21 Juanma Barranquero <lekktu@gmail.com>
15015
15016 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
15017 underline_color, to draw strike-through.
15018
150192007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
15020
15021 * lisp.h (allocate_terminal): Declare.
15022
15023 * window.c (candidate_window_p): Consider frames that are being placed
15024 by the user as somewhere between visible and iconified.
15025 (window_loop): Prefer windows on the current frame.
15026 (Fselect_window): Move the use of select-frame to the beginning so we
15027 can just delegate all the work (it'll call us back anyway).
15028
15029 * frame.c (Qdisplay_environment_variable):
15030 * frame.h (Qdisplay_environment_variable): Delete.
15031
15032 * .gdbinit (xbacktrace): Print the arg's address rather than the value
15033 of the first arg, since that value may be a union.
15034
15035 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
15036 parameter rather than Qdisplay_environment_variable. If all else
15037 fails, look for DISPLAY in initial-environment.
15038
150392007-09-21 Glenn Morris <rgm@gnu.org>
15040
15041 * Makefile.in (emacstool): Remove target.
15042 (lisp, shortlisp): Remove termdev.elc.
15043
150442007-09-21 Markus Triska <markus.triska@gmx.at>
15045
15046 * xterm.c (x_delete_display): Compile session management conditionally.
15047
150482007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
15049
15050 * callproc.c (getenv_internal_1): New function.
15051 (getenv_internal): Use it.
15052 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
15053
15054 * terminal.c (get_terminal): Don't accept ints to represent terminals.
15055 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
15056 (Fset_terminal_parameter): Work with dead terminals as well.
15057 (Fmodify_terminal_parameters): Remove.
15058
15059 * terminal.c (get_terminal): Handle terminals.
15060 Make sure the terminal returned is live.
15061 (create_terminal): Use allocate_terminal.
15062 (mark_terminals): Move to alloc.c.
15063 (delete_terminal): Use terminal->name as liveness status.
15064 NULL out fields after freeing their contents.
15065 Don't deallocate the object.
15066 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
15067 rather than an int.
15068 (Fterminal_live_p): Accept non-integer arguments.
15069 (Fterminal_list): Return terminal objects rather than an ints.
15070
15071 * alloc.c (enum mem_type): New member for `terminal' objects.
15072 (allocate_terminal): New function.
15073 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
15074 Handle terminals.
15075 (mark_terminal): New fun.
15076 (mark_terminals): Move from terminal.c.
15077
15078 * term.c (get_tty_terminal): Don't treat output_initial specially.
15079 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
15080 (delete_tty): Use terminal->name as liveness status.
15081
15082 * termhooks.h (struct terminal): Make it into a pseudovector.
15083 Remove `deleted' replaced by checking `name's nullness.
15084
15085 * print.c (print_object): Handle terminals.
15086
15087 * lisp.h (enum pvec_type): New `terminal' pseudovector.
15088 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
15089
15090 * frame.c (make_terminal_frame):
15091 * keyboard.c (tty_read_avail_input):
15092 * w32term.c (x_delete_terminal):
15093 * xfns.c (Fx_create_frame, x_create_tip_frame):
15094 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
15095
150962007-09-20 Glenn Morris <rgm@gnu.org>
15097
15098 * process.c (Fmake_network_process): Doc fix.
15099
151002007-09-19 Jason Rumney <jasonr@gnu.org>
15101
15102 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
15103
151042007-09-19 Michaël Cadilhac <michael@cadilhac.name>
15105
15106 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
15107 Fix a C warning regarding variable constness.
15108
15109 * xterm.c (handle_one_xevent): Fix a C warning.
15110
151112007-09-18 Jason Rumney <jasonr@gnu.org>
15112
15113 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
15114
151152007-09-17 Jan Djärv <jan.h.d@swipnet.se>
15116
15117 * gtkutil.c (gdpy_def): New variable.
15118 (xg_initialize): Initialize gdpy_def.
15119 (xg_display_close): If no other display exists, set gdpy_def to a
15120 new connection.
15121
151222007-09-16 Jan Djärv <jan.h.d@swipnet.se>
15123
15124 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
15125 when we have no file name for the icon.
15126 (xg_tool_bar_expose_callback): Remove.
15127 (xg_create_tool_bar): Don't connect expose signal to
15128 xg_tool_bar_expose_callback.
15129 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
15130
151312007-09-16 Andreas Schwab <schwab@suse.de>
15132
15133 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
15134 values instead of zapping them.
15135
151362007-09-14 Glenn Morris <rgm@gnu.org>
15137
15138 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
15139 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
15140 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
15141 scope and rename to omfib_buffer for clarity.
15142 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
15143
151442007-09-14 Kenichi Handa <handa@m17n.org>
15145
15146 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
15147
151482007-09-13 Jason Rumney <jasonr@gnu.org>
15149
15150 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
15151
15152 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
15153
15154 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
15155 (mac_term_init): Call here instead, passing rif.
15156
151572007-09-13 Glenn Morris <rgm@gnu.org>
15158
15159 * s/hpux.h: No longer define `static' as nothing.
15160
151612007-09-13 Johan Bockgård <bojohan@gnu.org>
15162
15163 * callint.c (Fcall_interactively): Remove unused var `fun'.
15164
151652007-09-12 Romain Francoise <romain@orebokech.com>
15166
15167 * window.c (prefer_window_split_horizontally, display_buffer):
15168 Revert 2007-09-08 change.
15169
151702007-09-12 Glenn Morris <rgm@gnu.org>
15171
15172 * alloca.c: Remove file.
15173 * Makefile.in (alloca): Do not undef.
15174 (allocaobj, alloca.o): Remove.
15175 (otherobj): Remove allocaobj.
15176 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
15177 * regex.c (C_ALLOCA): Remove all references and code that was only
15178 used when this was defined.
15179 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
15180 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
15181 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
15182
15183 * Makefile.in (SOURCES, unlock, relock): Delete.
15184
15185 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
15186 (menu_grab_callback): All uses changed.
15187
15188 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
15189 (x_reply_selection_request): All uses changed.
15190
151912007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
15192
15193 * lread.c (load_warn_old_style_backquotes): Change message to look
15194 better when it appears in the middle of byte-compiler messages.
15195
151962007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
15197
15198 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
15199
15200 * xterm.c (x_create_terminal): Add comment.
15201
15202 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
15203
152042007-09-10 Richard Stallman <rms@gnu.org>
15205
15206 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
15207
152082007-09-10 Michaël Cadilhac <michael@cadilhac.name>
15209
15210 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
15211 (DEFUN): Document `intspec', use it instead of `prompt'.
15212
15213 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
15214
15215 * data.c (Finteractive_form): If the interactive specification starts
15216 with a `(', use it as a Lisp form.
15217
15218 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
15219 name and file modes.
15220
15221 * callint.c (Fcall_interactively): Comment fixes.
15222
152232007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
15224
15225 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
15226 and compiled functions.
15227
152282007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
15229
15230 * window.c (prefer_window_split_horizontally): New variable.
15231 (display_buffer): Consider splitting window horizontally depending
15232 on prefer_window_split_horizontally.
15233
152342007-09-08 Eli Zaretskii <eliz@gnu.org>
15235
15236 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
15237
152382007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
15239
15240 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
15241
15242 * frame.c (x_set_frame_parameters): Check number is positive before
15243 using XFASTINT.
15244
15245 * window.c (freeze_window_start): Don't presume selected_window holds
15246 a window object.
15247 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
15248
152492007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
15250
15251 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
15252
152532007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
15254
15255 * window.c (Vsplit_window_preferred_function): New var.
15256 (Fdisplay_buffer): Use it.
15257 (syms_of_window): Export, and initialize it.
15258
152592007-09-06 Pixel <pixel@mandriva.com> (tiny change)
15260
15261 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
15262
152632007-09-06 Glenn Morris <rgm@gnu.org>
15264
15265 * gtkutil.c (menu_grab_callback) <cnt>:
15266 * xselect.c (x_reply_selection_request) <cnt>: Move static
15267 variable to file scope.
15268
152692007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
15270
15271 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
15272 consistent values of selected_frame and selected_window.
15273
152742007-09-04 Jason Rumney <jasonr@gnu.org>
15275
15276 * w32console.c (initialize_w32_display): Zero unused hooks.
15277
152782007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
15279
15280 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
15281 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
15282
152832007-09-04 Jason Rumney <jasonr@gnu.org>
15284
15285 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
15286 in w32console.c. Set up input. Remove XXX comments that have been
15287 confirmed as correct.
15288
15289 * s/ms-w32.h (MULTI_KBOARD): Define.
15290
15291 * w32console.c (one_and_only_w32cons): Remove.
15292 (initialize_w32_display): Take terminal argument.
15293
15294 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
15295 initialize_w32_display.
15296 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
15297
15298 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
15299
15300 * keyboard.c (discard_mouse_events): Discard it.
15301 (make_lispy_event): Translate it to a lisp event.
15302 (lispy_wheel_names): Add wheel-left and right events.
15303 (syms_of_keyboard): Enlarge wheel_syms.
15304
15305 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
15306 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
15307
15308 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
15309
15310 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
15311 from WM_MOUSEHWHEEL.
15312 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
15313
15314 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
15315 terminal.
15316
15317 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
15318 keyboard for the terminal.
15319
153202007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
15321
15322 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
15323 (Vresume_tty_hook): Rename from Vresume_tty_functions.
15324 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
15325 and resume-tty-function to resume-tty-hook.
15326 (Fsuspend_tty, Fresume_tty): Use new names.
15327
153282007-09-02 Jan Djärv <jan.h.d@swipnet.se>
15329
15330 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
15331 if it starts with "n:".
15332
153332007-08-31 Jan Djärv <jan.h.d@swipnet.se>
15334
15335 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
15336
153372007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
15338
15339 * frame.h:
15340 * frame.c (Qterm_environment_variable): Remove.
15341 (syms_of_frame): Don't init and staticpro it.
15342
15343 * callproc.c (getenv_internal): Remove special case for $TERM.
15344
15345 * callproc.c (Vinitial_environment): New variable.
15346 (set_initial_environment): Initialize it.
15347 (syms_of_callproc): Declare it.
15348 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
15349 TERM under which a process runs is never related to the TERM in which
15350 Emacs is running.
15351
153522007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
15353
15354 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
15355 * s/darwin.h: ... do it here.
15356
153572007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
15358
15359 * lisp.h (set_initial_environment): Rename from set_global_environment.
15360
15361 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
15362 removed by mistake on the multi-tty branch.
15363
15364 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
15365 (Fmodify_frame_parameters): Return a value.
15366
15367 * image.c (png_load): Comment-out var only used in commented-out code.
15368
15369 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
15370 before passing it to mark_object.
15371
15372 * xfaces.c (internal_resolve_face_name): Return a value.
15373 (internal_resolve_face_name, resolve_face_name_error): Comment out.
15374
15375 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
15376 (x_icon): Comment-out var only used in commented-out code.
15377
153782007-08-29 Romain Francoise <romain@orebokech.com>
15379
15380 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
15381 QUIT hasn't been provided.
15382
153832007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
15384
15385 * callproc.c (child_setup, getenv_internal): Use the
15386 display-environment-variable and term-environment-variable frame params.
15387 (set_initial_environment): Initialise Vprocess_environment.
15388
15389 * config.in: Disable multi-keyboard support on a mac.
15390
15391 * frame.c (Qterm_environment_variable)
15392 (Qdisplay_environment_variable): New variables.
15393 (syms_of_frame): Intern and staticpro them.
15394 (Fmake_terminal_frame): Disable output method test.
15395
15396 * frame.h: Declare them here.
15397
15398 * macfns.c (x_set_mouse_color): Get rif from the frame.
15399 (x_set_tool_bar_lines): Don't use updating_frame.
15400 (mac_window): Add 2 new parameters for consistency with other systems.
15401 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
15402 frame parameters following what is done in X11 and w32. Don't use
15403 FRAME_MAC_DISPLAY_INFO.
15404 (Fx_open_connection, start_hourglass): Remove window-system check.
15405 (x_create_tip_frame): Get the keyboard from the terminal.
15406
15407 * macmenu.c: Reorder includes.
15408 (Fx_popup_menu): Use terminal specific mouse_position_hook.
15409
15410 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
15411 terminal parameter.
15412 (x_clear_frame): Add a frame parameter.
15413 (note_mouse_movement): Get rif from the frame.
15414 (mac_term_init): Initialize the terminal.
15415 (mac_initialize): Make static and move terminal initialization ...
15416 (mac_create_terminal): ... to this new function.
15417
15418 * macterm.h (struct mac_display_info): Add terminal.
15419 (mac_initialize): Delete declaration.
15420
15421 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
15422
15423 * sysdep.c: Comment out text after #endif.
15424
15425 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
15426 is defined. Better initialize ttys in windows. Use terminal
15427 specific mouse_position_hook.
15428
15429 * termhooks.h (union display_info): Add mac_display_info.
15430
15431 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
15432 Set the default minibuffer frame, window_system and the rest of the
15433 frame parameters following what is done in X11.
15434
15435 * w32term.c (w32_initialize): Make static.
15436
15437 * xselect.c (x_handle_selection_clear): Only access
15438 terminal->kboard when MULTI_KBOARD is defined.
15439
15440 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
15441 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
15442
154432007-08-29 Jason Rumney <jasonr@gnu.org>
15444
15445 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
15446 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
15447
15448 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
15449 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
15450
15451 * keyboard.c (restore_kboard_configuration): Only define when
15452 MULTI_KBOARD defined.
15453
15454 * makefile.w32-in: Update dependancies from Makefile.in.
15455 (OBJ1): Add terminal.$(O)
15456
15457 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
15458 Don't define function body.
15459 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
15460
15461 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
15462
15463 * w32.c (request_sigio, unrequest_sigio): Remove.
15464
15465 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
15466 (w32con_clear_frame, w32con_clear_end_of_line)
15467 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
15468 (w32con_delete_glyphs, w32con_set_terminal_window)
15469 (scroll_line, w32_sys_ring_bell): Add frame arg.
15470 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
15471 Add terminal arg.
15472 (PICK_FRAME): Remove.
15473 (w32con_write_glyphs): Use frame specific terminal coding.
15474 (one_and_only_w32cons): New global variable.
15475 (initialize_w32_display): Use it for storing hooks.
15476 (create_w32cons_output): New function.
15477
15478 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
15479 arg a frame.
15480
15481 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
15482 Set window_system.
15483 (x_set_tool_bar_lines): Don't use updating_frame.
15484 (Fx_create_frame): Set terminal and ref count.
15485 (Fx_open_connection): Remove window-system check.
15486
15487 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
15488
15489 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
15490 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
15491 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
15492 Add frame arg.
15493 (x_delete_terminal, w32_create_terminal): New functions.
15494 (w32_term_init): Create a terminal.
15495 (w32_initialize): Move terminal specific initialization to
15496 w32_create_terminal.
15497
15498 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
15499 (w32_clear_rect, w32_clear_area): Use background from frame.
15500 (w32_display_info): Add terminal.
15501 (w32_sys_ring_bell, x_delete_display): Declare here.
15502
15503 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
15504
15505 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
15506
155072007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
15508
15509 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
15510 Fix get_named_tty calls for the controlling tty.
15511
155122007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
15513
15514 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
15515
155162007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
15517
15518 * term.c (tty_insert_glyphs): Add missing first parameter.
15519
155202007-08-29 Károly Lőrentey <karoly@lorentey.hu>
15521
15522 * buffer.c (Fbuffer_list, Fbury_buffer):
15523 Take frame->buried_buffer_list into account.
15524
15525 * cm.c (current_tty): New variable, for cmputc().
15526 (cmputc): Use it.
15527 (cmcheckmagic): Add tty parameter, look up terminal streams there.
15528 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
15529 (cmgoto): Add tty parameter. Pass it on to calccost().
15530 Use emacs_tputs() instead of tputs().
15531
15532 * cm.h (emacs_tputs): New macro to set current_tty, and then call
15533 tputs().
15534 (current_tty): New variable, for cmputc().
15535 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
15536
15537 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
15538 (internal_condition_case, internal_condition_case_1)
15539 (internal_condition_case_2): Don't abort when x_catching_errors.
15540
15541 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
15542 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
15543 prevent crashes caused by bogus longjmps in read_char.
15544
15545 * keymap.h (Fset_keymap_parent): Add EXFUN.
15546
15547 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
15548 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
15549 Remove redundant definition.
15550
15551 * macfns.c (x_set_mouse_color, x_make_gc):
15552 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15553
15554 * w32term.c (x_free_frame_resources):
15555 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15556 (w32_initialize): Use the accessor macros for terminal characteristics.
15557
15558 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
15559 Use the accessor macros for terminal characteristics.
15560 * msdos.c (internal_terminal_init): Use the accessor macros for
15561 terminal characteristics.
15562 (ScreenVisualBell, internal_terminal_init):
15563 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15564
15565 * termopts.h (no_redraw_on_reenter): Declare.
15566
15567 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
15568 (mark_terminals, mark_ttys): Declare.
15569 (Fgarbage_collect): Call them.
15570 (mark_object): Mark buried_buffer_list.
15571
15572 * prefix-args.c: Include stdlib.h for exit.
15573
15574 * syssignal.h: Add comment.
15575
15576 * indent.c: Include stdio.h.
15577
15578 * window.h (Vinitial_window_system): Declare.
15579 (Vwindow_system): Delete declaration.
15580
15581 * fontset.c (Finternal_char_font): Use FRAME_RIF.
15582
15583 * image.c (lookup_image): Don't initialize `c' until the xasserts
15584 have been run.
15585
15586 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
15587 FRAME_FOREGROUND_PIXEL.
15588
15589 * print.c (print_preprocess): Don't lose print_depth levels while
15590 iterating.
15591
15592 * widget.c (update_from_various_frame_slots):
15593 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15594
15595 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
15596 frames.
15597 (window_internal_height): Remove bogus make_number call.
15598 (init_window_once): Call make_terminal_frame with two zero parameters.
15599
15600 * fileio.c (Fread_file_name): Update comment.
15601
15602 * callint.c (Fcall_interactively):
15603 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
15604 Make sure it is correctly unwound.
15605
15606 * xsmfns.c (x_session_close): New function.
15607
15608 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
15609 Delete declarations.
15610
15611 * xterm.h: Remove declaration for x_fully_uncatch_errors.
15612 (x_output): Remove background_pixel and foreground_pixel fields.
15613 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
15614 (x_delete_device, x_session_close): Declare.
15615
15616 * lread.c: Include setjmp.h. Update declaration of `read_char'.
15617 (read_filtered_event): Call `read_char' with a local
15618 `wrong_kboard_jmpbuf'.
15619
15620 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
15621 Don't call single_kboard_state. Use FRAME_RIF.
15622
15623 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
15624 systems.
15625
15626 * lisp.h (set_process_environment): Rename to `set_global_environment'.
15627 (Fframe_with_environment, Fset_input_meta_mode)
15628 (Fset_quit_char): EXFUN.
15629 (x_create_device, tty_output, terminal, tty_display_info): Declare.
15630 (init_sys_modes, reset_sys_modes): Update prototypes.
15631 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
15632
15633 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
15634 Vlocal_key_translation_map, and Vkeyboard_translate_table.
15635 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
15636 Delete declarations.
15637 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
15638 (temporarily_switch_to_single_kboard, tty_read_avail_input):
15639 New declarations.
15640
15641 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
15642 already does that during init_display(). Call syms_of_keymap
15643 before syms_of_keyboard. Call `syms_of_terminal'.
15644 Call set_initial_environment, not set_process_environment.
15645 (shut_down_emacs): Call reset_all_sys_modes() instead of
15646 reset_sys_modes().
15647
15648 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
15649 (internal_resolve_face_name, resolve_face_name_error): New functions.
15650 (resolve_face_name): Protect against loops and errors thrown by Fget.
15651 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
15652 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
15653
15654 * scroll.c: Replace CURTTY() with local variables throughout the
15655 file (where applicable).
15656 (calculate_scrolling, calculate_direct_scrolling)
15657 (scrolling_1, scroll_cost): Use the accessor macros for terminal
15658 characteristics.
15659
15660 * keymap.c (Vfunction_key_map): Remove.
15661 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
15662 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
15663 (Vkey_translation_map): Remove.
15664 (syms_of_keymap): Remove DEFVAR for key-translation-map.
15665 (Fdescribe_buffer_bindings)
15666 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
15667 Update for terminal-local key-translation-map.
15668
15669 * Makefile.in (callproc.o): Update dependencies.
15670 (lisp, shortlisp): Add termdev.elc.
15671 (obj): Add terminal.o.
15672 (terminal.o): Add dependencies.
15673 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
15674 (data.o, fns.o): Add termhooks.h dependency.
15675 (SOME_MACHINE_LISP): Add dnd.elc.
15676 (minibuf.o): Fix typo.
15677 Update dependencies.
15678
15679 * data.c (do_symval_forwarding, store_symval_forwarding)
15680 (find_symbol_value): Use the selected frame's keyboard, not
15681 current_kboard.
15682
15683 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
15684 Vwindow_system.
15685
15686 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
15687 Fmenu_bar_open.
15688 (syms_of_xmenu): Update defsubr.
15689 (mouse_position_for_popup, Fx_popup_menu)
15690 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
15691 (set_frame_menubar, free_frame_menubar)
b97439ce 15692 (create_and_show_popup_menu, xmenu_show)
aac0c6e3
MR
15693 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
15694 an X frame.
15695
15696 * xselect.c (x_own_selection): Abort if not an X frame.
15697 (some_frame_on_display): Check if it is an X frame.
15698 (x_handle_selection_clear): Deal with MULTI_KBOARD.
15699
15700 * coding.c: Include frame.h and termhooks.h.
15701 (terminal_coding, keyboard_coding): Delete.
15702 (Fset_terminal_coding_system_internal)
15703 (Fset_keyboard_coding_system_internal)
15704 (Fkeyboard_coding_system)
15705 (Fterminal_coding_system): Add a terminal parameter.
15706 Get terminal_coding from the terminal.
15707 (init_coding_once): Don't call setup_coding_system here.
15708
15709 * dispextern.h (set_scroll_region, turn_off_insert)
15710 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
15711 (tty_clear_end_of_line, tty_setup_colors)
15712 (delete_tty, updating_frame)
15713 (produce_special_glyphs, produce_glyphs, write_glyphs)
15714 (insert_glyphs): Remove.
15715 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
15716 (tty_turn_off_highlight, get_tty_size): Add declaration.
15717 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
15718
15719 * frame.h (enum output_method): Add output_initial.
15720 (struct x_output): Delete.
15721 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
15722 Access foreground_pixel and background_pixel directly from the frame.
15723 (tty_display): Delete.
15724 (struct frame): Add buried_buffer_list, foreground_pixel,
15725 background_pixel and terminal. Delete kboard.
15726 (union output_data): Add tty.
15727 (FRAME_KBOARD): Get the kboard from the terminal.
15728 (FRAME_INITIAL_P): New macro.
15729 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
15730 (Qterm_environment_variable, Qdisplay_environment_variable)
15731 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
15732 New declarations.
15733
15734 * termchar.h (tty_output, tty_display_info): New structures.
15735 (tty_list): Declare.
15736 (FRAME_TTY, CURTTY): New macros.
15737 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
15738 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
15739 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
15740 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
15741
15742 * callproc.c: Include frame.h and termhooks.h, for terminal
15743 parameters.
15744 (add_env): New function.
15745 (child_setup): Use it.
15746 (child_setup, getenv_internal): Handle the new Vprocess_environment.
15747 (getenv_internal): Fix get_terminal_param call.
15748 (Fgetenv_internal, egetenv): Update doc.
15749 (syms_of_callproc): Initialize Vprocess_environment to nil.
15750 Register and initialize them. Remove obsolete defvars. Update doc
15751 strings.
15752 (child_setup): Handle Vlocal_environment_variables.
15753 (getenv_internal): Add terminal parameter.
15754 Handle Vlocal_environment_variables.
15755 (Fgetenv_internal): Add terminal parameter.
15756 (child_setup, getenv_internal, Fgetenv_internal): Store the local
15757 environment in a frame (not terminal) parameter. Update doc strings.
15758 (set_initial_environment): Rename from set_global_environment.
15759 Store Emacs environment in initial frame parameter.
15760
15761 * xdisp.c (redisplay_internal): Update references to
15762 `previous_terminal_frame'.
15763 (display_mode_line, Fformat_mode_line): Replace calls to
15764 `push_frame_kboard' with `push_kboard'.
15765 (get_glyph_string_clip_rects): Add extra parentheses and
15766 braces to prevent compiler warnings.
15767 (calc_pixel_width_or_height): Add xassert to check that the
15768 frame is alive. Don't call `lookup_image' on a termcap frame.
15769 (message2_nolog, message3_nolog, redisplay_internal)
15770 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
15771 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
15772 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
15773 (Fx_display_pixel_width, Fx_display_pixel_height)
15774 (Fx_display_planes, Fx_display_color_cells)
15775 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
15776 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
15777 (Fx_display_backing_store, Fx_display_visual_class)
15778 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
15779 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
15780
15781 * xfns.c (x_set_foreground_color x_set_background_color)
15782 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
15783 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15784 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
15785 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
15786 terminal that is being deleted.
15787 (Fx_create_frame): Use `store_frame_param' to set `window-system'
15788 frame parameter, and make sure it overrides any user-supplied setting.
15789 (Fx_close_connection, Fx_synchronize): Unify argument names with
15790 the rest of the DEFUNs.
15791
15792 * dispnew.c (Fsend_string_to_terminal): Update call to
15793 `get_tty_terminal'.
15794 (Fredraw_frame, Fsend_string_to_terminal)
15795 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
15796 FRAME_TERMCAP_P and FRAME_TTY.
15797 (window_change_signal): Don't believe width/height values that are
15798 impossibly small.
15799 (Vinitial_window_system): Rename from Vwindow_system.
15800 (termscript, Wcm, rif): Delete.
15801
15802 * termhooks.h (struct terminal): New struct containing the
15803 previously global text display hooks and new members NAME,
15804 DELETED and PARAM_ALIST.
15805 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
15806 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
15807 (FRAME_RIF): New macros.
15808 (get_terminal_param, get_device): New declarations.
15809 (termscript): Delete declaration.
15810
15811 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
15812 (XTflash, x_free_frame_resources, x_scroll_bar_create)
15813 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
15814 FRAME_FOREGROUND_PIXEL.
15815 (x_fully_uncatch_errors): Disable definition.
15816 (x_scroll_bar_expose): Fix reference to foreground pixel.
15817 (XTread_socket): Disable loop on all X displays.
15818 (x_delete_terminal): Don't set terminal->deleted and let
15819 delete_terminal delete the frames on the terminal.
15820 (x_delete_display): Doc update to reflect changes in
15821 delete_terminal.
15822 (x_display_info) <terminal>: Move member earlier in the struct.
15823 (deleting_tty): Remove old variable.
15824 (Fsuspend_tty): Call clear_tty_hooks.
15825 (Fresume_tty, init_tty): Call set_tty_hooks.
15826 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
15827 errors on X frames.
15828 (x_catch_errors_unwind): Abort if x_error_message is NULL.
15829 (handle_one_xevent): Initialize `f' to NULL.
15830 (x_delete_terminal, x_create_terminal): New functions.
15831 (XTset_terminal_modes, XTreset_terminal_modes)
15832 (XTread_socket, x_connection_closed, x_term_init)
15833 (x_term_init, x_delete_display): Add terminal parameter.
15834 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
15835 X connections.
15836
15837 * frame.c: Include termchar.h.
15838 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
15839 (Qwindow_system, Qenvironment, Qterm_environment_variable)
15840 (Qdisplay_environment_variable): New vars.
15841 (Fframep): Deal with output_initial.
15842 (Fframe-live-p): Doc fix.
15843 (Fwindow-system): New function.
15844 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
15845 (make_terminal_frame): Don't create frames on a terminal that is
15846 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15847 (store_frame_param): Check for found_for_frame before calling XFRAME.
15848 (Fmake_terminal_frame): Handle NULL tty names correctly.
15849 (syms_of_frame): Enhance doc string of `default-frame-alist'.
15850 (Fdelete_frame): Remove unused variable `count'. Don't allow other
15851 frames to refer to a deleted frame in their 'environment parameter.
15852 (Fframe_with_environment): New function.
15853 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
15854 (get_future_frame_param): New function.
15855 (Fmake_terminal_frame): Use it.
15856 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
15857
15858 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
15859 * sysdep.c (reset_sys_modes): Update for renames.
15860
15861 * keyboard.c (tty_read_avail_input): New function.
15862 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
15863 (syms_of_keyboard): Defsubr them.
15864 (Fset_input_meta_mode, Fset_quit_char): New functions.
15865 (Fset_input_mode): Split to above functions.
15866 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
15867 parameter. Use it in call to `read_char'.
15868 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
15869 Set wrong_kboard_jmpbuf correctly in recursive calls.
15870 Use current_kboard to access Vkeyboard_translate_table.
15871 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
15872 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
15873 Update longjmp invocations. Remember the original current_kboard,
15874 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
15875 changes it. Comment out unnecessary calls to
15876 `record_single_kboard_state' and `any_kboard_state'.
15877 Update recursive calls.
15878 (wrong_kboard_jmpbuf): Remove global variable.
15879 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
15880 Handle deleted interrupted_kboards correctly; that is a legal
15881 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
15882 and read_char calls. Abort if interrupted_kboard died in read_char.
15883 (any_kboard_state, single_kboard_state)
15884 (push_frame_kboard): Remove function.
15885 (pop_kboard): Switch out of single_kboard mode if the kboard has
15886 been deleted. Remove unused variable. Help debugging by not
15887 changing current_kboard unnecessarily. Set current_kboard to the
15888 kboard of the selected frame when the stored kboard object has
15889 been deleted before pop_kboard.
15890 (temporarily_switch_to_single_kboard): Change first parameter to a
15891 frame pointer. Throw an error when caller wants to change kboards
15892 while in single_kboard mode. Don't push_kboard if we weren't in
15893 single kboard state. Don't pop_kboard if we popped into any
15894 kboard state.
15895 (restore_kboard_configuration): Abort if pop_kboard changed the
15896 kboard in single_kboard mode. Call pop_kboard only after setting
15897 up single_kboard mode.
15898 (Frecursive_edit): Switch to single_kboard mode only in nested
15899 command loops.
15900 (cmd_error, command_loop, command_loop_1, timer_check):
15901 Comment out unnecessary call to `any_kboard_state' and
15902 `record_single_kboard_state'.
15903 (delete_kboard): Exit single_kboard mode if we have just deleted
15904 that kboard. Use FRAME_KBOARD.
15905 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
15906 `fatal_error_signal'.
15907 (record_single_kboard_state): Don't push_kboard if we weren't in
15908 single kboard state. Don't pop_kboard if we popped into any
15909 kboard state.
15910 (push_frame_kboard): Rename to push_kboard.
15911 (kbd_buffer_get_event): Use FRAME_TERMINAL.
15912 (read_avail_input): Read input from all terminals.
15913 (mark_kboards): Also mark Vkeyboard_translate_table.
15914 (kbd_buffer_store_event_hold): Simplify condition.
15915 (read_key_sequence): Reinitialize fkey and keytran at each replay.
15916 (Vkeyboard_translate_table): Move to struct kboard.
15917 (init_kboard): Initialize Vkeyboard_translate_table.
15918 (syms_of_keyboard): Use DEFVAR_KBOARD to define
15919 Vkeyboard_translate_table. Update doc strings. Update docs of
15920 local-function-key-map and function-key-map.
15921
15922 * terminal.c: New file.
15923
15924 * term.c: Include errno.h.
15925 (Vring_bell_function, device_list, initial_device)
15926 (next_device_id, ring_bell, update_begin, update_end)
15927 (set_terminal_window, cursor_to, raw_cursor_to)
15928 (clear_to_end, clear_frame, clear_end_of_line)
15929 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
15930 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
15931 (syms_of_term): Move their initialization to terminal.c.
15932 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
15933 (Ftty_display_color_cells)
15934 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
15935 (clear_tty_hooks, set_tty_hooks)
15936 (init_tty, maybe_fatal): New functions.
15937 (Ftty_type): Return nil if terminal is not on a tty instead of
15938 throwing an error. Doc update.
15939 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
15940 Doc update. Initialize new subrs and variables.
15941 (delete_tty): Use terminal->deleted.
15942 (tty_set_terminal_modes): Rename from set_terminal_modes.
15943 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
15944 (set_scroll_region): Rename to `tty_set_scroll_region'.
15945 (turn_on_insert): Rename to `tty_turn_on_insert'.
15946 (turn_off_insert): Rename to `tty_turn_off_insert'.
15947 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
15948 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
15949 (toggle_highligh): Rename to `tty_toggle_highlight'.
15950 (background_highlight): Rename to `tty_background_highlight'.
15951 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
15952 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
15953 (tty_set_scroll_region, tty_background_highlight)
15954 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
15955 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
15956 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
15957 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
15958 Add static modifier.
15959 (tty_reset_terminal_modes, tty_set_terminal_window)
15960 (tty_set_scroll_region, tty_background_highlight)
15961 (tty_highlight_if_desired, tty_cursor_to)
15962 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
15963 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
15964 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
15965 renames.
15966
159672007-08-28 Jan Djärv <jan.h.d@swipnet.se>
15968
15969 * keyboard.c: Qrtl is new.
15970 (parse_tool_bar_item): Handle :rtl keyword.
15971 (syms_of_keyboard): Intern :rtl keyword.
15972
15973 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
15974
15975 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
15976 so no Lisp code is executed.
15977 (file_for_image, find_rtl_image): New functions.
15978 (xg_get_image_for_pixmap): Use file_for_image.
15979 (update_frame_tool_bar): If direction is RTL, use RTL image if
15980 defined. Use Gtk stock images if defined.
15981
159822007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15983
15984 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
15985 for nonexistent or zero-width glyph in composition glyph.
15986
159872007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
15988
15989 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
15990
15991 * xdisp.c (Finvisible_p): New function.
15992 (syms_of_xdisp): defsubr it.
15993
159942007-08-24 Juanma Barranquero <lekktu@gmail.com>
15995
15996 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
15997 Doc fixes.
15998
159992007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16000
16001 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
16002
160032007-08-24 Martin Rudalics <rudalics@gmx.at>
16004
16005 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
16006 whether decoding has modified buffer contents.
16007
160082007-08-24 Jason Rumney <jasonr@gnu.org>
16009
16010 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
16011 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
16012 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
16013 (init_svg_functions) [HAVE_NTGUI]: New function.
16014 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
16015 (svg_load_image): Use them.
16016 (svg_load_image) [HAVE_NTGUI]: Implement background.
16017
160182007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16019
16020 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
16021 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
16022 (LIBX): Remove @RSVG_LIBS@.
16023 (LIBES): Add $(RSVG_LIBS).
16024
16025 * image.c (svg_load_image): Blend with specified background if exists.
16026 Use IMAGE_BACKGROUND. Add Mac OS Support.
16027
16028 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
16029 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
16030 Remove macros.
16031 [MAC_OSX] (socket_callback): Do nothing.
16032 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
16033 ReceiveNextEvent.
16034 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
16035 socket_callback.
16036 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
16037
160382007-08-22 Glenn Morris <rgm@gnu.org>
16039
16040 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
16041
160422007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
16043
16044 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
16045
16046 * image.c: Add support for SVG images. Some additional comments
16047 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
16048 (svg_image_p): New function to test for SVG image.
16049 (svg_load): New function to load SVG image.
16050 (svg_load_image): New function, helper for svg_load.
16051 (Qsvg): New Lisp_object.
16052 (svg_keyword_index): New enum.
16053 (svg_format): New static `image_keyword' struct.
16054 (svg_type): New static `image_type' struct.
16055 (librsvg/rsvg.h): Include it.
16056
160572007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
16058
16059 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
16060
160612007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
16062
16063 * lread.c (Qold_style_backquotes): New var.
16064 (syms_of_lread): Init and staticpro it.
16065 (load_warn_old_style_backquotes): New fun.
16066 (Fload): Use them to warn about old style backquotes.
16067 (end_of_file_error, Fload): Remove unused vars.
16068
16069 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
16070
16071 * lread.c (Vold_style_backquotes): New var.
16072 (syms_of_lread): Init and export it to Elisp.
16073 (read1): Set it when we find an old-style (back)quote.
16074
160752007-08-22 Jason Rumney <jasonr@gnu.org>
16076
16077 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
16078
160792007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
16080
16081 * puresize.h (BASE_PURESIZE): Increase to 1140000.
16082
160832007-08-19 Richard Stallman <rms@gnu.org>
16084
16085 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
16086
160872007-08-19 Andreas Schwab <schwab@suse.de>
16088
16089 * alloc.c (pure): Round PURESIZE up.
16090
160912007-08-17 Jan Djärv <jan.h.d@swipnet.se>
16092
16093 * xterm.c (handle_one_xevent): Remove check that mouse click is in
16094 active frame.
16095
160962007-08-16 Richard Stallman <rms@gnu.org>
16097
16098 * eval.c (Fcommandp): Add parens to clarify.
16099
16100 * minibuf.c (Fall_completions): Use enum for type of table.
16101
16102 * emacs.c (USAGE2): Improve text.
16103
161042007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
16105
16106 * term.c (tty_default_color_capabilities): Declare static
16107 variables in file scope, to avoid HPUX compiler problem.
16108
161092007-08-13 Jan Djärv <jan.h.d@swipnet.se>
16110
16111 * gtkutil.c (update_frame_tool_bar): Use -1 as index
16112 to gtk_toolbar_insert.
16113
161142007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
16115
16116 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
16117
16118 * insdel.c (reset_var_on_error): New fun.
16119 (signal_before_change, signal_after_change):
16120 Use it to reset (after|before)-change-functions to nil in case of error.
16121 Bind inhibit-modification-hooks to t.
16122 Don't bind (after|before)-change-functions to nil while they run.
16123
161242007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16125
16126 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
16127 filling pixmap with stippled background.
16128
161292007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16130
16131 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
16132 Don't use invisible frame as parent window for repositioning.
16133
161342007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
16135
16136 * print.c (new_backquote_output): Rename from old_backquote_output.
16137 (print): Inverse its logic (according to its name) so as to match the
16138 behavior of new_backquote_flag in lread.c.
16139
161402007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16141
16142 * gmalloc.c (posix_memalign): New function.
16143
16144 * macterm.c (frame_highlight, frame_unhighlight): Don't call
16145 ActivateControl/DeactivateControl here.
16146 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
16147 frame-notice-user-settings is non-nil.
16148 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
16149 for kEventParamFMFontStyle.
16150 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
16151 mac_pass_command_to_system and mac_pass_control_to_system here.
16152 (XTread_socket): Call ActivateControl/DeactivateControl here.
16153 (XTread_socket) [TARGET_API_MAC_CARBON]:
16154 Check mac_pass_command_to_system and mac_pass_control_to_system here.
16155 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
16156 for window repositioning.
16157
161582007-08-08 Glenn Morris <rgm@gnu.org>
16159
16160 * Replace `iff' in doc-strings and comments.
16161
161622007-08-07 Chong Yidong <cyd@stupidchicken.com>
16163
16164 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
16165
161662007-08-07 Martin Rudalics <rudalics@gmx.at>
16167
16168 * fileio.c (Finsert_file_contents): Run format-decode and
16169 after_insert_file_functions on entire buffer when REPLACE is
16170 non-nil and inhibit modification_hooks and point_motion_hooks.
16171 For consistency, run after_insert_file_functions iff something
16172 got inserted. Move signal_after_change and update_compositions
16173 after code running after_insert_file_functions. Make sure that
16174 undo_list doesn't record intermediate steps of the decoding process.
16175
161762007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16177
16178 * emacs.c (main)
16179 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
16180 Call malloc_enable_thread on interactive startup.
16181
16182 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
16183 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
16184 [USE_PTHREAD]: Conditionalize with it.
16185 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
16186 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
16187 New functions.
16188
161892007-08-06 Chong Yidong <cyd@stupidchicken.com>
16190
16191 * xdisp.c (redisplay_window): When restoring original buffer
16192 position, make sure it is still valid.
16193
16194 * image.c (png_load): Ignore png-supplied background color.
16195
161962007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16197
16198 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
16199 Use kCFAbsoluteTimeIntervalSince1970.
16200
16201 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
16202 New variable.
16203 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
16204 event loop should be quit.
16205 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
16206 Quit dialog event loop if quit_dialog_event_loop is set.
16207
16208 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
16209 (Selection): New typedef. Use instead of ScrapRef.
16210 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
16211 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
16212 (mac_clear_selection): Rename from clear_scrap.
16213 (get_flavor_type_from_symbol): New argument SEL and subsume function of
16214 scrap_has_target_type. All uses changed.
16215 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
16216 (mac_selection_has_target_p): New functions.
16217 (mac_put_selection_value): Rename from put_scrap_string.
16218 (mac_get_selection_value): Rename from get_scrap_string.
16219 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
16220 (put_scrap_private_timestamp, scrap_has_target_type)
16221 (get_scrap_private_timestamp): Remove functions.
16222 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
16223 (x_own_selection, x_get_local_selection):
16224 Use mac_valid_selection_value_p.
16225 (x_own_selection): Don't use put_scrap_private_timestamp.
16226 Record OWNERSHIP-INFO into Vselection_alist instead.
16227 (x_get_local_selection): Don't check type if request is local.
16228 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
16229 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
16230
162312007-08-04 Jan Djärv <jan.h.d@swipnet.se>
16232
16233 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
16234 add comment explaining why.
16235
162362007-08-03 Richard Stallman <rms@gnu.org>
16237
16238 * fileio.c (Fvisited_file_modtime): Use make_time.
16239
162402007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
16241
16242 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
16243 build.
16244
162452007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
16246
16247 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
16248
162492007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
16250
16251 * puresize.h (BASE_PURESIZE): Increase to 1130000.
16252
162532007-07-30 Richard Stallman <rms@gnu.org>
16254
16255 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
16256
162572007-07-29 Jan Djärv <jan.h.d@swipnet.se>
16258
16259 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
16260
162612007-07-28 Nick Roberts <nickrob@snap.net.nz>
16262
16263 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
16264 remote default-directory.
16265
16266 * buffer.c (mode-line-format): Update doc string.
16267
162682007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16269
16270 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
16271 scroll bar gap.
16272 (x_scroll_bar_create): Set bar->fringe_extended_p.
16273 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
16274 on frame edge. Check fringe background extension. Don't clear
16275 extended fringe background area.
16276
16277 * w32term.h (struct scroll_bar): New member fringe_extended_p.
16278 (w32_fill_area): Enclose multiple statements with do ... while (0).
16279
16280 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
16281 Extend fringe background to scroll bar gap.
16282 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
16283 Set bar->fringe_extended_p.
16284 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
16285 Put leftmost/rightmost scroll bars on frame edge. Check fringe
16286 background extension. Don't clear extended fringe background area.
16287
16288 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
16289 New member fringe_extended_p.
16290
162912007-07-25 Glenn Morris <rgm@gnu.org>
16292
16293 * Relicense all FSF files to GPLv3 or later.
16294
16295 * COPYING: Switch to GPLv3.
16296
162972007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
16298
16299 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
16300
16301 * data.c (Finteractive_form): Check for the presence of an
16302 `interactive-form' symbol property more thoroughly.
16303
16304 * data.c (Finteractive_form): Use an `interactive-form' property if
16305 present, analogous to the function-documentation property.
16306
163072007-07-24 Jason Rumney <jasonr@gnu.org>
16308
16309 * w32fns.c (x_real_positions): Get real position from OS instead of
16310 calculating it.
16311
163122007-07-23 Jason Rumney <jasonr@gnu.org>
16313
16314 * filelock.c (current_lock_owner): Allow for @ sign in username.
16315
163162007-07-22 Nick Roberts <nickrob@snap.net.nz>
16317
16318 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
16319 remote default-directory.
16320
16321 * buffer.c (mode-line-format): Describe above case in doc string.
16322
163232007-07-20 Eli Zaretskii <eliz@gnu.org>
16324
16325 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
16326 Define if not defined.
16327
163282007-07-18 Jason Rumney <jasonr@gnu.org>
16329
16330 * w32proc.c (w32_executable_type): Handle 64 bit executables.
16331
163322007-07-18 Richard Stallman <rms@gnu.org>
16333
16334 * data.c (Fsetq_default): Doc fix.
16335
16336 * eval.c (Fsetq): Doc fix.
16337
163382007-07-18 Juanma Barranquero <lekktu@gmail.com>
16339
16340 * coding.c (Ffind_operation_coding_system):
16341 * eval.c (For, Fand): Doc fixes.
16342 Reported by Johan Bockgård.
16343
163442007-07-18 Jan Djärv <jan.h.d@swipnet.se>
16345
16346 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
16347
16348 * xterm.h: Declare x_ewmh_activate_frame.
16349
16350 * xterm.c (x_ewmh_activate_frame): New function.
16351 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
16352
163532007-07-17 Martin Rudalics <rudalics@gmx.at>
16354
16355 * window.c (Fdisplay_buffer): If largest or LRU window is the
16356 only window, split it even if it is not eligible for splitting.
16357 This restores the original behavior broken by the 2007-07-15
16358 change.
16359
163602007-07-17 Glenn Morris <rgm@gnu.org>
16361
16362 * abbrev.c (abbrev_check_chars): New function.
16363 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
16364 Call abbrev_check_chars to check abbrev characters are word
16365 constituents. Doc fix.
16366
163672007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
16368
16369 * process.c (Fstart_process, Fmake_network_process)
16370 (read_process_output): Fix up last changes.
16371
163722007-07-16 Eli Zaretskii <eliz@gnu.org>
16373
16374 * makefile.w32-in (clean): Don't delete *~.
16375
163762007-07-16 Andreas Schwab <schwab@suse.de>
16377
16378 * window.c (Fdisplay_buffer): Use NILP.
16379 (Fset_window_scroll_bars): Likewise.
16380
163812007-07-15 Martin Rudalics <rudalics@gmx.at>
16382
16383 * window.c (window_min_size_2): New function.
16384 (window_min_size_1, size_window, Fdisplay_buffer)
16385 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
16386 windows without mode- or header-lines when window-min-height is
16387 too small.
16388 (size_window): Reset nodelete_p after testing it, following an
16389 earlier note by Kim F. Storm.
16390 (display_buffer): Do not set split_height_threshold to twice the
16391 value of window_min_height to avoid changing the value of a
16392 customizable variable. Rather explicitly check whether the
16393 height of the window that shall be splitted is at least as large
16394 as split_height_threshold.
16395 (Fwindow_full_width_p): New defun.
16396 (syms_of_window): Defsubr it.
16397
16398 * window.h: Add EXFUN for Fwindow_full_width_p.
16399
164002007-07-14 Jason Rumney <jasonr@gnu.org>
16401
16402 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
16403
164042007-07-14 Richard Stallman <rms@gnu.org>
16405
16406 * eval.c (maybe_call_debugger): New function.
16407 (find_handler_clause): Use maybe_call_debugger.
16408 Call it when the handler says `debug'.
16409 Eliminate DEBUGGER_VALUE_PTR.
16410 (Fsignal): Eliminate debugger_value.
16411 (Qdebug): New variable.
16412 (syms_of_eval): Initialize it.
16413
164142007-07-14 Juanma Barranquero <lekktu@gmail.com>
16415
16416 * eval.c (Fprogn):
16417 * keyboard.c (Ftrack_mouse):
16418 * print.c (Fwith_output_to_temp_buffer):
16419 * window.c (Fsave_window_excursion): Doc fix.
16420
164212007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
16422
16423 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
16424
164252007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
16426
16427 * process.h (struct Lisp_Process): Turn slots infd, outfd,
16428 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
16429 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
16430 read_output_delay, and read_output_skip from Lisp_Objects to ints.
16431 Remove unused encoding_carryover.
16432 * process.c: Adjust all functions accordingly.
16433
164342007-07-12 Richard Stallman <rms@gnu.org>
16435
16436 * term.c: Include unistd.h only if HAVE_UNISTD_H.
16437
164382007-07-11 Jason Rumney <jasonr@gnu.org>
16439
16440 * makefile.w32-in (LIBS): Include OLE32.
16441
16442 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
16443 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
16444
164452007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
16446
16447 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
16448 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
16449 from a Lisp_Object into a bare pointer.
16450 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
16451 Adjust the code correspondingly.
16452
16453 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
16454
16455 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
16456 (term_show_mouse_face): Remove unused var `j'.
16457 (handle_one_term_event): Remove unused vars `i' and `j'.
16458 Don't cast return value of ttyname since it's not necessary.
16459
164602007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
16461
16462 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
16463 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
16464
16465 * fns.c (map_char_table): Use an array of int for `indices' rather than
16466 an array of Lisp_Objects (which are only ever integers anyway).
16467 (Fmap_char_table): Update caller.
16468 * lisp.h: Update prototype.
16469 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
16470 * fontset.c (Ffontset_info):
16471 * casetab.c (set_case_table): Update callers.
16472
16473 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
16474
16475 * keymap.c (struct accessible_keymaps_data)
16476 (struct where_is_internal_data): New structures.
16477 (accessible_keymaps_1, where_is_internal_1): Use them to change
16478 interface to adhere to the one used by map_keymap.
16479 (Faccessible_keymaps, where_is_internal): Use map_keymap.
16480 (accessible_keymaps_char_table, where_is_internal_2): Remove.
16481
16482 * keymap.h (map_keymap_function_t): More informative prototype.
16483
164842007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
16485
16486 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
16487 (looking_at_1): Don't change search_regs and last_thing_searched
16488 if `inhibit-changing-match-data' is non-nil.
16489 (string_match_1, search_buffer, set_search_regs): Likewise.
16490 (syms_of_search): Add Lisp level definition for
16491 `inhibit-changing-match-data' and set it to nil.
16492 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
16493 start and end of the match, instead of using values in search_regs.
16494
164952007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
16496
16497 * minibuf.c (Fcompleting_read): New value `confirm-only'
16498 for `require-match'.
16499
165002007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
16501
16502 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
16503 part of the 2007-06-27 change to syms_of_fileio.
16504
165052007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16506
16507 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
16508 Check WINDOWP before using XWINDOW. Consolidate return statements.
16509
165102007-06-27 Richard Stallman <rms@gnu.org>
16511
16512 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
16513
165142007-06-27 Juanma Barranquero <lekktu@gmail.com>
16515
16516 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
16517
165182007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16519
16520 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
16521 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
16522 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
16523 (_free_internal, memalign): Use them.
16524 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
16525 Initialize to PTHREAD_MUTEX_INITIALIZER.
16526 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
16527 (morecore_nolock): Rename from morecore. All uses changed.
16528 Use only nolock versions of internal allocation functions.
16529 (_malloc_internal_nolock, _realloc_internal_nolock)
16530 (_free_internal_nolock): New functions created from
16531 _malloc_internal, _realloc_internal, and _free_internal.
16532 (_malloc_internal, _realloc_internal, _free_internal): Use them.
16533 Copy hook value to automatic variable before its use.
16534 (memalign): Copy hook value to automatic variable before its use.
16535
165362007-06-26 Kenichi Handa <handa@m17n.org>
16537
16538 * coding.c (Ffind_operation_coding_system): Docstring improved.
16539 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
16540
165412007-06-25 David Kastrup <dak@gnu.org>
16542
16543 * keymap.c (Fcurrent_active_maps): Add `position' argument.
16544 (Fwhere_is_internal): Adjust call to `current-active-maps' to
16545 cater for additional parameter.
16546
16547 * keymap.h: Adjust number of parameters to `current-active-maps'.
16548
16549 * doc.c (Fsubstitute_command_keys): Adjust call of
16550 `current-active-maps'.
16551
165522007-06-25 David Kastrup <dak@gnu.org>
16553
16554 * callint.c (Fcall_interactively): Make the parsing of interactive
16555 specs somewhat more readable.
16556
165572007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16558
16559 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
16560 to scroll bar gap also when bitmap fills fringe. Draw only foreground
16561 if extended background has already been filled.
16562
165632007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16564
16565 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
16566 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
16567
16568 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
16569 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
16570 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
16571 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
16572 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
16573 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
16574 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
16575 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
16576 Run timers during dialog popup.
16577 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
16578
165792007-06-21 Jason Rumney <jasonr@gnu.org>
16580
16581 * image.c (convert_mono_to_color_image): Swap fore and background.
16582
165832007-06-20 Jason Rumney <jasonr@gnu.org>
16584
16585 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
16586 (w32_free_bdf_font): Unmap memory not handle.
16587
165882007-06-20 Sam Steingold <sds@gnu.org>
16589
16590 * gmalloc.c (__morecore): Fix the declaration to comply with the
16591 definition.
16592
165932007-06-20 Juanma Barranquero <lekktu@gmail.com>
16594
16595 * w32term.c (w32_delete_display): Remove leftover declaration.
16596 (w32_define_cursor, w32_initialize): Make static.
16597
16598 * w32.c (_wsa_errlist): Fix typo in error message.
16599 (init_environment): Ignore any environment variable from the
16600 registry having a null value.
16601
166022007-06-20 Glenn Morris <rgm@gnu.org>
16603
16604 * Makefile.in (LIBGIF): Default to -lgif.
16605
166062007-06-17 Jason Rumney <jasonr@gnu.org>
16607
16608 * w32menu.c (add_menu_item): Don't use multibyte string functions on
16609 unicode strings.
16610
166112007-06-16 Juanma Barranquero <lekktu@gmail.com>
16612
16613 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
16614 Fix typo in docstring.
16615
166162007-06-16 Eli Zaretskii <eliz@gnu.org>
16617
16618 * w32menu.c (add_menu_item): Escape `&' characters in menu items
16619 and their keybindings.
16620
166212007-06-15 Chong Yidong <cyd@stupidchicken.com>
16622
16623 * composite.c (update_compositions): Fix last fix.
16624
166252007-06-14 Jason Rumney <jasonr@gnu.org>
16626
16627 * w32.c (get_process_times_fn): New function pointer.
16628 (globals_of_w32): Intialize it if present in kernel32.dll.
16629 (w32_get_internal_run_time): New function.
16630
16631 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
16632
166332007-06-14 Kenichi Handa <handa@etlken.m17n.org>
16634
16635 * composite.c (update_compositions): Check the validness of
16636 compositions.
16637
166382007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16639
16640 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
16641 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
16642
16643 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
16644 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
16645
16646 * macgui.h (USE_MAC_TOOLBAR): New define.
16647
16648 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
16649 Return immediately unless popup is activated.
16650
16651 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
16652 background to scroll bar gap.
16653 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
16654 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
16655 scroll bars on frame edge. Check fringe background extension.
16656 Don't clear extended fringe background area.
16657 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
16658 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
16659 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
16660 [USE_MAC_TOOLBAR]: New macros.
16661 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
16662 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
16663 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
16664 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
16665 [USE_MAC_TOOLBAR]: New functions.
16666 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
16667 manually if previous repositioning has failed.
16668 (mac_handle_keyboard_event): Use precomputed event kind.
16669 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
16670 as tool bar item click. Handle mouse movement over tool bar items.
16671
16672 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
16673 toolbar_win_gravity.
16674 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
16675 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
16676 Add externs.
16677
16678 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
16679 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
16680
166812007-06-14 Chong Yidong <cyd@stupidchicken.com>
16682
16683 * image.c (search_image_cache): Remove unused variable.
16684
166852007-06-13 Chong Yidong <cyd@stupidchicken.com>
16686
16687 * xfns.c, xmenu.c: Link to xaw3d if available.
16688
166892007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16690
16691 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
16692 frame_foreground and frame_background.
16693
16694 * image.c (lookup_image): Save frame foreground and background colors.
16695 (search_image_cache): Check if saved and current frame colors match.
16696
166972007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
16698
16699 * regex.c (regex_compile): Remove the `regnum' counter.
16700 Use bufp->re_nsub instead. Add support for \(?N:RE\).
16701
167022007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
16703
16704 * term.c: Include intervals.h to declare Fget_text_property.
16705
167062007-06-10 Jason Rumney <jasonr@gnu.org>
16707
16708 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
16709
167102007-06-08 Juanma Barranquero <lekktu@gmail.com>
16711
16712 * callint.c (Fcall_interactively):
16713 * editfns.c (Fdelete_and_extract_region):
16714 * fileio.c (Fread_file_name):
16715 * fns.c (Fmapconcat):
16716 * keyboard.c (cmd_error_internal):
16717 * keymap.c (Fkey_description):
16718 * lread.c (openp):
16719 * minibuf.c (read_minibuf):
16720 * search.c (wordify):
16721 * sunfns.c (sel_read):
16722 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
16723 * xfns.c (x_default_scroll_bar_color_parameter):
16724 * xmenu.c (menu_help_callback):
16725 * xselect.c (Fx_get_atom_name):
16726 * xterm.c (x_term_init): Use empty_unibyte_string.
16727
167282007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
16729
16730 * alloc.c (init_strings): Initialize canonical empty strings.
16731 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
16732 canonical empty string when the requested size is 0.
16733
16734 * emacs.c (empty_unibyte_string): Rename from empty_string.
16735 (empty_multibyte_string): New canonical empty string.
16736 (syms_of_emacs): Don't initialize empty_string.
16737
16738 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
16739 string, if appropriate.
16740 (empty_unibyte_string, empty_multibyte_string): New externs.
16741 (empty_string): Remove extern.
16742
16743 * lread.c (syms_of_lread): Use empty_unibyte_string.
16744
167452007-06-07 Jason Rumney <jasonr@gnu.org>
16746
16747 * s/ms-w32.h: Don't define HAVE_TZNAME.
16748
16749 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
16750
167512007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16752
16753 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
16754
16755 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
16756 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
16757
16758 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
16759 Don't call next handler.
16760 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
16761 Remove argument. Install handler to application.
16762 (set_frame_menubar): Don't change deep_p.
16763 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
16764 FRAME_OUTER_TO_INNER_DIFF_Y.
16765 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
16766 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
16767 [HAVE_DIALOGS]: New macros.
16768 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
16769 Use them.
16770 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
16771
16772 * macselect.c [MAC_OSX] (install_service_handler): Rename from
16773 init_service_handler. All callers changed. Return OSStatus value.
16774
16775 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
16776 All callers changed so as not to call SetPortWindowPort.
16777 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
16778 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
16779 mac_draw_string_common.
16780 (mac_draw_image_string_qd): Likewise.
16781 (mac_draw_string_common): Use them. Add INLINE.
16782 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
16783 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
16784 GetGlobalMouse.
16785 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
16786 and FRAME_OUTER_TO_INNER_DIFF_Y.
16787 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
16788 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
16789 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
16790 repositioning window to mac_handle_window_event.
16791 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
16792 saving window location to mac_handle_window_event
16793 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
16794 (install_menu_target_item_handler): Remove argument in extern.
16795 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
16796 Also accept command events.
16797 (do_keystroke): New function created from XTread_socket.
16798 (init_command_handler): Remove functions.
16799 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
16800 and save window location by kEventWindowShowing and kEventWindowHiding
16801 handlers here. Don't call next handler for window state change and
16802 focus events.
16803 (mac_handle_application_event, mac_handle_keyboard_event)
16804 [TARGET_API_MAC_CARBON]: New functions.
16805 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
16806 kEventWindowShowing and kEventWindowHiding events. Move installation
16807 of mouse, font, text input and menu target item handlers to
16808 install_application_handler.
16809 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
16810 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
16811 New function.
16812 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
16813 Register it.
16814 (XTread_socket) [TARGET_API_MAC_CARBON]:
16815 Consolidate SendEventToEventTarget calls.
16816 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
16817 Move application activation handler to mac_handle_application_event.
16818 Move keyboard handler to mac_handle_keyboard_event.
16819 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
16820 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
16821 init_command_handler. Call install_application_handler.
16822
16823 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
16824 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
16825
168262007-06-07 Glenn Morris <rgm@gnu.org>
16827
16828 * emacs.c (main): Use `emacs-copyright' in --version output.
16829
168302007-06-06 Chong Yidong <cyd@stupidchicken.com>
16831
16832 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
16833
168342007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16835
16836 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
16837
16838 * macgui.h: Replace WindowPtr with WindowRef.
16839
16840 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
16841 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
16842 Replace ControlHandle with ControlRef.
16843 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
16844
16845 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
16846 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
16847 Replace ControlHandle with ControlRef.
16848 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
16849 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
16850
16851 * macterm.h (struct scroll_bar): Rename member control_handle_low
16852 and control_handle_high to control_ref_low and control_ref_high.
16853 All uses changed.
16854 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
16855 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
16856 respectively. All uses changed.
16857 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
16858 (install_window_handler, remove_window_handler): Replace WindowPtr
16859 with WindowRef in externs.
16860
168612007-06-05 Juanma Barranquero <lekktu@gmail.com>
16862
16863 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
16864
168652007-06-03 Nick Roberts <nickrob@snap.net.nz>
16866
16867 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
16868
16869 * frame.c (Fmouse_position, Fmouse_pixel_position):
16870 Condition on HAVE_GPM too.
16871
16872 * term.c (term_mouse_highlight): Remove unused variables.
16873 (Fterm_open_connection): Set gpm_zerobased to 1.
16874 (term_mouse_movement, term_mouse_click, handle_one_term_event):
16875 Use zero based co-ordinates.
16876 (handle_one_term_event): Report a drag as mouse movement too.
16877
16878 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
16879
168802007-06-03 Chong Yidong <cyd@stupidchicken.com>
16881
16882 * image.c (search_image_cache): New function. Require background
16883 color match if background color is unspecified in the image spec.
16884 (uncache_image, lookup_image): Use it.
16885
168862007-06-01 Juanma Barranquero <lekktu@gmail.com>
16887
16888 * window.c (Fshrink_window): Reflow docstring.
16889
168902007-06-02 Chong Yidong <cyd@stupidchicken.com>
16891
16892 * Version 22.1 released.
16893
168942007-06-01 Richard Stallman <rms@gnu.org>
16895
16896 * xfns.c (x_encode_text): Add GCPRO.
16897
168982007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16899
16900 * xfns.c (x_set_name_internal): Save encoded name before
16901 x_encode_text in case string data is relocated.
16902
169032007-05-31 Richard Stallman <rms@gnu.org>
16904
16905 * buffer.c (syms_of_buffer): Doc fix.
16906
169072007-05-30 Nick Roberts <nickrob@snap.net.nz>
16908
16909 * sysdep.c (init_sys_modes): Add rather than replace with
16910 O_NONBLOCK.
16911
16912 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
16913 term_mouse_moveto.
16914
16915 * termhooks.h (term_mouse_moveto): New extern.
16916
16917 * term.c (mouse_face_window): Rename...
16918 (Qmouse_face_window): ...to this.
16919 (term_show_mouse_face, term_clear_mouse_face)
16920 (term_mouse_highlight): Use Qmouse_face_window.
16921 (term_mouse_moveto): New function.
16922 (term_mouse_position): Make it work.
16923 (syms_of_term): Uncomment assignment to mouse_position_hook.
16924 Staticpro Qmouse_face_window.
16925
169262007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16927
16928 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
16929 around current_column call.
16930
169312007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
16932
16933 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
16934 * xdisp.c (next_element_from_buffer):
16935 * window.c (delete_window):
16936 * term.c (term_mouse_highlight):
16937 * msdos.c (getdefdir):
16938 * macterm.c (mac_create_bitmap_from_bitmap_data)
16939 (init_font_name_table):
16940 * fns.c (Fsxhash):
16941 * data.c (Fmake_local_variable):
16942 * ccl.c (ccl_driver): Likewise.
16943
169442007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16945
16946 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
16947 Call mac_wakeup_from_rne on window size change.
16948
169492007-05-25 Chong Yidong <cyd@stupidchicken.com>
16950
16951 * image.c (uncache_image): Fix typo.
16952
169532007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
16954
16955 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
16956
169572007-05-22 Richard Stallman <rms@gnu.org>
16958
16959 * xterm.c (x_connection_closed): Remove NO_RETURN.
16960
169612007-05-22 Martin Rudalics <rudalics@gmx.at>
16962
16963 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
16964
169652007-05-21 Chong Yidong <cyd@stupidchicken.com>
16966
16967 * image.c (uncache_image): New function.
16968 (Fimage_refresh): New function.
16969
169702007-05-20 Jan Djärv <jan.h.d@swipnet.se>
16971
16972 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
16973
169742007-05-20 Nick Roberts <nickrob@snap.net.nz>
16975
16976 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
16977 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
16978
169792007-05-20 Nick Roberts <nickrob@snap.net.nz>
16980
16981 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
16982 conditional on [HAVE_GPM_H].
16983
169842007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
16985
16986 * syntax.c (skip_chars): Update syntax-table only after we checked that
16987 the new location is valid.
16988
169892007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16990
16991 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
16992 mac_get_window_bounds.
16993
169942007-05-20 Nick Roberts <nickrob@snap.net.nz>
16995
16996 * Makefile.in (LIBGPM): Allow it to be set from configure.
16997 If set then link Emacs with it.
16998
16999 * config.in: Regenerate.
17000
17001 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
17002 New externs.
17003
17004 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
17005 Include gpm.h.
17006 (handle_one_term_event, term_gpm): New externs.
17007
17008 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
17009 and allow it to be interrupted by SIGIO.
17010
17011 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
17012 (wait_reading_process_output): Wait on gpm_fd too.
17013 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
17014 (add_gpm_wait_descriptor_called_flag): New variable.
17015 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
17016
17017 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
17018 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
17019 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
17020 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
17021 (make_lispy_event): Add case GPM_CLICK_EVENT.
17022 (read_avail_input): Handle mouse input.
17023
17024 * term.c (write_glyphs_with_face): New function.
17025 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
17026 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
17027 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
17028 (mouse_face_face_id, term_gpm, pos_x, pos_y)
17029 (last_mouse_x, last_mouse_y): New variables.
17030 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
17031 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
17032 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
17033 (Fterm_close_connection): New functions.
17034 (term_init): Initialise mouse_face_window.
17035
170362007-05-19 Chong Yidong <cyd@stupidchicken.com>
17037
17038 * xdisp.c (redisplay_window): If first window line is a
17039 continuation line, recompute the new window start instead of
17040 recentering.
17041
170422007-05-18 Glenn Morris <rgm@gnu.org>
17043
17044 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
17045 Suggested by Alfred M. Szmidt <ams@gnu.org>.
17046
170472007-05-17 Glenn Morris <rgm@gnu.org>
17048
17049 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
17050
170512007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17052
17053 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
17054 dead key repeat and up events.
17055
170562007-05-14 Chong Yidong <cyd@stupidchicken.com>
17057
17058 * image.c (pbm_load): Check image size for monochrome pbm.
17059
170602007-05-13 Chong Yidong <cyd@stupidchicken.com>
17061
17062 * xterm.c (XTread_socket): Revert last change.
17063
170642007-05-12 Chong Yidong <cyd@stupidchicken.com>
17065
17066 * image.c (pbm_load): Correctly check image size for greyscale pbm.
17067
17068 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
17069
170702007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
17071
17072 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
17073 mixup (YAILOM).
17074
170752007-05-07 Andreas Schwab <schwab@suse.de>
17076
17077 * keymap.c (Flookup_key): Fix typo in last change.
17078
170792007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
17080
17081 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
17082 mapping for unibyte strings.
17083
170842007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17085
17086 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
17087 (Fx_popup_dialog) [MAC_OSX]: Likewise.
17088
170892007-04-29 Richard Stallman <rms@gnu.org>
17090
17091 * insdel.c (replace_range): For undo, record insertion first.
17092
170932007-04-29 Andreas Schwab <schwab@suse.de>
17094
17095 * lisp.h (VECSIZE): Use OFFSETOF.
17096
170972007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17098
17099 * xdisp.c (try_window_reusing_current_matrix): Fix number of
17100 disabled lines.
17101
171022007-04-28 Richard Stallman <rms@gnu.org>
17103
17104 * lread.c (read_escape): In a string, \s is always space.
17105
171062007-04-27 Jan Djärv <jan.h.d@swipnet.se>
17107
17108 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
17109
17110 * gtkutil.c (xg_update_menubar, create_menus): Create empty
17111 submenu for menu bar items.
17112
17113See ChangeLog.10 for earlier changes.
17114
17115;; Local Variables:
17116;; coding: utf-8
17117;; add-log-time-zone-rule: t
17118;; bug-reference-url-format: "http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=%s"
17119;; End:
17120
76b6f707 17121 Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
aac0c6e3
MR
17122
17123 This file is part of GNU Emacs.
17124
17125 GNU Emacs is free software: you can redistribute it and/or modify
17126 it under the terms of the GNU General Public License as published by
17127 the Free Software Foundation, either version 3 of the License, or
17128 (at your option) any later version.
17129
17130 GNU Emacs is distributed in the hope that it will be useful,
17131 but WITHOUT ANY WARRANTY; without even the implied warranty of
17132 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17133 GNU General Public License for more details.
17134
17135 You should have received a copy of the GNU General Public License
17136 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
17137
17138;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40