* descr-text.el (describe-char-categories): New defsubst.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
e301e634
CY
12009-01-19 Chong Yidong <cyd@stupidchicken.com>
2
3 * fns.c (Fsubstring): Doc fix.
4
1c0db158
KH
52009-01-19 Kenichi Handa <handa@m17n.org>
6
7 * ftfont.c (ftfont_lookup_cache): Check the return value of
8 FcFontList.
9 (ftfont_list): Likewise.
10
acf20901
JB
112009-01-18 Juanma Barranquero <lekktu@gmail.com>
12
fff4e459
JB
13 * dbusbind.c (Fdbus_register_signal):
14 * process.c (conv_sockaddr_to_lisp):
15 * w32fns.c (Fw32_battery_status): Use empty_unibyte_string.
16
acf20901
JB
17 * callproc.c (Fgetenv_internal): Doc fix.
18
e7abcdfb
CY
192009-01-16 Chong Yidong <cyd@stupidchicken.com>
20
21 * xfns.c (x_make_gc): Don't allocate stipple member for gc_values;
22 it is not even used.
23
b60861e6
GM
242009-01-16 Glenn Morris <rgm@gnu.org>
25
26 * font.c (Ffont_variation_glyphs): Silence compiler.
27
8db52afe
JB
282009-01-15 Juanma Barranquero <lekktu@gmail.com>
29
30 * sound.c (SOUND_WARNING): Use _snprintf, for MSVC compatibility.
31 Reported by David Robinow <drobinow@gmail.com>.
32
4cddb209
KH
332009-01-15 Kenichi Handa <handa@m17n.org>
34
35 * coding.c (detect_coding_system): Fix handling of
36 null_byte_found.
37
f247f67b
JR
382009-01-14 Jason Rumney <jasonr@gnu.org>
39
40 * frame.c (x_set_font): Always store a font to the font parameter,
fff4e459 41 never a fontset. (Bug#1562)
f247f67b 42
f56a4450
KH
432009-01-14 Kenichi Handa <handa@m17n.org>
44
45 * coding.c (TWO_MORE_BYTES): New macro.
fff4e459 46 (detect_coding_utf_16): Use TWO_MORE_BYTES instead of ONE_MORE_BYTE.
f56a4450 47
4e99855e
CY
482009-01-13 Chong Yidong <cyd@stupidchicken.com>
49
50 * font.c (font_clear_prop): If clearing the family, clear the font
51 width index too.
52
fff4e459 53 * xfaces.c (Finternal_set_lisp_face_attribute): Revert last change.
4e99855e 54
24f01470
JB
552009-01-12 Juanma Barranquero <lekktu@gmail.com>
56
57 * sound.c [WINDOWSNT] (SOUND_WARNING): New macro.
58 (do_play_sound): Use it. Don't pass a hardcoded buffer size to mci
59 functions, use sizeof.
60
a41240a3
MR
612009-01-12 Martin Rudalics <rudalics@gmx.at>
62
63 * keyboard.c (read_char): Fix case where last_nonmenu_event
64 returned a bad value with submenus. (Bug#447)
65
944636b8
CY
662009-01-12 Chong Yidong <cyd@stupidchicken.com>
67
68 * xfaces.c (Finternal_set_lisp_face_attribute): If setting the
69 family, clear the font width index too.
70
0dad7c6f
JR
712009-01-11 Jason Rumney <jasonr@gnu.org>
72
73 * keyboard.c (cmd_error_internal): Exit when errors occur before
74 frame creation and not in daemon mode. (Bug#1836)
75
7c2363af
CY
762009-01-10 Chong Yidong <cyd@stupidchicken.com>
77
78 * xdisp.c (pos_visible_p): When iterator stops on the last glyph
79 of a display vector, backtrack.
80 (try_window_reusing_current_matrix): Check glyph type before
81 referencing charpos member.
82
97b1b294
EZ
832009-01-10 Eli Zaretskii <eliz@gnu.org>
84
85 Fix Bug #876:
86
87 * coding.c (inhibit_null_byte_detection): New variable.
88 (detect_coding, detect_coding_system): Don't pay attention to null
89 bytes if inhibit_null_byte_detection is non-zero.
90 (syms_of_coding) <inhibit-null-byte-detection>: Declare and
91 document.
92 <inhibit-iso-escape-detection>: Doc fix.
93
4624b6e3
JR
942009-01-09 Jason Rumney <jasonr@gnu.org>
95
96 * w32font.c (add_font_entity_to_list): Don't report unknown
fff4e459 97 Windows charset as any unrecognized registry. (Bug#1548)
4624b6e3
JR
98 Only report Unicode Plane 2 fonts as unicode-sip.
99
323b840c
CY
1002009-01-09 Chong Yidong <cyd@stupidchicken.com>
101
102 * xfaces.c (Fx_font_family_list): Function deleted. Compatibility
103 version moved to faces.el.
104
105 * font.c (Ffont_family_list): Return a list of strings, not
106 symbols.
107
eba7400d
MR
1082009-01-09 Martin Rudalics <rudalics@gmx.at>
109
110 * frame.c (x_set_frame_parameters): Remember requested value for
111 fullscreen before it's reset by the parameter handler.
112
4b09796d
GM
1132009-01-09 Glenn Morris <rgm@gnu.org>
114
115 * keyboard.c (last_command_char): For clarity, rename to...
116 (last_command-event): ... and update all users.
117 (last_input_char): For clarity, rename to...
118 (last_input_event): ... and update all users.
119 (last-command-char, last-input-char): Move to subr.el as aliases.
120 * cmds.c, commands.h: Update for last_command_char rename.
121
14ccea62
CY
1222009-01-08 Chong Yidong <cyd@stupidchicken.com>
123
124 * font.c (font_open_for_lface): Handle unspecified height
125 attribute.
126
5f004711
JR
1272009-01-08 Jason Rumney <jasonr@gnu.org>
128
129 * w32fns.c (Vx_pointer_shape, Vx_nontext_pointer_shape)
130 (Vx_mode_pointer_shape, Vx_window_horizontal_drag_shape)
131 (Vx_hourglass_pointer_shape, Vx_sensitive_text_pointer_shape):
132 Don't declare.
fff4e459 133 (syms_of_w32fns): Don't define x-pointer-shape variable. (Bug#1485)
5f004711
JR
134 (x_create_tip_frame) [GLYPH_DEBUG]: Enable image debugging code.
135
b71f6f73
KH
1362009-01-07 Kenichi Handa <handa@m17n.org>
137
50b06221 138 * fileio.c (Finsert_file_contents): In the case of replace,
f56a4450 139 remember the coding system used for decoding in
50b06221
KH
140 coding_system (Bug#1039).
141
b71f6f73 142 * coding.c (decode_coding_utf_8): Check byte_after_cr before
79a97217 143 breaking the loop. (Bug#870)
b71f6f73
KH
144 (decode_coding_utf_16, decode_coding_emacs_mule)
145 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
146 (decode_coding_charset): Likewise.
147
56f668f7
MR
1482009-01-05 Martin Rudalics <rudalics@gmx.at>
149
150 * frame.c (x_set_frame_parameters): Make sure height (width) get
151 applied when fullwidth (fullheight) is set. (Bug#1522)
152
5da9424d
JB
1532009-01-04 Juanma Barranquero <lekktu@gmail.com>
154
155 * w32.c: Use 64-bit arithmetic to do FILETIME conversions. (Bug#1766)
156 (utc_base): Declare as ULONGLONG, not long double.
157 (convert_time_raw): Delete.
158 (FILETIME_TO_U64, U64_TO_LISP_TIME): New macros.
159 (initialize_utc_base): New function.
160 (convert_time): Use FILETIME_TO_U64, initialize_utc_base.
161 (convert_from_time_t): Use initialize_utc_base; compute result with
162 64-bit arithmetic.
163 (process_times): Use FILETIME_TO_U64, U64_TO_LISP_TIME.
164
c4605e09
EZ
1652009-01-03 Eli Zaretskii <eliz@gnu.org>
166
9acef61c 167 * process.c (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess)
c4605e09
EZ
168 (Qttname, Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime)
169 (Qcutime, Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs)
170 (Quser, Qgroup, Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime)
171 [!subprocesses]: Define.
172 (syms_of_process) [!subprocesses]: Intern and staticpro them.
173 (Flist_system_processes, Fsystem_process_attributes)
174 [!subprocesses]: Call list_system_processes and
175 system_process_attributes instead of returning Qnil.
176
9acef61c
JB
177 * dosfns.c (system_process_attributes, list_system_processes):
178 New functions.
c4605e09
EZ
179
180 * vm-limit.c (ret_lim_data) [MSDOS]: New function.
181
182 * sysdep.c (list_system_processes, system_process_attributes) [MSDOS]:
183 Don't use the default (no-op) implementation.
184
8b7d0a16
JR
1852009-01-03 Jason Rumney <jasonr@gnu.org>
186
a6d46bc1
JR
187 * keyboard.c (parse_modifiers_uncached): Wheel events are
188 clicks (bug#687).
189
8b7d0a16
JR
190 * w32term.c (x_query_colors, x_query_color): New functions.
191
192 * image.c (x_to_xcolors, png_load): Eliminate W32 specific code.
193 (svg_load_image): Cast returned pointers from dynamically loaded
194 functions. Eliminate W32 specific code.
195
bfe11752
DN
1962009-01-02 Dan Nicolaescu <dann@ics.uci.edu>
197
89e2438a
DN
198 * nsfns.m (x_set_foreground_color, x_set_background_color)
199 (x_set_cursor_color, x_set_icon_name, x_explicitly_set_name)
200 (x_set_title, x_set_icon_type, x_set_cursor_type): Rename to use
201 x_ prefix instead of ns_. Update references.
202 (syms_of_nsfns): Add a FIXME comment.
203
204 * nsterm.m (x_set_cursor_type): New prototype.
205 (setValuesFromPanel): Use it instead of the old ns_ prefixed name.
206
bfe11752
DN
207 * sysdep.c (system_process_attributes): Provide Qtime and Qctime
208 for Solaris instead of incorrectly providing Qutime and Qcutime.
209
031da700
EZ
2102009-01-02 Eli Zaretskii <eliz@gnu.org>
211
212 * w32.c (process_times): Compute sum of utime and stime.
213 (system_process_attributes): Add Qtime to the alist.
214
215 * sysdep.c (system_process_attributes): Compute Qtime and Qctime
216 and add them to the alist.
217
218 * process.c (top level) <Qtime, Qctime>: New variables.
219 (syms_of_process): staticpro them.
220 (Fsystem_process_attributes): Add their documentation to the doc
221 string.
222
223 * process.h: Declare Qtime and Qctime.
224
df23bf08
JR
2252009-01-02 Jason Rumney <jasonr@gnu.org>
226
9acef61c 227 * image.c (Qgobject): New symbol.
df23bf08
JR
228 (syms_of_image): Initialize it.
229 (init_svg_functions): Load some functions from gobject library.
230
5bbdf7aa
DN
2312009-01-01 Dan Nicolaescu <dann@ics.uci.edu>
232
233 * frame.c (make_terminal_frame): Remove redundant code and useless
234 block.
235
63136da6
AS
2362009-01-01 Andreas Schwab <schwab@suse.de>
237
238 * process.c (conv_sockaddr_to_lisp): Add workaround for
239 getsockname bug on BSD.
240
9ef69046
CY
2412009-01-01 Chong Yidong <cyd@stupidchicken.com>
242
d6fafbe0
CY
243 * xfns.c (x_create_tip_frame): Set border width of the X window.
244
9ef69046
CY
245 * xfaces.c (Finternal_set_lisp_face_attribute): Improve error
246 message.
247
f9c34147
JR
2482009-01-01 Jason Rumney <jasonr@gnu.org>
249
9acef61c 250 * w32term.c (x_new_font): Return font object, not fontset. (Bug#119)
f9c34147
JR
251 Don't block input, as per earlier xterm.c changes.
252
f5497e45
AR
2532008-12-31 Adrian Robert <Adrian.B.Robert@gmail.com>
254
255 * nsfns.m (ns_appkit_version_str): Rename from ns_appkit_version.
256 (ns_appkit_version_int): New function.
257 (x-server-version): Use ns_appkit_version_int and follow 21+
258 convention of returning 3 integers.
259
c19cab20
KH
2602008-12-30 Kenichi Handa <handa@m17n.org>
261
262 * character.h (CHAR_VARIATION_SELECTOR_P): New macro.
263 (CHAR_SURROGATE_PAIR_P): New macro.
264
265 * font.h (struct font_driver): New member get_variation_glyphs.
266
9acef61c 267 * font.c (font_range): Don't require a font for a variation selector.
c19cab20
KH
268 (Ffont_variation_glyphs): New function.
269 (syms_of_font): Defsubr it.
270
271 * ftfont.c (ftfont_driver): Set the member get_variation_glyphs to
272 ftfont_variation_glyphs.
273 (setup_otf_gstring): New function.
274 (ftfont_drive_otf): Use it.
275 (ftfont_shape_by_flt): Handle variation selector.
276 (ftfont_variation_glyphs): New function.
277
28cd591f
MR
2782008-12-30 Martin Rudalics <rudalics@gmx.at>
279
280 * frame.c (Vemacs_iconified): Remove.
281
7f714baf
JR
2822008-12-30 Jason Rumney <jasonr@gnu.org>
283
284 * frame.c (store_frame_param, x_get_arg): Enable newer code on
9acef61c 285 WINDOWSNT too, as related changes have already been synced. (Bug#117)
7f714baf 286
9d2d22ab
CY
2872008-12-30 Chong Yidong <cyd@stupidchicken.com>
288
289 * indent.c (Fvertical_motion): Don't advance iterator if we have
290 reseated to the desired position.
291
292 * xdisp.c (move_it_to): Handle GET_FROM_STRETCH method when
293 checking for pos match.
294
545312c2
KH
2952008-12-30 Kenichi Handa <handa@m17n.org>
296
1ede3eb6
KH
297 * insdel.c (copy_text): To convert a non-ASCII char to unibyte,
298 just get the low 8-bit of the code.
299
545312c2
KH
300 * font.c (font_intern_prop): Validate str as multibyte.
301
bd7bbf29
DN
3022008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
303
31e0750e
DN
304 * dispextern.h (struct face): Move lface and hash from the middle
305 of bitfields.
306
bd7bbf29
DN
307 * Makefile.in (INTERVALS_H): Rename from INTERVAL_SRC, update all users.
308
b5672e7c
DN
3092008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
310
311 * Makefile.in (INTERVAL_SRC): Also depend on dispextern.h.
312 (coding.o, dispnew.o, keymap.o, msdos.o): Depend on INTERVAL_SRC
313 instead of intervals.h.
314
d704470f
AS
3152008-12-26 Andreas Schwab <schwab@suse.de>
316
317 * keymap.c (map_keymap_char_table_item): Make a copy of KEY if it is a
318 cons.
319
54b33868
MR
3202008-12-26 Martin Rudalics <rudalics@gmx.at>
321
322 * textprop.c (Qminibuffer_prompt): New variable.
323 (syms_of_textprop): Initialize it.
324 * callint.c (Fcall_interactively): For `c', `k', and `K' prompt
325 in minibuffer-prompt face. (Bug#1662)
326
40b615d6
JR
3272008-12-25 Jason Rumney <jasonr@gnu.org>
328
329 * buffer.c (Fbuffer_swap_text): Use POINTER_TYPE.
330
baae5c2d
JR
3312008-12-24 Jason Rumney <jasonr@gnu.org>
332
333 * ralloc.c (r_alloc_reset_variable): New function.
334
335 * buffer.c (Fbuffer_swap_text) [REL_ALLOC]: Reset ralloc's internal
9acef61c 336 record of what points where. (Bug#716)
baae5c2d 337
a9051c88
DN
3382008-12-22 Dan Nicolaescu <dann@ics.uci.edu>
339
340 * minibuf.c (read_minibuf): Follow the non-interactive case when
341 running as a daemon, before detaching.
342
8b146312
AS
3432008-12-22 Andreas Schwab <schwab@suse.de>
344
345 * buffer.c (init_buffer): Use realloc instead of xrealloc.
346 * gtkutil.c (free_widget_value): Use xfree instead of free.
347
56f2de10
MR
3482008-12-22 Martin Rudalics <rudalics@gmx.at>
349
350 * frame.c (delete_frame): New function derived from
351 Fdelete_frame to handle Qnoelisp value for FORCE argument.
352 Delete last frame iff FORCE equals Qnoelisp. (Bug#1450)
353 (Fdelete_frame): Call delete_frame. Remove line from doc-string
354 saying that FORCE non-nil doesn't run `delete-frame-functions'.
355 * frame.h: Extern delete_frame.
356 * window.c (window_loop):
357 * terminal.c (delete_terminal):
358 * xterm.c (x_connection_closed):
359 * xfns.c (Fx_hide_tip):
9acef61c 360 * w32fns.c (Fx_hide_tip): Call delete_frame instead of Fdelete_frame.
56f2de10 361
1fc200d6
JR
3622008-12-21 Jason Rumney <jasonr@gnu.org>
363
364 * w32uniscribe.c (uniscribe_encode_char): Return FONT_INVALID_CHAR
365 when character maps to .notdef character.
366
5e252df2
SM
3672008-12-21 Stefan Monnier <monnier@iro.umontreal.ca>
368
369 * keyboard.c (cmd_error_internal): Don't exit in daemon mode, bug#1310.
370
99b72cc4
JR
3712008-12-20 Jason Rumney <jasonr@gnu.org>
372
373 * frame.c (Fmake_terminal_frame): Raise an error when called from
9acef61c 374 a graphical frame on Windows. (Bug#1325)
99b72cc4 375
acc49a52
JD
3762008-12-20 Jan Djärv <jan.h.d@swipnet.se>
377
378 * frame.c (Fdelete_frame): Set f->menu_bar_vector to Qnil.
379
6ea15123
CY
3802008-12-20 Chong Yidong <cyd@stupidchicken.com>
381
382 * minibuf.c (Fread_buffer): Doc fix.
383
b2dab6c8
JR
3842008-12-20 Jason Rumney <jasonr@gnu.org>
385
54ea0c87 386 * fileio.c (Fexpand_file_name): Do not allow ../ to go beyond the
9acef61c 387 server name in UNC paths. (Bug#719)
54ea0c87 388
b2dab6c8 389 * coding.c (decode_coding): Clear chars_at_source flag when using
9acef61c 390 charbuf. (Bug#1035)
b2dab6c8 391
6d1921be
DN
3922008-12-19 Daniel Engeler <engeler@gmail.com>
393
394 * sysdep.c (serial_configure): Fix typo.
395
53934c98
DN
3962008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
397
398 * sysdep.c: Include alloca.h.
f4f634e8
DN
399 (system_process_attributes): Add implementation for Solaris.
400
401 * s/sol2-10.h (HAVE_PROCFS, _STRUCTURED_PROC): New defines.
53934c98 402
06e111a6
DN
4032008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
404
405 Reorganize implementation of Flist_system_processes and
406 Fsystem_process_attributes. No functional changes.
407 * process.c: Don't #include pwd.h, grp.h and limits.h.
408 (Flist_system_processes): Just call list_system_processes.
409 (Fsystem_process_attributes): Just call system_process_attributes.
410 (procfs_list_system_processes, time_from_jiffies)
411 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
412 (procfs_get_total_memory, procfs_system_process_attributes): Move ...
413
414 * sysdep.c: ... here. Include pwd.h, grp.h and limits.h.
415 (list_system_processes): Rename from
416 procfs_list_system_processes. Enclose in #ifdef HAVE_PROCFS.
417 Provide a do nothing implementation.
418 (system_process_attributes): Rename from
419 procfs_list_system_processes.
420 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
9acef61c 421 (procfs_get_total_memory): Enclose in #ifdef GNU_LINUX.
06e111a6
DN
422
423 * w32.c (list_system_processes): Rename from
424 w32_list_system_processes.
425 (system_process_attributes): Rename from
426 w32_system_process_attributes.
427
428 * s/gnu-linux.h (LISTPROC, PROCATTR): Remove.
429
430 * process.h (w32_list_system_processes)
431 (w32_system_process_attributes): Remove.
432 (list_system_processes, system_process_attributes): New
433 prototypes.
434
6a705b23
KH
4352008-12-19 Kenichi Handa <handa@m17n.org>
436
437 * xfont.c (xfont_decode_coding_xlfd): New function.
438 (xfont_encode_coding_xlfd): New function.
439 (xfont_list_pattern): Decode XLFD by iso-8859-1.
440 (xfont_list): Decode and encode XLFD by iso-8859-1.
441 (xfont_match): Likewise.
442 (xfont_list_family): Likewise.
443 (xfont_open): Likewise.
444
d66c0241 445 * ftfont.c (ftfont_open): Generate a multibyte string if given
6a705b23
KH
446 names are utf-8.
447
d66c0241 448 * xftfont.c (xftfont_open): Generate a multibyte string if given
6a705b23
KH
449 names are utf-8.
450
5a130941
JD
4512008-12-18 Jan Djärv <jan.h.d@swipnet.se>
452
453 * gtkutil.c (xg_frame_resized): Remove check if rows/columns have
454 changed.
bfd20325
JD
455 (xg_tool_bar_proxy_callback): Put focus on the frame after we have
456 clicked on a detached tool bar button.
5a130941 457
fd95644b
DN
4582008-12-18 Dan Nicolaescu <dann@ics.uci.edu>
459
460 * emacs.c (main): Print and error and exit when no data is read
461 from the pipe.
462
e6eee6ae
JR
4632008-12-17 Jason Rumney <jasonr@gnu.org>
464
465 * w32font.c (w32font_has_char): Always return -1.
466
a35dd56b
KH
4672008-12-16 Kenichi Handa <handa@m17n.org>
468
469 * font.c (font_open_entity): Fix previous change.
470
0e3635c2
DN
4712008-12-16 Dan Nicolaescu <dann@ics.uci.edu>
472
473 * process.c: Include <limits.h>.
474
d4835507 4752008-12-16 Chetan Pandya <pandyacus@sbcglobal.net> (tiny change)
b5356c39
CY
476
477 * font.c (font_update_drivers): Fix mistake in reconstructing the
478 driver list.
479
4802008-12-16 Chong Yidong <cyd@stupidchicken.com>
481
482 * font.c (font_clear_cache): Fix format of font cache data.
483
e2cbc401
CY
4842008-12-15 Chong Yidong <cyd@stupidchicken.com>
485
486 * xftfont.c (xftfont_open): Free Xft font pattern if
487 XftFontOpenPattern fails.
488
489 * xterm.c (x_free_frame_resources): Remove extraneous call to
490 free_frame_faces.
491
b131d535
CY
4922008-12-13 Chong Yidong <cyd@stupidchicken.com>
493
494 * xterm.c (x_delete_display): Move xim_close_dpy call to
495 x_delete_terminal.
496 (x_delete_terminal): Call xim_close_dpy.
497
e6df5336
JR
4982008-12-13 Jason Rumney <jasonr@gnu.org>
499
500 * w32font.c (intern_font_name): New function.
501 (add_font_name_to_list, w32_enumfont_pattern_entity): Use it.
502 (w32font_open_internal, Fx_select_font): Decode font name.
503 (fill_in_logfont, list_all_matching_fonts): Encode font name.
504
505 * w32font.h (intern_font_name): Declare new function.
506
507 * w32uniscribe.c (add_opentype_font_name_to_list):
508 Use intern_font_name.
509
20d68145
CY
5102008-12-13 Chong Yidong <cyd@stupidchicken.com>
511
9f2554de
CY
512 * frame.c (Fdelete_frame): Call free_font_driver_list.
513
3d9bec9a
CY
514 * font.c (free_font_driver_list): Implement missing function.
515
20d68145
CY
516 * w32term.c (w32_term_init): Don't initialize the image cache
517 here; it will be done in init_frame_faces.
518
519 * xterm.h (struct xim_inst_t): Definition moved from xterm.c.
520 (struct x_display_info): Remove unused member null_pixel. New
521 member xim_callback_data.
522
523 * xterm.c (struct xim_inst_t): Definition moved to xterm.h.
524 (xim_initialize): Save pointer to callback function data.
525 (xim_close_dpy): Free callback function data. Call XCloseIM,
526 reverting 2008-11-04 change by David Smith.
527 (x_term_init): Don't initialize the image cache here; it will be
528 done in init_frame_faces. Remove ancient "null_pixel" cruft.
529 (x_delete_display): Free x_dnd_atoms member.
530
96f9306b
KH
5312008-12-13 Kenichi Handa <handa@m17n.org>
532
6dec9044
JB
533 * font.c (font_rescale_ratio): Moved from xfaces.c.
534 Argument type changed. Handle a font-spec too.
96f9306b 535 (font_score): Check Vface_font_rescale_alist.
6dec9044 536 (font_open_entity): Likewise. (Bug#1547)
96f9306b
KH
537
538 * xfaces.c (font_rescale_ratio): Moved to font.c.
539
8d5b4964
CY
5402008-12-13 Chong Yidong <cyd@stupidchicken.com>
541
542 * xfns.c (Fx_wm_set_size_hint): Check if the frame is an X frame.
543
e6df5336
JR
5442008-12-12 Jason Rumney <jasonr@gnu.org>
545
546 * w32fns.c (x_display_info_for_name, Fx_open_connection): Set
547 Vwindow_system_version to the real w32 major version.
548
97c6058a
DN
5492008-12-12 Dan Nicolaescu <dann@ics.uci.edu>
550
551 * term.c (init_tty): Move setting the terminal name before the
552 potential user: maybe_fatal.
553
ec4e88d7
CY
5542008-12-11 Chong Yidong <cyd@stupidchicken.com>
555
d4835507
JB
556 * term.c (tty_free_frame_resources): Renamed from delete_tty_output;
557 all callers changed. Call free_frame_faces to free the face cache.
ec4e88d7 558
b4233ec9
JR
5592008-12-11 Jason Rumney <jasonr@gnu.org>
560
8ec71e23 561 * w32font.c (fill_in_logfont): Don't assume symbol script means
9acef61c 562 SYMBOL_CHARSET. (Bug#547)
8ec71e23 563
b4233ec9 564 * w32uniscribe.c (uniscribe_encode_char): Increase glyph buffer
9acef61c 565 size for surrogates. (Bug#1096, bug#872)
b4233ec9 566
011a0143
JB
5672008-12-11 Juanma Barranquero <lekktu@gmail.com>
568
569 * w32proc.c (Fw32_get_locale_info): Decode long form of locale name.
570
3c309f34
JB
5712008-12-11 Juanma Barranquero <lekktu@gmail.com>
572
573 * process.c (Fsystem_process_attributes, syms_of_process):
574 Fix typo in name of Ssystem_process_attributes.
575 Reported by Ulrich Mueller <ulm@kph.uni-mainz.de>.
576
fedc6ab5
JB
5772008-12-11 Juanma Barranquero <lekktu@gmail.com>
578
579 * syntax.c (Fmodify_syntax_entry): Doc fix.
580
ba3de0e8
JB
5812008-12-10 Juanma Barranquero <lekktu@gmail.com>
582
583 * font.c (Ffont_spec): Move usage to end of docstring.
584
174f1c74
JR
5852008-12-10 Jason Rumney <jasonr@gnu.org>
586
587 * w32font.c (Qcham): New symbol.
588 (font_supported_scripts): Add cham, and comments for other new
589 scripts in bitfield from OpenType spec.
9d32f818
JR
590 (add_font_entity_to_list): Limit unicode-sip fonts to those that
591 contain characters beyond the bmp.
174f1c74 592
7b649478
KH
5932008-12-10 Kenichi Handa <handa@m17n.org>
594
595 * ftfont.c (fc_charset_table): Add "unicode-sip".
2ae37cf0 596 (ftfont_spec_pattern): Lookup fc_charset_table for the registry
7b649478
KH
597 Qunicode_sip.
598
2133e2d1
JB
5992008-12-10 Juanma Barranquero <lekktu@gmail.com>
600
601 * coding.c (QCdefault_char): Rename from QCdefalut_char.
602 (Fcoding_system_put): Use QCdefault_char.
603 (syms_of_coding): Set QCdefault_char, not QCdefalut_char.
604
9af886ee
CY
6052008-12-09 Chong Yidong <cyd@stupidchicken.com>
606
74d819eb
CY
607 * xftfont.c (syms_of_xftfont): Fix typo.
608
4ccfa1c0 609 * buffer.c (Fbuffer_swap_text): Signal error if swapping a dead buffer.
9af886ee 610
7c19d3ae
DN
6112008-12-08 Dan Nicolaescu <dann@ics.uci.edu>
612
613 * emacs.c (main): Close daemon_pipe on exec.
614
567826bb
CY
6152008-12-08 Chong Yidong <cyd@stupidchicken.com>
616
617 * termchar.h (struct tty): New members termcap_term_buffer and
618 termcap_strings_buffer.
619
620 * term.c (encode_terminal_code): Free any previous memory blocks
4ccfa1c0 621 before calling xmalloc for encode_terminal_src or encode_terminal_dst.
567826bb
CY
622 (maybe_fatal): Buffer argument deleted. Don't free buffer here.
623 All callers changed.
624 (init_tty): Store termcap data and string buffers in new struct
625 tty members termcap_term_buffer and termcap_strings_buffer.
626 (delete_tty): Free them.
4ccfa1c0 627 (syms_of_term): Initialize encode_terminal_src and encode_terminal_dst.
567826bb 628
aa96c42b
SZ
6292008-12-07 Seiji Zenitani <zenitani@mac.com>
630
631 * nsfns.m (ns_set_background_color): Remove code duplication.
4ccfa1c0 632 It was a substitute for face-transparency on OS X 10.3.
aa96c42b 633
b7e1d896
CY
6342008-12-06 Chong Yidong <cyd@stupidchicken.com>
635
636 * coding.c (make_conversion_work_buffer): Disable buffer
637 modification hooks in the work buffer.
638
b5ec91a5
EZ
6392008-12-05 Eli Zaretskii <eliz@gnu.org>
640
641 * process.c (procfs_system_process_attributes): If `nread' has a
642 negative value, assign zero to it.
643
a5d2a52b
CY
6442008-12-05 Chong Yidong <cyd@stupidchicken.com>
645
68c5540b 646 * eval.c (Vdebug_on_error): Doc fix.
a5d2a52b 647
7bf1bb21
KH
6482008-12-05 Kenichi Handa <handa@m17n.org>
649
650 * ftfont.c (ftfont_shape_by_flt): Use "combining" flt if the
651 second character is a combining character.
652
2fdc7d00
EZ
6532008-12-05 Eli Zaretskii <eliz@gnu.org>
654
655 * process.c (procfs_system_process_attributes): Don't use cmd,
656 cmdsize, and q without initializing them first.
657
bf6bfba8
JR
6582008-12-04 Jason Rumney <jasonr@gnu.org>
659
660 * w32font.c (w32font_draw): Initialize orig_clip before getting
661 it, and delete it when finished.
662
a3b1a468
DN
6632008-12-04 Dan Nicolaescu <dann@ics.uci.edu>
664
665 * keyboard.c (kbd_buffer_get_event): Follow the non-interactive
666 case when running as a daemon before detaching.
667
8b8be8eb
JB
6682008-12-03 Juanma Barranquero <lekktu@gmail.com>
669
805f2638 670 * w32.c (init_environment): Don't unload library shell32.dll.
8b8be8eb 671
b1bde622
KH
6722008-12-03 Kenichi Handa <handa@m17n.org>
673
e500c47d
KH
674 * font.c (font_at): Set `multibyte' at first.
675
ca516334
KH
676 * coding.c (decode_coding_charset): Check type of an element of
677 vector VALIDS.
7bf1bb21 678 (encode_coding_emacs_mule): Be sure to set `code'.
ca516334 679
4ccfa1c0 680 * fontset.c (face_for_char): Handle invalid charset property correctly.
b1bde622
KH
681 (font_for_char): Likewise.
682
1e5ecd37
CY
6832008-12-03 Chong Yidong <cyd@stupidchicken.com>
684
d5b01609 685 * font.c (Fopen_font): Compute pixel size correctly.
ba207571
CY
686 (font_update_lface): Handle fonts with corrupted size specs,
687 i.e. non-int and non-float.
d5b01609 688
11e3a6e4 689 * ftfont.c (ftfont_match): Initialize entity variable.
9a48c8cb 690 (ftfont_resolve_generic_family): Avoid using uninitialized var.
8adb3a3b 691 (ftfont_list_family): Initialize list var earlier.
11e3a6e4 692
ab06788b
CY
693 * xselect.c (Fx_get_cut_buffer_internal): Fix memory leak.
694
1e5ecd37 695 * xterm.c (x_draw_glyph_string): Fall back on
0cff82ab 696 underline_minimum_offset for underline position.
1e5ecd37 697
63c125ab
DN
6982008-12-03 Dan Nicolaescu <dann@ics.uci.edu>
699
700 * keyboard.c (read_char_help_form_unwind): Specify the type for ARG.
701
702 * character.c (c_string_width): Specify the type for LEN.
703
3a8406e1
KH
7042008-12-03 Kenichi Handa <handa@m17n.org>
705
4ccfa1c0 706 * coding.c (decode_coding_utf_16): Initialize consumed_chars_base to 0.
453b38f0 707 (decode_coding_utf_8): Likewise.
4ccfa1c0 708 (detect_coding_system): Initialize utf_16_le_eol to -1, val to Qnil.
4533845d 709 (produce_chars): Initialize consumed_chars to 0.
3a8406e1 710
651df7d9
CY
7112008-12-02 Chong Yidong <cyd@stupidchicken.com>
712
713 * keyboard.c (make_lispy_position): Only use PT if the selected
714 window is current.
715
1f625c6c
AS
7162008-12-02 Andreas Schwab <schwab@suse.de>
717
f7741ce9
AS
718 * font.c (font_unparse_fcname): Fix use of uninitialized variable.
719
1f625c6c
AS
720 * doprnt.c (doprnt1): Fix size of charbuf.
721
92bc2678
CY
7222008-12-02 Chong Yidong <cyd@stupidchicken.com>
723
724 * keyboard.c (timer_check): Revert last change.
725
93b9e8cc
JB
7262008-12-02 Juanma Barranquero <lekktu@gmail.com>
727
728 * makefile.w32-in ($(BLD)/w32console.$(O)): Fix silly, silly typo.
729
fd7a37d5
JB
7302008-12-01 Juanma Barranquero <lekktu@gmail.com>
731
732 * makefile.w32-in: Update dependencies.
733 (CONFIG_H): Add $(EMACS_ROOT)/nt/inc/sys/time.h.
734
c115043b
AS
7352008-12-01 Andreas Schwab <schwab@suse.de>
736
737 * font.c (register_font_driver): Use xmalloc.
738 (font_put_frame_data): Likewise.
739
f5668d2a
CY
7402008-12-01 Chong Yidong <cyd@stupidchicken.com>
741
860d96be
CY
742 * xfaces.c (realize_x_face): Make abort condition clearer.
743
f5668d2a
CY
744 * gtkutil.c (update_frame_tool_bar): Initialize variable.
745
379c17e7
CY
7462008-11-30 Chong Yidong <cyd@stupidchicken.com>
747
748 * keyboard.c (timer_check): After a timer runs, ensure that the
749 selected window's buffer is current.
750
35f36d65
JB
7512008-11-30 Juanma Barranquero <lekktu@gmail.com>
752
f952c61c
JB
753 * makefile.w32-in ($(BLD)/abbrev.$(O)): Remove.
754 It was accidentally restored by the Unicode merge.
755
35f36d65
JB
756 * w32proc.c (Fw32_get_locale_info): Fix typo in docstring.
757
b23077df
JB
7582008-11-29 Juanma Barranquero <lekktu@gmail.com>
759
760 * w32proc.c: Include "coding.h".
761 (Fw32_short_file_name): Encode filename passed to Windows API.
762 (Fw32_long_file_name): Encode filename passed to Windows API and
763 decode back the result. (Bug#1433)
764
b8ebe9dd
KH
7652008-11-29 Kenichi Handa <handa@m17n.org>
766
8cc53f96
KH
767 * charset.h (CHAR_CHARSET_P): Check if the encoder is loaded or
768 not before accessing it.
769
b8ebe9dd
KH
770 * charset.c (Fdefine_charset_internal): After calculating
771 min_char, max_char, and fastmap, copy the charset structure again.
772 (encode_char): Fix the previous change.
773
59bc82c0
SZ
7742008-11-28 Seiji Zenitani <zenitani@mac.com>
775
776 * frame.c (x_set_alpha) [NS_IMPL_COCOA]: Call x_set_frame_alpha.
777
778 * nsfns.m (ns_frame_parm_handlers): Set alpha handler.
779
780 * nsterm.m (x_set_frame_alpha): New function.
781
32247e3d
EZ
7822008-11-27 Eli Zaretskii <eliz@gnu.org>
783
784 * xfaces.c (Fx_font_family_list, syms_of_xfaces): Fix last change.
785
b003e5ff
JB
7862008-11-27 Juanma Barranquero <lekktu@gmail.com>
787
788 * w32font.c (add_font_entity_to_list): Pass the right LOGFONT
789 pointer to check_face_name.
790
708550f5
KH
7912008-11-27 Kenichi Handa <handa@m17n.org>
792
793 * category.h (SET_CATEGORY_SET): Call set_category_set.
794 (set_category_set): Extern it.
795
796 * category.c (hash_get_category_set): New function.
797 (Fmodify_category_entry): Adjusted for the change of
798 char_table_ref_and_range. Call hash_get_category_set to get a
799 category set to store in the table.
800
801 * character.h (MAYBE_UNIFY_CHAR): Call maybe_unify_char instead of
802 Funify_charset.
803
2ae37cf0 804 * charset.h (enum charset_method): Delete CHARSET_METHOD_MAP_DEFERRED.
708550f5
KH
805 (DECODE_CHAR): Check if the decoder vector is ready.
806 (ENCODE_CHAR): Check if the encoder char-table is ready.
807 (maybe_unify_char): Extern it.
808
809 * charset.c (Vchar_unified_charset_table): Delete it.
810 (inhibit_load_charset_map): New variable.
811 (temp_charset_work): New variable.
812 (SET_TEMP_CHARSET_WORK_ENCODER, GET_TEMP_CHARSET_WORK_ENCODER)
813 (SET_TEMP_CHARSET_WORK_DECODER, GET_TEMP_CHARSET_WORK_DECODER):
814 New macros.
815 (load_charset_map): Meaning of control_flag changed. If
816 inhibit_load_charset_map is nonzero, setup a table in
817 temp_charset_work.
818 (load_charset): New argument control_flag.
819 (map_charset_for_dump): New function.
820 (map_charset_chars): If inhibit_load_charset_map is nonzero, use
821 map_charset_for_dump.
822 (Fdefine_charset_internal): If the charset method is MAP, load
823 mapping tables by calling load_charset.
824 (Funify_charset): Don't load a mapping table but directly set
825 Vchar_unify_table.
826 (maybe_unify_char): New function.
827 (decode_char): Don't handle the deleted method MAP_DEFERRED.
828 Handle the case of inhibit_load_charset_map being nonzero.
829 (encode_char): Don't handle the deleted method MAP_DEFERRED.
830 Handle the case of inhibit_load_charset_map being nonzero.
831 (Fclear_charset_maps): Just free temp_charset_work.
832 (syms_of_charset): Make `inhibit-load-charset-map' a Lisp
833 variable.
834
835 * chartab.c (sub_char_table_ref_and_range): Adjusted for the
836 change of char_table_ref_and_range.
837 (char_table_ref_and_range): Change the meaning of argument FROM
838 and TO. Now the caller must provide initial values for *FROM
839 and *TO.
840
841 * fontset.c (fontset_add): Adjusted for the change of
842 char_table_ref_and_range.
843 (fontset_get_font_group): Likewise.
844 (Ffontset_info): Likewise.
845
846 * keymap.c (describe_vector): Adjusted for the change of
847 char_table_ref_and_range. For char-table, put boundary between
848 non-ASCII and 8-bit characters.
849
850 * print.c (print_object): For bool-vector, delete unnecessary
851 check of ASCII_BYTE_P.
852
9196133b
JR
8532008-11-26 Jason Rumney <jasonr@gnu.org>
854
855 * w32font.c (w32font_open_internal): Don't include external
9acef61c 856 leading in font height. (Bug#879)
9196133b 857
9f688acf
GM
8582008-11-26 Glenn Morris <rgm@gnu.org>
859
860 * xfaces.c (Fx_font_family_list): Replace lisp/term/pc-win.el
861 redefinition with ifdef. (Bug#1383)
862
90d19aff
AR
8632008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
864
865 * nsterm.m (ns_get_color): Handle long hex strings (fixes bug #1044).
866
4ccfa1c0 8672008-11-24 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
90d19aff
AR
868
869 * nsterm.m (-otherMouseDown:, -otherMouseUp:, -otherMouseDragged):
870 New EmacsView methods.
871 (EV_UDMODIFIERS, EV_BUTTON): Add OtherMouse constants.
872 Fixes bug #1048,1357,1414.
873
8742008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
875
876 Fix bug #1362.
877 * image.c (x_clear_image_1): Do not free background under HAVE_NS, it
878 is not an indexed color.
879 * nsterm.m (free_indexed_color): Add argument checking.
880 * nsfns.m: Move config.h to before system includes (advised by Dan N.).
881
e7d5ecb3
CY
8822008-11-24 Chong Yidong <cyd@stupidchicken.com>
883
884 * minibuf.c (Fcompleting_read, Vminibuffer_completion_confirm):
885 Document confirm-after-completion value for
886 minibuffer-completion-confirm.
887
c285743c
JR
8882008-11-24 Jason Rumney <jasonr@gnu.org>
889
890 * w32font.c (check_face_name): Use xstrcasecmp. Avoid compiler
891 warning.
892
b0857706
JR
8932008-11-23 Jason Rumney <jasonr@gnu.org>
894
895 * w32uniscribe.c (uniscribe_encode_char): Ensure context is
896 restored before returning.
897
898 * w32font.c (check_face_name): New function.
899 (add_font_entity_to_list): Use it to filter out common substituted
9acef61c 900 fonts. (Bug#642)
b0857706 901
ee50ff07
MR
9022008-11-22 Martin Rudalics <rudalics@gmx.at>
903
904 * buffer.c (Fswitch_to_buffer): Reword and mention new option
905 confirm-nonexistent-file-or-buffer in doc-string.
906
b8ff72fa
SM
9072008-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
908
909 * buffer.c (Fbuffer_swap_text): Remove redundant marker manipulation.
910 Fix copy/paste typo. Add checks.
911
cee53ed4
KH
9122008-11-21 Kenichi Handa <handa@m17n.org>
913
914 * coding.c (detect_coding_iso_2022): Reject invalid composition
915 sequence.
916 (DECODE_COMPOSITION_START): If the current source is the last
917 block, and the current composition doesn't end, regard this
918 sequence as invalid.
919 (decode_coding_iso_2022): Handle invalid composition sequence.
920
f6ef1e65
MR
9212008-11-20 Martin Rudalics <rudalics@gmx.at>
922
923 * window.c (coordinates_in_window): Don't return
924 ON_VERTICAL_BORDER for the rightmost position of a mode/header
925 line when the window is not the rightmost one. (Bug#1372)
926
e08b1705
MR
9272008-11-16 Ben North <ben@redfrontdoor.org> (tiny change)
928
929 * buffer.c (syms_of_buffer): Fix doc-string of cursor-type.
930
ad98e89f
EZ
9312008-11-15 Eli Zaretskii <eliz@gnu.org>
932
933 * msdos.c (run_msdos_command): Don't call dos_ttcooked, dos_ttraw,
934 and bright_bg if noninteractive is non-zero.
935
fb098a4b
CY
9362008-11-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
937
938 * xterm.c (x_draw_glyph_string): For stretch glyphs, don't call
939 x_draw_glyph_string_background.
940
941 * w32term.c (x_draw_glyph_string): Likewise.
942
ce952b6e
CY
9432008-11-15 Chong Yidong <cyd@stupidchicken.com>
944
945 * xterm.c (x_draw_glyph_string): Stop drawing the background of
946 the next glyph string once past the overhang width.
947
948 * nsterm.m (ns_draw_glyph_string): Likewise.
949
950 * w32term.c (x_draw_glyph_string): Likewise.
951
26ea7079
CY
9522008-11-14 Fabrice Popineau <fabrice.popineau@supelec.fr> (tiny change)
953
954 * fileio.c (Finsert_file_contents): Decrement specpdl_ptr to avoid
955 double file close.
956
1c33c906
MR
9572008-11-14 Martin Rudalics <rudalics@gmx.at>
958
959 * window.c (window_loop): In DELETE_BUFFER_WINDOWS case, reset
960 dedicated status of window before attempting to display another
961 buffer in it.
962
8fc29035
JB
9632008-11-14 Juanma Barranquero <lekktu@gmail.com>
964
965 * msdos.c (Fmsdos_long_file_names):
966 (syms_of_msdos) <dos-unsupported-char-glyph>:
967 * dosfns.c (Fint86): Fix typos in docstrings.
968
55fb4286
EZ
9692008-11-14 Eli Zaretskii <eliz@gnu.org>
970
971 * makefile.w32-in (OBJ1, WIN32OBJ): Fix whitespace.
972
3fda0315
KY
9732008-11-14 Katsumi Yamaoka <yamaoka@jpl.org>
974
975 * puresize.h (BASE_PURESIZE): Increase to 1260000.
976
7e849c17
CY
9772008-11-12 Michal Nazarewicz <mina86@tlen.pl> (tiny change)
978
979 * frame.c (x_set_alpha): Set alpha to -1 if nil given.
980
981 * frame.h: Negative alpha means "don't touch".
982
983 * w32term.c (x_set_frame_alpha): Do nothing if alpha is negative.
984
985 * xterm.c (x_set_frame_alpha): Do nothing if alpha is negative.
986
b9fd67bd
DN
9872008-11-12 Dan Nicolaescu <dann@ics.uci.edu>
988
989 * hftctl.c:
990 * chpdef.h:
991 * acldef.h: Remove files used only for systems no longer supported.
992
993 * Makefile.in: Fix .o alphabetical ordering.
994 (hftctl.o): Remove dependency, file removed.
995 (keymap.o, print.o): Depend on charset.h.
996
d5998e03
KH
9972008-11-10 Kenichi Handa <handa@m17n.org>
998
2ae37cf0 999 * character.c (Fget_byte): Fix and make it faster for unibyte target.
d5998e03 1000
be70e183
CY
10012008-11-08 Chong Yidong <cyd@stupidchicken.com>
1002
1003 * dired.c (file_name_completion): If completion_ignore_case is
1004 enabled, ignore case when checking completion-regexp-list.
1005
7cf94eac
EZ
10062008-11-08 Eli Zaretskii <eliz@gnu.org>
1007
1008 * vm-limit.c (get_lim_data): Fix last change.
1009
ee107a89
KH
10102008-11-08 Kenichi Handa <handa@m17n.org>
1011
1012 * character.c (Fget_byte): New function.
1013 (syms_of_character): Defsubr Fget_byte.
1014
5fd15622
CY
10152008-11-07 Chong Yidong <cyd@stupidchicken.com>
1016
1017 * xdisp.c (try_window_reusing_current_matrix): Ensure that window
1018 cursor position is valid after scrolling.
1019
13d62fad
JB
10202008-11-06 Juanma Barranquero <lekktu@gmail.com>
1021
1022 * fns.c (Frandom): Rename arg N to LIMIT to match the docs; doc fix.
1023
a1dd2936
GM
10242008-11-06 Glenn Morris <rgm@gnu.org>
1025
1026 * xterm.c (handle_one_xevent): Don't let popup menus cause
1027 mouse-autoselect-window related window switching. (Bug#1261)
1028
860cd236
CY
10292008-11-04 David Smith <davidsmith@acm.org> (tiny change)
1030
1031 * xterm.c (xim_close_dpy): Avoid double-free on X11R6 XIM.
1032
653a3150
AS
10332008-11-04 Andreas Schwab <schwab@suse.de>
1034
1035 * xfns.c (Fx_wm_set_size_hint): Add missing return value.
1036
870f5cac
CY
10372008-11-03 Chong Yidong <cyd@stupidchicken.com>
1038
1039 * xfns.c (Fx_wm_set_size_hint): New function.
1040
1e02f3cb
MR
10412008-11-03 Martin Rudalics <rudalics@gmx.at>
1042
1043 * textprop.c (Fprevious_single_char_property_change): Return 0
1044 when there's no change in a string. (Bug#1301)
1045
e630dfc6
MR
10462008-11-02 Martin Rudalics <rudalics@gmx.at>
1047
1048 * frame.c (do_switch_frame): New argument NORECORD passed to
1049 Fselect_window.
1050 (Fselect_frame): New argument NORECORD passed to
1051 do_switch_frame.
1052 (Fset_frame_selected_window): New argument NORECORD passed to
1053 Fselect_frame.
1054 (Fhandle_switch_frame, Fdelete_frame): Handle NORECORD argument
1055 in call of do_switch_frame.
1056 (Fset_mouse_position, Fset_mouse_pixel_position, Fraise_frame):
1057 Handle NORECORD argument in call of Fselect_frame.
1058 * lisp.h (do_switch_frame, Fselect_frame)
1059 (Fset_frame_selected_window): Adjust declarations.
1060 * window.c (select_frame_norecord): New function.
1061 (run_window_configuration_change_hook): Use it and call
1062 Fselect_frame with NORECORD set.
1063 (Fselect_window): Pass NORECORD to Fselect_frame.
1064 (Fset_window_configuration): Handle NORECORD argument in call of
1065 do_switch_frame.
1066 * minibuf.c (choose_minibuf_frame): Handle NORECORD in call of
1067 Fset_frame_selected_window.
1068 * keyboard.c (command_loop_1): Handle NORECORD in call of
1069 Fselect_frame (currently ifdefd).
1070
9020b223
GM
10712008-11-02 Ulrich Mueller <ulm@kph.uni-mainz.de>
1072
1073 * emacs.c (USAGE2): Untabify.
1074
793ffee8
SM
10752008-11-01 Stefan Monnier <monnier@iro.umontreal.ca>
1076
1077 * composite.c (fill_gstring_header): Fix copy/paste typo.
1078
ab6d1131
MR
10792008-10-31 Martin Rudalics <rudalics@gmx.at>
1080
1081 * window.c (Fnext_window, Fprevious_window): Rewrite doc-string.
1082 (Fother_window): Rename argument and rewrite doc-string.
1083 (select_window_norecord): Fix return value. (Bug#1276)
1084
601a9cf1
JB
10852008-10-30 Juanma Barranquero <lekktu@gmail.com>
1086
1087 * w32fns.c (x_create_tip_frame): Prevent default foreground color for
1088 new frames overriding foreground for tooltips. Based on similar patch
1089 from Martin Rudalics <rudalics@gmx.at>. (Bug#1032)
1090
813b0652
CY
10912008-10-29 Chong Yidong <cyd@stupidchicken.com>
1092
1093 * emacs.c (Fdaemon_initialized): Initialize nfd.
1094
4414f58f
MR
10952008-10-29 Martin Rudalics <rudalics@gmx.at>
1096
1097 * window.c (Fwindow_height, Fdelete_window, set_window_buffer)
1098 (Fwindow_text_height): Clarify doc-strings.
1099 * xdisp.c (syms_of_xdisp): Mention set-window-buffer in
1100 doc-string of window-scroll-functions.
1101
ecdcaa09
RS
11022008-10-28 Reiner Steib <Reiner.Steib@gmx.de>
1103
1104 * category.c (syms_of_category): Fix typo in docstring.
1105
23fe745a
JB
11062008-10-28 Juanma Barranquero <lekktu@gmail.com>
1107
1108 * window.c (Fwindowp, Fwindow_live_p, Fwindow_minibuffer_p)
1109 (Fcoordinates_in_window_p, Fscroll_left, Fscroll_right):
1110 Fix typos in docstrings.
1111
ff808935
DN
11122008-10-28 Dan Nicolaescu <dann@ics.uci.edu>
1113
1114 * emacs.c (daemon_pipe): Make non-static.
1115 (IS_DAEMON): Move definition ...
1116 * lisp.h (IS_DAEMON): ... here.
1117 (daemon_pipe): Declare.
1118 (is_daemon): Remove.
1119 * dispnew.c (init_display): Use IS_DAEMON.
1120
fc012771
SM
11212008-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
1122
1123 * xdisp.c (pos_visible_p, redisplay_internal, message3_nolog)
1124 (message2_nolog): Check FRAME_INITIAL_P instead of noninteractively.
1125
1126 * emacs.c (is_daemon): Remove.
1127 (main): Don't set is_daemon.
1128 (IS_DAEMON): New macro.
1129 (Fdaemonp, Fdaemon_initialized): Use it.
601a9cf1 1130 (Fdaemon_initialized): Write a char into the pipe to make sure the
fc012771
SM
1131 parent exits.
1132 (syms_of_emacs): Explicitly initialize daemon_pipe[1].
1133
d8bdbe6f
CY
11342008-10-27 Chong Yidong <cyd@stupidchicken.com>
1135
d1a072bf
CY
1136 * nsterm.m (ns_draw_window_cursor): When hbar cursor is on
1137 over-sized glyph, draw it with the default glyph width.
1138
e2e325aa
CY
1139 * w32term.c (x_draw_bar_cursor): When hbar cursor is on over-sized
1140 glyph, draw it with the default glyph width.
1141
1142 * xterm.c (x_draw_bar_cursor): When hbar cursor is on over-sized
1143 glyph, draw it with the default glyph width.
1144
d8bdbe6f
CY
1145 * xdisp.c (try_scrolling): When computing the distance from the
1146 scroll margin to PT, try moving some distance past the window
1147 bottom before giving up.
1148
7bfac547
MR
11492008-10-27 Martin Rudalics <rudalics@gmx.at>
1150
1151 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p)
1152 (Fset_window_buffer): Explain in doc-string that a window can be
1153 "strongly" dedicated to its buffer.
1154
4ff029f6
DN
11552008-10-27 Dan Nicolaescu <dann@ics.uci.edu>
1156
1157 * emacs.c (daemon_name): New variable.
1158 (main): Deal with --daemon=SERVER_NAME.
1159 (Fdaemonp): Return a name if one was passed to --daemon.
1160
5790ef40
DN
11612008-10-26 Romain Francoise <romain@orebokech.com>
1162
f9bd0df9 1163 * emacs.c (daemon_pipe): New variable.
5790ef40
DN
1164 (main): Create a pipe before forking, make the parent exit only after
1165 the child has closed its end of the pipe. Move closing the
1166 descriptors ...
1167 (Fdaemon_initialized): ... here. New function.
1168
f5385255
SM
11692008-10-26 Stefan Monnier <monnier@iro.umontreal.ca>
1170
4d632321
SM
1171 * chartab.c (Foptimize_char_table): Make sure `ascii' doesn't point to
1172 the previous unoptimized table.
1173
f5385255
SM
1174 * window.c (Fset_window_buffer): Undo 2008-10-18 change to re-instate
1175 the distinction between non-nil and non-t value of `dedicated'.
1176
6c56a0f3
CY
11772008-10-25 Chong Yidong <cyd@stupidchicken.com>
1178
1179 * keyboard.c (read_char_minibuf_menu_prompt): Ensure that
f5385255 1180 read_char_minibuf_menu_text is large enough to hold the menu string.
6c56a0f3 1181
fec89261
MR
11822008-10-25 Martin Rudalics <rudalics@gmx.at>
1183
1184 * window.c (Fget_buffer_window, Fdelete_windows_on)
1185 (Freplace_buffer_in_windows): Make buffer argument optional and
1186 rename to buffer_or_name.
1187
34fcddd0
CY
11882008-10-24 Chong Yidong <cyd@stupidchicken.com>
1189
f5385255
SM
1190 * xdisp.c (handle_single_display_spec, handle_display_prop):
1191 Undo 2005-05-16 change.
34fcddd0
CY
1192 (handle_stop): Pop iterator if it's loaded with an empty string.
1193 (get_overlay_strings_1): Don't save iterator if it's loaded with
1194 an empty string (bug#1201).
1195
064766f2
KH
11962008-10-24 Kenichi Handa <handa@m17n.org>
1197
1198 * ftfont.c (ftfont_otf_features): Fix previous change.
1199 (ftfont_otf_capability): Check FeatureList.FeatureCount before
1200 calling ftfont_otf_features.
1201
f9bd0df9 12022008-10-24 Kenichi Handa <handa@m17n.org>
064766f2
KH
1203
1204 * font.c (font_match_p): Fix for the case that a vector of
1205 characters is in script-representative-chars.
1206
1dae9197
MA
12072008-10-24 Michael Albinus <michael.albinus@gmx.de>
1208
1209 * dbusbind.c (xd_in_read_queued_messages): New variable.
f5385255 1210 (XD_SIGNAL1, XD_SIGNAL2, XD_SIGNAL3): New macros. Throw Qdbus_error.
1dae9197
MA
1211 (xd_read_queued_messages): Catch Qdbus_error from the macros.
1212 (all): Replace xsignal1, xsignal2, xsignal3 by the respective
1213 macro. (Bug#1186).
1214
f9bd0df9 12152008-10-23 Ali Bahrami <ali_gnu@emvision.com> (tiny change)
9b3362b8
DN
1216
1217 * s/sol2-10.h: New file.
1218
878a4584
JB
12192008-10-23 Juanma Barranquero <lekktu@gmail.com>
1220
1221 * xdisp.c (fill_glyph_string): Fix typo in source (though the
1222 poor beast has survived 9+ years and the jump from xterm.c!).
1223
cd265ca6
MR
12242008-10-23 Martin Rudalics <rudalics@gmx.at>
1225
1226 * buffer.c (Fget_buffer_create): Rename arg to buffer_or_name.
1227 Reword doc-string.
f5385255 1228 (Fbury_buffer): In doc-string say what happens to the buffer's window.
cd265ca6 1229
472a4dc9
JB
12302008-10-23 Juanma Barranquero <lekktu@gmail.com>
1231
1232 * character.c (syms_of_character) <script-representative-chars>:
1233 <unicode-category-table>: Doc fixes.
1234
159bd5a2
NF
12352008-10-23 Noah Friedman <friedman@splode.com>
1236
1237 * coding.c (make_conversion_work_buffer): Check that
1238 Vcode_conversion_reused_workbuf is a live buffer, otherwise call
1239 Fget_buffer_create.
1240
49f9c344
KH
12412008-10-23 Kenichi Handa <handa@m17n.org>
1242
1243 * font.c (font_add_log): Check the values of extra properties.
1244
12bb3111
MR
12452008-10-22 Martin Rudalics <rudalics@gmx.at>
1246
1247 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
1248 Reword doc-string.
1249 (Fset_window_parameter): Use NILP.
1250 (Fscroll_up, Fscroll_down, Fminibuffer_selected_window)
f5385255 1251 (Frecenter): Use "selected" instead of "current" window in doc-strings.
12bb3111 1252
bbeb4e99
JB
12532008-10-22 Juanma Barranquero <lekktu@gmail.com>
1254
1255 * xdisp.c (next_element_from_buffer): Remove bogus xassert condition.
1256
12572008-10-22 Adrian Robert <Adrian.B.Robert@gmail.com>
cb83c00b
AR
1258
1259 * nsfns.m (ns_appkit_version): New function.
1260 (x-server-version): Use it.
1261 (syms_of_nsfns): Define ns-version-string here, not nsterm.m.
1262 (x-server-vendor): Don't check_ns().
1263
1264 * nsterm.m (syms_of_nsterm): Drop ns-version-string.
1265
a9b555d3
JB
12662008-10-22 Juanma Barranquero <lekktu@gmail.com>
1267
1268 * w32fns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert.
1269 Copied from 2005-02-03 change to xfns.c by Kim F. Storm.
1270
4626499f
KH
12712008-10-22 Kenichi Handa <handa@m17n.org>
1272
e3681952
KH
1273 * syntax.c (scan_words): Call word_boundary_p instead of comparing
1274 scripts.
1275
4626499f
KH
1276 * category.c (word_boundary_p): Check scripts instead of charset.
1277 Handle nil value in word-separating-categories and
1278 word-combining-categories.
1279 (syms_of_category): Fix docstrings of word-separating-categories
1280 and word-combining-categories.
1281
1560f91a
EZ
12822008-10-21 Eli Zaretskii <eliz@gnu.org>
1283
1284 * coding.c (Fencode_coding_region, Fdecode_coding_region)
1285 (Fdecode_coding_string, Fencode_coding_string): Doc fix.
1286
f4668441
MR
12872008-10-21 Martin Rudalics <rudalics@gmx.at>
1288
1289 * buffer.c (Fget_buffer, Fbury_buffer, switch_to_buffer_1):
1290 Rename arg "buffer" to "buffer_or_name".
1291 (Fkill_buffer): Rename arg "buffer" to "buffer_or_name" and make
1292 it optional.
1293 (no_switch_window): Remove since the return value is not used.
a9b555d3 1294 (Fswitch_to_buffer): Rename arg "buffer" to "buffer_or_name".
f4668441
MR
1295 Consider window as dedicated when Fwindow_dedicated_p returns a
1296 non-nil value.
1297 * lisp.h: Remove prototype for no_switch_window.
1298
fd75ddb2
JD
12992008-10-21 Jan Djärv <jan.h.d@swipnet.se>
1300
1301 * emacs.c (main): Unconditionally set PER_LINUX32 and exec
2ae37cf0 1302 temacs when dumping if HAVE_PERSONALITY_LINUX32 is defined.
fd75ddb2 1303
07295713
KH
13042008-10-21 Kenichi Handa <handa@m17n.org>
1305
1306 * coding.c (detect_coding_charset): For iso-8859-* coding systems,
1307 check Vlatin_extra_code_table.
1308
712adc82
EZ
13092008-10-20 Eli Zaretskii <eliz@gnu.org>
1310
1311 * fileio.c (Fset_file_modes): Doc fix.
1312
f549eb0b
MA
13132008-10-19 Michael Albinus <michael.albinus@gmx.de>
1314
1315 * dbusbind.c (XD_OBJECT_TO_DBUS_TYPE): Handle simple type symbols
1316 in arrays.
1317
aac0c6e3
MR
13182008-10-19 Martin Rudalics <rudalics@gmx.at>
1319
1320 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
1321 Mention kill-buffer in doc-string.
1322 (Fset_window_buffer): Reinsert tem check removed in last commit.
1323 (Fenlarge_window, Fshrink_window): Have argument names and
1324 doc-string follow Elisp manual more closely.
1325
13262008-10-18 Eli Zaretskii <eliz@gnu.org>
1327
1328 * fileio.c (Fset_file_modes): Doc fix.
1329
13302008-10-18 Martin Rudalics <rudalics@gmx.at>
1331
1332 * window.c (Fwindow_width, Fset_window_start)
1333 (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter)
f5385255
SM
1334 (Fdelete_windows_on, Freplace_buffer_in_windows):
1335 Make doc-strings follow code and Elisp manual more closely.
aac0c6e3
MR
1336 (Fwindow_dedicated_p): Make window argument optional.
1337 (Fset_window_dedicated_p): Rename argument "arg" to "flag".
1338 (Fset_window_buffer): Respect any non-nil dedicated value for
1339 window. Rename "buffer" argument to "buffer_or_name".
1340
13412008-10-18 Ulrich Mueller <ulm@gentoo.org>
1342
1343 * m/sh3.h: New file, machine description for SuperH.
1344
13452008-10-17 Martin Rudalics <rudalics@gmx.at>
1346
1347 * window.c (Fsplit_window): Rename arg horflag to horizontal.
1348
13492008-10-17 Kenichi Handa <handa@m17n.org>
1350
1351 * ftfont.c (ftfont_otf_features): Fix indexing
1352 gsub_gpos->FeatureList.Feature. Check the validity of indices.
1353
13542008-10-16 Magnus Henoch <mange@freemail.hu>
1355
1356 * dbusbind.c (Fdbus_call_method): Unbreak usage line.
1357 (Fdbus_call_method_asynchronously): Ditto.
1358 This change makes C-h f display the argument list.
1359
13602008-10-16 Chong Yidong <cyd@stupidchicken.com>
1361
1362 * fileio.c (Fexpand_file_name): Doc fix.
1363
1364 * xfaces.c (Finternal_set_lisp_face_attribute): Make null values
1365 of :foreground and :background equivalent to unspecified (20.x
1366 compatibility).
1367
13682008-10-15 Eli Zaretskii <eliz@gnu.org>
1369
1370 * buffer.c (syms_of_buffer): Doc fix.
1371
13722008-10-14 Kenichi Handa <handa@m17n.org>
1373
1374 * font.c (font_clear_prop): When clearing font width, clear the
1375 average width field too.
1376
13772008-10-12 Andreas Schwab <schwab@suse.de>
1378
1379 * ftfont.c (ftfont_shape_by_flt): Make static.
1380 * ftfont.h (ftfont_shape_by_flt): Don't declare.
1381
1382 * font.c: Don't include <m17n-flt.h>.
1383
13842008-10-10 Eli Zaretskii <eliz@gnu.org>
1385
1386 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Decrease to 10000.
1387
13882008-10-09 Eli Zaretskii <eliz@gnu.org>
1389
1390 * frame.c (make_terminal_frame) [MSDOS]: Remove unused #ifdef'ed
1391 away code.
1392
13932008-10-09 Chong Yidong <cyd@stupidchicken.com>
1394
1395 * dispnew.c (update_text_area): Avoid looping due to large glyph
1396 overhangs (bug#1070).
1397
13982008-10-09 Kenichi Handa <handa@m17n.org>
1399
1400 * fontset.c (face_for_char): If face->fontset is negative, just
1401 return ascii_face.
1402
f5385255
SM
1403 * font.c (font_delete_unmatched): Fix previous change.
1404 Don't reject an entity if DPI and AVGWIDTH of an entity are 0.
aac0c6e3
MR
1405
14062008-10-09 Martin Rudalics <rudalics@gmx.at>
1407
1408 * frame.c (Fraise_frame): On text-only terminals select frame in
1409 order to make it visible. (Bug#1061)
1410
14112008-10-08 Chong Yidong <cyd@stupidchicken.com>
1412
1413 * fontset.c (fontset_find_font): Check frame validity.
1414
14152008-10-07 Chong Yidong <cyd@stupidchicken.com>
1416
a9b555d3 1417 * gtkutil.c (xg_display_open): Reset default display if none exists.
aac0c6e3
MR
1418 (xg_display_close): Allow Emacs to close all displays (bug#985).
1419
14202008-10-06 Andreas Schwab <schwab@suse.de>
1421
f5385255 1422 * sysdep.c (sys_signal): Always set SA_RESTART when noninteractively.
aac0c6e3
MR
1423
14242008-10-06 Chong Yidong <cyd@stupidchicken.com>
1425
f5385255 1426 * emacs.c (Vbefore_init_time, Vafter_init_time): Move from startup.el.
aac0c6e3 1427
a9b555d3 1428 * lisp.h (Vbefore_init_time, Vafter_init_time): Declare.
aac0c6e3
MR
1429
1430 * gtkutil.c (x_wm_set_size_hint): Return immediately if called
1431 during initialization.
1432
14332008-10-04 Eli Zaretskii <eliz@gnu.org>
1434
1435 * xdisp.c (redisplay_internal): If frame switched, redisplay the
1436 whole thing on MSDOS frames as well as on a TTY.
1437
1438 * dispnew.c (update_frame): Flush termscript for MSDOS frames as
1439 well as for TTY.
1440 (Fopen_termscript): Allow opening a termscript on MSDOS frames as
1441 well as on a TTY.
1442
1443 * sysdep.c (init_sys_modes): Set FRAME_GARBAGED_P for MSDOS frames
1444 as well as for TTY.
1445
1446 * systime.h (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
1447
1448 * dispnew.c (change_frame_size_1): Set FrameRows and FrameCols for
1449 MSDOS frames as well.
1450
14512008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
1452
1453 * image.c (x_clear_image_1): Under NS, call ns_free_indexed_color with
1454 correct arguments.
1455 * menu.c (find_and_return_menu_selection) Add cast.
1456
14572008-10-03 Glenn Morris <rgm@gnu.org>
1458
1459 * emacs.c (USAGE1): Add --daemon.
1460
14612008-10-02 Eli Zaretskii <eliz@gnu.org>
1462
1463 * process.c (procfs_system_process_attributes): Multiply `pcpu' by
1464 100, so it's in percents as advertised.
1465
14662008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
1467
1468 * nsterm.h (ns_cursor_types, ns_output.desired_cursor_color)
1469 (ns_output.current_cursor, ns_output.desired_cursor)
1470 (ns_output.last_inactive, FRAME_CURSOR, FRAME_NEW_CURSOR)
1471 (FRAME_NEW_CURSOR_COLOR): Remove.
1472
1473 * nsfns.m (ns_set_cursor_color): Use FRAME_CURSOR_COLOR.
a9b555d3 1474 (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp): Use core Emacs
aac0c6e3
MR
1475 enumeration (HOLLOW_BOX_CURSOR, etc.).
1476
1477 * nsterm.m (ns_frame_rehighlight): Remove commented code.
1478 (draw_window_cursor): Simplify code.
f5385255
SM
1479 (EmacsView-windowDidBecomeKey:,-windowDidResignKey:):
1480 Don't change cursor type. In latter, call rehighlight instead of doing
aac0c6e3 1481 updates manually.
a9b555d3
JB
1482 (EmacsPrefsController-setPanelFromValues,-setValuesFromPanel):
1483 Use core Emacs cursor types.
aac0c6e3 1484
b8ff72fa 1485 * xdisp.c (draw_glyphs): Don't call notice_overwritten_cursor under NS.
aac0c6e3
MR
1486
14872008-10-02 Martin Rudalics <rudalics@gmx.at>
1488
1489 * process.c (Faccept_process_output): Fix doc-string.
1490
14912008-10-02 Dan Nicolaescu <dann@ics.uci.edu>
1492
1493 * gmalloc.c (__sbrk): Also define for uClibc.
1494
1495 * s/gnu-linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Add definition
1496 for uClibc.
1497
14982008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1499
1500 * nsfont.m (nsfont_spec_to_traits): Use UnXX masks only for non-normal
1501 styles.
1502 (nsfont_open): Reenable the cache.
1503
15042008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1505
1506 * font.c (font_matching_entity): Reflect ATTRS in font selection.
1507 (font_find_for_lface) [HAVE_NS]: Don't ignore case.
1508
15092008-09-30 Stefan Monnier <monnier@iro.umontreal.ca>
1510
1511 * dispnew.c (Fsend_string_to_terminal): Don't try to send a string to
1512 a suspended terminal.
1513
15142008-09-30 Michael Albinus <michael.albinus@gmx.de>
1515
1516 * dbusbind.c (xd_signature): Use strcat instead of sprintf.
1517
15182008-09-30 Eli Zaretskii <eliz@gnu.org>
1519
1520 * Makefile.in (MSDOS_SUPPORT): Remove ccl.elc and codepage.elc.
1521
15222008-09-30 Chong Yidong <cyd@stupidchicken.com>
1523
1524 * xdisp.c (move_it_to): Don't advance the iterator if the last tab
1525 in a continued line coincides with a line beginning.
1526
15272008-09-29 Adrian Robert <Adrian.B.Robert@gmail.com>
1528
1529 * nsfont.m (nsfont_trait_distance): Fix bug.
1530 (nsfont_list): Return a list rather than a vector (syncs with Handa
1531 changes of 2008-05-14).
1532 (nsfont_open): Improve logging.
1533
15342008-09-29 Andreas Schwab <schwab@suse.de>
1535
1536 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
1537
15382008-09-28 Martin Rudalics <rudalics@gmx.at>
1539
1540 * character.c (Fchar_resolve_modifiers): Rewrite Elisp function
1541 name as char-resolve-modifiers.
1542 Reported by: Markus Triska <markus.triska@gmx.at>
1543
15442008-09-28 Dan Nicolaescu <dann@ics.uci.edu>
1545
1546 * dispnew.c (init_display): Return earlier when running as a daemon.
1547
15482008-09-27 Adrian Robert <Adrian.B.Robert@gmail.com>
1549
1550 * nsfont.m (nsfont_draw): Fix up composition rendering (cmp_from, ...).
1551
15522008-09-27 Eli Zaretskii <eliz@gnu.org>
1553
1554 * composite.c (Fcomposition_get_gstring)
1555 (Fcompose_region_internal, Fcompose_string_internal)
1556 (Ffind_composition_internal): Doc fix.
1557 (syms_of_composite) <compose-chars-after-function>: Doc fix.
1558 (syms_of_composite) <auto-composition-function>: Doc fix.
1559 (syms_of_composite) <composition-function-table>: Doc fix.
1560
15612008-09-25 Chong Yidong <cyd@stupidchicken.com>
1562
1563 * search.c (wordify): New argument for lax word-ends.
1564 (Fword_search_forward_lax, Fword_search_backward_lax): New funs.
1565
15662008-09-24 Dan Nicolaescu <dann@ics.uci.edu>
1567
1568 * lisp.h (is_daemon): Declare.
1569 * dispnew.c (init_display): Do not try to initialize the terminal
1570 when running as a daemon.
1571
15722008-09-22 Chong Yidong <cyd@stupidchicken.com>
1573
1574 * nsfns.m (compute_tip_xy): Use x_display_pixel_width and
1575 x_display_pixel_height.
1576
15772008-09-22 Martin Rudalics <rudalics@gmx.at>
1578
1579 * undo.c (record_point): Don't call Fundo_boundary for first
1580 change. (Bug#731)
1581
15822008-09-22 Juanma Barranquero <lekktu@gmail.com>
1583
1584 * emacs.c (Fdaemonp): Doc fix.
1585
15862008-09-22 Dan Nicolaescu <dann@ics.uci.edu>
1587
1588 * emacs.c (main): Place #ifdef in the proper place.
1589
15902008-09-21 Dan Nicolaescu <dann@ics.uci.edu>
1591
1592 * emacs.c (standard_args): Add --daemon.
1593 (main): Disconnect from the terminal when --daemon is passed.
1594 (is_daemon): New variable.
1595 (Fdaemonp): New function.
1596 (syms_of_emacs): Defsubr it.
1597
15982008-09-20 Chong Yidong <cyd@stupidchicken.com>
1599
1600 * xdisp.c (get_next_display_element): Handle string display
1601 correctly when checking for the end of a box run.
1602
16032008-09-20 Glenn Morris <rgm@gnu.org>
1604
1605 * fileio.c (Qdelete_by_moving_to_trash): New Lisp_Object.
1606 (syms_of_fileio): Add Qdelete_by_moving_to_trash.
1607 (Frename_file): Avoid copying to trash if a rename involves
1608 a delete. (Bug#964).
1609
16102008-09-20 Eli Zaretskii <eliz@gnu.org>
1611
1612 * keyboard.c (Fset_quit_char, Fset_input_meta_mode)
1613 (Fset_output_flow_control, Fcurrent_input_mode): Support MSDOS
1614 frames as well as termcap frames.
1615 (handle_interrupt): Remove "#ifndef MSDOS" around the call to
1616 get_named_tty.
1617
16182008-09-19 Eli Zaretskii <eliz@gnu.org>
1619
1620 * process.c (procfs_system_process_attributes): Fix cmdline in
1621 case /proc/PID/cmdline is empty.
1622
1623 * xterm.c (x_wm_set_size_hint): Use x_display_pixel_width and
1624 x_display_pixel_height.
1625
16262008-09-19 Juanma Barranquero <lekktu@gmail.com>
1627
1628 * frame.c (x_fullscreen_adjust): Declare var as Display_Info.
1629
1630 * w32fns.c (Fx_display_pixel_width, Fx_display_pixel_height)
1631 (compute_tip_xy): Use x_display_pixel_width, x_display_pixel_height.
1632
16332008-09-19 Dan Nicolaescu <dann@ics.uci.edu>
1634
1635 * dispextern.h (struct it): Move line_wrap away from the middle of
1636 bitfields. Move voffset in struct iterator_stack_entry after the
1637 bitfields. Move tab_width near after another short.
1638
16392008-09-18 Dan Nicolaescu <dann@ics.uci.edu>
1640
1641 * frame.h (struct frame): Move alpha from the middle of bitfields.
1642
1643 * window.h (struct window): Move frozen_window_start_p after the
1644 rest of the bitfields to reduce padding.
1645
16462008-09-18 Chong Yidong <cyd@stupidchicken.com>
1647
1648 * xterm.h (x_display_info): Remove `height' and `width' members.
1649
1650 * nsterm.h (ns_display_info): Remove `height' and `width' members.
1651
1652 * w32term.h (w32_display_info): Remove `height', `width',
1653 `height_in', and `width_in' members.
1654
b8ff72fa
SM
1655 * xterm.c (x_display_pixel_height, x_display_pixel_width):
1656 New functions.
aac0c6e3
MR
1657 (x_calc_absolute_position): Use them.
1658 (x_term_init): Omit removed `height' and `width' members.
1659
b8ff72fa
SM
1660 * w32term.c (x_display_pixel_height, x_display_pixel_width):
1661 New functions.
aac0c6e3
MR
1662 (w32_read_socket, x_calc_absolute_position): Use them.
1663 (w32_initialize_display_info, w32_term_init): Omit removed members
1664 of w32_display_info.
1665
b8ff72fa
SM
1666 * nsterm.m (x_display_pixel_height, x_display_pixel_width):
1667 New functions.
1668 (ns_initialize_display_info): Omit removed members of ns_display_info.
aac0c6e3 1669
b8ff72fa
SM
1670 * xterm.c (x_display_pixel_height, x_display_pixel_width):
1671 New functions.
aac0c6e3
MR
1672 (x_calc_absolute_position): Use them.
1673 (x_term_init): Omit removed `height' and `width' members.
1674
1675 * xfns.c (Fx_display_pixel_width, Fx_display_pixel_height)
b8ff72fa
SM
1676 (compute_tip_xy):
1677 * frame.c (x_fullscreen_adjust):
aac0c6e3
MR
1678 * xmenu.c (menu_position_func): Use x_display_pixel_height and
1679 x_display_pixel_width.
1680
16812008-09-18 Kenichi Handa <handa@m17n.org>
1682
1683 * composite.c (fill_gstring_header): Don't check FROM and TO here.
1684 (composition_compute_stop_pos): Fix handling of static composition.
1685 (Fcomposition_get_gstring): Check FROM and TO at first.
1686
16872008-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
1688
1689 * composite.c (Fcomposition_get_gstring): Yet another int/Lisp_Oject
1690 mixup (YAILOM).
1691
16922008-09-17 Chong Yidong <cyd@stupidchicken.com>
1693
1694 * indent.c (Fvertical_motion): Use position reported by iterator
1695 instead of PT for determining screen motion (bug#943).
1696
16972008-09-17 Romain Francoise <romain@orebokech.com>
1698
1699 * composite.c (composition_adjust_point): Fix int/EMACS_INT mixup.
1700
17012008-09-17 Kenichi Handa <handa@m17n.org>
1702
1703 * ftfont.c (ftfont_shape_by_flt): Downcase family name.
1704
1705 * composite.c (Fcomposition_get_gstring): Make bigger gstring_work
1706 if necessary.
1707
17082008-09-16 Kenichi Handa <handa@m17n.org>
1709
1710 * coding.c (make_conversion_work_buffer): Avoid calling
1711 Fget_buffer_create if it is not necessary.
1712
17132008-09-15 Martin Rudalics <rudalics@gmx.at>
1714
1715 * window.c (Fselect_window): Don't update window_select_count and
1716 use_time when norecord is not nil.
1717
17182008-09-14 Kenichi Handa <handa@m17n.org>
1719
1720 * fileio.c (Finsert_file_contents): Delete incorrect decrement of
1721 specpdl_ptr.
1722
17232008-09-12 Kenichi Handa <handa@m17n.org>
1724
1725 * indent.c (scan_for_column): Don't handle automatic composition
1726 if the current buffer is not associated with a window.
1727
1728 * composite.c (composition_reseat_it): If the current buffer is
1729 not associated with a window, ignore the automatic composition.
1730 (find_automatic_composition): Likewise.
1731
17322008-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
1733
1734 * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
1735 (Fgpm_mouse_stop): Use it.
1736 * termhooks.h (close_gpm): Declare.
1737 * keyboard.c (tty_read_avail_input): Forcefully close the gpm
1738 connection if Gpm_GetEvent fails.
1739
1740 * window.c (set_window_buffer): Always preserve current-buffer.
1741
17422008-09-12 Glenn Morris <rgm@gnu.org>
1743
1744 * charset.c (init_charset): Warn if etc/charsets not found. (Bug#909)
1745
17462008-09-11 Glenn Morris <rgm@gnu.org>
1747
1748 * charset.c (charset-map-path): Doc fix.
1749
17502008-09-10 Kenichi Handa <handa@m17n.org>
1751
1752 * xdisp.c (handle_composition_prop): Set it->cmp_it.ch to -1.
1753
1754 * font.c (Ffont_shape_gstring): Make glyphs of non-nil adjustment
1755 compose a grapheme cluster with the preceding base glyph.
1756
1757 * composite.c (composition_compute_stop_pos): Fix previous change.
1758 Reset cmp_it->id to -1 at first.
1759
17602008-09-10 Glenn Morris <rgm@gnu.org>
1761
1762 * Makefile.in (character.o, chartab.o): Fix config.h typo.
1763
17642008-09-09 Chong Yidong <cyd@stupidchicken.com>
1765
1766 * keyboard.c (read_key_sequence): Reapply translation maps when
1767 switching keyboards.
1768
17692008-09-09 Kenichi Handa <handa@m17n.org>
1770
1771 * ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII
1772 characters.
1773
1774 * composite.c (FORWARD_CHAR): Fix calculation
1775 of (POSITION).pos_byte.
1776 (composition_compute_stop_pos): Limit the search of composition to
1777 at most 500 characters ahead. If we reach the limit or find a
1778 newline, set cmp_it->ch to -2 and return 0.
1779 (composition_reseat_it): Handle the case that cmp_it->ch is -2.
1780
17812008-09-08 Kenichi Handa <handa@m17n.org>
1782
1783 * indent.c (Fvertical_motion): Be sure to set
1784 it_overshoot_expected if it.cmp_it.id is non-negative.
1785
17862008-09-07 Andreas Schwab <schwab@suse.de>
1787
1788 * callproc.c (Fcall_process): Don't hold references to string data
1789 across garbage collection. Move initialisation of new_argv down
1790 to avoid compiler bug.
1791
17922008-09-07 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
1793
1794 * process.c (Fsystem_process_attributes): Doc fix.
1795
17962008-09-07 Chong Yidong <cyd@stupidchicken.com>
1797
1798 * callproc.c (Fcall_process): Canonicalize current directory name.
1799
1800 * xdisp.c (move_it_to): When moving by vpos, ensure that the
1801 iterator advances to the next line if the current line ends in a
1802 continued tab.
1803
18042008-09-07 Teodor Zlatanov <tzz@lifelogs.com>
1805
1806 * nsfont.m (nsfont_draw): Fix the references to missing gidx data
1807 member to point to cmp_from.
1808
1809 * xdisp.c: Doc fix for references to gidx data member.
1810
18112008-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
1812
1813 * buffer.c (Fbuffer_swap_text): Reset window->point markers.
1814
18152008-09-07 Kenichi Handa <handa@m17n.org>
1816
1817 * composite.c (FORWARD_CHAR): Check STOP after
1818 incrementing (POSITION).pos.
1819
18202008-09-06 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
1821
1822 * process.c (Fsystem_process_attributes): Doc fix.
1823
18242008-09-06 Chong Yidong <cyd@stupidchicken.com>
1825
1826 * keyboard.c (Ftop_level): Doc fix.
1827
18282008-09-06 Eli Zaretskii <eliz@gnu.org>
1829
1830 * xmenu.c (xmenu_show) [!HAVE_X_WINDOWS]: If frame has a
1831 minibuffer, don't let lower part of menu invade the echo area.
1832
1833 * msdos.c (IT_menu_display): Use STRING_CHAR_ADVANCE instead of a
1834 "char *q" to access menu text and advance through it. Revert the
1835 change that displayed ">" instead of ASCII character 0x10.
1836
18372008-09-05 Eli Zaretskii <eliz@gnu.org>
1838
1839 * menu.c (single_menu_item) [!HAVE_BOXES]: Enable emulation of
1840 toggle boxes and radio buttons on MS-DOS as well.
1841
18422008-09-05 Kenichi Handa <handa@m17n.org>
1843
1844 * composite.c (autocmp_chars): Check lookback count.
1845 (composition_compute_stop_pos): Set cmp_it->lookback.
1846 (composition_reseat_it): Check lookback count.
1847 (struct position_record): New struct.
1848 (FORWARD_CHAR, BACKWARD_CHAR, CHAR_COMPOSABLE_P): New macros.
1849 (find_automatic_composition): New function.
1850 (composition_adjust_point): Use find_automatic_composition.
1851
1852 * dispextern.h (struct composition_it): New member lookback.
1853
18542008-09-02 Chong Yidong <cyd@stupidchicken.com>
1855
1856 * indent.c (Fvertical_motion): Don't call move_it_by_lines again
1857 if moving by a single line.
1858
18592008-09-02 Andreas Schwab <schwab@suse.de>
1860
1861 * xterm.c (x_delete_display): Fix merge error.
1862
1863 * fileio.c (Fexpand_file_name): Remove unused variables.
1864
18652008-09-02 Eli Zaretskii <eliz@gnu.org>
1866
1867 * fileio.c (Fexpand_file_name): Copy argument `name' into local
1868 storage on all platforms, not just on DOS_NT.
1869
18702008-09-02 Jason Rumney <jasonr@gnu.org>
1871
b8ff72fa
SM
1872 * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show):
1873 Ensure mouse is not grabbed after menu is finished.
aac0c6e3
MR
1874
18752008-09-01 Chong Yidong <cyd@stupidchicken.com>
1876
1877 * xfaces.c (Finternal_set_alternative_font_family_alist)
1878 (Finternal_set_alternative_font_registry_alist): Properly copy
1879 entire alist structure.
1880
18812008-09-01 Kenichi Handa <handa@m17n.org>
1882
d66c0241 1883 * ftfont.c (ftfont_spec_pattern): Don't create a charset if the
aac0c6e3 1884 representative chars of the script is a vector.
d66c0241
JB
1885 (ftfont_list): Handle the case where the representative chars of
1886 the script is a vector.
aac0c6e3
MR
1887
1888 * character.c (syms_of_character): Docstring of
1889 script-representative-chars fixed.
1890
18912008-08-31 Eli Zaretskii <eliz@gnu.org>
1892
1893 * msdos.c (BUILD_CHAR_GLYPH): New macro.
1894 (IT_menu_display): Use it instead of SET_CHAR_GLYPH to construct
1895 the menu. Allocate larger buffer for `text', to account for
1896 possible ^C characters.
1897
18982008-08-31 Martin Rudalics <rudalics@gmx.at>
1899
1900 * xdisp.c (prepare_menu_bars): Don't call
1901 Vwindow_size_change_functions with arg Qt.
1902
19032008-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
1904
1905 * font.h (font_range):
1906 * fileio.c (report_file_error):
1907 * composite.c (composition_update_it): Yet another int/Lisp_Oject mixup.
1908
19092008-08-30 Glenn Morris <rgm@gnu.org>
1910
1911 * data.c (Fmake_variable_frame_local): Doc fix.
1912
1913 * frame.c (Fmodify_frame_parameters): Doc fix.
1914
19152008-08-30 Eli Zaretskii <eliz@gnu.org>
1916
1917 * w32.c (init_user_info): Allocate buf[] with xmalloc using the size
1918 needed by GetTokenInformation.
1919 (w32_system_process_attributes): Check return values of all system
1920 APIs.
1921
1922 * msdos.c (IT_display_cursor): Write "CURSOR ON/OFF" to termscript
1923 only when the state changes.
1924 (IT_update_begin, IT_update_end): Add termscript trace.
1925
1926 * w16select.c (Fw16_set_clipboard_data): Don't encode text if
1927 clipboard is unavailable. Set dst to NULL if it doesn't point to
1928 malloc'ed data.
1929 (Fw16_get_clipboard_data): Initialize htext to NULL, to avoid
1930 passing random values to xfree.
1931
1932 * dispnew.c (init_display): Set `tty's association in frame's
b8ff72fa 1933 parameters alist to the name of the terminal device, if that is known.
aac0c6e3
MR
1934
19352008-08-29 Jason Rumney <jasonr@gnu.org>
1936
1937 * w32uniscribe.c (uniscribe_check_otf): Don't fallback on DFLT script.
1938
19392008-08-29 Eli Zaretskii <eliz@gnu.org>
1940
1941 * composite.c (fill_gstring_body): Avoid compiler warnings.
1942
1943 * font.c (font_fill_lglyph_metrics): Use EMACS_INT in
1944 LGLYPH_SET_CODE to avoid compiler warnings.
1945
2ae37cf0 1946 * makefile.w32-in ($(BLD)/w32uniscribe.$(O)): Depend on composite.h.
aac0c6e3
MR
1947
1948 * composite.h (LGLYPH_SET_CODE): Cast `val' to EMACS_INT.
1949
1950 * w32uniscribe.c (uniscribe_shape): Shut up compiler warning in
1951 LGLYPH_SET_CODE.
1952
19532008-08-29 Kenichi Handa <handa@m17n.org>
1954
1955 * fileio.c (report_file_error): Don't downcase the first character
1956 of errstring if it is still unibyte.
1957
19582008-08-29 Kenichi Handa <handa@m17n.org>
1959
1960 These changes are to re-implement the automatic composition so
1961 that it doesn't use text properties.
1962
1963 * Makefile.in (ftfont.o): Depend on composite.h.
1964 (composite.o): Depend dispextern.h, font.h, frame, and window.h.
1965
1966 * character.h (Vunicode_category_table): Extern it.
1967
1968 * character.c (Vunicode_category_table): New variable.
1969 (syms_of_character): DEFVAR_LISP Vunicode_category_table.
1970
1971 * chartab.c (optimize_sub_char_table): Perform more greedy
1972 optimization.
1973
b8ff72fa
SM
1974 * composite.h (enum composition_method):
1975 Delete COMPOSITION_WITH_GLYPH_STRING.
aac0c6e3
MR
1976 (COMPOSITION_METHOD): Don't check COMPOSITION_WITH_GLYPH_STRING.
1977 (Vcomposition_function_table): Extern it.
1978 (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h.
1979 (composition_gstring_put_cache, composition_gstring_from_id)
1980 (composition_gstring_p, composition_gstring_width)
1981 (composition_compute_stop_pos, composition_reseat_it)
1982 (composition_update_it, composition_adjust_point): Extern them.
1983 (Fcomposition_get_gstring): EXFUN it.
1984
d66c0241 1985 * composite.c: Include window.h, frame.h, dispextern.h, font.h.
aac0c6e3
MR
1986 (Vcomposition_function_table)
1987 (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING.
b8ff72fa
SM
1988 (gstring_hash_table, gstring_work, gstring_work_headers):
1989 New variables.
aac0c6e3
MR
1990 (gstring_lookup_cache, composition_gstring_put_cache)
1991 (composition_gstring_from_id, composition_gstring_p)
1992 (composition_gstring_width, fill_gstring_header)
1993 (fill_gstring_body, autocmp_chars, composition_compute_stop_pos)
1994 (composition_reseat_it, composition_update_it)
b8ff72fa 1995 (composition_adjust_point, Fcomposition_get_gstring): New functions.
aac0c6e3
MR
1996 (syms_of_composite): Initialize gstring_hash_table, gstrint_work,
1997 and gstring_work_headers. DEFVAR_LISP composition-function-table.
1998 Defsubr compostion_get_gstring.
1999
2000 * dispextern.h (struct glyph): New union u.cmp. Delete the member
2001 cmp_id.
2002 (struct glyph_string): Delete the member gidx. New members
2003 cmp_id, cmp_from, and cmp_to.
2004 (enum it_method): Delete GET_FROM_COMPOSITION.
2005 (struct composition_it): New struct.
2006 (struct it): New member cmp_it, and iterator_stack_entry.cmp_it.
2007 Delete c, len, cmp_id, cmp_len in u.comp.
2008
2009 * font.h (enum lgstring_indices): Delete it.
b8ff72fa 2010 (LGSTRING_XXX, LGLYPH_XXX): Move these macros to composite.h.
aac0c6e3 2011 (enum lglyph_indices): Likewise.
b8ff72fa 2012 (font_range): Adjust extern.
aac0c6e3
MR
2013 (font_fill_lglyph_metrics): Extern it.
2014
2015 * font.c (QCf): New variable.
2016 (check_gstring): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
2017 (font_prepare_composition): Delete this function.
2018 (font_range): Type and arguments changed.
2019 (Ffont_make_gstring, Ffont_fill_gstring): Delete them.
2020 (font_fill_lglyph_metrics): New function.
b8ff72fa 2021 (Ffont_shape_text): Rename to Ffont_shape_gstring and change arguments.
aac0c6e3 2022 (syms_of_font): DEFSYM QCf. Delete defsubr for
b8ff72fa
SM
2023 Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text.
2024 Defsubr Sfont_shape_gstring.
aac0c6e3
MR
2025
2026 * fontset.h (font_for_char): Extern it.
2027
2028 * fontset.c (font_for_char): New function.
2029
2030 * ftfont.c: Include composite.h.
2031 (ftfont_resolve_generic_family): Add langset "en" to pattern.
b8ff72fa 2032 (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
aac0c6e3
MR
2033
2034 * indent.c: Include composite.h and dispextern.h.
2035 (check_composition): Delete this function.
2036 (scan_for_column): Handle composition by
2037 composition_compute_stop_pos, composition_reseat_it, and
2038 composition_update_it.
2039 (compute_motion): Likewise.
2040 (Fvertical_motion): Fix checking of composition.
2041
2042 * keyboard.c (adjust_point_for_property): Check composition by
2043 composition_adjust_point.
2044
b8ff72fa 2045 * nsterm.m (ns_draw_glyph_string): Adjust for the change of
aac0c6e3
MR
2046 struct glyph_string.
2047
b8ff72fa
SM
2048 * term.c (encode_terminal_code): Adjust for the change of struct glyph.
2049 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3
MR
2050 struct glyph.
2051 (produce_composite_glyph): Likewise.
2052
b8ff72fa
SM
2053 * w32term.c (x_draw_composite_glyph_string_foreground):
2054 Adjust for the change of struct glyph_string.
aac0c6e3
MR
2055 (x_draw_glyph_string): Likewise.
2056
2057 * w32uniscribe.c (struct uniscribe_font_info): Include composite.h.
2058 (uniscribe_shape): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
2059
2060 * xdisp.c: Include font.h.
2061 (it_props): Delete the entry for Qauto_composed.
2062 (init_iterator): Initialize it->cmp_it.id to -1.
2063 (compute_stop_pos): Call composition_compute_stop_pos.
b8ff72fa 2064 (face_before_or_after_it_pos): Adjust for the change of struct it.
aac0c6e3
MR
2065 (handle_auto_composed_prop): Delete it.
2066 (handle_composition_prop): Handle only static composition.
2067 (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION
2068 from xassert. Initialize it->cmp_it.stop_pos.
b8ff72fa 2069 (push_it): Adjust for the change of struct it.
aac0c6e3
MR
2070 (pop_it): Likewise.
2071 (get_next_element): Delete next_element_from_composition.
2072 (CHAR_COMPOSED_P): New macro.
2073 (get_next_display_element): For automatic composition, get a face
2074 from the font in the glyph-string.
2075 (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING,
b8ff72fa 2076 check composition by it->cmp_it.id. Delete GET_FROM_COMPOSITION case.
aac0c6e3
MR
2077 (next_element_from_string): Check if the character at the current
2078 position is composed by CHAR_COMPOSED_P.
2079 (next_element_from_buffer): Likewise.
d66c0241
JB
2080 (next_element_from_composition): Adjust for the change of struct it.
2081 Update it->cmp_it.
b8ff72fa
SM
2082 (dump_glyph): Adjust for the change of struct glyph.
2083 (fill_composite_glyph_string): Adjust for the change of struct
aac0c6e3
MR
2084 it and struct glyph. Don't handle automatic composition here.
2085 (fill_gstring_glyph_string): New function.
2086 (x_get_glyph_overhangs): Handle automatic composition.
b8ff72fa 2087 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the change of struct glyph.
aac0c6e3
MR
2088 (BUILD_GSTRING_GLYPH_STRING): New macro.
2089 (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for
2090 automatic composition.
b8ff72fa 2091 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3 2092 struct glyph.
b8ff72fa 2093 (x_produce_glyphs): Adjust for the change of struct it.
aac0c6e3 2094
b8ff72fa 2095 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aac0c6e3
MR
2096 the change of struct glyph_string.
2097 (x_draw_glyph_string): Likewise.
2098
20992008-08-29 Glenn Morris <rgm@gnu.org>
2100
2101 * buffer.c (word-wrap): Doc fix.
2102 * xdisp.c (truncate-partial-width-windows): Doc fix.
2103 Increase default to 50.
2104
21052008-08-29 Chong Yidong <cyd@stupidchicken.com>
2106
2107 * xdisp.c (update_tool_bar_unwind): New function.
2108 (update_tool_bar): Temporarily set selected frame before building
2109 tool-bar items.
2110
21112008-08-28 Michael Albinus <michael.albinus@gmx.de>
2112
2113 * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and
2114 snprintf, respectively.
2115 (xd_append_arg): Convert strings with Fstring_make_unibyte.
2116
21172008-08-28 Chong Yidong <cyd@stupidchicken.com>
2118
2119 * Makefile.in: Revert (undocumented) 2008-08-20 change adding
2120 LDFLAGS to GNUstep CC invocation.
2121
21222008-08-27 Chong Yidong <cyd@stupidchicken.com>
2123
2124 * indent.c (Fvertical_motion): Revert last change. Handle the
2125 general case where we are moving forward, and PT spans multiple
2126 screen lines.
2127
2128 * eval.c (find_handler_clause): Temporarily increase
2129 max-lisp-eval-depth while printing the backtrace buffer, to
2130 guarantee that help-mode code can run.
2131
21322008-08-27 Eli Zaretskii <eliz@gnu.org>
2133
2134 * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame
2135 colors under -rv.
2136 (IT_set_frame_parameters): Don't swap foreground and background
2137 colors if `(reverse . t)' is present in the frame properties.
2138 (internal_terminal_init): Call init_frame_faces only for the
2139 initial frame.
2140
21412008-08-27 Andreas Schwab <schwab@suse.de>
2142
2143 * dired.c (Ffile_attributes): Avoid compiler warning in bitshift.
2144
21452008-08-27 Andreas Schwab <schwab@suse.de>
2146
2147 * search.c (search_buffer): Set char_base to zero only at the end.
2148
21492008-08-27 Kenichi Handa <handa@m17n.org>
2150
b8ff72fa 2151 * fileio.c (report_file_error): Fix handling of multibyte error string.
aac0c6e3
MR
2152
21532008-08-27 Andreas Seltenreich <seltenreich@gmx.de>
2154
2155 * xterm.c (x_term_init): Temporarily hide the partially
2156 initialized terminal while calling vendor-specific-keysyms.
2157
21582008-08-26 Eli Zaretskii <eliz@gnu.org>
2159
2160 * msdos.c (internal_terminal_init): Most initializations done only
2161 once, especially initial_screen_colors[] and termscript open.
2162
21632008-08-26 Chong Yidong <cyd@stupidchicken.com>
2164
2165 * eval.c (Fcondition_case): Doc fix.
2166
2167 * widgetprv.h (EmacsFramePart): Change font member to the new font
2168 struct.
2169
2170 * widget.c: Include character.h and font.h for XSETFONT.
2171 (setup_frame_gcs): Compute X font id from font struct, just once.
2172
21732008-08-26 Eli Zaretskii <eliz@gnu.org>
2174
2175 * term.c (get_named_tty): Fix last change.
2176
21772008-08-26 Chong Yidong <cyd@stupidchicken.com>
2178
2179 * indent.c (Fvertical_motion): If moving forward starting from a
b8ff72fa 2180 multi-line string, move the iterator to the last line of that string.
aac0c6e3
MR
2181
21822008-08-25 Eli Zaretskii <eliz@gnu.org>
2183
2184 * frame.c (do_switch_frame): Mark previously displayed frame as
2185 obscured for FRAME_MSDOS_P frames as well.
2186
21872008-08-24 Eli Zaretskii <eliz@gnu.org>
2188
2189 * frame.c (make_terminal_frame): Initialize f->terminal,
2190 f->terminal->reference_count, and scroll bars on MS-DOS as well.
2191 Set the top frame to newly created frame.
2192 (Fmake_terminal_frame): Reuse the_only_display_info.
2193
2194 * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of
2195 estimating available memory.
2196
b97439ce 21972008-08-23 David Reitter <david.reitter@gmail.com>
aac0c6e3
MR
2198
2199 * nsterm.m (ns_draw_window_cursor): Don't call
2200 NSDisableScreenUpdates and NSEnableScreenUpdates on
2201 non-NS_IMPL_COCOA systems.
2202
22032008-08-23 Andreas Schwab <schwab@suse.de>
2204
2205 * process.c (procfs_system_process_attributes): Fix use of
2206 uninitialized variables.
2207
22082008-08-23 Eli Zaretskii <eliz@gnu.org>
2209
2210 * emacs.c (main) [MSDOS]: Call syms_of_xmenu.
2211
2212 * dispnew.c (init_display): Remove MS-DOS specific conditions for
2213 calling tty-set-up-initial-frame-faces.
2214
b8ff72fa
SM
2215 * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show):
2216 Allow MSDOS frames along with X frames.
aac0c6e3
MR
2217
2218 * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in
2219 addition to output_termcap.
2220
2221 * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode.
2222
2223 * termchar.h (FRAME_TTY): Support output_msdos_raw.
2224 (struct tty_display_info) [MSDOS]: Add fields related to mouse
2225 highlight.
2226
2227 * process.c [!subprocesses]: Define QCname.
2228 (syms_of_process): Intern and staticpro it.
2229
2230 * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
b8ff72fa
SM
2231 Adjust for changes in encoding/decoding routines.
2232 Use encode_coding_object and decode_coding_object instead of
aac0c6e3
MR
2233 encode_coding and decode_coding.
2234
b8ff72fa 2235 * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as argument.
aac0c6e3
MR
2236
2237 * dosfns.c: Include frame.h before termhooks.h.
2238 (dos_cleanup): Use CURTTY ()->termscript instead of a global
2239 variable termscript.
2240
2241 * s/msdos.h (USER_FULL_NAME): Define.
2242 (SYSTEM_PURESIZE_EXTRA): Bump up to 100K.
2243
2244 * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined.
2245 (Fuser_full_name): Use USER_FULL_NAME instead of a literal
2246 pw->pw_gecos.
2247
2248 * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with
2249 SELECTED_FRAME as additional (1st) argument.
2250 (tty_read_avail_input): Handle output_msdos_raw in
2251 addition to output_termcap.
2252
2253 * msdos.c: Include frame.h before termhooks.h.
2254 (mouse_on, mouse_off, mouse_moveto, mouse_init)
2255 (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs)
2256 (show_mouse_face, IT_clear_end_of_line, IT_clear_screen)
2257 (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto)
2258 (IT_set_terminal_modes, IT_reset_terminal_modes)
2259 (IT_set_frame_parameters): Use tty->termscript instead of a global
2260 variable termscript.
2261 (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a
2262 global variable terminal_coding. Don't refer to
2263 Vnonascii_translation_table.
2264 (internal_terminal_init): Set Vwindow_system in current_kboard.
2265 Don't use TTY_CHAR_INS_DEL_OK. Set Vinitial_window_system.
2266 Announce date and time of session start, if termscript is open.
2267 Don't zero out the_only_display_info (it is done in
b8ff72fa
SM
2268 term.c:init_tty). Open termscript only of not already open.
2269 Log "SCREEN SAVED" here, instead of IT_set_terminal_modes. Init mouse
aac0c6e3
MR
2270 here instead of dos_ttraw. Don't initialize display if this is an
2271 initial tty. Don't set FRAME_FONT.
2272 (Vwindow_system_version): Bump to 23.
2273 (dos_ttraw): Accept a TTY argument; all callers fixed. If mouse
2274 is available, set up mouse_position_hook.
2275 (dos_ttraw, IT_set_terminal_modes): If called with initial
2276 terminal, do nothing.
2277 (IT_set_frame_parameters): Handle the Qtty_type frame
2278 parameter by calling internal_terminal_init.
2279 (dos_set_window_size, show_mouse_face)
2280 (clear_mouse_face, IT_note_mode_line_highlight)
2281 (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date)
2282 (dos_rawgetc): Use tty_display_info instead of x_display_info.
2283 (initialize_msdos_display): New function.
2284 (IT_cursor_to, IT_clear_to_end, IT_clear_screen)
2285 (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs)
2286 (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes)
2287 (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin):
b8ff72fa 2288 Accept additional argument: a pointer to a frame. Update all callers.
aac0c6e3
MR
2289 (request_sigio, unrequest_sigio): Don't define, now defined on
2290 sysdep.c.
2291 (IT_write_glyphs): Rewrite to use encode_terminal_code.
2292
2293 * term.c [MSDOS]: Include msdos.h.
2294 (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch. Change cpp
2295 conditional to DOS_NT. Allow only one call to this function in a
2296 session. Don't allocate a new struct tty_display_info; instead,
2297 reuse the_only_display_info. Call get_tty_size to get screen
2298 dimensions. Call init_baud_rate to set bad_rate.
2299 (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body.
2300 (Fsuspend_tty) [MSDOS]: Don't close input and output.
b8ff72fa 2301 (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use stdin/stdout.
aac0c6e3
MR
2302 (get_tty_terminal, get_named_tty, Ftty_type)
2303 (Fcontrolling_tty_p): Handle output_msdos_raw in addition to
2304 output_termcap.
b8ff72fa
SM
2305 (Fresume_tty, Fsuspend_tty, init_tty, delete_tty):
2306 Call add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor
2ae37cf0 2307 only when subprocesses are supported.
aac0c6e3
MR
2308
2309 * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of
2310 f->output_data.x.
2311 (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new
2312 terminal devices.
2313
5582fbc7 2314 * msdos.h: Remove definition of struct x_display_info and struct
aac0c6e3
MR
2315 x_output.
2316 (FRAME_FONT): Use output_data.tty.
2317 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define.
b8ff72fa
SM
2318 (struct x_display_info): Rename from display_info. Update all users in
2319 msdos.c.
aac0c6e3 2320 (struct x_output): Remove background_pixel and foreground_pixel.
b8ff72fa 2321 (the_only_display_info): Rename from the_only_x_display.
aac0c6e3
MR
2322 (dos_ttraw): Update prototype.
2323
2324 * Makefile.in (MSDOS_OBJ): Add xmenu.o.
2325 (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc.
2326
23272008-08-23 Jason Rumney <jasonr@gnu.org>
2328
2329 * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword.
2330 (fn_TIFFSetDirectory): New library function used.
2331 (init_tiff_functions) [HAVE_NTGUI]: Initialize it.
2332 (tiff_load): Use :index to select among multiple images. Set count
2333 property when multiple images exist.
2334 (gif_format): Use :index, not :image.
2335
23362008-08-23 Chong Yidong <cyd@stupidchicken.com>
2337
2338 * xdisp.c (try_scrolling): Check INT_MAX instead of
2339 MOST_POSITIVE_FIXNUM for maximum integer value. Include limits.h
2340 to obtain INT_MAX.
2341
23422008-08-21 İsmail Dönmez <ismail@namtrac.org> (tiny change)
2343
2344 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+.
2345
23462008-08-21 Christian Faulhammer <opfer@gentoo.org> (tiny change)
2347
2348 * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate
2349 GNUstep library location.
2350
23512008-08-21 Chong Yidong <cyd@stupidchicken.com>
2352
2353 * xfaces.c (x_update_menu_appearance): Check validity of menu font
2354 before using it.
2355
2356 * puresize.h (BASE_PURESIZE): Increase to 1250000.
2357
23582008-08-20 Adrian Robert <Adrian.B.Robert@gmail.com>
2359
2360 * nsfns.m (ns-read-file-name): Add casts to avoid warning.
2361 (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly.
2362 * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil.
2363 * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration.
2364 (EmacsApp-cursor_blink_handler): Remove declaration.
2365 * nsterm.m (ns_draw_glyph_string): Update first conditional body to
2366 match 01 Feb 2008 changes in xterm.c.
2367 (ns_read_socket): Add cast to avoid warning.
2368 (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on
2369 GNUstep.
2370
23712008-08-20 Chong Yidong <cyd@stupidchicken.com>
2372
2373 * xselect.c (x_get_foreign_selection): Return nil if desired
2374 selection could not be obtained, instead of signalling an error.
2375
23762008-08-20 David Reitter <david.reitter@gmail.com>
2377
2378 * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c.
2379 * nsterm.m: Remove ns-specific code for cursor blinking.
2380 (ns_draw_window_cursor): Clear cursor properly rather than
2381 redrawing the area. Respect width of bar cursors.
2382 These changes enable the use of generic blink-cursor-mode and
2383 generic cursor types in NS and support smooth cursor movements (do
2384 not blink off after command).
2385 * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on
2386 Nextstep, too.
2387
23882008-08-19 Kenichi Handa <handa@m17n.org>
2389
2390 * font.c (Vfont_log_deferred): New variable.
2391 (font_add_log): Check Vfont_log_deferred.
2392 (font_deferred_log): New function.
2393
2394 * font.h (font_deferred_log): Extern it.
2395
2396 * fontset.c (reorder_font_vector): Use encoding charset of fonts
2397 for sorting.
2398 (face_for_char): Use deferred log.
2399
24002008-08-18 Kenichi Handa <handa@m17n.org>
2401
2402 * fontset.c (face_for_char): Add font log.
2403
2404 * font.c (font_add_log): Add the font properties :script, :lang,
2405 and :otf in the log.
2406
24072008-08-17 Chong Yidong <cyd@stupidchicken.com>
2408
2409 * xdisp.c: Remove dead code.
2410 (handle_invisible_prop, next_overlay_string): Defer call to
2411 setup_for_ellipsis.
2412 (handle_stop, set_iterator_to_next): Call setup_for_ellipsis.
2413
24142008-08-15 Chong Yidong <cyd@stupidchicken.com>
2415
2416 * xfaces.c (lookup_derived_face): Properly handle possible zero
2417 return value of get_lface_attributes.
2418 (merge_faces): Don't tell lookup_derived_face to signal an error
2419 if face is not found.
2420
2421 * dired.c (Fdirectory_files): Doc fix.
2422
2423 * process.c (make_process): Initialize kill_without_query struct
2424 member.
2425
24262008-08-15 Eli Zaretskii <eliz@gnu.org>
2427
2428 * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]:
2429 Alternative calculation of totphys for Visual Studio 6.
2430
2431 * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR.
2432
2433 * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX):
2434 Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX.
2435 All users changed.
2436 (stat): Only root directory passed to GetDriveType. Allow RAM
2437 disk as well as local fixed disk when w32-get-true-file-attributes
2438 is set to `local'.
2439 (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs.
2440 (equal_sid, get_length_sid, copy_sid): New wrapper functions.
2441 (w32_cached_id, w32_add_to_cache): New functions.
2442 (get_name_and_id): Look account names in the cache before calling
2443 lookup_account_sid.
2444 (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid):
2445 New initialization flags.
2446 (globals_of_w32): Initialize them to zero.
2447 (w32_system_process_attributes): Use w32_cached_id and
2448 w32_add_to_cache.
2449
24502008-08-14 Lawrence Mitchell <wence@gmx.li>
2451
2452 * lread.c (Fread_char, Fread_char_exclusive): If no character
2453 event is read before timeout is reached, return nil, rather than
2454 converting to a number.
2455
24562008-08-14 Chong Yidong <cyd@stupidchicken.com>
2457
2458 * fns.c (use_dialog_box): Doc fix.
2459
2460 * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful
2461 on OS X.
2462
24632008-08-13 Chong Yidong <cyd@stupidchicken.com>
2464
2465 * frame.c (Qns_parse_geometry): New var.
2466 (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry.
2467
24682008-08-11 Chong Yidong <cyd@stupidchicken.com>
2469
2470 * xdisp.c (x_produce_glyphs): Handle the case when font has no
2471 space character in calculating tabs.
2472
24732008-08-11 Dan Nicolaescu <dann@ics.uci.edu>
2474
2475 * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case.
2476
24772008-08-10 Glenn Morris <rgm@gnu.org>
2478
2479 * process.c (procfs_system_process_attributes): Use EMACS_INTs to
2480 silence gcc "limited range of data type" warnings in some
2481 make_fixnum_or_float calls.
2482
24832008-08-09 Eli Zaretskii <eliz@gnu.org>
2484
2485 * w32.c (w32_system_process_attributes): If the process does not
2486 exist, return nil.
2487
2488 * w32.c: Include thelp32.h, psapi.h and coding.h.
2489 (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct
2490 declarations.
2491 (CreateToolhelp32Snapshot_Proc, Process32First_Proc)
2492 (Process32Next_Proc): New typedefs.
2493 (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first)
2494 (g_b_init_process32_next, g_b_init_open_thread_token)
2495 (g_b_init_impersonate_self, g_b_init_revert_to_self)
2496 (g_b_init_get_process_memory_info, g_b_init_global_memory_status)
2497 (g_b_init_get_process_working_set_size)
2498 (g_b_init_global_memory_status_ex): New static variables.
2499 (globals_of_w32): Initialize them.
2500 (create_toolhelp32_snapshot, process32_first, process32_next)
2501 (open_thread_token, impersonate_self, revert_to_self)
2502 (get_process_memory_info, get_process_working_set_size)
2503 (global_memory_status, global_memory_status_ex): New wrapper
2504 functions.
2505 (w32_list_system_processes, w32_system_process_attributes)
2506 (enable_privilege, restore_privilege, ltime, process_times):
2507 New functions.
2508 (convert_time_raw): New function.
2509 (convert_time): Remove conversion of FILETIME into time in 100
2510 nsec units, call convert_time_raw instead.
2511
2512 * process.h (w32_list_system_processes, w32_system_process_attributes):
2513 Add prototypes.
2514 (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname)
2515 (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime)
2516 (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup)
2517 (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations.
2518
2519 * process.c (Fsystem_process_attributes): Doc fix.
2520
25212008-08-08 Chong Yidong <cyd@stupidchicken.com>
2522
2523 * xdisp.c (move_it_to): When stopping at a charpos, check if that's
2524 a continued multi-char glyph; if so, advance to the actual glyph.
2525
25262008-08-07 Dan Nicolaescu <dann@ics.uci.edu>
2527
2528 * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in.
2529
2530 * Makefile.in (ALL_OBJC_CFLAGS): New variable.
2531 (.m.o): Use it.
2532 * config.in: Regenerate.
2533
25342008-08-07 Chong Yidong <cyd@stupidchicken.com>
2535
2536 * xdisp.c (redisplay_window): Revert last change.
2537 (try_window): Check bottom scroll margin too.
2538
25392008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
2540
2541 * config.in: Regenerate.
2542
2543 * Makefile.in (emacs): Remove ifndef NS conditional for 'emacs
2544 -list-load-path-shadows'.
2545 (nsgui.h): Reduce number of things depending on it.
2546
25472008-08-06 Chong Yidong <cyd@stupidchicken.com>
2548
2549 * xdisp.c (try_scrolling): Use iterator to find the scroll margin,
2550 instead of window-end which does the wrong thing at eob.
2551 (try_cursor_movement): Minor optimization.
2552 (redisplay_window): If scroll margin is defined, don't assume
2553 window doesn't need scrolling.
2554
25552008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
2556
2557 * config.in: Regenerate.
2558
2559 * Makefile.in: Move nsXXX.m dependencies into big alphabetical list.
2560 (mostlyclean): Don't delete *.d under NS.
2561
2562 * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER.
2563
25642008-08-06 Kenichi Handa <handa@m17n.org>
2565
2566 * xfont.c (xfont_list_family): Return a list of symbols, not strings.
2567
25682008-08-06 Andreas Schwab <schwab@suse.de>
2569
2570 * config.in: Regenerate.
2571
25722008-08-05 Chong Yidong <cyd@stupidchicken.com>
2573
2574 * xdisp.c (redisplay_window): Don't enforce scroll-margin when
2575 forcing a window start.
2576
2577 * fileio.c (Vauto_save_list_file_name): Move here from file.el.
2578 (auto_save_1): Update modtime when auto-save-list-file-name is on.
2579
25802008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2581
2582 * emacs.c (main): Under NS, set working dir to HOME when get a "psn"
2583 argument.
2584
25852008-08-05 Juanma Barranquero <lekktu@gmail.com>
2586
2587 * buffer.c (syms_of_buffer) <scroll-up-aggressively>:
2588 <scroll-down-aggressively, before-change-functions>:
2589 <after-change-functions>: Reflow docstrings.
2590
25912008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2592 Ken Raeburn <raeburn@gnu.org>
2593
2594 Dock menu customization, based on a patch by Ken Raeburn, plus some
2595 other fixes.
2596 * nsmenu.m (dockMenu): New variable.
2597 (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17.
2598
2599 * nsterm.h (dockMenu): Declare.
2600
2601 * nsterm.m (KEY_NS_NEW_FRAME): New definition.
2602 (ns_term_init): Initialize dockMenu.
2603 (EmacsApp -newFrame:, -applicationDockMenu:): New methods.
2604 (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame
2605 left.
2606
2607 * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA.
2608
26092008-08-04 Chong Yidong <cyd@stupidchicken.com>
2610
2611 * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it.
2612
2613 * config.in: Regenerate.
2614
26152008-08-04 Seiji Zenitani <zenitani@mac.com>
2616
2617 * nsfns.m (x-create-frame): Set the frame parameter alpha to nil.
2618
26192008-08-04 Chong Yidong <cyd@stupidchicken.com>
2620
2621 * nsterm.h (find_and_call_menu_selection): Fix prototype.
2622
26232008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2624
2625 * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS.
2626
2627 * keyboard.h: Comment an #endif.
2628
2629 * lisp.h (have_menus_p): Adjust comment.
2630
2631 * menu.c (find_and_return_menu_selection): Fix comparison with
2632 client_data.
2633
2634 * nsmenu.m (popup_activated_flag): New variable.
2635 (popup_activated): New function.
2636 (menu-or-popup-active-p): New exported lisp definition.
2637 (ns_popup_menu): Set popup_activated_flag. Call discard_menu_items()
2638 when popup done.
2639 (ns_popup_dialog): Set popup_activated_flag.
2640
2641 * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger
2642 version for GNUstep (handled by conditional typedef in nsterm.m).
2643 (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now
2644 in rgb.txt).
2645
2646 * process.c (init_process): Use DARWIN_OS, not DARWIN.
2647
2648 * sysselect.h: Conditionalize init_process undef on DARWIN_OS.
2649
2650 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS.
2651
2652 * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS,
2653 shortcircuit if popup_activated like GTK and X toolkit.
2654
2655 * m/inter386.h: Change DARWIN to DARWIN_OS.
2656
2657 * s/darwin.h: Add #define DARWIN_OS. Get rid of C_SWITCH_SYSTEM def.
2658 Change LIBS_MACGUI to LIBS_NSGUI. Move temacs-conditionalized defs
2659 closer to C_SWITCH_SYSTEM_TEMACS so usage is understood. Expand
2660 comment on NO_SOCK_SIGIO.
2661
26622008-08-03 Chong Yidong <cyd@stupidchicken.com>
2663
2664 * nsterm.m (windowDidResize): Remove stopModal call.
2665
26662008-08-03 Andreas Schwab <schwab@suse.de>
2667
2668 * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define.
2669 (check_memory_limits): Don't handle HAVE_GETRLIMIT here.
2670
26712008-08-02 Chong Yidong <cyd@stupidchicken.com>
2672
2673 * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin.
2674 Don't use uninitialized pointer variable when using getrlimit.
2675
26762008-08-02 Jason Rumney <jasonr@gnu.org>
2677
2678 * w32font.c (compute_metrics): Don't mess with glyph_idx setting here.
2679
26802008-08-02 Eli Zaretskii <eliz@gnu.org>
2681
2682 * alloc.c (NSTATICS): Bump to 0x640.
2683
2684 * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
2685
2686 * lisp.h: Add prototype for directory_files_internal.
2687
2688 * process.c (Fsystem_processes_list, Fsystem_process_attributes):
2689 New functions.
2690 (syms_of_process): Defsubr them. Add initializations for various
2691 Q* symbols used in procfs_system_process_attributes.
2692 (procfs_list_system_processes, procfs_system_process_attributes)
2693 [HAVE_PROCFS]: New functions.
2694 (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname)
2695 (procfs_get_total_memory): New functions.
2696
26972008-08-01 Juanma Barranquero <lekktu@gmail.com>
2698
2699 * xfaces.c (Fx_load_color_file): Fix previous change;
2700 it is #ifdef WINDOWSNT, not WINDOWS_NT.
2701
27022008-08-01 Michael Albinus <michael.albinus@gmx.de>
2703
2704 * dbusbind.c (xd_read_message): Handle D-Bus error messages.
2705
27062008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2707
2708 * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard.
2709
27102008-08-01 Chong Yidong <cyd@stupidchicken.com>
2711
2712 * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha.
2713
2714 * nsterm.m (EmacsApp -application:openFiles:): GNUstep does not
2715 define NSApplicationDelegateReplySuccess.
2716 (EmacsView -converstationIdentifier): Use long instead of
2717 NSInteger for GNUstep, since it doesn't have NSInteger.
2718
2719 * xmenu.c: Revert last change.
2720
2721 * keyboard.h: Fix last change.
2722
27232008-08-01 Juanma Barranquero <lekktu@gmail.com>
2724
2725 * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting
2726 on Windows.
2727
27282008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2729
2730 Warning clearing and clean-up in NS port.
2731 * keyboard.h (xmalloc_widget_value, digest_single_submenu):
2732 Add prototypes.
2733 * nsgui.h (FACE_DEFAULT): Remove, unused.
2734 (XGCValues): Change colors to unsigned long.
2735 * nsterm.h (EmacsApp): Add declaration of all methods implemented in
2736 nsterm.m.
2737 (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class.
2738 (ns_list_fonts): Remove, unused.
2739 (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes.
2740 * nsfns.m (interpret_services_menu): Use NSMenuItem class.
2741 * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc.
2742 (nsfont_draw): Compare face colors to 0, not nil.
2743 * nsmenu.m (struct widget_value): Drop unneeded declaration.
2744 (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:)
2745 (-addSubmenuWithTitle:): Use NSMenuItem class.
2746 (ns_popup_menu): Use NO, not NULL, for enabled setting.
2747 * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0.
2748 (ns_clip_to_row): Make gc arg a BOOL.
2749 (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in
2750 ns_clip_to_row() call.
2751 (ns_draw_glyph_string): Drop face comparison to ~0 (no longer
2752 used). Cast FRAME_FONT assignments.
2753 (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:.
2754 (ns_string_to_lispmod): Change arg to const char.
2755 (ns_term_init): Use NSMenuItem class.
2756 (EmacsApp -openFile:): Move to different section of file.
2757 (EmacsApp -application:openFiles:): Don't return a value, call
2758 -replyToOpenOrPrint:.
2759 (EmacsView -keyDown:): Fix up cast.
2760 (EmacsView -converstationIdentifier): Use NSInteger instead of long.
2761 (EmacsView -menuDown:): Cast tag in call to
2762 find_and_call_menu_selection().
2763 (ns_list_fonts): Remove, unused.
2764 (ns_font_to_xlfd): Make static. Cast result of UTF8String.
2765 (ns_fontname_to_xlfd): Make static.
2766 * w32menu.c (xmalloc_widget_value, digest_single_submenu):
2767 Remove prototypes (now in keyboard.h).
2768 (next_menubar_widget_id): Remove, unused.
2769 * xmenu.c (xmalloc_widget_value, digest_single_submenu):
2770 Remove prototypes (now in keyboard.h).
2771 * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused.
2772
27732008-08-01 Dan Nicolaescu <dann@ics.uci.edu>
2774
2775 * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o)
2776 (floatfns.o): Depend on syssignal.h.
2777 (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC).
2778
2779 * systty.h: Fix previous change that removed BSD_TERMIOS.
2780 Add comments to #ifdefs.
2781
27822008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2783
2784 * w32fns.c (w32-load-color-file): Remove.
2785 (x-open-connection): Use renamed Fx_load_color_file.
2786 * xfaces.c (x-load-color-file): Add.
2787 * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of
2788 Emacs.clr.
2789 (hide_hourglass): BLOCK_INPUT before UNBLOCK.
2790
27912008-07-31 Michael Albinus <michael.albinus@gmx.de>
2792
2793 * dbusbind.c (Fdbus_call_method_asynchronously)
2794 (Fdbus_method_error_internal): New defuns.
2795 (xd_read_message): Handle also reply messages.
2796 (Vdbus_registered_functions_table): Extend docstring.
2797
27982008-07-31 Juanma Barranquero <lekktu@gmail.com>
2799
2800 * keyboard.c (gobble_input): Fix previous change.
2801
28022008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
2803
2804 * bitmaps/README:
2805 * xfns.c:
2806 * termcap.c:
2807 * term.c:
2808 * syswait.h:
2809 * systty.h:
2810 * systime.h:
2811 * syssignal.h:
2812 * sysdep.c:
2813 * process.h:
2814 * process.c:
2815 * print.c:
2816 * ndir.h:
2817 * lread.c:
2818 * keyboard.c:
2819 * getpagesize.h:
2820 * floatfns.c:
2821 * fileio.c:
2822 * emacs.c:
2823 * doc.c:
2824 * dispnew.c:
2825 * dired.c:
2826 * data.c:
2827 * callproc.c:
2828 * buffer.c:
2829 * README:
2830 * Makefile.in:
2831 * s/template.h:
2832 * s/msdos.h:
2833 * m/vax.h: Remove VMS support.
2834 * s/vms.h:
2835 * vlimit.h:
2836 * uaf.h:
2837 * temacs.opt:
2838 * param.h:
2839 * ioctl.h: Remove file.
2840
28412008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
2842
2843 * s/ms-w32.h (MULTI_KBOARD): Remove.
2844 * xterm.c:
2845 * xselect.c:
2846 * xfns.c:
2847 * window.c:
2848 * w32term.c:
2849 * w32fns.c:
2850 * terminal.c:
2851 * termhooks.h:
2852 * term.c:
2853 * sysdep.c:
2854 * keyboard.h:
2855 * keyboard.c:
2856 * frame.h:
2857 * frame.c:
2858 * frame.c: Remove references to MULTI_KBOARD, it is now the default.
2859 * config.in: Regenerate.
2860
28612008-07-30 Jason Rumney <jasonr@gnu.org>
2862
2863 * w32font.h (struct w32font_info): Use unicode version of textmetrics.
2864
2865 * w32font.c (w32font_encode_char): Leave as unicode if in range.
2866 (w32font_open_internal): Get unicode version of textmetrics.
2867 Don't enable or disable glyph indices here.
2868 (w32font_open): Disable use of glyph indices.
2869
2870 * w32uniscribe.c (uniscribe_open): Enable use of glyph indices.
2871
28722008-07-30 Chong Yidong <cyd@stupidchicken.com>
2873
2874 * minibuf.c (Vread_buffer_function): Doc fix.
2875
28762008-07-30 John Paul Wallington <jpw@pobox.com>
2877
2878 * minibuf.c (read_buffer_completion_ignore_case): New var.
2879 (Fread_buffer): Use it.
2880
28812008-07-30 Dan Nicolaescu <dann@ics.uci.edu>
2882
2883 * systty.h (sensemode): Remove empty #if. Remove reference to
2884 BSD_TERMIOS, unused.
2885
2886 * sysdep.c: Remove reference to DGUX.
2887 (closedir): Remove reference to BROKEN_CLOSEDIR, unused.
2888
2889 * config.in: Regenerate.
2890
28912008-07-30 Jason Rumney <jasonr@gnu.org>
2892
2893 * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size.
2894
28952008-07-29 Jason Rumney <jasonr@gnu.org>
2896
2897 * w32uniscribe.c (uniscribe_shape): Avoid using context if cache
2898 is populated.
2899 (uniscribe_encode_char): Always use uniscribe.
2900 Avoid using context if cache is populated.
2901
29022008-07-29 Jan Djärv <jan.h.d@swipnet.se>
2903
2904 * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to
2905 open menu.
2906
2907 * gtkutil.c (menu_nav_ended): Remove.
2908 (create_menus): Remove signal connect for menu_nav_ended.
2909
29102008-07-28 Chong Yidong <cyd@stupidchicken.com>
2911
2912 * xdisp.c (redisplay_window): Check return value of
2913 compute_window_start_on_continuation_line before forcing a window
2914 start.
2915
29162008-07-28 Jason Rumney <jasonr@gnu.org>
2917
2918 * w32font.c (w32font_text_extents): Use w32_metric_cache consistently.
2919
2920 * w32term.c (w32_enable_unicode_output, cleartype_active):
2921 Remove obsolete display options.
2922 (x_draw_glyph_string_background): Don't use old cleartype_active
2923 workaround.
2924 (w32_initialize): Remove cleartype_active initialization.
2925 (syms_of_w32term): Remove w32_enable_unicode_output initialization.
2926
29272008-07-28 Andreas Schwab <schwab@suse.de>
2928
2929 * lisp.h (init_weak_hash_tables, syms_of_font)
2930 (xd_read_queued_messages, syms_of_dbusbind): Declare.
2931 (remove_hash_entry): Don't declare.
2932 * eval.c (maybe_call_debugger): Make static and move before use.
2933 * gtkutil.c: Include <X11/Xft/Xft.h> if HAVE_XFT.
2934 * xdisp.c: Include "gtkutil.h" if USE_GTK.
2935 * xterm.h (x_set_frame_alpha): Declare.
2936
29372008-07-28 Jan Djärv <jan.h.d@swipnet.se>
2938
2939 * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24.
2940 (create_menus): Connect selection-done to menu_nav_ended.
2941
29422008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
2943
2944 * nsfns.m (x-create-frame): Add copy of parms argument to beginning.
2945 Set Vx_resource_name to a fallback. Replace read of 'buffered'
2946 parameter with read of 'alpha' one.
2947 (Qns_frame_parameter): Remove.
5582fbc7 2948 * nsselect.m (selection-coding-system)
aac0c6e3
MR
2949 (next-selection-coding-system, Vselection_coding_system)
2950 (Vnext_selection_coding_system): Drop.
2951
29522008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
2953
2954 * nsfns.m (do-applescript, do_applescript): Rename to
2955 ns-do-applescript, ns_do_applescript, and move within file.
2956
29572008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
2958
2959 Remove support for Mac Carbon.
2960 * mactoolbox.c:
2961 * macterm.h:
2962 * macterm.c:
2963 * macselect.c:
2964 * macmenu.c:
2965 * macgui.h:
2966 * macfns.c:
2967 * mac.c: Remove file.
2968 * s/darwin.h:
2969 * m/intel386.h:
2970 * xfaces.c:
2971 * xdisp.c:
2972 * window.c:
2973 * tparam.c:
2974 * termhooks.h:
2975 * termcap.c:
2976 * term.c:
2977 * syssignal.h:
2978 * sysselect.h:
2979 * sysdep.c:
2980 * process.c:
2981 * lread.c:
2982 * lisp.h:
2983 * keyboard.c:
2984 * image.c:
2985 * fringe.c:
2986 * frame.h:
2987 * frame.c:
2988 * fontset.c:
2989 * font.h:
2990 * font.c:
2991 * fns.c:
2992 * fileio.c:
2993 * emacs.c:
2994 * dispnew.c:
2995 * dispextern.h:
2996 * config.in:
2997 * atimer.c:
2ae37cf0 2998 * Makefile.in: Remove code for Carbon.
aac0c6e3 2999
f0131492 30002008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aac0c6e3
MR
3001
3002 * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.
3003
30042008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3005
3006 * macterm.h (kCGBitmapByteOrder32Host): New define for
3007 non-universal SDKs.
3008
3009 * image.c (mac_create_cg_image_from_image, image_load_image_io)
3010 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
3011
3012 * macterm.c (XDrawLine, XCreatePixmapFromBitmapData)
3013 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
3014
30152008-07-26 David Robinow <drobinow@gmail.com> (tiny change)
3016
3017 * w32inevt.c: Include dispextern.h.
3018
30192008-07-26 Andreas Schwab <schwab@suse.de>
3020
3021 * print.c (print_object): Fix off-by-one in last change.
3022
30232008-07-25 Juanma Barranquero <lekktu@gmail.com>
3024
3025 * term.c (syms_of_term): Don't initialize default_orig_pair,
3026 default_set_foreground and default_set_background on Windows.
3027
30282008-07-25 Jason Rumney <jasonr@gnu.org>
3029
3030 * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to
3031 ScriptItemize. Clean up return value checking. Remove unused
3032 variables.
3033 (uniscribe_encode_char): Encode non-BMP characters with uniscribe
3034 shaping engine.
3035
3036 * w32font.c (w32font_has_char): Handle the case where we can't
3037 determine the script for a character.
3038
30392008-07-25 Chong Yidong <cyd@stupidchicken.com>
3040
3041 * term.c (syms_of_term): Initialize default_orig_pair,
3042 default_set_foreground, and default_set_background.
3043
3044 * getloadavg.c (nl): Rename to name_list to avoid ncurses.h
3045 clash (bug#86).
3046 (getloadavg): Callers changed.
3047
3048 * image.c (svg_load_image): Fix last change.
3049 (svg_load_image): Use rsvg_handle_get_dimensions to check that
3050 image size is valid. Use g_object_unref instead of deprecated
3051 rsvg_handle_free to free rsvg handle.
3052 (x_from_xcolors): Don't initialize pixmap (silence compiler).
3053
30542008-07-25 Jason Rumney <jasonr@gnu.org>
3055
3056 * w32font.c (w32font_encode_char): Encode characters outside BMP as
3057 surrogates before looking up glyph index.
3058 (w32font_text_extents): Encode as surrogates if falling back to
3059 functions that need UTF-16 wide chars.
3060
3061 * w32uniscribe.c (uniscribe_encode_char): Encode characters outside
3062 BMP as surrogates before looking up glyph index.
3063
30642008-07-25 Chong Yidong <cyd@stupidchicken.com>
3065
3066 * image.c (svg_load_image): Check for failure in return value of
3067 rsvg_handle_get_pixbuf. Free rsvg handle when done.
3068
30692008-07-25 Jason Rumney <jasonr@gnu.org>
3070
3071 * w32font.c (Fx_select_font): Reverse sense of second arg.
3072
30732008-07-24 Stefan Monnier <monnier@iro.umontreal.ca>
3074
3075 * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos)
3076 (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions.
3077
3078 * puresize.h (PURESIZE_CHECKING_RATIO): New macro.
3079 (PURESIZE): Use it.
3080
30812008-07-24 Dan Nicolaescu <dann@ics.uci.edu>
3082
3083 * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs.
3084 * m/alpha.h (TEXT_END):
3085 * m/ibmrs6000.h (TEXT_END):
3086 * m/macppc.h (TEXT_END):
3087 * s/darwin.h (TEXT_END):
3088 * s/msdos.h (TEXT_END): Remove, unused.
3089 * s/gnu-linux.h (BSD_PGRPS): Add a comment.
3090 * s/cygwin.h: Remove comment.
3091
3092 * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused.
3093 (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES.
3094 * m/intel386.h (DOT_GLOBAL_START):
3095 * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES.
3096 (USG): Remove, file not used on USG platforms.
3097
3098 * Makefile.in (HAVE_X11): Remove empty #else.
3099
31002008-07-24 Andreas Schwab <schwab@suse.de>
3101
3102 * fileio.c (Finsert_file_contents): Properly adjust undo list
3103 after format conversion.
3104
31052008-07-24 Jan Djärv <jan.h.d@swipnet.se>
3106
3107 * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG.
3108 (menu_nav_ended): Remove.
3109 (create_menus): Remove signal connect for menu_nav_ended.
3110 (xg_update_menubar): Also take deactivate_cb as parameter, pass it to
3111 create_menus.
3112 (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar.
3113
31142008-07-23 Jason Rumney <jasonr@gnu.org>
3115
3116 * w32font.c (w32_enumfont_pattern_entity): Return height consistent
3117 with opened font.
3118 (w32font_open): Set font type to gdi.
3119
3120 * w32uniscribe.c (uniscribe_open): Set font type to uniscribe.
3121
31222008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
3123
3124 * s/usg5-4.h (ADDR_CORRECT): Remove, unused.
3125 * unexaix.c (ADDR_CORRECT): Remove conditional, the only user
3126 defines it.
3127 * unexec.c (ADDR_CORRECT): Define unconditionally.
3128
3129 * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove.
3130
3131 * unexec.c: Remove code depending on !COFF and USG, the file is
3132 not used for such systems.
3133
3134 * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
3135 * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused.
3136 (LD_SWITCH_SYSTEM_1): Remove, update users.
3137
3138 * s/darwin.h (DATA_END):
3139 * m/intel386.h (DATA_END):
3140 * m/ibmrs6000.h (DATA_END):
3141 * m/alpha.h (DATA_END): Remove, unused.
3142
3143 * config.in: Regenerate.
3144 * s/ms-w32.h (subprocesses): Define unconditionally.
3145 * s/template.h (subprocesses): Update comment.
3146 * s/vms.h (subprocesses):
3147 * s/usg5-4.h (subprocesses):
3148 * s/hpux10-20.h (subprocesses):
3149 * s/gnu-linux.h (subprocesses):
3150 * s/cygwin.h (subprocesses):
3151 * s/bsd-common.h (subprocesses):
3152 * s/aix4-2.h (subprocesses):
3153 * s/darwin.h (subprocesses): Do not define, defined by default now.
3154
3155 * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused.
3156 Remove all references.
3157 (temacs): Add GNUstep specific ld flags.
3158
3159 * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing,
3160 similarly to what X does.
3161
31622008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
3163
3164 * nsfns.m (x-list-fonts): Remove.
3165 (syms_of_nsfns): Drop the x-list-fonts declaration.
3166 * nsterm.m: Get rid of remaining "//" comments.
3167
31682008-07-22 Chong Yidong <cyd@stupidchicken.com>
3169
3170 * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
3171
3172 * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p)
3173 (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal)
3174 (Fns_own_selection_internal, Fx_disown_selection_internal)
3175 (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal):
3176
3177 * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /*
3178 ... */' style of docstrings. Doc fixes.
3179
31802008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
3181
3182 * terminfo.c (UP, BC, PC): Undo previous change.
3183
3184 * nsfns.m: Rename ns prefixed functions/variables to the
3185 corresponding x versions. Update references.
3186
31872008-07-22 Stefan Monnier <monnier@iro.umontreal.ca>
3188
3189 * syntax.c (char_quoted): Check "charpos > beg" before decrementing.
3190
31912008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
3192
3193 * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):
3194 Remove forwarding functions.
3195 (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make
3196 non-static.
3197 (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make
3198 non-static.
3199 (ns_frame_parm_handlers): Use the new names.
3200 (syms_of_nsfns): Move to the end of file.
3201
3202 * nsterm.m (syms_of_nsterm): Move to the end of file.
3203
3204 * dispnew.c (init_display): Remove code for X10.
3205
32062008-07-22 Jason Rumney <jasonr@gnu.org>
3207
3208 * w32proc.c (Fw32_long_file_name): Don't append dir separator to
3209 bare drive.
3210
32112008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
3212
3213 * nsterm.m (syms_of_nsterm): Remove debugging println.
3214
32152008-07-22 David Reitter <david.reitter@gmail.com>
3216
3217 * nsfns.m (do_applescript, F_do_applescript): NS version of the
3218 Carbon implementation of the same functionality: execute arbitrary
3219 AppleScript code.
3220
32212008-07-21 Adrian Robert <Adrian.B.Robert@gmail.com>
3222
3223 * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
3224 (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
3225 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
3226 (Fx_display_mm_height, Fx_display_mm_width)
3227 (Fx_display_backing_store, Fx_display_visual_class)
3228 (Fx_display_save_under, Fx_open_connection)
3229 (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
3230 (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
3231 (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
3232 (Fx_display_pixel_width, Fx_display_pixel_height)
3233 (Fx_display_usable_bounds, Fx_display_planes)
3234 (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
3235 ... */' style of docstrings.
3236
32372008-07-21 Dan Nicolaescu <dann@ics.uci.edu>
3238
3239 * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
3240 on this platform.
3241 (mips):
3242 * m/iris4d.h (mips): Do not define.
3243 * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
3244
3245 * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
3246
3247 * image.c:
3248 * nsfns.m:
3249 * nsselect.m:
3250 * nsterm.h:
3251 * nsterm.m: Rename ns prefixed functions/variables to the
3252 corresponding x versions. Update references.
3253
3254 * m/ibms390x.h (NO_REMAP): Do not undefine.
3255
3256 * m/amdx86-64.h: Use SOLARIS2 instead of sun.
3257
32582008-07-21 Chong Yidong <cyd@stupidchicken.com>
3259
3260 * nsfns.m: Change NS to Nextstep in docstrings and error messages.
3261 (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
3262 (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
3263 (Fns_server_vendor, Fns_server_version, Fns_display_screens)
3264 (Fns_display_mm_height, Fns_display_mm_width)
3265 (Fns_display_backing_store, Fns_display_visual_class)
3266 (Fns_display_save_under, Fns_open_connection)
3267 (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
3268 (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
3269 (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
3270 (Fns_display_pixel_width, Fns_display_pixel_height)
3271 (Fns_display_usable_bounds, Fx_display_planes)
3272 (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
3273
32742008-07-21 Ami Fischman <ami@fischman.org> (tiny change)
3275
3276 * print.c (print_object): Check print_depth before searching for
3277 circularities.
3278
32792008-07-21 Michael Albinus <michael.albinus@gmx.de>
3280
3281 * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
3282 only sprintf.
3283
32842008-07-21 Kenichi Handa <handa@m17n.org>
3285
3286 * ftfont.c (adjust_anchor): Check if DeltaValue is not NULL.
3287
32882008-07-20 Andreas Schwab <schwab@suse.de>
3289
3290 * syntax.c (find_start_pos, find_start_value)
3291 (find_start_value_byte, find_start_begv, find_defun_start)
3292 (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions.
3293
32942008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
3295
3296 * s/sol2-3.h: Insert contents of s/sol2.h.
3297 (LD_SWITCH_SYSTEM): Remove redundant definition.
3298 * s/sol2.h: Remove, unused.
3299
33002008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
3301
3302 * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV.
3303
33042008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
3305
3306 * Makefile.in (ns_appdir): Fix typo in find command.
3307
33082008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
3309
3310 * m/intel386.h (NO_REMAP): Do no define for USG, not used.
3311
3312 * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
3313 added not supported anymore.
3314
3315 * s/usg5-4-2.h (LIBS_SYSTEM):
3316 * s/sol2.h (LIBS_SYSTEM): Do not undefine.
3317
3318 * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
3319 * s/lynxos.h (GETPGRP_NO_ARG):
3320 * s/hpux10-20.h (NO_SIOCTL_H):
3321 * s/gnu.h (GETPGRP_NO_ARG):
3322 * s/gnu-linux.h (NO_SIOCTL_H):
3323 * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
3324 * s/cygwin.h (GETPGRP_NO_ARG):
3325 * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
3326 (C_DEBUG_SWITCH): Remove duplicate definition.
3327
3328 * m/ibms390.h: Remove boilerplate comments.
3329
3330 * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
3331
3332 * process.c (HAVE_SERIAL): Consolidate ifdefs.
3333 (wait_reading_process_output): Remove code for SunOS, platform not
3334 supported anymore. Use SOLARIS2 instead of sun.
3335
33362008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3337
3338 * font.c (font_open_by_name): Under NS, default lface height to zero.
3339 (font_open_for_lface): Under NS, set size based on frame fontsize.
3340 * nsterm.m (EmacsView-changeFont:): Remove some commented code.
3341 * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
3342
33432008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3344
3345 * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
3346 (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
3347 DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
3348 YES/NO.
3349 * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
3350 * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
3351 * Makefile.in (clean): Clear out build destination dir.
3352
33532008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3354
3355 * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
3356 xterm, xselect.
3357 * lisp.h: Remove declaration of hash_remove.
3358 * nsgui.h: Remove redefinitions of hash_remove.
3359 * fns.c (hash_remove): Rename to hash_remove_from_table.
3360
33612008-07-19 Seiji Zenitani <zenitani@mac.com>
3362
3363 * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
3364 strdup() the family UTF8String before modifying it.
3365
33662008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3367
3368 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
3369 NS_FACE_BACKGROUND with 0 instead of nil.
3370 * nsfont.m (nsfont_draw): Same.
3371
33722008-07-19 Chong Yidong <cyd@stupidchicken.com>
3373
3374 * nsfns.m (ns_set_background_color): Fix crash.
3375
33762008-07-18 Chong Yidong <cyd@stupidchicken.com>
3377
3378 * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
3379
33802008-07-18 Dan Nicolaescu <dann@ics.uci.edu>
3381
3382 * puresize.h (BASE_PURESIZE): Increase to 1240000.
3383
33842008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3385
3386 * gtkutil.c: Include <config.h> instead of "config.h".
3387
3388 * lisp.h (Foverlay_buffer): Add EXFUN.
3389
3390 * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
3391 child process to complete child_setup. Undo 2005-09-21 change.
3392
3393 * s/darwin.h: Mention setsid after vfork.
3394
33952008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3396
3397 * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
3398 Depend on macgui.h.
3399
3400 * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
3401 gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
3402
3403 * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
3404 and f19.
3405 [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
3406
3407 * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
3408 (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
3409 Remove enumerators.
3410
3411 * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
3412 Check if FACE_FROM_ID returns NULL.
3413
34142008-07-17 David Robinow <drobinow@gmail.com> (tiny change)
3415
3416 * w32inevt.c (change_frame_size): Remove extern declaration.
3417 (resize_event, maybe_generate_resize_event): Pass SAFE arg to
3418 change_frame_size.
3419
34202008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
3421
3422 * getloadavg.c: Revert last change (2008-07-15).
3423
34242008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
3425
3426 * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
3427 set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc) set
3428 from configure.
3429
34302008-07-17 Dan Nicolaescu <dann@ics.uci.edu>
3431
3432 * s/sol2.h:
3433 * s/sol2-4.h: Reorganize conditionals.
3434
3435 * ecrt0.c: Remove code depending on m68000, not used anymore.
3436
3437 * fns.c (hash_remove): Make static.
3438 * lisp.h (hash_remove): Don't prototype.
3439
3440 * m/ibmrs6000.h:
3441 * m/ibms390x.h:
3442 * m/macppc.h: Remove boilerplate comments.
3443
3444 * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
3445 Solaris, which does not need them.
3446
3447 * m/vax.h: Remove comments about unsupported systems.
3448
3449 * s/darwin.h: Reorganize ifdefs.
3450
34512008-07-17 Andreas Schwab <schwab@suse.de>
3452
3453 * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
3454
34552008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
3456
3457 Use SDATA. Follow coding convention of placing operators at
3458 beginning of next line rather than end of previous line, and placing
3459 spaces around infix operators.
3460
3461 * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
3462 in case it was defined already.
3463 USE @GNUSTEP_MAKEFILES@ rather than envvars.
3464 * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
3465 ns_default.
3466 (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
3467 Lisp_Objects.
3468 * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
3469 (ns_defined_color, ns_color_to_lisp): Declare.
3470 * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
3471 (Fns_own_selection_internal): Make the big ugly hack more explicit, so
3472 it's accepted even with USE_LISP_UNION_TYPE.
3473 * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
3474 (update_frame_tool_bar): Remove apparently obsolete tests for
3475 non-integerness of f->tool_bar_lines.
3476 (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
3477 hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
3478 * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
3479 (nsfont_open): Don't confuse NULL for Qnil.
3480 * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
3481 * menu.h (find_and_call_menu_selection):
3482 * menu.c (find_and_call_menu_selection): Use just int for vector size.
3483 (find_and_return_menu_selection): Always return something.
3484 * frame.h: Include dispextern.h for Display_Info.
3485 (display_x_get_resource): Declare.
3486
34872008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
3488
3489 * syntax.c: Remove stdio.h include accidentally introduced in
3490 Emacs.app commit.
3491 * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
3492 NS_IMPL_COCOA.
3493 * keyboard.c (handle_async_input, input_available_signal): Remove
3494 BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
3495
34962008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
3497
3498 * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
3499 (ns_lisp_to_color): Don't mess with internal Lisp data fields.
3500 (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
3501 Use SDATA.
3502
3503 * keymap.c: Remove all NS-specific code.
3504 (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
3505 (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
3506 where_is_preferred_modifier, return a different value depending on how
3507 preferred is the binding.
3508 (where_is_internal): Adjust accordingly.
3509 (Fwhere_is_internal): Refresh where_is_preferred_modifier.
3510 Adjust to new preferred_sequence_p.
3511 (syms_of_keymap): Declare `where-is-preferred-modifier'.
3512 * keyboard.c (parse_solitary_modifier): Not static any more.
3513 * keyboard.h (parse_solitary_modifier): Declare.
3514
35152008-07-16 Andreas Schwab <schwab@suse.de>
3516
3517 * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
3518 of easymenu.
3519
35202008-07-16 Chong Yidong <cyd@stupidchicken.com>
3521
3522 * xdisp.c (move_it_in_display_line): Account for word wrap, so
3523 that we don't move off the line.
3524
35252008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
3526
3527 * keyboard.c (Qsuper): Remove.
3528 (parse_menu_item): Don't call where_is_internal specially for NS.
3529
35302008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
3531
3532 * s/gnu-linux.h: Remove boilerplate comments.
3533
3534 * m/alpha.h (__ELF__): Consolidate conditions.
3535
3536 * m/m68k.h (linux): Use GNU_LINUX instead.
3537 Remove boilerplate comments.
3538
3539 * m/intel386.h: Undo refactoring from previous change.
3540 (LIB_STANDARD): All systems that define USG define LIB_STANDARD
3541 too, remove dead code.
3542 (linux): Use GNU_LINUX instead.
3543
35442008-07-16 Jason Rumney <jasonr@gnu.org>
3545
3546 * w32gui.h: Repeat 26 June changes lost by last change.
3547
35482008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
3549
3550 * systty.h: Remove code for Aix on 386, unsupported platform.
3551
3552 * s/ms-w32.h: Remove boilerplate comments.
3553 (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
3554
3555 * s/gnu-linux.h (TERM): Remove support.
3556 (HAVE_SYSVIPC): Remove, unused.
3557 (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
3558 for this system.
3559
3560 * process.c: Remove support for IRIS, unused.
3561 Remove support for TERM, not relevant anymore.
3562
3563 * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
3564 used with the definition.
3565
3566 * s/aix4-2.h (static): Do not undef.
3567
3568 * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
3569 only used on Aix.
3570 (HAVE_SYSVIPC): Remove, unused.
3571
3572 * m/hp800.h (CANNOT_DUMP): Do not undef.
3573
3574 * m/alpha.h: Fix comment.
3575
3576 * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
3577 (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
3578 used by this configuration.
3579 * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
3580 * unexec.c: Remove code depending on HPUX and
3581 USG_SHARED_LIBRARIES, not used with this file. Remove code
3582 depending on IRIS, unused. Remove if 0-ed code.
3583
3584 * s/template.h: Remove comments about static.
3585
3586 * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
3587 Remove if 0-ed code.
3588 (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
3589 were the same as the default.
3590 * s/vms.h (BAUD_CONVERT): Remove, same as the default.
3591 Remove boilerplate comments.
3592 * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
3593 (HAVE_SYSVIPC): Remove, unused.
3594 (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
3595
3596 * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
3597 Remove boilerplate comments.
3598 * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
3599 Remove boilerplate comments.
3600 * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
3601 Remove boilerplate comments.
3602 * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
3603
3604 * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
3605 USG systems which do not use DATA_SEG_BITS.
3606 Refactor code. Remove boilerplate comments.
3607
3608 * m/ibms390.h:
3609 * m/m68k.h:
3610 * s/bsd-common.h:
3611 * s/cygwin.h:
3612 * s/darwin.h:
3613 * s/freebsd.h:
3614 * s/gnu.h:
3615 * s/msdos.h: Remove boilerplate comments.
3616
3617 * m/iris4d.h: Remove boilerplate comments and code for systems that
3618 do not use this file.
3619 (IRIS_4D): Remove, unused.
3620
3621 * m/mips.h: Remove boilerplate comments and code for systems that
3622 do not use this file.
3623 (SIGN_EXTEND_CHAR):
3624 * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
3625 * unexmips.c: Remove file, unused.
3626
3627 * editfns.c (Fuser_full_name): Replace the only use of
3628 USER_FULL_NAME with its value.
3629 * config.in: Regenerate.
3630
36312008-07-16 David Reitter <david.reitter@gmail.com>
3632
3633 * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
3634 easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
3635
36362008-07-16 Glenn Morris <rgm@gnu.org>
3637
3638 * emacs.c (system-type): Doc fix.
3639
36402008-07-15 Stefan Monnier <monnier@iro.umontreal.ca>
3641
3642 * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
3643 If the cache doesn't work, let's fix it, rather than work around it.
3644
36452008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
3646
3647 * Makefile.in: Correct additions for nsfont.o in last commit.
3648 * nsfont.m: New file (forgot last commit).
3649
36502008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
3651
3652 * callproc.c (set_initial_environment): Initialize
3653 Vprocess_environment under CANNOT_DUMP (fixes crash when
3654 batch-compiling for bootstrap).
3655
36562008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
3657 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3658
3659 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
3660 fix crash due to different init order.
3661
36622008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
3663
3664 Changes and additions for NeXTstep windowing system (Cocoa and
3665 GNUstep) support.
3666
3667 * Makefile.in:
3668 * config.in: Support defines and build commands for NS port.
3669 * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
3670 (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
3671 * dispextern.h: Include nsgui.h and add needed typedefs under NS
3672 windowing.
3673 (struct face): Add synth_ital field.
3674 * dispnew.c: Include nsterm.h when compiling under NS windowing.
3675 (init_display): Initialize Vinitial_window_system to "ns" when so
3676 compiled.
3677 * emacs.c: Include GSConfig.h when compiling under GNUstep.
3678 (display_arg): Use under NS.
3679 (main): Under NS, allocate autorelease pool and handle command line
3680 args. Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
3681 (standard_args): Add NS-specific args.
3682 (shut_down_emacs): Shut down NS terminal if compiled under NS.
3683 * font.c (DEFAULT_ENCODING): New variable.
3684 (font_find_for_lface): Use it.
3685 (syms_of_font): Load syms_of_nsfont under NS.
3686 * font.h: Declare nsfont_driver when compiled under NS.
3687 * fontset.c: When compiling under NS, include nsterm.h.
3688 (fontset_from_font): Autoconstruct fontset under NS.
3689 * frame.c (various): Under NS, include nsterm.h, add Qns window system
3690 symbol, document and use it.
3691 (do_switch_frame): When for_deletion under Cocoa, add
3692 Fraise_frame(Qnil).
3693 (x_set_frame_parameters): Ensure font attribute changes are picked up.
3694 (x_get_arg): Allow "yes" and "no" as boolean values.
3695 (syms_of_frame): Declare Qns. Init Vdefault_frame_scroll_bars to
3696 Qright under Cocoa.
3697 (focus-follows-mouse): Default to 0 under NS.
3698 * frame.h (enum output_method): Add output_ns.
3699 (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
3700 (FRAME_EXTERNAL_MENU_BAR): Use under NS.
3701 (FRAME_WINDOW_P): NS-specific definition.
3702 * fringe.c (max_used_fringe_bitmap): Make public.
3703 * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
3704 (getloadavg): Use NeXT code under descendant OS's.
3705 * image.c (includes and header section, x_create_bitmap_from_data)
3706 (x_create_bitmap_from_file, free_bitmap_record, image_background)
3707 (image_background_transparent, x_clear_image_1)
3708 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
3709 (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
3710 (x_to_xcolors, x_from_xcolors, x_disable_image)
3711 (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
3712 other GUIs, including XPM support using code originally written for
3713 Carbon GUI.
3714 (png_load, jpeg_load, tiff_load, gif_load): Add implementations
3715 using NS API.
3716 (image_ascent): Use font metrics macros instead of direct struct field
3717 access.
3718 * keyboard.c (includes): Add nsterm.h when compiling under NS.
3719 (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
3720 Also, handle NS as GTK for menu bar purposes.
3721 (make_lispy_event): Handle NS as other GUI windowing systems, and as X
3722 toolkit where they differ.
3723 (parse_menu_item): Prefer keybindings using 'super' modifier. Also,
3724 use cachelist, still needed under NS.
3725 * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
3726 (struct widget_value): Define it here for menu.c.
3727 * keymap.c (includes): Include modifier internals.
3728 (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
3729 NS.
3730 (where_is_internal, Fwhere_is_internal): When compiled under NS, add
3731 support for preferring sequences using certain modifiers, specified by
3732 the FIRSTONLY argument.
3733 * lisp.h (hash_remove): Rename to avoid name clash when compiling
3734 under NS GNUstep implementation.
3735 (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
3736 * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
3737 * menu.c: Include nsterm.h under NS.
3738 (single_menu_item, parse_single_submenu, xmalloc_widget_value)
3739 (free_menubar_widget_tree_value, update_submenu_strings)
3740 (find_and_call_menu_selection): Treat NS as X and NT.
3741 (find_and_return_menu_selection): New function, used for popup menus.
3742 * nsgui.h:
3743 * nsterm.h:
3744 * nsfns.m:
3745 * nsimage.m:
3746 * nsmenu.m:
3747 * nsselect.m:
3748 * nsterm.m: New files.
3749 * process.c (wait_reading_process_output): Under NS, call ns_select()
3750 instead of plain select().
3751 * syntax.c (char_quoted): Under NS, avoid a crash when called near
3752 beginning of buffer.
3753 * sysselect.h (init_process): Rename when compiling under Cocoa to
3754 avoid name conflict.
3755 * termhooks.h (display_info): Add ns_display_info to union.
3756 * terminal.c (Fterminal_live_p): Add ns to terminal types.
3757 * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
3758 COCOA environment.
3759 * unexnext.c: Update to work with mach API on Mac OS X, and to use new
3760 unexec() signature. (Note, this will dump, but the resulting file
3761 crashes; unexosx is used instead; keeping around for reference and
3762 possible aid in getting dump working under GNUstep.)
3763 * w32gui.h (button_type, widget_value): Remove definitions (now in
3764 keyboard.h).
3765 * window.c: Include nsterm.h when compiling under NS.
3766 * xdisp.c (includes): Include nsterm.h when compiling under NS.
3767 (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
3768 other GUI windowing systems.
3769 (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
3770 GTK.
3771 (x_consider_frame_title): Under NS, set icon type and frame
3772 modified-state indicator; use ns_set_name_as_filename() when using
3773 formatted title.
3774 (update_window_cursor): Make public when compiling under NS.
3775 (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
3776 (hourglass_atimer, Vhourglass_delay
3777 * xfaces.c (header section, init_frame_faces, clear_font_table)
3778 (defined_color, unload_color, x_face_list_fonts)
3779 (prepare_face_for_display): Add NS support parallel to other GUIs.
3780 Emulate GCs like other non-X GUIs.
3781 (split_font_name): Don't lowercase font name under NS.
3782 (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
3783 under NS.
3784 * s/darwin.h: Add support for compilation under NS.
3785
37862008-07-15 Jason Rumney <jasonr@gnu.org>
3787
3788 * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
3789 (w32_show_hourglass): Rename from show_hourglass.
3790 (w32_hide_hourglass): Rename from hide_hourglass.
3791 (DEFAULT_HOURGLASS_DELAY): Revert from last change.
3792 (Vhourglass_delay): Declare extern.
3793 (hourglass_started): Remove.
3794
3795 * xdisp.c (Vhourglass_delay): Remove static.
3796 (hourglass_started, start_hourglass, cancel_hourglass):
3797 Don't include these versions on WINDOWSNT.
3798
37992008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
3800
3801 * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
3802 variables (formerly in xfns.c).
3803 (show_hourglass, hide_hourglass): New prototypes (same).
3804 * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
3805 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
3806 in xfns.c).
3807 (syms_of_xdisp): Declare/initialize display-hourglass,
3808 hourglass-delay. Initialize hourglass_atimer, hourglass_shown_p.
3809 (hourglass_started, start_hourglass, cancel_hourglass): New functions,
3810 formerly in xfns.c.
3811 * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
3812 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
3813 (start_hourglass, cancel_hourglass): Remove.
3814 (show_hourglass, hide_hourglass): Remove prototypes and static
3815 modifiers.
3816 (syms_of_xfns): Remove display-hourglass, hourglass-delay,
3817 hourglass_atimer, hourglass_shown_p declaration/initialization.
3818 * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
3819 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
3820 (start_hourglass, cancel_hourglass): Remove.
3821 (show_hourglass, hide_hourglass): Remove prototypes and static
3822 modifiers.
3823 (syms_of_macfns): Remove display-hourglass, hourglass-delay,
3824 hourglass_atimer, hourglass_shown_p declaration/initialization.
3825 * w32fns.c (display_hourglass_p, Vhourglass_delay)
3826 (DEFAULT_HOURGLASS_DELAY): Remove.
3827 (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
3828 hourglass_shown_p declaration/initialization.
3829
38302008-07-14 Jason Rumney <jasonr@gnu.org>
3831
3832 * w32fns.c (w32_get_arg): Remove wrapper function.
3833 (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
3834 directly.
3835 (Fx_create_frame): Sync with xfns.c. Use x_get_arg directly.
3836
38372008-07-14 Kenichi Handa <handa@m17n.org>
3838
3839 * xfont.c (xfont_open): Add workaround for X's bug.
3840
38412008-07-14 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
3842
3843 * fontset.c: Include <stdio.h> unconditionally.
3844
38452008-07-13 Michael Albinus <michael.albinus@gmx.de>
3846
3847 * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
3848 for filtering.
3849
38502008-07-13 Dan Nicolaescu <dann@ics.uci.edu>
3851
3852 * s/vms.h: Use __GNUC__ instead of _GNUC_.
3853
3854 * m/macppc.h:
3855 * m/alpha.h: Use GNU_LINUX instead of LINUX. Reorganize conditionals.
3856
3857 * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
3858 (SPECIAL_EMACS_INT):
3859 * m/ia64.h (SPECIAL_EMACS_INT):
3860 * m/amdx86-64.h (SPECIAL_EMACS_INT):
3861 * s/gnu.h (NLIST_STRUCT):
3862 * s/aix4-2.h (X11R5_INHIBIT_I18N):
3863 * s/gnu-linux.h (LINUX):
3864 * s/msdos.h (HAVE_FACES):
3865 * s/ms-w32.h (HAVE_FACES): Don't define, unused.
3866
3867 * systty.h:
3868 * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
3869 anymore.
3870
38712008-07-12 Dan Nicolaescu <dann@ics.uci.edu>
3872
3873 * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was
3874 always defined as int.
3875
3876 * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
3877 * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
3878 * s/gnu-linux.h (HAVE_WAIT_HEADER):
3879 * s/freebsd.h (HAVE_WAIT_HEADER):
3880 * s/bsd-common.h (HAVE_UNION_WAIT):
3881 * s/aix4-2.h (HAVE_WAIT_HEADER):
3882 * m/mips.h (HAVE_UNION_WAIT):
3883 * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
3884 (COFF, static): Do not define, they are undefined later in the file.
3885
3886 * process.c (update_status): Don't use a union.
3887 (status_convert):
3888 (sigchld_handler): Use int instead of WAITTYPE.
3889
38902008-07-12 Chong Yidong <cyd@stupidchicken.com>
3891
3892 * indent.c (Fvertical_motion): Restore hscroll before moving to
3893 goal column.
3894
38952008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
3896
3897 * lisp.h: Remove left over code.
3898
38992008-07-11 Andreas Schwab <schwab@suse.de>
3900
3901 * lisp.h: Fix logic in last change.
3902
3903 * menu.h: New file.
3904 * menu.c: Include it.
3905 * xmenu.c: Likewise.
3906 * Makefile.in: Update dependencies.
3907
39082008-07-11 Kenichi Handa <handa@m17n.org>
3909
3910 * fontset.c (fontset_from_font): Cancel the previous change.
3911
39122008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
3913
3914 * lisp.h:
3915 * w32heap.c:
3916 * emacs.c:
3917 * alloc.c: Replace all references of NO_UNION_TYPE with
3918 USE_LISP_UNION_TYPE.
3919
3920 * m/xtensa.h (NO_UNION_TYPE):
3921 * m/vax.h (NO_UNION_TYPE):
3922 * m/template.h (NO_UNION_TYPE):
3923 * m/sparc.h (NO_UNION_TYPE):
3924 * m/mips.h (NO_UNION_TYPE):
3925 * m/macppc.h (NO_UNION_TYPE):
3926 * m/m68k.h (NO_UNION_TYPE):
3927 * m/iris4d.h (NO_UNION_TYPE):
3928 * m/intel386.h (NO_UNION_TYPE):
3929 * m/ibms390x.h (NO_UNION_TYPE):
3930 * m/ibms390.h (NO_UNION_TYPE):
3931 * m/ibmrs6000.h (NO_UNION_TYPE):
3932 * m/ia64.h (NO_UNION_TYPE):
3933 * m/hp800.h (NO_UNION_TYPE):
3934 * m/arm.h (NO_UNION_TYPE):
3935 * m/amdx86-64.h (NO_UNION_TYPE):
3936 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
3937 defining it the same.
3938
39392008-07-10 Chong Yidong <cyd@stupidchicken.com>
3940
3941 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
3942
39432008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
3944
3945 * fileio.c:
3946 * sysdep.c
3947 * systty.h:
3948 * m/ibmrs6000.h:
3949 * m/iris4d.h:
3950 * s/aix4-2.h:
3951 * s/freebsd.h:
3952 * s/gnu-linux.h:
3953 * s/hpux10-20.h:
3954 * s/hpux11.h:
3955 * s/netbsd.h:
3956 * s/sol2-3.h:
3957 * s/sol2-4.h:
3958 * s/sol2.h:
3959 * s/usg5-4.h:
3960 * s/vms.h: Remove references to unused variables.
3961
39622008-07-10 Andreas Schwab <schwab@suse.de>
3963
3964 * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
3965 pattern before matching the generic family.
3966
39672008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
3968
3969 * unexec.c:
3970 * s/vms.h:
3971 * s/usg5-4-2.h:
3972 * s/sol2-5.h:
3973 * s/freebsd.h:
3974 * s/darwin.h: Remove dead code.
3975
3976 * m/template.h:
3977 * m/sparc.h:
3978 * m/mips.h:
3979 * m/m68k.h:
3980 * m/iris4d.h:
3981 * m/intel386.h:
3982 * m/ibms390x.h:
3983 * m/ibms390.h:
3984 * m/ia64.h:
3985 * m/hp800.h:
3986 * m/arm.h:
3987 * m/amdx86-64.h: Remove dead code and references to unused
3988 and compiler defined symbols.
3989
3990 * unexmips.c:
3991 * unexelf.c: Remove references to desupported systems.
3992
3993 * m/powermac.h: Remove file, it is now identical to m/macppc.h.
3994
3995 * m/powermac.h: Remove boilerplate comments.
3996 (NO_REMAP): Remove unused definition.
3997
3998 * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
3999 define them.
4000
40012008-07-10 Kenichi Handa <handa@m17n.org>
4002
4003 * xfont.c (xfont_open): Log the reason of failure.
4004
40052008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
4006
4007 * fontset.c (fontset_get_font_group):
4008 * font.c (font_check_otf): Specify argument types.
4009
40102008-07-09 Kenichi Handa <handa@m17n.org>
4011
4012 * coding.c (detect_coding_utf_8): Set detect_info->found only when
4013 non-ASCII char is found.
4014
4015 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
4016 (reorder_font_vector): Change the arg preferred_family to font.
4017 Prefer the spec matching with font.
4018 (fontset_get_font_group): New function.
4019 (fontset_find_font): Change the format of an element of a realized
4020 fontset. Use fontset_get_font_group.
4021 (fontset_font): Try the current fontset, the default fontset, the
4022 fallbacks of the current fontset, and the fallbacks of the default
4023 fontset in this order.
4024 (face_for_char): Delete the shortcut to use the current font.
4025 (fontset_from_font): Don't set fonts for Latin in the fontset.
4026
4027 * font.h (font_make_object, font_match_p): Adjust prototypes.
4028
4029 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
4030
4031 * font.c (font_make_object): New arg entity and pixelsize.
4032 (font_check_otf_features, font_check_otf): New functions.
4033 (font_match_p): Check :lang, :script, and :otf properties.
4034
4035 * xfont.c (xfont_open): Adjust it for the change of
4036 font_make_object.
4037 (xfont_text_extents): Fix initial setting of metrics.
4038
4039 * ftfont.c (struct ftfont_info): New member index, delete member
4040 fc_charset_idx. Make the member order compatible with struct
4041 xftfont_info.
4042 (fc_charset_table): Change charset names to registry names.
4043 (ftfont_pattern_entity): Delete the args registry and
4044 fc_charset_idx. Change the value of :font-entity property
4045 to (FONTNAME . INDEX). Always set :registry property to
4046 `iso10646-1'.
4047 (struct ftfont_cache_data): New struct.
4048 (ftfont_lookup_cache): New arg for_face.
4049 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
4050 (ftfont_driver): Set the member otf_capability.
4051 (ftfont_get_charset): Adjust it for the change of
4052 fc_charset_table.
4053 (OTF_TAG_SYM): New macro.
4054 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
4055 for the change of fc_charset_table.
4056 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
4057 ftfont_pattern_entity. Add FC_INDEX to objset.
4058 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
4059 and ftfont_pattern_entity.
4060 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
4061 font_make_object, struct ftfont_info.
4062 (ftfont_has_char): Use ftfont_get_fc_charset.
4063 (ftfont_otf_features, ftfont_otf_capability): New functions.
4064 (ftfont_shape): Use ftfont_get_otf.
4065 (ftfont_text_extents): Fix initial setting of metrics.
4066
4067 * xftfont.c (struct xftfont_info): New member ft_size. Make the
4068 member order compatible with struct ftfont_info.
4069 (xftfont_open): Add FC_CHARSET to the pattern. Set
4070 xftfont_info->ft_size. Don't unlock the face. Check BDF
4071 properties if appropriate.
4072 (xftfont_close): Unlock the face.
4073 (xftfont_anchor_point, xftfont_shape): Deleted.
4074 (syms_of_xftfont): Don't set members anchor_point and shape of
4075 xftfont_driver.
4076
4077 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
4078 font_make_object.
4079
4080 * w32font.c (w32font_open): Adjust it for the change of
4081 font_make_object.
4082 (w32font_open_internal): Don't set properties of font_object here.
4083
40842008-07-08 Chong Yidong <cyd@stupidchicken.com>
4085
4086 * macfns.c (x_create_tip_frame):
4087 * w32fns.c (x_create_tip_frame):
4088 * xfns.c (x_create_tip_frame): Pass parameter argument to
4089 face-set-after-frame-default.
4090
4091 * xfaces.c (Finternal_merge_in_global_face): Save merged
4092 attributes for the default face back into the face vector.
4093
40942008-07-08 Andreas Schwab <schwab@suse.de>
4095
4096 * fontset.h: Declare fontset_from_font. Don't declare
4097 new_fontset_from_font and fontset_from_font_name.
4098 * xterm.c: Include "fontset.h".
4099 * Makefile.in (xterm.o): Update dependencies.
4100
41012008-07-08 Glenn Morris <rgm@gnu.org>
4102
4103 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
4104 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
4105
41062008-07-07 Chong Yidong <cyd@stupidchicken.com>
4107
4108 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
4109 (x_set_frame_parameters): Don't bind it.
4110
41112008-07-07 Juanma Barranquero <lekktu@gmail.com>
4112
4113 * w32fns.c (map_w32_filename): Declare extern.
4114
41152008-07-07 Jason Rumney <jasonr@gnu.org>
4116
4117 * w32term.c (WS_EX_LAYERED): Define if not already.
4118
41192008-07-06 Chong Yidong <cyd@stupidchicken.com>
4120
4121 * xfaces.c (set_font_frame_param): Don't try to set the font
4122 parameter if it is still unspecified in the lface.
4123
41242008-07-05 Chong Yidong <cyd@stupidchicken.com>
4125
4126 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
4127 face if it didn't already exist.
4128
4129 * xdisp.c (try_window_id): Give up if word-wrapping is on.
4130
41312008-07-05 Andreas Schwab <schwab@suse.de>
4132
4133 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
4134
41352008-07-05 Chong Yidong <cyd@stupidchicken.com>
4136
4137 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
4138 word-wrapping.
4139 (IT_DISPLAYING_WHITESPACE): New macro.
4140 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
4141 when word-wrapping. Simplify word-wrapping logic. Use correct
4142 pixel positions when saving copies of the iterator.
4143 (display_line): Use proper wrap point if the last character on a
4144 line was preceded by whitespace.
4145
41462008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
4147
4148 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
4149
41502008-07-04 Kenichi Handa <handa@m17n.org>
4151
4152 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
4153
4154 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
4155
41562008-07-02 Jason Rumney <jasonr@gnu.org>
4157
4158 * xfns.c (syms_of_xfns): Only define x-select-font when both
2ae37cf0 4159 HAVE_FREETYPE and USE_GTK.
aac0c6e3
MR
4160
4161 * xdisp.c (next_element_from_display_vector): Move assignment out
4162 of if statement.
4163
41642008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
4165
4166 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
4167
4168 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
4169 (syms_of_fileio): Initialize and export them.
4170 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
4171
4172 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
4173 (Fsystem_move_file_to_trash): New function.
4174 (syms_of_w32fns): Export it to lisp.
4175
41762008-07-01 Jason Rumney <jasonr@gnu.org>
4177
4178 * w32font.c (w32font_text_extents): Don't count overhang as part
4179 of width.
4180
41812008-06-30 Miles Bader <miles@gnu.org>
4182
4183 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
4184 Add `avoid_cursor_p' field.
4185
4186 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
4187 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
4188 (append_glyph, append_composite_glyph, produce_image_glyph)
4189 (append_stretch_glyph): Initialize avoid_cursor_p.
4190 (get_it_property): Rename from `get_line_height_property'.
4191 (x_produce_glyphs): Use get_it_property.
4192 (handle_line_prefix, push_display_prop): New functions.
4193 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
4194 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
4195 New variables.
4196 (syms_of_xdisp): Initialize them.
4197
41982008-06-30 Kenichi Handa <handa@m17n.org>
4199
4200 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
4201 XftDefaultSubstitute (they are called in XftFontMatch).
4202 (xftfont_open): Fix args to ftfont_font_format.
4203
4204 * ftfont.c (fc_charset_table): New member lang.
4205 (ftfont_resolve_generic_family): New arg pattern.
60612c8f 4206 (ftfont_spec_pattern): Check fc_charset_table[]->lang.
aac0c6e3
MR
4207 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
4208 (ftfont_open): Fix args to ftfont_font_format.
4209 (ftfont_font_format): New arg filename.
4210
42112008-06-30 Chong Yidong <cyd@stupidchicken.com>
4212
4213 * xfaces.c (Finternal_merge_in_global_face): If default face was
4214 modified, realize it again. Update the font face attribute.
4215
42162008-06-29 Jason Rumney <jasonr@gnu.org>
4217
4218 * w32term.c (x_set_frame_alpha): Fix logic.
4219
42202008-06-29 Kenichi Handa <handa@m17n.org>
4221
4222 * fontset.c (Finternal_char_font): Return font-object instead of
4223 font-name.
4224
4225 * composite.c (get_composition_id): Fix the width calculation for TAB.
4226
42272008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
4228
4229 * indent.c (Fvertical_motion): Properly handle float column arg.
4230
42312008-06-28 Jason Rumney <jasonr@gnu.org>
4232
4233 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
4234 (pfnSetLayeredWindowAttributes): New function pointer.
4235 (w32_initialize): Initialize it when supported.
4236 (x_set_frame_alpha): New function.
4237
4238 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
4239 (w32_frame_parm_handlers): Set alpha handler.
4240
4241 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
4242
42432008-06-27 Jason Rumney <jasonr@gnu.org>
4244
4245 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
4246 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
4247 (w32_to_x_charset, x_to_w32_charset)
4248 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
4249 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
4250 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
4251 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
4252 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
4253 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
4254 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
4255 (Qw32_charset_unicode): Remove.
4256 (syms_of_w32fns): Update for above changes.
4257
4258 * w32font.c (w32_to_x_charset, x_to_w32_charset)
4259 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
4260 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
4261 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
4262 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
4263 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
4264 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
4265 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
4266 (syms_of_w32font): Update for above changes.
4267
42682008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
4269
4270 * s/usg5-4.h: Fix previous change: keep the correct branch of a
4271 removed #if.
4272 (USG_SHARED_LIBRARIES): Remove duplicate definition.
4273
42742008-06-26 Juanma Barranquero <lekktu@gmail.com>
4275 Eli Zaretskii <eliz@gnu.org>
4276
4277 * makefile.w32-in (LOCAL_FLAGS):
4278 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
4279
4280 * sysdep.c (_spawnlp, _getpid):
4281 Declare with explicit _cdecl instead of _CRTAPI1.
4282
4283 * editfns.c (Fget_internal_run_time):
4284 Check for WINDOWSNT with #ifdef, not #if.
4285
42862008-06-26 Jason Rumney <jasonr@gnu.org>
4287
4288 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
4289
4290 * w32term.c (x_draw_glyph_string_foreground)
4291 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
4292 Use FONT_HANDLE macro.
4293 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
4294
4295 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
4296 (uniscribe_encode_char): Use FONT_HANDLE macro.
4297
4298 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
4299 (w32font_text_extents): Use precast w32_font.
4300 (w32font_close): Free cached metrics.
4301 (w32font_open_internal): Allocate space for name on stack.
4302
43032008-06-26 Chong Yidong <cyd@stupidchicken.com>
4304
4305 * xdisp.c (extend_face_to_end_of_line): Fix last change.
4306
43072008-06-26 Jason Rumney <jasonr@gnu.org>
4308
4309 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
4310 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
4311
43122008-06-26 Juanma Barranquero <lekktu@gmail.com>
4313
4314 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
4315
43162008-06-26 Jason Rumney <jasonr@gnu.org>
4317
4318 * w32bdf.c, w32bdf.h: Remove obsolete files.
4319
4320 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
4321
4322 * w32gui.h: Don't include w32bdf.h.
4323 (XCharStruct, enum w32_char_font_type, W32FontStruct):
4324 Remove obsolete font support.
4325
4326 * w32font.h (struct w32font_info): Remove compat_w32_font.
4327 Add hfont member.
4328 (FONT_COMPAT): Remove obsolete macro.
4329
4330 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
4331 (w32font_encode_char, w32font_text_extents): Use new hfont member.
4332 (w32font_open_internal): Remove compat code. Set new hfont member.
4333 (Fx_select_font): Use new hfont member.
4334
4335 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
4336 (uniscribe_encode_char): Use new hfont member.
4337
4338 * w32term.c (x_draw_glyph_string_foreground)
4339 (x_draw_composite_glyph_string_foreground): Use new hfont member.
4340 (x_draw_glyph_string): Use metrics in w32font_info.
4341
43422008-06-26 Kenichi Handa <handa@m17n.org>
4343
4344 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
4345
43462008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
4347
4348 * unexnext.c:
4349 * m/ews4800.h:
4350 * m/hp9000s300.h:
4351 * m/ibm370aix.h:
4352 * m/mips-siemens.h:
4353 * m/ncr386.h:
4354 * m/next.h:
4355 * m/pmax.h:
4356 * m/powerpcle.h:
4357 * m/tandem-s2.h:
4358 * s/386bsd.h:
4359 * s/bsd386.h:
4360 * s/bsd4-1.h:
4361 * s/bsd4-2.h:
4362 * s/bsdos2-1.h:
4363 * s/bsdos2.h:
4364 * s/bsdos3.h:
4365 * s/bsdos4.h:
4366 * s/nextstep.h:
4367 * s/ultrix4-3.h:
4368 * s/usg5-0.h:
4369 * s/usg5-2-2.h:
4370 * s/usg5-2.h:
4371 * s/usg5-4-3.h:
4372 * s/ux4800.h:
4373 * s/uxpds.h:
4374 * s/uxpv.h: Remove support for obsolete systems.
4375 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
8f3a3ac2 4376 Remove, insert contents in s/hpux10-20.h.
aac0c6e3
MR
4377 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
4378 Remove, insert contents in s/aix4-2.h.
4379 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
4380 * s/bsd4-3.h: Rename to ...
4381 * s/bsd-common.h: ... this.
4382 * data.c:
4383 * doc.c:
4384 * ecrt0.c:
4385 * emacs.c:
4386 * fileio.c:
4387 * floatfns.c:
4388 * keyboard.c:
4389 * mem-limits.h:
4390 * print.c:
4391 * process.c:
4392 * sysdep.c:
4393 * syssignal.h:
4394 * systty.h:
4395 * syswait.h:
4396 * term.c:
4397 * unexec.c:
4398 * unexelf.c:
4399 * unexhp9k800.c:
4400 * m/hp800.h:
4401 * m/ibmrs6000.h:
4402 * m/mips.h:
4403 * m/vax.h:
4404 * s/darwin.h:
4405 * s/freebsd.h:
4406 * s/gnu.h:
4407 * s/ms-w32.h:
4408 * s/msdos.h:
4409 * s/netbsd.h:
4410 * s/template.h: Remove references to obsolete variables.
4411
4412 * Makefile.in: Add dependencies for all unexec files.
4413 (admindir): Remove unused variable.
4414 (UNEXEC_SRC): Remove references.
4415
44162008-06-25 Chong Yidong <cyd@stupidchicken.com>
4417
4418 * xfns.c (x_default_font_parameter): If Xft is available, first
4419 try Monospace-12 for the default font.
4420
44212008-06-25 Jason Rumney <jasonr@gnu.org>
4422
4423 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
4424
44252008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
4426
4427 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
4428
4429 * buffer.c (syms_of_buffer): Remove default-word-wrap.
4430
44312008-06-25 Juanma Barranquero <lekktu@gmail.com>
4432
4433 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
4434 <scroll-conservatively>: Fix typo in docstring.
4435
4436 * xselect.c (Fx_send_client_event): Doc fix.
4437
44382008-06-25 Kenichi Handa <handa@m17n.org>
4439
4440 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
4441
4442 * font.c (font_parse_fcname): Remove unused variables.
4443 (font_sort_entites): Delete the arg SPEC. Caller changed.
4444 Fix for the case of ! best_only.
4445 (font_delete_unmatched): Check DPI and AVGWIDTH too.
4446
4447 * lisp.h (Fstring_to_unibyte): EXFUN it.
4448
4449 * character.h (str_to_unibyte): Extern it.
4450
4451 * character.c (str_to_unibyte): New function.
4452
4453 * fns.c (Fstring_to_unibyte): New function.
4454 (syms_of_fns): Defsubr it.
4455
44562008-06-24 Kenichi Handa <handa@m17n.org>
4457
4458 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
4459 DPI too.
4460 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
4461
44622008-06-24 Andreas Schwab <schwab@suse.de>
4463
4464 * Makefile.in (${lispsource}loaddefs.el): Rename from
4465 ../lisp/loaddefs.el.
4466 (bootstrap-clean): Do what distclean does but don't remove
4467 Makefile.
4468 (distclean): Depend on bootstrap-clean and remove Makefile.
4469
44702008-06-24 Chong Yidong <cyd@stupidchicken.com>
4471
4472 * buffer.h (struct buffer): New member word_wrap.
4473
4474 * buffer.c (syms_of_buffer): New variables default-word-wrap and
4475 word-wrap.
4476 (init_buffer_once): Initialize them.
4477
4478 * dispextern.h (struct it): Replace bool truncate_lines_p with a
4479 line_wrap enum possessing three possible values.
4480
4481 * termopts.h: Replace truncate_partial_width_windows with
4482 Vtruncate_partial_width_windows.
4483
4484 * dispnew.c (direct_output_for_insert): Avoid direct output when
4485 inserting a space with word wrap on.
4486
4487 * indent.c (compute_motion): Obey integer values of
4488 truncate-partial-width-windows.
4489
4490 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
4491 replacing truncate_partial_width_windows.
4492 (init_iterator): If Vtruncate_partial_width_windows is an integer,
4493 truncate only if the window width is below that integer.
4494 (start_display, resize_mini_window, produce_stretch_glyph)
4495 (display_string, move_it_in_display_line_to): Use line_wrap.
4496 (back_to_previous_visible_line_start, reseat_1): Reset
4497 string_from_display_prop_p.
4498 (display_line): Extend default face to end of line when wrapping.
4499
45002008-06-24 Kim F. Storm <storm@cua.dk>
4501
4502 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
4503 to wrap continued lines at word boundaries.
4504
45052008-06-24 Jason Rumney <jasonr@gnu.org>
4506
4507 * font.c (Ffont_face_attributes): Multiply pixel size before point
4508 conversion to avoid multiplying rounding error.
4509
45102008-06-23 Jason Rumney <jasonr@gnu.org>
4511
4512 * w32term.c (x_draw_glyph_string_background)
4513 (x_draw_glyph_string): Remove old bdf font code.
4514
4515 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
4516
45172008-06-22 Kenichi Handa <handa@m17n.org>
4518
4519 * font.c (font_find_for_lface): Try the adstyle specified in
4520 the property of LFACE_FONT of LFACE (if any).
4521
45222008-06-21 Seiji Zenitani <zenitani@mac.com>
4523 Ryo Yoshitake <ryo@shiftmode.net>
4524
4525 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
4526
45272008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
4528
4529 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
4530 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
4531 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
4532 (witness-emacs): Remove.
4533 (lisp, shortlisp): Move loaddefs.el earlier.
4534 (mostlyclean): Forget about witness-emacs.
4535
45362008-06-22 Glenn Morris <rgm@gnu.org>
4537
4538 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
4539 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
4540
45412008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
4542
4543 * Makefile.in (PRECOMP): Remove.
4544 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
4545 (witness-emacs): Run `compile-first'.
4546 (.el.elc): Use the new compile-onefile target.
4547
45482008-06-21 Kenichi Handa <handa@m17n.org>
4549
4550 * xftfont.c (xftfont_open): Handle QCembolden only when
4551 FC_EMBOLDEN is defined.
4552
45532008-06-21 Andreas Schwab <schwab@suse.de>
4554
4555 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
4556 (.el.elc): Likewise.
4557
45582008-06-21 Miles Bader <miles@gnu.org>
4559
4560 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
4561 build dir, not the lisp source dir.
4562
45632008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
4564
4565 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
4566 (bootstrapclean): Remove.
4567 (.el.elc): New rule.
4568 (PRECOMP): New var.
4569 (../lisp/subdirs.el): Remove.
4570 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
4571 (witness-emacs): New target.
4572 (mostlyclean): Remove witness-emacs as well.
4573 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
4574 Add witness-emacs dependency.
4575
45762008-06-20 Chong Yidong <cyd@stupidchicken.com>
4577
4578 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
4579 defined by the font.
4580
45812008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
4582
4583 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
4584 (bootstrap-clean): New target that keeps TAGS around.
4585 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
4586 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
4587
45882008-06-20 Jason Rumney <jasonr@gnu.org>
4589
4590 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
4591 Remove obsolete font code.
4592
4593 * w32font.c (font_matches_spec): Use csb bitfield from font signature
4594 to determine language support.
4595
45962008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
4597
4598 * sysdep.c (cfsetspeed): New fun extracted from the code.
4599 (cfmakeraw): Move before first use.
4600
46012008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
4602
4603 * sysdep.c (cfmakeraw): Provide fallback implementation.
4604 (serial_configure): Provide fallback implementation of cfsetspeed.
4605
46062008-06-20 Kenichi Handa <handa@m17n.org>
4607
4608 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
4609 the pattern.
4610
4611 * fontset.c (fontset_from_font): Copy font_spec before changing
4612 the elements.
4613
4614 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
4615
46162008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
4617
4618 * w32fns.c, xfns.c (x_default_font_parameter): Only set `font-param'
4619 for explicit `font' parameters.
4620
4621 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
4622
46232008-06-19 Kenichi Handa <handa@m17n.org>
4624
4625 * frame.c: Include <ctype.h>.
4626 (x_set_font_backend): Allow spacing characters in the X resource
4627 for FontBackend.
4628
46292008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
4630
4631 * w32fns.c, xfns.c (Qfont_param): New var.
4632 (syms_of_w32fns): Initialize it.
4633 (x_default_font_parameter): Record explicit `font' into
4634 `font-parameter'.
4635
46362008-06-18 Kenichi Handa <handa@m17n.org>
4637
4638 * font.c (font_parse_xlfd): Fix previous change.
4639 (font_parse_fcname): Don't use :fc-unknown-spec.
4640 (FRAME_X_DISPLAY_INFO): Be sure to have at least 1 pixel height.
4641 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
4642 (font_add_log): Prepend the driver name to the resulting fonts.
4643
4644 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
4645 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
4646 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
4647
4648 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
4649 (QCembolden): New variables.
4650 (syms_of_xftfont): DEFSYM them.
4651 (xftfont_open): Call XftFontMatch. Don't trust the result of
4652 XftTextExtents8 if the pixel_size is less than 5.
4653
46542008-06-18 Andreas Schwab <schwab@suse.de>
4655
4656 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
4657 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
4658
46592008-06-18 Jason Rumney <jasonr@gnu.org>
4660
4661 * w32font.c (w32font_list, w32font_match): Add logging.
4662
4663 * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging.
4664
46652008-06-17 Chong Yidong <cyd@stupidchicken.com>
4666
4667 * font.c (font_parse_fcname): Store divider characters for
4668 unknown-spec list. For known key symbols, intern using correct
4669 symbol name.
4670
46712008-06-17 Kenichi Handa <handa@m17n.org>
4672
4673 * xfaces.c (realize_default_face): If the frame is not on window
4674 system, set the fontset of face to nil.
4675
46762008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
4677
4678 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
4679
46802008-06-16 Juanma Barranquero <lekktu@gmail.com>
4681
4682 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
4683 (build_font_name_from_vector): Delete externs.
4684
4685 * xfaces.c (struct font_name): Don't declare.
4686
46872008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
4688
4689 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
4690
46912008-06-16 Chong Yidong <cyd@stupidchicken.com>
4692
4693 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
4694
46952008-06-16 Juanma Barranquero <lekktu@gmail.com>
4696
4697 * font.c (Ffont_spec): Fix usage in docstring.
4698 (Ffont_face_attributes): Doc fix.
4699
47002008-06-16 Andreas Schwab <schwab@suse.de>
4701
4702 * font.c (Ffont_face_attributes): Fix definition.
4703
47042008-06-16 Jason Rumney <jasonr@gnu.org>
4705
4706 * font.h (font_style_symbolic_from_value): Remove.
4707
4708 * font.c (font_style_symbolic_from_value): Remove.
4709 (font_style_symbolic): Revert to pre 2008-06-13 version.
4710
4711 * w32font.c (w32_to_fc_weight): New function.
4712 (w32font_full_name, logfont_to_fcname): Use it.
4713
47142008-06-16 Kenichi Handa <handa@m17n.org>
4715
4716 * font.c (font_check_object): Delete it.
4717 (font_clear_cache): Check if a font-object is alive.
4718 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
4719 font-object to nil.
4720 (font_close_object): Don't check FONT_CLOSE_OBJECT.
4721 (font_at): Don't call font_check_object.
4722 (Ffont_get): Return a symbol for :weight, :slant, and :width.
4723
47242008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
4725
4726 * puresize.h (BASE_PURESIZE): Increase to 1230000.
4727
47282008-06-16 Chong Yidong <cyd@stupidchicken.com>
4729
4730 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
4731
47322008-06-15 Chong Yidong <cyd@stupidchicken.com>
4733
4734 * font.c (font_parse_fcname): Only one decimal point.
4735 (font_unparse_fcname): Handle data in family and foundry indices
4736 as symbols, not strings.
4737 (font_unparse_gtkname, Ffont_face_attributes): New functions.
4738
4739 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
4740
4741 * font.h (font_unparse_gtkname): Add prototype.
4742
47432008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
4744
4745 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
4746
47472008-06-15 Andreas Schwab <schwab@suse.de>
4748
4749 * font.c (font_update_drivers): Fix crash when no drivers match.
4750
47512008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
4752
4753 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
4754 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
4755
47562008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
4757
4758 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
4759
47602008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
4761
4762 * process.c (Fserial_process_configure, Fprocess_send_eof):
4763 Use EQ to compare Lisp_Objects.
4764
47652008-06-13 Jason Rumney <jasonr@gnu.org>
4766
4767 * w32fns.c (Fw32_select_font): Remove old font API function.
4768
4769 * w32font.c (logfont_to_fcname): New function.
4770 (Fx_select_font): New font dialog function compatible with
4771 GTK/fontconfig version.
4772
4773 * font.c (font_style_symbolic_from_value): New function.
4774 (font_style_symbolic): Use it.
4775
4776 * font.h (font_style_symbolic_from_value): Declare new function.
4777
47782008-06-13 Juanma Barranquero <lekktu@gmail.com>
4779
4780 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
4781 <font-width-table>: Fix typos in docstrings.
4782
47832008-06-13 Daniel Engeler <engeler@gmail.com>
4784
4785 These changes add serial port access.
4786 * process.c: Add HAVE_SERIAL.
4787 (Fdelete_process, Fprocess_status, Fset_process_buffer)
4788 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
4789 (list_processes_1, select_wrapper, Fstop_process)
4790 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
4791 (status_notify): Modify to handle serial processes.
4792 [HAVE_SERIAL] (Fserial_process_configure)
4793 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
4794 New functions.
4795 * process.h (struct Lisp_Process): Add `type'.
4796 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
4797 New functions.
4798 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
4799 serial ports.
4800 (serial_open, serial_configure) New functions.
4801 * w32.h: Add FILE_SERIAL.
4802 (struct _child_process): Add ovl_read, ovl_write.
4803
48042008-06-13 Kenichi Handa <handa@m17n.org>
4805
4806 * dispextern.h (enum lface_attribute_index): New member
4807 LFACE_FOUNDRY_INDEX.
4808
4809 * font.c (font_score): Delete arg alternate_families. Check only
4810 weight, slant, width, and size. Ignore the difference of alias
4811 style symbols.
4812 (font_sort_entites): Adjust for the above change. Reflect the
4813 order of font-driver to scores.
4814 (font_list_entities): Don't check alternate_familes here.
4815 (font_clear_prop): Handle foundry.
4816 (font_update_lface): Don't parse "foundry-family" form here.
4817 Handle FONT_FOUNDRY_INDEX.
4818 (font_find_for_lface): Likewise. Handle alternate families here.
4819 If registry is nil, try iso8859-1 and ascii-0.
4820 (font_open_for_lface): Pay attention to size in ENTITY.
4821 (font_open_by_name): Simplify by calling font_load_for_lface.
4822 (free_font_driver_list): Delete it.
4823 (font_update_drivers): Preserve the order of backends.
4824 (syms_of_font): Setting of sort_shift_bits adjusted for the change
4825 of font_score and font_sort_entites.
4826 (font_update_sort_order): Likewise.
4827
4828 * xfaces.c (LFACE_FOUNDRY): New macro.
4829 (check_lface_attrs): Check foundry.
4830 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
4831 (merge_face_vectors): Check foundry.
4832 (merge_face_ref): Likewise.
4833 (Finternal_set_lisp_face_attribute): Likewise.
4834 (x_update_menu_appearance): Likewise.
4835 (Finternal_get_lisp_face_attribute): Likewise.
4836 (lface_hash): Likewise.
4837 (lface_same_font_attributes_p): Likewise.
4838 (x_supports_face_attributes_p): Likewise.
4839 (tty_supports_face_attributes_p): Likewise.
4840 (Finternal_set_alternative_font_family_alist): Intern strings.
4841 (Finternal_set_alternative_font_registry_alist): Downcase strings.
4842 (realize_default_face): Set LFACE_FOUNDRY (lface).
4843
4844 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
4845 font-driver at first.
4846
4847 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
4848
48492008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
4850
4851 * lread.c (Fload): Use xfree, not free on saved_doc_string.
4852
48532008-06-12 Jim Meyering <meyering@redhat.com>
4854
4855 Make unexec_free handle NULL the same way free does.
4856 * unexmacosx.c (unexec_free): Ignore a NULL argument.
4857
48582008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
4859
4860 * character.h (CHAR_TO_BYTE_SAFE): New macro.
4861 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
4862 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
4863 (WEAK_ALIAS): Simplify.
4864 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
4865 when searching a unibyte buffer.
4866
48672008-06-12 Chong Yidong <cyd@stupidchicken.com>
4868
4869 * xfns.c (Fx_select_font): Rename from x-font-dialog.
4870
48712008-06-12 Juanma Barranquero <lekktu@gmail.com>
4872
4873 * w32font.c: Include ctype.h.
4874
48752008-06-11 Jason Rumney <jasonr@gnu.org>
4876
4877 * w32font.c (w32font_encode_char): Detect missing glyphs that are
4878 misreported as space.
4879 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
4880 as aliases for registry iso10646-1.
4881
48822008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
4883
4884 * buffer.c (clone_per_buffer_values): Skip `name'.
4885
48862008-06-11 Chong Yidong <cyd@stupidchicken.com>
4887
4888 * font.c (font_parse_fcname): Fix last change; accept decimal
4889 points in font size.
4890
48912008-06-10 Jason Rumney <jasonr@gnu.org>
4892
4893 * w32uniscribe.c (add_opentype_font_name_to_list):
4894 Skip non unicode fonts.
4895
48962008-06-10 Chong Yidong <cyd@stupidchicken.com>
4897
4898 * xfns.c (Fx_font_dialog): New function.
4899
4900 * gtkutil.c (xg_dialog_response_cb): Rename from
4901 xg_file_response_callback.
4902 (pop_down_dialog): Rename from pop_down_file_dialog.
4903 (xg_get_file_name): Callers changed.
4904 (xg_get_font_name): New function.
4905
4906 * gtkutil.h (xg_get_font_name): Insert prototype.
4907
49082008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
4909
4910 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
4911 x_underline_minimum_display_offset.
4912 (syms_of_xdisp): Declare it here rather than in xterm.c.
4913 * dispextern.h (underline_minimum_offset): Declare it.
4914 * w32term.c (x_draw_glyph_string): Use it.
4915 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
4916 (syms_of_xterm): Don't declare it any more.
4917 (x_draw_glyph_string): Adjust to the new name.
4918
49192008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
4920
4921 * xterm.c (x_underline_minimum_display_offset): New var.
4922 (x_draw_glyph_string): Use it.
4923 (syms_of_xterm): Declare it.
4924
49252008-06-10 Chong Yidong <cyd@stupidchicken.com>
4926
4927 * font.c (font_parse_fcname): Accept GTK-style font names too.
4928
49292008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
4930
4931 * dired.c (file_name_completion): Don't return t if the match is exact
4932 but with different capitalization.
4933 * minibuf.c (Ftry_completion): Simplify.
4934
4935 * window.c (Vwindow_point_insertion_type): New var.
4936 (set_window_buffer): Use it.
4937 (syms_of_window): Init and export it to Lisp.
4938
49392008-06-10 Kenichi Handa <handa@m17n.org>
4940
4941 * font.h (font_intern_prop): Prototype adjusted.
4942
4943 * font.c (font_intern_prop): New arg force_symbol.
4944 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
4945 Adjust for the change of font_intern_prop.
4946
4947 * ftfont.c (ftfont_pattern_entity):
4948 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
4949 (w32_registry):
4950 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
4951 the change of font_intern_prop.
4952
49532008-06-09 Juanma Barranquero <lekktu@gmail.com>
4954
4955 * w32menu.c (digest_single_submenu): Declare extern.
4956
49572008-06-09 Jason Rumney <jasonr@gnu.org>
4958
4959 * w32term.c (x_make_frame_visible): Use alternate restore flags.
4960
4961 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
4962 (parse_single_submenu): Remove.
4963 (digest_single_submenu): Remove.
4964 (syms_of_w32menu): Don't initialise variables that have moved
4965 to menu.c.
4966 (set_frame_menubar): Sync with version in xmenu.c.
4967 (w32_menu_show): Sync with xmenu_show in xmenu.c.
4968
4969 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
4970 Make static again.
4971
49722008-06-09 Jason Rumney <jasonr@gnu.org>
4973
4974 Changes to w32 files related to the move of common menu code
4975 to menu.c on 2008-06-08 by Chong Yidong.
4976
4977 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
4978 defs to w32gui.h.
4979 (single_keymap_panes, push_menu_item, push_menu_pane):
4980 Make globally visible.
4981
4982 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
4983 (local_free, malloc_widget_value, free_widget_value)
4984 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
4985 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
4986 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
4987 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
4988 (menu_items, menu_items_allocated, menu_items_used)
4989 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
4990 (init_menu_items, finish_menu_items, discard_menu_items)
4991 (grow_menu_items, push_submenu_start, push_submenu_end)
4992 (push_left_right_boundary, push_menu_pane, push_menu_item)
4993 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
4994 (free_menubar_widget_tree_value, parse_single_submenu)
4995 (update_submenu_strings): Remove functions.
4996 (xmalloc_widget_value): Remove and declare extern.
4997
4998 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
4999 (OBJ1): Build it.
5000
5001 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
5002 (local_heap, local_alloc, local_free, malloc_widget_value)
5003 (free_widget_value): Define here.
5004
50052008-06-09 Kenichi Handa <handa@m17n.org>
5006
5007 * font.h (Qascii_0): Extern it.
5008
5009 * font.c (Qascii_0): New variable.
5010 (syms_of_font): DEFSYM it.
5011 (font_open_by_name): If the registry "iso8859-1" fails, try also
5012 "ascii-0".
5013
5014 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
5015
50162008-06-08 Kenichi Handa <handa@m17n.org>
5017
5018 * .gdbinit (xfont): New command.
5019
50202008-06-08 Andreas Schwab <schwab@suse.de>
5021
5022 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
5023 * Makefile.in (menu.o): Update dependencies.
5024
5025 * Makefile.in (obj): Always add menu.o.
5026 * emacs.c (main): Always call syms_of_menu.
5027 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
5028
50292008-06-08 Chong Yidong <cyd@stupidchicken.com>
5030
5031 * Makefile.in: Compile menu.c.
5032
5033 * lisp.h: Declare syms_of_menu.
5034
5035 * emacs.c (main): Call syms_of_menu.
5036
5037 * keyboard.h: Relocate platform-independent menu definitions from
5038 xmenu.c.
5039
5040 * menu.c: New file. Relocate platform-independent menu
5041 definitions from xmenu.c. Suggested by Adrian Robert.
5042
5043 * xmenu.c: Remove platform-independent menu definitions.
5044 (menu_items menu_items_inuse, menu_items_allocated)
5045 (menu_items_used, menu_items_n_panes)
5046 (menu_items_submenu_depth): Move to keyboard.h.
5047 (init_menu_items, finish_menu_items, unuse_menu_items)
5048 (discard_menu_items, restore_menu_items, save_menu_items)
5049 (grow_menu_items, push_submenu_start, push_submenu_end)
5050 (push_left_right_boundary, push_menu_pane, push_menu_item)
5051 (keymap_panes, single_keymap_panes, single_menu_item)
5052 (list_of_panes, list_of_items, find_and_call_menu_selection)
5053 (xmalloc_widget_value, free_menubar_widget_value_tree)
5054 (parse_single_submenu, digest_single_submenu)
5055 (update_submenu_strings): Move to menu.c.
5056
50572008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
5058
5059 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
5060
50612008-06-06 Miles Bader <miles@gnu.org>
5062
5063 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
5064 face, not frame default.
5065
50662008-06-05 Martin Rudalics <rudalics@gmx.at>
5067
5068 * window.c (pop_up_windows, pop_up_frames)
5069 (display_buffer_reuse_frames, Vpop_up_frame_function)
5070 (Vdisplay_buffer_function, Veven_window_heights)
5071 (Vspecial_display_buffer_names, Vspecial_display_regexps)
5072 (Vspecial_display_function, Vsame_window_buffer_names)
5073 (Vsame_window_regexps, split_height_threshold)
5074 (Vsplit_window_preferred_function): Move those vars to window.el.
5075 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
5076 (Fdisplay_buffer): Move those functions to window.el.
5077 (syms_of_window): Remove corresponding declarations.
5078 (display_buffer): New function.
5079 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
5080 * dispnew.c (Flast_nonminibuf_frame): New function.
5081 * buffer.c (Fpop_to_buffer): Move to window.el.
5082
50832008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5084
5085 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
5086
50872008-06-05 Kenichi Handa <handa@m17n.org>
5088
5089 * coding.c (detect_coding): Fix previous change.
5090 (detect_coding_system): Likewise.
5091
50922008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5093
5094 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
5095
5096 * keymap.c (Vminibuffer_local_filename_must_match_map):
5097 Rename from Vminibuffer_local_must_match_filename_map.
5098 (syms_of_keymap):
5099 * minibuf.c (Fcompleting_read): Adjust accordingly.
5100 * commands.h: Rename declaration as well.
5101
51022008-06-05 Kenichi Handa <handa@m17n.org>
5103
5104 * font.c (Ffont_spec): Don't use font_parse_family_registry for
5105 family name.
5106 (Ffont_put): Likewise.
5107
5108 * fontset.c (fontset_find_font): Call font_open_for_lface with the
5109 current font-spec.
5110
5111 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
5112 is unspecified.
5113
5114 * xfaces.c (realize_x_face): If the font-related face attributes
5115 are the same as those of default face, realize a new fontset from
5116 default->fontset.
5117 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
5118
51192008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5120
5121 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
5122 (move_it_in_display_line): New wrapper.
5123
5124 * window.c (window_scroll_pixel_based_preserve_x)
5125 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
5126 (window_scroll_pixel_based, window_scroll_line_based):
5127 Use them to preserve column positions.
5128 (syms_of_window): Initialize them.
5129
5130 * indent.c (Fvertical_motion): Extend first arg to allow passing an
5131 (HPOS . VPOS) pair.
5132
5133 * dispextern.h (move_it_in_display_line): Declare.
5134
51352008-06-05 Juanma Barranquero <lekktu@gmail.com>
5136
5137 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
5138 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
5139 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
5140
51412008-06-04 Juanma Barranquero <lekktu@gmail.com>
5142
5143 * window.c (Fset_window_parameter): Doc fix.
5144 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
5145
51462008-06-04 Joakim Verona <joakim@verona.se>
5147
5148 * window.h (struct window): Add new member window_parameters.
5149
5150 * window.c (Fwindow_parameters, Fwindow_parameter)
5151 (Fset_window_parameter): New defuns.
5152 (syms_of_window): Defsubr the new defuns.
5153 (make_window): Initialize window_parameters to nil.
5154
51552008-06-04 John Paul Wallington <jpw@pobox.com>
5156
5157 * eval.c (Fdefmacro): Doc fix.
5158
51592008-06-04 Kenichi Handa <handa@m17n.org>
5160
5161 * coding.c (detect_coding): Fix handling of coding->head_ascii.
5162 Be sure to call setup_coding_system when we find a proper coding system.
5163 (detect_coding_system): Fix handling of coding->head_ascii.
5164
51652008-06-03 Andreas Schwab <schwab@suse.de>
5166
5167 * font.c (font_prop_validate_spacing): Fix last change.
5168
51692008-06-03 Kenichi Handa <handa@m17n.org>
5170
5171 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
5172 (font_parse_fcname): Fix handling of unknown key.
5173
5174 * xfont.c (xfont_list): Try an alias.
5175
5176 * charset.c (char_charset): Return NULL if the arg charset_list is
5177 specified and C doesn't belong to any of them.
5178
51792008-06-02 Chip Coldwell <coldwell@redhat.com>
5180
5181 * font.c (font_pixel_size): Don't take cdr of an integer.
5182
51832008-06-02 Jim Meyering <meyering@redhat.com>
5184
5185 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
5186 * alloc.c (xfree): Return right away for a NULL arg.
5187 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
5188 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
5189 * mac.c (create_apple_event_from_event_ref): Likewise.
5190 (create_apple_event_from_drag_ref, cfstring_create_normalized):
5191 Likewise.
5192 * doprnt.c (doprnt1): Likewise.
5193 * frame.c (frame): Likewise.
5194 * keyboard.c (wipe_kboard): Likewise.
5195 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
5196 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
5197 * term.c (tty_default_color_capabilities, maybe_fatal)
5198 (delete_tty): Likewise.
5199 * w16select.c (string): Likewise.
5200 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
5201 * w32bdf.c (w32_free_bdf_font): Likewise.
5202 * w32fns.c (w32_unload_font): Likewise.
5203 * w32font.c (w32font_close): Likewise.
5204 * window.c (size_window): Likewise.
5205 * xselect.c (receive_incremental_selection): Likewise.
5206 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
5207 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
5208 * w32.c (stat): Likewise.
5209
5210 Remove useless if-before-free tests.
5211 * editfns.c (Fset_time_zone_rule): Likewise.
5212 * lread.c (nosuffix): Likewise.
5213 * ralloc.c (get_bloc): Likewise.
5214 * regex.c (reg_free): Likewise.
5215 * xftfont.c (xftfont_open, xftfont_close): Likewise.
5216 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
5217 * xsmfns.c (smc_save_yourself_CB): Likewise.
5218
52192008-06-02 Kenichi Handa <handa@m17n.org>
5220
5221 * font.c (font_find_for_lface): Handle float font size.
5222 (font_open_for_lface): Likewise.
5223
5224 * xfaces.c (x_supports_face_attributes_p): Check face->font before
5225 comparing the properties.
5226
52272008-06-01 Jason Rumney <jasonr@gnu.org>
5228
5229 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
5230 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
5231 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
5232 Don't add empty script list.
5233 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
5234
52352008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
5236
5237 * Makefile.in (dot, dotdot): Remove, update users.
5238 ".." has been used elsewhere in the file for a long time.
5239 (LIBXT_STATIC): Remove conditional based on unused variable.
5240
52412008-06-01 Miles Bader <miles@gnu.org>
5242
5243 * xfaces.c (Vface_remapping_alist): New variable.
5244 (syms_of_xfaces): Initialize it.
5245 (enum named_merge_point_kind): New type.
5246 (struct named_merge_point): Add `named_merge_point_kind' field.
5247 (push_named_merge_point): Make cycle detection respect different
5248 named-merge-point kinds.
5249 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
5250 Remove face-name alias resolution.
5251 (lface_from_face_name): New definition using
5252 `lface_from_face_name_no_resolve'.
5253 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
5254 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
5255 (get_lface_attributes): New definition that layers face-remapping on
5256 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
5257 (lookup_basic_face): New function.
5258 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
5259 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
5260 `get_lface_attributes'.
5261 (face_at_buffer_position): Use `lookup_basic_face' to lookup
5262 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
5263 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
5264
5265 * xdisp.c (init_iterator): Pass base_face_id through
5266 `lookup_basic_face' when we actually use it as a face-id.
5267 (handle_single_display_prop): Use `lookup_basic_face' to lookup
5268 DEFAULT_FACE_ID.
5269
5270 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
5271 lookup the initial face-id.
5272
5273 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
5274
52752008-06-01 Juanma Barranquero <lekktu@gmail.com>
5276
5277 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
5278 (Fremove_text_properties): Fix typos in docstrings.
5279
52802008-05-31 Kenichi Handa <handa@m17n.org>
5281
5282 * font.c (font_list_entities): Fix the car part of data to be
5283 stored in the cache.
5284
5285 * ftfont.c (ftfont_font_format): Don't use strcasestr.
5286
52872008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
5288
5289 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
5290 Add a `test' argument so another predicate than `equal' can be used.
5291 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
5292 (map_char_table): Remove unused vars `c' and `i'.
5293 * lisp.h (Foptimize_char_table): Adjust declaration.
5294 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
5295
52962008-05-30 Kenichi Handa <handa@m17n.org>
5297
5298 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
5299 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
5300 defined.
5301
53022008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
5303
5304 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
5305 (Fmake_variable_frame_local): Disallow mixing buffer-local and
5306 frame-local settings for the same variable.
5307
53082008-05-30 Kenichi Handa <handa@m17n.org>
5309
5310 * fontset.c (Ffont_info): Move to font.c.
5311 (syms_of_fontset): Delete defsubr of Sfont_info.
5312
5313 * font.c (font_style_to_value, font_score): Delete casting of the
5314 args to xstcasecmp.
5315 (register_font_driver): Increment num_font_drivers only when
5316 registering the driver globally.
5317 (Ffont_info): Move from fontset.c. Handle a font object too.
5318 (syms_of_font): Defsubr Sfont_info.
5319
53202008-05-29 Kenichi Handa <handa@m17n.org>
5321
5322 * coding.h (enum define_coding_utf8_arg_index): New enum.
5323 (enum coding_attr_index): Change coding_attr_utf_16_bom to
5324 coding_attr_utf_bom.
5325 (enum utf_bom_type): Rename from utf_16_bom_type.
5326 (struct utf_16_spec): Adjust for the above change.
5327 (struct coding_system): Add utf_8_bom in `spec' union.
5328
5329 * coding.c (CODING_UTF_8_BOM): New macro.
5330 (enum coding_category): Delete coding_category_utf_8, add
5331 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
5332 coding_category_utf_8_sig.
5333 (CATEGORY_MASK_UTF_8): Delete it.
5334 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
5335 (CATEGORY_MASK_UTF_8_SIG): New macros.
5336 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
5337 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
5338 CATEGORY_MASK_UTF_8_SIG.
5339 (CATEGORY_MASK_UTF_8): New macro.
5340 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
5341 (detect_coding_utf_8): Check BOM.
5342 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
5343 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
5344 (encode_coding_utf_16): Likewise.
5345 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
5346 (detect_coding, detect_coding_system): Handle utf-8-auto.
5347 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
5348 (syms_of_coding): Fix setting up of Vcoding_category_table.
5349
53502008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
5351
5352 * process.c (Faccept_process_output): If `millisec' is non-nil,
5353 `seconds' default to 0.
5354 (wait_reading_process_output): Also return non-nil if we read output
5355 from a non-running process.
5356
53572008-05-29 Jason Rumney <jasonr@gnu.org>
5358
5359 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
5360 `raster' specified.
5361 (add_font_entity_to_list): Allow non-opentype truetype fonts back
5362 in the uniscribe backend, but disallow any font that has no
5363 unicode subrange support.
5364
53652008-05-29 Juanma Barranquero <lekktu@gmail.com>
5366
5367 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
5368 Fix typos in docstrings.
5369
53702008-05-29 Kenichi Handa <handa@m17n.org>
5371
5372 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
5373 (Fx_family_fonts): Set frame correctly.
5374
53752008-05-28 Jason Rumney <jasonr@gnu.org>
5376
5377 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
5378
53792008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
5380
5381 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
5382 calling build_annotations.
5383
53842008-05-28 Juanma Barranquero <lekktu@gmail.com>
5385
5386 * coding.c (Fdecode_coding_region, Fencode_coding_region)
5387 (Fencode_coding_string):
5388 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
5389 <latin-extra-code-table>: Fix typos in docstrings.
5390 (syms_of_coding) <coding-system-alist>: Doc fix.
5391 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
5392
53932008-05-28 Kenichi Handa <handa@m17n.org>
5394
5395 * fontset.c (Ffont_info): Don't call font_close_object.
5396
5397 * font.c (font_parse_family_registry): Use Ffont_put to validate
5398 foundry and family.
5399 (font_delete_unmatched): Don't check spacing.
5400 (font_list_entities): Add spacing to the spec to list fonts.
5401
5402 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
5403 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
5404
5405 * coding.c (encode_coding_raw_text): Fix previous change.
5406 (encode_coding_object): When the dst_object is a buffer and is
5407 different from src_object, move gap to PT.
5408
54092008-05-27 Chong Yidong <cyd@stupidchicken.com>
5410
5411 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
5412
54132008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
5414
5415 * coding.c (encode_coding_raw_text): Set coding->produced_char for
5416 all branches. Compute it differently.
5417
5418 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
5419
54202008-05-27 Juanma Barranquero <lekktu@gmail.com>
5421
5422 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
5423 into "else if () ... else ...".
5424
54252008-05-27 Jason Rumney <jasonr@gnu.org>
5426
5427 * w32font.c (w32font_open_internal): Determine if glyph indices
5428 are likely to work here.
5429
54302008-05-27 Chong Yidong <cyd@stupidchicken.com>
5431
5432 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
5433 draw overlap glyphs with appropriate highlighting.
5434
54352008-05-27 Kenichi Handa <handa@m17n.org>
5436
5437 * xfont.c (xfont_open): Fix calculation of font->average_width.
5438
54392008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
5440
5441 * casefiddle.c (casify_object): Try to guess better whether the
5442 argument is a byte or a char.
5443
54442008-05-26 Andreas Schwab <schwab@suse.de>
5445
5446 * xselect.c (x_reply_selection_request): Properly handle format == 32.
5447 Always send multiples of format size.
5448
5449 * xterm.c (x_set_frame_alpha): Fix type mismatch.
5450
54512008-05-26 Jason Rumney <jasonr@gnu.org>
5452
5453 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
5454 (compute_metrics): Don't set failure if we just cleared the cache.
5455 (w32_weight_table): Remove unused variable.
5456 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
5457 backwards compatibility.
5458
54592008-05-25 Kenichi Handa <handa@m17n.org>
5460
5461 * w32term.c (x_draw_glyph_string):
5462 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
5463
5464 * xfaces.c: Delete unused function prototypes.
5465 (xstrlwr, font_frame): Delete them.
5466 (clear_face_cache): Delete unused variable.
5467
5468 * xftfont.c (xftfont_open): Delete unused variable.
5469 If underline_thickness is not 1, adjust underline_position.
5470
5471 * ftxfont.c (ftxfont_open): Delete unused variable.
5472
5473 * fontset.c (face_for_char): Optimize for the case of no charset
5474 property.
5475
5476 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
5477 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
5478 (otf_open, font_otf_capability, generate_otf_features)
5479 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
5480 Comment out by surrounding "#if 0" and "#endif" for the moment.
5481 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
5482 (syms_of_font): Codes for accessing above commented out.
5483
54842008-05-24 Eli Zaretskii <eliz@gnu.org>
5485
5486 * w32proc.c: Include dispextern.h.
5487
5488 * w32.c: Include dispextern.h.
5489
54902008-05-23 Juanma Barranquero <lekktu@gmail.com>
5491
5492 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
5493 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
5494 Fix typos in docstrings.
5495
54962008-05-23 Jason Rumney <jasonr@gnu.org>
5497
5498 * xsmfns.c: Remove includes that are already included by config.h.
5499
55002008-05-23 Kenichi Handa <handa@m17n.org>
5501
5502 * charset.c (Qemacs, charset_emacs): New variables.
5503 (char_charset): Fix for non-Unicode characters.
5504 (syms_of_charset): Define charset_emacs.
5505
5506 * w32term.c (x_draw_glyph_string): Be sure to update
5507 s->underline_thickness and s->underline_position. Be sure to draw
5508 underline within the current line area.
5509
5510 * xterm.c (x_draw_glyph_string): Be sure to update
5511 s->underline_thickness and s->underline_position. Be sure to draw
5512 underline within the current line area.
5513
5514 * fontset.c: Delete unused variables and add casting for char *
5515 throughout the file.
5516 (fontset_font): Try the fallback fonts of the current fontset
5517 before consulting the default fontset.
5518
5519 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
5520
5521 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
5522
55232008-05-22 Jason Rumney <jasonr@gnu.org>
5524
5525 * font.c: Don't include strings.h.
5526
5527 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
5528
5529 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
5530 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
5531 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
5532 to call xstrcasecmp.
5533
5534 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
5535
5536 * fontset.c (fs_query_fontset): Use xstrcasecmp.
5537
5538 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
5539
5540 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
5541
55422008-05-22 Kenichi Handa <handa@m17n.org>
5543
5544 * puresize.h (BASE_PURESIZE): Increase to 1220000.
5545
5546 * font.c (font_prop_validate_style): Adjust for the format
5547 change of font_style_table.
5548
5549 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
5550 two args.
5551
5552 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
5553 two args.
5554
55552008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
5556
5557 * minibuf.c (keys_of_minibuf): Delete.
5558 * lisp.h (keys_of_minibuf): Delete.
5559 * emacs.c (main): Don't call keys_of_minibuf.
5560
55612008-05-22 Kenichi Handa <handa@m17n.org>
5562
5563 * ftfont.c (ftfont_resolve_generic_family): Rename from
5564 ftfont_list_generic_family. Return a single family for each
5565 generic family.
5566 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
5567 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
5568 Call font_add_log.
5569 (ftfont_match): Call font_add_log.
5570
5571 * font.h (Ffont_xlfd_name): EXFUN adjusted.
5572 (FONT_DEBUG): Define it.
5573 (font_add_log): Extern it.
5574 (font_assert): Rename from xassert.
5575
5576 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
5577 (xfont_list_family): Call font_add_log.
5578 (xfont_match): Likewise.
5579 (memq_no_quit): Delete.
5580
5581 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
5582 call of Ffont_xlfd_name.
5583
5584 * xfaces.c (struct table_entry, slant_table, weight_table)
5585 (swidth_table): Move to font.c.
5586
5587 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
5588 xassert are changed to font_assert. Delete many unused variables.
5589 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
5590 New variables.
5591 (struct table_entry): Move from xfaces.c and modified.
5592 (weight_table, slant_table, width_table): Move from xfaces.c and
5593 contents adjusted for the change of struct table_entry.
5594 (font_style_to_value, font_style_symbolic): Adjust for the
5595 format change of font_style_table.
5596 (font_parse_family_registry): Don't overwrite existing foundry and
5597 family of font_spec.
5598 (font_score): Fix calculation of diff for sizes.
5599 (font_sort_entites): Call font_add_log.
5600 (font_delete_unmatched): Return a newly created list.
5601 (font_list_entities): Fix previous change. Call font_add_log.
5602 (font_matching_entity, font_open_entity, font_close_entity):
5603 Call font_add_log.
5604 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
5605 (Finternal_set_font_style_table): Delete.
5606 (BUILD_STYLE_TABLE): New macro.
5607 (build_style_table): New function.
5608 (Vfont_log, font_log_env_checked): New variables.
5609 (font_add_log): New function.
5610 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
5611 Declare Lisp variables "font-weight-table", "font-slant-table",
5612 "font-width-table", and "font-log". Initialize font_style_table.
5613
56142008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
5615
5616 * xterm.c (x_set_frame_alpha): Move declarations before statements.
5617
56182008-05-21 Seiji Zenitani <zenitani@mac.com>
5619 Ryo Yoshitake <ryo@shiftmode.net>
5620
5621 * frame.c (Qalpha): Add a new frame parameter `alpha'.
5622 (Vframe_alpha_lower_limit): New variable.
5623 (x_set_alpha): New function.
5624
5625 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
5626
5627 * xfns.c (x-create-frame, Qalpha):
5628 Initialize the frame parameter `alpha'.
5629 * xterm.c (OPAQUE, OPACITY): New.
5630 (x_set_frame_alpha): New function.
5631 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
5632
5633 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
5634 * w32fns.c (w32_frame_parm_handlers): Likewise.
5635
56362008-05-20 Jason Rumney <jasonr@gnu.org>
5637
5638 * w32font.c (add_font_entity_to_list): Don't add non-opentype
5639 truetype fonts to opentype list.
5640
56412008-05-20 Juanma Barranquero <lekktu@gmail.com>
5642
5643 * fontset.c (Ffontset_info): Doc fix.
5644 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
5645 <ignore-relative-composition>: Fix typos in docstrings.
5646
5647 * font.c (syms-of-font) <font-encoding-alist>:
5648 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
5649 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
5650 (Ffont_otf_alternates): Doc fixes.
5651
56522008-05-20 Kenichi Handa <handa@m17n.org>
5653
5654 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
5655 font.h through out the file.
5656 (FONT_DRIVERS): Rename from FONTOBJ.
5657 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
5658 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
5659
5660 * emacs.c (main): Call syms_of_font unconditionally.
5661
5662 * font.h (find_font_encoding): Extern it.
5663
5664 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
5665 fontset.c.
5666 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
5667 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
5668 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
5669 only when HAVE_WINDOW_SYSTEM is defined.
5670 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
5671 when HAVE_WINDOW_SYSTEM is defined.
5672
5673 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
5674 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
5675
5676 * xfaces.c: Include font.h unconditionally.
5677 (merge_face_ref, merge_face_vectors)
5678 (Finternal_set_lisp_face_attribute): Cancel the previous change.
5679
56802008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
5681
5682 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
5683 indirect_variable.
5684 * eval.c (lisp_indirect_variable): New fun.
5685 (Fuser_variable_p): Use it.
5686
56872008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
5688
5689 * lisp.h (indirect_variable):
5690 * data.c (indirect_variable, let_shadows_buffer_binding_p):
5691 Use Lisp_Symbol pointers rather than Lisp_Object.
5692 Adjust callers.
5693 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
5694 To this end, change calling-convention.
5695
5696 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
5697 if some non-hidden buffers are selected by string&pred.
5698
56992008-05-19 Chong Yidong <cyd@stupidchicken.com>
5700
5701 * process.c (wait_reading_process_output): Always check status
5702 when in batch mode.
5703
57042008-05-19 Kenichi Handa <handa@m17n.org>
5705
5706 * font.c (font_list_entities): Fix handling of cache.
5707 (font_matching_entity): Likewise.
5708
5709 * ftfont.c (cs_iso8859_1): Delete.
5710 (ft_face_cache): New variable.
5711 (struct ftfont_info): New member fc_charset_idx.
5712 (ftfont_build_basic_charsets): Delete.
5713 (fc_charset_table): New variable.
5714 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
5715 . FC_CHARSET_IDX) as :font-entity property in the font entity.
5716 Callers changed.
5717 (ftfont_lookup_cache, ftfont_get_charset): New functions.
5718 (ftfont_spec_pattern): New argument fc_charset_idx.
5719 Check registry more rigidly. Change callers.
5720 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
5721 change of :font-entity property of the font.
5722
5723 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
5724 property of the font.
5725
57262008-05-18 Juanma Barranquero <lekktu@gmail.com>
5727
5728 * coding.c (Fcoding_system_p): Rename argument to match docstring.
5729 (Funencodable_char_position, Fcheck_coding_systems_region)
5730 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
5731 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
5732 (Ffind_operation_coding_system, Fset_coding_system_priority)
5733 (Fcoding_system_eol_type): Doc fixes.
5734
57352008-05-17 Glenn Morris <rgm@gnu.org>
5736
5737 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
5738
57392008-05-16 Eli Zaretskii <eliz@gnu.org>
5740
5741 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
5742 and st_gid.
5743
5744 * frame.c (Fdelete_frame): Don't call font_update_drivers if
5745 HAVE_WINDOW_SYSTEM is not defined.
5746
5747 * xfaces.c (merge_face_ref, merge_face_vectors)
5748 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
5749 HAVE_WINDOW_SYSTEM is defined.
5750 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
5751
57522008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
5753
5754 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
5755
57562008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5757
5758 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
5759
57602008-05-15 Kenichi Handa <handa@m17n.org>
5761
5762 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
5763 preference.
5764
57652008-05-15 Glenn Morris <rgm@gnu.org>
5766
5767 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
5768
57692008-05-15 Chong Yidong <cyd@stupidchicken.com>
5770
5771 * fns.c (init_fns): Don't initialize weak_hash_tables here.
5772 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
5773
5774 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
5775
57762008-05-15 Kenichi Handa <handa@m17n.org>
5777
5778 * ftfont.c (ftfont_list): Downcase family name to check generic
5779 families.
5780
5781 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
5782 font-spec for QCfont value.
5783
5784 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
5785 buffer. Check the return value of it.
5786
57872008-05-14 Jason Rumney <jasonr@gnu.org>
5788
5789 * w32term.c (w32_get_glyph_overhangs): Remove.
5790 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
5791
57922008-05-14 Kenichi Handa <handa@m17n.org>
5793
5794 * font.c (font_prop_validate): Make nil a valid value.
5795 (font_clear_cache): Check if the cached vector of entities is nil
5796 or not.
5797
57982008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5799
5800 * emacs.c (main_thread): Conditionalize on
5801 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
5802 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
5803
5804 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
5805 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
5806 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
5807
58082008-05-14 Kenichi Handa <handa@m17n.org>
5809
5810 * coding.c (detect_coding_iso_2022): Ignore a coding category that
5811 has no corresponding coding system.
5812
58132008-05-14 Jason Rumney <jasonr@gnu.org>
5814
5815 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
5816
5817 * w32font.h (w32font_open_internal): Update declaration.
5818
5819 * w32font.c (w32font_open_internal): Change last argument from
5820 w32font_info struct to font object. Fill in font object from
5821 font_entity. Get Outline metrics if possible. Use them to
5822 calculate underline position and thickness. Use xlfd name as name
5823 property. Don't set codepage.
5824 (w32font_open): Pass font_object to w32font_open_internal. Don't
5825 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
5826 (w32font_draw): Use s->font.
5827 (clear_cached_metrics): Don't clear non-existent blocks.
5828
5829 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
5830 font was not found.
5831 (x_draw_glyph_string): Use underline position and thickness from font.
5832
5833 * w32uniscribe.c (uniscribe_open): Pass font_object to
5834 w32font_open_internal.
5835
58362008-05-14 Kenichi Handa <handa@m17n.org>
5837
5838 These changes are to delete all legacy font-handling codes, and
5839 make Emacs use only font-backends.
5840
5841 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
5842 (frame.o, image.o, print.o): Depend on $(FONTSRC).
5843
5844 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
5845
5846 * charset.h (Vcharset_non_preferred_head)
5847 (Vcurrent_iso639_language): Extern them.
5848
5849 * charset.c (Vcharset_non_preferred_head): New variable.
5850 (Vcurrent_iso639_language): New variable.
5851 (syms_of_charset): Declare it as a Lisp variable.
5852 (char_charset): Don't check non preferred charsets. As a last
5853 resort, return charset_unicode.
5854 (Fset_charset_priority): Update Vcharset_non_preferred_head.
5855
5856 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
5857 conditionals. Don't check enable_font_backend. Delete all codes
5858 used only when USE_FONT_BACKEND is not defined.
5859
5860 * dispextern.h (struct glyph_string): Change type of `font' to
5861 `struct font *'.
5862 (struct glyph_string): New member underline_position and
5863 underline_thickness.
5864 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
5865 (struct face): Change type of `font' to `struct font *'. Remove
5866 members `font_name', `font_info_id'.
5867 (per_char_metric, encode_char): Delete externs.
5868 (calc_pixel_width_or_height): Adjust the prototype.
5869
5870 * emacs.c (enable_font_backend): Delete extern.
5871 (main): Don't set enable_font_backend. Don't check the command
5872 line argument "-disable-font-backend".
5873
5874 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
5875 (enum font_property_index): New members FONT_DPI_INDEX,
5876 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
5877 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
5878 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
5879 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
5880 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
5881 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
5882 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
5883 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
5884 (struct font_spec, struct font_entity): New structs.
5885 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
5886 (struct font): Many members from old "struct font_info" moved to
5887 here. Members font and entity deleted.
5888 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
5889 the new font-related objects.
5890 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
5891 (CHECK_FONT_GET_OBJECT): Likewise.
5892 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
5893 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
5894 (struct font_driver): New members case_sensitive anc check. Type
5895 of the member list and open changed.
5896 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
5897 (font_symbolic_width, font_find_object, font_get_spec)
5898 (font_set_lface_from_name): Delete extern.
5899 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
5900
5901 * font.c: Include <strings.h>.
5902 (enable_font_backend): Delete it.
5903 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
5904 (CHECK_VALIDATE_FONT_SPEC): Delete it.
5905 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
5906 (null_string): Delete it.
5907 (null_vector): Make it static.
5908 (font_family_alist): Delete it.
5909 (Qnormal): Extern it.
5910 (QCextra, QClanguage): Delete it.
5911 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
5912 (font_make_spec, font_make_entity, font_make_object)
5913 (font_intern_prop): Renamed from intern_downcase. Don't downcase
5914 the string. Callers changed.
5915 (font_pixel_size): Adjusted for the format change of font-related
5916 objects.
5917 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
5918 (font_style_to_value, font_style_symbolic): New function.
5919 (build_font_family_alist): Delete it.
5920 (font_registry_charsets): Use Fassoc_string instead of
5921 assq_no_quit.
5922 (font_prop_validate_symbol): Don't return null_string.
5923 (font_prop_validate_style): Adjusted for the change of
5924 style-related values in a font vector.
5925 (font_property_table): Delete entries for QClanguage and
5926 QCantialias, add entries for QCavgwidth.
5927 (get_font_prop_index): Delete the 2nd argument FROM.
5928 (font_prop_validate): Arguments changed.
5929 (font_put_extra): Adjusted for the change of font-related objects.
5930 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
5931 (font_parse_fcname, font_unparse_fcname)
5932 (font_prepare_composition): Likewise.
5933 (font_parse_family_registry): Renamed from font_merge_old_spec.
5934 (otf_open): Delete the 1st arg entity.
5935 (font_otf_capability): Adjusted for the above change.
5936 (font_score): New arg alternate_families. Adjusted for the change
5937 of font-related objects.
5938 (font_sort_entites): New arg best_only.
5939 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
5940 Delete them.
5941 (font_match_p): Check alternate families.
5942 (font_find_object): Delete it.
5943 (font_check_object): New function.
5944 (font_clear_cache): Adjusted for the change of font-related objects.
5945 (font_delete_unmatched): New arg.
5946 (font_list_entities): Call font_driver->list with a spec that
5947 doesn't specify style-related properties.
5948 (font_matching_entity): Arguments changed. Caller changed.
5949 (font_open_entity): Adjusted for the change of font-related objects.
5950 (font_close_object, font_has_char, font_encode_char)
5951 (font_get_name, font_get_spec): Likewise.
5952 (font_spec_from_name, font_clear_prop, font_update_lface):
5953 New functions.
5954 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
5955 (font_prepare_for_face, font_done_for_face, font_open_by_name)
5956 (font_at): Adjusted for the change of font-related objects.
5957 (font_range): New function.
5958 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
5959 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
5960 (Fcopy_font_spec, Fmerge_font_spec): New function.
5961 (Ffont_family_list): Renamed from list-families.
5962 (Finternal_set_font_style_table): Arguments changed.
5963 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
5964 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
5965 change of font-related objects.
5966 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
5967
5968 * fontset.h (struct font_info): Delete it. Most members go to
5969 struct font.
5970 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
5971 (enum FONT_SPEC_INDEX): Delete it.
5972 (font_info, list_fonts_func, load_font_func, query_font_func)
5973 (set_frame_fontset_func, find_ccl_program_func)
5974 (get_font_repertory_func, new_fontset_from_font_name): Delete
5975 externs.
5976 (fontset_from_font_name): Extern it.
5977 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
5978 (FONT_INFO_FROM_FACE): Deleted.
5979 (face_for_font): Adjust prototype.
5980
5981 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
5982 conditionals. Don't check enable_font_backend. Delete all codes
5983 used only when USE_FONT_BACKEND is not defined.
5984 (get_font_info_func, list_font_func, load_font_func)
5985 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
5986 (get_font_repertory_func): Delete them.
5987 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
5988 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
5989 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
5990 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
5991 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
5992 (fontset_compare_rfontdef): New function.
5993 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
5994 rfont-defs by qsort. Adjusted for the change of font-group vector.
5995 (load_font_get_repertory): Deleted.
5996 (fontset_find_font): Use new macros to ref/set elements of
5997 font-def and rfont-def.
5998 (fontset_font): Fix the timing of remembering that no font for C.
5999 (free_face_fontset): Do nothing if the face has no fontset.
6000 (face_suitable_for_char_p): Use new macros to ref/set elements of
6001 rfont-def.
6002 (face_for_char): Likewise. Call face_for_char with font_object.
6003 (fs_load_font): Delete. Delete #pragma surrounding it.
6004 (fs_query_fontset): Use strcasecmp instead of strcmp.
6005 (generate_ascii_font_name): Adjusted for the format change of
6006 font-spec.
6007 (Fset_fontset_font): Likewise. Use new macros to set elements of
6008 font-def.
6009 (Fnew_fontset): Use font_unparse_xlfd to generate
6010 FONTSET_ASCII (fontset).
6011 (new_fontset_from_font_name): Deleted.
6012 (fontset_from_font): Renamed from new_fontset_from_font. Check if
6013 a fontset is already created for the font. FIx updating of
6014 Vfontset_alias_alist.
6015 (fontset_ascii_font): Deleted.
6016 (Ffont_info): Adjusted for the format change of font-spec.
6017 (Finternal_char_font): Likewise.
6018 (Ffontset_info): Likewise.
6019 (syms_of_fontset): Don't check load_font_func.
6020
6021 * fns.c (internal_equal): Handle PREV_FONT.
6022
6023 * frame.h: Delete USE_FONT_BACKEND conditional.
6024
6025 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
6026 conditionals. Don't check enable_font_backend. Delete all codes
6027 used only when USE_FONT_BACKEND is not defined.
6028 (x_set_font): Call x_new_font, not x_new_fontset2.
6029 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
6030 already set for the frame.
6031
6032 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
6033 a font-entity by font_make_entity. Use font_intern_prop instead
6034 of intern_downcase. Use FONT_SET_STYLE to set a style-related
6035 font property. If a font is scalable, set avgwidth property to 0.
6036 Set font-entity property by font_put_extra.
6037 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
6038 (ffont_driver): Adjusted for the change of struct font_driver.
6039 (ftfont_spec_pattern): New function.
6040 (ftfont_list): Return a list, not vector.
6041 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
6042 (ftfont_list_family): Don't downcase names.
6043 (ftfont_free_entity): Deleted.
6044 (ftfont_open): Return a font-object. Adjusted for the change of
6045 struct font. Get underline_thickness and underline_position from
6046 font property. Don't update dpyinfo->smallest_font_height and
6047 dpyinfo->smallest_char_width.
6048 (ftfont_close): Don't free `struct font'.
6049 (ftfont_has_char): Adjusted for the format change of font-entity.
6050 (ftfont_encode_char, ftfont_text_extents): Likewise.
6051
6052 * ftxfont.c (ftxfont_list): Return a list, not vector.
6053 (ftxfont_open): Return a font-object. Adjusted for the change of
6054 struct font. Get underline_thickness and underline_position from
6055 font property. Don't update dpyinfo->smallest_font_height and
6056 dpyinfo->smallest_char_width.
6057 (ftxfont_close): Don't decrease FRAME_X_DISPLAY_INFO (f)->n_fonts.
6058 (ftxfont_draw): Adjusted for the change of struct font.
6059
6060 * image.c (image_ascent): Don't include "charset.h". Include
6061 "character.h" and "font.h".
6062
6063 * lisp.h (enum pvec_type): New member PREV_FONT.
6064 (Fassoc_string): EXFUN it.
6065
6066 * print.c: Include font.h.
6067 (print_object): Handle font-related objects.
6068
6069 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
6070 conditionals. Don't check enable_font_backend. Delete all codes
6071 used only when USE_FONT_BACKEND is not defined.
6072 (handle_auto_composed_prop): Do nothing if it->f is not on a
6073 window system. Check how many following characters can be
6074 displayed by the same font.
6075 (calc_pixel_width_or_height): Type of the 4th arg is changed to
6076 'struct font *'.
6077 (get_char_face_and_encoding): Assign the whole encoding task to
6078 the `encode-char' method of a font driver.
6079 (fill_composite_glyph_string): Adjusted for the change of `struct
6080 face' and `struct glyph_string'.
6081 (fill_glyph_string): Likewise.
6082 (get_per_char_metric): Arguments changed.
6083 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
6084 and `struct glyph_string'.
6085 (produce_stretch_glyph, calc_line_height_property)
6086 (x_produce_glyphs): Likewise.
6087
6088 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
6089 conditionals. Don't check enable_font_backend. Delete all codes
6090 used only when USE_FONT_BACKEND is not defined. Use
6091 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
6092 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
6093 (Qp): Extern them.
6094 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
6095 Deleted.
6096 (struct font_name): Deleted.
6097 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
6098 (compare_fonts_by_sort_order): New function.
6099 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
6100 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
6101 Deleted.
6102 (Fx_family_fonts): Use font_list_entities, and sort fonts by
6103 compare_fonts_by_sort_order.
6104 (Fx_font_family_list): Call Ffont_family_list.
6105 (face_numeric_value, face_numeric_weight, face_numeric_slant)
6106 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
6107 (face_symbolic_slant, face_symbolic_swidth)
6108 (split_font_name_into_vector, build_font_name_from_vector)
6109 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
6110 (font_rescale_ratio, split_font_name, build_font_name)
6111 (free_font_names, sort_fonts, x_face_list_fonts)
6112 (face_font_available_p, sorted_font_list, cmp_font_names)
6113 (font_list_1, concat_font_list, font_list, remove_duplicates):
6114 Deleted.
6115 (Fx_list_fonts): Use Ffont_list.
6116 (LFACE_AVGWIDTH): Deleted.
6117 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
6118 by FONTP.
6119 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
6120 (set_lface_from_font_name): Delete it.
6121 (set_lface_from_font): Renamed from
6122 set_lface_from_font_and_fontset. Caller changed. Don't set
6123 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
6124 for face.
6125 (merge_face_vectors): Copy font-spec if necessary.
6126 Clear properties of the font-spec if necessary.
6127 (merge_face_ref): Clear properties of the font-spec if necessary.
6128 (Finternal_set_lisp_face_attribute): Likewise.
6129 (set_font_frame_param): Use font_load_for_lface to load a
6130 font-object, and call Fmodify_frame_parameters with it.
6131 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
6132 font name by Ffont_xlfd_name.
6133 (Finternal_lisp_face_attribute_values): Don't check QCweight,
6134 QCslant, and QCwidth.
6135 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
6136 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
6137 Compare fonts by EQ.
6138 (lookup_non_ascii_face): Deleted.
6139 (face_for_font): The 2nd argument changed.
6140 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
6141 Check atomic font properties by case insensitive.
6142 (realize_non_ascii_face): Set face->overstrike correctly.
6143 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
6144 (dump_realized_face): Get font name from
6145 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
6146
6147 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
6148 conditionals. Don't check enable_font_backend. Delete all codes
6149 used only when USE_FONT_BACKEND is not defined.
6150 (xic_create_xfontset): Original code deleted and renamed from
6151 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
6152 (x_make_gc): Don't set GCFont in GCs.
6153 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
6154 opened by "fixed".
6155 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
6156 find_ccl_program_func, query_font_func, set_frame_fontset_func,
6157 get_font_repertory_func.
6158
6159 * xfont.c: Include <stdlib.h> and "ccl.h".
6160 (struct xfont_info): New structure.
6161 (xfont_query_font): Deleted.
6162 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
6163 moved from xterm.c.
6164 (xfont_driver): Adjusted for the change of struct font_driver.
6165 (compare_font_names): New function.
6166 (xfont_list_pattern): Sort font names case insensitively. Make
6167 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
6168 (xfont_list): Return a list, not vector.
6169 (xfont_match): If the font doesn't have QCname property, generate
6170 a name from the other font properties.
6171 (xfont_open): Return a font-object. Adjusted for the change of
6172 struct font. Get underline_thickness and underline_position from
6173 font property. Don't update dpyinfo->smallest_font_height and
6174 dpyinfo->smallest_char_width.
6175 (xfont_close): Don't free struct font.
6176 (xfont_prepare_face): Adjusted for the change of struct font.
6177 (xfont_done_face): Deleted.
6178 (xfont_has_char): Adjusted for the change of struct font.
6179 (xfont_encode_char, xfont_draw): Likewise.
6180 (xfont_check): New function.
6181
6182 * xftfont.c (xftfont_list): Adjusted for the change of `list'
6183 callback function.
6184 (xftfont_match): Adjusted for the format change of font-entity.
6185 (xftfont_open): Adjusted for the format change of font-entity and
6186 font-object. Adjusted for the change of struct font. Return a
6187 font-object. Don't update dpyinfo->smallest_font_height and
6188 dpyinfo->smallest_char_width.
6189 (xftfont_close): Block input while calling XftFontClose.
6190 (xftfont_prepare_face): Don't block input while calling
6191 xftfont_get_colors. Adjusted for the change of struct font.
6192 (xftfont_shape): Return value of error case fixed.
6193
6194 * xrdb.c (x_load_resources): Don't setup a fontset resource.
6195
6196 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
6197 conditionals.
6198 (FONT_WIDTH): Return (f)->max_width.
6199 (struct x_display_info): Delete member `font'.
6200 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
6201 (x_find_ccl_program, x_get_font_repertory): Delete externs.
6202 (struct x_output): Change type of `font' to `struct font *'.
6203
6204 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
6205 conditionals. Don't check enable_font_backend. Delete all codes
6206 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
6207 (x_per_char_metric, x_encode_char): Deleted.
6208 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
6209 (x_compute_glyph_string_overhangs): Adjusted for the change of
6210 `struct face'.
6211 (x_draw_glyph_string_foreground)
6212 (x_draw_composite_glyph_string_foreground): Likewise.
6213 (x_draw_glyph_string): Likewise. Use font->underline_position and
6214 font->underline_thickness.
6215 (x_new_font): Renamed from x_new_fontset2.
6216 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
6217 (x_check_font): Call `check' method of a font driver.
6218 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
6219 (x_query_font, x_get_font_repertory): Deleted.
6220 (x_find_ccl_program): Renamed and moved to xfont.c.
6221 (x_redisplay_interface): Adjusted for the change of `struct
6222 redisplay_interface'.
6223
6224 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
6225 conditionals. Don't check enable_font_backend. Delete all codes
6226 used only when USE_FONT_BACKEND is not defined. Surround non-used
6227 code by "#ifdef OLD_FONT" and "endif".
6228 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
6229
6230 * w32font.h (struct w32font_info): New member.
6231 (FONT_COMPAT): New macro.
6232 (w32font_open_internal): Prototype adjusted.
6233
6234 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
6235 OLD_FONT" and "endif".
6236
6237 * w32font.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.
6240 (w32font_open): Return a font-object. Make a font-object by
6241 font_make_object. Adjusted for the change of struct w32font_info.
6242 (w32font_close): Don't free struct font. Adjusted for the change
6243 of struct w32font_info.
6244 (w32font_encode_char, w32font_text_extents, w32font_draw):
6245 Adjusted for the change of struct w32font_info.
6246 (w32font_draw): Likewise.
6247 (w32font_list_internal): Return a list, not vector.
6248 (w32font_open_internal): Change the 4th arg to font-object.
6249 Adjusted for the change of struct w32font_info and font-object format.
6250 (add_font_name_to_list): Don't downcase names.
6251 (w32_enumfont_pattern_entity): Make a font-entity by
6252 font_make_entity. Adjusted for the format change of font-entity.
6253 Use FONT_SET_STYLE to set a style-related font property. If a
6254 font is scalable, set avgwidth property to 0. Set font-entity
6255 property by font_put_extra.
6256 (font_matches_spec): Adjusted for the format change of font-entity.
6257 (w32_weight_table, w32_decode_weight): New variables.
6258 (w32_encode_weight): New function.
6259 (fill_in_logfont): Adjusted for the format change of font-spec.
6260 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
6261 weight value.
6262 (w32font_driver): Adjusted for the change of struct font_driver.
6263
6264 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
6265 conditionals. Don't check enable_font_backend. Surround non-used
6266 code by "#ifdef OLD_FONT" and "endif".
6267 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
6268 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
6269
6270 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
6271 conditionals. Don't check enable_font_backend. Delete all codes
6272 used only when USE_FONT_BACKEND is not defined. Surround non-used
6273 code by "#ifdef OLD_FONT" and "endif".
6274
6275 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
6276 (uniscribe_open): Return value changed to font-object.
6277 Adjusted for the format change of font-object.
6278 (uniscribe_otf_capability): Adjusted for the change of struct font.
6279 (add_opentype_font_name_to_list): Don't downcase names.
6280 (uniscribe_font_driver): Adjusted for the change of struct
6281 font_driver.
6282
62832008-05-13 Chong Yidong <cyd@stupidchicken.com>
6284
6285 * dispnew.c (update_frame_1): Check if tty output is still valid
6286 before flushing it.
6287
62882008-05-13 Jan Djärv <jan.h.d@swipnet.se>
6289
6290 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
6291 to Gtk+ menus.
6292
62932008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
6294
6295 * dired.c (file_name_completion): Tweak the code so as to always do it
6296 in a single pass. Tighten the scope of some variables.
6297
6298 * dired.c (Qdefault_directory): New var.
6299 (file_name_completion): Use it instead of Fexpand_file_name.
6300 (syms_of_dired): Initialize it.
6301
63022008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
6303
6304 * fileio.c (double_dollars): Remove dead code.
6305
63062008-05-10 Eli Zaretskii <eliz@gnu.org>
6307
6308 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
6309 Mention w32-get-true-file-attributes in doc string.
6310
6311 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
6312
63132008-05-09 Glenn Morris <rgm@gnu.org>
6314
6315 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
6316 2008-04-23.
6317
63182008-05-09 Eli Zaretskii <eliz@gnu.org>
6319
6320 Support for reporting owner and group of each file on MS-Windows:
6321 * dired.c (stat_uname, stat_gname): New functions, with special
6322 implementation for w32.
6323 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
6324
6325 * w32.c: Rename the_passwd_* to dflt_passwd_*.
6326 (dflt_group_name): New static variable.
6327 (dflt_group): Rename from the_group.
6328 (init_user_info): Init dflt_group fields. Get user's group name
6329 from LookupAccountSid.
6330 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
6331 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
6332 New initialization states.
6333 (globals_of_w32): Initialize them to zero. Initialize the default
6334 group name to "None".
6335 (GetFileSecurity_Name): New global var, the name of the function
6336 to call for GetFileSecurity.
6337 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
6338 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
6339 (get_file_security, get_security_descriptor_owner)
6340 (get_security_descriptor_group, is_valid_sid)
6341 (get_file_security_desc, get_rid, get_name_and_id)
6342 (get_file_owner_and_group): New functions.
6343 (stat): Use get_file_security_desc and get_file_owner_and_group to
6344 report the owner and primary group of each file. Don't ignore the
6345 high 32 bits of file's size, now that st_size is 64-bit wide.
6346 Fix test when to get true file attributes.
6347 (init_user_info): Use get_rid instead of equivalent inline code.
6348 (fstat): Don't ignore the high 32 bits of file's size.
6349
63502008-05-09 Chong Yidong <cyd@stupidchicken.com>
6351
6352 * image.c (png_load): Use correct bit-depth for setting background
6353 color.
6354
63552008-05-08 Eli Zaretskii <eliz@gnu.org>
6356
6357 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
6358 epa-hook.elc.
6359
63602008-05-08 Juanma Barranquero <lekktu@gmail.com>
6361
6362 * font.c (Ffont_match_p): Don't use `iff' in docstring.
6363
63642008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
6365
6366 * macfns.c (Fx_create_frame): Make a copy of frame parameters
6367 because the original parameters are in pure storage now.
6368 (mac_window): Remove unused params. Update callers.
6369
63702008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
6371
6372 * lread.c (substitute_object_recurse): Use lower-level primitives.
6373 Don't signal errors when traversing sub-char-tables.
6374 Don't loop over all the possible characters when traversing char-tables.
6375
6376 * print.c (print_preprocess): Add sub-char-tables to the print-table,
6377 just like we do in print.c.
6378
63792008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
6380
6381 * minibuf.c (Ftry_completion): Remove code left over from when we used
6382 scmp instead of Fcompare_strings.
6383
63842008-05-04 Juanma Barranquero <lekktu@gmail.com>
6385
6386 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
6387
63882008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6389
6390 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
6391 Create bitmap context in native byte order.
6392
6393 * macterm.c (XDrawLine)
6394 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
6395 context in native byte order.
6396
63972008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6398
6399 * config.in: Regenerate.
6400
6401 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
6402 New definitions for Image I/O support.
6403 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
6404 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
6405 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
6406 (mac_data_provider_release_data, image_load_image_io)
6407 [USE_MAC_IMAGE_IO]: New functions.
6408 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
6409 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
6410 (init_image_func_pointer) [MAC_OSX]: Remove function.
6411 (image_load_quartz2d) [MAC_OSX]: Check availability of
6412 CGImageCreateWithPNGDataProvider at compile time.
6413 Use lowercase `false' for boolean constant.
6414 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
6415 Use image_load_image_io.
6416 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
6417 Don't check MyCGImageCreateWithPNGDataProvider.
6418 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
6419 Don't call init_image_func_pointer.
6420
6421 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
6422
6423 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
6424 Make variable non-static.
6425 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
6426 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
6427
6428 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
6429 (RED_FROM_ULONG): Mask off higher bits.
6430 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
6431
6432 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
6433 Include AvailabilityMacros.h.
6434 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
6435 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
6436
64372008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
6438
6439 * chartab.c (Fset_char_table_range): If range is t, really set all
6440 chars to that value.
6441
64422008-05-03 Eli Zaretskii <eliz@gnu.org>
6443
6444 * dired.c (Ffile_attributes): Don't allow the device number become
6445 negative.
6446
64472008-05-02 Daiki Ueno <ueno@unixuser.org>
6448
6449 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
6450
64512008-05-02 Juri Linkov <juri@jurta.org>
6452
6453 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
6454 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
6455 DEFAULT argument as a list of default values in docstrings.
6456
64572008-05-01 Chong Yidong <cyd@stupidchicken.com>
6458
6459 * puresize.h (BASE_PURESIZE): Increase to 1210000.
6460
64612008-05-01 Martin Rudalics <rudalics@gmx.at>
6462
6463 * dispnew.c (change_frame_size_1): Preserve small windows when
6464 shrinking frames by calling set_window_height|width with third
6465 arg 2.
6466
6467 * window.h (struct window): Replace field too_small_ok by field
6468 resize_proportionally.
6469
6470 * window.c (make_window): Initialize resize_proportionally.
6471 (enlarge_window): Temporarily set resize_proportionally to make
6472 sure that shrink_windows does scale the window proportionally.
6473 (shrink_windows): When window has resize_proportionally set try
6474 to shrink it proportionally by stealing from other windows.
6475 (struct saved_window, Fset_window_configuration)
6476 (compare_window_configurations): Handle resize_proportionally.
6477 (WINDOW_TOTAL_SIZE): New macro.
6478 (window_min_size, shrink_windows, size_window): Use it.
6479 (check_min_window_sizes): Remove. Invalid values of
6480 window-min-height|width are handled by window_min_size_2 now.
6481 (size_window, Fsplit_window, enlarge_window)
6482 (adjust_window_trailing_edge, grow_mini_window): Don't call
6483 check_min_window_sizes.
6484 (window_min_size_2, window_min_size_1, window_min_size):
6485 New argument safe_p for retrieving "safe" minimum sizes.
6486 (Fdisplay_buffer, Fsplit_window, enlarge_window)
6487 (adjust_window_trailing_edge, grow_mini_window):
6488 Adjust arguments of window_min_size... functions.
6489 (shrink_windows): Argument min_size removed. New argument
6490 safe_p allows shrinking windows to their safe minimum sizes.
6491 Calculate minimum size and decide whether a window shall be
6492 deleted for each window individually.
6493 (size_window): When nodelete_p equals 2, tell shrink_windows to
6494 delete windows only if their new minimum size is no more safe.
6495 (shrink_window_lowest_first): Call window_min_size_1 to make
6496 sure to preserve modeline of bottom-most window when resizing
6497 the minibuffer.
6498 (Fset_window_configuration, Fcurrent_window_configuration)
6499 (compare_window_configurations): Do not handle
6500 window-min-height|width any more.
6501 (syms_of_window): Clarify window-min-height|width doc-strings.
6502
65032008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
6504
6505 * dired.c (file_name_completion): Fix up the encoding/decoding issue
6506 some more. Copy some of the code from Ftry_completions.
6507 Remove special case code that dates back to initial revision when the
6508 slash was only added when necessary and that can't trigger nowadays.
6509
65102008-04-27 Kenichi Handa <handa@m17n.org>
6511
6512 * font.c (font_prop_validate): Signal `error' instead of `font'.
6513
65142008-04-29 Jason Rumney <jasonr@gnu.org>
6515
6516 * w32fns.c (Fw32_battery_status): New defun.
6517 (syms_of_w32fns): Defsubr it.
6518
65192008-04-28 Andreas Schwab <schwab@suse.de>
6520
6521 * dired.c (file_name_completion): Fix another mixing of encoded
6522 and decoded names.
6523
65242008-04-28 Juanma Barranquero <lekktu@gmail.com>
6525
6526 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
6527
65282008-04-27 Juanma Barranquero <lekktu@gmail.com>
6529
6530 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
6531
65322008-04-27 Andreas Schwab <schwab@suse.de>
6533
6534 * dired.c (file_name_completion): Fix inappropriate mixing of
6535 encoded and decoded names.
6536
6537 * xterm.c (XTread_socket): Fix use of uninitialized variable.
6538
6539 * puresize.h (BASE_PURESIZE): Increase to 1200000.
6540
65412008-04-26 Eli Zaretskii <eliz@gnu.org>
6542
6543 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
6544 2008-03-31, it's not needed anymore with `struct stat' definition
6545 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
6546 for the same reasons.
6547
65482008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
6549
6550 * m/sparc.h: Additional redefinitions for GNU/Linux.
6551
65522008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6553
6554 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
6555 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
6556 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
6557 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
6558 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
6559 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
6560 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
6561 Likewise.
6562
6563 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
6564 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
6565 (mac_ax_number_of_characters): Add externs.
6566 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
6567 [USE_MAC_TSM]: Likewise.
6568 (mac_handle_text_input_event) [MAC_OSX]:
6569 Handle kEventTextInputOffsetToPos for no active input area case.
6570 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
6571 (mac_handle_document_access_event)
6572 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
6573 (install_application_handler) [MAC_OSX]: Register handlers for
6574 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
6575 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
6576 Register mac_handle_document_access_event.
6577
6578 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
6579 Make functions non-static.
6580
65812008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
6582
6583 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
6584 (read_file_name_completion_ignore_case, insert_default_directory)
6585 (Qdefault_directory): Move to minibuffer.el.
6586 (Fread_file_name): Call the new `read-file-name' instead.
6587
65882008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6589
6590 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
6591 Make function non-static.
6592 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
6593 Remove function.
6594 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
6595 Move to mactoolbox.c.
6596 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
6597
6598 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
6599 (mac_rect_make): New macro.
6600
6601 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
6602 instead of float.
6603 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
6604 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
6605 (XSetBackground) [USE_CG_DRAWING]: Likewise.
6606 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
6607 CGRectMake.
6608 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
6609 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
6610 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
6611 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
6612 instead of WindowRef in argument type.
6613 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
6614 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
6615 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
6616 instead of DISPLAY. All uses changed.
6617 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
6618 (x_calc_absolute_position): Simplify so as not to use
6619 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
6620
6621 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
6622 instead of WindowRef in argument type.
6623 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
6624 [TARGET_API_MAC_CARBON]: Remove externs.
6625 (create_apple_event, mac_event_parameters_to_lisp)
6626 [TARGET_API_MAC_CARBON]: Add externs.
6627
6628 * mactoolbox.c (Vmac_ts_script_language_on_focus)
6629 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
6630 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
6631 is clicked.
6632 (x_activate_menubar): Remove extern for saved_menu_event_location.
6633 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
6634 Move from mac.c.
6635
66362008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6637
6638 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
6639 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
6640
66412008-04-23 Jason Rumney <jasonr@gnu.org>
6642
6643 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
6644 attributes only for local files.
6645
6646 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
6647 default to Qlocal.
6648
66492008-04-22 Juri Linkov <juri@jurta.org>
6650
6651 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
6652 read-buffer-to-switch instead of using the letter "B".
6653
66542008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
6655
6656 * fileio.c (Qdefault_directory): New variable.
6657 (Fread_file_name): Use it to pass `dir' to the completion functions.
6658
66592008-04-20 Chong Yidong <cyd@stupidchicken.com>
6660
6661 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
6662
66632008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
6664
6665 * keyboard.c (Vpre_help_message): Remove.
6666 (show_help_echo): Remove default C code.
6667
6668 * dired.c (directory_files_internal, file_name_completion):
6669 Only call ENCODE_FILE if the string is indeed decoded.
6670
66712008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
6672
6673 * Makefile.in (TOOLKIT_DEFINES): Remove.
6674 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
6675
66762008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6677
6678 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
6679 (mactoolbox.o): New target.
6680
6681 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
6682 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
6683
6684 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
6685 Use mac_set_frame_window_background instead of XSetWindowBackground.
6686 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
6687 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
6688 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
6689 instead of SetWindowTitleWithCFString.
6690 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
6691 Move function to mactoolbox.c.
6692 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
6693 Use mac_set_window_modified instead of SetWindowModified.
6694 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
6695 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
6696 (Fx_focus_frame): Use mac_front_non_floating_window instead of
6697 FrontNonFloatingWindow. Use mac_activate_window instead of
6698 ActivateWindow. Use mac_active_non_floating_window instead of
6699 ActiveNonFloatingWindow.
6700 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
6701 Use mac_show_hourglass and mac_hide_hourglass.
6702 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
6703 instead of GetGlobalMouse.
6704 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
6705 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
6706 Use mac_bring_window_to_front instead of BringToFront.
6707 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
6708 mactoolbox.c.
6709 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
6710 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
6711 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
6712 mactoolbox.c.
6713
6714 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
6715 (XtPointer): Move typedef from macmenu.c.
6716 (enum button_type): Move enum from macmenu.c.
6717 (widget_value): Move typedef from macmenu.c.
6718 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
6719 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
6720 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
6721 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
6722 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
6723 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
6724 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
6725 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
6726 (Selection): Move typedef from macselect.c.
6727 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
6728 macterm.c.
6729 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
6730 (mac_is_window_collapsed, mac_bring_window_to_front)
6731 (mac_send_window_behind, mac_hide_window, mac_show_window)
6732 (mac_collapse_window, mac_front_non_floating_window)
6733 (mac_active_non_floating_window, mac_activate_window)
6734 (mac_move_window_structure, mac_move_window, mac_size_window)
6735 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
6736
6737 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
6738 (enum mac_menu_kind): Move enum to mactoolbox.c.
6739 (min_menu_id): Move variable to mactoolbox.c.
6740 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
6741 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
6742 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
6743 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
6744 [TARGET_API_MAC_CARBON]: Likewise.
6745 (XtPointer): Move typedef to macgui.h.
6746 (enum button_type): Move enum to macgui.h.
6747 (widget_value): Move typedef to macgui.h.
6748 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
6749 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
6750 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
6751 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
6752 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
6753 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
6754 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
6755 (popup_activated_flag): Make variable non-static.
6756 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
6757 (add_menu_item, fill_menu, dispose_menus):
6758 Move functions to mactoolbox.c.
6759 (restore_show_help_function, menu_target_item_handler)
6760 (install_menu_target_item_handler, mac_handle_dialog_event)
6761 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
6762 [TARGET_API_MAC_CARBON]: Likewise.
6763 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
6764 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
6765 (find_and_call_menu_selection, name_is_separator): Make function
6766 non-static.
6767 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
6768 to mactoolbox.c.
6769 (set_frame_menubar): Don't call install_menu_quit_handler.
6770 (menu_item_selection): New variable.
6771 (mac_menu_show): Use create_and_show_popup_menu.
6772 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
6773 selection but set variable menu_item_selection. All uses changed.
6774 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
6775 Call install_menu_quit_handler. Move to mactoolbox.c.
6776
6777 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
6778 (Selection): Move typedef to macgui.h.
6779 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
6780 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
6781 Make variables non-static.
6782 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
6783 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
6784 Make functions non-static.
6785 (Vmac_service_selection) [MAC_OSX]: Likewise.
6786 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
6787 (mac_valid_selection_target_p, mac_clear_selection)
6788 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
6789 (mac_put_selection_value, mac_selection_has_target_p)
6790 (mac_get_selection_value, mac_get_selection_target_list)
6791 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
6792 Move functions to mactoolbox.c.
6793 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
6794 Likewise.
6795 (copy_scrap_flavor_data, mac_handle_service_event)
6796 (install_service_handler) [MAC_OSX]: Likewise.
6797 (syms_of_macselect) <Vmac_dnd_known_types>:
6798 Use mac_dnd_default_known_types.
6799
6800 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
6801 Move to mactoolbox.c.
6802 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
6803 (Fx_selection_owner_p): Add EXFUN.
6804 (install_window_handler, remove_window_handler, XSetWindowBackground):
6805 Remove externs.
6806 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
6807 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
6808 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
6809 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
6810 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
6811 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
6812 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
6813 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
6814 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
6815 (create_and_show_popup_menu, mac_get_selection_from_symbol)
6816 (mac_valid_selection_target_p, mac_clear_selection)
6817 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
6818 (mac_put_selection_value, mac_selection_has_target_p)
6819 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
6820 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
6821 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
6822 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
6823 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
6824 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
6825 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
6826 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
6827 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
6828
6829 * mactoolbox.c: New file.
6830
68312008-04-18 Jason Rumney <jasonr@gnu.org>
6832
6833 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
6834
68352008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
6836
6837 * character.c (Fmultibyte_char_to_unibyte):
6838 Return latin1 chars unchanged.
6839
6840 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
6841 relocated if it points to `name'.
6842
68432008-04-17 Kenichi Handa <handa@m17n.org>
6844
6845 * data.c (Faset): Allow setting a multibyte character in an
6846 ASCII-only unibyte string.
6847
6848 * lisp.h (STRING_SET_MULTIBYTE): New macro.
6849
68502008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
6851
6852 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
6853 done in config.h.
6854
68552008-04-16 Juanma Barranquero <lekktu@gmail.com>
6856
6857 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
6858 (Fchar_direction): Add usage in the docstring.
6859
68602008-04-15 Chong Yidong <cyd@stupidchicken.com>
6861
6862 * keyboard.c (read_key_sequence): Remove always-true checks.
6863
68642008-04-14 Jason Rumney <jasonr@gnu.org>
6865
6866 * w32font.c (w32font_open_internal): Set max_bounds.descent in
6867 compatibility struct, for better underline positioning.
6868
68692008-04-13 David Hansen <david.hansen@gmx.net>
6870
6871 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
6872 string.
6873
68742008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
6875
6876 * m/hp800.h (XUINT, XSET): Remove.
6877
68782008-04-12 Juanma Barranquero <lekktu@gmail.com>
6879
6880 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
6881 previous change.
6882
68832008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
6884
6885 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
6886 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
6887
68882008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
6889
6890 * keymap.h (map_keymap_canonical): Declare.
6891 * xmenu.c (single_keymap_panes): Use it.
6892
68932008-04-11 Glenn Morris <rgm@gnu.org>
6894
6895 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
6896 set the target's value to that of the alias.
6897
68982008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
6899
6900 * term.c (set_tty_color_mode): Left over typo.
6901
69022008-04-10 Michael Albinus <michael.albinus@gmx.de>
6903
6904 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
6905 only after check for file name handler functions. Signal, when
6906 native functionality is not supported.
6907 (syms_of_fileio): Declare it unconditionally.
6908
69092008-04-10 Jason Rumney <jasonr@gnu.org>
6910
6911 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
6912 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
6913
6914 * w32.c (logon_network_drive): Also logon to remote drives that
6915 are mapped to drive letters.
6916
69172008-04-10 Glenn Morris <rgm@gnu.org>
6918
6919 * xdisp.c (truncate-partial-width-windows): Doc fix.
6920
69212008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
6922
6923 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
6924 Move functions to minibuffer.el.
6925 (syms_of_fileio): Don't declare them.
6926
69272008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
6928
6929 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
6930 (syms_of_minibuf): Remove its initialization.
6931
6932 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
6933
69342008-04-09 Juanma Barranquero <lekktu@gmail.com>
6935
6936 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
6937
69382008-04-09 Jason Rumney <jasonr@gnu.org>
6939
6940 * makefile.w32-in (distclean): Delete makefile too.
6941 (maintainer-clean): New target.
6942
6943 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
6944
6945 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
6946 for new font backend and composite cases.
6947
69482008-04-09 Jan Djärv <jan.h.d@swipnet.se>
6949
6950 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
6951 Most of the code moved to run_timers.
6952 (do_pending_atimers): Call run_timers.
6953 (run_timers): New function.
6954
6955 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
6956 run atimers.
6957
6958 * process.c (wait_reading_process_output): The same as above.
6959
69602008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
6961
6962 * minibuf.c (last_exact_completion): Remove variable.
6963 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
6964 (complete_and_exit_1, complete_and_exit_2)
6965 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
6966 (Fdisplay_completion_list, display_completion_list_1)
6967 (Fminibuffer_completion_help, Fself_insert_and_exit)
6968 (Fexit_minibuffer, Fminibuffer_message): Move functions to
6969 minibuffer.el.
6970 (syms_of_minibuf): Remove corresponding initializations.
6971
6972 * keyboard.c (Qdeactivate_mark): New var.
6973 (command_loop_1): Use it to call `deactivate-mark'.
6974 (syms_of_keyboard): Initialize it.
6975
6976 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
6977 to another frame.
6978 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
6979 Don't call set_tty_color_mode.
6980 (store_frame_param): Reset previous_frame rather than call
6981 set_tty_color_mode.
6982 * term.c (set_tty_color_mode): Rewrite.
6983 * dispextern.h (set_tty_color_mode): New type.
6984 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
6985
69862008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
6987
6988 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
6989 for generic chars, which do not exist any more in emacs-unicode.
6990
69912008-04-08 Michael Albinus <michael.albinus@gmx.de>
6992
6993 * coding.c (detect_coding_emacs_mule)
6994 (Ffind_operation_coding_system): Fix typo.
6995
69962008-04-08 Jason Rumney <jasonr@gnu.org>
6997
6998 * w32uniscribe.c (SNAME): Extract only symbol name.
6999
7000 * w32font.h (struct w32_metric_cache): New struct.
7001 (w32font_info): Use it.
7002 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
7003 (CACHE_BLOCKSIZE): New constants.
7004
7005 * w32font.c (Qja, Qko, Qzh): New symbols.
7006 (syms_of_w32font): Initialise them.
7007 (font_matches_spec): Use them to filter by language.
7008 (recompute_cached_metrics): Remove function.
7009 (compute_metrics, clear_cached_metrics): New functions.
7010 (w32font_encode_char): Use them to manage metric cache.
7011 (w32font_text_extents): Cache metrics for all glyphs on demand.
7012 Delay converting glyph indices to WORD until needed.
7013 (w32font_open_internal): Initialize metric cache to empty.
7014 (registry_to_w32_charset): Charset should always be a symbol.
7015 (fill_in_logfont, list_all_matching_fonts): Family should
7016 always be a symbol.
7017
70182008-04-06 Jason Rumney <jasonr@gnu.org>
7019
7020 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
7021 Give up if glyph indices not supported. Use uniscribe obtained
7022 ABC widths for individual metrics. Map glyph clusters back to
7023 characters using fClusterStart flag. Return number of glyphs
7024 produced, not chars processed.
7025 (uniscribe_shape): Map char at FROM to current glyph.
7026
70272008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7028
7029 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
7030 Use SetMenuItemHierarchicalMenu.
7031
70322008-04-05 Jason Rumney <jasonr@gnu.org>
7033
7034 * image.c (pbm_load): Allow color values up to 65535.
7035 Throw an error if max_color_idx is outside the supported range.
7036 Report an error when image size is invalid.
7037 Read two bytes at a time when raw images have max_color_idx above 255.
7038
70392008-04-05 Eli Zaretskii <eliz@gnu.org>
7040
7041 * w32.c (readdir): If FindFirstFile/FindNextFile return in
7042 cFileName a file name that includes `?' characters, use the 8+3
7043 alias in cAlternateFileName instead.
7044
70452008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
7046
7047 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
7048 append "CCL: Quitted" when the CCL program is quitted.
7049 (setup_ccl_program): Initialize ccl->quit_silently to zero.
7050
7051 * ccl.h (struct ccl_program): New member quit_silently.
7052
70532008-04-05 Chong Yidong <cyd@stupidchicken.com>
7054
7055 * search.c (compile_pattern_1): Treat non-nil and non-string of
7056 search-spaces-regexp as nil.
7057
7058 * minibuf.c (Fassoc_string): Tweak docstring.
7059
70602008-04-05 Eli Zaretskii <eliz@gnu.org>
7061
7062 * dired.c (Ffile_attributes): Support inode numbers wider than 32
7063 bits. Remove ugly WINDOWSNT-specific kludge introduced on
7064 2008-03-14 to force inode be positive.
7065
7066 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
7067 _S_* ones, since we now use our own sys/stat.h.
7068 (stat, fstat): Don't mangle the inode number.
7069 (init_user_info): Don't restrict UID and GID to 0-60000 range.
7070
70712008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
7072
7073 * frame.h (struct frame): Give one more bit to `visible' since we use
7074 values larger than 1 to indicate obscured frames on ttys.
7075
7076 * keymap.c (Qkeymap_canonicalize): New var.
7077 (Fmap_keymap_internal): New fun.
7078 (describe_map): Use keymap-canonicalize.
7079
7080 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
7081 (Fundo_boundary): Set them.
7082 (syms_of_undo): Initialize them.
7083 (record_point): Use them instead of last_point_position*.
7084 (last_undo_buffer): Change type.
7085
70862008-04-04 Jason Rumney <jasonr@gnu.org>
7087
7088 * w32font.c (w32font_text_extents): Use font's ascent and descent.
7089 (recompute_cached_metrics): Don't set ascent and descent per char.
7090
7091 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
7092 (uniscribe_check_otf): Add GC protection before consing.
7093 Rearrange loop for counting features.
7094
70952008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
7096
7097 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
7098 buffer with byte-size of source buffer.
7099
71002008-04-03 Chong Yidong <cyd@stupidchicken.com>
7101
7102 * callint.c (Fcall_interactively): Handle temporary region even
7103 when shift-select-mode is off.
7104
71052008-04-03 Jason Rumney <jasonr@gnu.org>
7106
7107 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
7108
71092008-04-03 Kenichi Handa <handa@m17n.org>
7110
7111 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
7112 (CATEGORY_MASK_UTF_16): Likewise.
7113 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
7114 binary file.
7115 (detect_coding): Add null-byte detection for a binary file.
7116 (detect_coding_system): Likewise.
7117
71182008-04-03 Jason Rumney <jasonr@gnu.org>
7119
7120 * w32uniscribe.c: New file.
7121
7122 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
7123
7124 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
7125
7126 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
7127 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
7128 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
7129 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
7130 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
7131 (Qphonetic): New symbols.
7132 (syms_of_w32font): Initialize them.
7133 (font_supported_scripts): Use them.
7134 (w32font_list_family): List all charsets.
7135 (w32font_text_extents, recompute_cached_metrics): Fix metric
7136 calculations.
7137 (w32_enumfont_pattern_entity): Make full_type a DWORD.
7138 Give opentype fonts their own format.
7139 (font_matches_spec): New arguments backend and logfont.
7140 Handle :otf spec for uniscribe backend.
7141 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
7142 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
7143
7144 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
7145 font backend.
7146 (globals_of_w32fns): Initialize uniscribe font backend.
7147
7148 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
7149 dependencies.
7150 (w32uniscribe.$(O)): New file to build.
7151 (FONT_OBJ): Include w32uniscribe.$(O).
7152 (LIBS): Add uniscribe libraries.
7153
7154 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
7155
71562008-04-02 Chong Yidong <cyd@stupidchicken.com>
7157
7158 * callint.c (Vshift_select_mode): New var.
7159 (Finteractive): Document new ^ spec.
7160 (Fcall_interactively): Call handle-shift-selection if the ^ spec
7161 is present.
7162
7163 * keyboard.c (Vthis_command_keys_shift_translated): New var.
7164 (command_loop_1): Avoid running the direct display versions of
7165 forward-char and backward-char if shift-selection may occur.
7166 (read_key_sequence): Set Vthis_command_keys_shift_translated if
7167 shift-translation takes place.
7168
7169 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
7170 avoid clobbering by define-minor-mode.
7171
7172 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
7173 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
7174
7175 * syntax.c (Fforward_word): Add ^ interactive spec.
7176
7177 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
7178 (Fscroll_right): Add ^ interactive spec.
7179
71802008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
7181
7182 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
7183
7184 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
7185
7186 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
7187
71882008-03-31 Juri Linkov <juri@jurta.org>
7189
7190 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
7191
71922008-03-30 Jan Djärv <jan.h.d@swipnet.se>
7193
7194 * gtkutil.c (xg_set_geometry): Fix indentation.
7195 (xg_resize_outer_widget): Remove.
7196 (x_wm_size_hint_off): Fix indentation.
7197 (xg_frame_set_char_size): Call flush_and_sync after
7198 gtk_window_resize.
7199 (x_wm_set_size_hint): Pass NULL as geometry window to
7200 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
7201 Add menu bar and tool bar height to base height.
7202 (xg_update_frame_menubar, free_frame_menubar)
7203 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
7204 (update_frame_tool_bar, free_frame_tool_bar):
7205 Change xg_resize_outer_widget to xg_frame_set_char_size.
7206
72072008-03-30 Michael Albinus <michael.albinus@gmx.de>
7208
7209 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
7210 (Fdbus_call_method): New parameter TIMEOUT.
7211 (dbus-send-signal): Optimize UNGCPRO call.
7212
72132008-03-29 Juri Linkov <juri@jurta.org>
7214
7215 * window.c (Fdisplay_buffer): Move call to
7216 Vsplit_window_preferred_function out of conditions that check
7217 if window is eligible for vertical splitting.
7218 When Vsplit_window_preferred_function is non-nil, call it and use
7219 its non-nil return value as window. Otherwise, continue doing
7220 vertical splitting using Fsplit_window with arg horflag=nil.
7221 (syms_of_window) <Vsplit_window_preferred_function>: Change the
7222 default value from `split-window' to nil.
7223
72242008-03-29 Juri Linkov <juri@jurta.org>
7225
7226 * callint.c (Fcall_interactively): Revert 2008-03-16 change
7227 for interactive code letters 'b' and 'B'.
7228
72292008-03-29 Eli Zaretskii <eliz@gnu.org>
7230
7231 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
7232 multibyte string.
7233
72342008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
7235
7236 * keyboard.c (pending_funcalls): New var.
7237 (timer_check): Run it.
7238 (syms_of_keyboard): Initialize it.
7239 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
7240 (Vdelete_terminal_functions): New vars.
7241 (syms_of_terminal): Initialize them.
7242 (Fdelete_terminal): Run delete-terminal-functions.
7243 * xdisp.c (safe_eval): Rewrite.
7244 (safe_call2): New fun.
7245 * frame.c (Qdelete_frame_functions): New var.
7246 (syms_of_frame): Initialize it.
7247 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
7248 * lisp.h (safe_call2, pending_funcalls): Declare.
7249
72502008-03-28 Andreas Schwab <schwab@suse.de>
7251
7252 * indent.c (Fmove_to_column): Move declaration before statements.
7253
72542008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
7255
7256 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
7257 (struct frame): Use bit fields for boolean vars.
7258
7259 * process.c (server_accept_connection): Simplify naming.
7260 (emacs_get_tty_pgrp): Use SDATA.
7261
7262 * coding.c (decode_coding_object): Fix last change.
7263
72642008-03-27 Jason Rumney <jasonr@gnu.org>
7265
7266 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
7267
72682008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
7269
7270 * charset.c (Fdefine_charset_internal): Change the way of
7271 registering charsets in Vcharset_order_list.
7272 (syms_of_charset): Make the charset `eight-bit' supplementary.
7273
72742008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
7275
7276 * regex.c (EXTEND_BUFFER): Change order of pointer addition
7277 operations, to avoid having the difference between pointers
7278 overflow.
7279
72802008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
7281
7282 * indent.c (check_display_width): New fun.
7283 (scan_for_column): Use it.
7284
7285 * data.c (syms_of_data): Mark most-positive-fixnum and
7286 most-negative-fixnum as constants.
7287
7288 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
7289
7290 * indent.c (scan_for_column): Extract from current_column_1.
7291 Merge with the same code from Fmove_to_column.
7292 (current_column_1, Fmove_to_column): Use it.
7293
72942008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
7295
7296 * keymap.c (map_keymap_internal): New fun.
7297 (map_keymap): Use it.
7298 (Fmap_keymap_internal): New fun.
7299 (Fmap_keymap): Remove left-out test from before make_save_value.
7300
7301 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
7302
7303 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
7304 Use XCAR/XCDR.
7305
7306 * process.h (struct Lisp_Process): Remove filter_multibyte.
7307 * process.c (QCfilter_multibyte): Remove.
7308 (setup_process_coding_systems): Don't use filter_multibyte.
7309 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
7310 (read_process_output): Don't adjust multibyteness to filter_multibyte.
7311 (Fset_process_filter_multibyte): Change the coding-system to
7312 approximate the previous behavior.
7313 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
7314 coding-system.
7315
7316 * coding.c (decode_coding_object): When not decoding into a buffer,
7317 obey the coding system's preference of (uni|multi)byte.
7318
73192008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
7320
7321 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
7322 every char is changed and has a different byte-length.
7323 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
7324 Fix int -> EMACS_INT.
7325
73262008-03-23 David Hansen <david.hansen@gmx.net>
7327
7328 * dbusbind.c (xd_read_message): Remove extra copying of message
7329 strings. Check for NULL `interface' or `member'.
7330
73312008-03-22 Eli Zaretskii <eliz@gnu.org>
7332
7333 * w32.c (readdir): If FindFirstFile/FindNextFile return in
7334 cFileName a file name that includes `?' characters, use the 8+3
7335 alias in cAlternateFileName instead.
7336
73372008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
7338
7339 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
7340
73412008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
7342
7343 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
7344 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
7345 work on current_buffer only instead (that was already the case
7346 for some of the code anyway).
7347 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
7348 (temp_set_point, temp_set_point_both): Use EMACS_INT.
7349 (SET_PT, SET_PT_BOTH): Adjust.
7350 * intervals.h (set_point, temp_set_point, set_point_both)
7351 (temp_set_point_both): Remove redundant declarations.
7352
73532008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
7354
7355 * fileio.c (Finsert_file_contents):
7356 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
7357 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
7358 when buffer != current_buffer anyway.
7359
73602008-03-20 Andreas Schwab <schwab@suse.de>
7361
7362 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
7363 as default.
7364
73652008-03-19 Jason Rumney <jasonr@gnu.org>
7366
7367 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
7368 (syms_of_w32fns): Initialize them.
7369 (HOURGLASS_ID): New constant.
7370 (x_window_to_frame): Don't check hourglass_window.
7371 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
7372 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
7373 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
7374 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
7375 Only change the cursor if hourglass is not active.
7376 (Fx_create_frame): Initialize frame's current_cursor.
7377 (hourglass_atimer): Remove.
7378 (hourglass_started): New function.
7379 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
7380 (show_hourglass): Adapt to w32, changing argument to frame.
7381
7382 * w32term.h (struct w32_output): Remove hourglass_window.
7383 Add current_cursor.
7384
7385 * eval.c (call_debugger, Fsignal):
7386 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
7387 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
7388 (Fexecute_extended_command, cancel_hourglass_unwind):
7389 * minibuf.c (read_minibuf):
7390 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
7391
73922008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
7393
7394 * window.c (run_funs): New fun.
7395 (run_window_configuration_change_hook): Use it to run the buffer-local
7396 and the global part of the hook.
7397
7398 * xdisp.c (format_mode_line_unwind_data): Add window argument.
7399 (unwind_format_mode_line): Restore selected window.
7400 (x_consider_frame_title, Fformat_mode_line): Set selected window.
7401
74022008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
7403
7404 * editfns.c (Fchar_equal): Check they are valid characters.
7405
7406 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
7407
74082008-03-17 Andreas Schwab <schwab@suse.de>
7409
7410 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
7411 against a charset.
7412
7413 * lisp.h (Fbuffer_list): Declare.
7414
74152008-03-17 Jan Djärv <jan.h.d@swipnet.se>
d6c952f8 7416
aac0c6e3
MR
7417 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
7418 handlebox_widget is != 0.
7419
74202008-03-16 Juri Linkov <juri@jurta.org>
7421
7422 * callint.c (Fcall_interactively): For interactive code letters
7423 'b' and 'B' put the buffer list into the list of default "future"
7424 values of the minibuffer.
7425
74262008-03-16 Andreas Schwab <schwab@suse.de>
7427
7428 * keyboard.c (read_key_sequence): Fix downcasing of letters with
7429 modifiers.
7430
7431 * regex.c (re_match_2_internal): Correct matching of a charset
7432 against latin-1 characters.
7433
74342008-03-16 Kenichi Handa <handa@m17n.org>
7435
7436 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
7437 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
7438 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
7439 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
7440 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
7441 CHAR_STRING_ADVANCE.
7442 (produce_chars): Fix for the case that the source and the
7443 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
7444 instead of CHAR_STRING_ADVANCE.
7445 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
7446 STRING_CHAR_ADVANCE.
7447
74482008-03-15 Andreas Schwab <schwab@suse.de>
7449
7450 * regex.c (re_match_2_internal): Correct matching of eight bit
7451 characters in unibyte strings.
7452
74532008-03-15 Martin Rudalics <rudalics@gmx.at>
7454
7455 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
7456 at end of range when it coincides with the end of the buffer.
7457
74582008-03-14 Eli Zaretskii <eliz@gnu.org>
7459
7460 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
7461
7462 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
7463
74642008-03-14 Jason Rumney <jasonr@gnu.org>
7465
7466 * editfns.c (initial_tz): New variable.
7467 (syms_of_editfns): Initialize it.
7468 (Fset_time_zone_rule): Set it when first called.
7469 Use it when TZSTRING is nil.
7470
7471 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
7472 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
7473 (monitor_from_point_fn, get_monitor_info_fn): New globals.
7474 (globals_of_w32fns): Initialize them.
7475 (compute_tip_xy): Use them to position tooltips.
7476
74772008-03-14 Glenn Morris <rgm@gnu.org>
7478
7479 * emacs.c (main): Revert previous change.
7480 (standard_args): Revert -internal-script back to -scriptload,
7481 and remove the long-option form.
7482
74832008-03-13 Glenn Morris <rgm@gnu.org>
7484
7485 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
7486 Remove option -enable-font-backend.
7487
74882008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
7489
7490 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
7491
74922008-03-11 Jan Djärv <jan.h.d@swipnet.se>
7493
7494 * xterm.c (x_connection_closed): For GTK: If this is the last
7495 terminal just exit without closing the display.
7496
74972008-03-11 Jason Rumney <jasonr@gnu.org>
7498
7499 * w32font.c (w32font_full_name): Use floor to round.
7500
f0131492 75012008-03-10 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
aac0c6e3
MR
7502
7503 * sound.c (alsa_configure): Declare vol at beginning of block.
7504
7505 * fontset.c (Ffontset_info): Remove extra semicolon.
7506
75072008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
7508
7509 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
7510 size of resulting string.
7511
75122008-03-10 Jason Rumney <jasonr@gnu.org>
7513
7514 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
7515
75162008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7517
7518 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
7519 Don't pretend as if characters with display property haven't been
7520 consumed for string-replacing-string case.
7521
75222008-03-08 Kim F. Storm <storm@cua.dk>
7523
7524 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
7525 (get_next_display_element, next_element_from_string)
7526 (next_element_from_ellipsis, next_element_from_buffer): Use it.
7527
75282008-03-08 Andreas Schwab <schwab@suse.de>
7529
7530 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
7531
75322008-03-06 Jason Rumney <jasonr@gnu.org>
7533
7534 * w32font.c (w32_registry): Take font_type argument. Use ANSI
7535 when charset not specified. Only translate ANSI to unicode when
7536 font_type is truetype.
7537 (w32font_coverage_ok): New function.
7538 (add_font_entity_to_list): Use it to filter unsuitable fonts.
7539
75402008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
7541
7542 * lread.c (Fread_char): Resolve modifiers.
7543 (Fread_char_exclusive): Likewise.
7544
7545 * character.c (char_resolve_modifier_mask): New function.
7546 (char_string): Use char_resolve_modifier_mask.
7547 (Fchar_resolve_modifiers): New function.
7548 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
7549 function.
7550
75512008-03-04 Jason Rumney <jasonr@gnu.org>
7552
7553 * makefile.w32-in: Always include w32font.c in the build.
7554 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
7555
75562008-03-04 Andreas Schwab <schwab@suse.de>
7557
7558 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
7559 (versionclean): Likewise.
7560
75612008-03-04 Juanma Barranquero <lekktu@gmail.com>
7562
7563 * .cvsignore: Add oo.
7564
75652008-03-03 Andreas Schwab <schwab@suse.de>
7566
7567 * coding.c (decode_coding_object): Inhibit gap shrinking while
7568 decoding in place.
7569
75702008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
7571
7572 * w32term.c: Remove unused include "gnu.h".
7573 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
7574
7575 * gnu.h: Rename to ...
7576 * emacs-icon.h: ... this.
7577 * xterm.c: Use emacs-icon.h instead of gnu.h.
7578 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
7579
75802008-03-03 Juanma Barranquero <lekktu@gmail.com>
7581
7582 * w32font.c: Include math.h.
7583
75842008-03-03 Jason Rumney <jasonr@gnu.org>
7585
7586 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
7587 Compute options separately.
7588 (w32font_open_internal): Set glyph_idx before caching metrics.
7589
7590 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
7591 Define if system headers don't.
7592 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
7593 (w32font_encode_char): Don't declare here.
7594
7595 * w32font.c (Quniscribe, QCformat): New symbols.
7596 (syms_of_w32font): Define them.
7597 (w32font_has_char): Indicate uncertainty.
7598 (w32font_encode_char): Encode as glyph point. Make static.
7599 (recompute_cached_metrics): New function.
7600 (w32font_open_internal): Use it. Set font to use glyph points
7601 initially. Set format based on type of font.
7602 (w32font_text_extents, w32font_draw): Optionally use glyph points.
7603 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
7604 on it. Set format based on information available here.
7605 (add_font_entity_to_list): Identify backend based on opentype_only.
7606
76072008-03-02 Andreas Schwab <schwab@suse.de>
7608
7609 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
7610
7611 * coding.c (decode_coding_big5, produce_chars):
7612 Fix typos in last change.
7613
76142008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
7615
7616 * gnu.h: New icon.
7617
76182008-03-02 Kenichi Handa <handa@m17n.org>
7619
7620 * coding.c (decode_coding_utf_8): When eol-type of CODING is
7621 `dos', don't decode '\r' if that is the last in the source.
7622 (decode_coding_utf_16, decode_coding_emacs_mule)
7623 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
7624 (decode_coding_raw_text, decode_coding_charset): Likewise.
7625 (produce_chars): Don't decode EOL here. Use EMACS_INT.
7626
76272008-03-01 Jason Rumney <jasonr@gnu.org>
7628
7629 * w32font.c (w32font_full_name): Report point size for scalable fonts.
7630
76312008-03-01 Kim F. Storm <storm@cua.dk>
7632
7633 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
7634
76352008-03-01 Jason Rumney <jasonr@gnu.org>
7636
7637 * w32font.c (w32font_full_name): New function.
7638 (w32font_open_internal): Use it.
7639
76402008-03-01 Kim F. Storm <storm@cua.dk>
7641
7642 * dispnew.c (line_draw_cost): Fix invalid glyph check.
7643
76442008-03-01 Jason Rumney <jasonr@gnu.org>
7645
7646 * font.c (font_unparse_fcname): Increase len when style is a symbol.
7647
76482008-03-01 Jan Djärv <jan.h.d@swipnet.se>
7649
7650 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
7651 xg_frame_resized when the event is for the edit widget.
7652
7653 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
7654
7655 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
7656 set_char_size.
7657 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
7658 operations on widgets here. Just set frame size if needed.
7659 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
7660 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
7661 (x_wm_set_size_hint): Set size hints on the edit widget only, not
7662 the whole frame.
7663 (xg_create_tool_bar): Move attachment of the tool bar to
7664 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
7665 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
7666
76672008-03-01 Jason Rumney <jasonr@gnu.org>
7668
7669 * w32fns.c (w32_msg_pump): Disable debug code.
7670
76712008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7672
7673 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
7674
76752008-02-29 Chong Yidong <cyd@stupidchicken.com>
7676
7677 * xdisp.c (next_overlay_string): Don't set
7678 overlay_strings_at_end_processed_p if we're currently reading from
7679 a display string.
7680
76812008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
7682
7683 * xdisp.c (get_overlay_strings_1): Fix typo.
7684
76852008-02-29 Chong Yidong <cyd@stupidchicken.com>
7686
7687 * xdisp.c (get_overlay_strings_1): Add missing argument type.
7688
76892008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
7690
7691 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
7692
7693 * xdisp.c (display_mode_element): Cancel the previous change.
7694 (decode_mode_spec): Likewise.
7695 (handle_auto_composed_prop): Don't make composition if it->string
7696 is a string.
7697
76982008-02-27 Kim F. Storm <storm@cua.dk>
7699
7700 * lisp.h (GLYPH): Change type from int to struct with separate char
7701 and face_id members.
7702 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
7703 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
7704 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
7705 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
7706 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
7707 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
7708 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
7709 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
7710 handle new Lisp glyph code encoding, either an integer or a cons.
7711
7712 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
7713 (GLYPH_ALIAS): Delete.
7714 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
7715 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
7716 (GLYPH_FROM_CHAR): Replace macro by ...
7717 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
7718
7719 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
7720 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
7721 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
7722 (GLYPH_INVALID_P): New macro.
7723 (spec_glyph_lookup_face): Update prototype.
7724
7725 * dispnew.c (line_draw_cost): Adapt to new glyph type.
7726 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
7727 new glyph code encoding.
7728 (spec_glyph_lookup_face): No return value; update passed glyph instead.
7729 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
7730
7731 * xdisp.c (get_next_display_element, next_element_from_display_vector):
7732 Adapt to new glyph type and new glyph code encoding.
7733
7734 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
7735
7736 * indent.c (current_column, current_column_1, Fmove_to_column)
7737 (compute_motion): Adapt to new glyph code encoding.
7738
7739 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
7740
77412008-02-27 Chong Yidong <cyd@stupidchicken.com>
7742
7743 * process.c (wait_reading_process_output): Check for window
7744 changes caused by timers.
7745 Suggested by Johan Bockgård.
7746
77472008-02-27 Glenn Morris <rgm@gnu.org>
7748
7749 * emacs.c (USAGE1): Add `--disable-font-backend'.
7750
77512008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
7752
7753 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
7754 is made to the buffer.
7755
77562008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
7757
7758 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
7759 (face_at_string_position):
7760 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
7761 (face_at_string_position):
7762 * xdisp.c (display_string, next_overlay_change):
7763 * buffer.h (overlays_at):
7764 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
7765 Update callers.
7766
77672008-02-26 Chong Yidong <cyd@stupidchicken.com>
7768
7769 * editfns.c (Fformat): Doc fix.
7770
77712008-02-26 Juanma Barranquero <lekktu@gmail.com>
7772
7773 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
7774 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
7775 (Ffont_otf_alternates, Fquery_font): Doc fixes.
7776
77772008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
7778
7779 * buffer.c (Fbuffer_swap_text): New function.
7780 (syms_of_buffer): Defsubr it.
7781
77822008-02-25 Chong Yidong <cyd@stupidchicken.com>
7783
7784 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
7785
77862008-02-25 Jason Rumney <jasonr@gnu.org>
7787
7788 * w32font.c (w32font_draw): Draw one character at a time when padding.
7789
77902008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
7791
7792 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
7793 Handle a nil arg. Use run_window_configuration_change_hook.
7794 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
7795 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
7796 Use run_window_configuration_change_hook.
7797
77982008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
7799
7800 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
7801 1-pixel width.
7802
78032008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
7804
7805 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
7806 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
7807 if the glyph in the font is zero pixel with.
7808
7809 * dispextern.h (struct glyph_string): New member padding_p.
7810
7811 * w32font.c (w32font_draw): Pay attention to s->padding_p.
7812
7813 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
7814
7815 * xfont.c (xfont_draw): Pay attention to s->padding_p.
7816
7817 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
7818
7819 * font.c: If the font driver doesn't have `shape' function, return Qnil.
7820
78212008-02-25 Jason Rumney <jasonr@gnu.org>
7822
7823 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
7824
78252008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
7826
7827 Allow fine-grained image-cache flushing.
7828 * dispextern.h (struct image): Add `dependencies' field.
7829 (clear_image_caches): Change arg to Lisp_Object.
7830 * image.c (make_image): Initialize `dependencies' field.
7831 (clear_image_cache): Change arg to allow fine-grained flushing.
7832 Perform the flush even if image-cache-eviction-delay is nil.
7833 (clear_image_caches): Change arg to Lisp_Object.
7834 (Fclear_image_cache): Expand meaning of the argument.
7835 (mark_image): Mark `dependencies' field.
7836 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
7837 (lface_hash): Use XHASH rather than XFASTINT.
7838 (face_at_buffer_position): Fix int -> EMACS_INT position.
7839 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
7840 (select_frame_for_redisplay): Remove code duplication.
7841 (redisplay_internal): Adapt arg to call to clear_image_caches.
7842
78432008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
7844
7845 * s/vms4-0.h:
7846 * s/vms4-2.h:
7847 * s/vms4-4.h:
7848 * s/vms5-5.h: Remove, unused.
7849
7850 * s/irix5-2.h:
7851 * s/irix6-0.h:
7852 * s/riscos5.h:
7853 * s/mach-bsd4-3.h:
7854 * m/mips4.h: Remove files for obsolete systems.
7855
7856 * Makefile.in:
7857 * filelock.c:
7858 * unexmips.c:
7859 * m/hp9000s300.h:
7860 * m/iris4d.h:
7861 * s/aix3-1.h:
7862 * s/hpux.h:
7863 * s/msdos.h:
7864 * s/usg5-0.h:
7865 * s/usg5-2-2.h:
7866 * s/usg5-2.h:
7867 * s/usg5-3.h: Remove references to obsolete variables.
7868
7869 * s/irix5-0.h: Remove, move all the contents ...
7870 * s/irix6-5.h: ... here. Simplify.
7871 * config.in: Regenerate.
7872
78732008-02-24 Jason Rumney <jasonr@gnu.org>
7874
7875 * w32term.c (x_draw_glyph_string_background): Clear the background
7876 manually when cleartype is in use.
7877 (x_draw_glyph_string_foreground): Draw text transparently when
7878 cleartype is in use.
7879
7880 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
7881 a font into it unless we have to.
7882
78832008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
7884
7885 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
7886 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
d6c952f8 7887
aac0c6e3
MR
78882008-02-18 Jason Rumney <jasonr@gnu.org>
7889
7890 * w32fns.c (Fw32_shell_execute): Encode parameters.
7891
78922008-02-09 Eli Zaretskii <eliz@gnu.org>
7893
7894 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
7895
78962008-02-05 Juanma Barranquero <lekktu@gmail.com>
7897
7898 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
7899
79002008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
7901
7902 * xterm.c (x_set_offset): Don't change the gravity if
7903 CHANGE_GRAVITY is -1.
7904
79052008-02-23 Chong Yidong <cyd@stupidchicken.com>
7906
7907 * fileio.c (auto_save_error_occurred): New var.
7908 (auto_save_error): Set it.
7909 (Fdo_auto_save): Don't overwrite the error message if an auto-save
7910 error occurred.
7911
79122008-02-23 Eli Zaretskii <eliz@gnu.org>
7913
7914 * w32.c (globals_of_w32): Add initializations for
7915 g_b_init_get_sid_sub_authority and
7916 g_b_init_get_sid_sub_authority_count.
7917
79182008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
7919
7920 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
7921 (font_parse_xlfd): Use them for sanity check.
7922 (Finternal_set_font_style_table): Make sure the table is bijective.
7923
7924 Consolidate the image_cache to the terminal struct.
7925 * termhooks.h (P_): Remove redundant def.
7926 (struct terminal): New field `image_cache'.
7927 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
7928 of FRAME_X_IMAGE_CACHE.
7929 * xterm.h (struct x_display_info): Remove image_cache field.
7930 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7931 * w32term.h (struct w32_display_info): Remove image_cache field.
7932 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7933 * macterm.h (struct mac_display_info): Remove image_cache field.
7934 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7935 * xterm.c (x_term_init):
7936 * w32term.c (w32_term_init):
7937 * macterm.c (mac_term_init): Set the image_cache in the terminal.
7938 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
7939 Remove declarations.
7940 (clear_image_caches, mark_image_cache): New declarations.
7941 * xfaces.c (clear_face_cache):
7942 * xdisp.c (redisplay_internal): Use clear_image_caches.
7943 * image.c (clear_image_cache): Don't check that a frame is on
7944 a window-system before checking if it shares the same cache.
7945 (clear_image_caches): New function.
7946 (Fclear_image_cache): Use it.
7947 (mark_image): Move from allo.c.
7948 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
7949 * alloc.c (mark_image, mark_image_cache): Move to image.c.
7950 (mark_object): Don't call mark_image_cache for frames.
7951 (mark_terminals): Call mark_image_cache.
7952
7953 * lisp.h (Fdelete_terminal): Declare.
7954
7955 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
7956 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
7957 wrong_type_argument.
7958
79592008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
7960
7961 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
7962 malayalam.el, and tamil.el. Add sinhala.el.
7963
79642008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
7965
7966 * xterm.c (x_connection_closed): Consolidate identical tests.
7967 (x_delete_terminal): Don't crash if called via x_connection_closed.
7968
79692008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
7970
7971 * xdisp.c (decode_mode_spec): New arg string.
7972 (display_mode_element): Adjust for the above change.
7973
79742008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
7975
7976 * callint.c (Fcall_interactively): Use AREF.
7977
79782008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
7979
7980 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
7981
79822008-02-18 Jan Djärv <jan.h.d@swipnet.se>
7983
7984 * xfns.c (Fx_show_tip): Set string to " " if empty.
7985
79862008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
7987
7988 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
7989 with Qt.
7990
79912008-02-17 Kenichi Handa <handa@m17n.org>
7992
7993 * ftfont.c (ftfont_shape): Return Lispy number.
7994
7995 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
7996 for GCs.
7997 (Finternal_set_font_selection_order): Call font_update_sort_order
7998 only when enable_font_backend is set.
7999 (realize_x_face): Set face->font_info to that of default face only
8000 when enable_font_backend is set.
8001
8002 * xdisp.c (handle_composition_prop): Set it->c to the fist
8003 character of the composed region.
8004 (fill_composite_glyph_string): Set base_face->font_info to
8005 s->font_info. Get a face for ascii from base_face->ascii_face.
8006 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
8007 with a face already decided.
8008 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
8009 non-negative.
8010 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
8011 call font_prepare_composition unconditionally.
8012
8013 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
8014
8015 * xterm.h (struct x_display_info): New member font.
8016
8017 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
8018 (x_set_mouse_face_gc, x_new_font): Likewise.
8019 (x_term_init): Setup display_info->font.
8020 (x_delete_terminal): Free display_info->font.
8021
8022 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
8023
8024 * ftxfont.c (ftxfont_default_fid): Delete it.
8025 (ftxfont_open): Set xfont->fid to 0.
8026 (ftxfont_end_for_frame): Clear data specific to the frame and the
8027 font-driver.
8028
8029 * xftfont.c (xftfont_default_fid): Delete it.
8030 (xftfont_open): Set xfont->fid to 0.
8031
8032 * fontset.c (FONTSET_OBJLIST): New macro.
8033 (fontset_find_font): Update font-object list of the fontset.
8034 (free_realized_fontset): New function.
8035 (free_face_fontset): Call free_realized_fontset.
8036 (Ffont_info): Call font_close_object only when enable_font_backend
8037 is set.
8038
8039 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
8040 [HAVE_NTGUI]: Include w32term.h.
8041 [MAC_OS]: Include macterm.ch.
8042 (font_otf_ValueRecord): Use make_number.
8043 (font_finish_cache): Fix handling of reference count.
8044 (font_clear_cache): Update num_fonts.
8045 (font_open_entity): Update smallest_char_width and
8046 smallest_font_height of the frame.
8047 (font_close_object): Update num_fonts.
8048 (Fclear_font_cache): Fix finding the target cache data.
8049
80502008-02-16 Glenn Morris <rgm@gnu.org>
8051
8052 * fontset.c (Finternal_char_font): Fix compilation warning.
8053
80542008-02-16 Eli Zaretskii <eliz@gnu.org>
8055
8056 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
8057 instead of char arrays. Enlarge the size of array passed to
8058 get_token_information.
8059
8060 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
8061 warnings.
8062
80632008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
8064
8065 * .gdbinit: Don't set `args', it breaks gdb --args.
8066
80672008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
8068
8069 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
8070 within a narrowed buffer.
8071
80722008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
8073
8074 * coding.c (decode_coding_object, encode_coding_object):
8075 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
8076
80772008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
8078
8079 * coding.c (coding_set_destination): Use BEG_BYTE rather than
8080 hardcoding 1.
8081 (detect_coding_system):
8082 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
8083 (string_char_to_byte, string_byte_to_char, insert_from_gap):
8084 * insdel.c (insert_from_gap):
8085 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
8086 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
8087 (string_to_multibyte):
8088 * character.c (chars_in_text, multibyte_chars_in_text):
8089 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
8090
8091 * character.h (FETCH_STRING_CHAR_ADVANCE)
8092 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
8093 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
8094 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
8095
8096 * casefiddle.c (casify_region): Only call after-change and composition
8097 functions on the part of the region that was changed.
8098
8099 * keyboard.c (read_avail_input):
8100 * frame.c (Fdelete_frame): Call Fdelete_terminal.
8101
81022008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
8103
8104 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
8105 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
8106
81072008-02-11 Juanma Barranquero <lekktu@gmail.com>
8108
8109 * w32menu.c (push_submenu_start, push_submenu_end)
8110 (push_left_right_boundary, push_menu_pane, push_menu_item):
8111 * keyboard.c (read_key_sequence): Don't pass args with side effects
8112 to AREF, it fails when compiling with -DENABLE_CHECKING.
8113
81142008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
8115
8116 * Makefile.in (${lispsource}international/charprop.el):
8117 Delete this target.
8118
8119 * search.c (boyer_moore): Fix incorrect synching of the trunk and
8120 emacs-unicode-2.
8121
81222008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
8123
8124 * terminal.c (Fdelete_terminal): Clean up the `force' path.
8125
81262008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
8127
8128 * frame.c (Qnoelisp): New symbol.
8129 (syms_of_frame): Initialize it.
8130 (Fdelete_frame): Use it to distinguish a mere `force' passed from some
8131 harmless Elisp code, from a strong `force' from x_connection_closed.
8132 * frame.h (Qnoelisp): Declare.
8133 * xterm.c (x_connection_closed): Pass `noelisp'.
8134
8135 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
8136 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
8137 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
8138 rather than `int' for the type of `type'.
8139
81402008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
8141
8142 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
8143
8144 * Makefile.in (GNUC): Remove support for gcc-1.x.
8145
81462008-02-10 Richard Stallman <rms@gnu.org>
8147
8148 * lisp.h (ASET): Use AREF, not ASLOT.
8149
81502008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
8151
8152 * lisp.h (ASET): Check bounds.
8153
81542008-02-10 Glenn Morris <rgm@gnu.org>
8155
8156 * buffer.c (mode-name): Doc fix.
8157
81582008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
8159
8160 * Makefile.in:
8161 * emacs.c:
8162 * gmalloc.c:
8163 * keyboard.c:
8164 * lisp.h:
8165 * m/ibm370aix.h:
8166 * process.c:
8167 * regex.c:
8168 * s/hpux.h:
8169 * sysdep.c:
8170 * sysselect.h:
8171 * systty.h:
8172 * unexec.c:
8173 * w32term.c:
8174 * xsmfns.c:
8175 * xterm.c: Remove code that deals with obsolete variables.
8176
8177 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
8178
8179 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
8180 nothing else needs it anymore.
8181
81822008-02-09 Eli Zaretskii <eliz@gnu.org>
8183
8184 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
8185 instead of unibyte_char_to_multibyte.
8186
81872008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
8188
8189 * s/gnu-linux.h: Remove commented out code.
8190
8191 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
8192
8193 * Makefile.in: Update what RMS says about using autoconf.
8194 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
8195 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
8196 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
8197 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
8198
81992008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
8200
8201 * keymap.c (Fkey_description): Move side effect outside of macro call.
8202
8203 * xfaces.c (Finternal_make_lisp_face):
8204 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
8205
8206 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
8207 (syms_of_fontset): Use ASET.
8208
8209 * fns.c (concat): Move side effect outside of macro call.
8210 (hash_clear): Use ASET.
8211
82122008-02-08 Richard Stallman <rms@gnu.org>
8213
8214 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
8215 If FORCE, and frame has a surrogate minibuffer for another frame,
8216 delete the other frame first.
8217
82182008-02-07 Timo Savola <timo.savola@iki.fi>
8219
8220 * xterm.c (x_detect_focus_change): Handle embed client message.
8221 (handle_one_xevent): Ditto.
8222 (handle_one_xevent): If embedded and we get a button press/release,
8223 request focus.
8224 (xembed_set_info, xembed_send_message): New functions.
8225 (x_make_frame_visible): Call xembed_set_info if embedded.
8226 (x_make_frame_invisible): Call xembed_set_info if embedded.
8227 (x_term_init): Initialize Xatom_XEMBED.
8228 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
8229 (x_iconify_frame): Ditto.
8230
8231 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
8232 (enum xembed_info, enum xembed_message, enum xembed_focus)
8233 (enum xembed_modifier, enum xembed_accelerator): New.
8234 (xembed_set_info, xembed_send_message): Declare.
8235 (FRAME_X_EMBEDDED_P): New.
8236
8237 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
8238 gtk_plug_new.
8239
8240 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
8241 window ID of a frame.
8242 (x_window): Reparent frame if embedded.
8243 (Fx_create_frame): Don't set border width if embedded.
8244
8245 * emacs.c (USAGE3): Add --parent-id.
8246 (standard_args): Ditto.
8247
82482008-02-07 Jan Djärv <jan.h.d@swipnet.se>
8249
8250 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
8251
82522008-02-07 Jim Meyering <meyering@redhat.com>
8253
8254 Use "do...while (0)", not "if (1)...else" in macro definitions.
8255 The latter provokes a warning from gcc about the empty else, when
8256 followed by ";". Also, without that trailing semicolon, it would
8257 silently swallow up any following statement.
8258 * syntax.h (SETUP_SYNTAX_TABLE)
8259 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
8260 * buffer.h (DECODE_POSITION): Likewise.
8261 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
8262 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
8263 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
8264 (FETCH_CHAR_ADVANCE): Likewise.
8265 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
8266
82672008-02-07 Jim Meyering <meyering@redhat.com>
8268
8269 * lread.c [lint]: Don't include <sys/inode.h>.
8270
82712008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
8272
8273 * xselect.c (x_handle_dnd_message):
8274 * xmenu.c (digest_single_submenu, xmenu_show):
8275 * xdisp.c (with_echo_area_buffer_unwind_data)
8276 (format_mode_line_unwind_data, unwind_format_mode_line)
8277 (display_menu_bar):
8278 * eval.c (Ffetch_bytecode):
8279 * doc.c (store_function_docstring):
8280 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
8281 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
8282 * buffer.c (add_overlay_mod_hooklist): Use ASET.
8283
82842008-02-07 Kenichi Handa <handa@m17n.org>
8285
8286 * ftxfont.c (ftxfont_open): Don't set
8287 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
8288
8289 * ftfont.c (ftfont_open): Fix previous change.
8290
82912008-02-06 Jason Rumney <jasonr@gnu.org>
8292
8293 * w32font.c (w32font_text_extents): Fill in lbearing metric.
8294 Use cached metrics for ASCII characters.
8295 (w32font_open_internal): Don't set font's owning_frame.
8296 Cache metrics for ASCII characters.
8297
8298 * w32font.h (struct w32font_info): Add ascii_metrics.
8299 Remove owning_frame.
8300
83012008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
8302
8303 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
8304 to negative value.
8305
8306 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
8307
8308 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
8309
8310 * charset.c (syms_of_charset): Set QCtest and Qeq.
8311
83122008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
8313
8314 * process.c (Fstart_process):
8315 * callproc.c (Fcall_process): Handle the case where
8316 Funhandled_file_name_directory returns nil.
8317
8318 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
8319 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
8320 * font.c (check_gstring): Use them and AREF to access the vector before
8321 we know it's really a gstring.
8322 (Ffont_shape_text): Fix typo.
8323 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Oject mixups.
8324
8325 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
8326 Declare.
8327
8328 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
8329
83302008-02-05 Jason Rumney <jasonr@gnu.org>
8331
8332 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
8333 Set smallest_font_height and smallest_char_width in display info.
8334
83352008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
8336
8337 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
8338
83392008-02-05 Miles Bader <miles@gnu.org>
8340
8341 * xfaces.c (get_lface_attributes, merge_named_face)
8342 (lookup_named_face, lookup_derived_face, realize_named_face):
8343 Revert 2008-02-01 change by cyd@stupidchicken.com.
8344
83452008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
8346
8347 * fontset.c (Ffontset_info): Handle the case of inhibitting the
8348 fallback fonts.
8349 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
8350
83512008-02-04 Jason Rumney <jasonr@gnu.org>
8352
8353 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
8354 set full_name.
8355 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
8356
83572008-02-03 Jason Rumney <jasonr@gnu.org>
8358
8359 * makefile.w32-in (OBJ1): Include font.o here.
8360 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
8361
83622008-02-02 Jason Rumney <jasonr@gnu.org>
8363
8364 * makefile.w32-in (temacs): Bump EMHEAP to 21.
8365
83662008-02-01 Jason Rumney <jasonr@gnu.org>
8367
8368 * s/cygwin.h: Define VIRT_ADDR_VARIES.
8369
8370 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
8371
83722008-02-01 Andreas Schwab <schwab@suse.de>
8373
8374 * Makefile.in (shortlisp, lisp): Update for rename of
8375 ../lisp/language/myanmar.el.
8376
83772008-02-01 Chong Yidong <cyd@stupidchicken.com>
8378
8379 * xfaces.c (get_lface_attributes): Delete function.
8380 (merge_named_face, lookup_named_face, lookup_derived_face)
8381 (realize_named_face): Call lface_from_face_name directly, and use
8382 the fact that merge_face_vectors does not alter its FROM argument.
8383
83842008-02-01 Jason Rumney <jasonr@gnu.org>
8385
8386 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
8387 input in the default locale. Handle non-Unicode multibyte input.
8388
83892008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8390
8391 * fontset.c (reorder_font_vector): Exclude nil elements from the
8392 font group. Don't try multiple fonts.
8393 (fontset_font): Adjust for the above change.
8394 (Finternal_char_font): Return nil if the found font doesn't
8395 contain the character ch.
8396
8397 * Makefile.in (lisp, shortlisp): Add cham.el.
8398
83992008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8400
8401 * font.h (FONTP): Make it return 1 also for a font-object.
8402
8403 * .gdbinit (xfontset): New function.
8404
8405 * font.c (font_find_for_lface): Check if the character C is
8406 supported or not only for the first font.
8407
8408 * fontset.c (reorder_font_vector): Fix typo.
8409 (fontset_find_font): Don't add a font-spec specifying a script.
8410 Use 0 (not Qt) for the indication of empty font-group. Change the
8411 format of RFONT-DEF. Return Qt if no font in the font-group
8412 support the character.
8413 (fontset_font): Adjust for the above change. If no font was
8414 found the character, remember that.
8415 (face_for_char): Adjust for the change of RFONT-DEF.
8416 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
8417 no font for the target.
8418 (Finternal_char_font): Adjust for the change of RFONT-DEF.
8419
84202008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8421
8422 * font.c (font_load_for_face): Handle the case that the font in
8423 face->lface is a string.
8424
84252008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8426
8427 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
8428
84292008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8430
8431 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
8432 Fix previous change. If the frame is not on a window system,
8433 signal an error.
8434
84352008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8436
8437 * coding.c (decode_coding_object, encode_coding_object): Adjust
8438 marker positions after conversion.
8439
8440 * lisp.h (struct Lisp_Marker): New member need_adjustment.
8441
84422008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8443
8444 * font.c (font_find_for_lface): Fix the handling of the return
8445 value of font_has_char.
8446 (Ffont_shape_text): Fix previous change.
8447
8448 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
8449 (fontset_ref_and_range): Delete it.
8450 (fontset_find_font): Call char_table_ref_and_range instead of
8451 FONTSET_REF_AND_RANGE.
8452 (make_fontset): Don't setup font groups of Latin here.
8453 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
8454 (new_fontset_from_font): Make the specified font the default for
8455 all Latin characters.
8456
84572008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8458
8459 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
8460 is on a window system before accessing the fontset of the frame.
8461
84622008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8463
8464 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
8465
8466 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
8467 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
8468
8469 * font.c (Ffont_shape_text): If the font driver doesn't have a
8470 shaper function, make zero-width glyphs to have at least one-pixel
8471 width. Fix setting of `to' field of glyphs.
8472
84732008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8474
8475 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
8476 glyphs.
8477
8478 * font.h (struct font_driver): Improve docstring of member `shape'.
8479
84802008-02-01 Kenichi Handa <handa@m17n.org>
8481
8482 * composite.c (syms_of_composite): Fix docstring of
8483 auto-composition-function.
8484
8485 * font.h (LGLYPH_SIZE): New macro.
8486
8487 * font.c (Ffont_fill_gstring): Stop filling when a character not
8488 supported by the font is found.
8489 (Ffont_shape_text): When a shape callback function returns nil,
8490 try at most two more times with larger gstring.
8491 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
8492
8493 * xdisp.c (handle_auto_composed_prop): Change the argument to
8494 auto-composition-function.
8495
8496 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
8497 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
8498 Lispy glyph and store it in the lgstring.
8499
8500 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
8501
8502 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
8503
85042008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8505
8506 * font.c (Ffont_shape_text): Avoid unnecessary composition.
8507
8508 * fontset.c (Vfont_encoding_charset_alist): New variable.
8509 (syms_of_fontset): DEFVAR it.
8510 (reorder_font_vector, fontset_find_font): Optimize for the case of
8511 no need of reordering.
8512 (face_for_char): Map the charset property by
8513 Vfont_encoding_charset_alist.
8514
85152008-02-01 Jason Rumney <jasonr@gnu.org>
8516
8517 * w32font.c (logfonts_match): Don't check adstyle here.
8518 (font_matches_spec): Check here against physical font instead.
8519 (add_font_entity_to_list): Avoid some substitutions.
8520
8521 * font.c (font_parse_fcname): Default weight and slant to normal.
8522 (font_score): Prefer normal fonts if weight or slant unspecified.
8523 (font_score) [WINDOWSNT]: Scale weight difference down to closer
8524 match freetype scores.
8525
85262008-02-01 Jason Rumney <jasonr@gnu.org>
8527
8528 * w32font.c (w32font_text_extents): Don't use the frame stored in the
8529 font, as it may have been deleted.
8530 (w32_enumfont_pattern_entity): Map generic family to adstyle using
8531 most common hyphenless variation.
8532 (logfonts_match): Check generic family.
8533 (font_matches_spec): Don't check generic family here.
8534 (fill_in_logfont): Set generic family based on adstyle.
8535
8536 * w32font.h (w32font_get_cache): Update declaration.
8537
85382008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8539
8540 * ftfont.c (ftfont_get_cache): Adjust the argument type.
8541
8542 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
8543 If none of the new drivers are available, call font_update_drivers
8544 with the old drivers.
8545
8546 * w32font.c (w32font_get_cache): Adjust the argument type.
8547
8548 * xfont.c (xfont_get_cache): Adjust the argument type.
8549
8550 * font.h (struct font_driver): Change argument type of get_cache.
8551
8552 * xftfont.c (xftfont_start_for_frame): Delete prototype.
8553
8554 * font.c (Ffont_get): Fix arguments to Fassoc.
8555 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
8556 (font_clear_cache): New function.
8557 (font_list_entities, font_matching_entity): Use font_get_cache.
8558 (font_update_drivers): Call font_clear_cache when finishing a driver.
8559
8560 * fontset.c (fontset_find_font): Fix previous change.
8561
85622008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8563
8564 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
8565 dpyinfo->font_table.
8566 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
8567 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
8568
8569 * font.c (font_at): Handle the case that the arg C is negative.
8570 Handle the unibyte case.
8571 (Ffont_at): Call font_at with the arg C -1.
8572
8573 * xdisp.c (handle_auto_composed_prop): Don't get a character at
8574 the position here, and call font_at with the arg C -1.
8575 Don't check the range of the existing composition at the point.
8576
85772008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8578
8579 * fontset.c (fontset_add): New args charset_id and family.
8580 Change caller.
8581 (load_font_get_repertory, fontset_find_font): Assume that
8582 font_spec is always a font-spec object.
8583 (Fset_fontset_font): Always store a font-spec object in a fontset.
8584
8585 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
8586 instead of get_property_and_range.
8587
85882008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8589
8590 * xftfont.c (struct xftfont_info): Delete the member ft_face.
8591 (xftfont_open): Don't keep locking face.
8592 (xftfont_close): Don't unlock face.
8593 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
8594
8595 * fontset.c (fontset_find_font): Don't prefer a font of
8596 supplementary charset.
8597
85982008-02-01 Kenichi Handa <handa@m17n.org>
8599
8600 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
8601 script, langsys_tag to langsys, new member script.
8602 (OTF_TAG_STR): Terminate by '\0'.
8603 (ftfont_get_open_type_spec): If :otf prop is is spec, Limit the
8604 listing to the script specified in that property. Fix arg to
8605 OTF_check_features.
8606
86072008-02-01 Jason Rumney <jasonr@gnu.org>
8608
8609 * w32font.h: New file.
8610
8611 * w32font.c: Include it.
8612 (struct w32font_info): Add owning_frame field. Move to w32font.h.
8613 (w32font_open): Set owning_frame.
8614 (w32font_text_extents): Use owning_frame.
8615 (struct font_callback_data): Add opentype_only field.
8616 (add_font_entity_to_list): Use it to filter fonts.
8617 Don't check against full name.
8618 (w32font_list_internal): New function.
8619 (w32font_list): Use it.
8620 (w32font_match_internal): New function.
8621 (w32font_match): Use it.
8622 (w32font_open_internal): New function.
8623 (w32font_open): Use it.
8624 (w32font_get_cache, w32font_close, w32font_has_char)
8625 (w32font_encode_char, w32font_text_extents, w32font_draw):
8626 Make non-static.
8627
8628 * makefile.w32-in (w32font.o): Depend on w32font.h.
8629
86302008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8631
8632 * charset.c (Fdefine_charset_internal): Record a supplementary
8633 charset at the tail of Vcharset_order_list.
8634
8635 * font.c (Ffont_shape_text): Fix the return value.
8636
8637 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
8638
8639 * xdisp.c (handle_auto_composed_prop): Fix previous change.
8640
86412008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8642
8643 * ftfont.c (struct OpenTypeSpec): New struct.
8644 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
8645 (ftfont_get_open_type_spec): New function.
8646 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
8647
8648 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
8649
86502008-02-01 Jason Rumney <jasonr@gnu.org>
8651
8652 * w32font.c (add_font_entity_to_list): Compare only the beginning
8653 of full name.
8654
86552008-02-01 Kenichi Handa <handa@m17n.org>
8656
8657 * xdisp.c (handle_auto_composed_prop): Simplify the code.
8658 Never return HANDLED_RECOMPUTE_PROPS.
8659
86602008-02-01 Kenichi Handa <handa@m17n.org>
8661
8662 * font.c (font_gstring_produce): Delete it.
8663
8664 * composite.h (COMPOSITION_METHOD):
8665 Handle COMPOSITION_WITH_GLYPH_STRING.
8666
86672008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8668
8669 * xfont.c (Qx): Delete.
8670 (syms_of_xfont): Don't initialize Qx.
8671
8672 * composite.h (enum composition_method):
8673 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
8674
86752008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8676
8677 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
8678 (choose_face_font): Accept new form of font-spec.
8679
8680 * frame.h (font_driver_list): Declare it unconditionally.
8681 (struct frame): Define members font_driver_list and font_data_list
8682 unconditionally.
8683
8684 * fontset.c: Include "font.h" unconditionally.
8685 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
8686 (Fset_fontset_font): Accept a font-spec object.
8687
8688 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
8689 PIXEL_SIZE part a wild card.
8690
8691 * dispextern.h (struct glyph_string): Define members clip and
8692 num_clips unconditionally.
8693 (struct face): Define members font_info and extra unconditionally.
8694
8695 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
8696 ftfont_info only when HAVE_LIBOTF is defined.
8697
86982008-02-01 Andreas Schwab <schwab@suse.de>
8699
8700 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
8701 and end.
8702
87032008-02-01 Jason Rumney <jasonr@gnu.org>
8704
8705 * w32font.c (w32font_driver): Add new fields.
8706
87072008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8708
8709 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
8710 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
8711 (LIBES): Add @M17N_FLT_CFLAGS@.
8712
8713 * composite.c (compose_text): Don't treat the new style
8714 composition specially.
8715
8716 * emacs.c (main): Call syms_of_font unconditionally.
8717
8718 * font.h (FONT_ENTITY_NOT_LOADABLE)
8719 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
8720 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
8721 (struct font_driver): New member shape.
8722 (font_registry_charsets): Extern it.
8723 (font_find_for_lface, font_prepare_composition): Adjust prototype.
8724 (font_otf_capability, font_drive_otf): Delete their externs.
8725
8726 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
8727 (font_charset_alist, font_registry_charsets): Move from xfont.c
8728 and rename.
8729 (font_prop_validate_otf): New function.
8730 (font_property_table): Register it for QCotf.
8731 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
8732 (font_drive_otf): Delete.
8733 (font_prepare_composition): New arg F. Adjust for the change of
8734 lispy gstring.
8735 (font_find_for_lface): New arg C.
8736 (font_load_for_face): Adjust for the change of font_find_for_lface.
8737 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
8738 lispy gstring.
8739 (Ffont_shape_text): New function.
8740 (Fopen_font): If the font size is not given, use 12-pixel.
8741 (Ffont_at): New arg STRING.
8742 (syms_of_font): Initalize font_charset_alist.
8743 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
8744 conditionally.
8745
8746 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
8747 fonts of the same font-spec. Change the format of RFONT-DEF.
8748 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
8749 Adjust for the change of RFONT-DEF.
8750 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
8751
8752 * ftfont.h: New file.
8753
8754 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
8755 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
8756 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
8757 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
8758 font_otf_capability and font_drive_otf, set ftfont_shape.
8759 (ftfont_list): Adjust for the change of :otf property value.
8760 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
8761 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
8762 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
8763 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
8764 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
8765 (otf_gstring, gstring, m17n_flt_initialized): New variables.
8766
8767 * w32term.c (x_draw_composite_glyph_string_foreground):
8768 Adjust for the change of lispy gstring.
8769
8770 * xdisp.c (handle_composition_prop): Adjust for the change of
8771 lispy gstring. Call a function for auto-composition with the
8772 third arg it->window.
8773 (fill_composite_glyph_string): Adjust for the change of lispy string.
8774 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
8775
8776 * xfaces.c (set_font_frame_param): Adjust for the change of
8777 font_find_for_lface.
8778
8779 * xfont.c (x_font_charset_alist): Move to font.c and rename.
8780 (xfont_registry_charsets): Likewise. Change caller.
8781 (syms_of_xfont): Don't handle x_font_charset_alist.
8782
8783 * xftfont.c: Include "ftfont.h".
8784 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
8785 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
8786 (xftfont_close) [HAVE_LIBOTF]: Close otf.
8787 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
8788 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
8789 Set xftfont_driver.shape to xftfont_shape.
8790
8791 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
8792 the change of lispy gstring.
8793
87942008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8795
8796 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
8797
87982008-02-01 Jason Rumney <jasonr@gnu.org>
8799
8800 * w32font.c (w32font_draw): Fill background manually.
8801
88022008-02-01 Jason Rumney <jasonr@gnu.org>
8803
8804 * font.c (Qfontp): Remove unused symbol.
8805 (QCantialias): New symbol.
8806 (syms_of_font): Define it.
8807 (font_property_table): Set a validator for QCantialias.
8808
8809 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
8810 Define if not already.
8811 (QCfamily): Share with xfaces.c.
8812 (Qstandard, Qsubpixel, Qnatural): New symbols.
8813 (syms_of_w32font): Define them. Don't define QCfamily here.
8814 (w32_antialias_type, lispy_antialias_type): New functions.
8815 (w32_enumfont_pattern_entity): New arg requested_font.
8816 Set antialias parameter if non-default was requested.
8817 (fill_in_logfont): Fill in lfQuality if :antialias specified.
8818
88192008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8820
8821 * lread.c (read1): Undo the previous change.
8822
88232008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
8824
8825 * frame.c (Fdelete_frame): Call font_update_drivers only when
8826 USE_FONT_BACKEND is defined.
8827
88282008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8829
8830 * font.h (struct font_bitmap): New member bits_per_pixel.
8831 (struct font_driver): New members start_for_frame and end_for_frame.
8832 (struct font_data_list): New struct.
8833 (font_put_frame_data, font_get_frame_data): Extern them.
8834
8835 * frame.h (struct frame): New member font_data_list.
8836
8837 * font.c (font_update_drivers): Call driver->start_for_frame and
8838 driver->end_for_frame at proper timings.
8839 (font_put_frame_data, font_get_frame_data): New functions.
8840 (Ffont_spec): Add usage in the docstring.
8841
8842 * frame.c (make_frame): Initialize f->font_data_list to NULL.
8843 (Fdelete_frame): Call font_update_drivers.
8844
8845 * xftfont.c (struct xftface_info): Delete the member xft_draw.
8846 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
8847 (xftfont_get_xft_draw): New function.
8848 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
8849 (xftfont_end_for_frame): New function.
8850 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
8851
8852 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
8853 Change argument. Cache GCs in the per-frame data.
8854 (struct ftxfont_frame_data): New struct.
8855 (ftxfont_draw_bitmap): New arg gc_fore and flush.
8856 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
8857 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
8858 (ftxfont_end_for_frame): New function.
8859 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
8860
8861 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
8862
88632008-02-01 Kenichi Handa <handa@m17n.org>
8864
8865 * xselect.c (Vselection_coding_system)
8866 (Vnext_selection_coding_system): Delete them.
8867 (syms_of_xselect): Don't declare selection-coding-system and
8868 next-selection-coding-system. They are declared in select.el.
8869
88702008-02-01 Jason Rumney <jasonr@gnu.org>
8871
8872 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
8873
8874 * w32fns.c: Include imm.h.
8875 (get_composition_string_fn, get_ime_context_fn): New optional
8876 system functions.
8877 (globals_of_w32fns): Load them from imm32.dll.
8878 (ignore_ime_char): New flag.
8879 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
8880 WM_IME_ENDCOMPOSITION messages.
8881
8882 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
8883 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
8884
88852008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8886
8887 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
8888 (READCHAR_REPORT_MULTIBYTE): New macro.
8889 (readchar): New 2nd arg MULTIBYTE.
8890 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
8891 Make symbol's name multibyte according to the multibyteness of the
8892 source.
8893
88942008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8895
8896 * xfaces.c (face_for_overlay_string): Call lookup_face with
8897 correct arguments (fix of synching with the trunk).
8898
88992008-02-01 Kenichi Handa <handa@m17n.org>
8900
8901 * font.c (font_prop_validate_symbol, font_prop_validate_style)
8902 (font_prop_validate_non_neg, font_prop_validate_spacing):
8903 Delete argument prop_index.
8904 (font_property_table): Change arguments to validater. Change Callers.
8905 (font_lispy_object): Delete.
8906 (font_at): Use font_find_object instead fo font_lispy_object.
8907
89082008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8909
8910 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
8911 and file names.
8912
89132008-02-01 Jason Rumney <jasonr@gnu.org>
8914
8915 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
8916 (font_matches_spec): Remove debug output.
8917 (add_font_entity_to_list): Avoid using substituted fonts.
8918
89192008-02-01 Jason Rumney <jasonr@gnu.org>
8920
8921 * doc.c (Fsnarf_documentation):
8922 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
8923
89242008-02-01 Miles Bader <miles@gnu.org>
8925
8926 * dispextern.h (struct glyph_row): Only define "clip" field if
8927 HAVE_WINDOW_SYSTEM is defined.
8928
89292008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
8930
8931 Fix up multi-tty merge.
8932
8933 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
8934 and indentation.
8935
8936 * xfaces.c (free_realized_face, clear_face_gcs):
8937 Include font_done_for_face in the input_blocked section, just in case.
8938
8939 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
8940 (get_char_face_and_encoding): Undo last change and remove the *other*
8941 duplicate definition (i.e. keep the one that's better scoped and that
8942 includes code for the font-backend).
8943
8944 * terminal.c (create_terminal): Default keyboard_coding to
8945 `no-conversion' and terminal_coding to `undecided'.
8946
8947 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
8948
8949 * fontset.c (free_realized_fontsets): Check that the table entry does
8950 contain a fontset before trying to compare it to `base'.
8951
8952 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
8953 syms_of_charset, and syms_of_coding earlier because init_window_once
8954 now needs Vcoding_system_hash_table to be setup.
8955
8956 * coding.h (default_buffer_file_coding): Remove.
8957
8958 * coding.c (default_buffer_file_coding): Remove.
8959 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
8960 than ->symbol, and use the terminal-local coding system.
8961 (syms_of_coding): Don't setup the coding-systems that are not
8962 terminal-local.
8963 (Fdefine_coding_system_internal): Use XCAR/XCDR.
8964
8965 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
8966 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
8967
8968 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
8969 in chartab.c and were re-added here by mistake.
8970 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
8971
8972 * doc.c (Fsnarf_documentation):
8973 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
8974 src to etc.
8975
8976 * ChangeLog.10: Add mistakenly removed entry.
8977
89782008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
8979
8980 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
8981
89822008-02-01 Miles Bader <miles@gnu.org>
8983
8984 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
8985 Add extra args to FACE_FOR_CHAR.
8986
89872008-02-01 Kenichi Handa <handa@m17n.org>
8988
8989 * keymap.c (where_is_internal_1): If key is a cons, store the copy
8990 in sequence.
8991
8992 * chartab.c (map_sub_char_table, map_char_table): If the range
8993 contains just one character, call the function with that character
8994 even if the depth is not 3.
8995
89962008-02-01 Jason Rumney <jasonr@gnu.org>
8997
8998 * w32font.c (w32font_text_extents): Calculate metrics for the
8999 whole string.
9000
90012008-02-01 Jason Rumney <jasonr@gnu.org>
9002
9003 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
9004
90052008-02-01 Jason Rumney <jasonr@gnu.org>
9006
9007 * w32term.c (x_set_glyph_string_clipping): Use
9008 get_glyph_string_clip_rects.
9009 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
9010 Adjust for the change of struct glyph_string.
9011
9012 * w32font.c (w32font_draw): Do clipping here.
9013
90142008-02-01 Kenichi Handa <handa@m17n.org>
9015
9016 * xftfont.c (xftfont_draw): Adjust for the change of struct
9017 glyph_string.
9018
9019 * xterm.c (x_set_glyph_string_clipping): Use
9020 get_glyph_string_clip_rects.
9021 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
9022 Adjust for the change of struct glyph_string.
9023
9024 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
9025 the resulting clip(s}.
9026 (expose_overlaps): Add arg r. Change callers. Set it to
9027 row->clip temporarily.
9028 (expose_window): Redraw rows overlapping the exposed area.
9029
9030 * dispextern.h (struct glyph_row): New member clip.
9031 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
9032 clip_height, new member clip, and num_clips.
9033
90342008-02-01 Kenichi Handa <handa@m17n.org>
9035
9036 * data.c (Fchar_or_string_p): Fix docstring.
9037
90382008-02-01 Kenichi Handa <handa@m17n.org>
9039
9040 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
9041 create a temporary XftDraw object.
9042
90432008-02-01 Kenichi Handa <handa@m17n.org>
9044
9045 * font.c (Ffontp): Fix docstring.
9046
9047 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
9048 strong evidence of ISO-2022.
9049
90502008-02-01 Kenichi Handa <handa@m17n.org>
9051
9052 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
9053 SYNTAX_ENTRY_FOLLOW_PARENT.
9054
90552008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
9056
9057 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
9058 its type.
9059 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
9060 Update to the new type of weak_hash_tables and next_weak.
9061
9062 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
9063 a plain C pointer to Lisp_Hash_Table.
9064
9065 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
9066 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
9067 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
9068 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
9069 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
9070 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
9071 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
9072 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
9073 (GC_EQ): Remove since they've been identical to their non-GC_
9074 alter-egos ever since the markbit was eradicated.
9075
9076 * alloc.c:
9077 * buffer.c:
9078 * buffer.h:
9079 * data.c:
9080 * fileio.c:
9081 * filelock.c:
9082 * fns.c:
9083 * frame.h:
9084 * lisp.h:
9085 * macterm.c:
9086 * print.c:
9087 * process.c:
9088 * w32fns.c:
9089 * w32menu.c:
9090 * w32term.c:
9091 * xfns.c:
9092 * xmenu.c:
9093 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
9094
90952008-02-01 Kenichi Handa <handa@m17n.org>
9096
9097 * chartab.c (map_sub_char_table): Make it work for the top-level
9098 char-table. Fix handling of parent char-table.
9099 (map_char_table): Adjust for the above change.
9100
91012008-02-01 Jason Rumney <jasonr@gnu.org>
9102
9103 * w32font.c (Qgdi): Rename from Qw32.
9104
91052008-02-01 Jason Rumney <jasonr@gnu.org>
9106
9107 * w32bdf.c (get_quoted_string): Make function static.
9108
91092008-02-01 Kenichi Handa <handa@m17n.org>
9110
9111 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
9112 bigger ascent and descent than those of the font, use them as
9113 font's ascent and descent.
9114
91152008-02-01 Kenichi Handa <handa@m17n.org>
9116
9117 * Makefile.in (${lispsource}international/charprop.el): Move this
9118 target within "#ifdef HAVE_UNIDATA" and "#endif".
9119
91202008-02-01 Kenichi Handa <handa@m17n.org>
9121
9122 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
9123 (shortlisp): Add ../lisp/language/tai-viet.el.
9124
91252008-02-01 Ulrich Mueller <ulm@gentoo.org>
9126
9127 * Makefile.in (${lispsource}international/charprop.el): Depend on
9128 temacs${EXEEXT}.
9129
91302008-02-01 Jason Rumney <jasonr@gnu.org>
9131
9132 * w32font.c (w32font_close): Delete the GDI font object.
9133
9134 * w32menu.c: Include character.h.
9135
9136 * w32proc.c: Likewise.
9137
9138 * w32select.c: Likewise.
9139
9140 * makefile.w32-in (w32proc.o): Depend on character.h.
9141
91422008-02-01 Jason Rumney <jasonr@gnu.org>
9143
9144 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
9145
9146 * w32menu.c (syms_of_w32menu): Likewise.
9147
9148 * w32proc.c (syms_of_ntproc): Likewise.
9149
9150 * w32select.c (syms_of_w32select): Likewise.
9151
9152 * w32term.c (syms_of_w32term): Likewise.
9153
91542008-02-01 Jason Rumney <jasonr@gnu.org>
9155
9156 * w32font.c (w32font_draw): Delete brush after using it.
9157
91582008-02-01 Jason Rumney <jasonr@gnu.org>
9159
9160 * w32font.c (w32font_open): Don't set font_idx.
9161 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
9162 to font settings.
9163 (w32font_draw): Fill background explicitly.
9164
91652008-02-01 Jason Rumney <jasonr@gnu.org>
9166
9167 * w32term.c (w32_initialize): Don't call w32font_initialize.
9168
9169 * w32font.c (w32font_info): Remove subranges.
9170 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
9171 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
9172 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
9173 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
9174 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
9175 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
9176 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
9177 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
9178 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
9179 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
9180 New symbols.
9181 (font_callback_data): New struct.
9182 (w32font_list, w32font_match): Use it.
9183 (w32font_open): Don't populate subranges.
9184 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
9185 (w32font_encode_char): Always return unicode code-point as-is.
9186 (w32font_text_extents): Supply a transformation matrix to
9187 GetGlyphOutline. Never look up by glyph index. Avoid looping
9188 twice. Use unicode version of GetTexExtentPoint32 instead of
9189 glyph index version.
9190 (set_fonts_frame): Remove.
9191 (w32_enumfont_pattern_entity): Add frame parameter, use it to
9192 set frame parameter. Use backward compatible fake foundries.
9193 Save generic family in extra slot under QCfamily. Make width slot
9194 constant. Save QCspacing value. Save list of scripts instead of
9195 binary subranges.
9196 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
9197 (add_font_entity_to_list): Use font_callback_data struct. Filter
9198 unwanted fonts.
9199 (add_one_font_entity_to_list): Use font_callback_data struct.
9200 (w32_registry): Default to iso10646_1.
9201 (fill_in_logfont): Use dpi from extra slot. Don't bother with
9202 string font registries. Don't fill in font name if it is a generic
9203 family name, fill family instead. Use spacing, family and script
9204 extra info to fill pitch, family and charset fields.
9205 (list_all_matching_fonts): Use font_callback_data struct.
9206 (unicode_range_for_char): Remove.
9207 (font_supported_scripts): New function.
9208 (w32font_initialize): Remove.
9209 (syms_of_w32font): Update which symbols are defined.
9210
92112008-02-01 Jason Rumney <jasonr@gnu.org>
9212
9213 * font.c (font_pixel_size): Reverse assq_no_quit args.
9214
9215 * w32term.h (FONT_WIDTH): Report max width, not average.
9216 (FONT_MAX_WIDTH): Remove.
9217 (FONT_AVG_WIDTH): New macro.
9218
9219 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
9220 redefinition of FONT_WIDTH.
9221
9222 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
9223 (w32_cache_char_metrics): Use FONT_WIDTH.
9224
9225 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
9226
92272008-02-01 Jason Rumney <jasonr@gnu.org>
9228
9229 * w32font.c (w32font_open): Make lfHeight negative.
9230
9231 * w32fns.c (x_default_font_parameter): Use new style font name.
9232 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
9233
92342008-02-01 Jason Rumney <jasonr@gnu.org>
9235
9236 * w32font.c (QCsubranges): New symbol.
9237 (w32font_open, w32font_has_char): Get subranges from subproperty
9238 of extra.
9239 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
9240 (syms_of_w32font): Define :subranges symbol.
9241
9242 * font.c (font_put_extra): Expose externally.
9243
9244 * font.h (font_put_extra): Move declaration from font.c.
9245
9246 * font.c (Ffont_get): Use font driver to determine otf capability.
9247 (adjust_anchor): Check if driver defines anchor_point before using.
9248
9249 * w32font.c (w32font_open): Handle size, height and pixel_size better.
9250 (w32font_draw): Use options.
9251 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
9252 Fix detection of truetype fonts.
9253 (registry_to_w32_charset): Handle charsets other than iso8859-1
9254 expressed as lisp symbols.
9255 (w32_registry): Express charset as lisp symbol.
9256 (fill_in_logfont): Reverse pixel and point height logic.
9257 Don't set width here. Set quality to default.
9258
9259 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
9260 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
9261
9262 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
9263 Remove redundant loop and allocation.
9264
9265 * makefile.w32-in (font.o, w32font.o): New objects.
9266 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
9267 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
9268
9269 * xdisp.c (fill_composite_glyph_string): Make the first arg to
9270 STORE_XCHARB a valid l-value.
9271
9272 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
9273 calculations for non-Truetype fonts.
9274 (x_draw_glyph_string): Sync with xterm.c.
9275 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
9276 Remove redundant code.
9277 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
9278
9279 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
9280 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
9281
9282 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
9283 (x_to_w32_charset, w32_to_x_charset): Expose externally.
9284
9285 * w32font.c: New file for w32 font backend.
9286
92872008-02-01 Kenichi Handa <handa@m17n.org>
9288
9289 * term.c: Don't include "buffer.h" twice.
9290
92912008-02-01 Kenichi Handa <handa@m17n.org>
9292
9293 * character.c (Funibyte_string): New function.
9294 (syms_of_character): Defsubr it.
9295
92962008-02-01 Jason Rumney <jasonr@gnu.org>
9297
9298 * w32term.c [USE_FONT_BACKEND]:
9299 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
9300 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
9301 (x_draw_glyph_string, x_draw_glyph_string_foreground)
9302 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
9303 (x_free_frame_resources): Sync with xterm.c.
9304
93052008-02-01 Andreas Schwab <schwab@suse.de>
9306
9307 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
9308 char-table size.
9309
93102008-02-01 Kenichi Handa <handa@m17n.org>
9311
9312 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
9313
93142008-02-01 Kenichi Handa <handa@m17n.org>
9315
9316 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
9317 font_otf_gpos, add font_drive_otf.
9318
9319 * fontset.c (fontset_find_font): Pay attention to font size
9320 specified for a font.
9321 (reorder_font_vector): Check contents of font_def.
9322
9323 * font.c (struct otf_list): Delete it.
9324 (otf_list): Make it a lisp variable.
9325 (otf_open): Use lispy otf_list.
9326 (generate_otf_features): Rename from parse_gsub_gpos_spec.
9327 (check_otf_features): New function.
9328 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
9329 New functions.
9330 (font_drive_otf): New function merging font_otf_gsub and
9331 font_otf_gpos.
9332 (font_open_for_lface): New arg spec. Change argument order.
9333 (font_load_for_face): Adjust for the change of font_open_for_lface.
9334 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
9335 Ffont_otf_gpos.
9336 (syms_of_font): Staticpro otf_list. Delete defsubr of
9337 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
9338
9339 * xfaces.c (set_font_frame_param): Adjust for the change of
9340 font_open_for_lface.
9341
9342 * font.h (font_open_for_lface): Adjust prototype.
9343 (struct font_driver): Delete members otf_gsub and otf_gpos, add
9344 member otf_drive.
9345 (font_otf_gsub, font_otf_gpos): Delete externs.
9346 (font_drive_otf): Extern it.
9347
93482008-02-01 Kenichi Handa <handa@m17n.org>
9349
9350 * font.c (font_at): If the window W is not on a window system,
9351 return Qnil.
9352
9353 * coding.c (produce_chars, encode_coding): Don't call
9354 insert_from_gap if no characters to produce.
9355
93562008-02-01 Kenichi Handa <handa@m17n.org>
9357
9358 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
9359 Fclear_face_cache.
9360
9361 * xfaces.c (face_for_font): Check also face->font==font->font.font.
9362
93632008-02-01 Miles Bader <miles@gnu.org>
9364
9365 * emacs.c (main): Change default value of `enable_font_backend' to 1.
9366 Parse "--disable-font-backend" option.
9367 (standard_args): Add "--disable-font-backend" option.
9368
93692008-02-01 Kenichi Handa <handa@m17n.org>
9370
9371 * fontset.c (fontset_find_font): New function.
9372 (fontset_font): Use fontset_find_font.
9373 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
9374 Register the specified font for all Latin characters.
9375 (new_fontset_from_font): Register the specified font for all Latin
9376 characters.
9377 (dump_fontset): For a realized fontset, include the base fontset
9378 name in the returned vector.
9379
93802008-02-01 Kenichi Handa <handa@m17n.org>
9381
9382 * character.h (CHAR_STRING): Cast C to unsigned on calling
9383 char_string.
9384
9385 * character.c (char_string): Type of arg C changed to unsigned.
9386 Signal an error if C is an invalid character code.
9387
9388 * editfns.c (general_insert_function, Fchar_to_string):
9389 Use CHARACTERP, not INTEGERP.
9390
93912008-02-01 Kenichi Handa <handa@m17n.org>
9392
9393 * character.h (MIN_MULTIBYTE_LEADING_CODE)
9394 (MAX_MULTIBYTE_LEADING_CODE): New macros.
9395
9396 * regex.c (analyse_first): Fix for multibyte characters in "case
9397 charset:" and "case categoryspec:".
9398
93992008-02-01 Andreas Schwab <schwab@suse.de>
9400
9401 * Makefile.in (LIBES): Move standard libraries to the end.
9402
94032008-02-01 Kenichi Handa <handa@m17n.org>
9404
9405 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
9406 nonzero, don't shrink the buffer nextb.
9407
9408 * buffer.h (struct buffer_text): New member inhibit_shrinking.
9409
9410 * coding.c (coding_alloc_by_making_gap): New arg offset.
9411 (alloc_destination): Call coding_alloc_by_making_gap with the arg
9412 offset.
9413 (decode_coding_iso_2022): Update coding->safe_charsets.
9414 (decode_coding_gap): Temporarily set
9415 current_buffer->text->inhibit_shrinking to 1.
9416
94172008-02-01 Kenichi Handa <handa@m17n.org>
9418
9419 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
9420 indexing into elements of s->cmp and s->char2b.
9421
94222008-02-01 Juanma Barranquero <lekktu@gmail.com>
9423
9424 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
9425
94262008-02-01 Kenichi Handa <handa@m17n.org>
9427
9428 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
9429 target_multibyte instead of multibyte.
9430 (re_match_2_internal): Call bcmp_translate with target_multibyte.
9431 (bcmp_translate): Change the argument name from multibyte to
9432 target_multibyte.
9433
94342008-02-01 Kenichi Handa <handa@m17n.org>
9435
9436 These changes are to compile a regexp into a pattern that can be
9437 used both for multibyte and unibyte targets.
9438
9439 * Makefile.in (search.o): Depend on charset.h.
9440
9441 * character.c (multibyte_char_to_unibyte_safe): New function.
9442
9443 * search.c: Include "charset.h".
9444 (compile_pattern_1): Delete argument multibyte. Don't set
9445 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
9446 (compile_pattern): Don't compare cp->buf.target_multibyte.
9447 Compare cp->buf.charset_unibyte.
9448 (compile_pattern): Set cp->buf.target_multibyte.
9449
9450 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
9451
9452 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
9453
9454 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
9455 multibyte. Change callers.
9456 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
9457 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
9458 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
9459 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
9460 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
9461 (regex_compile): Make the compiled pattern usable both for
9462 multibyte and unibyte targets.
9463 (analyse_first): Make the fastmap usable both for multibyte and
9464 unibyte targets.
9465 (TRANSLATE_VIA_MULTIBYTE): Delete.
9466 (re_match_2_internal): Pay attention to the case that the
9467 multibyteness of bufp and target may be different.
9468
94692008-02-01 Kenichi Handa <handa@m17n.org>
9470
9471 * xdisp.c (x_produce_glyphs): When a font is not found, make the
9472 empty box occupy at least one column width.
9473
94742008-02-01 Miles Bader <miles@gnu.org>
9475
9476 * Makefile.in: Remove redundant HAVE_XFT clause.
9477
94782008-02-01 Kenichi Handa <handa@m17n.org>
9479
9480 * xrdb.c (x_load_resources): Setup the default fontSet X resource.
9481
94822008-02-01 Kenichi Handa <handa@m17n.org>
9483
9484 * fontset.c (Finternal_char_font): Fix for the case of POSITION
9485 being nil.
9486
94872008-02-01 Kenichi Handa <handa@m17n.org>
9488
9489 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
9490
94912008-02-01 Kenichi Handa <handa@m17n.org>
9492
9493 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
9494
94952008-02-01 Kenichi Handa <handa@m17n.org>
9496
9497 * search.c (simple_search): Fix previous change.
9498
94992008-02-01 Kenichi Handa <handa@m17n.org>
9500
9501 * xftfont.c (ftfont_font_format): Extern declaration.
9502
9503 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
9504
9505 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
9506 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
9507
9508 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
9509 (ftfont_font_format): Fix previous change.
9510
9511 * font.h (Ffont_xlfd_name): EXFUN it.
9512
9513 * font.c (font_parse_xlfd): Fix the array size of `f'.
9514 (register_font_driver): Use EQ to compare driver->type.
9515
9516 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
9517 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
9518 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
9519
95202008-02-01 Kenichi Handa <handa@m17n.org>
9521
9522 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
9523 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
9524
95252008-02-01 Kenichi Handa <handa@m17n.org>
9526
9527 * xfont.c (xfont_open): Set font->format.
9528
9529 * xftfont.c (xftfont_open): Set font->format.
9530
9531 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
9532 (ftfont_list): Include FC_FONTFORMAT in FcObject.
9533 (ftfont_open): Set font->format.
9534 (ftfont_font_format): New function.
9535
9536 * font.h (struct font): New member format.
9537
9538 * font.c (Qopentype): New variable.
9539 (syms_of_font): Defsym it.
9540 (Fquery_font): Change the format of the last element of the return
9541 value.
9542
95432008-02-01 Kenichi Handa <handa@m17n.org>
9544
9545 * xfns.c (xic_create_xfontset): Try the default fontset name as a
9546 last resort.
9547
95482008-02-01 Kenichi Handa <handa@m17n.org>
9549
9550 * coding.c (detect_coding_charset): Fix detection of multi-byte
9551 charset.
9552
95532008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
9554
9555 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
9556
95572008-02-01 Kenichi Handa <handa@m17n.org>
9558
9559 * xdisp.c (get_next_display_element): Set it->face_id for the
9560 first component of a composition.
9561 (x_produce_glyphs): Check if the font is changed or not for composition.
9562
95632008-02-01 Kenichi Handa <handa@m17n.org>
9564
9565 * fontset.c (Qlatin): New variable.
9566 (syms_of_fontset): Define it as a lisp symbol.
9567 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
9568
95692008-02-01 Kenichi Handa <handa@m17n.org>
9570
9571 * font.c (font_unparse_fcname): Pay attention to the case that
9572 some of font property is a null string.
9573
95742008-02-01 Kenichi Handa <handa@m17n.org>
9575
9576 * term.c: Include "composite.h".
9577 (encode_terminal_code): Output all components of composition.
9578 Check the size of encode_terminal_src.
9579 (produce_glyphs): For composition, call produce_composite_glyph.
9580 (append_composite_glyph, produce_composite_glyph): New functions.
9581
9582 * xdisp.c (x_produce_glyphs): In handling composition, if a font
9583 is not found, get font_info from the current ascii face.
9584
95852008-02-01 Kenichi Handa <handa@m17n.org>
9586
9587 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
9588 buffer-file-name to Qnil before calling insert_from_buffer.
9589
9590 * font.c (font_unparse_fcname): Pay attention to the case that
9591 foundry is a null string.
9592
95932008-02-01 Kenichi Handa <handa@m17n.org>
9594
9595 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
9596
9597 * font.c (Qunicode_sip): New variable.
9598 (syms_of_font): Declare it as a Lisp symbol.
9599
9600 * font.h (Qunicode_sip): Extern it.
9601
96022008-02-01 Kenichi Handa <handa@m17n.org>
9603
9604 * composite.c (get_composition_id): Pay attention to TAB component.
9605
9606 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
9607 TAB. Adjust for the change of s->char2b which always points to
9608 the first element of allocated memory.
9609
9610 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
9611
9612 * xdisp.c (handle_composition_prop): Set it->c to the first
9613 non-TAB component.
9614 (fill_composite_glyph_string): Change argument.
9615 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
9616 (x_produce_glyphs): Fix handling of left/right padding.
9617
96182008-02-01 Kenichi Handa <handa@m17n.org>
9619
9620 * coding.c (detect_coding_system): Fix for handling off
9621 inhibit_iso_escape_detection. Fix for the case that no coding
9622 system is defined for a specific coding category.
9623
96242008-02-01 Kenichi Handa <handa@m17n.org>
9625
9626 * font.c (font_matching_entity): Delete unused local var.
9627
9628 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
9629 opening a font.
9630
9631 * fileio.c (Finsert_file_contents): On recovering a file, assume
9632 Unix-like eol.
9633 (choose_write_coding_system): On auto-saving a file, force
9634 Unix-like eol.
9635
9636 * coding.c (setup_coding_system): Fix setting of
9637 coding->common_flags based on eol_type.
9638 (coding_inherit_eol_type): If PARENT is not nil, be sure to
9639 inherit from it.
9640
96412008-02-01 Kenichi Handa <handa@m17n.org>
9642
9643 * alloc.c (NSTATICS): Increas to 0x600.
9644
96452008-02-01 Kenichi Handa <handa@m17n.org>
9646
9647 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
9648 (ftfont_list): Don't check :name property.
9649 (ftfont_match): New function.
9650 (ftfont_pattern_entity): If the pattern doesn't contain
9651 FC_SPACING, don't assume FC_MONO.
9652
9653 * font.h (struct font_driver): New member `match'.
9654 (font_update_drivers): Adjust prototype.
9655
9656 * font.c (font_parse_fcname, font_parse_name): Don't change :name
9657 property of FONT.
9658 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
9659 them unconditionally.
9660 (font_matching_entity): New function.
9661 (font_open_by_name): Try font_matching_entity if exact match is
9662 not found.
9663 (font_update_drivers): Delete the arg FONT. Return a list of
9664 actually used backends. Don't free faces, font caches here.
9665 Don't store data in frame parameters. Don't call x_set_font.
9666 (Ffont_spec): Store :name property as is.
9667 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
9668 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
9669 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
9670 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
9671 Call font->driver->otf_gsub instead of font_otf_gsub.
9672
9673 * frame.c (x_set_font_backend): Do more works that were done in
9674 font_update_drivers before.
9675
9676 * xfont.c (xfont_match): New function.
9677 (xfont_driver): Set xfont_driver.match to xfont_match.
9678 (xfont_draw): Set font in GC if necessary.
9679
9680 * ftxfont.c (ftxfont_match): New function.
9681 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
9682
9683 * xftfont.c (xftfont_match): New function.
9684 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
9685
96862008-02-01 Kenichi Handa <handa@m17n.org>
9687
9688 * font.h (struct font): New member scalable.
9689 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
9690 (font_otf_gsub): Adjust prototype.
9691
9692 * font.c (font_otf_capability): Fix handling of the default langsys.
9693 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
9694 Check the contents of SPEC.
9695 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
9696 (check_gstring): New function.
9697 (REPLACEMENT_CHARACTER): New macro.
9698 (font_otf_gsub): New arg alternate_subst. Be sure to set all
9699 glyph codes of GSTRING.
9700 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
9701 (font_prepare_composition): Set cmp->glyph_len.
9702 (font_open_entity): Set font->scalable.
9703 (Ffont_get): Handle :otf property.
9704 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
9705 functions.
9706 (Fquery_font): Use font->font.full_name.
9707 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
9708 Sfont_otf_alternates.
9709
9710 * ftfont.c (ftfont_open): Set font->font.full_name and
9711 font->font.name properly. Fix calculation of font->font.height
9712 and font->min_width.
9713
9714 * ftxfont.c (ftxfont_create_gcs): New function.
9715 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
9716 (ftxfont_draw_backgrond): Fix filling region.
9717 (ftxfont_default_fid): New function.
9718 (ftxfont_open): Set xfont->fid to the return value of
9719 ftxfont_default_fid.
9720 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
9721 (ftxfont_done_face): Free only GCs that are created by
9722 ftxfont_create_gcs.
9723 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
9724
9725 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
9726 Clip to src->width, etc (not src->clip_XXX).
9727
9728 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
9729 FontBackend frame parameter.
9730
97312008-02-01 Kenichi Handa <handa@m17n.org>
9732
9733 * font.h (struct font_driver_list): New member `on'.
9734 (Fclear_font_cache): EXFUN it.
9735 (font_update_drivers): Extern it.
9736
9737 * font.c (font_unparse_fcname): Fix typo (swidth->width).
9738 (font_list_entities): Check driver_list->on.
9739 (register_font_driver): Initalize `on' member to 0.
9740 (font_update_drivers): New function.
9741 (Fclear_font_cache): Check driver_list->on.
9742
9743 * frame.h (Qfont_backend): Extern it.
9744 (x_set_font_backend): Extern it.
9745
9746 * frame.c (Qfont_backend): New variable.
9747 (frame_parms): New element for font-backend.
9748 (x_set_font_backend): New function.
9749
9750 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
9751 FontBackend frame parameter.
9752 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
9753 x_set_font_backend.
9754
9755 * xfont.c (xfont_list): Don't try listing by :name property if the
9756 name is not for XLFD.
9757
97582008-02-01 Kenichi Handa <handa@m17n.org>
9759
9760 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
9761 (LGLYPH_SET_TO): New macros.
9762 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
9763 element of G is vector or not.
9764 (font_at): Extern it.
9765
9766 * font.c: Include window.h.
9767 (font_lispy_object): New function.
9768 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
9769 end of valid glyph.
9770 (font_close_object): Fix getting (struct font *).
9771 (font_at): New function.
9772 (Ffont_get): If FONT is a font-object, get entity from it.
9773 (Ffont_make_gstring): Initialize elements of glyphs with nil.
9774 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
9775 range check.
9776 (Ffont_at): New function.
9777 (syms_of_font): Defsubr Sfont_at.
9778
9779 * xdisp.c (it_props): Move the entry for Qauto_composed to just
9780 before the entry for Qcomposition.
9781 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
9782 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
9783 the font in gstring.
9784 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
9785 LGLYPH_FORM (g) to detect the end of valid glyph.
9786 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
9787 we are composing with gstring.
9788
9789 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
9790 Check if adjustment is vector or not.
9791
9792 * Makefile.in (font.o): Make it depends on window.h.
9793
97942008-02-01 Kenichi Handa <handa@m17n.org>
9795
9796 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
9797 adjustment is vector or not.
9798
97992008-02-01 Miles Bader <miles@gnu.org>
9800
9801 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
9802
98032008-02-01 Kenichi Handa <handa@m17n.org>
9804
9805 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
9806 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
9807 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
9808
9809 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
9810 (DEVICE_DELTA): Fix typo.
9811 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
9812 LGLYPH format.
9813
9814 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
9815 the change of LGLYPH format.
9816
98172008-02-01 Kenichi Handa <handa@m17n.org>
9818
9819 * ftfont.c (ftfont_list): Fix typo.
9820 (ftfont_build_basic_charsets): Don't include letters with diacritics.
9821
98222008-02-01 Jan Djärv <jan.h.d@swipnet.se>
9823
9824 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
9825
9826 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
9827 xftface_info is non-NULL.
9828
98292008-02-01 Jan Djärv <jan.h.d@swipnet.se>
9830
9831 * ftfont.c (ftfont_list): Move misplaced #endif.
9832
98332008-02-01 Kenichi Handa <handa@m17n.org>
9834
9835 * ftfont.c (ftfont_list): Pay attention to the case that
9836 FC_CAPABILITY is not defined.
9837
98382008-02-01 Kenichi Handa <handa@m17n.org>
9839
9840 * xftfont.c (xftfont_open): Set charset related members to -1.
9841
9842 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
9843 QCname.
9844 (ftfont_open): Set charset related members to -1.
9845
9846 * fontset.c (Votf_script_alist): New variable.
9847 (syms_of_fontset): Initialize it.
9848 (fontset_font): Delete unused variable.
9849
9850 * fontset.h (Votf_script_alist): Extern it.
9851
9852 * font.c (font_find_for_lface): Optimize code.
9853
9854 * font.h (font_close_object, font_merge_old_spec): Extern them.
9855
98562008-02-01 Kenichi Handa <handa@m17n.org>
9857
9858 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
9859 (syms_of_font): Initialize them.
9860 (font_pixel_size): Allow float value in dpi.
9861 (font_prop_validate_type): Delete.
9862 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
9863 Change caller.
9864 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
9865 (font_prop_validate_extra): Delete.
9866 (font_prop_validate_spacing): New function.
9867 (font_property_table): Add elements for all known properties.
9868 (get_font_prop_index): Rename from check_font_prop_name. New
9869 argument FROM. Change caller.
9870 (font_prop_validate): Validate all known properties.
9871 (font_put_extra): Delete argument force. Change caller.
9872 (font_expand_wildcards): Make it static. Fix the way of shrinking
9873 the possible range.
9874 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
9875 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
9876 Change caller.
9877 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
9878 (font_parse_fcname): Delete argument merge. Fix parsing of point
9879 size. Don't validate properties values here. Change caller.
9880 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
9881 (font_open_by_name): Delete unused variable.
9882 (Ffont_spec): Likewise. Validate property values.
9883 (Ffont_match_p): New function.
9884
9885 * font.h (QCscalable): Extern it.
9886 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
9887
9888 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
9889
9890 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
9891 (xfont_list_pattern): New function.
9892 (xfont_list): Use xfont_list_pattern.
9893
98942008-02-01 Kenichi Handa <handa@m17n.org>
9895
9896 * font.h (Flist_fonts): EXFUN it.
9897
98982008-02-01 Jason Rumney <jasonr@gnu.org>
9899
9900 * w32term.c (w32_initialize): Add back smoothing_type and
9901 smoothing_enabled definitions.
9902
99032008-02-01 Kenichi Handa <handa@m17n.org>
9904
9905 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
9906 s->face->font on determining underline position.
9907
99082008-02-01 Kenichi Handa <handa@m17n.org>
9909
9910 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
9911 (font_has_char): Accept font-object too.
9912 (font_find_for_lface): Try at first with a size specified in face.
9913
99142008-02-01 Kenichi Handa <handa@m17n.org>
9915
9916 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
9917 font_open_by_name.
9918
99192008-02-01 Kenichi Handa <handa@m17n.org>
9920
9921 * font.h (QCspacing, QCdpi): Extern them.
9922 (enum font_spacing): New enum.
9923 (FONT_PIXEL_SIZE_QUANTUM): New macro.
9924
9925 * font.c (POINT_TO_PIXEL): Don't divide POINT by 10.
9926 (QCspacing, QCdpi): New variables.
9927 (syms_of_font): Initialize them.
9928 (font_pixel_size): New function.
9929 (font_put_extra): New function.
9930 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
9931 in FONT_EXTRA.
9932 (font_parse_fcname): Handle enumerated values (e.g. bold).
9933 Fix handling font size. Add QCname property that contains only
9934 unknown properties.
9935 (font_score): Change argument. Change caller. Pay attention to
9936 FONT_PIXEL_SIZE_QUANTUM.
9937 (font_sort_entites, font_list_entities, font_find_for_lface)
9938 (font_open_for_lface, font_open_by_name): Fix handling of font size.
9939 (Ffont_spec): Add QCname property that contains only unknown properties.
9940
9941 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
9942 include weight in listing pattern, instead check weight of each
9943 listed font. Don't include scalable in pattern. Pay attention to
9944 FONT_PIXEL_SIZE_QUANTUM.
9945
99462008-02-01 Kenichi Handa <handa@m17n.org>
9947
9948 * font.c (font_parse_fcname): Fix parsing of point-size.
9949 (font_unparse_fcname): Produce symbolic names for style properties.
9950 (font_list_entities): Handle float size correctly.
9951 (font_open_by_name): Prefer `normal' property values if the name
9952 doesn't specify them.
9953
9954 * fontset.c (Finternal_char_font): Use font_get_name, not
9955 Ffont_xlfd_name.
9956
9957 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
9958 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
9959 pattern. Don't force scalable.
9960
9961 * xftfont.c (xftfont_open): For generating a name, start from
9962 96-byte buffer.
9963
99642008-02-01 Jan Djärv <jan.h.d@swipnet.se>
9965
9966 * frame.h (x_new_fontset2): Fix prototype.
9967
99682008-02-01 Kenichi Handa <handa@m17n.org>
9969
9970 * font.h (struct font_driver): Delete member parse_name.
9971 (font_match_p, font_get_spec, font_parse_fcname)
9972 (font_unparse_fcname): Extern them.
9973 (font_get_name): Adjust prototype.
9974
9975 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
9976 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
9977 (font_expand_wildcards): Fix handling ENCODING field. Avoid
9978 unnecessary checks for weight, slant, and swidth.
9979 (font_parse_fcname): New function.
9980 (font_unparse_fcname): New function.
9981 (font_parse_name): New function.
9982 (font_match_p): New function.
9983 (font_get_name): Change return value to Lisp string.
9984 (font_get_spec): New function.
9985 (Qunspecified, Qignore_defface): Don't extern them.
9986 (font_find_for_lface): Assume that LFACE is fully specified.
9987 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
9988 object, use it for FACE.
9989 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
9990 driver->parse_name.
9991 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
9992
9993 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
9994 prototype.
9995
9996 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
9997 argument F. Don't call Fnew_fontset. Instead, directly call
9998 make_fontset.
9999
10000 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
10001
10002 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
10003 of x_new_fontset2.
10004
10005 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
10006 (Qsans__serif): New variables.
10007 (ftfont_generic_family_list): New variable.
10008 (syms_of_ftfont): Initialize the above variables.
10009 (ftfont_pattern_entity): Delete argument NAME.
10010 (ftfont_list_generic_family): New function.
10011 (ftfont_parse_name): Delete this function.
10012 (ftfont_list): Try generic family only when FcFontList found no font.
10013 (ftfont_list_family): Fix args to FcObjectSetBuild.
10014
10015 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
10016 object in attrs[LFACE_FONT_INDEX].
10017 (set_lface_from_font_name): Cancel all changes for font-backend.
10018 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
10019 function.
10020 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
10021 font object in QCfont attribute.
10022 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
10023 (realize_default_face) [USE_FONT_BACKEND]: Call
10024 set_lface_from_font_and_fontset.
10025
10026 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
10027 "fixed", and signal error here if no suitable font was found.
10028
10029 * xfont.c (xfont_parse_name): Delete this function.
10030
10031 * xftfont.c (xftfont_open): Change coding style of error
10032 handling. Generate fontconfig's fontname pattern.
10033
10034 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
10035 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
10036
10037 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
10038 Both args FONTSET and FONT_OBJECT must be existing ones.
10039
100402008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10041
10042 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
10043
100442008-02-01 Kenichi Handa <handa@m17n.org>
10045
10046 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
10047
10048 * font.h (struct font): Fix typo.
10049
10050 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
10051 XLFD_XXX_INDEX.
10052 (enum xlfd_field_mask): New enum.
10053 (intern_font_field): Changed argument. Change caller. If digits
10054 are followed by non-digits, return a symbol.
10055 (font_expand_wildcards): New function.
10056 (font_parse_xlfd): Fix wildcard handling.
10057 (Ffont_spec): If :name is specified, reflect the info in the other
10058 properties.
10059
10060 * ftfont.c (ftfont_pattern_entity): Fix typo.
10061 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
10062 locale.
10063
100642008-02-01 Kenichi Handa <handa@m17n.org>
10065
10066 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
10067
10068 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
10069 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
10070 registry doesn't specify encoding part.
10071 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
10072 (font_open_by_name): At first try parsing the name.
10073 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
10074 as Lisp symbols.
10075
10076 * fontset.c (reorder_font_vector): Pay attention to the case that
10077 the 3rd element of font_def is nil.
10078 (fontset_font): For the default fontset, append one more fontset
10079 elements for a script-based font specification. Don't add script
10080 attribute on finding a font.
10081 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
10082 font name.
10083 (fontset_ascii_font): If a font can't be opened, return nil.
10084
10085 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
10086 (ftfont_pattern_entity): New function.
10087 (ftfont_get_cache): Assume that freetype_font_cache is already
10088 initialized.
10089 (ftfont_list): Handle the case that a file is specified in font
10090 name. Use ftfont_pattern_entity to generate entities.
10091 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
10092 (syms_of_ftfont): Initialize freetype_font_cache.
10093
10094 * xftfont.c (xftfont_open): Make the font name fontconfig's
10095 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
10096 (xftfont_close): Free font->font.name if not NULL.
10097
10098 * xfont.c (xfont_list): If script is specified for a font, return
10099 null_vector.
10100 (xfont_list_family): Declare argument type.
10101
10102 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
10103 name, set LFACE_FONT (lface) to nil.
10104
10105 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
10106 return Qnil.
10107
101082008-02-01 Kenichi Handa <handa@m17n.org>
10109
10110 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
10111 (standard_args): Add "-enable-font-backend".
10112
101132008-02-01 Kenichi Handa <handa@m17n.org>
10114
10115 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
10116 (struct xftdraw_list, xftdraw_list): Delete them.
10117 (register_xftdraw, check_xftdraw): Delete them.
10118 (xftfont_prepare_face): Don't call register_xftdraw.
10119 (xftfont_done_face): Don't call check_xftdraw.
10120 (xftfont_draw): Get background color only when with_background is
10121 nonzero.
10122
10123 * xfont.c (xfont_encode_char): Fix calculation of char2b.
10124
101252008-02-01 Kenichi Handa <handa@m17n.org>
10126
10127 These changes are for the new font handling codes.
10128
10129 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
10130 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
10131 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
10132 (FONTSRC, FONTOBJ): New variables.
10133 (obj): Add $(FONTOBJ).
10134 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
10135 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
10136 @LIBOTF_LIBS@.
10137 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
10138 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
10139
10140 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
10141
10142 * character.h (Vscript_representative_chars): Extern it.
10143
10144 * character.c (Vscript_representative_chars): New variable.
10145 (syms_of_character): Declare it as a Lisp variable.
10146
10147 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
10148 enable_font_backend is nonzero, accept the composition method
10149 COMPOSITION_WITH_GLYPH_STRING.
10150
10151 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
10152 enumeration COMPOSITION_WITH_GLYPH_STRING.
10153
10154 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
10155 members clip_x, clip_y, clip_width, and clip_height.
10156 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
10157
10158 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
10159 --enable-font-backend. Call syms_of_font.
10160
10161 * fns.c (assoc_no_quit): New function.
10162
10163 * fontset.h (FONT_INFO_FROM_FACE): New macro.
10164 (face_for_font, new_fontset_from_font)
10165 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
10166
10167 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
10168 (fontset_font, fontset_ascii, face_for_char)
10169 (make_fontset_for_ascii_face, Ffont_info)
10170 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
10171 is nonzero, use font-backend mechanism.
10172 (find_font_encoding): Make it non-static.
10173 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
10174 New functions.
10175
10176 * frame.h (struct frame): New members resx and resy.
10177 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
10178 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
10179
10180 * frame.c [USE_FONT_BACKEND]: Include "font.h".
10181 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
10182
10183 * lisp.h (assoc_no_quit): Extern it.
10184
10185 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
10186 Through out the file, use FONT_INFO_FROM_FACE instead of
10187 FONT_INFO_FROM_ID, use get_per_char_metric instead of
10188 rif->per_char_metric.
10189 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
10190 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
10191 (get_glyph_face_and_encoding, fill_composite_glyph_string)
10192 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
10193 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
10194 nonzero, use font-backend mechanism.
10195 (get_per_char_metric): New function.
10196
10197 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
10198 (set_lface_from_font_name)
10199 (set_font_frame_param, free_realized_face)
10200 (prepare_face_for_display, clear_face_gcs)
10201 (Finternal_set_font_selection_order, realize_x_face)
10202 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
10203 font-backend mechanism.
10204 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
10205 (load_face_font) [USE_FONT_BACKEND]: Abort.
10206 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
10207 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
10208
10209 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
10210 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
10211 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
10212 nonzero, register all available font drivers. Call
10213 x_default_font_parameter for deciding a font.
10214 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
10215
10216 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
10217 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
10218 (x_set_glyph_string_clipping_exactly)
10219 (x_compute_glyph_string_overhangs)
10220 (x_draw_glyph_string_foreground)
10221 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
10222 (x_free_frame_resources) [USE_FONT_BACKEND]: If
10223 enable_font_backend is nonzero, use font-backend mechanism.
10224 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
10225
102262008-02-01 Kenichi Handa <handa@m17n.org>
10227
10228 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
10229 system_eol_type.
10230 (syms_of_coding): Initialize system_eol_type.
10231
10232 * process.c (Fset_process_coding_system): Inherit system's eol
10233 format if necessary.
10234
102352008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10236
10237 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
10238
102392008-02-01 Kenichi Handa <handa@m17n.org>
10240
10241 * coding.c (decode_eol): Pay attention to buffer relocation in
10242 del_range_2.
10243 (decode_coding): Call decode_eol before restoring undo_list.
10244
102452008-02-01 Kenichi Handa <handa@m17n.org>
10246
10247 * charset.c (Fdefine_charset_internal): Fix setting of
10248 emacs_mule_bytes.
10249
102502008-02-01 Kenichi Handa <handa@m17n.org>
10251
10252 * keyboard.c (read_char): Check if C is a character or not before
10253 looking up Vkeyboard_translate_table.
10254
102552008-02-01 Kenichi Handa <handa@m17n.org>
10256
10257 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
10258 condition to terminate the loop.
10259
102602008-02-01 Kenichi Handa <handa@m17n.org>
10261
10262 * coding.c (produce_composition): Compare charbuf[i] instead of
10263 args[i] against 0.
10264 (Fterminal_coding_system): Use EQ to compare Lisp objects.
10265
102662008-02-01 Kenichi Handa <handa@m17n.org>
10267
10268 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
10269 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
10270 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
10271 detect_coding.
10272 (emacs_mule_char): Handle old style (Emacs 20) component character
10273 of a composition.
10274 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
10275 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
10276 composition rule.
10277 (decode_coding_emacs_mule): Handle invalid bytes correctly.
10278
102792008-02-01 Kenichi Handa <handa@m17n.org>
10280
10281 * coding.c (encode_coding_ccl): Allocate destination dynamically
10282 when necessary.
10283
102842008-02-01 Kenichi Handa <handa@m17n.org>
10285
10286 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
10287 the loop. When quitted, show a proper error message.
10288
102892008-02-01 Kenichi Handa <handa@m17n.org>
10290
10291 * xterm.c (x_set_glyph_string_clipping_exactly): Set
10292 src->clip_head and src->clip_tail temporarily instead of src->hl.
10293
10294 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
10295 character sequence.
10296 (Fccl_execute_on_string): Use ASET, not XSET.
10297
102982008-02-01 Kenichi Handa <handa@m17n.org>
10299
10300 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
10301
103022008-02-01 Kenichi Handa <handa@m17n.org>
10303
10304 * coding.c (decode_coding): Fix the condition of terminating the
10305 decoding loop.
10306
103072008-02-01 Kenichi Handa <handa@m17n.org>
10308
10309 * data.c (Faset): On setting a character bigger than 255 in a
10310 unibyte string, signal an error instead of make the string multibyte.
10311
103122008-02-01 Kenichi Handa <handa@m17n.org>
10313
10314 * charset.c (map_charset_chars): Fix for ascii-compatible charset
10315 made by a mapping table.
10316
103172008-02-01 Kenichi Handa <handa@m17n.org>
10318
10319 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
10320 not.
10321 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
10322 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
10323
10324 * xterm.c (x_draw_composite_glyph_string_foreground): Check
10325 s->face is NULL or not.
10326
103272008-02-01 Kenichi Handa <handa@m17n.org>
10328
10329 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
10330 (x_draw_glyph_string): Fix drawing of right_overhang and
10331 left_overhang around/on cursor.
10332
10333 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
10334
103352008-02-01 Kenichi Handa <handa@m17n.org>
10336
10337 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
10338
103392008-02-01 Kenichi Handa <handa@m17n.org>
10340
10341 * coding.c (Fdefine_coding_system_internal)
10342 (Fdefine_coding_system_alias): Avoid a duplicated element in
10343 Vcoding_system_alist.
10344
103452008-02-01 Kenichi Handa <handa@m17n.org>
10346
10347 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
10348
10349 * coding.c (Qcoding_system_define_form): New variable.
10350 (syms_of_coding): Intern and staticpro it.
10351 (Fcoding_system_p): Check Qcoding_system_define_form.
10352 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
10353
10354 * coding.h (CODING_SYSTEM_P): If ID is not available, call
10355 Fcoding_system_p.
10356 (CHECK_CODING_SYSTEM): If ID is not available, call
10357 Fcheck_coding_system.
10358 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
10359 Try also Fcheck_coding_system.
10360
103612008-02-01 Kenichi Handa <handa@m17n.org>
10362
10363 * coding.c (code_conversion_restore): GCPRO arg.
10364
103652008-02-01 Kenichi Handa <handa@m17n.org>
10366
10367 * character.c (lisp_string_width): Check multibyteness of STRING.
10368
103692008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10370
10371 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
10372 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
10373 (decode_mac_font_name): Use decode_coding_c_string instead of
10374 decode_coding.
10375 (x_load_font): Initialize fontp->fontset to -1. Set
10376 fontp->encoding_type.
10377
103782008-02-01 Kenichi Handa <handa@m17n.org>
10379
10380 * search.c (search_buffer): Give up BM search on case-fold-search
10381 if one of a target character has a case-equivalence of different
10382 byte length even if that target charcter is an ASCII.
10383 (simple_search): Fix calculation of byte length of matched text.
10384 (boyer_moore): Fix handling of case-equivalent multibyte characters.
10385
103862008-02-01 Kenichi Handa <handa@m17n.org>
10387
10388 * coding.c (decode_coding): Fix handling of invalid bytes.
10389
103902008-02-01 Kenichi Handa <handa@m17n.org>
10391
10392 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
10393 Unicode characters.
10394
103952008-02-01 Kenichi Handa <handa@m17n.org>
10396
10397 * coding.c (encode_coding_object): If a pre-write-conversion
10398 function makes a new buffer, kill it.
10399
104002008-02-01 Kenichi Handa <handa@m17n.org>
10401
10402 * coding.c (QCascii_compatible_p): New variable.
10403 (syms_of_coding): Initialize it.
10404 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
10405 calling string_char.
10406 (record_conversion_result): Add `default:' case.
10407 (coding_charset_list): Delete unused variable `coding_type'.
10408 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
10409 property in the plist of the coding system.
10410 (Fcoding_system_put): Check QCascii_compatible_p.
10411
104122008-02-01 Miles Bader <miles@gnu.org>
10413
10414 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
10415 removed calculation of frame `f', as it's now used.
10416
104172008-02-01 Kenichi Handa <handa@m17n.org>
10418
10419 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
10420 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
10421 (UNIDATA): New variable.
10422 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
10423 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
10424 $(RUN_TEMACS) unconditionally.
10425
104262008-02-01 Kenichi Handa <handa@m17n.org>
10427
10428 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
10429 (admindir): New variable.
10430 ($(lispsource)international/charprop.el): New target.
10431
104322008-02-01 Miles Bader <miles@gnu.org>
10433
10434 * character.c (chars-in-region): Remove obsolete function.
10435 (syms_of_character): Remove its initialization.
10436
104372008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
10438
10439 * w32select.c (validate_coding_system)
10440 (setup_windows_coding_system): New functions.
10441 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
10442 setup_windows_coding_system.
10443 (setup_config, Fw32_get_clipboard_data): Use
10444 validate_coding_system.
10445 (Fx_selection_exists): Move call to setup_config to a place
10446 where signals are allowed.
10447
10448 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
10449 (Fcheck_coding_system): Add declarations.
10450
104512008-02-01 Kenichi Handa <handa@m17n.org>
10452
10453 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
10454
104552008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10456
10457 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
10458 string as the second argument for x_new_fontset.
10459
104602008-02-01 Kenichi Handa <handa@m17n.org>
10461
10462 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
10463 (encode_coding_object): Use safe_call instead of call2.
10464
104652008-02-01 Kenichi Handa <handa@m17n.org>
10466
10467 * fontset.c (Fset_fontset_font): Check family element of a given vector.
10468
10469 * Makefile.in (lisp): Include charprop.el.
10470
104712008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10472
10473 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
10474 Not sure if it's unnecessary.
10475
104762008-02-01 Steven Tamm <steventamm@mac.com>
10477
10478 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
10479 some possibly unnecessary fontset checking code that crashed
10480 when creating a new frame.
10481
104822008-02-01 Kenichi Handa <handa@m17n.org>
10483
10484 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
10485 lookup_face.
10486
10487 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
10488
10489 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
10490
104912008-02-01 Kenichi Handa <handa@m17n.org>
10492
10493 * coding.c: Cancel the change done in HEAD on 2008-02-01.
10494 (coding_charset_list): New function.
10495
10496 * coding.h (coding_charset_list): Extern it.
10497
104982008-02-01 Kenichi Handa <handa@m17n.org>
10499
10500 * fontset.c (Fset_fontset_font): Call find_font_encoding with
10501 concatenation of family and registry.
10502
105032008-02-01 Kenichi Handa <handa@m17n.org>
10504
10505 * character.h (BYTE8_STRING): Fix typo.
10506
10507 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
10508 string to multibyte (sync to HEAD).
10509
10510 * casefiddle.c (casify_region): Handle changes in byte-length
10511 using replace_range_2 (sync to HEAD).
10512
105132008-02-01 Andreas Schwab <schwab@suse.de>
10514
10515 * chartab.c (map_char_table): GCPRO table and arg.
10516
105172008-02-01 Kenichi Handa <handa@m17n.org>
10518
10519 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
10520 already at limit.
10521
105222008-02-01 Kenichi Handa <handa@m17n.org>
10523
10524 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
10525 instead of fast_c_string_match_ignore_case.
10526 (find_font_encoding): Change argument to Lisp_Object. Use
10527 fast_string_match_ignore_case instead of
10528 fast_c_string_match_ignore_case. Change caller.
10529
105302008-02-01 Kenichi Handa <handa@m17n.org>
10531
10532 * xdisp.c (get_next_display_element): In unibyte case, decide to
10533 display in octal form by checking a character by
10534 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
10535
10536 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
10537
10538 * character.c (unibyte_has_multibyte_table): New variable.
10539
10540 * character.h (unibyte_has_multibyte_table): Extern it.
10541 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
10542
105432008-02-01 Kenichi Handa <handa@m17n.org>
10544
10545 * coding.c (encode_coding_iso_2022): Fix handling of charset
10546 annotation.
10547
105482008-02-01 Kenichi Handa <handa@m17n.org>
10549
10550 * coding.c (setup_coding_system): If coding_system is nil, use
10551 Qundecided.
10552 (Fterminal_coding_system): Return nil if terminal coding system is
10553 `undecided'.
10554 (syms_of_coding): Define coding-system `undecided' here. Setup
10555 terminal_coding as `undecided'.
10556
105572008-02-01 Kenichi Handa <handa@m17n.org>
10558
10559 * xdisp.c (message_dolog, set_message_1): Call
10560 unibyte_char_to_multibyte with arg type int.
10561
10562 * lread.c (read1): Fix reading of a char-table.
10563
10564 * print.c (print_object): Include sub char-table in circularities
10565 detection.
10566
105672008-02-01 Kenichi Handa <handa@m17n.org>
10568
10569 * keymap.c (where_is_internal_2): Fix for the case that KEY is a cons.
10570 Append the found sequences in car of ARGS instead of prepending.
10571
105722008-02-01 Kenichi Handa <handa@m17n.org>
10573
10574 * fileio.c (report_file_error): Make a unibyte string from
10575 strerror (errorno).
10576 (Fsubstitute_in_file_name): Fix the arg to
10577 unibyte_char_to_multibyte. It is evaluated twice.
10578
105792008-02-01 Kenichi Handa <handa@m17n.org>
10580
10581 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
10582
105832008-02-01 Kenichi Handa <handa@m17n.org>
10584
10585 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
10586 BOM is not found.
10587 (detect_coding, detect_coding_system): Optimization for ISO-2022
10588 when no 8-bit data is found.
10589
105902008-02-01 Jason Rumney <jasonr@gnu.org>
10591
10592 * w32fns.c (x_to_w32_font): Update to use new coding struct.
10593
105942008-02-01 Kenichi Handa <handa@m17n.org>
10595
10596 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
10597 CHARS.
10598
105992008-02-01 Steven Tamm <steventamm@mac.com>
10600
10601 * macterm.c (mac_encode_char): Add charset argument and update
10602 to use encoding_type.
10603 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
10604 switch to pure fontset.
10605 (decode_mac_font_name): Temporarily remove decoding.
10606 (x_font_name_to_mac_font_name): Temporarily remove encoding.
10607 (x_load_font): Temporarily remove encoding.
10608
106092008-02-01 Kenichi Handa <handa@m17n.org>
10610
10611 * xfaces.c (Fface_font): If frame is not on a window system,
10612 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
10613 refer to face->font.
10614 (split_font_name_into_vector, build_font_name_from_vector)
10615 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
10616 when HAVE_WINDOW_SYSTEM is defined.
10617
106182008-02-01 Kenichi Handa <handa@m17n.org>
10619
10620 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
10621 (x_produce_glyphs): Fix setting of members of cmp in case
10622 cmp->glyph_len is zero.
10623
10624 * fontset.c (Fset_fontset_font): Fix docstring.
10625 (Ffontset_info): Make it backward compatible. New arg ALL.
10626
106272008-02-01 Kim F. Storm <storm@cua.dk>
10628
10629 * process.c (read_process_output): Grow decoding_buf when needed;
10630 this could cause a crash in allocate_string and compact_small_strings.
10631
106322008-02-01 Kenichi Handa <handa@m17n.org>
10633
10634 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
10635
106362008-02-01 Kenichi Handa <handa@m17n.org>
10637
10638 * coding.c (setup_coding_system): Set coding->common_flags
10639 correctly for raw-text.
10640 (consume_chars): On encoding unibyte text by raw-text, don't check
10641 multibyte form.
10642 (encode_coding): On encoding by raw-text, never use translation tables.
10643
10644 * fileio.c (e_write): Short cut for the case of no encoding.
10645
106462008-02-01 Kenichi Handa <handa@m17n.org>
10647
10648 * coding.c (detect_coding, detect_coding_system): Delete unused
10649 variables.
10650
106512008-02-01 Kenichi Handa <handa@m17n.org>
10652
10653 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
10654 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
10655
106562008-02-01 Kenichi Handa <handa@m17n.org>
10657
10658 * coding.c (Ffind_coding_systems_region_internal): Include
10659 raw-text and no-conversion in the result.
10660
106612008-02-01 Kenichi Handa <handa@m17n.org>
10662
10663 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
10664 (load_font_get_repertory): Delete unnecessary check of ENCODING of
10665 FONT_DEF.
10666 (font_def_arg, add_arg, from_arg, to_arg): New args.
10667 (set_fontset_font): Change argument.
10668 (Fset_fontset_font): Fix for the case that TARGET is a script
10669 name and charset name.
10670 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
10671
106722008-02-01 Kenichi Handa <handa@m17n.org>
10673
10674 * fontset.c (fontset_font): Rename from fontset_face. Change return
10675 value.
10676 (face_suitable_for_char_p, face_for_char): Adjust for the change
10677 of fontset_font.
10678 (make_fontset_for_ascii_face): Fix setting of the fontset element
10679 for ASCII.
10680 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
10681 to get a font name.
10682 (Ffontset_info): Adjust for the change of fontset_font.
10683
10684 * coding.c (emacs_mule_char): Check invalid code more rigidly.
10685
10686 * character.h (LEADING_CODE_LATIN_1_MIN)
10687 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
10688
106892008-02-01 Kenichi Handa <handa@m17n.org>
10690
10691 * editfns.c (check_translation): New function.
10692 (Ftranslate_region_internal): Handle M:N mapping.
10693
106942008-02-01 Kenichi Handa <handa@m17n.org>
10695
10696 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
10697
106982008-02-01 Kenichi Handa <handa@m17n.org>
10699
10700 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
10701 goto invalid_code.
10702 (decode_coding_iso_2022): Fix handling of invalid designation.
10703
10704 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
10705 after calling code_conversion_save.
10706
107072008-02-01 Kenichi Handa <handa@m17n.org>
10708
10709 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
10710
10711 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
10712
10713 * fontset.c: Include "intervals.h".
10714 (fontset_face): Fix comparing of Lisp_Objects.
10715 (free_face_fontset, new_fontset_from_font_name): Fix
10716 Lisp_Object/int mixup.
10717
10718 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
10719
10720 * coding.c: Add many prototypes for static functions.
10721 (get_translation_table): Allow max_lookup to be NULL.
10722 (decode_coding, Ffind_coding_systems_region_internal)
10723 (Funencodable_char_position, Fcheck_coding_systems_region): Call
10724 get_translation_table with max_lookup NULL.
10725
107262008-02-01 Kenichi Handa <handa@m17n.org>
10727
10728 * coding.c (get_translation_table): Declare it as Lisp_Object.
10729 (LOOKUP_TRANSLATION_TABLE): New macro.
10730 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
10731 instead of CHAR_TABLE_REF.
10732
107332008-02-01 Kenichi Handa <handa@m17n.org>
10734
10735 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
10736 annotation data format.
10737 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
10738 Change arguments FROM and TO to single argument NCHARS. Change caller.
10739 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
10740 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
10741 (decode_coding_ccl, decode_coding_charset): Pay attention to
10742 coding->charbuf_used.
10743 (get_translation): New function.
10744 (produce_chars): New arguments translation_table and last_block.
10745 Translate characters here. Return number of carryover chars.
10746 Change caller.
10747 (produce_composition): New argument pos. Change caller.
10748 Adjust for the change of annotation data format.
10749 (produce_charset, produce_annotation): Likewise.
10750 (decode_coding, encode_coding): Don't call translate_chars.
10751 (consume_chars): New arg translation_table. Change caller.
10752 (translate_chars): Delete.
10753 (syms_of_coding): Make translation-table's number of extra slots 2.
10754
107552008-02-01 Kenichi Handa <handa@m17n.org>
10756
10757 * search.c (simple_search): Fix setting this_pos_byte in backward
10758 search.
10759
10760 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
10761 byte sequence.
10762 (detect_coding_ccl): Fix setting of the variable valids.
10763
107642008-02-01 Kenichi Handa <handa@m17n.org>
10765
10766 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
10767
10768 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
10769
10770 * editfns.c (Ftranslate_region_internal): Rename from
10771 Ftranslate_region. Accept a char-table in TABLE.
10772 (syms_of_editfns): Defsubr Stranslate_region_internal.
10773
10774 * xfaces.c (set_lface_from_font_name): If a font is specified for
10775 a frame, generate a fontset from the font.
10776 (build_scalable_font_name): If the scalable font is requested for
10777 a specific size, don't change that size.
10778 (try_font_list): Try a scalable font also in the case that a
10779 pattern string is specified.
10780
107812008-02-01 Kenichi Handa <handa@m17n.org>
10782
10783 * xfaces.c (Fface_font): New optional arg CHARACTER.
10784
107852008-02-01 Kenichi Handa <handa@m17n.org>
10786
10787 * charset.h (CHARSET_OFFSET): New macro.
10788
107892008-02-01 Kenichi Handa <handa@m17n.org>
10790
10791 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
10792
10793 * fontset.c (fontset_face): Handle the case that repertory is a
10794 char-table.
10795 (find_font_encoding): Return nil for unknown encoding.
10796 (Fset_fontset_font): Ignore a font of unknown encoding.
10797
107982008-02-01 Kenichi Handa <handa@m17n.org>
10799
10800 * keymap.c (describe_vector): Handle default value of a char table.
10801
10802 * fontset.c (fontset_face): Handle fallback fonts correctly.
10803 (Ffontset_info): Return infomation about fallback fonts.
10804
108052008-02-01 Kenichi Handa <handa@m17n.org>
10806
10807 * fontset.c (FONTSET_DEFAULT): New macro.
10808 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
10809 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
10810 the case that it is nil.
10811 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
10812 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
10813
10814 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
10815 subset or superset.
10816
108172008-02-01 Kenichi Handa <handa@m17n.org>
10818
10819 * emacs.c (main): Call init_charset after syms_of_XXX.
10820
10821 * charset.c (Vcharset_map_directory): Delete.
10822 (Vcharset_map_path): New variable.
10823 (load_charset_map_from_file): Use Vcharset_map_path instead.
10824 (init_charset): Initialize Vcharset_map_path.
10825 (syms_of_charset): Delete declaration of "charset-map-directory",
10826 add declaration of "charset-map-path".
10827
108282008-02-01 Kenichi Handa <handa@m17n.org>
10829
10830 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
10831 ASCII only string.
10832
10833 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
10834
10835 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
10836 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
10837
108382008-02-01 Kenichi Handa <handa@m17n.org>
10839
10840 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
10841
10842 * coding.c (QCmnemonic, QCdefalut_char)
10843 (QCdecode_translation_table, QCencode_translation_table)
10844 (QCpost_read_conversion, QCpre_write_conversion): New variables.
10845 (get_translation_table): Return a list of translation tables if
10846 necessary.
10847 (decode_coding): Call get_translation_table with ENCODEP 0.
10848 (char_encodable_p): If translation_table is non-nil, always call
10849 translate_char.
10850 (Fdefine_coding_system_internal): Accept list of translation
10851 tables as :encode-translation-table and :decode-translation-table.
10852 (Fcoding_system_put): New function.
10853 (syms_of_coding): Declare new symbols. Defsubr
10854 Scoding_system_put.
10855 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
10856 typically JISX0212.
10857
10858 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
10859 when the charset is superset type.
10860
10861 * character.c (translate_char): Accept list of translation tables.
10862
108632008-02-01 Kenichi Handa <handa@m17n.org>
10864
10865 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
10866 (CODING_ATTR_TRANS_TBL): New macro.
10867
10868 * coding.c (get_translation_table): New function.
10869 (translate_chars): Fix the bug of skipping annotation data.
10870 (decode_coding, encode_coding): Utilize get_translation_table.
10871 (char_encodable_p, Funencodable_char_position): Translate char if
10872 necessary.
10873 (Ffind_coding_systems_region_internal)
10874 (Fcheck_coding_systems_region): Setup translation table for encode
10875 in a coding system attribute vector in advance.
10876 (Fdefine_coding_system_internal): Allow a symbol as translation
10877 table. For shift-jis type coding system, allow 4th charset.
10878
108792008-02-01 Kenichi Handa <handa@m17n.org>
10880
10881 * coding.c (decode_coding_sjis): Check the first byte rigidly.
10882
10883 * xdisp.c (get_next_display_element): Pass -1 as POS to
10884 FACE_FOR_CHAR if displaying a C-string.
10885
108862008-02-01 Kenichi Handa <handa@m17n.org>
10887
10888 * composite.c (get_composition_id): Handle xoff and yoff in a
10889 composition rule.
10890
10891 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
10892 (struct composition): New member lbearing and rbearing.
10893
10894 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
10895 (x_get_glyph_overhangs): Handle a composition glyph.
10896 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
10897
10898 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
10899 composition glyph.
10900
109012008-02-01 Kenichi Handa <handa@m17n.org>
10902
10903 * print.c: Include charset.h.
10904 (Vprint_charset_text_property): New variable.
10905 (Qdefault): Extern it.
10906 (PRINT_STRING_NON_CHARSET_FOUND)
10907 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
10908 (print_check_string_result): New variable.
10909 (print_check_string_charset_prop): New function.
10910 (print_prune_charset_plist): New variable.
10911 (print_prune_string_charset): New function.
10912 (print_object): Call print_prune_string_charset if
10913 Vprint_charset_text_property is not t.
10914 (print_interval): Print nothing if interval->plist is nil.
10915 (syms_of_print): Declare Vprint_charset_text_property as a lisp
10916 variable. Init and staticpro print_prune_charset_plist.
10917
109182008-02-01 Kenichi Handa <handa@m17n.org>
10919
10920 * fontset.c (new_fontset_from_font_name): Use the specified font
10921 for all characters in the new fontset.
10922
10923 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
10924 OBJECT args.
10925
10926 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
10927 OBJECT args for composition too.
10928
10929 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
10930 OBJECT args.
10931
109322008-02-01 Kenichi Handa <handa@m17n.org>
10933
10934 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
10935
10936 * fontset.c (reorder_font_vector): Adjust for the change of
10937 FONT_DEF format.
10938 (fontset_face): New arg id. Change caller.
10939 (face_for_char): New args pos and object.
10940 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
10941 (fs_query_fontset): Check NAME by Fassoc too.
10942 (Fset_fontset_font): Allow non-XLFD font name.
10943 (Ffontset_info): Adjust for the change of FONT_DEF format.
10944
10945 * fontset.h (face_for_char): Adjust prototype.
10946
10947 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
10948 (append_space, extend_face_to_end_of_line)
10949 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
10950 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
10951
10952 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
10953 POS and OBJECT args.
10954
10955 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
10956 POS and OBJECT args.
10957
109582008-02-01 Jason Rumney <jasonr@gnu.org>
10959
10960 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
10961 of GlobalAlloc'ed memory.
10962
109632008-02-01 Kenichi Handa <handa@m17n.org>
10964
10965 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
10966
10967 * charset.h (charset_table_used): Delete extern.
10968
10969 * charset.c (charset_table_used): Make it static.
10970 (map_charset_chars): Fix args to c_function with.
10971
10972 * chartab.c (map_sub_char_table_for_charset): Fix args to
10973 c_function with.
10974
10975 * coding.h (enum coding_result_code): Delete
10976 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
10977
10978 * coding.c (Qinsufficient_source, Qinconsistent_eol)
10979 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
10980 (Vlast_code_conversion_error): New variables.
10981 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
10982 (ONE_MORE_BYTE): Record error if any instead of signaling an
10983 error. If non-ASCII multibyte char is found, return the negative
10984 value of the code. All callers changed to check it.
10985 (ONE_MORE_BYTE_NO_CHECK): Likewise.
10986 (record_conversion_result): New function. Change all codes setting
10987 coding->result to call this function.
10988 (detect_coding_utf_8, decode_coding_utf_8)
10989 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
10990 Don't use the local variable incomplete.
10991 (emacs_mule_char): Change the second arg to `const'.
10992 (decode_coding): Fix of flushing out unprocessed data.
10993 (make_conversion_work_buffer): Fix making of a work buffer.
10994 (decode_coding_object): Return coding->dst_object.
10995
10996 * fontset.c (set_fontset_font): Fix args.
10997
10998 * lisp.h (CHARACTERBITS): Define as 22.
10999
11000 * process.c (send_process): Be sure to set coding->src_multibyte.
11001
11002 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
11003
110042008-02-01 Kenichi Handa <handa@m17n.org>
11005
11006 * xdisp.c (handle_auto_composed_prop): Give limit to
11007 Fnext_single_char_property_change.
11008
110092008-02-01 Kenichi Handa <handa@m17n.org>
11010
11011 * composite.c (syms_of_composite): Don't make the composition hash
11012 table weak.
11013
11014 * fontset.c (Fset_fontset_font): Fix docstring.
11015
11016 * lisp.h (detect_coding_system): Adjust prototype.
11017
11018 * fileio.c (kill_workbuf_unwind): Delete this function.
11019 (Finsert_file_contents): Adjust the call of detect_coding_system.
11020 Get conversion_buffer by code_conversion_save. Use the macro
11021 CODING_MAY_REQUIRE_DECODING. After decoding, update
11022 coding_system.
11023
11024 * coding.h (make_conversion_work_buffer): Delete extern.
11025 (code_conversion_save): Extern it.
11026
11027 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
11028 (CODING_GET_INFO): Delete argument eol_type. Change callers.
11029 (decode_coding_utf_8): Don't do eol converion.
11030 (detect_coding_utf_16): Check coding->src_chars, not
11031 coding->src_bytes. Add heuristics for those that have no signature.
11032 (decode_coding_emacs_mule, decode_coding_iso_2022)
11033 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
11034 Don't do eol converion.
11035 (adjust_coding_eol_type): Return a new coding system.
11036 (detect_coding): Don't detect eol. Fix for utf-16 detection.
11037 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
11038 each change.
11039 (decode_coding): Pay attention to undo_list. Do eol conversion for
11040 all types of coding-systems (if necessary).
11041 (Vcode_conversion_work_buf_list): Delete it.
11042 (Vcode_conversion_reused_workbuf): Rename from
11043 Vcode_conversion_reused_work_buf.
11044 (Vcode_conversion_workbuf_name): New variable.
11045 (reused_workbuf_in_use): New variable.
11046 (make_conversion_work_buffer): Delete the arg DEPTH.
11047 (code_conversion_restore): Change argument to cons.
11048 (code_conversion_save): Delete the argument BUFFER. Change callers.
11049 (detect_coding_system): New argument src_chars. Change callers.
11050 Fix for utf-16 detection.
11051 (init_coding_once): Don't use ISO_carriage_return.
11052 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
11053 reused_workbuf_in_use.
11054
110552008-02-01 Kenichi Handa <handa@m17n.org>
11056
11057 * keymap.c (store_in_keymap): Pay attention to the case that idx
11058 is a cons specifying a character range.
11059
110602008-02-01 Kenichi Handa <handa@m17n.org>
11061
11062 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
11063 HANDLED_RECOMPUTE_PROPS.
11064
11065 * coding.c (Fdefine_coding_system_internal): Fix checking of
11066 ascii compatibility.
11067
110682008-02-01 Kenichi Handa <handa@m17n.org>
11069
11070 * charset.c (find_charsets_in_text): Delete unused locale variable.
11071 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
11072
11073 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
11074 Resync charset_list to Vemacs_mule_charset_list.
11075
11076 * keymap.c (store_in_keymap): Pay attention to the case that idx
11077 is a cons specifying a character range.
11078
110792008-02-01 Kenichi Handa <handa@m17n.org>
11080
11081 * composite.c (update_compositions): Bind inhibit-read-only, etc
11082 to t before calling remove-list-of-text-properties.
11083
11084 * print.c (print_object): Always print ASCII chars as is.
11085
110862008-02-01 Kenichi Handa <handa@m17n.org>
11087
11088 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
11089
11090 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
11091 is a char table.
11092
110932008-02-01 Kenichi Handa <handa@m17n.org>
11094
11095 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
11096
110972008-02-01 Kenichi Handa <handa@m17n.org>
11098
11099 * xfaces.c (set_lface_from_font_name): Fix for the case that
11100 FONTNAME is not fontset name.
11101
111022008-02-01 Kenichi Handa <handa@m17n.org>
11103
11104 * fns.c (base64_encode_1): Fix previous change.
11105
111062008-02-01 Kenichi Handa <handa@m17n.org>
11107
11108 * fontset.c (set_fontset_font): New function.
11109 (Fset_fontset_font): If a font is specified for a charset, use
11110 map_charset_chars to store the font spec in a fontset.
11111
111122008-02-01 Kenichi Handa <handa@m17n.org>
11113
11114 * fontset.c (fontset_face): Create a fallback fontset on demand.
11115 (make_fontset): Don't create a fallback fontset here.
11116 (free_face_fontset): Free a fallback fontset (if any) too.
11117 (n_auto_fontsets): Delete this variable.
11118 (auto_fontset_alist): New variable.
11119 (new_fontset_from_font_name): Check auto_fontset_alist.
11120 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
11121 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
11122 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
11123 Defsubr Sfontset_list_all.
11124
111252008-02-01 Kenichi Handa <handa@m17n.org>
11126
11127 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
11128
111292008-02-01 Kenichi Handa <handa@m17n.org>
11130
11131 * fontset.c (Fnew_fontset): Check NAME more rigidly.
11132
111332008-02-01 Kenichi Handa <handa@m17n.org>
11134
11135 * editfns.c (Fgoto_char): Fix docstring.
11136
111372008-02-01 Kenichi Handa <handa@m17n.org>
11138
11139 * insdel.c (insert_from_gap): Adjust intervals correctly.
11140
111412008-02-01 Jason Rumney <jasonr@gnu.org>
11142
11143 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
11144 (pfnGetFontUnicodeRanges): New dynamically loaded function.
11145 (w32_initialize): Try to load it.
11146 (x_get_font_repertory): Use it if available.
11147 (w32_encode_char): Add shortcut for unicode output.
11148
11149 * w32fns.c (w32_load_system_font): Default charset to -1.
11150 (x_to_w32_charset): Match all fonts for unicode.
11151 (w32_to_x_charset): New parameter matching. Don't return partial
11152 or wildcard charsets.
11153 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
11154 (w32_codepage_for_font): Return CP_UNICODE for unicode.
11155 (w32_to_x_font): Match charset to real charset.
11156 (enum_font_cb2): Always list unicode versions.
11157
11158 * makefile.w32-in (temacs): Increase EMHEAP.
11159
111602008-02-01 Jason Rumney <jasonr@gnu.org>
11161
11162 * w32term.c (w32_encode_char): New charset parameter.
11163 font_info.encoding becomes encoding_type.
11164 (x_get_font_repertory): New function. Warning: stub only!
11165 (x_new_font): Return quickly if font already set.
11166 (x_new_fontset): fontsetname parameter is Lisp_Object.
11167 Use new fs_query_fontset. Try new_fontset_from_font_name.
11168 Use fontset_name for return value.
11169
11170 * w32term.h: Declare x_get_font_repertory.
11171
11172 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
11173 place of find_charset_in_text. Use encode_coding_object in place
11174 of encode_coding.
11175 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
11176 decode_coding.
11177
11178 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
11179 of x_new_fontset.
11180 (w32_load_system_font): Initialize charset as unicode.
11181 font_info.encoding becomes encoding_type.
11182 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
11183 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
11184 (syms_of_w32fns): Set get_font_repertory_func.
11185
11186 * w32console.c: Include character.h. Use terminal_encode_buffer
11187 from term.c.
11188 (write_glyphs): Use new version of encode_terminal_code. Use
11189 encode_coding_object in place of encode_coding.
11190
11191 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
11192 encoding becomes encoding_type.
11193
11194 * term.c (terminal_encode_buffer): Make externally visible.
11195
11196 * makefile.w32-in: Add character.h dependancies.
11197 (character.o, chartab.o): New targets.
11198
111992008-02-01 Kenichi Handa <handa@m17n.org>
11200
11201 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
11202 CODING_ID_EOL_TYPE.
11203
112042008-02-01 Andreas Schwab <schwab@suse.de>
11205
11206 * coding.c (produce_chars): Revert last change.
11207
112082008-02-01 Kenichi Handa <handa@m17n.org>
11209
11210 * charset.h (charset_unicode): Extern it.
11211
11212 * charset.c (string_xstring_p): Check by (C >= 0x100).
11213 (find_charsets_in_text): Change format of the arc CHARSETS. New
11214 arg MULTIBYTE.
11215 (Ffind_charset_region, Ffind_charset_string): Adjust for the
11216 change of find_charsets_in_text.
11217 (Fsplit_char): Fix doc. Never return unknown.
11218
11219 * chartab.c (char_table_translate): Use CHARACTERP, not INTEGERP.
11220
11221 * coding.c (Fdefine_coding_system_alias): Update
11222 Vcoding_system_list.
11223
11224 * fontset.c (load_font_get_repertory): Pay attention to the case
11225 that ENCODING of a font is specified by a char-table.
11226
11227 * xterm.c (x_get_font_repertory): Handle the case that the
11228 encoding of font is other than Unicode.
11229
112302008-02-01 Kenichi Handa <handa@m17n.org>
11231
11232 * term.c (encode_terminal_code): Don't handle glyph-table. Check
11233 if a character is encodable by the terminal coding system. If
11234 not, produces proper number of `?'s. Update
11235 terminal_encode_buffer and terminal_encode_buf_size if necessary.
11236 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
11237
112382008-02-01 Kenichi Handa <handa@m17n.org>
11239
11240 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
11241 variables.
11242 (encode_terminal_code): Change argument. Encode multiple
11243 characters at once. Store the result of encoding in
11244 terminal_encode_buffer.
11245 (write_glyphs, insert_glyphs): Adjust for the change of
11246 encode_terminal_code.
11247 (term_init): Initialize terminal_encode_buffer and
11248 terminal_encode_buf_size.
11249
11250 * coding.c (consume_chars): If coding->src_object is nil, don't
11251 check annotation.
11252
112532008-02-01 Kenichi Handa <handa@m17n.org>
11254
11255 * character.c (char_string): Use ASCII_CHAR_P instead of
11256 SINGLE_BYTE_CHAR_P.
11257
112582008-02-01 Kenichi Handa <handa@m17n.org>
11259
11260 * xdisp.c (handle_auto_composed_prop): Check if the last
11261 characters of auto-composed region is newly composed with the
11262 following characters.
11263 (handle_composition_prop): Fix checking of point being inside
11264 composition.
11265
112662008-02-01 Kenichi Handa <handa@m17n.org>
11267
11268 * fns.c (concat): Don't change multibyteness of the result by
11269 concatenating an 8-bit character.
11270
11271 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
11272 multibyteness of the result when newelt is an 8-bit character.
11273
112742008-02-01 Dave Love <fx@gnu.org>
11275
11276 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
11277 EMACS_INT.
11278
11279 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
11280
11281 * xfaces.c (face_numeric_value): Declare dim size_t.
11282 (Finternal_lisp_face_equal_p): Remove unused f.
11283
11284 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
11285 (MATRIX_ROW): Remove unused vars.
11286 (draw_glyphs, x_insert_glyphs, fast_find_position)
11287 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
11288 byte/char counts.
11289
11290 * regex.c (regex_compile): Remove unused var.
11291
11292 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
11293
11294 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
11295 (Faccessible_keymaps, where_is_internal): Remove unused vars.
11296
11297 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
11298
11299 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
11300
11301 * fileio.c (Fwrite_region): Remove unused var.
11302
11303 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
11304 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
11305
11306 * composite.c (Fremove_list_of_text_properties): Declare.
11307
11308 * coding.c (inhibit_pre_post_conversion): Remove (unused).
11309 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
11310 (coding_inherit_eol_type): Remove unused attrs.
11311 (detect_coding): Cast arg of detect_eol.
11312
11313 * charset.c (syms_of_charset): Remove unused var p.
11314 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
11315 byte/char counts.
11316
11317 * casetab.c (set_case_table): Remove unused var.
11318
11319 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
11320 unused vars.
11321
113222008-02-01 Dave Love <fx@gnu.org>
11323
11324 * xterm.c (x_bitmap_mask): Declare.
11325
113262008-02-01 Dave Love <fx@gnu.org>
11327
11328 * xterm.c (x_term_init): Fix type error.
11329
11330 * lisp.h: Add Funibyte_char_to_multibyte.
11331
11332 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
11333 (Fset_coding_system_priority): Doc fix.
11334
11335 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
11336
11337 * indent.c (check_composition): Make start and end EMACS_INT.
11338
11339 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
11340
11341 * xdisp.c (handle_composition_prop, check_point_in_composition):
11342 Make buffer positions EMACS_INT.
11343
11344 * composite.c (find_composition, run_composition_function)
11345 (update_compositions, Ffind_composition_internal): Make buffer
11346 positions EMACS_INT.
11347
11348 * composite.h (find_composition, update_compositions): Make
11349 position args EMACS_INT.
11350
11351 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
11352
11353 * intervals.c (get_property_and_range):
11354 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
11355
11356 * unexalpha.c: Don't include varargs.h.
11357
113582008-02-01 Dave Love <fx@gnu.org>
11359
11360 * coding.h (ENCODE_UTF_8): New.
11361
11362 * Makefile.in (gtkutil.o): Depend on coding.h.
11363
11364 * coding.c (Fset_coding_system_priority): Doc fix.
11365
113662008-02-01 Kenichi Handa <handa@m17n.org>
11367
11368 * fileio.c (Finsert_file_contents): Call setup_coding_system in
11369 the case of auto saving.
11370
113712008-02-01 Andreas Schwab <schwab@suse.de>
11372
11373 * chartab.c (map_char_table, map_char_table_for_charset): Protect
11374 `range' from GC.
11375
113762008-02-01 Kenichi Handa <handa@m17n.org>
11377
11378 * coding.c (decode_coding_sjis): Check bytes more rigidly.
11379
113802008-02-01 Kenichi Handa <handa@m17n.org>
11381
11382 * fileio.c (choose_write_coding_system): Return a decided coding system.
11383 (Fwrite_region): Set Vlast_coding_system_used to the return value
11384 of choose_write_coding_system.
11385
113862008-02-01 Kenichi Handa <handa@m17n.org>
11387
11388 * charset.c (Fset_charset_priority): Pay attention to duplicated
11389 arguments.
11390
11391 * coding.c (QCcategory): New variable.
11392 (syms_of_coding): Defsym it. Set all elements of
11393 Vcoding_category_table and their symbol values.
11394 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
11395 coding-category-XXX, and coding-category-list.
11396 (Fdefine_coding_system_internal): Add category in the plist.
11397
113982008-02-01 Kenichi Handa <handa@m17n.org>
11399
11400 * callproc.c (Fcall_process): Handle carryover correctly.
11401
11402 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
11403 (raw_text_coding_system): Check NILP (coding_system).
11404 (coding_inherit_eol_type): Check NILP (coding_system) and
11405 NILP (parent).
11406 (consume_chars): Fix for the case of raw-text.
11407
11408 * process.c (read_process_output): Handle carryover correctly.
11409
114102008-02-01 Dave Love <fx@gnu.org>
11411
11412 * regex.c (re_search_2): Fix last change.
11413
114142008-02-01 Kenichi Handa <handa@m17n.org>
11415
11416 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
11417 target_multibyte. Even in a unibyte case, return a converted
11418 multibyte char.
11419 (GET_CHAR_AFTER): New macro.
11420 (PATFETCH): Translate via multibyte char.
11421 (HANDLE_UNIBYTE_RANGE): Delete this macro.
11422 (SETUP_MULTIBYTE_RANGE): New macro.
11423 (regex_compile): Setup compiled code so that its multibyteness
11424 matches that of a target. Fix the handling of "[X-YZ]" using
11425 SETUP_MULTIBYTE_RANGE.
11426 (analyse_first) <charset>: For filling fastmap for all multibyte
11427 characters, don't check by BASE_LEADING_CODE_P.
11428 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
11429 the same as RE_MULTIBYTE_P (bufp) now.
11430 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
11431 (TARGET_CHAR_AND_LENGTH): Delete this macro.
11432 (TRANSLATE_VIA_MULTIBYTE): New macro.
11433 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
11434 It is the same as RE_MULTIBYTE_P (bufp) now.
11435 <exactn>: Translate via multibyte.
11436 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
11437 translate it.
11438 <charset, charset_not>: Fetch a character by
11439 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
11440 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
11441 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
11442 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
11443 by GET_CHAR_AFTER.
11444 (bcmp_translate): Likewise.
11445
11446 * search.c (compile_pattern): Check the member target_multibyte,
11447 not the member multibyte of buf.
11448
11449 * lread.c (read1): While reading a string, set force_singlebyte
11450 and force_multibyte correctly.
11451
11452 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
11453 up of unibyte_to_multibyte_table.
11454
114552008-02-01 Kenichi Handa <handa@m17n.org>
11456
11457 * coding.c (setup_coding_system): If coding has
11458 post-read-conversion or pre-write-conversion, set
11459 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
11460 respectively.
11461 (decode_coding_gap): Run post-read-conversion if any.
11462
11463 * fileio.c (Finsert_file_contents): Even if we read into a
11464 unibyte buffer, check if we must decode the result or not.
11465
114662008-02-01 Kenichi Handa <handa@m17n.org>
11467
11468 * coding.c (make_conversion_work_buffer): Change the work buffer
11469 name to the same one as that of Emacs 21.
11470
114712008-02-01 Kenichi Handa <handa@m17n.org>
11472
11473 * coding.h (make_conversion_work_buffer): Adjust prototype.
11474 (code_conversion_restore): Don't extern it.
11475
11476 * coding.c (detected_mask): Delete unused variable.
11477 (decode_coding_iso_2022): Pay attention to the byte sequence of
11478 CTEXT extended segment, and retain those bytes as is.
11479 (decode_coding_ccl): Delete unused variable `valids'.
11480 (setup_coding_system): Delete unused variable `category'.
11481 (consume_chars): Delete unused variable `category'. Make it work
11482 for non-multibyte case.
11483 (make_conversion_work_buffer): Change argument.
11484 (saved_coding): Delete unused variable.
11485 (code_conversion_restore): Don't check saved_coding->destination.
11486 (code_conversion_save): New function.
11487 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
11488 instead of record_unwind_protect.
11489 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
11490 (detect_coding_system): Delete unused variable `mask'.
11491 (Fdefine_coding_system_internal): Delete unused variable id.
11492
11493 * fileio.c (kill_workbuf_unwind): New function.
11494 (Finsert_file_contents): On replacing, call
11495 make_conversion_work_buffer with correct args, and call
11496 record_unwind_protect with the first arg kill_workbuf_unwind.
11497
11498 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
11499
115002008-02-01 Kenichi Handa <handa@m17n.org>
11501
11502 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
11503 (fontset_add): Fix for the case that TO is less than TO1.
11504 (Ffontset_info): Don't use fallback fontset on checking the
11505 default fontset.
11506 (dump_fontset): New function for debugging.
11507
11508 * coding.c (Fdefine_coding_system_internal): Fix for the case that
11509 coding_type is Qcharset.
11510
115112008-02-01 Kenichi Handa <handa@m17n.org>
11512
11513 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
11514 (map_char_table): Don't inherit the value from the parent on
11515 initializing VAL. Adjust for the above change.
11516
115172008-02-01 Kenichi Handa <handa@m17n.org>
11518
11519 * coding.c (Qsignature, Qendian): Delete these variables.
11520 (syms_of_coding): Don't initialize them.
11521 (CATEGORY_MASK_UTF_16_AUTO): New macro.
11522 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
11523 detect_info->found.
11524 (decode_coding_utf_16): Don't detect BOM here.
11525 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
11526 is NOT utf_16_without_bom.
11527 (setup_coding_system): For a coding system of type utf-16, check
11528 if the attribute :endian is Qbig or not (not nil or not), and set
11529 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
11530 (detect_coding): If coding type is utf-16 and BOM detection is
11531 required, detect it.
11532 (Fdefine_coding_system_internal): For a coding system of type
11533 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
11534
115352008-02-01 Kenichi Handa <handa@m17n.org>
11536
11537 * coding.c (coding_set_source): Fix for the case that the current
11538 buffer is different from coding->src_object.
11539 (decode_coding_object): Don't use the conversion work buffer if
11540 DST_OBJECT is a buffer.
11541
115422008-02-01 Dave Love <fx@gnu.org>
11543
11544 * lread.c (read_emacs_mule_char) [len==2]: Index
11545 emacs_mule_charset correctly.
11546
115472008-02-01 Dave Love <fx@gnu.org>
11548
11549 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
11550 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
11551 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
11552 treated specially.)
11553 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
11554 (detected_mask): Remove Big5 bits.
11555
115562008-02-01 Kenichi Handa <handa@m17n.org>
11557
11558 The following changes are to make the font rescaling facility
11559 compatible with Emacs 21.
11560
11561 * xfaces.c (Vface_font_rescale_alist): Rename from
11562 Vface_resizing_fonts.
11563 (struct font_name): Rename member resizing_ratio to rescale_ratio.
11564 (font_rescale_ratio): Rename from font_resizing_ratio.
11565 (split_font_name): Set font->rescale_ratio.
11566 (better_font_p): Pay attention to font->rescale_ratio.
11567 (build_scalable_font_name): Likewise. Change RESX, and RESY
11568 fields.
11569 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
11570
115712008-02-01 Kenichi Handa <handa@m17n.org>
11572
11573 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
11574 (Qutf_16_le): Remove these variables.
11575 (syms_of_coding): Don't DEFSYM them.
11576 (decode_coding_utf_16): Fix handling of BOM.
11577 (encode_coding_utf_16): Fix handling of BOM.
11578
115792008-02-01 Kenichi Handa <handa@m17n.org>
11580
11581 * fileio.c (Finsert_file_contents): On replacing, before decoding
11582 the file into the work buffer, set point of the work buffer to the end.
11583
115842008-02-01 Dave Love <fx@gnu.org>
11585
11586 * coding.c (Fcheck_coding_systems_region): Fix type errors.
11587
115882008-02-01 Dave Love <fx@gnu.org>
11589
11590 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
11591 and fix C types.
11592
115932008-02-01 Kenichi Handa <handa@m17n.org>
11594
11595 * xdisp.c (SKIP_GLYPHS): New macro.
11596 (set_cursor_from_row): Pay attention to string display properties.
11597
11598 * category.c (copy_category_entry): Fix for the case that RANGE
11599 is an integer.
11600
11601 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
11602
11603 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
11604
116052008-02-01 Kenichi Handa <handa@m17n.org>
11606
11607 * charset.c (Fcharset_id_internal): New function.
11608 (syms_of_charset): Defsubr it.
11609
11610 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
11611 with the last arg charset_list acquired from coding.
11612 (Fdefine_coding_system_internal): For ccl-based coding system, fix
11613 the attribute coding_attr_ccl_valids.
11614
11615 * coding.h (enum define_coding_ccl_arg_index): Set the first
11616 member coding_arg_ccl_decoder to coding_arg_max.
11617
11618 * ccl.h (ccl_driver): Adjust prototype.
11619
11620 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
11621 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
60612c8f 11622 of DECODE_CHAR, ENCODE_CHAR, CHAR_CHARSET.
aac0c6e3
MR
11623 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
11624 last arg Qnil.
11625
116262008-02-01 Kenichi Handa <handa@m17n.org>
11627
11628 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
11629 call encode_char.
11630
11631 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
11632
116332008-02-01 Dave Love <fx@gnu.org>
11634
11635 * composite.c (syms_of_composite): Make composition_hash_table weak.
11636
116372008-02-01 Kenichi Handa <handa@m17n.org>
11638
11639 * dispextern.h (check_face_attributes, generate_ascii_font_name)
11640 (font_name_registry): Don't extern them.
11641 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
11642
11643 * fontset.h (Qfontset): Don't extern it.
11644 (new_fontset_from_font_name): Extern it.
11645
11646 * fontset.c: Give 8 extra slots to fontset objects.
11647 (Qfontset_info): New variable.
11648 (syms_of_fontset): Defsym it.
11649 (FONTSET_FALLBACK): New macro.
11650 (fontset_face): Try also the default fontset.
11651 (make_fontset): Realize a fallback fontset from the default fontset.
11652 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
11653 using split_font_name_into_vector and build_font_name_from_vector.
11654 (Fset_fontset_font): Access the elements of font_spec by enum
11655 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
11656 name by using split_font_name_into_vector.
11657 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
11658 generate a proper font name from the fontset name. Update
11659 Vfontset_alias_alist.
11660 (n_auto_fontsets): New variable.
11661 (new_fontset_from_font_name): New function.
11662 (Ffont_info): Store the information about fonts generated from the
11663 default fontset in the first extra slot of the returned char-table.
11664
11665 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
11666 (font_name_registry): Delete function.
11667 (split_font_name_into_vector): New function.
11668 (build_font_name_from_vector): New function.
11669 (font_list): The argument REGISTRY is now a list of registry names.
11670 (choose_face_font): If we are choosing an ASCII font, and ATTRS
11671 specifies an explicit font name, return the name as is. Make a
11672 list of registy names.
11673
11674 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
11675 of x_new_fontset.
11676 (Fx_create_frame): Don't call x_new_fontset here. Just use
11677 x_list_fonts to check the existence of fonts.
11678
11679 * xterm.h (x_new_fontset): Adjust prototype.
11680
11681 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
11682 string. Use new_fontset_from_font_name to create a fontset from a
11683 font name.
11684
116852008-02-01 Kenichi Handa <handa@m17n.org>
11686
11687 * syntax.c (Vfind_word_boundary_function_table): New name for
11688 Vnext_word_boundary_function_table.
11689 (find-word-boundary-function-table): New name for
11690 next-word-boundary-function-table.
11691
116922008-02-01 Dave Love <fx@gnu.org>
11693
11694 * Makefile.in: Fix some dependencies.
11695
11696 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
11697 set it to nil before returning.
11698
11699 * composite.c (update_compositions): Fix type error.
11700
11701 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
11702
117032008-02-01 Kenichi Handa <handa@m17n.org>
11704
11705 * xterm.c (x_new_font): Optimize for the case that the font is
11706 already set for the frame.
11707
117082008-02-01 Kenichi Handa <handa@m17n.org>
11709
11710 * chartab.c (char_table_ascii): Check if the char table contents
11711 is sub-char-table or not.
11712 (char_table_set, char_table_set_range): Fix argument to
11713 char_table_ascii.
11714
11715 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
11716 (detect_coding_utf_8, detect_coding_utf_16)
11717 (detect_coding_emacs_mule, detect_coding_iso_2022)
11718 (detect_coding_sjis, detect_coding_big5)
11719 (detect_coding_ccl, detect_coding_charset): Change argument MASK
11720 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
11721 sequence is valid in this coding system. Change callers.
11722 (MAX_ANNOTATION_LENGTH): New macro.
11723 (ADD_ANNOTATION_DATA): New macro.
11724 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
11725 ADD_ANNOTATION_DATA. Change the format of annotation data.
11726 (ADD_CHARSET_DATA): New macro.
11727 (emacs_mule_char): New argument ID. Change callers.
11728 (decode_coding_emacs_mule, decode_coding_iso_2022)
11729 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
11730 Produce charset annotation data in coding->charbuf.
11731 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
11732 to charset annotation data in coding->charbuf.
11733 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
11734 coding->common_flags if the coding system is iso-2022 based and
11735 uses designation.
11736 (produce_composition): Adjust for the new annotation data format.
11737 (produce_charset): New function.
11738 (produce_annotation): Handle charset annotation.
11739 (handle_composition_annotation, handle_charset_annotation): New
11740 functions.
11741 (consume_chars): Handle charset annotation. Utilize the above two
11742 functions.
11743 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
11744 buffer, get the deleted text as a string and set
11745 coding->src_object to that string.
11746 (detect_coding, detect_coding_system): Use the new struct
11747 coding_detection_info.
11748
11749 * coding.h (struct coding_detection_info): New structure.
11750 (struct coding_system): Adjust prototype of the member `detector'.
11751 (CODING_ANNOTATE_CHARSET_MASK): New macro.
11752
117532008-02-01 Kenichi Handa <handa@m17n.org>
11754
11755 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
11756
117572008-02-01 Dave Love <fx@gnu.org>
11758
11759 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
11760 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
11761 to new local and nullify apropos_accumulate before returning.
11762 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
11763
117642008-02-01 Kenichi Handa <handa@m17n.org>
11765
11766 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
11767 correctly.
e3eea1fc 11768
aac0c6e3
MR
117692008-02-01 Dave Love <fx@gnu.org>
11770
11771 * fns.c (Flanginfo): Call synchronize_system_time_locale.
11772
117732008-02-01 Kenichi Handa <handa@m17n.org>
11774
11775 The following changes are to make character composition happen
11776 automatically on displaying.
11777
11778 * Makefile.in (lisp, shortlisp): Add composite.elc.
11779
11780 * composite.h (Qauto_composed, Vauto_composition_function)
11781 (Qauto_composition_function): Extern them.
11782
11783 * composite.c (Vcomposition_function_table)
11784 (Qcomposition_function_table): Delete variables.
11785 (Qauto_composed, Vauto_composition_function)
11786 (Qauto_composition_function): New variables.
11787 (run_composition_function): Don't call
11788 compose-chars-after-function.
11789 (update_compositions): Clear `auto-composed' text property.
11790 (compose_chars_in_text): Delete this function.
11791 (syms_of_composite): Staticpro Qauto_composed and
11792 Qauto_composition_function. Declare Vauto_composition_function as
11793 a Lisp variable.
11794
11795 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
11796
11797 * xdisp.c (it_props): Add an entry for Qauto_composed.
11798 (handle_auto_composed_prop): New function.
11799
11800 * xselect.c (selection_data_to_lisp_data): Don't call
11801 compose_chars_in_text.
11802
118032008-02-01 Dave Love <fx@gnu.org>
11804
11805 * keyboard.c (read_char): Modify checking around use of
11806 Vkeyboard_translate_table.
11807
11808 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
11809 and fix C types.
11810
118112008-02-01 Kenichi Handa <handa@m17n.org>
11812
11813 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
11814 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
11815 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
11816 the case that the last byte is '\r' correctly.
11817 (decode_coding): Flush out the unprocessed data correctly.
11818 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
11819
118202008-02-01 Dave Love <fx@gnu.org>
11821
11822 * xterm.c (XTread_socket): Fix changes for defined keysyms.
11823 Add XK_ISO... case.
11824 (xaw_scroll_callback): Revert last change.
11825
118262008-02-01 Kenichi Handa <handa@m17n.org>
11827
11828 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
11829
118302008-02-01 Kenichi Handa <handa@m17n.org>
11831
11832 * xfaces.c (Vface_resizing_fonts): New variable.
11833 (struct font_name): New member `resizing_ratio'.
11834 (font_resizing_ratio): New function.
11835 (split_font_name): Set font->resizing_ratio.
11836 (better_font_p): Pay attention to font->resizing_ratio.
11837 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
11838 RESX, and RESY fields.
11839 (try_alternative_families): Try scalable fonts if
11840 Vscalable_fonts_allowed is not Qt.
11841 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
11842
118432008-02-01 Dave Love <fx@gnu.org>
11844
11845 * xterm.c (xaw_scroll_callback): Cast correctly.
11846
118472008-02-01 Dave Love <fx@gnu.org>
11848
11849 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
11850 (lispy_kana_keys): Comment out.
11851 (make_lispy_event) [XK_kana_A]: Comment out.
11852
11853 * xterm.c (xaw_scroll_callback): Cast call_data.
11854 (XTread_socket): Deal with ASCII keysyms.
11855 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
11856
118572008-02-01 Dave Love <fx@gnu.org>
11858
11859 * xterm.c (Vx_keysym_table): New.
11860 (syms_of_xterm): Initialize it.
11861 (XTread_socket): Use it.
11862 From head: Eliminate incorrect optimization that tried to avoid
11863 decoding the output of X*LookupString.
11864 (x_get_font_repertory): Delete charset declaration.
11865
118662008-02-01 Kenichi Handa <handa@m17n.org>
11867
11868 * coding.c (detect_coding_charset): If only ASCII bytes are found,
11869 return 0.
11870 (Fdefine_coding_system_internal): Setup
11871 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
11872
118732008-02-01 Dave Love <fx@gnu.org>
11874
11875 * coding.c (Fcheck_coding_system): Doc fix.
11876
11877 * editfns.c (Finsert_byte): Return a proper value.
11878
118792008-02-01 Kenichi Handa <handa@m17n.org>
11880
11881 * coding.c (decode_coding): Fix args to translate_chars. Pay
11882 attention to Vstandard_translation_table_for_decode.
11883 (encode_coding): Fix args to translate_chars. Pay attention to
11884 Vstandard_translation_table_for_encode.
11885
11886 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
11887 SINGLE_BYTE_CHAR_P.
11888
11889 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
11890 not by SINGLE_BYTE_CHAR_P.
11891
11892 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
11893 SINGLE_BYTE_CHAR_P.
11894
11895 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
11896 SINGLE_BYTE_CHAR_P.
11897
11898 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
11899 by SINGLE_BYTE_CHAR_P.
11900
11901 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
11902 SINGLE_BYTE_CHAR_P.
11903
119042008-02-01 Dave Love <fx@gnu.org>
11905
11906 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
11907
119082008-02-01 Dave Love <fx@gnu.org>
11909
11910 * fns.c (Flanginfo): Fix typo.
11911
11912 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
11913
119142008-02-01 Kenichi Handa <handa@m17n.org>
11915
11916 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
11917 (detect_coding_emacs_mule, detect_coding_iso_2022)
11918 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
11919 incomplete byte sequence. Don't update *mask when correctly detected.
11920 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
11921 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
11922 (detect_coding, detect_coding_system): Adjust for the changes above.
11923
119242008-02-01 Kenichi Handa <handa@m17n.org>
11925
11926 * character.c (char_string): Rename from
11927 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
11928 (string_char): Rename from string_char.
11929
11930 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
11931 if C is greater than MAX_3_BYTE_CHAR.
11932 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
11933 string_char instead of string_char_with_unification.
11934
119352008-02-01 Dave Love <fx@gnu.org>
11936
11937 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
11938
119392008-02-01 Kenichi Handa <handa@m17n.org>
11940
11941 * keymap.c (push_key_description): Pay attention to force_multibyte.
11942
11943 * regex.c (re_search_2): Fix for the case of unibyte buffer.
11944
119452008-02-01 Dave Love <fx@gnu.org>
11946
11947 * charset.c (define_charset_internal): Rename `supprementary'.
11948
11949 * Makefile.in (lisp, shortlisp): Remove latin-N.
11950
119512008-02-01 Dave Love <fx@gnu.org>
11952
11953 * xfns.c (x_window, x_window): Use use_xim.
11954
11955 * xterm.c (use_xim): Initialize.
11956 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
11957 (x_term_init): Maybe set use_xim.
11958
11959 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
11960
119612008-02-01 Kenichi Handa <handa@m17n.org>
11962
11963 * search.c (search_buffer): Fix case-fold-search of multibyte
11964 characters.
11965 (boyer_moore): Rename the last argument to char_high_bits.
11966
119672008-02-01 Kenichi Handa <handa@m17n.org>
11968
11969 * xdisp.c (display_string): Fix for the case of zero width glyph.
11970
11971 * xfns.c (x_set_font): Change the error message of the case that
11972 x_new_fontset returns Qt.
11973
11974 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
11975 (Finternal_set_lisp_face_attribute): Use signal_error for the
11976 error of invalid fontset.
11977
11978 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
11979 fontset, return Qt.
11980
119812008-02-01 Dave Love <fx@gnu.org>
11982
11983 * unexelf.c (unexec): Make .got handling not SGI-specific.
11984
11985 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
11986
11987 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
11988
11989 * keyboard.c (read_key_sequence): Fix type error.
11990
11991 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
11992 type error.
11993
11994 * fontset.c (fontset_add): Return Lisp_Object.
11995
119962008-02-01 Dave Love <fx@gnu.org>
11997
11998 * charset.h (charset_ordered_list_tick): Declare extern.
11999
120002008-02-01 Kenichi Handa <handa@m17n.org>
12001
12002 The following changes (and some of 2008-02-01 changes of mine) are
12003 for handling syntax, category, and case conversion for unibyte
12004 characters by converting them to multibyte on the fly. With these
12005 changes, we don't have to setup syntax and case tables for unibyte
12006 characters in each language environment.
12007
12008 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
12009 multibyte if necessary.
12010
12011 * bytecode.c (Fbyte_code): Likewise.
12012
12013 * character.h (LEADING_CODE_LATIN_1_MIN)
12014 (LEADING_CODE_LATIN_1_MAX): New macros.
12015 (unibyte_to_multibyte_table): Extern it.
12016 (unibyte_char_to_multibyte): New macro.
12017 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
12018 (CHAR_LEADING_CODE): New macro.
12019 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
12020
12021 * character.c (unibyte_to_multibyte_table): New variable.
12022 (unibyte_char_to_multibyte): Move to character.h and define as macro.
12023 (multibyte_char_to_unibyte): If C is an eight-bit character,
12024 convert it to the corresponding byte value.
12025
12026 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
12027 not 1, signals an error. Update the elements of
12028 unibyte_to_multibyte_table.
12029 (init_charset_once): Initialize unibyte_to_multibyte_table.
12030 (syms_of_charset): Define the charset `iso-8859-1'.
12031
12032 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
12033 as is without converting it to unibyte. In a unibyte buffer,
12034 convert C to multibyte before checking the syntax.
12035
12036 * lisp.h (unibyte_char_to_multibyte): Delete extern.
12037
12038 * minibuf.c (Fminibuffer_complete_word): Use the macro
12039 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
12040
12041 * regex.h (struct re_pattern_buffer): New member target_multibyte.
12042
12043 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
12044 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
12045 that is zero, convert an eight-bit char to multibyte.
12046 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
12047 non-emacs case.
12048 (PATFETCH): Convert an eight-bit char to multibyte.
12049 (HANDLE_UNIBYTE_RANGE): New macro.
12050 (regex_compile): Setup the compiled pattern for multibyte chars
12051 even if the given regex string is unibyte. Use PATFETCH_RAW
12052 instead of PATFETCH in many places. To handle `charset'
12053 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
12054 only for ASCII chars.
12055 (analyse_first) <exactn>: Simplify because the compiled pattern
12056 is multibyte.
12057 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
12058 <charset>: Use CHAR_LEADING_CODE to get leading codes.
12059 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
12060 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
12061 multibyte always 1.
12062 (re_search_2): In emacs, set the locale variable multibyte to 1,
12063 otherwise to 0. New local variable target_multibyte. Check it
12064 to decide the multibyteness of STR1 and STR2. If
12065 target_multibyte is zero, convert unibyte chars to multibyte
12066 before translating and checking fastmap.
12067 (TARGET_CHAR_AND_LENGTH): New macro.
12068 (re_match_2_internal): In emacs, set the locale variable multibyte
12069 to 1, otherwise to 0. New local variable target_multibyte. Check
12070 it to decide the multibyteness of STR1 and STR2. Use
12071 TARGET_CHAR_AND_LENGTH to fetch a character from D.
12072 <charset, charset_not>: If multibyte is nonzero, check fastmap
12073 only for ASCII chars. Call bcmp_translate with
12074 target_multibyte, not with multibyte.
12075 <begline>: Declare the local variable C as `unsigned'.
12076 (bcmp_translate): Change the last arg name to target_multibyte.
12077
12078 * search.c (compile_pattern_1): Don't adjust the multibyteness of
12079 the regexp pattern and the matching target. Set cp->buf.multibyte
12080 to the multibyteness of the regexp pattern. Set
12081 cp->but.target_multibyte to the multibyteness of the matching target.
12082 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
12083 FETCH_STRING_CHAR_ADVANCE.
12084 (Freplace_match): Convert unibyte chars to multibyte.
12085
12086 * syntax.c (char_quoted, back_comment, scan_words)
12087 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
12088 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
12089 unibyte chars to multibyte.
12090 (skip_chars): Delete the arg syntaxp, and move the code for
12091 handling syntaxes to skip_syntaxes. Change callers.
12092 Fix the case that the multibyteness of STRING and the current
12093 buffer doesn't match.
12094 (skip_syntaxes): New function.
12095 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
12096 SINGLE_BYTE_CHAR_P.
12097
120982008-02-01 Kenichi Handa <handa@m17n.org>
12099
12100 * xfaces.c (QCfontset): New variable.
12101 (LFACE_FONTSET): New macro.
12102 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
12103 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
12104 (Finternal_set_lisp_face_attribute)
12105 (Finternal_get_lisp_face_attribute): Handle QCfontset.
12106 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
12107 check also LFACE_FONTSET_INDEX.
12108 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
12109 attrs[LFACE_FONT_INDEX].
12110 (syms_of_xfaces): Intern and staticpro QCfontset.
12111
12112 * dispextern.h (enum lface_attribute_index): New member
12113 LFACE_FONTSET_INDEX.
12114
12115 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
12116
121172008-02-01 Kenichi Handa <handa@m17n.org>
12118
12119 * coding.c (coding_set_destination): Fix coding->destination for
12120 the case converting a region.
12121 (encode_coding_utf_8): Encode eight-bit chars as single byte.
12122 (encode_coding_object): Fix coding->dst_pos and
12123 coding->dst_pos_byte for the case converting a region.
12124
12125 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
12126
12127 * character.h (BYTE8_STRING): New macro.
12128
12129 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
12130
121312008-02-01 Kenichi Handa <handa@m17n.org>
12132
12133 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
12134 characters by octal form.
12135
12136 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
12137
12138 * buffer.h (_fetch_multibyte_char_len): Delete extern.
12139 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
12140 _fetch_multibyte_char_len.
12141 (FETCH_CHAR_AS_MULTIBYTE): New macro.
12142
12143 * casetab.c (set_canon, set_identity, shuffle): Simplify.
12144
12145 * casefiddle.c (casify_object): Simplify. Handle the case that
12146 the case conversion change the byte length.
12147 (casify_region): Likewise.
12148
12149 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
12150
12151 * character.c (_fetch_multibyte_char_len): Delete this variable.
12152 (syms_of_character): Setup Vprintable_chars.
12153
12154 * editfns.c (Fchar_equal): Fix for the unibyte case.
12155 (Finsert_byte): New function.
12156 (syms_of_editfns): Defsubr it.
12157
12158 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
12159 of direct code 0x3ffff.
12160
12161 * search.c (Freplace_match): Fix for the unibyte case.
12162
121632008-02-01 Kenichi Handa <handa@m17n.org>
12164
12165 * lread.c (safe_to_load_p): Fix the logic.
12166
12167 * syntax.c (scan_words): Don't treat characters belonging to
12168 different scripts as constituting a word.
12169
12170 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12171
12172 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
12173
12174 * emacs.c (main): In the case of --unibyte, instead of aborting on
12175 finding non-empty buffer, make it unibyte.
12176
121772008-02-01 Kenichi Handa <handa@m17n.org>
12178
12179 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
12180 to create a fontset.
12181
121822008-02-01 Dave Love <fx@gnu.org>
12183
12184 * character.c (Funibyte_char_to_multibyte): Doc fix.
12185
12186 * xfns.c [HAVE_STDLIB_H]: Fix last change.
12187
121882008-02-01 Kenichi Handa <handa@m17n.org>
12189
12190 * fontset.c (fontset_add): Make the type `int'.
12191 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
12192
12193 * character.c (unibyte_char_to_multibyte)
12194 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
12195 charset_unibyte, not charset_primary.
12196
12197 * charset.h (charset_unibyte): Extern it instead of charset_primary.
12198
12199 * charset.c (charset_unibyte): Rename from charset_primary.
12200 (Funibyte_charset): Rename from Fprimary_charset.
12201 (Fset_unibyte_charset): Rename from Fset_primary_charset.
12202 (syms_of_charset): Adjust for the above changes.
12203
12204 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
12205 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
12206 it->multibyte_p is zero.
12207
12208 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
12209 Delete extern.
12210
122112008-02-01 Kenichi Handa <handa@m17n.org>
12212
12213 * coding.c (Fdefine_coding_system_internal): Fix category setting
12214 for a coding system of type iso-2022.
12215
122162008-02-01 Kenichi Handa <handa@m17n.org>
12217
12218 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
12219
122202008-02-01 Kenichi Handa <handa@m17n.org>
12221
12222 * syntax.c (Vnext_word_boundary_function_table): New variable.
12223 (next-word-boundary-function-table): Declare it as a Lisp variable
12224 in syms_of_syntax.
12225 (scan_words): Call functions in Vnext_word_boundary_function_table
12226 if any.
12227
12228 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
12229
12230 * fontset.c (fs_load_font): If fontp->charset is not negative,
12231 return fontp without setting its members.
12232
122332008-02-01 Dave Love <fx@gnu.org>
12234
12235 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
12236
12237 * m/sparc.h (HAVE_ALLOCA): Delete.
12238
12239 * s/irix6-5.h: Don't include strings.h.
12240 (bcopy, bzero, bcmp): Don't undef.
12241
12242 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
12243
12244 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
12245 (TIOCSIGSEND): Don't test IRIX6.
12246 (bcopy, bzero, bcmp): Define conditionally.
12247
122482008-02-01 Kenichi Handa <handa@m17n.org>
12249
12250 * buffer.c (Qas, Qmake, Qto): New variables.
12251 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
12252 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
12253
12254 * callproc.c (Fcall_process): Don't call insert_1_both directly if
12255 we are inserting a process output into a multibyte buffer.
12256
12257 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
12258 multibyte_char_to_unibyte.
12259
12260 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
12261 by the primary charset, make it eight-bit char.
12262 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
12263
12264 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
12265 (charset_8_bit__control, charset_8_bit_graphic)
12266 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
12267 (define_charset_internal): New function.
12268 (syms_of_charset): Call define_charset_internal for pre-defined
12269 charsets.
12270
12271 * charset.h (charset_8_bit): Extern it.
12272
12273 * coding.c (make_conversion_work_buffer): Adjust for the change
12274 of Fset_buffer_multibyte.
12275 (encode_coding_raw_text): Increment p0 in the loop.
12276
12277 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
12278
12279 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
12280 for the change of Fset_buffer_multibyte.
12281
12282 * fns.c (Fstring_to_multibyte): New function.
12283 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
12284
122852008-02-01 Dave Love <fx@gnu.org>
12286
12287 * xfns.c (x_put_x_image): Declare args.
12288
12289 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
12290 (try_font_list): Declare an arg.
12291
12292 * xdisp.c (message2_nolog, set_message): Declare an arg.
12293
12294 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
12295
12296 * syntax.c (scan_sexps_forward): Declare an arg.
12297
12298 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
12299 Declare an arg.
12300
12301 * lisp.h (Fnew_fontset): Declare.
12302
12303 * keymap.c (push_key_description): Call CHARACTERP correctly.
12304
12305 * fontset.c (fontset_add): Declare args. Call make_number correctly.
12306 (face_for_char): Delete unused vars.
12307 (Fset_fontset_font): Doc fix. Delete unused vars.
12308
12309 * doc.c (Fsubstitute_command_keys): Delete unused vars.
12310
12311 * composite.c (update_compositions): Declare arg.
12312
12313 * cm.c (calccost, cmgoto): Declare args.
12314
12315 * charset.c: Remove `emacs' conditional. Doc fixes.
12316 (map_char_table_for_charset): Declare.
12317
12318 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
12319
12320 * ccl.c: Remove `emacs' conditional.
12321
123222008-02-01 Kenichi Handa <handa@m17n.org>
12323
12324 The following changes are to allow specifying multiple font
12325 patterns for a character range (specified by script or charset).
12326
12327 * Makefile.in (abbrev.o): Depend on syntax.h.
12328 (xfaces.o): Depend on charset.h.
12329
12330 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
12331 SINGLE_BYTE_CHAR_P.
12332
12333 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
12334
12335 * character.h (Vchar_script_table): Extern it.
12336
12337 * character.c (Vscript_alist): Delete.
12338 (Vchar_script_table, Qchar_script_table): New variable.
12339 (syms_of_character): Declare Vchar_script_table as a lisp variable
12340 and initialize it.
12341
12342 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
12343 have property char-table-extra-slots, make no extra slot.
12344
12345 * dispextern.h (struct face): Delete member `charset'.
12346 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
12347 SINGLE_BYTE_CHAR_P.
12348 (choose_face_font, lookup_non_ascii_face, font_name_registry):
12349 Add prototypes.
12350 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
12351 (generate_ascii_font_name): Rename from generate_ascii_font.
12352
12353 * fontset.h (get_font_repertory_func): New prototype.
12354 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
12355 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
12356
12357 * fontset.c (Qprepend, Qappend): New variables.
12358 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
12359 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
12360 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
12361 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
12362 (fontset_ref_and_range, fontset_add, reorder_font_vector)
12363 (load_font_get_repertory): New functions.
12364 (fontset_set): Delete.
12365 (fontset_face): New arg FACE. Return face ID, not face.
12366 Complete re-write to handle new fontset structure. Change caller.
12367 (free_face_fontset): Use ASET istead of AREF (X) = Y.
12368 (face_for_char): Don't call lookup_face.
12369 (make_fontset_for_ascii_face): New arg FACE.
12370 (fs_load_font): New arg CHARSET_ID. Don't check
12371 Vfont_encoding_alist here.
12372 (find_font_encoding): New function.
12373 (list_fontsets): Use STRINGP, not ! NILP.
12374 (accumulate_script_ranges): New function.
12375 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
12376 re-written to handle new fontset structure.
12377 (Ffontset_font): Return a copy of element.
12378 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
12379 docstring of font-encoding-alist.
12380
12381 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
12382 (Fset_fotset_font): Fix arguments to 5.
12383
12384 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
12385
12386 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
12387 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12388 (highlight_trailing_whitespace): Adjust for the change of
12389 lookup_named_face.
12390
12391 * xfaces.c: Include charset.h.
12392 (load_face_font): Delete argument C. Change caller.
12393 (generate_ascii_font_name): Rename from generate_ascii_font.
12394 (font_name_registry): New function.
12395 (cache_face): Store ascii faces before non-ascii faces in buckets.
12396 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
12397 Lookup only ascii faces.
12398 (lookup_non_ascii_face): New function.
12399 (lookup_named_face): Delete argument C. Change caller.
12400 (lookup_derived_face): Delete argument C. Change caller.
12401 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
12402 a string, just call font_list with it.
12403 (choose_face_font): Delete arguments FACE and C. New arg
12404 FONT_SPEC. Change caller.
12405 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
12406 Change caller.
12407 (realize_non_ascii_face): New function.
12408 (realize_x_face): Call load_face_font here.
12409 (realize_tty_face): Delete argument C. Change caller.
12410 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
12411 get a face ID.
12412 (dump_realized_face): Don't print charset of FACE.
12413
12414 * xfns.c (x_set_font): Always call x_new_fontset and
12415 store_frame_parameter.
12416 (Fx_create_frame): Call x_new_fontset, not x_new_font.
12417 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
12418
12419 * xterm.h (x_get_font_repertory): Extern it.
12420
12421 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
12422 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
12423 it->multibyte_p is zero.
12424 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12425 (x_new_fontset): If FONTSETNAME doesn't match any existing
12426 fontsets, create a new one.
12427 (x_get_font_repertory): New function.
12428
124292008-02-01 Kenichi Handa <handa@m17n.org>
12430
12431 * coding.c (Ffind_coding_systems_region_internal): Detect an
12432 ASCII only string correctly.
12433
12434 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
12435 version is 0.
12436
124372008-02-01 Kenichi Handa <handa@m17n.org>
12438
12439 * lread.c: Include "coding.h".
12440 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
12441 (load_each_byte, unread_char): New variables.
12442 (readchar_backlog): Delete.
12443 (readchar): Return a character unless load_each_byte is nonzero.
12444 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
12445 cons. If unread_char is not -1, simply return it.
12446 (unreadchar): Handle the case that readcharfun is
12447 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
12448 (read_multibyte): Delete.
12449 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
12450 (read_emacs_mule_char): New functions.
12451 (Fload): Even if the file doesn't have the extension ".elc", if
12452 safe_to_load_p returns a positive version number, assume that the
12453 file contains bytecompiled code. If the version is less than 22,
12454 load the file while decoding multibyte sequences by emacs-mule.
12455 (readevalloop): Don't use readchar_backlog.
12456 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
12457 (Fread_from_string): Pay attention to the case that STREAM is a cons.
12458 (read_escape): Delete the arg BYTEREP.
12459 (read1): Set load_each_byte to 1 temporarily while handling
12460 #@NUMBER. Don't call read_multibyte.
12461 (read_vector): Call Fread with a cons. If readcharfun is
12462 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
12463 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
12464 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
12465 and Qload_force_doc_strings.
12466
124672008-02-01 Kenichi Handa <handa@m17n.org>
12468
12469 * xdisp.c (face_before_or_after_it_pos): Call
12470 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
12471
124722008-02-01 Kenichi Handa <handa@m17n.org>
12473
12474 * character.h (TRAILING_CODE_P): New macro.
12475 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
12476 (string_char_with_unification): Fix prototype.
12477 (Vscript_alist): Extern it.
12478
12479 * character.c (Vscript_alist): New variable.
12480 (string_char_with_unification, str_as_unibyte)
12481 (string_escape_byte8): Add `const' to local variables.
12482 (syms_of_character): Declare script-alist as a Lisp variable.
12483
12484 * charset.h (Vcharset_ordered_list): Extern it.
12485 (charset_ordered_list_tick): Extern it.
12486 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
12487 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
12488 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
12489 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
12490 (Funify_charset): Adjust for the change of Funify_charset.
12491
12492 * charset.c (charset_ordered_list_tick): New variable.
12493 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
12494 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
12495 deunify intead of unify a charset.
12496 (string_xstring_p): Add `const' to local variables.
12497 (find_charsets_in_text): Add `const' to arguments and local variables.
12498 (encode_char): Adjust for the change of Funify_charset. Fix
12499 detecting of invalid code.
12500 (Fset_charset_priority): Increment charset_ordered_list_tick.
12501 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
12502 and TO_CODE.
12503
12504 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
12505 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
12506 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
12507 (decode_coding_ccl, consume_chars)
12508 (Ffind_coding_systems_region_internal)
12509 (Fcheck_coding_systems_region): Add `const' to local variables.
12510
12511 * print.c (print_object): Use octal form for printing the
12512 contents of a bool vector.
12513
125142008-02-01 Dave Love <fx@gnu.org>
12515
12516 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
12517 <version == 20>: Refuse to load.
12518
125192008-02-01 Dave Love <fx@gnu.org>
12520
12521 * fns.c: Move coding.h.
12522 (Qcodeset, Qdays, Qmonths): New.
12523 (concat): Use CHARACTERP instead of INTEGERP.
12524 (Flocale_codeset): Delete.
12525 (Flanginfo): New function.
12526 (syms_of_fns): Change accordingly.
12527
12528 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
12529
125302008-02-01 Dave Love <fx@gnu.org>
12531
12532 * casetab.c (init_casetab_once, init_casetab_once): Fix
12533 CHAR_TABLE_SET call.
12534
12535 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
12536
12537 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
12538
12539 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
12540 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
12541 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
12542
12543 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
12544
12545 * coding.c (ENCODE_DESIGNATION, decode_eol)
12546 (make_conversion_work_buffer, code_conversion_restore)
12547 (Fdefine_coding_system_internal): Convert Lisp types.
12548 (code_conversion_restore): Use EQ, not ==.
12549 (Fencode_coding_string): Fix code_convert_string call.
12550
12551 * coding.h (code_convert_region): Fix prototype.
12552
12553 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
12554
12555 * fontset.c (fontset_ref, fontset_set, fs_load_font)
12556 (Ffontset_info): Convert Lisp types.
12557
12558 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
12559
12560 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
12561
12562 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
12563
12564 * chartab.c: Include "...h", not <...h> in some cases.
12565
12566 * callproc.c (Fcall_process): Remove unused variables.
12567
125682008-02-01 Dave Love <fx@gnu.org>
12569
12570 * coding.c (Fset_coding_system_priority): Allow null arg list.
12571
125722008-02-01 Dave Love <fx@gnu.org>
12573
12574 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
12575 (Fself_insert_and_exit): Use CHARACTERP.
12576
12577 * callproc.c (Fcall_process): Remove unused vars.
12578
12579 * xterm.c (XTread_socket): Add extra dead keysyms.
12580
12581 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
12582
12583 * dispextern.h: Remove prototypes for redraw_frame,
12584 redraw_garbaged_frames.
12585
12586 * cmds.c (Fself_insert_command): Use CHARACTERP.
12587
12588 * chartab.c (make_sub_char_table): Remove unused var.
12589 (Fset_char_table_default, Fmap_char_table): Doc fix.
12590
12591 * keymap.c (access_keymap): Remove generic char code.
12592 (push_key_description): Use CHARACTERP.
12593
125942008-02-01 Dave Love <fx@gnu.org>
12595
12596 * charset.c: Doc fixes.
12597 (Funify_charset): Extra checking.
12598
125992008-02-01 Dave Love <fx@gnu.org>
12600
12601 * lread.c: Remove some unused variables.
12602 (safe_to_load_p): If safe, return the magic number version byte.
12603 (Fload): Maybe use load-with-code-conversion.
12604
126052008-02-01 Kenichi Handa <handa@m17n.org>
12606
12607 * category.c (Fmodify_category_entry): Don't modify the contents
12608 of category_set for characters out of the range. Avoid
12609 unnecessary modification.
12610
12611 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
12612 Vchar_unify_table. The default value of the table is now nil.
12613
12614 * character.c (syms_of_character): Setup Vchar_width_table for
12615 eight-bit-control and raw-byte chars.
12616
12617 * charset.h (enum define_charset_arg_index): Delete
12618 charset_arg_parents and add charset_arg_subset and
12619 charset_arg_superset.
12620 (enum charset_attr_index): Delete charset_parents and add
12621 charset_subset and charset_superset.
12622 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
12623 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
12624 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
12625 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
12626 (CHARSET_SUPERSET): New macros.
12627 (charset_work): Extern it.
12628 (ENCODE_CHAR): Use charset_work.
12629 (CHAR_CHARSET_P): Adjust for the change of encoder format.
12630 (map_charset_chars): Extern it.
12631
12632 * charset.c (load_charset_map): Set the default value of encoder
12633 and deunifier char-tables to nil.
12634 (map_charset_chars): Change argument. Change callers. Use
12635 map_char_table_for_charset instead of map_char_table.
12636 (Fmap_charset_chars): New optional args from_code and to_code.
12637 (Fdefine_charset_internal): Adjust for the change of
12638 `define-charset' (:parents -> :subset or :superset).
12639 (charset_work): New variable.
12640 (encode_char, syms_of_charset): Adjust for the change of
12641 Fdefine_charset_internal.
12642 (Ffind_charset_string): Setup the vector `charsets' correctly.
12643
12644 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
12645 the previous change.
12646 (char_table_ref_and_range): Adjust for the above change.
12647 (map_sub_char_table_for_charset): New function.
12648 (map_char_table_for_charset): New function.
12649
12650 * keymap.c (describe_vector): Handle a char-table directly here.
12651 (describe_char_table): Delete.
12652
12653 * lisp.h (map_charset_chars): Delete.
12654
126552008-02-01 Dave Love <fx@gnu.org>
12656
12657 * fns.c (count_combining): Comment out (unused).
12658 (Flocale_codeset): New.
12659 (syms_of_fns): Defsubr it.
12660
12661 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
12662 (size_t): Remove.
12663
126642008-02-01 Dave Love <fx@gnu.org>
12665
12666 * Makefile.in (chartab.o): Depend on charset.h.
12667
126682008-02-01 Kenichi Handa <handa@m17n.org>
12669
12670 * character.c (syms_of_character): Set the default value of
12671 Vprintable_chars to Qnil.
12672
126732008-02-01 Dave Love <fx@gnu.org>
12674
12675 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
12676
126772008-02-01 Kenichi Handa <handa@m17n.org>
12678
12679 * charset.c (load_charset_map): Handle the case that from < to
12680 correctly.
12681
12682 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
12683 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
12684 Pay attention to raw-8-bit chars.
12685
126862008-02-01 Kenichi Handa <handa@m17n.org>
12687
12688 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
12689 It is not bytecompiled now.
12690
12691 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
12692 (charset_jisx0208): New variables.
12693 (Fdefine_charset_internal): Setup them if appropriate.
12694 (init_charset_once): Initialize them to -1.
12695
12696 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
12697 (charset_jisx0208): Extern them.
12698
12699 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
12700 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
12701 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
12702 (setup_iso_safe_charsets): Fix arguments to Fassq.
12703 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
12704 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
12705 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
12706 (encode_coding_iso_2022): Change the 1st arg to
12707 ENCODE_ISO_CHARACTER to a variable.
12708
127092008-02-01 Kenichi Handa <handa@m17n.org>
12710
12711 * charset.h (enum define_charset_arg_index): New enums
12712 charset_arg_min_code and charset_arg_max_code.
12713 (struct charset): New member char_index_offset.
12714
12715 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
12716 Take charset->char_index_offset into account.
12717 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
12718 args[charset_arg_max_code]. Setup charset.char_index_offset.
12719 (syms_of_charset): Fix args to Fdefine_charset_internal.
12720
127212008-02-01 Dave Love <fx@gnu.org>
12722
12723 * coding.c (decode_coding_utf_8): Reject overlong sequences.
12724
127252008-02-01 Dave Love <fx@gnu.org>
12726
12727 * coding.c: Doc fixes.
12728 (Fcoding_system_aliases): Fix return value.
12729 (Qmac): Remove (duplicated) definition.
12730
127312008-02-01 Dave Love <fx@gnu.org>
12732
12733 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
12734 functions.
12735
12736 * character.c (Fstring): Doc fix.
12737
12738 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
12739
12740 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
12741 ids.
12742 (font-encoding-alist): Doc fix.
12743
127442008-02-01 Dave Love <fx@gnu.org>
12745
12746 * term.c (costs_set): Declare static, non-initialized for pcc.
12747 (encode_terminal_code): Remove unused var.
12748
12749 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
12750 for K&R.
12751
12752 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
12753
12754 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
12755 (suffixes): Move out of make_subsidiaries for K&R.
12756
12757 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
12758
12759 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
12760
127612008-02-01 Dave Love <fx@gnu.org>
12762
12763 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
12764
12765 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
12766
127672008-02-01 Yong Lu <lyongu@asia-infonet.com>
12768
12769 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
12770
12771 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
12772
127732008-02-01 Kenichi Handa <handa@m17n.org>
12774
12775 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
12776 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
12777
127782008-02-01 Kenichi Handa <handa@m17n.org>
12779
12780 * coding.c (decode_coding_charset): Adjust for the change of
12781 Fdefine_coding_system_internal.
12782 (Fdefine_coding_system_internal): For a coding system of
12783 `charset' type, store a list of charset IDs in
12784 `charset_attr_charset_valids' element of coding attributes.
12785
127862008-02-01 Kenichi Handa <handa@m17n.org>
12787
12788 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
12789 (emacs_mule_char): New arg src. Delete arg `composition'. Change
12790 caller. Handle 2-byte and 3-byte charsets correctly.
12791 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
12792 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
12793 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
12794 (DECODE_EMACS_MULE_21_COMPOSITION): Call
12795 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
12796 sequence.
12797 (decode_coding_emacs_mule): Handle composition correctly. Rewind
12798 `src' and `consumed_chars' correctly before calling emacs_mule_char.
12799 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
12800 and alt&rule composition.
12801 (decode_coding_iso_2022): Handle composition correctly.
12802 (init_coding_once): Setup emacs_mule_bytes for private charsets.
12803
12804 * charset.c (Fdefine_charset_internal): Fix bug for the case of
12805 re-defining a charset. If the charset has :emacs-mule-id, setup
12806 emacs_mule_bytes.
12807 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
12808
128092008-02-01 Kenichi Handa <handa@m17n.org>
12810
12811 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
12812 (encode_coding_big5, encode_coding_charset): If coding requires safe
12813 encoding, produce a character specified by
12814 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
12815
128162008-02-01 Dave Love <fx@gnu.org>
12817
12818 * xterm.c (XSetIMValues): Declare.
12819
12820 * process.c: Conditionally include sys/wait.h, pty.h.
12821
12822 * print.c (print_object): Fix print format for 64-bit systems.
12823
12824 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
12825
12826 * buffer.c (emacs_strerror): Declare.
12827
12828 * fontset.c (Fclear_face_cache): Declare.
12829 (accumulate_font_info): Comment-out (unused).
12830 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
12831 variables.
12832
12833 * character.h (string_escape_byte8): Declare.
12834
12835 * charset.c (load_charset_map, load_charset_map_from_file): Remove
12836 unused vars.
12837 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
12838 (Fmap_charset_chars): Doc fix.
12839
12840 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
12841 (Fset_coding_system_priority, Fset_coding_system_priority)
12842 (Fdefine_coding_system_internal): Doc fix.
12843
128442008-02-01 Dave Love <fx@gnu.org>
12845
12846 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
12847
128482008-02-01 Kenichi Handa <handa@m17n.org>
12849
12850 * character.c (string_escape_byte8): Make multibyte string with
12851 correct size.
12852
12853 * charset.c (Fmake_char): Delete unnecessary code.
12854
128552008-02-01 Kenichi Handa <handa@m17n.org>
12856
12857 * xfns.c (x_encode_text): Allocate coding.destination here, and
12858 call encode_coding_object with dst_object Qnil.
12859
12860 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
12861 multibyte form correctly.
12862
12863 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
12864 against Vfont_encoding_alist.
12865
12866 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
12867 handling of charset list.
12868 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
12869 (decode_coding_object): Move point to coding->dst_pos before
12870 calling post-read-conversion function.
12871 (encode_coding_object): Give correct arguments to
12872 pre-write-conversion. Ignore the return value of
12873 pre-write-conversion function. Pay attention to the case that
12874 pre-write-conversion changes the current buffer. If dst_object is
12875 Qt, even if coding->src_bytes is zero, allocate at least one byte
12876 to coding->destination.
12877
12878 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
12879
12880 * charset.c (Fmake_char): Make it more backward compatible.
12881 (Fmap_charset_chars): Fix docstring.
12882
128832008-02-01 Dave Love <fx@gnu.org>
12884
12885 * coding.c: Doc fixes.
12886 (Fdefine_coding_system_alias): Use names, not symbols, in
12887 coding-system-alist.
12888
128892008-02-01 Kenichi Handa <handa@m17n.org>
12890
12891 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
12892 of calling free_realized_face.
12893
128942008-02-01 Yong Lu <lyongu@asia-infonet.com>
12895
12896 * charset.c (read_hex): Don't treat SPC as a comment starter.
12897 (decode_char): If CODE_POINT_TO_INDEX returns -1, always return -1.
12898 (Fdecode_char): Fix typo.
12899
129002008-02-01 Kenichi Handa <handa@m17n.org>
12901
12902 * charset.h (struct charset): New member `code_space_mask'.
12903
12904 * coding.c (coding_set_source): Delete the local variable beg_byte.
12905 (encode_coding_charset, Fdefine_coding_system_internal):
12906 Delete the local variable charset.
12907 (Fdefine_coding_system_internal): Setup
12908 attrs[coding_attr_charset_valids] correctly.
12909
12910 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
12911 member to check if CODE is valid or not.
12912 (Fdefine_charset_internal): Initialize `code_space_mask' member.
12913 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
12914 is within the range of charset->min_code and carset->max_code.
12915
129162008-02-01 Dave Love <fx@gnu.org>
12917
12918 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
12919
12920 * dispextern.h (generate_ascii_font): Fix return type.
12921
12922 * xfaces.c (generate_ascii_font): Fix arg declaration.
12923
12924 * coding.c (coding_inherit_eol_type)
12925 (Fset_terminal_coding_system_internal)
12926 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
12927
129282008-02-01 Kenichi Handa <handa@m17n.org>
12929
12930 * coding.c (decode_coding_charset, encode_coding_charset): Handle
12931 multiple charsets correctly.
12932
129332008-02-01 Kenichi Handa <handa@m17n.org>
12934
12935 * search.c (boyer_moore): Fix handling of multibyte character
12936 translation.
12937
12938 * xdisp.c (display_mode_element): When the variable `elt' is
12939 changed, update `this' and `lisp_string'.
12940
129412008-02-01 Kenichi Handa <handa@m17n.org>
12942
12943 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
12944
12945 * callproc.c (Fcall_process): Be sure to give the current buffer
12946 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
12947
12948 * charset.c (struct charset_map_entries): New struct.
12949 (load_charset_map): Rename from parse_charset_map. New args
12950 entries and n_entries. Change caller.
12951 (load_charset_map_from_file): Rename from load_charset_map.
12952 Change caller. New arg control_flag. Call load_charset_map at
12953 the tail.
12954 (load_charset_map_from_vector): New function.
12955 (Fdefine_charset_internal): Setup charset.compact_codes_p.
12956 (encode_char): If the charset is compact, change a character index
12957 to a code point.
12958
12959 * coding.c (coding_alloc_by_making_gap): Check the case that the
12960 source and destination are the same correctly.
12961 (decode_coding_raw_text): Set coding->consumed_char and
12962 coding->consumed to 0.
12963 (produce_chars): If coding->chars_at_source is nonzero, update
12964 coding->consumed_char and coding->consumed before calling
12965 alloc_destination.
12966 (Fdefine_coding_system_alias): Register ALIAS in
12967 Vcoding_system_alist.
12968 (syms_of_coding): Define `no-conversion' coding system at the tail.
12969
12970 * fileio.c (Finsert_file_contents): Set coding_system instead of
12971 val. If the current buffer is multibyte, always call
12972 decode_coding_gap.
12973
12974 * xfaces.c (try_font_list): Give higher priority to fontset's
12975 family than face's family.
12976
129772008-02-01 Kenichi Handa <handa@m17n.org>
12978
12979 * callproc.c (Fcall_process): Be sure to give the current buffer
12980 to decode_coding_c_string.
12981
12982 * xfaces.c (try_font_list): Give a family specified in a fontset
12983 higher priority than a family specified in a face.
12984
129852008-02-01 Kenichi Handa <handa@m17n.org>
12986
12987 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
12988 Fix arguments to insert_from_buffer.
12989
12990 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
12991
129922008-02-01 Kenichi Handa <handa@m17n.org>
12993
12994 * coding.c (produce_chars): Set the variable `multibytep' correctly.
12995 (decode_coding_gap): Set coding->dst_multibyte correctly.
12996
129972008-02-01 Kenichi Handa <handa@m17n.org>
12998
12999 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
13000 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
13001 (encode_coding_utf_16): Substitute coding->default_char for
13002 non-Unicode characters.
13003 (decode_coding): Don't call record_insert here.
13004 (setup_coding_system): Initialize `surrogate' of
13005 coding->spec.utf_16 to 0.
13006 (EMIT_ONE_BYTE): Fix for multibyte case.
13007
13008 * insdel.c (insert_from_gap): Call record_insert.
13009
130102008-02-01 Kenichi Handa <handa@m17n.org>
13011
13012 * casefiddle.c (casify_region): Fix multibyte case.
13013
13014 * character.c (c_string_width): Add return type `int'.
13015 (char_string_with_unification): Delete arg ADVANCED.
13016
13017 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
13018 (CHAR_STRING): Adjust for the change of char_string_with_unification.
13019 (CHAR_STRING_ADVANCE): Make it do-while statement.
13020
13021 * chartab.c (sub_char_table_set_range): Optimize for the case
13022 DEPTH == 3. Add workaround code for a GCC optimization bug.
13023
13024 * charset.c (parse_charset_map): Remove an unused variable.
13025
13026 * coding.c: Delete unused variables.
13027
13028 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
13029 earlier. If inserted is zero and the coding system doesn't
13030 require flushing, don't call decode_coding_gap.
13031
13032 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
13033
130342008-02-01 Kenichi Handa <handa@m17n.org>
13035
13036 The following changes are for using Unicode as an internal
13037 character model, and use UTF-8 format for buffer/string
13038 representation.
13039
13040 * .gdbinit (xchartable): Adjust for the change of char table structure.
13041 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
13042
13043 * Makefile.in (obj): Add character.o and chartab.o.
13044 (lisp, shortlisp): Remove utf-8.elc.
13045 (*.o): For many files, change dependency on charset.h to
13046 character.h, and add dependency on character.h.
13047 (character.o, chartab.o): New targets.
13048
13049 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
13050 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
13051 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
13052 of "charset.h".
13053
13054 * dired.c, filelock.c: Include "character.h".
13055
13056 * alloc.c: Include "character.h" instead of "charset.h".
13057 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
13058 (syms_of_alloc): Remove defsubr for Smake_char_table.
13059
13060 * buffer.c: Include "character.h" instead of "charset.h", don't
13061 include "coding.h".
13062 (Fset_buffer_multibyte): Adjust for UTF-8.
13063
13064 * buffer.h: EXFUN Fbuffer_live_p.
13065
13066 * callproc.c: Include "character.h" instead of "charset.h".
13067 (Fcall_process): Big change for the new code-conversion APIs.
13068
13069 * casetab.c: Include "character.h" instead of "charset.h".
13070 (set_canon, set_identity, shuffle): Adjust for the new
13071 map_char_table spec.
13072 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
13073 accessing the char table structure.
13074
13075 * chartab.c: New file that implements char table.
13076
13077 * category.c: Include "character.h".
13078 (copy_category_entry): New function.
13079 (copy_category_table): Call map_char_table and copy_category_entry.
13080 (Fmake_category_table): Initialize all top-level slots.
13081 (char_category_set): New function.
13082 (modify_lower_category_set): Delete.
13083 (Fmodify_category_entry): Call char_table_ref_and_range.
13084
13085 * category.h (CATEGORY_SET): Just call char_category_set.
13086
13087 * ccl.c: Include "character.h".
13088 (Qccl, Qcclp): New variables.
13089 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
13090 it's less than 256.
13091 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
13092 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
13093 and DST type.
13094 (ccl_driver): Change types of argument, adjust code accordingly.
13095 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
13096 ccl_driver.
13097 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
13098
13099 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
13100 New members src_multibyte, dst_multibyte, consumed, and produced.
13101 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
13102 (CODING_SPEC_CCL_PROGRAM): New macro.
13103 (ccl_driver): Update prototype.
13104 (Qccl, Qcclp, Fccl_program_p): Extern them.
13105 (CHECK_CCL_PROGRAM): New macro.
13106
13107 * character.c, character.h, chartab.c: New files.
13108
13109 * charset.c: Mostly re-written. Move character and multibyte sequence
13110 handling codes to character.c.
13111
13112 * charset.h: Mostly re-written. Move character and multibyte sequence
13113 handling codes to character.h.
13114
13115 * coding.c, coding.h: Mostly re-written.
13116
13117 * composite.c: Include "character.h" instead of "charset.h".
13118 (CHAR_WIDTH): Move to character.h.
13119 (HASH_KEY, HASH_VALUE): Delete.
13120
13121 * composite.h (enum composition_method): Change order of enumeration
13122 symbols.
13123
13124 * data.c: Include "character.h" instead of "charset.h".
13125 (Faref): Call CHAR_TABLE_REF for a char table.
13126 (Faset): Call CHAR_TABLE_SET for a char table.
13127
13128 * dispextern.h (free_realized_face, check_face_attribytes)
13129 (generate_ascii_font): Extern them.
13130 (free_realized_multibyte_face): Delete extern.
13131
13132 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
13133 table structure.
13134
13135 * editfns.c: Include "character.h" instead of "charset.h".
13136 (Fchar_to_string): Always call CHAR_STRING.
13137
13138 * emacs.c (main): Call init_charset_once, init_charset,
13139 syms_of_chartab, and syms_of_character.
13140
13141 * fileio.c: Include "character.h" instead of "charset.h".
13142 (Finsert_file_contents): Big change for the new code-conversion API.
13143 (choose_write_coding_system, Fwrite_region): Likewise.
13144 (build_annotations_2): Delete.
13145 (e_write): Big change for the new code-conversion API.
13146
13147 * fns.c: Include "character.h" instead of "charset.h".
13148 (copy_sub_char_table): Move to chartab.c.
13149 (Fcopy_sequence): Call copy_char_table for a char table.
13150 (concat): Delete codes calling count_multibyte.
13151 (string_char_to_byte, string_byte_to_char): Adjust for the new
13152 multibyte form.
13153 (internal_equal): Adjust for the change of char table structure.
13154 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
13155 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
13156 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
13157 (char_table_translate, optimize_sub_char_table)
13158 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
13159 chartab.c.
13160 (char_table_ref_and_index): Delete.
13161 (HASH_KEY, HASH_VALUE): Move to lisp.h.
13162 (Fmd5): Call preferred_coding_system instead of accessing
13163 Vcoding_category_list. Adjust for the new code-conversion API.
13164 (syms_of_fns): Move defsubr for char table related functions to
13165 chartab.c.
13166
13167 * fontset.c: Mostly re-written.
13168
13169 * fontset.h (struct font_info): Change type of the member encoding_type.
13170 (enum FONT_SPEC_INDEX): New enum.
13171 (fontset_font_pattern, fs_load_font): Update prototype.
13172 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
13173
13174 * indent.c: Include "character.h" instead of "charset.h".
13175 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
13176
13177 * insdel.c: Include "character.h" instead of "charset.h".
13178 (copy_text): Don't refer to Vnonascii_translation_table.
13179 (insert_from_gap): New function.
13180
13181 * keyboard.c: Include "character.h" instead of "charset.h".
13182 (command_loop_1): Never call direct_output_forward_char before
13183 a non-ASCII character.
13184 (read_char): If Vkeyboard_translate_table is a char table, always
13185 translate a character.
13186
13187 * keymap.c: Include "character.h".
13188 (store_in_keymap): Handle the case that IDX is a cons.
13189 (Fdefine_key): Handle the case that KEY is a cons and the car part
13190 is also a cons (range).
13191 (push_key_description): Adjust for the new character code.
13192 (describe_vector): Call describe_char_table for a char table.
13193 (describe_char_table): New function.
13194
13195 * keymap.h (describe_char_table): Extern it.
13196
13197 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
13198 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
13199 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
13200 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
13201 Delete.
13202 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
13203 structure.
13204 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
13205 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
13206 (CHARTAB_SIZE_BITS_3): New macros.
13207 (chartab_size): Extern it.
13208 (struct Lisp_Char_Table): Re-design.
13209 (struct Lisp_Sub_Char_Table): New structure.
13210 (HASH_KEY, HASH_VALUE): Move from fns.c.
13211 (CHARACTERBITS): Define as 22.
13212 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
13213 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
13214 (GC_SUB_CHAR_TABLE_P): New macro.
13215 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
13216 (code_convert_string_norecord): Deleted extern.
13217 (init_character_once, syms_of_character, init_charset)
13218 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
13219
13220 * lread.c: Include "character.h".
13221 (read_multibyte): New arg NBYTES.
13222 (read_escape): Change the meaning of returned *BYTEREP.
13223 (to_multibyte): Delete.
13224 (read1): Adjust the handling of char table and string.
13225
13226 * print.c: Include "character.h" instead of "charset.h".
13227 (print_string): Convert 8-bit raw bytes to octal form by
13228 string_escape_byte8.
13229 (print_object): Adjust for the new multibyte form. Print 8-bit
13230 raw bytes always in octal form. Handle sub char table correctly.
13231
13232 * process.c: Include "character.h" instead of "charset.h".
13233 (read_process_output, send_process): Adjust for the new
13234 code-conversion API.
13235
13236 * puresize.h (BASE_PURESIZE): Increase.
13237
13238 * regex.c: Include "character.h" instead of "charset.h".
13239 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
13240 (regex_compile): Accept a range whose starting and ending
13241 character have different leading bytes.
13242 (analyse_first): Adjust for the above change.
13243
13244 * search.c: Include "character.h" instead of "charset.h".
13245 (search_buffer, boyer_moore): Adjust for the new multibyte form.
13246 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
13247
13248 * syntax.c: Include "character.h" instead of "charset.h".
13249 (syntax_parent_lookup): Delete.
13250 (Fmodify_syntax_entry): Accept a cons as CHAR.
13251 (skip_chars): Adjust for the new multibyte form.
13252 (init_syntax_once): Call char_table_set_range instead of directly
13253 accessing the structure of a char table.
13254
13255 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
13256 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
13257 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
13258 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
13259
13260 * term.c: Include "buffer.h" and "character.h".
13261 (encode_terminal_code, write_glyphs): Adjust for the new
13262 code-conversion API.
13263 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
13264
13265 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
13266
13267 * xdisp.c: Include "character.h".
13268 (get_next_display_element): Adjust for the new multibyte form.
13269 (disp_char_vector): Adjust for the new char table structure.
13270 (decode_mode_spec_coding): Adjust for the new structure of
13271 coding system.
13272 (decode_mode_spec): Adjust for the new code-conversion API.
13273
13274 * xfaces.c: Include "character.h" instead of "charset.h".
13275 (load_face_font): Adjust for the change of choose_face_font and
13276 FS_LOAD_FONT.
13277 (generate_ascii_font): New function.
13278 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
13279 (set_font_frame_param): Adjust for the change of choose_face_font.
13280 (free_realized_face): Make it public.
13281 (free_realized_faces_for_fontset): Rename from
13282 free_realized_multibyte_face. Free also faces realized for ASCII.
13283 (choose_face_font): Change arguments. Adjust for the change of
13284 fontset_font_pattern and FS_LOAD_FONT.
13285
13286 * xfns.c: Include "character.h".
13287 (x_encode_text): Adjust for the new code-conversion API.
13288
13289 * xselect.c: Don't include "charset.h".
13290 (selection_data_to_lisp_data): Adjust for the new code conversion API.
13291
13292 * xterm.c: Include "character.h".
13293 (x_encode_char): New argument CHARSET. Change caller.
13294 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
13295 Call ENCODE_CHAR instead of SPLIT_CHAR.
13296 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
13297 CHAR_WIDTH instead of CHARSET_WIDTH.
13298 (XTread_socket): Adjust for the new code-conversion API.
13299 (x_new_font): Adjust for the change of FS_LOAD_FONT.
13300 (x_load_font): Adjust for the change of struct font.
13301
133022008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
13303
13304 * xfaces.c (face_at_buffer_position): Remove unused vars.
13305
133062008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
13307
13308 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
13309 Fix overflow checking.
13310
133112008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
13312
13313 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
13314 Cancel previous change.
13315
133162008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
13317
13318 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
13319 ccl->eight_bit_control. Fix check for buffer overflow.
13320 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
13321 (ccl_driver): Initialize extra_bytes to 0.
13322
133232008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
13324
13325 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
13326 return it ORed with ctrl_modifier.
13327
133282008-01-29 Miles Bader <miles@gnu.org>
13329
13330 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
13331
133322008-01-28 Jason Rumney <jasonr@gnu.org>
13333
13334 * w32.c (stat): Don't double check for networked drive.
13335
133362008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
13337
13338 * window.c (run_window_configuration_change_hook): New function.
13339 Code extracted from set_window_buffer. Set the selected frame.
13340 (set_window_buffer): Use it.
13341 * window.h (run_window_configuration_change_hook): Declare.
13342 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
13343
13344 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
13345
133462008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
13347
13348 * Makefile.in: Remove references to unused macros.
13349
133502008-01-26 Eli Zaretskii <eliz@gnu.org>
13351
13352 * w32.c (g_b_init_get_sid_sub_authority)
13353 (g_b_init_get_sid_sub_authority_count): New static variables.
13354 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
13355 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
13356 (init_user_info): Use them to retrieve uid and gid.
13357 Use 500/513, the Windows defaults, as Administrator's uid/gid.
13358 (fstat): Use pw_uid and pw_gid from the_passwd structure for
13359 st_uid and st_gid of the file.
13360
133612008-01-26 Jason Rumney <jasonr@gnu.org>
13362
13363 * w32.c (logon_network_drive): New function.
13364 (stat): Use it.
13365
133662008-01-26 Chong Yidong <cyd@stupidchicken.com>
13367
13368 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
13369 invisible text covered with an ellipsis.
13370
133712008-01-25 Richard Stallman <rms@gnu.org>
13372
13373 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
13374 jump back to beginning. Move some other initializations after that.
13375 (Qwindow_text_change_functions, Vwindow_text_change_functions):
13376 New variables.
13377 (syms_of_xdisp): Init them.
13378
13379 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
13380
13381 * buffer.c (reset_buffer_local_variables):
13382 Implement `permanent-local-hook'.
13383 (Qpermanent_local_hook): New variable.
13384 (syms_of_buffer): Init and staticpro it.
13385
133862008-01-25 Michael Albinus <michael.albinus@gmx.de>
13387
13388 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
13389
133902008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
13391
13392 * fns.c (Fclrhash): Return TABLE.
13393
133942008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13395
13396 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
13397 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
13398 is set even without positional changes.
13399 (x_scroll_bar_clear): Set bar->redraw_needed_p.
13400
13401 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
13402
134032008-01-23 Jason Rumney <jasonr@gnu.org>
13404
13405 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
13406
13407 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
13408 the unicode range available in MULE by locale-coding-system.
13409 Improve dbcs lead byte detection. Set event timestamp and modifiers
13410 earlier.
13411
134122008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13413
13414 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
13415 [MAC_OSX] (init_mac_osx_environment): Initialize it.
13416 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
13417 when used on child processes.
13418
134192008-01-21 Michael Albinus <michael.albinus@gmx.de>
13420
13421 * dbusbind.c (Fdbus_method_return_internal): Rename from
13422 Fdbus_method_return.
13423 (Fdbus_unregister_object): Move to dbus.el.
13424 (Fdbus_call_method, Fdbus_method_return_internal)
13425 (Fdbus_send_signal): Improve debug messages.
13426
134272008-01-20 Martin Rudalics <rudalics@gmx.at>
13428
13429 * undo.c (undo_inhibit_record_point): New variable.
13430 (syms_of_undo): Initialize it.
13431 (record_point): Don't record point when undo_inhibit_record_point
13432 is set.
13433
134342008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
13435
13436 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
13437
13438 * xdisp.c (Qauto_hscroll_mode): New var.
13439 (syms_of_xdisp): Initialize it.
13440 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
13441 window's buffer.
13442 (hscroll_windows): Don't check automatic_hscrolling_p here.
13443
13444 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
13445 vscroll if we're setting window-buffer to the value it already has.
13446
134472008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
13448
13449 * m/intel386.h: Remove references to XENIX.
13450
134512008-01-17 Andreas Schwab <schwab@suse.de>
13452
13453 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
13454 instead of HAVE_X86_64_LIB64_DIR.
13455 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
13456
134572008-01-17 Glenn Morris <rgm@gnu.org>
13458
13459 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
13460 to HAVE_X86_64_LIB64_DIR.
13461
134622008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
13463
13464 * s/irix3-3.h:
13465 * s/irix4-0.h:
13466 * s/386-ix.h:
13467 * s/domain.h:
13468 * s/hpux9-x11r4.h:
13469 * s/hpux9shxr4.h: Remove files for systems no longer supported.
13470
13471 * sysdep.c: Remove code containing references to symbols defined
13472 by unsupported systems.
13473
134742008-01-16 Glenn Morris <rgm@gnu.org>
13475
13476 * coding.c (select-safe-coding-system-function): Doc fix.
13477
134782008-01-15 Glenn Morris <rgm@gnu.org>
13479
13480 * config.in: Revert 2008-01-13 change: this is a generated file.
13481
134822008-01-13 Tom Tromey <tromey@redhat.com>
13483
13484 * lisp.h: Fix typo.
13485
134862008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
13487
13488 * m/sequent-ptx.h:
13489 * m/sequent.h:
13490 * s/ptx.h:
13491 * s/ptx4-2.h:
13492 * s/ptx4.h: Remove files for systems no longer supported.
13493
13494 * callproc.c (Fcall_process): Fix previous change.
13495
134962008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
13497
13498 * unexsunos4.c: Remove file, system not supported anymore.
13499
13500 * m/mips.h:
13501 * m/intel386.h:
13502 * callproc.c:
13503 * config.in:
13504 * ecrt0.c:
13505 * emacs.c:
13506 * fileio.c:
13507 * frame.c:
13508 * getpagesize.h:
13509 * keyboard.c:
13510 * lread.c:
13511 * process.c:
13512 * puresize.h:
13513 * sysdep.c:
13514 * systty.h:
13515 * syswait.h:
13516 * unexec.c:
13517 * xdisp.c:
13518 * alloc.c: Remove code containing references to symbols defined by
13519 unsupported systems.
13520
135212008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
13522
13523 * coding.c (detect_coding_mask): Fix previous change.
13524
135252008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
13526
13527 * coding.c (detect_coding_iso2022): New arg
13528 latin_extra_code_state. Allow Latin extra codes only
13529 when *latin_extra_code_state is nonzero.
13530 (detect_coding_mask): If there is a NULL byte, detect the encoding
13531 as UTF-16 or binary. If Latin extra codes exist, detect the
13532 encoding as ISO-2022 only when there's no other proper encoding is
13533 found.
13534
135352008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13536
13537 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
13538 #ifdef MAC_OS.
13539
135402008-01-08 Richard Stallman <rms@gnu.org>
13541
13542 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
13543
135442008-01-06 Nick Roberts <nickrob@snap.net.nz>
13545
13546 * keyboard.c (parse_menu_item): Don't enclose key bindings on
13547 menu bar in parentheses.
13548
135492008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
13550
13551 * m/7300.h:
13552 * m/acorn.h:
13553 * m/alliant-2800.h:
13554 * m/alliant.h:
13555 * m/alliant1.h:
13556 * m/alliant4.h:
13557 * m/altos.h:
13558 * m/amdahl.h:
13559 * m/apollo.h:
13560 * m/att3b.h:
13561 * m/aviion-intel.h:
13562 * m/aviion.h:
13563 * m/celerity.h:
13564 * m/clipper.h:
13565 * m/cnvrgnt.h:
13566 * m/convex.h:
13567 * m/cydra5.h:
13568 * m/delta88k.h:
13569 * m/dpx2.h:
13570 * m/dual.h:
13571 * m/elxsi.h:
13572 * m/f301.h:
13573 * m/gould-np1.h:
13574 * m/gould.h:
13575 * m/i860.h:
13576 * m/ibmps2-aix.h:
13577 * m/ibmrt-aix.h:
13578 * m/ibmrt.h:
13579 * m/irist.h:
13580 * m/is386.h:
13581 * m/isi-ov.h:
13582 * m/mega68.h:
13583 * m/mg1.h:
13584 * m/news-r6.h:
13585 * m/news-risc.h:
13586 * m/news.h:
13587 * m/nh3000.h:
13588 * m/nh4000.h:
13589 * m/ns16000.h:
13590 * m/ns32000.h:
13591 * m/nu.h:
13592 * m/orion.h:
13593 * m/orion105.h:
13594 * m/paragon.h:
13595 * m/pfa50.h:
13596 * m/plexus.h:
13597 * m/pyramid.h:
13598 * m/pyrmips.h:
13599 * m/sh3el.h:
13600 * m/sps7.h:
13601 * m/sr2k.h:
13602 * m/stride.h:
13603 * m/sun1.h:
13604 * m/sun2.h:
13605 * m/sun3-68881.h:
13606 * m/sun3-fpa.h:
13607 * m/sun3-soft.h:
13608 * m/sun3.h:
13609 * m/sun386.h:
13610 * m/symmetry.h:
13611 * m/tad68k.h:
13612 * m/tahoe.h:
13613 * m/targon31.h:
13614 * m/tek4300.h:
13615 * m/tekxd88.h:
13616 * m/tower32.h:
13617 * m/tower32v3.h:
13618 * m/ustation.h:
13619 * m/wicat.h:
13620 * m/xps100.h:
13621 * s/cxux.h:
13622 * s/cxux7.h:
13623 * s/dgux.h:
13624 * s/dgux4.h:
13625 * s/dgux5-4-3.h:
13626 * s/dgux5-4r2.h:
13627 * s/esix.h:
13628 * s/esix5r4.h:
13629 * s/hiuxmpp.h:
13630 * s/hiuxwe2.h:
13631 * s/iris3-5.h:
13632 * s/iris3-6.h:
13633 * s/isc2-2.h:
13634 * s/isc3-0.h:
13635 * s/isc4-0.h:
13636 * s/isc4-1.h:
13637 * s/newsos5.h:
13638 * s/newsos6.h:
13639 * s/osf1.h:
13640 * s/osf5-0.h:
13641 * s/riscix1-1.h:
13642 * s/riscix12.h:
13643 * s/sco4.h:
13644 * s/sco5.h:
13645 * s/sunos4-0.h:
13646 * s/sunos4-1.h:
13647 * s/sunos413.h:
13648 * s/sunos4shr.h:
13649 * s/umax.h:
13650 * s/unipl5-2.h:
13651 * s/xenix.h:
13652 * cxux-crt0.s:
13653 * unexapollo.c:
13654 * unexconvex.c:
13655 * unexenix.c:
13656 * unexsni.c: Remove files for systems no longer supported.
13657
13658 * m/intel386.h: Remove references to unsupported systems.
13659
13660 * w32.c (get_emacs_configuration): Remove reference to i860.
13661
13662 * sysdep.c: Remove dead code.
13663
136642008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
13665
13666 * s/rtu.h:
13667 * m/masscomp.h: Remove files. Platform is obsolete.
13668
136692008-01-04 Michael Albinus <michael.albinus@gmx.de>
13670
13671 * dbusbind.c (Fdbus_method_return): New function.
13672 (xd_read_message): Add the serial number to the event.
13673 (Fdbus_register_method): Activate the function.
13674
136752008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
13676
13677 * keyboard.c (read_key_sequence): Fix typo.
13678
136792008-01-03 Michael Albinus <michael.albinus@gmx.de>
13680
13681 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
13682 (xd_signature, xd_append_arg): Handle element type detection for
13683 empty arrays.
13684 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
13685 SDATA () calls; this must be solved more general.
13686 (Fdbus_register_signal): Use SBYTES instead of strlen.
13687
136882008-01-03 Magnus Henoch <magnus@zemdatav>
13689
13690 * dbusbind.c (xd_append_arg): Use unsigned char instead of
13691 unsigned int for byte values (necessary for big-endian platform).
13692 (Fdbus_call_method): Handle the case of no returned arguments.
13693
136942007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
13695
13696 * dbusbind.c (xd_read_message): Use non-static input_event struct.
13697
136982007-12-31 Magnus Henoch <mange@freemail.hu>
13699
13700 * dbusbind.c (xd_signature): Signature of variant is just "v".
13701
137022007-12-30 Michael Albinus <michael.albinus@gmx.de>
13703
13704 * dbusbind.c: Fix several errors and compiler warnings.
13705 Reported by Tom Tromey <tromey@redhat.com>.
13706 (XD_ERROR, XD_DEBUG_MESSAGE)
13707 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
13708 (xd_append_arg): Part for basic D-Bus types rewritten.
13709 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
13710 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
13711 appropriate.
13712 (xd_read_message): Return Qnil. Don't signal an error; it is not
13713 useful during event reading.
13714 (Fdbus_register_signal): Signal an error if the check for
13715 FUNCTIONP fails.
13716 (Fdbus_register_method): New function. The implementation is not
13717 complete, the call of the function signals an error therefore.
13718 (Fdbus_unregister_object): New function, renamed from
13719 Fdbus_unregister_signal. The initial check signals an error, if
13720 the object is not well formed.
13721
137222007-12-30 Richard Stallman <rms@gnu.org>
13723
13724 * textprop.c (get_char_property_and_overlay):
13725 Signal error if POSITION is out of range in a buffer.
13726
137272007-12-29 Martin Rudalics <rudalics@gmx.at>
13728
13729 * w32fns.c (Fx_create_frame): Make copy of frame parameters
13730 because the original parameters are in pure storage now.
13731
137322007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13733
13734 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
13735
137362007-12-22 Eli Zaretskii <eliz@gnu.org>
13737
13738 * callint.c (syms_of_callint) <command-history>: Add reference to
13739 history-length in the doc string.
13740
137412007-12-17 Jason Rumney <jasonr@gnu.org>
13742
13743 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
13744 before passing as wParam.
13745
137462007-12-22 Michael Albinus <michael.albinus@gmx.de>
13747
13748 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
13749 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
13750 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
13751 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
13752 as number.
13753 (Fdbus_call_method): Fix docstring.
13754
137552007-12-21 Michael Albinus <michael.albinus@gmx.de>
13756
13757 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
13758 New macros.
13759 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
13760 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
13761 Simplify.
13762 (xd_signature): New function.
13763 (xd_append_arg): Compute also signatures. Major rewrite.
13764 (xd_retrieve_arg): Make debug messages friendly.
13765 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
13766 Check for signatures of arguments.
13767
137682007-12-19 Michael Albinus <michael.albinus@gmx.de>
13769
13770 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
13771 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
13772 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
13773 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
13774 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
13775 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
13776 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
13777 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
13778 (xd_retrieve_value): Remove. Functionality included in ...
13779 (xd_append_arg): New function.
13780 (Fdbus_call_method, Fdbus_send_signal): Apply it.
13781
137822007-12-16 Michael Albinus <michael.albinus@gmx.de>
13783
13784 * dbusbind.c (top): Include <stdio.h>.
13785 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
13786 dbus_message_new_method_call and dbus_message_new_signal.
13787 (Fdbus_register_signal): Rename unique_name to uname.
13788 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
13789 non-existing unique name. Fix typos in matching rule. Return an
13790 object which is useful in Fdbus_unregister_signal.
13791 (Fdbus_unregister_signal): Reimplementation, in order to remove
13792 only the corresponding entry.
13793 (Vdbus_registered_functions_table): Change the order of entries.
13794 Apply these changes in xd_read_message and Fdbus_register_signal.
13795
137962007-12-16 Andreas Schwab <schwab@suse.de>
13797
13798 * fileio.c (Finsert_file_contents): Fix overflow check to not
13799 depend on undefined integer overflow.
13800
138012007-12-14 Jason Rumney <jasonr@gnu.org>
13802
13803 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
13804 for characters above 127.
13805
138062007-12-13 Jason Rumney <jasonr@gnu.org>
13807
13808 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
13809 before dereferencing array.
13810 (lookup_vk_code): Remove zero comparison.
13811
138122007-12-14 Michael Albinus <michael.albinus@gmx.de>
13813
13814 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
13815 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
13816 Use `unsigned int' instead of `uint'.
13817 (xd_read_message, Fdbus_register_signal): Split expressions into
13818 multiple lines before operators "&&" and "||", according to the
13819 GNU Coding Standards.
13820
138212007-12-14 Eli Zaretskii <eliz@gnu.org>
13822
13823 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
13824
138252007-12-12 Juri Linkov <juri@jurta.org>
13826
13827 * buffer.c (Frename_buffer): In interactive spec replace
13828 `read-buffer' with `read-string' that uses `buffer-name-history'
13829 as history, and the current buffer's name as default.
13830
138312007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
13832
13833 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
13834 manipulating the backtrace manually.
13835 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
13836 (struct backtrace, backtrace_list): Remove.
13837 (command_loop_1): Remove dead var `no_direct'.
13838
13839 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
13840 preserve non-built-in buffer-local variables.
13841 (Fkill_all_local_variables): Don't re-create&re-set permanent
13842 buffer-local variables.
13843
138442007-12-09 Juri Linkov <juri@jurta.org>
13845
13846 * buffer.c (Frename_buffer): Change interactive spec from "s" to
13847 Lisp code that uses `read-buffer' with current buffer as default.
13848
138492007-12-08 Michael Albinus <michael.albinus@gmx.de>
13850
13851 * dbusbind.c (xd_read_message): Generate an event for every
13852 registered handler. There might be several handlers registered
13853 for the same signal.
13854 (Fdbus_register_signal): Don't overwrite a registration for the
13855 same signal. Add a new registration if handlers are different.
13856 (Vdbus_registered_functions_table): Rework doc string.
13857
138582007-12-07 Michael Albinus <michael.albinus@gmx.de>
13859
13860 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
13861 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
13862 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
13863 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
13864 Unify argument lists.
13865 (xd_read_message, Fdbus_register_signal): Reorder and extend event
13866 arguments and hash table keys. Use unique name for service.
13867 (Fdbus_unregister_signal): Remove checks.
13868 (Vdbus_registered_functions_table): Fix doc string.
13869
138702007-12-05 Magnus Henoch <mange@freemail.hu>
13871
13872 * process.c (make_process): Initialize pty_flag to 0.
13873
138742007-12-05 Jason Rumney <jasonr@gnu.org>
13875
13876 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
13877 specified XBMs.
13878
138792007-12-05 Richard Stallman <rms@gnu.org>
13880
13881 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
13882
138832007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13884
13885 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
13886 New variable.
13887 (mac_try_close_socket) [MAC_OSX]: New function.
13888 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
13889 Update cfsockets_for_select. Replace invalid CFRunLoop source.
13890
13891 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
13892 Use mac_try_close_socket.
13893
138942007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13895
13896 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
13897 reloc_base.
13898 (copy_dysymtab): Compute relocation base here.
13899 (rebase_reloc_address) [__ppc64__]: New function.
13900 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
13901 changed.
13902
139032007-12-05 Jason Rumney <jasonr@gnu.org>
13904
13905 * w32proc.c (sys_spawnve): Quote args with wildcards.
13906
139072007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13908
13909 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
13910 __objc_* sections.
13911 (unrelocate) [_LP64]: Set relocation base to address of data segment.
13912
139132007-12-05 Michael Albinus <michael.albinus@gmx.de>
13914
13915 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
13916 Move check for Vdbus_registered_functions_table to
13917 xd_read_queued_messages.
13918 (xd_read_queued_messages): Protect xd_read_message calls by
13919 internal_condition_case_1.
13920
139212007-12-04 Michael Albinus <michael.albinus@gmx.de>
13922
13923 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
13924 Qdbus_system_bus and Qdbus_session_bus, respectively.
13925 (Vdbus_intern_symbols): Remove.
13926 (Vdbus_registered_functions_table): New hash table.
13927 (XD_SYMBOL_INTERN_SYMBOL): Remove.
13928 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
13929 Rewrite in order to manage registered functions by hash table
13930 Vdbus_registered_functions_table.
13931
139322007-12-03 Jan Djärv <jan.h.d@swipnet.se>
13933
13934 * xterm.c: Update URL to Window Manager Specification in comment.
13935
139362007-12-02 Michael Albinus <michael.albinus@gmx.de>
13937
13938 * config.in (HAVE_DBUS): Add.
13939
13940 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
13941 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
13942 (obj): Add $(DBUS_OBJ).
13943 (LIBES): Add $(DBUS_LIBS).
13944 (dbusbind.o): New target.
13945
13946 * dbusbind.c: New file.
13947
13948 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
13949
13950 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
13951 (Qdbus_event): New Lisp symbol.
13952 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
13953 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
b97439ce 13954 (keys_of_keyboard): Define dbus-event.
aac0c6e3
MR
13955
13956 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
13957
139582007-12-01 Richard Stallman <rms@gnu.org>
13959
13960 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
13961
139622007-11-30 Jason Rumney <jasonr@gnu.org>
13963
13964 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
13965 (w32con_reset_terminal_modes): Clear screen buffer.
13966 (w32_face_attributes): Don't use color indexes that are out of range.
13967 Only reverse the default colors.
13968
13969 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
13970 WINDOWSNT.
13971
13972 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
13973
139742007-11-29 Jason Rumney <jasonr@gnu.org>
13975
13976 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
13977 (w32_face_attributes): Use Vtty_defined_color_alist to determine
13978 if the terminal colors are initialized.
13979 (unspecified_fg, unspecified_bg): Remove unused declarations.
13980
139812007-11-29 Andreas Schwab <schwab@suse.de>
13982
13983 * keyboard.c (apply_modifiers): Fix typo.
13984
139852007-11-29 Richard Stallman <rms@gnu.org>
13986
13987 * keymap.c (Fcurrent_local_map): Doc fix.
13988
139892007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
13990
13991 * s/gnu-kfreebsd.h: New file.
13992
139932007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
13994
13995 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
13996 Don't cast redundantly.
13997
13998 * keyboard.c (KEY_TO_CHAR): New macro.
13999 (parse_modifiers, apply_modifiers): Accept integer arguments.
14000 (read_key_sequence): Use them to unify the "shift->unshift" mapping
14001 for chars and symbol keys.
14002 After doing such remapping, apply function-key-map again.
14003
140042007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
14005
14006 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
14007 compiled anymore.
14008
140092007-11-26 Andreas Schwab <schwab@suse.de>
14010
14011 * process.c (list_processes_1): Fix indentation level of the
14012 command column.
14013
140142007-11-23 Andreas Schwab <schwab@suse.de>
14015
14016 * editfns.c (Fformat): Handle %c specially since it requires the
14017 argument to be of type int.
14018
140192007-11-23 Markus Triska <markus.triska@gmx.at>
14020
14021 * emacs.c (main): Call init_editfns before init_process, since
14022 init_process sets Vprocess_connection_type depending on OS release.
14023
140242007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
14025
14026 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
14027 (find_symbol_value): Use do_symval_forwarding.
14028
14029 * data.c (set_internal): Set the value in the `cons-cell' (for
14030 Buffer_Local_values) not only for frame-local variables.
14031
140322007-11-22 Andreas Schwab <schwab@suse.de>
14033
14034 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
14035 values to sprintf.
14036 * keymap.c (Fsingle_key_description): Likewise.
14037 * print.c (print_object): Likewise.
14038
140392007-11-22 Jan Djärv <jan.h.d@swipnet.se>
14040
14041 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
14042 file for image is nil.
14043
140442007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
14045
14046 * term.c: Include stdarg.h.
14047 (fatal): Implement using varargs.
14048 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
14049
140502007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
14051
14052 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
14053 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
14054 Update call to buffer_slot_type_mismatch.
14055 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
14056 (buffer_slot_type_mismatch): Update.
14057 * buffer.c (buffer_local_types): Remove.
14058 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
14059 (defvar_per_buffer): Set the type in the buffer_objfwd.
14060
140612007-11-21 Jason Rumney <jasonr@gnu.org>
14062
14063 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
14064 CreateFileMapping returns NULL on failure.
14065
140662007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
14067
14068 * search.c (Fset_match_data): Remove the `evaporate' feature.
14069 (unwind_set_match_data): Don't use the `evaporate' feature.
14070
140712007-11-21 Jason Rumney <jasonr@gnu.org>
14072
14073 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
14074
14075 * w32console.c (w32con_write_glyphs): Remove unused variables.
14076
140772007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
14078
14079 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
14080
14081 * s/darwin.h (MULTI_KBOARD): Remove.
14082
14083 * macfns.c (x_create_tip_frame, Fx_create_frame)
14084 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
14085
140862007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
14087
14088 * buffer.c (Fbuffer_local_value): Remove redundant test.
14089 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
14090 than in `current-buffer' to match the comment.
14091 Do the swap using swap_in_global_binding.
14092
14093 * data.c (store_symval_forwarding, set_internal):
14094 * eval.c (specbind): Remove dead code.
14095
14096 * coding.c (detect_coding, Fupdate_coding_systems_internal):
14097 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
14098 Since we do not want to see internal Lisp_*fwd objects here.
14099
141002007-11-18 Jan Djärv <jan.h.d@swipnet.se>
14101
14102 * sysdep.c (init_system_name): Use getaddrinfo if available.
14103
14104 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
14105 (x_scroll_bar_note_movement): start, end, with, height in struct
14106 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
14107
141082007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
14109
14110 * puresize.h (BASE_PURESIZE): Increase to 1190000.
14111
141122007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
14113
14114 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
14115 This undoes Richard's change of 14-Oct-2002.
14116
14117 * alloc.c (allocate_other_vector):
14118 * lisp.h (allocate_other_vector): Remove.
14119
14120 * window.c (struct save_window_data): Move non-lisp data to the end
14121 and make it `int' rather than Lisp_Object.
14122 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
14123 Done wrap/unwrap integer values.
14124 (Fset_window_configuration, compare_window_configurations):
14125 Update use of fields to their new types.
14126
14127 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
14128 Turn integer fields into `int'. Merge x_window_low and x_window_high.
14129 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
14130 (SET_SCROLL_BAR_X_WINDOW): Remove.
14131 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
14132 Access the new x_window field directly.
14133 * xterm.c (x_scroll_bar_create): Use a pseudovector.
14134 Don't wrap/unwrap integers into Lisp_Objects.
14135 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
14136 (x_scroll_bar_report_motion):
14137 Don't wrap/unwrap integers into Lisp_Objects.
14138 (x_term_init): Use SDATA.
14139 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
14140 (x_scroll_bar_set_handle, x_scroll_bar_remove)
14141 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
14142 (x_scroll_bar_report_motion, x_scroll_bar_clear):
14143 * xfns.c (x_set_background_color):
14144 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
14145 Access the new x_window field directly.
14146
14147 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
14148 (allocate_pseudovector): Make non-static.
14149
14150 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
14151 (allocate_pseudovector): Declare.
14152 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
14153
141542007-11-15 Andreas Schwab <schwab@suse.de>
14155
14156 * editfns.c (Fformat): Correctly format EMACS_INT values.
14157 Also take precision into account when formatting an integer.
14158
14159 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
14160
141612007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
14162
14163 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
14164 (syms_of_keyboard): Defsubr it.
14165
14166 * data.c (swap_in_global_binding): Fix longstanding bug where
14167 store_symval_forwarding was not called with the right second argument,
14168 thus causing objfwd-ing from being dropped.
14169
141702007-11-14 Juanma Barranquero <lekktu@gmail.com>
14171
14172 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
14173 (Fx_display_pixel_height, Fx_display_planes)
14174 (Fx_display_color_cells, Fx_server_max_request_size)
14175 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
14176 (Fx_display_visual_class, Fx_display_save_under):
14177 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
14178 (Fx_display_pixel_height, Fx_display_planes)
14179 (Fx_display_color_cells, Fx_server_max_request_size)
14180 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
14181 (Fx_display_mm_height, Fx_display_mm_width)
14182 (Fx_display_backing_store, Fx_display_visual_class)
14183 (Fw32_select_font, Fx_display_save_under):
14184 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
14185 (Fx_display_pixel_height, Fx_display_planes)
14186 (Fx_display_color_cells, Fx_server_max_request_size)
14187 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
14188 (Fx_display_save_under): Fix typos in docstrings.
14189
141902007-11-14 Juanma Barranquero <lekktu@gmail.com>
14191
14192 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
14193 corresponding to deleted entries; they are an implementation detail.
14194 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
14195 Remove variables.
14196 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
14197 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
14198 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
14199 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
14200 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
14201 (Fw32_define_rgb_color, Fw32_load_color_file)
14202 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
14203 Fix typos in docstrings.
14204 (Fx_server_version): Reflow docstring.
14205 (Fw32_shell_execute): Doc fixes.
14206
142072007-11-13 Juanma Barranquero <lekktu@gmail.com>
14208
14209 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
14210 if w32_parse_hot_key returned nil.
14211
142122007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
14213
14214 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
14215
142162007-11-09 Jason Rumney <jasonr@gnu.org>
d6c952f8 14217
aac0c6e3
MR
14218 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
14219
14220 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
14221
14222 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
14223 Remove W32_SCROLL_BAR_CLICK_EVENT.
14224
14225 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
14226 Add MULTIMEDIA_KEY_EVENT.
14227
14228 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
14229 (lispy_multimedia_keys) [WINDOWSNT]: New array.
14230 (make_lispy_event) [WINDOWSNT]: Use it to translate
14231 MULTIMEDIA_KEY_EVENT.
14232
14233 * w32term.h (WM_APPCOMMAND): Define if not already.
14234 (GET_APPCOMMAND_LPARAM): Likewise.
14235
14236 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
14237 WM_APPCOMMAND.
14238
14239 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
14240 (syms_of_w32fns): Export and initialize it.
14241 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
14242
142432007-11-09 Chong Yidong <cyd@stupidchicken.com>
14244
14245 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
14246 twice.
14247
14248 * xdisp.c (handle_face_prop): Fix last change.
14249
142502007-11-09 Richard Stallman <rms@gnu.org>
14251
14252 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
14253 not just for after-strings and before-strings.
14254 Call face_for_overlay_string and pass the overlay to it.
14255 (handle_display_prop): Determine whether property came from an overlay.
14256 Pass OVERLAY arg to handle_single_display_spec.
14257 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
14258 (load_overlay_strings): Fill in it->string_overlays.
14259 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
14260
14261 * xfaces.c (face_for_overlay_string): Function renamed from
14262 face_at_buffer_position_no_overlays, and add arg OVERLAY.
14263
14264 * dispextern.h (struct it): New elt string_overlays.
14265 New elt from_overlay, also in stack.
14266 Rearrange a few elements.
14267 (face_for_overlay_string): Decl renamed from
14268 face_at_buffer_position_no_overlays, and add argument.
14269
142702007-11-09 Richard Stallman <rms@gnu.org>
14271
14272 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
14273 to get the base face for an overlay string.
14274
14275 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
14276
14277 * xfaces.c (face_at_buffer_position_no_overlays): New function.
14278
14279 * xdisp.c (handle_stop): Move some code out of loop.
14280
142812007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14282
14283 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
14284 Fix conversion from Lisp object to ATSUFontID.
14285
142862007-11-09 Jason Rumney <jasonr@gnu.org>
14287
14288 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
14289
142902007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14291
14292 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
14293 Don't assume regions are aligned to page boundary.
14294 (print_load_command_name): Add LC_UUID if defined.
14295
142962007-11-09 Richard Stallman <rms@gnu.org>
14297
14298 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
14299
143002007-11-07 Jason Rumney <jasonr@gnu.org>
14301
14302 * s/windows95.h: Remove.
14303
143042007-11-06 Jan Djärv <jan.h.d@swipnet.se>
14305
14306 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
14307 abort with a message on unhandled store_type values.
14308
143092007-11-01 Jan Djärv <jan.h.d@swipnet.se>
14310
14311 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
14312 Remove HAVE_X11R5 and HAVE_X11R4.
14313
143142007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
14315
14316 * Makefile.in: Remove references to sunfns.c and sunfns.o.
14317
143182007-11-01 Johan Bockgård <bojohan@gnu.org>
14319
14320 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
14321 Don't set s->stippled_p here, since it has already been set by
14322 x_set_glyph_string_gc from x_draw_glyph_string.
14323
143242007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
14325
14326 * sunfns.c: Remove file.
14327
14328 * m/sun386.h:
14329 * m/sun2.h:
14330 * m/sparc.h: Remove Sun windows code.
14331
143322007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
14333
14334 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
14335 (init_keyboard): Set current_kboard's window-system to nil.
14336 (tty_read_avail_input): Typo.
14337 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
14338
143392007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
14340
14341 * s/usg5-4.h:
14342 * s/usg5-3.h:
14343 * s/ptx.h:
14344 * m/is386.h:
14345 * m/ibmps2-aix.h:
14346 * Makefile.in: Remove all mentions of X10.
14347
14348 * dispnew.c (syms_of_display): Don't mention version 10.
14349
143502007-10-28 Juanma Barranquero <lekktu@gmail.com>
14351
14352 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
14353 ($(BLD)/abbrev.$(O)): Remove.
14354
143552007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
14356
14357 Rewrite abbrev.c in Elisp.
14358 * image.c (Qcount): Don't declare as extern.
14359 (syms_of_image): Initialize and staticpro `Qcount'.
14360 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
14361 * emacs.c (main): Don't call syms_of_abbrev.
14362 * Makefile.in (obj): Remove abbrev.o.
14363 (abbrev.o): Remove.
14364 * abbrev.c: Remove.
14365
143662007-10-26 Martin Rudalics <rudalics@gmx.at>
14367
14368 * window.c (window_min_size_2): Don't count header-line.
14369
143702007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
14371
14372 * frame.h (struct frame): Move all bit fields after the first bit
14373 field to take advantage of the available space. Group all the
14374 chars together to reduce wasted space due to padding.
14375
143762007-10-26 Juanma Barranquero <lekktu@gmail.com>
14377
14378 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
14379
14380 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
14381 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
14382 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
14383 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
14384 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
14385 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
14386 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
14387 (last_marked, mark_object_loop_halt): Make static.
14388
14389 * frame.c (syms_of_frame) <delete-frame-functions>:
14390 Fix typo in docstring.
14391
143922007-10-25 Juanma Barranquero <lekktu@gmail.com>
14393
14394 * w32.c (init_environment): Fix tiny memory leak.
14395 (w32_get_resource): Remove unused variable `ok'.
14396
143972007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
14398
14399 Make `window-system' into a keyboard-local variable (rather than
14400 frame-local as done originally by multi-tty).
14401
14402 * keyboard.h (struct kboard): Add Vwindow_system.
14403 * keyboard.c (init_kboard): Set a default for Vwindow_system.
14404 (mark_kboards): Mark Vwindow_system.
14405
14406 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
14407 (init_display): Don't set the obsolete `window-system' frame-param.
14408
14409 * xterm.c (x_term_init):
14410 * w32term.c (w32_create_terminal):
14411 * term.c (init_tty): Set Vwindow_system.
14412 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
14413 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
14414
14415 * xfns.c (Fx_create_frame, x_create_tip_frame):
14416 * w32fns.c (Fx_create_frame, x_create_tip_frame):
14417 * macfns.c (Fx_create_frame):
14418 Don't set the obsolete `window-system' frame-param.
14419
14420 * frame.h (Qwindow_system): Remove.
14421 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
14422 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
14423
144242007-10-24 Richard Stallman <rms@gnu.org>
14425
14426 * frame.c (x_figure_window_size): For fullscreen case,
14427 set USPosition | PPosition without clobbering rest of window_prompting.
14428
14429 * keyboard.c (Fcurrent_idle_time): Doc fix.
14430
14431 * print.c (Fwith_output_to_temp_buffer): Doc fix.
14432
144332007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
14434
14435 * process.c (unwind_request_sigio): Only define if __ultrix__.
14436
14437 * callproc.c (child_setup): Remove spurious *.
14438
14439 * lisp.h (Fget_text_property): Declare.
14440 (have_menus_p): Declare it here rather than in sys-dep header files.
14441 * macterm.h (have_menus_p):
14442 * msdos.h (have_menus_p):
14443 * xterm.h (have_menus_p): Remove.
14444
14445 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
14446 (Fmake_variable_frame_local): Just check the variable's const-ness
14447 rather than checking nil or t.
14448
144492007-10-22 Jason Rumney <jasonr@gnu.org>
14450
14451 * w32fns.c: Include math.h.
14452 (w32_abort): Declaration moved to nt/config.nt.
14453
14454 * s/ms-w32.h (HAVE_STDLIB_H): Define.
14455 (abort): Redefinition moved to nt/config.nt.
14456
14457 * m/windowsnt.h: Remove.
14458
144592007-10-22 Juanma Barranquero <lekktu@gmail.com>
14460
14461 * emacs.c (Fdump_emacs): Fix typo in message.
14462 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
14463 <installation-directory>: Reflow docstring.
14464
144652007-10-22 Juri Linkov <juri@jurta.org>
14466
14467 * minibuf.c: Allow minibuffer default to be a list of default values.
14468 With empty input use the first element of this list as returned default.
14469 (string_to_object)
14470 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
14471 (read_minibuf): If defalt is cons, set histstring to its car.
14472 (Fread_string): If default_value is cons, set val to its car.
14473 (Fread_buffer): If def is cons, use its car.
14474 (Fcompleting_read): If defalt is cons, set val to its car.
14475
144762007-10-21 Michael Albinus <michael.albinus@gmx.de>
14477
14478 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
14479
144802007-10-20 Juanma Barranquero <lekktu@gmail.com>
14481
14482 * doc.c (Fdocumentation): Check for advice in all cases.
14483
144842007-10-19 Chong Yidong <cyd@stupidchicken.com>
14485
14486 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
14487
144882007-10-19 Richard Stallman <rms@gnu.org>
14489
14490 * doc.c (Fdocumentation): Check for and handle an advised function.
14491
144922007-10-19 Juanma Barranquero <lekktu@gmail.com>
14493
14494 * process.c (Fset_process_filter): Doc fix.
14495
144962007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
14497
14498 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
14499 which caused key-translation-map to applied repeatedly (thus breaking
14500 double-mode).
14501
145022007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
14503
14504 * xselect.c (x_own_selection, x_handle_selection_clear)
14505 (x_clear_frame_selections):
14506 * w32menu.c (list_of_panes, list_of_items):
14507 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
14508 * textprop.c (validate_plist, interval_has_all_properties)
14509 (interval_has_some_properties, interval_has_some_properties_list)
14510 (add_properties, text_property_list):
14511 * process.c (Fget_buffer_process, list_processes_1, status_notify):
14512 * minibuf.c (Fassoc_string):
14513 * macselect.c (x_own_selection, x_clear_frame_selections)
14514 (Fx_disown_selection_internal):
14515 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
14516 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
14517
145182007-10-17 Chong Yidong <cyd@stupidchicken.com>
14519
14520 * process.c: Link to libs for calling res_init() if available.
14521 (Fmake_network_process): Call res_init() before getaddrinfo or
14522 gethostbyname, if possible.
14523
145242007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
14525
14526 * lread.c (read1): Set pvectype for char_tables.
14527
14528 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
14529 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
14530 Add type checks.
14531 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
14532
14533 * alloc.c (free_misc): Use XMISCTYPE.
14534 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
14535
145362007-10-17 Glenn Morris <rgm@gnu.org>
14537
14538 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
14539 (syms_of_minibuf): Add Qcompletion_ignore_case.
14540 * dired.c (Qcompletion_ignore_case): Change to external.
14541 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
14542 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
14543 (Fread_file_name): Use it rather than intern'ing.
14544
14545 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
14546 (Fread_coding_system): Ignore case of user input.
14547
145482007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14549
14550 * xdisp.c (handle_display_prop): Ignore display specs after
14551 replacing one when string text is being replaced.
14552 (handle_single_display_spec): Pretend as if characters with display
14553 property haven't been consumed only when buffer text is being replaced.
14554
145552007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
14556
14557 * xfns.c (Fx_create_frame, Fx_display_list):
14558 * window.c (window_fixed_size_p, enlarge_window)
14559 (shrink_window_lowest_first):
14560 * macterm.c (init_font_name_table):
14561 * macfns.c (Fx_create_frame, Fx_display_list):
14562 * lread.c (close_load_descs):
14563 * keyboard.c (read_char_x_menu_prompt):
14564 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
14565 * coding.c (code_convert_region_unwind): Test the type of an object
14566 rather than just !NILP before extracting data from it.
14567
14568 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
14569
14570 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
14571 (XMISCANY): New macro.
14572 (XMISCTYPE): Use it.
14573 (struct Lisp_Misc_Any): New type.
14574 (union Lisp_Misc): Use it.
14575 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
14576 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
14577 (find_symbol_value, set_internal, default_value, Fset_default)
14578 (Fmake_variable_buffer_local, Fmake_local_variable)
14579 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
14580 (Flocal_variable_if_set_p, Fvariable_binding_locus):
14581 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
14582 * alloc.c (allocate_buffer): Set the size and tag.
14583 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
14584 Use XMISCANY.
14585 (die): Follow the GNU convention for error messages.
14586 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
14587 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
14588 tag any more.
14589 (set_buffer_internal_1):
14590 * frame.c (store_frame_param):
14591 * eval.c (specbind):
14592 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
14593
14594 * doc.c (Fsnarf_documentation): Simplify.
14595
145962007-10-14 Juanma Barranquero <lekktu@gmail.com>
14597
14598 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
14599 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
14600
146012007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
14602
14603 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
14604
146052007-10-14 Juanma Barranquero <lekktu@gmail.com>
14606
14607 * eval.c (do_autoload): Don't save autoloads.
14608
14609 * data.c (Ffset): Save autoload of the function being set.
14610
146112007-10-07 John Paul Wallington <jpw@pobox.com>
14612
14613 * xfns.c (x_create_tip_frame): Set the `display-type' frame
14614 parameter before setting up faces.
14615
146162007-10-13 Eli Zaretskii <eliz@gnu.org>
14617
14618 * ccl.c (Fregister_code_conversion_map):
14619 * keyboard.c (append_tool_bar_item): Reformat last change.
14620
14621 * lisp.h (eabs): Rename from `abs'. All callers changed.
14622
146232007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
14624
14625 * buffer.c (add_overlay_mod_hooklist):
14626 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
14627 * fontset.c (make_fontset):
14628 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
14629 (append_tool_bar_item):
14630 * macmenu.c (grow_menu_items):
14631 * w32menu.c (grow_menu_items):
14632 * xmenu.c (grow_menu_items): Use larger_vector.
14633
146342007-10-13 Eli Zaretskii <eliz@gnu.org>
14635
14636 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
14637 selected frame'' on MSDOS).
14638
146392007-10-12 Martin Rudalics <rudalics@gmx.at>
14640
14641 * frame.c (Qexplicit_name): New variable.
14642 (x_report_frame_params): Report it in parameter alist.
14643 (syms_of_frame): Intern and staticpro it.
14644
146452007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
14646
14647 * macfns.c (x_create_tip_frame): Set terminal for frame.
14648
146492007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
14650
14651 * frame.c (Qenvironment): Remove.
14652 (syms_of_frame) <Qenvironment>: Don't initialize.
14653 (Fdelete_frame): Don't treat the `environment' param specially.
14654 * frame.h (Qenvironment): Don't declare.
14655 * callproc.c (set_initial_environment): Don't set unused frame param.
14656
14657 * frame.c (Fframe_with_environment): Remove.
14658 (syms_of_frame) <Sframe_with_environment>: Don't declare.
14659
14660 * lisp.h (Fframe_with_environment): Don't declare.
14661
146622007-10-10 Juanma Barranquero <lekktu@gmail.com>
14663
14664 * indent.c (indent_tabs_mode, last_known_column)
14665 (last_known_column_modified): Make static.
14666 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
14667
146682007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
14669
14670 * puresize.h (BASE_PURESIZE): Increase to 1170000.
14671
146722007-10-09 Jason Rumney <jasonr@gnu.org>
14673
14674 * w32term.c (x_set_window_size): Disable code that attempts to tell
14675 Lisp code about a size change before it actually happens.
14676
146772007-10-09 Richard Stallman <rms@gnu.org>
14678
14679 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
14680 return HANDLED_RETURN.
14681
146822007-10-08 Martin Rudalics <rudalics@gmx.at>
14683
14684 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
14685 when there's an unread command event.
14686
14687 * frame.c (focus_follows_mouse): Move here from frame.el to allow
14688 window autoselection act appropriately when leaving selected frame.
14689 (syms_of_frame): Initialize focus_follows_mouse.
14690 * frame.h (focus_follows_mouse): Extern it.
14691 * macterm.c (XTread_socket): When focus_follows_mouse is nil
14692 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
14693 * msdos.c (dos_rawgetc): Likewise.
14694 * w32term.c (w32_read_socket): Likewise.
14695 * xterm.c (handle_one_xevent): Likewise.
14696 * xdisp.c (syms_of_xdisp): In doc-string of
14697 mouse-autoselect-window mention focus-follows-mouse.
14698
146992007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14700
14701 * macterm.c (mac_load_query_font): Fix missing return value.
14702 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
14703 Add BLOCK_INPUT.
14704
147052007-10-08 Richard Stallman <rms@gnu.org>
14706
14707 * xdisp.c (get_window_cursor_type): Implement documented behavior
14708 for cursor-in-non-selected-windows = t.
14709
147102007-10-08 Jason Rumney <jasonr@gnu.org>
14711
14712 * w32.c (w32_get_resource): Always close registry keys.
14713
147142007-10-08 Jason Rumney <jasonr@gnu.org>
14715
14716 * makefile.w32-in (LIBS): Add COMCTL32.
14717
14718 * w32fns.c (globals_of_w32fns): Init common controls.
14719
147202007-10-08 Richard Stallman <rms@gnu.org>
14721
14722 * image.c (our_memory_buffer): Rename from omfib_buffer.
14723
147242007-10-08 Richard Stallman <rms@gnu.org>
14725
14726 * buffer.c (Foverlays_at): Doc fix.
14727
147282007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
14729
14730 * fns.c (Fplist_put): Preserve uneven tail data.
14731
147322007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
14733
14734 * termhooks.h (enum event_kind): Remove trailing comma.
14735
14736 * frame.h (enum): Remove trailing comma.
14737
147382007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
14739
14740 * w32proc.c (delete_child): Don't terminate threads of zombies.
14741
147422007-10-08 Martin Rudalics <rudalics@gmx.at>
14743
14744 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
14745
14746 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
14747 last-repeatable-command.
14748 (init_kboard): Initialize Vlast_repeatable_command.
14749 (command_loop_1): Set it to real_this_command unless that was
14750 bound to an input event.
14751 (mark_kboards): Mark it.
14752
147532007-10-08 Richard Stallman <rms@gnu.org>
14754
14755 * eval.c (condition-case): Doc fix.
14756
147572007-10-08 Masatake YAMATO <jet@gyve.org>
14758
14759 * xfaces.c (tty_supports_face_attributes_p): Fix code
14760 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
14761 was copied and not edited.
14762
147632007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
14764
14765 Add new `input-decode-map' keymap and use it for terminal
14766 escape sequences.
14767 * keyboard.h (struct kboard): Add Vinput_decode_map.
14768 Remove Vlocal_key_translation_map.
14769 * keyboard.c (read_key_sequence): Add support for input-decode-map.
14770 (init_kboard): Init input-decode-map.
14771 Replace local-key-translation-map back with key-translation-map.
14772 (syms_of_keyboard): Declare input-decode-map.
14773 Remove local-key-translation-map. Update docstrings.
14774 (mark_kboards): Mark Vinput_decode_map.
14775 Don't mark Vlocal_key_translation_map.
14776 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
14777 Replace local-key-translation-map back with key-translation-map.
14778 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
14779 Bind in input-decode-map rather than function-key-map.
14780
14781 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
14782 This was made redundant by the previous introduction of XSETPVECTYPE.
14783
147842007-10-09 Richard Stallman <rms@gnu.org>
14785
14786 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
14787
147882007-09-29 Richard Stallman <rms@gnu.org>
14789
14790 * eval.c (internal_condition_case_2, internal_condition_case_1)
14791 (internal_condition_case): Reenable abort if x_catching_errors ()
14792 to see if that really happens and why.
14793
147942007-10-06 Andreas Schwab <schwab@suse.de>
14795
14796 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
14797
147982007-10-04 Juanma Barranquero <lekktu@gmail.com>
14799
14800 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
14801
148022007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
14803
14804 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
14805
148062007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
14807
14808 * window.h (struct window):
14809 * window.c (struct save_window_data, struct saved_window):
14810 * termhooks.h (struct terminal):
14811 * process.h (struct Lisp_Process):
14812 * frame.h (struct frame):
14813 * buffer.h (struct buffer):
14814 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
14815 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
14816 The size field of (pseudo)vectors is now unsigned.
14817 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
14818
14819 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
14820 Turn `count' into an integer.
14821
14822 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
14823 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
14824 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
14825 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
14826 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
14827
14828 * alloc.c (allocate_pseudovector): New fun.
14829 (ALLOCATE_PSEUDOVECTOR): New macro.
14830 (allocate_window, allocate_terminal, allocate_frame)
14831 (allocate_process): Use it.
14832 (mark_vectorlike): New function.
14833 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
14834 (mark_terminals): Use it.
14835 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
14836 (Fmake_byte_code): Use XSETPVECTYPE.
14837
14838 * frame.c (Fframe_parameters): Minor simplification.
14839
14840 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
14841
14842 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
14843
14844 * buffer.c (Fget_buffer_create, init_buffer_once):
14845 * lread.c (defsubr):
14846 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
14847
14848 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
14849 defined differently in the m/*.h files.
14850 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
14851 (XSETPVECTYPE): New macro.
14852 (XSETPSEUDOVECTOR): Use it.
14853
14854 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
14855 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
14856
14857 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
14858 * lread.c (defvar_per_buffer):
14859 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
14860
14861 * window.c (candidate_window_p): Only consider as visible frames that
14862 are on the same terminal.
14863
14864 * m/ibms390x.h (MARKBIT): Remove unused macro.
14865
148662007-10-01 Juanma Barranquero <lekktu@gmail.com>
14867
14868 * lread.c (Fload): Fix typo in docstring.
14869
148702007-10-01 Michaël Cadilhac <michael@cadilhac.name>
14871
14872 * floatfns.c (Fexpt): Manually check for overflows, so that a power
14873 of a non-zero value can't yield zero.
14874
148752007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
14876
14877 * term.c (term_clear_mouse_face, term_mouse_highlight)
14878 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
14879
14880 * print.c (safe_debug_print): Use XHASH.
14881
14882 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
14883 Lisp elements such as tags.
14884 (XHASH): New macro.
14885 (EQ): Use it.
14886 (SREF, SSET, STRING_COPYIN): Use SDATA.
14887 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
14888
14889 * alloc.c (mark_terminal): Remove left-over declaration.
14890 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
14891 (allocate_vectorlike): Remove type argument. Adjust callers.
14892 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
14893 Only handle the one remaining MEM_TYPE_VECTORLIKE.
14894
14895 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
14896 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
14897 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
14898 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
14899 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
14900 Use them.
14901
14902 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
14903 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
14904 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
14905
149062007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
14907
14908 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
14909 loaded by default.
14910
149112007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
14912
14913 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
14914 on this tty.
14915 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
14916
14917 * term.c (mouse_face_window): Rename from Qmouse_face_window.
14918 Update all users.
14919 (handle_one_term_event): Use Gpm_DrawPointer.
14920 (Fgpm_mouse_start): Rename from Fterm_open_connection.
14921 Signal errors instead of returning nil. Always return nil.
14922 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
14923 Make it a noop if gpm-mouse was not activated.
14924 (syms_of_term): Update names.
14925
149262007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
14927
14928 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
14929 (init_sys_modes): Check that gpm_tty is the current tty.
14930
14931 * alloc.c (allocate_terminal): Set the vector size to only count the
14932 lisp fields. Initialize those to nil.
14933 (mark_object): Don't treat terminals specially.
14934 (mark_terminal): Remove.
14935 (mark_terminals): Use mark_object instead.
14936
14937 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
14938 the GC to the beginning.
14939
14940 * indent.h:
14941 * indent.c: Use EMACS_INT for ints coming from Elisp data.
14942
14943 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
14944
149452007-09-25 Jason Rumney <jasonr@gnu.org>
14946
14947 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
14948
14949 * w32console.c (create_w32cons_output): Remove.
14950
14951 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
14952
14953 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
14954 (reset_sys_modes): Use reset_terminal_modes_hook.
14955
149562007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
14957
14958 * eval.c (do_autoload): Don't output any message.
14959
149602007-09-24 Juri Linkov <juri@jurta.org>
14961
14962 * emacs.c (standard_args): Change priority of "--no-splash"
14963 from 40 to 3. Add "--no-desktop" with the same priority.
14964
149652007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
14966
14967 * alloc.c (gc_sweep): Check cons cell mark bits word by word
14968 and optimize the case where they are all 1.
14969
149702007-09-23 Johannes Weiner <hannes@saeurebad.de>
14971
14972 * lisp.h (abs): Define if not defined.
14973 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
14974 Don't define `abs', since it's defined in lisp.h.
14975
149762007-09-22 Eli Zaretskii <eliz@gnu.org>
14977
14978 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
14979 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
14980 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
14981 (init_tty): Use DEV_TTY instead of "/dev/tty".
14982 [WINDOWSNT]: No need to protect from NAME arg being null.
14983
149842007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
14985
14986 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
14987 up the tty state.
14988
149892007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
14990
14991 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
14992 (gpm_tty): Change its type.
14993 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
14994 (gpm_tty): Change its type and initialize it.
14995 (Fterm_open_connection): Check the frame is indeed a tty.
14996 Use the new gpm_tty.
14997 (Fterm_close_connection): Use the new gpm_tty.
14998 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
14999 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
15000
150012007-09-21 Juanma Barranquero <lekktu@gmail.com>
15002
15003 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
15004 underline_color, to draw strike-through.
15005
150062007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
15007
15008 * lisp.h (allocate_terminal): Declare.
15009
15010 * window.c (candidate_window_p): Consider frames that are being placed
15011 by the user as somewhere between visible and iconified.
15012 (window_loop): Prefer windows on the current frame.
15013 (Fselect_window): Move the use of select-frame to the beginning so we
15014 can just delegate all the work (it'll call us back anyway).
15015
15016 * frame.c (Qdisplay_environment_variable):
15017 * frame.h (Qdisplay_environment_variable): Delete.
15018
15019 * .gdbinit (xbacktrace): Print the arg's address rather than the value
15020 of the first arg, since that value may be a union.
15021
15022 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
15023 parameter rather than Qdisplay_environment_variable. If all else
15024 fails, look for DISPLAY in initial-environment.
15025
150262007-09-21 Glenn Morris <rgm@gnu.org>
15027
15028 * Makefile.in (emacstool): Remove target.
15029 (lisp, shortlisp): Remove termdev.elc.
15030
150312007-09-21 Markus Triska <markus.triska@gmx.at>
15032
15033 * xterm.c (x_delete_display): Compile session management conditionally.
15034
150352007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
15036
15037 * callproc.c (getenv_internal_1): New function.
15038 (getenv_internal): Use it.
15039 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
15040
15041 * terminal.c (get_terminal): Don't accept ints to represent terminals.
15042 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
15043 (Fset_terminal_parameter): Work with dead terminals as well.
15044 (Fmodify_terminal_parameters): Remove.
15045
15046 * terminal.c (get_terminal): Handle terminals.
15047 Make sure the terminal returned is live.
15048 (create_terminal): Use allocate_terminal.
15049 (mark_terminals): Move to alloc.c.
15050 (delete_terminal): Use terminal->name as liveness status.
15051 NULL out fields after freeing their contents.
15052 Don't deallocate the object.
15053 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
15054 rather than an int.
15055 (Fterminal_live_p): Accept non-integer arguments.
15056 (Fterminal_list): Return terminal objects rather than an ints.
15057
15058 * alloc.c (enum mem_type): New member for `terminal' objects.
15059 (allocate_terminal): New function.
15060 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
15061 Handle terminals.
15062 (mark_terminal): New fun.
15063 (mark_terminals): Move from terminal.c.
15064
15065 * term.c (get_tty_terminal): Don't treat output_initial specially.
15066 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
15067 (delete_tty): Use terminal->name as liveness status.
15068
15069 * termhooks.h (struct terminal): Make it into a pseudovector.
15070 Remove `deleted' replaced by checking `name's nullness.
15071
15072 * print.c (print_object): Handle terminals.
15073
15074 * lisp.h (enum pvec_type): New `terminal' pseudovector.
15075 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
15076
15077 * frame.c (make_terminal_frame):
15078 * keyboard.c (tty_read_avail_input):
15079 * w32term.c (x_delete_terminal):
15080 * xfns.c (Fx_create_frame, x_create_tip_frame):
15081 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
15082
150832007-09-20 Glenn Morris <rgm@gnu.org>
15084
15085 * process.c (Fmake_network_process): Doc fix.
15086
150872007-09-19 Jason Rumney <jasonr@gnu.org>
15088
15089 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
15090
150912007-09-19 Michaël Cadilhac <michael@cadilhac.name>
15092
15093 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
15094 Fix a C warning regarding variable constness.
15095
15096 * xterm.c (handle_one_xevent): Fix a C warning.
15097
150982007-09-18 Jason Rumney <jasonr@gnu.org>
15099
15100 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
15101
151022007-09-17 Jan Djärv <jan.h.d@swipnet.se>
15103
15104 * gtkutil.c (gdpy_def): New variable.
15105 (xg_initialize): Initialize gdpy_def.
15106 (xg_display_close): If no other display exists, set gdpy_def to a
15107 new connection.
15108
151092007-09-16 Jan Djärv <jan.h.d@swipnet.se>
15110
15111 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
15112 when we have no file name for the icon.
15113 (xg_tool_bar_expose_callback): Remove.
15114 (xg_create_tool_bar): Don't connect expose signal to
15115 xg_tool_bar_expose_callback.
15116 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
15117
151182007-09-16 Andreas Schwab <schwab@suse.de>
15119
15120 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
15121 values instead of zapping them.
15122
151232007-09-14 Glenn Morris <rgm@gnu.org>
15124
15125 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
15126 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
15127 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
15128 scope and rename to omfib_buffer for clarity.
15129 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
15130
151312007-09-14 Kenichi Handa <handa@m17n.org>
15132
15133 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
15134
151352007-09-13 Jason Rumney <jasonr@gnu.org>
15136
15137 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
15138
15139 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
15140
15141 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
15142 (mac_term_init): Call here instead, passing rif.
15143
151442007-09-13 Glenn Morris <rgm@gnu.org>
15145
15146 * s/hpux.h: No longer define `static' as nothing.
15147
151482007-09-13 Johan Bockgård <bojohan@gnu.org>
15149
15150 * callint.c (Fcall_interactively): Remove unused var `fun'.
15151
151522007-09-12 Romain Francoise <romain@orebokech.com>
15153
15154 * window.c (prefer_window_split_horizontally, display_buffer):
15155 Revert 2007-09-08 change.
15156
151572007-09-12 Glenn Morris <rgm@gnu.org>
15158
15159 * alloca.c: Remove file.
15160 * Makefile.in (alloca): Do not undef.
15161 (allocaobj, alloca.o): Remove.
15162 (otherobj): Remove allocaobj.
15163 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
15164 * regex.c (C_ALLOCA): Remove all references and code that was only
15165 used when this was defined.
15166 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
15167 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
15168 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
15169
15170 * Makefile.in (SOURCES, unlock, relock): Delete.
15171
15172 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
15173 (menu_grab_callback): All uses changed.
15174
15175 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
15176 (x_reply_selection_request): All uses changed.
15177
151782007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
15179
15180 * lread.c (load_warn_old_style_backquotes): Change message to look
15181 better when it appears in the middle of byte-compiler messages.
15182
151832007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
15184
15185 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
15186
15187 * xterm.c (x_create_terminal): Add comment.
15188
15189 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
15190
151912007-09-10 Richard Stallman <rms@gnu.org>
15192
15193 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
15194
151952007-09-10 Michaël Cadilhac <michael@cadilhac.name>
15196
15197 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
15198 (DEFUN): Document `intspec', use it instead of `prompt'.
15199
15200 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
15201
15202 * data.c (Finteractive_form): If the interactive specification starts
15203 with a `(', use it as a Lisp form.
15204
15205 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
15206 name and file modes.
15207
15208 * callint.c (Fcall_interactively): Comment fixes.
15209
152102007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
15211
15212 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
15213 and compiled functions.
15214
152152007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
15216
15217 * window.c (prefer_window_split_horizontally): New variable.
15218 (display_buffer): Consider splitting window horizontally depending
15219 on prefer_window_split_horizontally.
15220
152212007-09-08 Eli Zaretskii <eliz@gnu.org>
15222
15223 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
15224
152252007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
15226
15227 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
15228
15229 * frame.c (x_set_frame_parameters): Check number is positive before
15230 using XFASTINT.
15231
15232 * window.c (freeze_window_start): Don't presume selected_window holds
15233 a window object.
15234 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
15235
152362007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
15237
15238 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
15239
152402007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
15241
15242 * window.c (Vsplit_window_preferred_function): New var.
15243 (Fdisplay_buffer): Use it.
15244 (syms_of_window): Export, and initialize it.
15245
152462007-09-06 Pixel <pixel@mandriva.com> (tiny change)
15247
15248 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
15249
152502007-09-06 Glenn Morris <rgm@gnu.org>
15251
15252 * gtkutil.c (menu_grab_callback) <cnt>:
15253 * xselect.c (x_reply_selection_request) <cnt>: Move static
15254 variable to file scope.
15255
152562007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
15257
15258 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
15259 consistent values of selected_frame and selected_window.
15260
152612007-09-04 Jason Rumney <jasonr@gnu.org>
15262
15263 * w32console.c (initialize_w32_display): Zero unused hooks.
15264
152652007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
15266
15267 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
15268 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
15269
152702007-09-04 Jason Rumney <jasonr@gnu.org>
15271
15272 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
15273 in w32console.c. Set up input. Remove XXX comments that have been
15274 confirmed as correct.
15275
15276 * s/ms-w32.h (MULTI_KBOARD): Define.
15277
15278 * w32console.c (one_and_only_w32cons): Remove.
15279 (initialize_w32_display): Take terminal argument.
15280
15281 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
15282 initialize_w32_display.
15283 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
15284
15285 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
15286
15287 * keyboard.c (discard_mouse_events): Discard it.
15288 (make_lispy_event): Translate it to a lisp event.
15289 (lispy_wheel_names): Add wheel-left and right events.
15290 (syms_of_keyboard): Enlarge wheel_syms.
15291
15292 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
15293 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
15294
15295 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
15296
15297 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
15298 from WM_MOUSEHWHEEL.
15299 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
15300
15301 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
15302 terminal.
15303
15304 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
15305 keyboard for the terminal.
15306
153072007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
15308
15309 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
15310 (Vresume_tty_hook): Rename from Vresume_tty_functions.
15311 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
15312 and resume-tty-function to resume-tty-hook.
15313 (Fsuspend_tty, Fresume_tty): Use new names.
15314
153152007-09-02 Jan Djärv <jan.h.d@swipnet.se>
15316
15317 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
15318 if it starts with "n:".
15319
153202007-08-31 Jan Djärv <jan.h.d@swipnet.se>
15321
15322 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
15323
153242007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
15325
15326 * frame.h:
15327 * frame.c (Qterm_environment_variable): Remove.
15328 (syms_of_frame): Don't init and staticpro it.
15329
15330 * callproc.c (getenv_internal): Remove special case for $TERM.
15331
15332 * callproc.c (Vinitial_environment): New variable.
15333 (set_initial_environment): Initialize it.
15334 (syms_of_callproc): Declare it.
15335 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
15336 TERM under which a process runs is never related to the TERM in which
15337 Emacs is running.
15338
153392007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
15340
15341 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
15342 * s/darwin.h: ... do it here.
15343
153442007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
15345
15346 * lisp.h (set_initial_environment): Rename from set_global_environment.
15347
15348 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
15349 removed by mistake on the multi-tty branch.
15350
15351 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
15352 (Fmodify_frame_parameters): Return a value.
15353
15354 * image.c (png_load): Comment-out var only used in commented-out code.
15355
15356 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
15357 before passing it to mark_object.
15358
15359 * xfaces.c (internal_resolve_face_name): Return a value.
15360 (internal_resolve_face_name, resolve_face_name_error): Comment out.
15361
15362 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
15363 (x_icon): Comment-out var only used in commented-out code.
15364
153652007-08-29 Romain Francoise <romain@orebokech.com>
15366
15367 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
15368 QUIT hasn't been provided.
15369
153702007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
15371
15372 * callproc.c (child_setup, getenv_internal): Use the
15373 display-environment-variable and term-environment-variable frame params.
15374 (set_initial_environment): Initialise Vprocess_environment.
15375
15376 * config.in: Disable multi-keyboard support on a mac.
15377
15378 * frame.c (Qterm_environment_variable)
15379 (Qdisplay_environment_variable): New variables.
15380 (syms_of_frame): Intern and staticpro them.
15381 (Fmake_terminal_frame): Disable output method test.
15382
15383 * frame.h: Declare them here.
15384
15385 * macfns.c (x_set_mouse_color): Get rif from the frame.
15386 (x_set_tool_bar_lines): Don't use updating_frame.
15387 (mac_window): Add 2 new parameters for consistency with other systems.
15388 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
15389 frame parameters following what is done in X11 and w32. Don't use
15390 FRAME_MAC_DISPLAY_INFO.
15391 (Fx_open_connection, start_hourglass): Remove window-system check.
15392 (x_create_tip_frame): Get the keyboard from the terminal.
15393
15394 * macmenu.c: Reorder includes.
15395 (Fx_popup_menu): Use terminal specific mouse_position_hook.
15396
15397 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
15398 terminal parameter.
15399 (x_clear_frame): Add a frame parameter.
15400 (note_mouse_movement): Get rif from the frame.
15401 (mac_term_init): Initialize the terminal.
15402 (mac_initialize): Make static and move terminal initialization ...
15403 (mac_create_terminal): ... to this new function.
15404
15405 * macterm.h (struct mac_display_info): Add terminal.
15406 (mac_initialize): Delete declaration.
15407
15408 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
15409
15410 * sysdep.c: Comment out text after #endif.
15411
15412 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
15413 is defined. Better initialize ttys in windows. Use terminal
15414 specific mouse_position_hook.
15415
15416 * termhooks.h (union display_info): Add mac_display_info.
15417
15418 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
15419 Set the default minibuffer frame, window_system and the rest of the
15420 frame parameters following what is done in X11.
15421
15422 * w32term.c (w32_initialize): Make static.
15423
15424 * xselect.c (x_handle_selection_clear): Only access
15425 terminal->kboard when MULTI_KBOARD is defined.
15426
15427 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
15428 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
15429
154302007-08-29 Jason Rumney <jasonr@gnu.org>
15431
15432 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
15433 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
15434
15435 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
15436 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
15437
15438 * keyboard.c (restore_kboard_configuration): Only define when
15439 MULTI_KBOARD defined.
15440
15441 * makefile.w32-in: Update dependancies from Makefile.in.
15442 (OBJ1): Add terminal.$(O)
15443
15444 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
15445 Don't define function body.
15446 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
15447
15448 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
15449
15450 * w32.c (request_sigio, unrequest_sigio): Remove.
15451
15452 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
15453 (w32con_clear_frame, w32con_clear_end_of_line)
15454 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
15455 (w32con_delete_glyphs, w32con_set_terminal_window)
15456 (scroll_line, w32_sys_ring_bell): Add frame arg.
15457 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
15458 Add terminal arg.
15459 (PICK_FRAME): Remove.
15460 (w32con_write_glyphs): Use frame specific terminal coding.
15461 (one_and_only_w32cons): New global variable.
15462 (initialize_w32_display): Use it for storing hooks.
15463 (create_w32cons_output): New function.
15464
15465 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
15466 arg a frame.
15467
15468 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
15469 Set window_system.
15470 (x_set_tool_bar_lines): Don't use updating_frame.
15471 (Fx_create_frame): Set terminal and ref count.
15472 (Fx_open_connection): Remove window-system check.
15473
15474 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
15475
15476 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
15477 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
15478 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
15479 Add frame arg.
15480 (x_delete_terminal, w32_create_terminal): New functions.
15481 (w32_term_init): Create a terminal.
15482 (w32_initialize): Move terminal specific initialization to
15483 w32_create_terminal.
15484
15485 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
15486 (w32_clear_rect, w32_clear_area): Use background from frame.
15487 (w32_display_info): Add terminal.
15488 (w32_sys_ring_bell, x_delete_display): Declare here.
15489
15490 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
15491
15492 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
15493
154942007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
15495
15496 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
15497 Fix get_named_tty calls for the controlling tty.
15498
154992007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
15500
15501 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
15502
155032007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
15504
15505 * term.c (tty_insert_glyphs): Add missing first parameter.
15506
155072007-08-29 Károly Lőrentey <karoly@lorentey.hu>
15508
15509 * buffer.c (Fbuffer_list, Fbury_buffer):
15510 Take frame->buried_buffer_list into account.
15511
15512 * cm.c (current_tty): New variable, for cmputc().
15513 (cmputc): Use it.
15514 (cmcheckmagic): Add tty parameter, look up terminal streams there.
15515 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
15516 (cmgoto): Add tty parameter. Pass it on to calccost().
15517 Use emacs_tputs() instead of tputs().
15518
15519 * cm.h (emacs_tputs): New macro to set current_tty, and then call
15520 tputs().
15521 (current_tty): New variable, for cmputc().
15522 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
15523
15524 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
15525 (internal_condition_case, internal_condition_case_1)
15526 (internal_condition_case_2): Don't abort when x_catching_errors.
15527
15528 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
15529 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
15530 prevent crashes caused by bogus longjmps in read_char.
15531
15532 * keymap.h (Fset_keymap_parent): Add EXFUN.
15533
15534 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
15535 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
15536 Remove redundant definition.
15537
15538 * macfns.c (x_set_mouse_color, x_make_gc):
15539 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15540
15541 * w32term.c (x_free_frame_resources):
15542 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15543 (w32_initialize): Use the accessor macros for terminal characteristics.
15544
15545 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
15546 Use the accessor macros for terminal characteristics.
15547 * msdos.c (internal_terminal_init): Use the accessor macros for
15548 terminal characteristics.
15549 (ScreenVisualBell, internal_terminal_init):
15550 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15551
15552 * termopts.h (no_redraw_on_reenter): Declare.
15553
15554 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
15555 (mark_terminals, mark_ttys): Declare.
15556 (Fgarbage_collect): Call them.
15557 (mark_object): Mark buried_buffer_list.
15558
15559 * prefix-args.c: Include stdlib.h for exit.
15560
15561 * syssignal.h: Add comment.
15562
15563 * indent.c: Include stdio.h.
15564
15565 * window.h (Vinitial_window_system): Declare.
15566 (Vwindow_system): Delete declaration.
15567
15568 * fontset.c (Finternal_char_font): Use FRAME_RIF.
15569
15570 * image.c (lookup_image): Don't initialize `c' until the xasserts
15571 have been run.
15572
15573 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
15574 FRAME_FOREGROUND_PIXEL.
15575
15576 * print.c (print_preprocess): Don't lose print_depth levels while
15577 iterating.
15578
15579 * widget.c (update_from_various_frame_slots):
15580 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15581
15582 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
15583 frames.
15584 (window_internal_height): Remove bogus make_number call.
15585 (init_window_once): Call make_terminal_frame with two zero parameters.
15586
15587 * fileio.c (Fread_file_name): Update comment.
15588
15589 * callint.c (Fcall_interactively):
15590 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
15591 Make sure it is correctly unwound.
15592
15593 * xsmfns.c (x_session_close): New function.
15594
15595 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
15596 Delete declarations.
15597
15598 * xterm.h: Remove declaration for x_fully_uncatch_errors.
15599 (x_output): Remove background_pixel and foreground_pixel fields.
15600 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
15601 (x_delete_device, x_session_close): Declare.
15602
15603 * lread.c: Include setjmp.h. Update declaration of `read_char'.
15604 (read_filtered_event): Call `read_char' with a local
15605 `wrong_kboard_jmpbuf'.
15606
15607 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
15608 Don't call single_kboard_state. Use FRAME_RIF.
15609
15610 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
15611 systems.
15612
15613 * lisp.h (set_process_environment): Rename to `set_global_environment'.
15614 (Fframe_with_environment, Fset_input_meta_mode)
15615 (Fset_quit_char): EXFUN.
15616 (x_create_device, tty_output, terminal, tty_display_info): Declare.
15617 (init_sys_modes, reset_sys_modes): Update prototypes.
15618 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
15619
15620 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
15621 Vlocal_key_translation_map, and Vkeyboard_translate_table.
15622 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
15623 Delete declarations.
15624 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
15625 (temporarily_switch_to_single_kboard, tty_read_avail_input):
15626 New declarations.
15627
15628 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
15629 already does that during init_display(). Call syms_of_keymap
15630 before syms_of_keyboard. Call `syms_of_terminal'.
15631 Call set_initial_environment, not set_process_environment.
15632 (shut_down_emacs): Call reset_all_sys_modes() instead of
15633 reset_sys_modes().
15634
15635 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
15636 (internal_resolve_face_name, resolve_face_name_error): New functions.
15637 (resolve_face_name): Protect against loops and errors thrown by Fget.
15638 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
15639 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
15640
15641 * scroll.c: Replace CURTTY() with local variables throughout the
15642 file (where applicable).
15643 (calculate_scrolling, calculate_direct_scrolling)
15644 (scrolling_1, scroll_cost): Use the accessor macros for terminal
15645 characteristics.
15646
15647 * keymap.c (Vfunction_key_map): Remove.
15648 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
15649 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
15650 (Vkey_translation_map): Remove.
15651 (syms_of_keymap): Remove DEFVAR for key-translation-map.
15652 (Fdescribe_buffer_bindings)
15653 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
15654 Update for terminal-local key-translation-map.
15655
15656 * Makefile.in (callproc.o): Update dependencies.
15657 (lisp, shortlisp): Add termdev.elc.
15658 (obj): Add terminal.o.
15659 (terminal.o): Add dependencies.
15660 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
15661 (data.o, fns.o): Add termhooks.h dependency.
15662 (SOME_MACHINE_LISP): Add dnd.elc.
15663 (minibuf.o): Fix typo.
15664 Update dependencies.
15665
15666 * data.c (do_symval_forwarding, store_symval_forwarding)
15667 (find_symbol_value): Use the selected frame's keyboard, not
15668 current_kboard.
15669
15670 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
15671 Vwindow_system.
15672
15673 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
15674 Fmenu_bar_open.
15675 (syms_of_xmenu): Update defsubr.
15676 (mouse_position_for_popup, Fx_popup_menu)
15677 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
15678 (set_frame_menubar, free_frame_menubar)
b97439ce 15679 (create_and_show_popup_menu, xmenu_show)
aac0c6e3
MR
15680 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
15681 an X frame.
15682
15683 * xselect.c (x_own_selection): Abort if not an X frame.
15684 (some_frame_on_display): Check if it is an X frame.
15685 (x_handle_selection_clear): Deal with MULTI_KBOARD.
15686
15687 * coding.c: Include frame.h and termhooks.h.
15688 (terminal_coding, keyboard_coding): Delete.
15689 (Fset_terminal_coding_system_internal)
15690 (Fset_keyboard_coding_system_internal)
15691 (Fkeyboard_coding_system)
15692 (Fterminal_coding_system): Add a terminal parameter.
15693 Get terminal_coding from the terminal.
15694 (init_coding_once): Don't call setup_coding_system here.
15695
15696 * dispextern.h (set_scroll_region, turn_off_insert)
15697 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
15698 (tty_clear_end_of_line, tty_setup_colors)
15699 (delete_tty, updating_frame)
15700 (produce_special_glyphs, produce_glyphs, write_glyphs)
15701 (insert_glyphs): Remove.
15702 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
15703 (tty_turn_off_highlight, get_tty_size): Add declaration.
15704 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
15705
15706 * frame.h (enum output_method): Add output_initial.
15707 (struct x_output): Delete.
15708 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
15709 Access foreground_pixel and background_pixel directly from the frame.
15710 (tty_display): Delete.
15711 (struct frame): Add buried_buffer_list, foreground_pixel,
15712 background_pixel and terminal. Delete kboard.
15713 (union output_data): Add tty.
15714 (FRAME_KBOARD): Get the kboard from the terminal.
15715 (FRAME_INITIAL_P): New macro.
15716 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
15717 (Qterm_environment_variable, Qdisplay_environment_variable)
15718 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
15719 New declarations.
15720
15721 * termchar.h (tty_output, tty_display_info): New structures.
15722 (tty_list): Declare.
15723 (FRAME_TTY, CURTTY): New macros.
15724 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
15725 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
15726 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
15727 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
15728
15729 * callproc.c: Include frame.h and termhooks.h, for terminal
15730 parameters.
15731 (add_env): New function.
15732 (child_setup): Use it.
15733 (child_setup, getenv_internal): Handle the new Vprocess_environment.
15734 (getenv_internal): Fix get_terminal_param call.
15735 (Fgetenv_internal, egetenv): Update doc.
15736 (syms_of_callproc): Initialize Vprocess_environment to nil.
15737 Register and initialize them. Remove obsolete defvars. Update doc
15738 strings.
15739 (child_setup): Handle Vlocal_environment_variables.
15740 (getenv_internal): Add terminal parameter.
15741 Handle Vlocal_environment_variables.
15742 (Fgetenv_internal): Add terminal parameter.
15743 (child_setup, getenv_internal, Fgetenv_internal): Store the local
15744 environment in a frame (not terminal) parameter. Update doc strings.
15745 (set_initial_environment): Rename from set_global_environment.
15746 Store Emacs environment in initial frame parameter.
15747
15748 * xdisp.c (redisplay_internal): Update references to
15749 `previous_terminal_frame'.
15750 (display_mode_line, Fformat_mode_line): Replace calls to
15751 `push_frame_kboard' with `push_kboard'.
15752 (get_glyph_string_clip_rects): Add extra parentheses and
15753 braces to prevent compiler warnings.
15754 (calc_pixel_width_or_height): Add xassert to check that the
15755 frame is alive. Don't call `lookup_image' on a termcap frame.
15756 (message2_nolog, message3_nolog, redisplay_internal)
15757 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
15758 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
15759 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
15760 (Fx_display_pixel_width, Fx_display_pixel_height)
15761 (Fx_display_planes, Fx_display_color_cells)
15762 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
15763 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
15764 (Fx_display_backing_store, Fx_display_visual_class)
15765 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
15766 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
15767
15768 * xfns.c (x_set_foreground_color x_set_background_color)
15769 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
15770 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15771 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
15772 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
15773 terminal that is being deleted.
15774 (Fx_create_frame): Use `store_frame_param' to set `window-system'
15775 frame parameter, and make sure it overrides any user-supplied setting.
15776 (Fx_close_connection, Fx_synchronize): Unify argument names with
15777 the rest of the DEFUNs.
15778
15779 * dispnew.c (Fsend_string_to_terminal): Update call to
15780 `get_tty_terminal'.
15781 (Fredraw_frame, Fsend_string_to_terminal)
15782 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
15783 FRAME_TERMCAP_P and FRAME_TTY.
15784 (window_change_signal): Don't believe width/height values that are
15785 impossibly small.
15786 (Vinitial_window_system): Rename from Vwindow_system.
15787 (termscript, Wcm, rif): Delete.
15788
15789 * termhooks.h (struct terminal): New struct containing the
15790 previously global text display hooks and new members NAME,
15791 DELETED and PARAM_ALIST.
15792 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
15793 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
15794 (FRAME_RIF): New macros.
15795 (get_terminal_param, get_device): New declarations.
15796 (termscript): Delete declaration.
15797
15798 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
15799 (XTflash, x_free_frame_resources, x_scroll_bar_create)
15800 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
15801 FRAME_FOREGROUND_PIXEL.
15802 (x_fully_uncatch_errors): Disable definition.
15803 (x_scroll_bar_expose): Fix reference to foreground pixel.
15804 (XTread_socket): Disable loop on all X displays.
15805 (x_delete_terminal): Don't set terminal->deleted and let
15806 delete_terminal delete the frames on the terminal.
15807 (x_delete_display): Doc update to reflect changes in
15808 delete_terminal.
15809 (x_display_info) <terminal>: Move member earlier in the struct.
15810 (deleting_tty): Remove old variable.
15811 (Fsuspend_tty): Call clear_tty_hooks.
15812 (Fresume_tty, init_tty): Call set_tty_hooks.
15813 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
15814 errors on X frames.
15815 (x_catch_errors_unwind): Abort if x_error_message is NULL.
15816 (handle_one_xevent): Initialize `f' to NULL.
15817 (x_delete_terminal, x_create_terminal): New functions.
15818 (XTset_terminal_modes, XTreset_terminal_modes)
15819 (XTread_socket, x_connection_closed, x_term_init)
15820 (x_term_init, x_delete_display): Add terminal parameter.
15821 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
15822 X connections.
15823
15824 * frame.c: Include termchar.h.
15825 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
15826 (Qwindow_system, Qenvironment, Qterm_environment_variable)
15827 (Qdisplay_environment_variable): New vars.
15828 (Fframep): Deal with output_initial.
15829 (Fframe-live-p): Doc fix.
15830 (Fwindow-system): New function.
15831 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
15832 (make_terminal_frame): Don't create frames on a terminal that is
15833 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15834 (store_frame_param): Check for found_for_frame before calling XFRAME.
15835 (Fmake_terminal_frame): Handle NULL tty names correctly.
15836 (syms_of_frame): Enhance doc string of `default-frame-alist'.
15837 (Fdelete_frame): Remove unused variable `count'. Don't allow other
15838 frames to refer to a deleted frame in their 'environment parameter.
15839 (Fframe_with_environment): New function.
15840 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
15841 (get_future_frame_param): New function.
15842 (Fmake_terminal_frame): Use it.
15843 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
15844
15845 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
15846 * sysdep.c (reset_sys_modes): Update for renames.
15847
15848 * keyboard.c (tty_read_avail_input): New function.
15849 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
15850 (syms_of_keyboard): Defsubr them.
15851 (Fset_input_meta_mode, Fset_quit_char): New functions.
15852 (Fset_input_mode): Split to above functions.
15853 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
15854 parameter. Use it in call to `read_char'.
15855 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
15856 Set wrong_kboard_jmpbuf correctly in recursive calls.
15857 Use current_kboard to access Vkeyboard_translate_table.
15858 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
15859 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
15860 Update longjmp invocations. Remember the original current_kboard,
15861 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
15862 changes it. Comment out unnecessary calls to
15863 `record_single_kboard_state' and `any_kboard_state'.
15864 Update recursive calls.
15865 (wrong_kboard_jmpbuf): Remove global variable.
15866 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
15867 Handle deleted interrupted_kboards correctly; that is a legal
15868 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
15869 and read_char calls. Abort if interrupted_kboard died in read_char.
15870 (any_kboard_state, single_kboard_state)
15871 (push_frame_kboard): Remove function.
15872 (pop_kboard): Switch out of single_kboard mode if the kboard has
15873 been deleted. Remove unused variable. Help debugging by not
15874 changing current_kboard unnecessarily. Set current_kboard to the
15875 kboard of the selected frame when the stored kboard object has
15876 been deleted before pop_kboard.
15877 (temporarily_switch_to_single_kboard): Change first parameter to a
15878 frame pointer. Throw an error when caller wants to change kboards
15879 while in single_kboard mode. Don't push_kboard if we weren't in
15880 single kboard state. Don't pop_kboard if we popped into any
15881 kboard state.
15882 (restore_kboard_configuration): Abort if pop_kboard changed the
15883 kboard in single_kboard mode. Call pop_kboard only after setting
15884 up single_kboard mode.
15885 (Frecursive_edit): Switch to single_kboard mode only in nested
15886 command loops.
15887 (cmd_error, command_loop, command_loop_1, timer_check):
15888 Comment out unnecessary call to `any_kboard_state' and
15889 `record_single_kboard_state'.
15890 (delete_kboard): Exit single_kboard mode if we have just deleted
15891 that kboard. Use FRAME_KBOARD.
15892 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
15893 `fatal_error_signal'.
15894 (record_single_kboard_state): Don't push_kboard if we weren't in
15895 single kboard state. Don't pop_kboard if we popped into any
15896 kboard state.
15897 (push_frame_kboard): Rename to push_kboard.
15898 (kbd_buffer_get_event): Use FRAME_TERMINAL.
15899 (read_avail_input): Read input from all terminals.
15900 (mark_kboards): Also mark Vkeyboard_translate_table.
15901 (kbd_buffer_store_event_hold): Simplify condition.
15902 (read_key_sequence): Reinitialize fkey and keytran at each replay.
15903 (Vkeyboard_translate_table): Move to struct kboard.
15904 (init_kboard): Initialize Vkeyboard_translate_table.
15905 (syms_of_keyboard): Use DEFVAR_KBOARD to define
15906 Vkeyboard_translate_table. Update doc strings. Update docs of
15907 local-function-key-map and function-key-map.
15908
15909 * terminal.c: New file.
15910
15911 * term.c: Include errno.h.
15912 (Vring_bell_function, device_list, initial_device)
15913 (next_device_id, ring_bell, update_begin, update_end)
15914 (set_terminal_window, cursor_to, raw_cursor_to)
15915 (clear_to_end, clear_frame, clear_end_of_line)
15916 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
15917 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
15918 (syms_of_term): Move their initialization to terminal.c.
15919 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
15920 (Ftty_display_color_cells)
15921 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
15922 (clear_tty_hooks, set_tty_hooks)
15923 (init_tty, maybe_fatal): New functions.
15924 (Ftty_type): Return nil if terminal is not on a tty instead of
15925 throwing an error. Doc update.
15926 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
15927 Doc update. Initialize new subrs and variables.
15928 (delete_tty): Use terminal->deleted.
15929 (tty_set_terminal_modes): Rename from set_terminal_modes.
15930 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
15931 (set_scroll_region): Rename to `tty_set_scroll_region'.
15932 (turn_on_insert): Rename to `tty_turn_on_insert'.
15933 (turn_off_insert): Rename to `tty_turn_off_insert'.
15934 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
15935 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
15936 (toggle_highligh): Rename to `tty_toggle_highlight'.
15937 (background_highlight): Rename to `tty_background_highlight'.
15938 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
15939 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
15940 (tty_set_scroll_region, tty_background_highlight)
15941 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
15942 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
15943 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
15944 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
15945 Add static modifier.
15946 (tty_reset_terminal_modes, tty_set_terminal_window)
15947 (tty_set_scroll_region, tty_background_highlight)
15948 (tty_highlight_if_desired, tty_cursor_to)
15949 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
15950 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
15951 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
15952 renames.
15953
159542007-08-28 Jan Djärv <jan.h.d@swipnet.se>
15955
15956 * keyboard.c: Qrtl is new.
15957 (parse_tool_bar_item): Handle :rtl keyword.
15958 (syms_of_keyboard): Intern :rtl keyword.
15959
15960 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
15961
15962 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
15963 so no Lisp code is executed.
15964 (file_for_image, find_rtl_image): New functions.
15965 (xg_get_image_for_pixmap): Use file_for_image.
15966 (update_frame_tool_bar): If direction is RTL, use RTL image if
15967 defined. Use Gtk stock images if defined.
15968
159692007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15970
15971 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
15972 for nonexistent or zero-width glyph in composition glyph.
15973
159742007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
15975
15976 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
15977
15978 * xdisp.c (Finvisible_p): New function.
15979 (syms_of_xdisp): defsubr it.
15980
159812007-08-24 Juanma Barranquero <lekktu@gmail.com>
15982
15983 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
15984 Doc fixes.
15985
159862007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15987
15988 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
15989
159902007-08-24 Martin Rudalics <rudalics@gmx.at>
15991
15992 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
15993 whether decoding has modified buffer contents.
15994
159952007-08-24 Jason Rumney <jasonr@gnu.org>
15996
15997 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
15998 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
15999 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
16000 (init_svg_functions) [HAVE_NTGUI]: New function.
16001 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
16002 (svg_load_image): Use them.
16003 (svg_load_image) [HAVE_NTGUI]: Implement background.
16004
160052007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16006
16007 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
16008 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
16009 (LIBX): Remove @RSVG_LIBS@.
16010 (LIBES): Add $(RSVG_LIBS).
16011
16012 * image.c (svg_load_image): Blend with specified background if exists.
16013 Use IMAGE_BACKGROUND. Add Mac OS Support.
16014
16015 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
16016 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
16017 Remove macros.
16018 [MAC_OSX] (socket_callback): Do nothing.
16019 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
16020 ReceiveNextEvent.
16021 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
16022 socket_callback.
16023 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
16024
160252007-08-22 Glenn Morris <rgm@gnu.org>
16026
16027 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
16028
160292007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
16030
16031 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
16032
16033 * image.c: Add support for SVG images. Some additional comments
16034 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
16035 (svg_image_p): New function to test for SVG image.
16036 (svg_load): New function to load SVG image.
16037 (svg_load_image): New function, helper for svg_load.
16038 (Qsvg): New Lisp_object.
16039 (svg_keyword_index): New enum.
16040 (svg_format): New static `image_keyword' struct.
16041 (svg_type): New static `image_type' struct.
16042 (librsvg/rsvg.h): Include it.
16043
160442007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
16045
16046 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
16047
160482007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
16049
16050 * lread.c (Qold_style_backquotes): New var.
16051 (syms_of_lread): Init and staticpro it.
16052 (load_warn_old_style_backquotes): New fun.
16053 (Fload): Use them to warn about old style backquotes.
16054 (end_of_file_error, Fload): Remove unused vars.
16055
16056 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
16057
16058 * lread.c (Vold_style_backquotes): New var.
16059 (syms_of_lread): Init and export it to Elisp.
16060 (read1): Set it when we find an old-style (back)quote.
16061
160622007-08-22 Jason Rumney <jasonr@gnu.org>
16063
16064 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
16065
160662007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
16067
16068 * puresize.h (BASE_PURESIZE): Increase to 1140000.
16069
160702007-08-19 Richard Stallman <rms@gnu.org>
16071
16072 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
16073
160742007-08-19 Andreas Schwab <schwab@suse.de>
16075
16076 * alloc.c (pure): Round PURESIZE up.
16077
160782007-08-17 Jan Djärv <jan.h.d@swipnet.se>
16079
16080 * xterm.c (handle_one_xevent): Remove check that mouse click is in
16081 active frame.
16082
160832007-08-16 Richard Stallman <rms@gnu.org>
16084
16085 * eval.c (Fcommandp): Add parens to clarify.
16086
16087 * minibuf.c (Fall_completions): Use enum for type of table.
16088
16089 * emacs.c (USAGE2): Improve text.
16090
160912007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
16092
16093 * term.c (tty_default_color_capabilities): Declare static
16094 variables in file scope, to avoid HPUX compiler problem.
16095
160962007-08-13 Jan Djärv <jan.h.d@swipnet.se>
16097
16098 * gtkutil.c (update_frame_tool_bar): Use -1 as index
16099 to gtk_toolbar_insert.
16100
161012007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
16102
16103 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
16104
16105 * insdel.c (reset_var_on_error): New fun.
16106 (signal_before_change, signal_after_change):
16107 Use it to reset (after|before)-change-functions to nil in case of error.
16108 Bind inhibit-modification-hooks to t.
16109 Don't bind (after|before)-change-functions to nil while they run.
16110
161112007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16112
16113 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
16114 filling pixmap with stippled background.
16115
161162007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16117
16118 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
16119 Don't use invisible frame as parent window for repositioning.
16120
161212007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
16122
16123 * print.c (new_backquote_output): Rename from old_backquote_output.
16124 (print): Inverse its logic (according to its name) so as to match the
16125 behavior of new_backquote_flag in lread.c.
16126
161272007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16128
16129 * gmalloc.c (posix_memalign): New function.
16130
16131 * macterm.c (frame_highlight, frame_unhighlight): Don't call
16132 ActivateControl/DeactivateControl here.
16133 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
16134 frame-notice-user-settings is non-nil.
16135 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
16136 for kEventParamFMFontStyle.
16137 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
16138 mac_pass_command_to_system and mac_pass_control_to_system here.
16139 (XTread_socket): Call ActivateControl/DeactivateControl here.
16140 (XTread_socket) [TARGET_API_MAC_CARBON]:
16141 Check mac_pass_command_to_system and mac_pass_control_to_system here.
16142 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
16143 for window repositioning.
16144
161452007-08-08 Glenn Morris <rgm@gnu.org>
16146
16147 * Replace `iff' in doc-strings and comments.
16148
161492007-08-07 Chong Yidong <cyd@stupidchicken.com>
16150
16151 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
16152
161532007-08-07 Martin Rudalics <rudalics@gmx.at>
16154
16155 * fileio.c (Finsert_file_contents): Run format-decode and
16156 after_insert_file_functions on entire buffer when REPLACE is
16157 non-nil and inhibit modification_hooks and point_motion_hooks.
16158 For consistency, run after_insert_file_functions iff something
16159 got inserted. Move signal_after_change and update_compositions
16160 after code running after_insert_file_functions. Make sure that
16161 undo_list doesn't record intermediate steps of the decoding process.
16162
161632007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16164
16165 * emacs.c (main)
16166 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
16167 Call malloc_enable_thread on interactive startup.
16168
16169 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
16170 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
16171 [USE_PTHREAD]: Conditionalize with it.
16172 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
16173 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
16174 New functions.
16175
161762007-08-06 Chong Yidong <cyd@stupidchicken.com>
16177
16178 * xdisp.c (redisplay_window): When restoring original buffer
16179 position, make sure it is still valid.
16180
16181 * image.c (png_load): Ignore png-supplied background color.
16182
161832007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16184
16185 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
16186 Use kCFAbsoluteTimeIntervalSince1970.
16187
16188 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
16189 New variable.
16190 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
16191 event loop should be quit.
16192 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
16193 Quit dialog event loop if quit_dialog_event_loop is set.
16194
16195 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
16196 (Selection): New typedef. Use instead of ScrapRef.
16197 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
16198 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
16199 (mac_clear_selection): Rename from clear_scrap.
16200 (get_flavor_type_from_symbol): New argument SEL and subsume function of
16201 scrap_has_target_type. All uses changed.
16202 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
16203 (mac_selection_has_target_p): New functions.
16204 (mac_put_selection_value): Rename from put_scrap_string.
16205 (mac_get_selection_value): Rename from get_scrap_string.
16206 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
16207 (put_scrap_private_timestamp, scrap_has_target_type)
16208 (get_scrap_private_timestamp): Remove functions.
16209 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
16210 (x_own_selection, x_get_local_selection):
16211 Use mac_valid_selection_value_p.
16212 (x_own_selection): Don't use put_scrap_private_timestamp.
16213 Record OWNERSHIP-INFO into Vselection_alist instead.
16214 (x_get_local_selection): Don't check type if request is local.
16215 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
16216 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
16217
162182007-08-04 Jan Djärv <jan.h.d@swipnet.se>
16219
16220 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
16221 add comment explaining why.
16222
162232007-08-03 Richard Stallman <rms@gnu.org>
16224
16225 * fileio.c (Fvisited_file_modtime): Use make_time.
16226
162272007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
16228
16229 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
16230 build.
16231
162322007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
16233
16234 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
16235
162362007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
16237
16238 * puresize.h (BASE_PURESIZE): Increase to 1130000.
16239
162402007-07-30 Richard Stallman <rms@gnu.org>
16241
16242 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
16243
162442007-07-29 Jan Djärv <jan.h.d@swipnet.se>
16245
16246 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
16247
162482007-07-28 Nick Roberts <nickrob@snap.net.nz>
16249
16250 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
16251 remote default-directory.
16252
16253 * buffer.c (mode-line-format): Update doc string.
16254
162552007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16256
16257 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
16258 scroll bar gap.
16259 (x_scroll_bar_create): Set bar->fringe_extended_p.
16260 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
16261 on frame edge. Check fringe background extension. Don't clear
16262 extended fringe background area.
16263
16264 * w32term.h (struct scroll_bar): New member fringe_extended_p.
16265 (w32_fill_area): Enclose multiple statements with do ... while (0).
16266
16267 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
16268 Extend fringe background to scroll bar gap.
16269 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
16270 Set bar->fringe_extended_p.
16271 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
16272 Put leftmost/rightmost scroll bars on frame edge. Check fringe
16273 background extension. Don't clear extended fringe background area.
16274
16275 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
16276 New member fringe_extended_p.
16277
162782007-07-25 Glenn Morris <rgm@gnu.org>
16279
16280 * Relicense all FSF files to GPLv3 or later.
16281
16282 * COPYING: Switch to GPLv3.
16283
162842007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
16285
16286 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
16287
16288 * data.c (Finteractive_form): Check for the presence of an
16289 `interactive-form' symbol property more thoroughly.
16290
16291 * data.c (Finteractive_form): Use an `interactive-form' property if
16292 present, analogous to the function-documentation property.
16293
162942007-07-24 Jason Rumney <jasonr@gnu.org>
16295
16296 * w32fns.c (x_real_positions): Get real position from OS instead of
16297 calculating it.
16298
162992007-07-23 Jason Rumney <jasonr@gnu.org>
16300
16301 * filelock.c (current_lock_owner): Allow for @ sign in username.
16302
163032007-07-22 Nick Roberts <nickrob@snap.net.nz>
16304
16305 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
16306 remote default-directory.
16307
16308 * buffer.c (mode-line-format): Describe above case in doc string.
16309
163102007-07-20 Eli Zaretskii <eliz@gnu.org>
16311
16312 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
16313 Define if not defined.
16314
163152007-07-18 Jason Rumney <jasonr@gnu.org>
16316
16317 * w32proc.c (w32_executable_type): Handle 64 bit executables.
16318
163192007-07-18 Richard Stallman <rms@gnu.org>
16320
16321 * data.c (Fsetq_default): Doc fix.
16322
16323 * eval.c (Fsetq): Doc fix.
16324
163252007-07-18 Juanma Barranquero <lekktu@gmail.com>
16326
16327 * coding.c (Ffind_operation_coding_system):
16328 * eval.c (For, Fand): Doc fixes.
16329 Reported by Johan Bockgård.
16330
163312007-07-18 Jan Djärv <jan.h.d@swipnet.se>
16332
16333 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
16334
16335 * xterm.h: Declare x_ewmh_activate_frame.
16336
16337 * xterm.c (x_ewmh_activate_frame): New function.
16338 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
16339
163402007-07-17 Martin Rudalics <rudalics@gmx.at>
16341
16342 * window.c (Fdisplay_buffer): If largest or LRU window is the
16343 only window, split it even if it is not eligible for splitting.
16344 This restores the original behavior broken by the 2007-07-15
16345 change.
16346
163472007-07-17 Glenn Morris <rgm@gnu.org>
16348
16349 * abbrev.c (abbrev_check_chars): New function.
16350 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
16351 Call abbrev_check_chars to check abbrev characters are word
16352 constituents. Doc fix.
16353
163542007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
16355
16356 * process.c (Fstart_process, Fmake_network_process)
16357 (read_process_output): Fix up last changes.
16358
163592007-07-16 Eli Zaretskii <eliz@gnu.org>
16360
16361 * makefile.w32-in (clean): Don't delete *~.
16362
163632007-07-16 Andreas Schwab <schwab@suse.de>
16364
16365 * window.c (Fdisplay_buffer): Use NILP.
16366 (Fset_window_scroll_bars): Likewise.
16367
163682007-07-15 Martin Rudalics <rudalics@gmx.at>
16369
16370 * window.c (window_min_size_2): New function.
16371 (window_min_size_1, size_window, Fdisplay_buffer)
16372 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
16373 windows without mode- or header-lines when window-min-height is
16374 too small.
16375 (size_window): Reset nodelete_p after testing it, following an
16376 earlier note by Kim F. Storm.
16377 (display_buffer): Do not set split_height_threshold to twice the
16378 value of window_min_height to avoid changing the value of a
16379 customizable variable. Rather explicitly check whether the
16380 height of the window that shall be splitted is at least as large
16381 as split_height_threshold.
16382 (Fwindow_full_width_p): New defun.
16383 (syms_of_window): Defsubr it.
16384
16385 * window.h: Add EXFUN for Fwindow_full_width_p.
16386
163872007-07-14 Jason Rumney <jasonr@gnu.org>
16388
16389 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
16390
163912007-07-14 Richard Stallman <rms@gnu.org>
16392
16393 * eval.c (maybe_call_debugger): New function.
16394 (find_handler_clause): Use maybe_call_debugger.
16395 Call it when the handler says `debug'.
16396 Eliminate DEBUGGER_VALUE_PTR.
16397 (Fsignal): Eliminate debugger_value.
16398 (Qdebug): New variable.
16399 (syms_of_eval): Initialize it.
16400
164012007-07-14 Juanma Barranquero <lekktu@gmail.com>
16402
16403 * eval.c (Fprogn):
16404 * keyboard.c (Ftrack_mouse):
16405 * print.c (Fwith_output_to_temp_buffer):
16406 * window.c (Fsave_window_excursion): Doc fix.
16407
164082007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
16409
16410 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
16411
164122007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
16413
16414 * process.h (struct Lisp_Process): Turn slots infd, outfd,
16415 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
16416 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
16417 read_output_delay, and read_output_skip from Lisp_Objects to ints.
16418 Remove unused encoding_carryover.
16419 * process.c: Adjust all functions accordingly.
16420
164212007-07-12 Richard Stallman <rms@gnu.org>
16422
16423 * term.c: Include unistd.h only if HAVE_UNISTD_H.
16424
164252007-07-11 Jason Rumney <jasonr@gnu.org>
16426
16427 * makefile.w32-in (LIBS): Include OLE32.
16428
16429 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
16430 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
16431
164322007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
16433
16434 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
16435 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
16436 from a Lisp_Object into a bare pointer.
16437 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
16438 Adjust the code correspondingly.
16439
16440 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
16441
16442 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
16443 (term_show_mouse_face): Remove unused var `j'.
16444 (handle_one_term_event): Remove unused vars `i' and `j'.
16445 Don't cast return value of ttyname since it's not necessary.
16446
164472007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
16448
16449 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
16450 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
16451
16452 * fns.c (map_char_table): Use an array of int for `indices' rather than
16453 an array of Lisp_Objects (which are only ever integers anyway).
16454 (Fmap_char_table): Update caller.
16455 * lisp.h: Update prototype.
16456 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
16457 * fontset.c (Ffontset_info):
16458 * casetab.c (set_case_table): Update callers.
16459
16460 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
16461
16462 * keymap.c (struct accessible_keymaps_data)
16463 (struct where_is_internal_data): New structures.
16464 (accessible_keymaps_1, where_is_internal_1): Use them to change
16465 interface to adhere to the one used by map_keymap.
16466 (Faccessible_keymaps, where_is_internal): Use map_keymap.
16467 (accessible_keymaps_char_table, where_is_internal_2): Remove.
16468
16469 * keymap.h (map_keymap_function_t): More informative prototype.
16470
164712007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
16472
16473 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
16474 (looking_at_1): Don't change search_regs and last_thing_searched
16475 if `inhibit-changing-match-data' is non-nil.
16476 (string_match_1, search_buffer, set_search_regs): Likewise.
16477 (syms_of_search): Add Lisp level definition for
16478 `inhibit-changing-match-data' and set it to nil.
16479 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
16480 start and end of the match, instead of using values in search_regs.
16481
164822007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
16483
16484 * minibuf.c (Fcompleting_read): New value `confirm-only'
16485 for `require-match'.
16486
164872007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
16488
16489 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
16490 part of the 2007-06-27 change to syms_of_fileio.
16491
164922007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16493
16494 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
16495 Check WINDOWP before using XWINDOW. Consolidate return statements.
16496
164972007-06-27 Richard Stallman <rms@gnu.org>
16498
16499 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
16500
165012007-06-27 Juanma Barranquero <lekktu@gmail.com>
16502
16503 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
16504
165052007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16506
16507 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
16508 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
16509 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
16510 (_free_internal, memalign): Use them.
16511 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
16512 Initialize to PTHREAD_MUTEX_INITIALIZER.
16513 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
16514 (morecore_nolock): Rename from morecore. All uses changed.
16515 Use only nolock versions of internal allocation functions.
16516 (_malloc_internal_nolock, _realloc_internal_nolock)
16517 (_free_internal_nolock): New functions created from
16518 _malloc_internal, _realloc_internal, and _free_internal.
16519 (_malloc_internal, _realloc_internal, _free_internal): Use them.
16520 Copy hook value to automatic variable before its use.
16521 (memalign): Copy hook value to automatic variable before its use.
16522
165232007-06-26 Kenichi Handa <handa@m17n.org>
16524
16525 * coding.c (Ffind_operation_coding_system): Docstring improved.
16526 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
16527
165282007-06-25 David Kastrup <dak@gnu.org>
16529
16530 * keymap.c (Fcurrent_active_maps): Add `position' argument.
16531 (Fwhere_is_internal): Adjust call to `current-active-maps' to
16532 cater for additional parameter.
16533
16534 * keymap.h: Adjust number of parameters to `current-active-maps'.
16535
16536 * doc.c (Fsubstitute_command_keys): Adjust call of
16537 `current-active-maps'.
16538
165392007-06-25 David Kastrup <dak@gnu.org>
16540
16541 * callint.c (Fcall_interactively): Make the parsing of interactive
16542 specs somewhat more readable.
16543
165442007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16545
16546 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
16547 to scroll bar gap also when bitmap fills fringe. Draw only foreground
16548 if extended background has already been filled.
16549
165502007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16551
16552 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
16553 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
16554
16555 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
16556 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
16557 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
16558 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
16559 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
16560 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
16561 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
16562 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
16563 Run timers during dialog popup.
16564 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
16565
165662007-06-21 Jason Rumney <jasonr@gnu.org>
16567
16568 * image.c (convert_mono_to_color_image): Swap fore and background.
16569
165702007-06-20 Jason Rumney <jasonr@gnu.org>
16571
16572 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
16573 (w32_free_bdf_font): Unmap memory not handle.
16574
165752007-06-20 Sam Steingold <sds@gnu.org>
16576
16577 * gmalloc.c (__morecore): Fix the declaration to comply with the
16578 definition.
16579
165802007-06-20 Juanma Barranquero <lekktu@gmail.com>
16581
16582 * w32term.c (w32_delete_display): Remove leftover declaration.
16583 (w32_define_cursor, w32_initialize): Make static.
16584
16585 * w32.c (_wsa_errlist): Fix typo in error message.
16586 (init_environment): Ignore any environment variable from the
16587 registry having a null value.
16588
165892007-06-20 Glenn Morris <rgm@gnu.org>
16590
16591 * Makefile.in (LIBGIF): Default to -lgif.
16592
165932007-06-17 Jason Rumney <jasonr@gnu.org>
16594
16595 * w32menu.c (add_menu_item): Don't use multibyte string functions on
16596 unicode strings.
16597
165982007-06-16 Juanma Barranquero <lekktu@gmail.com>
16599
16600 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
16601 Fix typo in docstring.
16602
166032007-06-16 Eli Zaretskii <eliz@gnu.org>
16604
16605 * w32menu.c (add_menu_item): Escape `&' characters in menu items
16606 and their keybindings.
16607
166082007-06-15 Chong Yidong <cyd@stupidchicken.com>
16609
16610 * composite.c (update_compositions): Fix last fix.
16611
166122007-06-14 Jason Rumney <jasonr@gnu.org>
16613
16614 * w32.c (get_process_times_fn): New function pointer.
16615 (globals_of_w32): Intialize it if present in kernel32.dll.
16616 (w32_get_internal_run_time): New function.
16617
16618 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
16619
166202007-06-14 Kenichi Handa <handa@etlken.m17n.org>
16621
16622 * composite.c (update_compositions): Check the validness of
16623 compositions.
16624
166252007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16626
16627 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
16628 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
16629
16630 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
16631 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
16632
16633 * macgui.h (USE_MAC_TOOLBAR): New define.
16634
16635 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
16636 Return immediately unless popup is activated.
16637
16638 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
16639 background to scroll bar gap.
16640 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
16641 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
16642 scroll bars on frame edge. Check fringe background extension.
16643 Don't clear extended fringe background area.
16644 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
16645 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
16646 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
16647 [USE_MAC_TOOLBAR]: New macros.
16648 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
16649 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
16650 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
16651 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
16652 [USE_MAC_TOOLBAR]: New functions.
16653 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
16654 manually if previous repositioning has failed.
16655 (mac_handle_keyboard_event): Use precomputed event kind.
16656 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
16657 as tool bar item click. Handle mouse movement over tool bar items.
16658
16659 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
16660 toolbar_win_gravity.
16661 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
16662 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
16663 Add externs.
16664
16665 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
16666 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
16667
166682007-06-14 Chong Yidong <cyd@stupidchicken.com>
16669
16670 * image.c (search_image_cache): Remove unused variable.
16671
166722007-06-13 Chong Yidong <cyd@stupidchicken.com>
16673
16674 * xfns.c, xmenu.c: Link to xaw3d if available.
16675
166762007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16677
16678 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
16679 frame_foreground and frame_background.
16680
16681 * image.c (lookup_image): Save frame foreground and background colors.
16682 (search_image_cache): Check if saved and current frame colors match.
16683
166842007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
16685
16686 * regex.c (regex_compile): Remove the `regnum' counter.
16687 Use bufp->re_nsub instead. Add support for \(?N:RE\).
16688
166892007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
16690
16691 * term.c: Include intervals.h to declare Fget_text_property.
16692
166932007-06-10 Jason Rumney <jasonr@gnu.org>
16694
16695 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
16696
166972007-06-08 Juanma Barranquero <lekktu@gmail.com>
16698
16699 * callint.c (Fcall_interactively):
16700 * editfns.c (Fdelete_and_extract_region):
16701 * fileio.c (Fread_file_name):
16702 * fns.c (Fmapconcat):
16703 * keyboard.c (cmd_error_internal):
16704 * keymap.c (Fkey_description):
16705 * lread.c (openp):
16706 * minibuf.c (read_minibuf):
16707 * search.c (wordify):
16708 * sunfns.c (sel_read):
16709 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
16710 * xfns.c (x_default_scroll_bar_color_parameter):
16711 * xmenu.c (menu_help_callback):
16712 * xselect.c (Fx_get_atom_name):
16713 * xterm.c (x_term_init): Use empty_unibyte_string.
16714
167152007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
16716
16717 * alloc.c (init_strings): Initialize canonical empty strings.
16718 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
16719 canonical empty string when the requested size is 0.
16720
16721 * emacs.c (empty_unibyte_string): Rename from empty_string.
16722 (empty_multibyte_string): New canonical empty string.
16723 (syms_of_emacs): Don't initialize empty_string.
16724
16725 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
16726 string, if appropriate.
16727 (empty_unibyte_string, empty_multibyte_string): New externs.
16728 (empty_string): Remove extern.
16729
16730 * lread.c (syms_of_lread): Use empty_unibyte_string.
16731
167322007-06-07 Jason Rumney <jasonr@gnu.org>
16733
16734 * s/ms-w32.h: Don't define HAVE_TZNAME.
16735
16736 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
16737
167382007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16739
16740 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
16741
16742 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
16743 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
16744
16745 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
16746 Don't call next handler.
16747 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
16748 Remove argument. Install handler to application.
16749 (set_frame_menubar): Don't change deep_p.
16750 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
16751 FRAME_OUTER_TO_INNER_DIFF_Y.
16752 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
16753 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
16754 [HAVE_DIALOGS]: New macros.
16755 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
16756 Use them.
16757 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
16758
16759 * macselect.c [MAC_OSX] (install_service_handler): Rename from
16760 init_service_handler. All callers changed. Return OSStatus value.
16761
16762 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
16763 All callers changed so as not to call SetPortWindowPort.
16764 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
16765 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
16766 mac_draw_string_common.
16767 (mac_draw_image_string_qd): Likewise.
16768 (mac_draw_string_common): Use them. Add INLINE.
16769 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
16770 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
16771 GetGlobalMouse.
16772 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
16773 and FRAME_OUTER_TO_INNER_DIFF_Y.
16774 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
16775 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
16776 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
16777 repositioning window to mac_handle_window_event.
16778 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
16779 saving window location to mac_handle_window_event
16780 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
16781 (install_menu_target_item_handler): Remove argument in extern.
16782 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
16783 Also accept command events.
16784 (do_keystroke): New function created from XTread_socket.
16785 (init_command_handler): Remove functions.
16786 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
16787 and save window location by kEventWindowShowing and kEventWindowHiding
16788 handlers here. Don't call next handler for window state change and
16789 focus events.
16790 (mac_handle_application_event, mac_handle_keyboard_event)
16791 [TARGET_API_MAC_CARBON]: New functions.
16792 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
16793 kEventWindowShowing and kEventWindowHiding events. Move installation
16794 of mouse, font, text input and menu target item handlers to
16795 install_application_handler.
16796 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
16797 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
16798 New function.
16799 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
16800 Register it.
16801 (XTread_socket) [TARGET_API_MAC_CARBON]:
16802 Consolidate SendEventToEventTarget calls.
16803 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
16804 Move application activation handler to mac_handle_application_event.
16805 Move keyboard handler to mac_handle_keyboard_event.
16806 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
16807 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
16808 init_command_handler. Call install_application_handler.
16809
16810 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
16811 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
16812
168132007-06-07 Glenn Morris <rgm@gnu.org>
16814
16815 * emacs.c (main): Use `emacs-copyright' in --version output.
16816
168172007-06-06 Chong Yidong <cyd@stupidchicken.com>
16818
16819 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
16820
168212007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16822
16823 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
16824
16825 * macgui.h: Replace WindowPtr with WindowRef.
16826
16827 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
16828 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
16829 Replace ControlHandle with ControlRef.
16830 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
16831
16832 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
16833 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
16834 Replace ControlHandle with ControlRef.
16835 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
16836 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
16837
16838 * macterm.h (struct scroll_bar): Rename member control_handle_low
16839 and control_handle_high to control_ref_low and control_ref_high.
16840 All uses changed.
16841 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
16842 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
16843 respectively. All uses changed.
16844 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
16845 (install_window_handler, remove_window_handler): Replace WindowPtr
16846 with WindowRef in externs.
16847
168482007-06-05 Juanma Barranquero <lekktu@gmail.com>
16849
16850 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
16851
168522007-06-03 Nick Roberts <nickrob@snap.net.nz>
16853
16854 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
16855
16856 * frame.c (Fmouse_position, Fmouse_pixel_position):
16857 Condition on HAVE_GPM too.
16858
16859 * term.c (term_mouse_highlight): Remove unused variables.
16860 (Fterm_open_connection): Set gpm_zerobased to 1.
16861 (term_mouse_movement, term_mouse_click, handle_one_term_event):
16862 Use zero based co-ordinates.
16863 (handle_one_term_event): Report a drag as mouse movement too.
16864
16865 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
16866
168672007-06-03 Chong Yidong <cyd@stupidchicken.com>
16868
16869 * image.c (search_image_cache): New function. Require background
16870 color match if background color is unspecified in the image spec.
16871 (uncache_image, lookup_image): Use it.
16872
168732007-06-01 Juanma Barranquero <lekktu@gmail.com>
16874
16875 * window.c (Fshrink_window): Reflow docstring.
16876
168772007-06-02 Chong Yidong <cyd@stupidchicken.com>
16878
16879 * Version 22.1 released.
16880
168812007-06-01 Richard Stallman <rms@gnu.org>
16882
16883 * xfns.c (x_encode_text): Add GCPRO.
16884
168852007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16886
16887 * xfns.c (x_set_name_internal): Save encoded name before
16888 x_encode_text in case string data is relocated.
16889
168902007-05-31 Richard Stallman <rms@gnu.org>
16891
16892 * buffer.c (syms_of_buffer): Doc fix.
16893
168942007-05-30 Nick Roberts <nickrob@snap.net.nz>
16895
16896 * sysdep.c (init_sys_modes): Add rather than replace with
16897 O_NONBLOCK.
16898
16899 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
16900 term_mouse_moveto.
16901
16902 * termhooks.h (term_mouse_moveto): New extern.
16903
16904 * term.c (mouse_face_window): Rename...
16905 (Qmouse_face_window): ...to this.
16906 (term_show_mouse_face, term_clear_mouse_face)
16907 (term_mouse_highlight): Use Qmouse_face_window.
16908 (term_mouse_moveto): New function.
16909 (term_mouse_position): Make it work.
16910 (syms_of_term): Uncomment assignment to mouse_position_hook.
16911 Staticpro Qmouse_face_window.
16912
169132007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16914
16915 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
16916 around current_column call.
16917
169182007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
16919
16920 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
16921 * xdisp.c (next_element_from_buffer):
16922 * window.c (delete_window):
16923 * term.c (term_mouse_highlight):
16924 * msdos.c (getdefdir):
16925 * macterm.c (mac_create_bitmap_from_bitmap_data)
16926 (init_font_name_table):
16927 * fns.c (Fsxhash):
16928 * data.c (Fmake_local_variable):
16929 * ccl.c (ccl_driver): Likewise.
16930
169312007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16932
16933 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
16934 Call mac_wakeup_from_rne on window size change.
16935
169362007-05-25 Chong Yidong <cyd@stupidchicken.com>
16937
16938 * image.c (uncache_image): Fix typo.
16939
169402007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
16941
16942 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
16943
169442007-05-22 Richard Stallman <rms@gnu.org>
16945
16946 * xterm.c (x_connection_closed): Remove NO_RETURN.
16947
169482007-05-22 Martin Rudalics <rudalics@gmx.at>
16949
16950 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
16951
169522007-05-21 Chong Yidong <cyd@stupidchicken.com>
16953
16954 * image.c (uncache_image): New function.
16955 (Fimage_refresh): New function.
16956
169572007-05-20 Jan Djärv <jan.h.d@swipnet.se>
16958
16959 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
16960
169612007-05-20 Nick Roberts <nickrob@snap.net.nz>
16962
16963 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
16964 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
16965
169662007-05-20 Nick Roberts <nickrob@snap.net.nz>
16967
16968 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
16969 conditional on [HAVE_GPM_H].
16970
169712007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
16972
16973 * syntax.c (skip_chars): Update syntax-table only after we checked that
16974 the new location is valid.
16975
169762007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16977
16978 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
16979 mac_get_window_bounds.
16980
169812007-05-20 Nick Roberts <nickrob@snap.net.nz>
16982
16983 * Makefile.in (LIBGPM): Allow it to be set from configure.
16984 If set then link Emacs with it.
16985
16986 * config.in: Regenerate.
16987
16988 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
16989 New externs.
16990
16991 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
16992 Include gpm.h.
16993 (handle_one_term_event, term_gpm): New externs.
16994
16995 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
16996 and allow it to be interrupted by SIGIO.
16997
16998 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
16999 (wait_reading_process_output): Wait on gpm_fd too.
17000 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
17001 (add_gpm_wait_descriptor_called_flag): New variable.
17002 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
17003
17004 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
17005 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
17006 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
17007 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
17008 (make_lispy_event): Add case GPM_CLICK_EVENT.
17009 (read_avail_input): Handle mouse input.
17010
17011 * term.c (write_glyphs_with_face): New function.
17012 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
17013 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
17014 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
17015 (mouse_face_face_id, term_gpm, pos_x, pos_y)
17016 (last_mouse_x, last_mouse_y): New variables.
17017 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
17018 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
17019 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
17020 (Fterm_close_connection): New functions.
17021 (term_init): Initialise mouse_face_window.
17022
170232007-05-19 Chong Yidong <cyd@stupidchicken.com>
17024
17025 * xdisp.c (redisplay_window): If first window line is a
17026 continuation line, recompute the new window start instead of
17027 recentering.
17028
170292007-05-18 Glenn Morris <rgm@gnu.org>
17030
17031 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
17032 Suggested by Alfred M. Szmidt <ams@gnu.org>.
17033
170342007-05-17 Glenn Morris <rgm@gnu.org>
17035
17036 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
17037
170382007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17039
17040 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
17041 dead key repeat and up events.
17042
170432007-05-14 Chong Yidong <cyd@stupidchicken.com>
17044
17045 * image.c (pbm_load): Check image size for monochrome pbm.
17046
170472007-05-13 Chong Yidong <cyd@stupidchicken.com>
17048
17049 * xterm.c (XTread_socket): Revert last change.
17050
170512007-05-12 Chong Yidong <cyd@stupidchicken.com>
17052
17053 * image.c (pbm_load): Correctly check image size for greyscale pbm.
17054
17055 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
17056
170572007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
17058
17059 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
17060 mixup (YAILOM).
17061
170622007-05-07 Andreas Schwab <schwab@suse.de>
17063
17064 * keymap.c (Flookup_key): Fix typo in last change.
17065
170662007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
17067
17068 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
17069 mapping for unibyte strings.
17070
170712007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17072
17073 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
17074 (Fx_popup_dialog) [MAC_OSX]: Likewise.
17075
170762007-04-29 Richard Stallman <rms@gnu.org>
17077
17078 * insdel.c (replace_range): For undo, record insertion first.
17079
170802007-04-29 Andreas Schwab <schwab@suse.de>
17081
17082 * lisp.h (VECSIZE): Use OFFSETOF.
17083
170842007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17085
17086 * xdisp.c (try_window_reusing_current_matrix): Fix number of
17087 disabled lines.
17088
170892007-04-28 Richard Stallman <rms@gnu.org>
17090
17091 * lread.c (read_escape): In a string, \s is always space.
17092
170932007-04-27 Jan Djärv <jan.h.d@swipnet.se>
17094
17095 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
17096
17097 * gtkutil.c (xg_update_menubar, create_menus): Create empty
17098 submenu for menu bar items.
17099
17100See ChangeLog.10 for earlier changes.
17101
17102;; Local Variables:
17103;; coding: utf-8
17104;; add-log-time-zone-rule: t
17105;; bug-reference-url-format: "http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=%s"
17106;; End:
17107
76b6f707 17108 Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
aac0c6e3
MR
17109
17110 This file is part of GNU Emacs.
17111
17112 GNU Emacs is free software: you can redistribute it and/or modify
17113 it under the terms of the GNU General Public License as published by
17114 the Free Software Foundation, either version 3 of the License, or
17115 (at your option) any later version.
17116
17117 GNU Emacs is distributed in the hope that it will be useful,
17118 but WITHOUT ANY WARRANTY; without even the implied warranty of
17119 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17120 GNU General Public License for more details.
17121
17122 You should have received a copy of the GNU General Public License
17123 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
17124
17125;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40