Simplify.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
0dad7c6f
JR
12009-01-11 Jason Rumney <jasonr@gnu.org>
2
3 * keyboard.c (cmd_error_internal): Exit when errors occur before
4 frame creation and not in daemon mode. (Bug#1836)
5
7c2363af
CY
62009-01-10 Chong Yidong <cyd@stupidchicken.com>
7
8 * xdisp.c (pos_visible_p): When iterator stops on the last glyph
9 of a display vector, backtrack.
10 (try_window_reusing_current_matrix): Check glyph type before
11 referencing charpos member.
12
97b1b294
EZ
132009-01-10 Eli Zaretskii <eliz@gnu.org>
14
15 Fix Bug #876:
16
17 * coding.c (inhibit_null_byte_detection): New variable.
18 (detect_coding, detect_coding_system): Don't pay attention to null
19 bytes if inhibit_null_byte_detection is non-zero.
20 (syms_of_coding) <inhibit-null-byte-detection>: Declare and
21 document.
22 <inhibit-iso-escape-detection>: Doc fix.
23
4624b6e3
JR
242009-01-09 Jason Rumney <jasonr@gnu.org>
25
26 * w32font.c (add_font_entity_to_list): Don't report unknown
27 Windows charset as any unrecognized registry. (Bug#1548)
28 Only report Unicode Plane 2 fonts as unicode-sip.
29
323b840c
CY
302009-01-09 Chong Yidong <cyd@stupidchicken.com>
31
32 * xfaces.c (Fx_font_family_list): Function deleted. Compatibility
33 version moved to faces.el.
34
35 * font.c (Ffont_family_list): Return a list of strings, not
36 symbols.
37
eba7400d
MR
382009-01-09 Martin Rudalics <rudalics@gmx.at>
39
40 * frame.c (x_set_frame_parameters): Remember requested value for
41 fullscreen before it's reset by the parameter handler.
42
4b09796d
GM
432009-01-09 Glenn Morris <rgm@gnu.org>
44
45 * keyboard.c (last_command_char): For clarity, rename to...
46 (last_command-event): ... and update all users.
47 (last_input_char): For clarity, rename to...
48 (last_input_event): ... and update all users.
49 (last-command-char, last-input-char): Move to subr.el as aliases.
50 * cmds.c, commands.h: Update for last_command_char rename.
51
14ccea62
CY
522009-01-08 Chong Yidong <cyd@stupidchicken.com>
53
54 * font.c (font_open_for_lface): Handle unspecified height
55 attribute.
56
5f004711
JR
572009-01-08 Jason Rumney <jasonr@gnu.org>
58
59 * w32fns.c (Vx_pointer_shape, Vx_nontext_pointer_shape)
60 (Vx_mode_pointer_shape, Vx_window_horizontal_drag_shape)
61 (Vx_hourglass_pointer_shape, Vx_sensitive_text_pointer_shape):
62 Don't declare.
63 (syms_of_w32fns): Don't define x-pointer-shape variable. (Bug#1485)
64 (x_create_tip_frame) [GLYPH_DEBUG]: Enable image debugging code.
65
b71f6f73
KH
662009-01-07 Kenichi Handa <handa@m17n.org>
67
50b06221
KH
68 * fileio.c (Finsert_file_contents): In the case of replace,
69 remeber the coding system used for decoding in
70 coding_system (Bug#1039).
71
b71f6f73 72 * coding.c (decode_coding_utf_8): Check byte_after_cr before
79a97217 73 breaking the loop. (Bug#870)
b71f6f73
KH
74 (decode_coding_utf_16, decode_coding_emacs_mule)
75 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
76 (decode_coding_charset): Likewise.
77
56f668f7
MR
782009-01-05 Martin Rudalics <rudalics@gmx.at>
79
80 * frame.c (x_set_frame_parameters): Make sure height (width) get
81 applied when fullwidth (fullheight) is set. (Bug#1522)
82
5da9424d
JB
832009-01-04 Juanma Barranquero <lekktu@gmail.com>
84
85 * w32.c: Use 64-bit arithmetic to do FILETIME conversions. (Bug#1766)
86 (utc_base): Declare as ULONGLONG, not long double.
87 (convert_time_raw): Delete.
88 (FILETIME_TO_U64, U64_TO_LISP_TIME): New macros.
89 (initialize_utc_base): New function.
90 (convert_time): Use FILETIME_TO_U64, initialize_utc_base.
91 (convert_from_time_t): Use initialize_utc_base; compute result with
92 64-bit arithmetic.
93 (process_times): Use FILETIME_TO_U64, U64_TO_LISP_TIME.
94
c4605e09
EZ
952009-01-03 Eli Zaretskii <eliz@gnu.org>
96
9acef61c 97 * process.c (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess)
c4605e09
EZ
98 (Qttname, Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime)
99 (Qcutime, Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs)
100 (Quser, Qgroup, Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime)
101 [!subprocesses]: Define.
102 (syms_of_process) [!subprocesses]: Intern and staticpro them.
103 (Flist_system_processes, Fsystem_process_attributes)
104 [!subprocesses]: Call list_system_processes and
105 system_process_attributes instead of returning Qnil.
106
9acef61c
JB
107 * dosfns.c (system_process_attributes, list_system_processes):
108 New functions.
c4605e09
EZ
109
110 * vm-limit.c (ret_lim_data) [MSDOS]: New function.
111
112 * sysdep.c (list_system_processes, system_process_attributes) [MSDOS]:
113 Don't use the default (no-op) implementation.
114
8b7d0a16
JR
1152009-01-03 Jason Rumney <jasonr@gnu.org>
116
a6d46bc1
JR
117 * keyboard.c (parse_modifiers_uncached): Wheel events are
118 clicks (bug#687).
119
8b7d0a16
JR
120 * w32term.c (x_query_colors, x_query_color): New functions.
121
122 * image.c (x_to_xcolors, png_load): Eliminate W32 specific code.
123 (svg_load_image): Cast returned pointers from dynamically loaded
124 functions. Eliminate W32 specific code.
125
bfe11752
DN
1262009-01-02 Dan Nicolaescu <dann@ics.uci.edu>
127
89e2438a
DN
128 * nsfns.m (x_set_foreground_color, x_set_background_color)
129 (x_set_cursor_color, x_set_icon_name, x_explicitly_set_name)
130 (x_set_title, x_set_icon_type, x_set_cursor_type): Rename to use
131 x_ prefix instead of ns_. Update references.
132 (syms_of_nsfns): Add a FIXME comment.
133
134 * nsterm.m (x_set_cursor_type): New prototype.
135 (setValuesFromPanel): Use it instead of the old ns_ prefixed name.
136
bfe11752
DN
137 * sysdep.c (system_process_attributes): Provide Qtime and Qctime
138 for Solaris instead of incorrectly providing Qutime and Qcutime.
139
031da700
EZ
1402009-01-02 Eli Zaretskii <eliz@gnu.org>
141
142 * w32.c (process_times): Compute sum of utime and stime.
143 (system_process_attributes): Add Qtime to the alist.
144
145 * sysdep.c (system_process_attributes): Compute Qtime and Qctime
146 and add them to the alist.
147
148 * process.c (top level) <Qtime, Qctime>: New variables.
149 (syms_of_process): staticpro them.
150 (Fsystem_process_attributes): Add their documentation to the doc
151 string.
152
153 * process.h: Declare Qtime and Qctime.
154
df23bf08
JR
1552009-01-02 Jason Rumney <jasonr@gnu.org>
156
9acef61c 157 * image.c (Qgobject): New symbol.
df23bf08
JR
158 (syms_of_image): Initialize it.
159 (init_svg_functions): Load some functions from gobject library.
160
5bbdf7aa
DN
1612009-01-01 Dan Nicolaescu <dann@ics.uci.edu>
162
163 * frame.c (make_terminal_frame): Remove redundant code and useless
164 block.
165
63136da6
AS
1662009-01-01 Andreas Schwab <schwab@suse.de>
167
168 * process.c (conv_sockaddr_to_lisp): Add workaround for
169 getsockname bug on BSD.
170
9ef69046
CY
1712009-01-01 Chong Yidong <cyd@stupidchicken.com>
172
d6fafbe0
CY
173 * xfns.c (x_create_tip_frame): Set border width of the X window.
174
9ef69046
CY
175 * xfaces.c (Finternal_set_lisp_face_attribute): Improve error
176 message.
177
f9c34147
JR
1782009-01-01 Jason Rumney <jasonr@gnu.org>
179
9acef61c 180 * w32term.c (x_new_font): Return font object, not fontset. (Bug#119)
f9c34147
JR
181 Don't block input, as per earlier xterm.c changes.
182
f5497e45
AR
1832008-12-31 Adrian Robert <Adrian.B.Robert@gmail.com>
184
185 * nsfns.m (ns_appkit_version_str): Rename from ns_appkit_version.
186 (ns_appkit_version_int): New function.
187 (x-server-version): Use ns_appkit_version_int and follow 21+
188 convention of returning 3 integers.
189
c19cab20
KH
1902008-12-30 Kenichi Handa <handa@m17n.org>
191
192 * character.h (CHAR_VARIATION_SELECTOR_P): New macro.
193 (CHAR_SURROGATE_PAIR_P): New macro.
194
195 * font.h (struct font_driver): New member get_variation_glyphs.
196
9acef61c 197 * font.c (font_range): Don't require a font for a variation selector.
c19cab20
KH
198 (Ffont_variation_glyphs): New function.
199 (syms_of_font): Defsubr it.
200
201 * ftfont.c (ftfont_driver): Set the member get_variation_glyphs to
202 ftfont_variation_glyphs.
203 (setup_otf_gstring): New function.
204 (ftfont_drive_otf): Use it.
205 (ftfont_shape_by_flt): Handle variation selector.
206 (ftfont_variation_glyphs): New function.
207
28cd591f
MR
2082008-12-30 Martin Rudalics <rudalics@gmx.at>
209
210 * frame.c (Vemacs_iconified): Remove.
211
7f714baf
JR
2122008-12-30 Jason Rumney <jasonr@gnu.org>
213
214 * frame.c (store_frame_param, x_get_arg): Enable newer code on
9acef61c 215 WINDOWSNT too, as related changes have already been synced. (Bug#117)
7f714baf 216
9d2d22ab
CY
2172008-12-30 Chong Yidong <cyd@stupidchicken.com>
218
219 * indent.c (Fvertical_motion): Don't advance iterator if we have
220 reseated to the desired position.
221
222 * xdisp.c (move_it_to): Handle GET_FROM_STRETCH method when
223 checking for pos match.
224
545312c2
KH
2252008-12-30 Kenichi Handa <handa@m17n.org>
226
1ede3eb6
KH
227 * insdel.c (copy_text): To convert a non-ASCII char to unibyte,
228 just get the low 8-bit of the code.
229
545312c2
KH
230 * font.c (font_intern_prop): Validate str as multibyte.
231
bd7bbf29
DN
2322008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
233
31e0750e
DN
234 * dispextern.h (struct face): Move lface and hash from the middle
235 of bitfields.
236
bd7bbf29
DN
237 * Makefile.in (INTERVALS_H): Rename from INTERVAL_SRC, update all users.
238
b5672e7c
DN
2392008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
240
241 * Makefile.in (INTERVAL_SRC): Also depend on dispextern.h.
242 (coding.o, dispnew.o, keymap.o, msdos.o): Depend on INTERVAL_SRC
243 instead of intervals.h.
244
d704470f
AS
2452008-12-26 Andreas Schwab <schwab@suse.de>
246
247 * keymap.c (map_keymap_char_table_item): Make a copy of KEY if it is a
248 cons.
249
54b33868
MR
2502008-12-26 Martin Rudalics <rudalics@gmx.at>
251
252 * textprop.c (Qminibuffer_prompt): New variable.
253 (syms_of_textprop): Initialize it.
254 * callint.c (Fcall_interactively): For `c', `k', and `K' prompt
255 in minibuffer-prompt face. (Bug#1662)
256
40b615d6
JR
2572008-12-25 Jason Rumney <jasonr@gnu.org>
258
259 * buffer.c (Fbuffer_swap_text): Use POINTER_TYPE.
260
baae5c2d
JR
2612008-12-24 Jason Rumney <jasonr@gnu.org>
262
263 * ralloc.c (r_alloc_reset_variable): New function.
264
265 * buffer.c (Fbuffer_swap_text) [REL_ALLOC]: Reset ralloc's internal
9acef61c 266 record of what points where. (Bug#716)
baae5c2d 267
a9051c88
DN
2682008-12-22 Dan Nicolaescu <dann@ics.uci.edu>
269
270 * minibuf.c (read_minibuf): Follow the non-interactive case when
271 running as a daemon, before detaching.
272
8b146312
AS
2732008-12-22 Andreas Schwab <schwab@suse.de>
274
275 * buffer.c (init_buffer): Use realloc instead of xrealloc.
276 * gtkutil.c (free_widget_value): Use xfree instead of free.
277
56f2de10
MR
2782008-12-22 Martin Rudalics <rudalics@gmx.at>
279
280 * frame.c (delete_frame): New function derived from
281 Fdelete_frame to handle Qnoelisp value for FORCE argument.
282 Delete last frame iff FORCE equals Qnoelisp. (Bug#1450)
283 (Fdelete_frame): Call delete_frame. Remove line from doc-string
284 saying that FORCE non-nil doesn't run `delete-frame-functions'.
285 * frame.h: Extern delete_frame.
286 * window.c (window_loop):
287 * terminal.c (delete_terminal):
288 * xterm.c (x_connection_closed):
289 * xfns.c (Fx_hide_tip):
9acef61c 290 * w32fns.c (Fx_hide_tip): Call delete_frame instead of Fdelete_frame.
56f2de10 291
1fc200d6
JR
2922008-12-21 Jason Rumney <jasonr@gnu.org>
293
294 * w32uniscribe.c (uniscribe_encode_char): Return FONT_INVALID_CHAR
295 when character maps to .notdef character.
296
5e252df2
SM
2972008-12-21 Stefan Monnier <monnier@iro.umontreal.ca>
298
299 * keyboard.c (cmd_error_internal): Don't exit in daemon mode, bug#1310.
300
99b72cc4
JR
3012008-12-20 Jason Rumney <jasonr@gnu.org>
302
303 * frame.c (Fmake_terminal_frame): Raise an error when called from
9acef61c 304 a graphical frame on Windows. (Bug#1325)
99b72cc4 305
acc49a52
JD
3062008-12-20 Jan Djärv <jan.h.d@swipnet.se>
307
308 * frame.c (Fdelete_frame): Set f->menu_bar_vector to Qnil.
309
6ea15123
CY
3102008-12-20 Chong Yidong <cyd@stupidchicken.com>
311
312 * minibuf.c (Fread_buffer): Doc fix.
313
b2dab6c8
JR
3142008-12-20 Jason Rumney <jasonr@gnu.org>
315
54ea0c87 316 * fileio.c (Fexpand_file_name): Do not allow ../ to go beyond the
9acef61c 317 server name in UNC paths. (Bug#719)
54ea0c87 318
b2dab6c8 319 * coding.c (decode_coding): Clear chars_at_source flag when using
9acef61c 320 charbuf. (Bug#1035)
b2dab6c8 321
6d1921be
DN
3222008-12-19 Daniel Engeler <engeler@gmail.com>
323
324 * sysdep.c (serial_configure): Fix typo.
325
53934c98
DN
3262008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
327
328 * sysdep.c: Include alloca.h.
f4f634e8
DN
329 (system_process_attributes): Add implementation for Solaris.
330
331 * s/sol2-10.h (HAVE_PROCFS, _STRUCTURED_PROC): New defines.
53934c98 332
06e111a6
DN
3332008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
334
335 Reorganize implementation of Flist_system_processes and
336 Fsystem_process_attributes. No functional changes.
337 * process.c: Don't #include pwd.h, grp.h and limits.h.
338 (Flist_system_processes): Just call list_system_processes.
339 (Fsystem_process_attributes): Just call system_process_attributes.
340 (procfs_list_system_processes, time_from_jiffies)
341 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
342 (procfs_get_total_memory, procfs_system_process_attributes): Move ...
343
344 * sysdep.c: ... here. Include pwd.h, grp.h and limits.h.
345 (list_system_processes): Rename from
346 procfs_list_system_processes. Enclose in #ifdef HAVE_PROCFS.
347 Provide a do nothing implementation.
348 (system_process_attributes): Rename from
349 procfs_list_system_processes.
350 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
9acef61c 351 (procfs_get_total_memory): Enclose in #ifdef GNU_LINUX.
06e111a6
DN
352
353 * w32.c (list_system_processes): Rename from
354 w32_list_system_processes.
355 (system_process_attributes): Rename from
356 w32_system_process_attributes.
357
358 * s/gnu-linux.h (LISTPROC, PROCATTR): Remove.
359
360 * process.h (w32_list_system_processes)
361 (w32_system_process_attributes): Remove.
362 (list_system_processes, system_process_attributes): New
363 prototypes.
364
6a705b23
KH
3652008-12-19 Kenichi Handa <handa@m17n.org>
366
367 * xfont.c (xfont_decode_coding_xlfd): New function.
368 (xfont_encode_coding_xlfd): New function.
369 (xfont_list_pattern): Decode XLFD by iso-8859-1.
370 (xfont_list): Decode and encode XLFD by iso-8859-1.
371 (xfont_match): Likewise.
372 (xfont_list_family): Likewise.
373 (xfont_open): Likewise.
374
d66c0241 375 * ftfont.c (ftfont_open): Generate a multibyte string if given
6a705b23
KH
376 names are utf-8.
377
d66c0241 378 * xftfont.c (xftfont_open): Generate a multibyte string if given
6a705b23
KH
379 names are utf-8.
380
5a130941
JD
3812008-12-18 Jan Djärv <jan.h.d@swipnet.se>
382
383 * gtkutil.c (xg_frame_resized): Remove check if rows/columns have
384 changed.
bfd20325
JD
385 (xg_tool_bar_proxy_callback): Put focus on the frame after we have
386 clicked on a detached tool bar button.
5a130941 387
fd95644b
DN
3882008-12-18 Dan Nicolaescu <dann@ics.uci.edu>
389
390 * emacs.c (main): Print and error and exit when no data is read
391 from the pipe.
392
e6eee6ae
JR
3932008-12-17 Jason Rumney <jasonr@gnu.org>
394
395 * w32font.c (w32font_has_char): Always return -1.
396
a35dd56b
KH
3972008-12-16 Kenichi Handa <handa@m17n.org>
398
399 * font.c (font_open_entity): Fix previous change.
400
0e3635c2
DN
4012008-12-16 Dan Nicolaescu <dann@ics.uci.edu>
402
403 * process.c: Include <limits.h>.
404
d4835507 4052008-12-16 Chetan Pandya <pandyacus@sbcglobal.net> (tiny change)
b5356c39
CY
406
407 * font.c (font_update_drivers): Fix mistake in reconstructing the
408 driver list.
409
4102008-12-16 Chong Yidong <cyd@stupidchicken.com>
411
412 * font.c (font_clear_cache): Fix format of font cache data.
413
e2cbc401
CY
4142008-12-15 Chong Yidong <cyd@stupidchicken.com>
415
416 * xftfont.c (xftfont_open): Free Xft font pattern if
417 XftFontOpenPattern fails.
418
419 * xterm.c (x_free_frame_resources): Remove extraneous call to
420 free_frame_faces.
421
b131d535
CY
4222008-12-13 Chong Yidong <cyd@stupidchicken.com>
423
424 * xterm.c (x_delete_display): Move xim_close_dpy call to
425 x_delete_terminal.
426 (x_delete_terminal): Call xim_close_dpy.
427
e6df5336
JR
4282008-12-13 Jason Rumney <jasonr@gnu.org>
429
430 * w32font.c (intern_font_name): New function.
431 (add_font_name_to_list, w32_enumfont_pattern_entity): Use it.
432 (w32font_open_internal, Fx_select_font): Decode font name.
433 (fill_in_logfont, list_all_matching_fonts): Encode font name.
434
435 * w32font.h (intern_font_name): Declare new function.
436
437 * w32uniscribe.c (add_opentype_font_name_to_list):
438 Use intern_font_name.
439
20d68145
CY
4402008-12-13 Chong Yidong <cyd@stupidchicken.com>
441
9f2554de
CY
442 * frame.c (Fdelete_frame): Call free_font_driver_list.
443
3d9bec9a
CY
444 * font.c (free_font_driver_list): Implement missing function.
445
20d68145
CY
446 * w32term.c (w32_term_init): Don't initialize the image cache
447 here; it will be done in init_frame_faces.
448
449 * xterm.h (struct xim_inst_t): Definition moved from xterm.c.
450 (struct x_display_info): Remove unused member null_pixel. New
451 member xim_callback_data.
452
453 * xterm.c (struct xim_inst_t): Definition moved to xterm.h.
454 (xim_initialize): Save pointer to callback function data.
455 (xim_close_dpy): Free callback function data. Call XCloseIM,
456 reverting 2008-11-04 change by David Smith.
457 (x_term_init): Don't initialize the image cache here; it will be
458 done in init_frame_faces. Remove ancient "null_pixel" cruft.
459 (x_delete_display): Free x_dnd_atoms member.
460
96f9306b
KH
4612008-12-13 Kenichi Handa <handa@m17n.org>
462
6dec9044
JB
463 * font.c (font_rescale_ratio): Moved from xfaces.c.
464 Argument type changed. Handle a font-spec too.
96f9306b 465 (font_score): Check Vface_font_rescale_alist.
6dec9044 466 (font_open_entity): Likewise. (Bug#1547)
96f9306b
KH
467
468 * xfaces.c (font_rescale_ratio): Moved to font.c.
469
8d5b4964
CY
4702008-12-13 Chong Yidong <cyd@stupidchicken.com>
471
472 * xfns.c (Fx_wm_set_size_hint): Check if the frame is an X frame.
473
e6df5336
JR
4742008-12-12 Jason Rumney <jasonr@gnu.org>
475
476 * w32fns.c (x_display_info_for_name, Fx_open_connection): Set
477 Vwindow_system_version to the real w32 major version.
478
97c6058a
DN
4792008-12-12 Dan Nicolaescu <dann@ics.uci.edu>
480
481 * term.c (init_tty): Move setting the terminal name before the
482 potential user: maybe_fatal.
483
ec4e88d7
CY
4842008-12-11 Chong Yidong <cyd@stupidchicken.com>
485
d4835507
JB
486 * term.c (tty_free_frame_resources): Renamed from delete_tty_output;
487 all callers changed. Call free_frame_faces to free the face cache.
ec4e88d7 488
b4233ec9
JR
4892008-12-11 Jason Rumney <jasonr@gnu.org>
490
8ec71e23 491 * w32font.c (fill_in_logfont): Don't assume symbol script means
9acef61c 492 SYMBOL_CHARSET. (Bug#547)
8ec71e23 493
b4233ec9 494 * w32uniscribe.c (uniscribe_encode_char): Increase glyph buffer
9acef61c 495 size for surrogates. (Bug#1096, bug#872)
b4233ec9 496
011a0143
JB
4972008-12-11 Juanma Barranquero <lekktu@gmail.com>
498
499 * w32proc.c (Fw32_get_locale_info): Decode long form of locale name.
500
3c309f34
JB
5012008-12-11 Juanma Barranquero <lekktu@gmail.com>
502
503 * process.c (Fsystem_process_attributes, syms_of_process):
504 Fix typo in name of Ssystem_process_attributes.
505 Reported by Ulrich Mueller <ulm@kph.uni-mainz.de>.
506
fedc6ab5
JB
5072008-12-11 Juanma Barranquero <lekktu@gmail.com>
508
509 * syntax.c (Fmodify_syntax_entry): Doc fix.
510
ba3de0e8
JB
5112008-12-10 Juanma Barranquero <lekktu@gmail.com>
512
513 * font.c (Ffont_spec): Move usage to end of docstring.
514
174f1c74
JR
5152008-12-10 Jason Rumney <jasonr@gnu.org>
516
517 * w32font.c (Qcham): New symbol.
518 (font_supported_scripts): Add cham, and comments for other new
519 scripts in bitfield from OpenType spec.
9d32f818
JR
520 (add_font_entity_to_list): Limit unicode-sip fonts to those that
521 contain characters beyond the bmp.
174f1c74 522
7b649478
KH
5232008-12-10 Kenichi Handa <handa@m17n.org>
524
525 * ftfont.c (fc_charset_table): Add "unicode-sip".
2ae37cf0 526 (ftfont_spec_pattern): Lookup fc_charset_table for the registry
7b649478
KH
527 Qunicode_sip.
528
2133e2d1
JB
5292008-12-10 Juanma Barranquero <lekktu@gmail.com>
530
531 * coding.c (QCdefault_char): Rename from QCdefalut_char.
532 (Fcoding_system_put): Use QCdefault_char.
533 (syms_of_coding): Set QCdefault_char, not QCdefalut_char.
534
9af886ee
CY
5352008-12-09 Chong Yidong <cyd@stupidchicken.com>
536
74d819eb
CY
537 * xftfont.c (syms_of_xftfont): Fix typo.
538
4ccfa1c0 539 * buffer.c (Fbuffer_swap_text): Signal error if swapping a dead buffer.
9af886ee 540
7c19d3ae
DN
5412008-12-08 Dan Nicolaescu <dann@ics.uci.edu>
542
543 * emacs.c (main): Close daemon_pipe on exec.
544
567826bb
CY
5452008-12-08 Chong Yidong <cyd@stupidchicken.com>
546
547 * termchar.h (struct tty): New members termcap_term_buffer and
548 termcap_strings_buffer.
549
550 * term.c (encode_terminal_code): Free any previous memory blocks
4ccfa1c0 551 before calling xmalloc for encode_terminal_src or encode_terminal_dst.
567826bb
CY
552 (maybe_fatal): Buffer argument deleted. Don't free buffer here.
553 All callers changed.
554 (init_tty): Store termcap data and string buffers in new struct
555 tty members termcap_term_buffer and termcap_strings_buffer.
556 (delete_tty): Free them.
4ccfa1c0 557 (syms_of_term): Initialize encode_terminal_src and encode_terminal_dst.
567826bb 558
aa96c42b
SZ
5592008-12-07 Seiji Zenitani <zenitani@mac.com>
560
561 * nsfns.m (ns_set_background_color): Remove code duplication.
4ccfa1c0 562 It was a substitute for face-transparency on OS X 10.3.
aa96c42b 563
b7e1d896
CY
5642008-12-06 Chong Yidong <cyd@stupidchicken.com>
565
566 * coding.c (make_conversion_work_buffer): Disable buffer
567 modification hooks in the work buffer.
568
b5ec91a5
EZ
5692008-12-05 Eli Zaretskii <eliz@gnu.org>
570
571 * process.c (procfs_system_process_attributes): If `nread' has a
572 negative value, assign zero to it.
573
a5d2a52b
CY
5742008-12-05 Chong Yidong <cyd@stupidchicken.com>
575
68c5540b 576 * eval.c (Vdebug_on_error): Doc fix.
a5d2a52b 577
7bf1bb21
KH
5782008-12-05 Kenichi Handa <handa@m17n.org>
579
580 * ftfont.c (ftfont_shape_by_flt): Use "combining" flt if the
581 second character is a combining character.
582
2fdc7d00
EZ
5832008-12-05 Eli Zaretskii <eliz@gnu.org>
584
585 * process.c (procfs_system_process_attributes): Don't use cmd,
586 cmdsize, and q without initializing them first.
587
bf6bfba8
JR
5882008-12-04 Jason Rumney <jasonr@gnu.org>
589
590 * w32font.c (w32font_draw): Initialize orig_clip before getting
591 it, and delete it when finished.
592
a3b1a468
DN
5932008-12-04 Dan Nicolaescu <dann@ics.uci.edu>
594
595 * keyboard.c (kbd_buffer_get_event): Follow the non-interactive
596 case when running as a daemon before detaching.
597
8b8be8eb
JB
5982008-12-03 Juanma Barranquero <lekktu@gmail.com>
599
805f2638 600 * w32.c (init_environment): Don't unload library shell32.dll.
8b8be8eb 601
b1bde622
KH
6022008-12-03 Kenichi Handa <handa@m17n.org>
603
e500c47d
KH
604 * font.c (font_at): Set `multibyte' at first.
605
ca516334
KH
606 * coding.c (decode_coding_charset): Check type of an element of
607 vector VALIDS.
7bf1bb21 608 (encode_coding_emacs_mule): Be sure to set `code'.
ca516334 609
4ccfa1c0 610 * fontset.c (face_for_char): Handle invalid charset property correctly.
b1bde622
KH
611 (font_for_char): Likewise.
612
1e5ecd37
CY
6132008-12-03 Chong Yidong <cyd@stupidchicken.com>
614
d5b01609 615 * font.c (Fopen_font): Compute pixel size correctly.
ba207571
CY
616 (font_update_lface): Handle fonts with corrupted size specs,
617 i.e. non-int and non-float.
d5b01609 618
11e3a6e4 619 * ftfont.c (ftfont_match): Initialize entity variable.
9a48c8cb 620 (ftfont_resolve_generic_family): Avoid using uninitialized var.
8adb3a3b 621 (ftfont_list_family): Initialize list var earlier.
11e3a6e4 622
ab06788b
CY
623 * xselect.c (Fx_get_cut_buffer_internal): Fix memory leak.
624
1e5ecd37 625 * xterm.c (x_draw_glyph_string): Fall back on
0cff82ab 626 underline_minimum_offset for underline position.
1e5ecd37 627
63c125ab
DN
6282008-12-03 Dan Nicolaescu <dann@ics.uci.edu>
629
630 * keyboard.c (read_char_help_form_unwind): Specify the type for ARG.
631
632 * character.c (c_string_width): Specify the type for LEN.
633
3a8406e1
KH
6342008-12-03 Kenichi Handa <handa@m17n.org>
635
4ccfa1c0 636 * coding.c (decode_coding_utf_16): Initialize consumed_chars_base to 0.
453b38f0 637 (decode_coding_utf_8): Likewise.
4ccfa1c0 638 (detect_coding_system): Initialize utf_16_le_eol to -1, val to Qnil.
4533845d 639 (produce_chars): Initialize consumed_chars to 0.
3a8406e1 640
651df7d9
CY
6412008-12-02 Chong Yidong <cyd@stupidchicken.com>
642
643 * keyboard.c (make_lispy_position): Only use PT if the selected
644 window is current.
645
1f625c6c
AS
6462008-12-02 Andreas Schwab <schwab@suse.de>
647
f7741ce9
AS
648 * font.c (font_unparse_fcname): Fix use of uninitialized variable.
649
1f625c6c
AS
650 * doprnt.c (doprnt1): Fix size of charbuf.
651
92bc2678
CY
6522008-12-02 Chong Yidong <cyd@stupidchicken.com>
653
654 * keyboard.c (timer_check): Revert last change.
655
93b9e8cc
JB
6562008-12-02 Juanma Barranquero <lekktu@gmail.com>
657
658 * makefile.w32-in ($(BLD)/w32console.$(O)): Fix silly, silly typo.
659
fd7a37d5
JB
6602008-12-01 Juanma Barranquero <lekktu@gmail.com>
661
662 * makefile.w32-in: Update dependencies.
663 (CONFIG_H): Add $(EMACS_ROOT)/nt/inc/sys/time.h.
664
c115043b
AS
6652008-12-01 Andreas Schwab <schwab@suse.de>
666
667 * font.c (register_font_driver): Use xmalloc.
668 (font_put_frame_data): Likewise.
669
f5668d2a
CY
6702008-12-01 Chong Yidong <cyd@stupidchicken.com>
671
860d96be
CY
672 * xfaces.c (realize_x_face): Make abort condition clearer.
673
f5668d2a
CY
674 * gtkutil.c (update_frame_tool_bar): Initialize variable.
675
379c17e7
CY
6762008-11-30 Chong Yidong <cyd@stupidchicken.com>
677
678 * keyboard.c (timer_check): After a timer runs, ensure that the
679 selected window's buffer is current.
680
35f36d65
JB
6812008-11-30 Juanma Barranquero <lekktu@gmail.com>
682
f952c61c
JB
683 * makefile.w32-in ($(BLD)/abbrev.$(O)): Remove.
684 It was accidentally restored by the Unicode merge.
685
35f36d65
JB
686 * w32proc.c (Fw32_get_locale_info): Fix typo in docstring.
687
b23077df
JB
6882008-11-29 Juanma Barranquero <lekktu@gmail.com>
689
690 * w32proc.c: Include "coding.h".
691 (Fw32_short_file_name): Encode filename passed to Windows API.
692 (Fw32_long_file_name): Encode filename passed to Windows API and
693 decode back the result. (Bug#1433)
694
b8ebe9dd
KH
6952008-11-29 Kenichi Handa <handa@m17n.org>
696
8cc53f96
KH
697 * charset.h (CHAR_CHARSET_P): Check if the encoder is loaded or
698 not before accessing it.
699
b8ebe9dd
KH
700 * charset.c (Fdefine_charset_internal): After calculating
701 min_char, max_char, and fastmap, copy the charset structure again.
702 (encode_char): Fix the previous change.
703
59bc82c0
SZ
7042008-11-28 Seiji Zenitani <zenitani@mac.com>
705
706 * frame.c (x_set_alpha) [NS_IMPL_COCOA]: Call x_set_frame_alpha.
707
708 * nsfns.m (ns_frame_parm_handlers): Set alpha handler.
709
710 * nsterm.m (x_set_frame_alpha): New function.
711
32247e3d
EZ
7122008-11-27 Eli Zaretskii <eliz@gnu.org>
713
714 * xfaces.c (Fx_font_family_list, syms_of_xfaces): Fix last change.
715
b003e5ff
JB
7162008-11-27 Juanma Barranquero <lekktu@gmail.com>
717
718 * w32font.c (add_font_entity_to_list): Pass the right LOGFONT
719 pointer to check_face_name.
720
708550f5
KH
7212008-11-27 Kenichi Handa <handa@m17n.org>
722
723 * category.h (SET_CATEGORY_SET): Call set_category_set.
724 (set_category_set): Extern it.
725
726 * category.c (hash_get_category_set): New function.
727 (Fmodify_category_entry): Adjusted for the change of
728 char_table_ref_and_range. Call hash_get_category_set to get a
729 category set to store in the table.
730
731 * character.h (MAYBE_UNIFY_CHAR): Call maybe_unify_char instead of
732 Funify_charset.
733
2ae37cf0 734 * charset.h (enum charset_method): Delete CHARSET_METHOD_MAP_DEFERRED.
708550f5
KH
735 (DECODE_CHAR): Check if the decoder vector is ready.
736 (ENCODE_CHAR): Check if the encoder char-table is ready.
737 (maybe_unify_char): Extern it.
738
739 * charset.c (Vchar_unified_charset_table): Delete it.
740 (inhibit_load_charset_map): New variable.
741 (temp_charset_work): New variable.
742 (SET_TEMP_CHARSET_WORK_ENCODER, GET_TEMP_CHARSET_WORK_ENCODER)
743 (SET_TEMP_CHARSET_WORK_DECODER, GET_TEMP_CHARSET_WORK_DECODER):
744 New macros.
745 (load_charset_map): Meaning of control_flag changed. If
746 inhibit_load_charset_map is nonzero, setup a table in
747 temp_charset_work.
748 (load_charset): New argument control_flag.
749 (map_charset_for_dump): New function.
750 (map_charset_chars): If inhibit_load_charset_map is nonzero, use
751 map_charset_for_dump.
752 (Fdefine_charset_internal): If the charset method is MAP, load
753 mapping tables by calling load_charset.
754 (Funify_charset): Don't load a mapping table but directly set
755 Vchar_unify_table.
756 (maybe_unify_char): New function.
757 (decode_char): Don't handle the deleted method MAP_DEFERRED.
758 Handle the case of inhibit_load_charset_map being nonzero.
759 (encode_char): Don't handle the deleted method MAP_DEFERRED.
760 Handle the case of inhibit_load_charset_map being nonzero.
761 (Fclear_charset_maps): Just free temp_charset_work.
762 (syms_of_charset): Make `inhibit-load-charset-map' a Lisp
763 variable.
764
765 * chartab.c (sub_char_table_ref_and_range): Adjusted for the
766 change of char_table_ref_and_range.
767 (char_table_ref_and_range): Change the meaning of argument FROM
768 and TO. Now the caller must provide initial values for *FROM
769 and *TO.
770
771 * fontset.c (fontset_add): Adjusted for the change of
772 char_table_ref_and_range.
773 (fontset_get_font_group): Likewise.
774 (Ffontset_info): Likewise.
775
776 * keymap.c (describe_vector): Adjusted for the change of
777 char_table_ref_and_range. For char-table, put boundary between
778 non-ASCII and 8-bit characters.
779
780 * print.c (print_object): For bool-vector, delete unnecessary
781 check of ASCII_BYTE_P.
782
9196133b
JR
7832008-11-26 Jason Rumney <jasonr@gnu.org>
784
785 * w32font.c (w32font_open_internal): Don't include external
9acef61c 786 leading in font height. (Bug#879)
9196133b 787
9f688acf
GM
7882008-11-26 Glenn Morris <rgm@gnu.org>
789
790 * xfaces.c (Fx_font_family_list): Replace lisp/term/pc-win.el
791 redefinition with ifdef. (Bug#1383)
792
90d19aff
AR
7932008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
794
795 * nsterm.m (ns_get_color): Handle long hex strings (fixes bug #1044).
796
4ccfa1c0 7972008-11-24 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
90d19aff
AR
798
799 * nsterm.m (-otherMouseDown:, -otherMouseUp:, -otherMouseDragged):
800 New EmacsView methods.
801 (EV_UDMODIFIERS, EV_BUTTON): Add OtherMouse constants.
802 Fixes bug #1048,1357,1414.
803
8042008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
805
806 Fix bug #1362.
807 * image.c (x_clear_image_1): Do not free background under HAVE_NS, it
808 is not an indexed color.
809 * nsterm.m (free_indexed_color): Add argument checking.
810 * nsfns.m: Move config.h to before system includes (advised by Dan N.).
811
e7d5ecb3
CY
8122008-11-24 Chong Yidong <cyd@stupidchicken.com>
813
814 * minibuf.c (Fcompleting_read, Vminibuffer_completion_confirm):
815 Document confirm-after-completion value for
816 minibuffer-completion-confirm.
817
c285743c
JR
8182008-11-24 Jason Rumney <jasonr@gnu.org>
819
820 * w32font.c (check_face_name): Use xstrcasecmp. Avoid compiler
821 warning.
822
b0857706
JR
8232008-11-23 Jason Rumney <jasonr@gnu.org>
824
825 * w32uniscribe.c (uniscribe_encode_char): Ensure context is
826 restored before returning.
827
828 * w32font.c (check_face_name): New function.
829 (add_font_entity_to_list): Use it to filter out common substituted
9acef61c 830 fonts. (Bug#642)
b0857706 831
ee50ff07
MR
8322008-11-22 Martin Rudalics <rudalics@gmx.at>
833
834 * buffer.c (Fswitch_to_buffer): Reword and mention new option
835 confirm-nonexistent-file-or-buffer in doc-string.
836
b8ff72fa
SM
8372008-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
838
839 * buffer.c (Fbuffer_swap_text): Remove redundant marker manipulation.
840 Fix copy/paste typo. Add checks.
841
cee53ed4
KH
8422008-11-21 Kenichi Handa <handa@m17n.org>
843
844 * coding.c (detect_coding_iso_2022): Reject invalid composition
845 sequence.
846 (DECODE_COMPOSITION_START): If the current source is the last
847 block, and the current composition doesn't end, regard this
848 sequence as invalid.
849 (decode_coding_iso_2022): Handle invalid composition sequence.
850
f6ef1e65
MR
8512008-11-20 Martin Rudalics <rudalics@gmx.at>
852
853 * window.c (coordinates_in_window): Don't return
854 ON_VERTICAL_BORDER for the rightmost position of a mode/header
855 line when the window is not the rightmost one. (Bug#1372)
856
e08b1705
MR
8572008-11-16 Ben North <ben@redfrontdoor.org> (tiny change)
858
859 * buffer.c (syms_of_buffer): Fix doc-string of cursor-type.
860
ad98e89f
EZ
8612008-11-15 Eli Zaretskii <eliz@gnu.org>
862
863 * msdos.c (run_msdos_command): Don't call dos_ttcooked, dos_ttraw,
864 and bright_bg if noninteractive is non-zero.
865
fb098a4b
CY
8662008-11-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
867
868 * xterm.c (x_draw_glyph_string): For stretch glyphs, don't call
869 x_draw_glyph_string_background.
870
871 * w32term.c (x_draw_glyph_string): Likewise.
872
ce952b6e
CY
8732008-11-15 Chong Yidong <cyd@stupidchicken.com>
874
875 * xterm.c (x_draw_glyph_string): Stop drawing the background of
876 the next glyph string once past the overhang width.
877
878 * nsterm.m (ns_draw_glyph_string): Likewise.
879
880 * w32term.c (x_draw_glyph_string): Likewise.
881
26ea7079
CY
8822008-11-14 Fabrice Popineau <fabrice.popineau@supelec.fr> (tiny change)
883
884 * fileio.c (Finsert_file_contents): Decrement specpdl_ptr to avoid
885 double file close.
886
1c33c906
MR
8872008-11-14 Martin Rudalics <rudalics@gmx.at>
888
889 * window.c (window_loop): In DELETE_BUFFER_WINDOWS case, reset
890 dedicated status of window before attempting to display another
891 buffer in it.
892
8fc29035
JB
8932008-11-14 Juanma Barranquero <lekktu@gmail.com>
894
895 * msdos.c (Fmsdos_long_file_names):
896 (syms_of_msdos) <dos-unsupported-char-glyph>:
897 * dosfns.c (Fint86): Fix typos in docstrings.
898
55fb4286
EZ
8992008-11-14 Eli Zaretskii <eliz@gnu.org>
900
901 * makefile.w32-in (OBJ1, WIN32OBJ): Fix whitespace.
902
3fda0315
KY
9032008-11-14 Katsumi Yamaoka <yamaoka@jpl.org>
904
905 * puresize.h (BASE_PURESIZE): Increase to 1260000.
906
7e849c17
CY
9072008-11-12 Michal Nazarewicz <mina86@tlen.pl> (tiny change)
908
909 * frame.c (x_set_alpha): Set alpha to -1 if nil given.
910
911 * frame.h: Negative alpha means "don't touch".
912
913 * w32term.c (x_set_frame_alpha): Do nothing if alpha is negative.
914
915 * xterm.c (x_set_frame_alpha): Do nothing if alpha is negative.
916
b9fd67bd
DN
9172008-11-12 Dan Nicolaescu <dann@ics.uci.edu>
918
919 * hftctl.c:
920 * chpdef.h:
921 * acldef.h: Remove files used only for systems no longer supported.
922
923 * Makefile.in: Fix .o alphabetical ordering.
924 (hftctl.o): Remove dependency, file removed.
925 (keymap.o, print.o): Depend on charset.h.
926
d5998e03
KH
9272008-11-10 Kenichi Handa <handa@m17n.org>
928
2ae37cf0 929 * character.c (Fget_byte): Fix and make it faster for unibyte target.
d5998e03 930
be70e183
CY
9312008-11-08 Chong Yidong <cyd@stupidchicken.com>
932
933 * dired.c (file_name_completion): If completion_ignore_case is
934 enabled, ignore case when checking completion-regexp-list.
935
7cf94eac
EZ
9362008-11-08 Eli Zaretskii <eliz@gnu.org>
937
938 * vm-limit.c (get_lim_data): Fix last change.
939
ee107a89
KH
9402008-11-08 Kenichi Handa <handa@m17n.org>
941
942 * character.c (Fget_byte): New function.
943 (syms_of_character): Defsubr Fget_byte.
944
5fd15622
CY
9452008-11-07 Chong Yidong <cyd@stupidchicken.com>
946
947 * xdisp.c (try_window_reusing_current_matrix): Ensure that window
948 cursor position is valid after scrolling.
949
13d62fad
JB
9502008-11-06 Juanma Barranquero <lekktu@gmail.com>
951
952 * fns.c (Frandom): Rename arg N to LIMIT to match the docs; doc fix.
953
a1dd2936
GM
9542008-11-06 Glenn Morris <rgm@gnu.org>
955
956 * xterm.c (handle_one_xevent): Don't let popup menus cause
957 mouse-autoselect-window related window switching. (Bug#1261)
958
860cd236
CY
9592008-11-04 David Smith <davidsmith@acm.org> (tiny change)
960
961 * xterm.c (xim_close_dpy): Avoid double-free on X11R6 XIM.
962
653a3150
AS
9632008-11-04 Andreas Schwab <schwab@suse.de>
964
965 * xfns.c (Fx_wm_set_size_hint): Add missing return value.
966
870f5cac
CY
9672008-11-03 Chong Yidong <cyd@stupidchicken.com>
968
969 * xfns.c (Fx_wm_set_size_hint): New function.
970
1e02f3cb
MR
9712008-11-03 Martin Rudalics <rudalics@gmx.at>
972
973 * textprop.c (Fprevious_single_char_property_change): Return 0
974 when there's no change in a string. (Bug#1301)
975
e630dfc6
MR
9762008-11-02 Martin Rudalics <rudalics@gmx.at>
977
978 * frame.c (do_switch_frame): New argument NORECORD passed to
979 Fselect_window.
980 (Fselect_frame): New argument NORECORD passed to
981 do_switch_frame.
982 (Fset_frame_selected_window): New argument NORECORD passed to
983 Fselect_frame.
984 (Fhandle_switch_frame, Fdelete_frame): Handle NORECORD argument
985 in call of do_switch_frame.
986 (Fset_mouse_position, Fset_mouse_pixel_position, Fraise_frame):
987 Handle NORECORD argument in call of Fselect_frame.
988 * lisp.h (do_switch_frame, Fselect_frame)
989 (Fset_frame_selected_window): Adjust declarations.
990 * window.c (select_frame_norecord): New function.
991 (run_window_configuration_change_hook): Use it and call
992 Fselect_frame with NORECORD set.
993 (Fselect_window): Pass NORECORD to Fselect_frame.
994 (Fset_window_configuration): Handle NORECORD argument in call of
995 do_switch_frame.
996 * minibuf.c (choose_minibuf_frame): Handle NORECORD in call of
997 Fset_frame_selected_window.
998 * keyboard.c (command_loop_1): Handle NORECORD in call of
999 Fselect_frame (currently ifdefd).
1000
9020b223
GM
10012008-11-02 Ulrich Mueller <ulm@kph.uni-mainz.de>
1002
1003 * emacs.c (USAGE2): Untabify.
1004
793ffee8
SM
10052008-11-01 Stefan Monnier <monnier@iro.umontreal.ca>
1006
1007 * composite.c (fill_gstring_header): Fix copy/paste typo.
1008
ab6d1131
MR
10092008-10-31 Martin Rudalics <rudalics@gmx.at>
1010
1011 * window.c (Fnext_window, Fprevious_window): Rewrite doc-string.
1012 (Fother_window): Rename argument and rewrite doc-string.
1013 (select_window_norecord): Fix return value. (Bug#1276)
1014
601a9cf1
JB
10152008-10-30 Juanma Barranquero <lekktu@gmail.com>
1016
1017 * w32fns.c (x_create_tip_frame): Prevent default foreground color for
1018 new frames overriding foreground for tooltips. Based on similar patch
1019 from Martin Rudalics <rudalics@gmx.at>. (Bug#1032)
1020
813b0652
CY
10212008-10-29 Chong Yidong <cyd@stupidchicken.com>
1022
1023 * emacs.c (Fdaemon_initialized): Initialize nfd.
1024
4414f58f
MR
10252008-10-29 Martin Rudalics <rudalics@gmx.at>
1026
1027 * window.c (Fwindow_height, Fdelete_window, set_window_buffer)
1028 (Fwindow_text_height): Clarify doc-strings.
1029 * xdisp.c (syms_of_xdisp): Mention set-window-buffer in
1030 doc-string of window-scroll-functions.
1031
ecdcaa09
RS
10322008-10-28 Reiner Steib <Reiner.Steib@gmx.de>
1033
1034 * category.c (syms_of_category): Fix typo in docstring.
1035
23fe745a
JB
10362008-10-28 Juanma Barranquero <lekktu@gmail.com>
1037
1038 * window.c (Fwindowp, Fwindow_live_p, Fwindow_minibuffer_p)
1039 (Fcoordinates_in_window_p, Fscroll_left, Fscroll_right):
1040 Fix typos in docstrings.
1041
ff808935
DN
10422008-10-28 Dan Nicolaescu <dann@ics.uci.edu>
1043
1044 * emacs.c (daemon_pipe): Make non-static.
1045 (IS_DAEMON): Move definition ...
1046 * lisp.h (IS_DAEMON): ... here.
1047 (daemon_pipe): Declare.
1048 (is_daemon): Remove.
1049 * dispnew.c (init_display): Use IS_DAEMON.
1050
fc012771
SM
10512008-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
1052
1053 * xdisp.c (pos_visible_p, redisplay_internal, message3_nolog)
1054 (message2_nolog): Check FRAME_INITIAL_P instead of noninteractively.
1055
1056 * emacs.c (is_daemon): Remove.
1057 (main): Don't set is_daemon.
1058 (IS_DAEMON): New macro.
1059 (Fdaemonp, Fdaemon_initialized): Use it.
601a9cf1 1060 (Fdaemon_initialized): Write a char into the pipe to make sure the
fc012771
SM
1061 parent exits.
1062 (syms_of_emacs): Explicitly initialize daemon_pipe[1].
1063
d8bdbe6f
CY
10642008-10-27 Chong Yidong <cyd@stupidchicken.com>
1065
d1a072bf
CY
1066 * nsterm.m (ns_draw_window_cursor): When hbar cursor is on
1067 over-sized glyph, draw it with the default glyph width.
1068
e2e325aa
CY
1069 * w32term.c (x_draw_bar_cursor): When hbar cursor is on over-sized
1070 glyph, draw it with the default glyph width.
1071
1072 * xterm.c (x_draw_bar_cursor): When hbar cursor is on over-sized
1073 glyph, draw it with the default glyph width.
1074
d8bdbe6f
CY
1075 * xdisp.c (try_scrolling): When computing the distance from the
1076 scroll margin to PT, try moving some distance past the window
1077 bottom before giving up.
1078
7bfac547
MR
10792008-10-27 Martin Rudalics <rudalics@gmx.at>
1080
1081 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p)
1082 (Fset_window_buffer): Explain in doc-string that a window can be
1083 "strongly" dedicated to its buffer.
1084
4ff029f6
DN
10852008-10-27 Dan Nicolaescu <dann@ics.uci.edu>
1086
1087 * emacs.c (daemon_name): New variable.
1088 (main): Deal with --daemon=SERVER_NAME.
1089 (Fdaemonp): Return a name if one was passed to --daemon.
1090
5790ef40
DN
10912008-10-26 Romain Francoise <romain@orebokech.com>
1092
f9bd0df9 1093 * emacs.c (daemon_pipe): New variable.
5790ef40
DN
1094 (main): Create a pipe before forking, make the parent exit only after
1095 the child has closed its end of the pipe. Move closing the
1096 descriptors ...
1097 (Fdaemon_initialized): ... here. New function.
1098
f5385255
SM
10992008-10-26 Stefan Monnier <monnier@iro.umontreal.ca>
1100
4d632321
SM
1101 * chartab.c (Foptimize_char_table): Make sure `ascii' doesn't point to
1102 the previous unoptimized table.
1103
f5385255
SM
1104 * window.c (Fset_window_buffer): Undo 2008-10-18 change to re-instate
1105 the distinction between non-nil and non-t value of `dedicated'.
1106
6c56a0f3
CY
11072008-10-25 Chong Yidong <cyd@stupidchicken.com>
1108
1109 * keyboard.c (read_char_minibuf_menu_prompt): Ensure that
f5385255 1110 read_char_minibuf_menu_text is large enough to hold the menu string.
6c56a0f3 1111
fec89261
MR
11122008-10-25 Martin Rudalics <rudalics@gmx.at>
1113
1114 * window.c (Fget_buffer_window, Fdelete_windows_on)
1115 (Freplace_buffer_in_windows): Make buffer argument optional and
1116 rename to buffer_or_name.
1117
34fcddd0
CY
11182008-10-24 Chong Yidong <cyd@stupidchicken.com>
1119
f5385255
SM
1120 * xdisp.c (handle_single_display_spec, handle_display_prop):
1121 Undo 2005-05-16 change.
34fcddd0
CY
1122 (handle_stop): Pop iterator if it's loaded with an empty string.
1123 (get_overlay_strings_1): Don't save iterator if it's loaded with
1124 an empty string (bug#1201).
1125
064766f2
KH
11262008-10-24 Kenichi Handa <handa@m17n.org>
1127
1128 * ftfont.c (ftfont_otf_features): Fix previous change.
1129 (ftfont_otf_capability): Check FeatureList.FeatureCount before
1130 calling ftfont_otf_features.
1131
f9bd0df9 11322008-10-24 Kenichi Handa <handa@m17n.org>
064766f2
KH
1133
1134 * font.c (font_match_p): Fix for the case that a vector of
1135 characters is in script-representative-chars.
1136
1dae9197
MA
11372008-10-24 Michael Albinus <michael.albinus@gmx.de>
1138
1139 * dbusbind.c (xd_in_read_queued_messages): New variable.
f5385255 1140 (XD_SIGNAL1, XD_SIGNAL2, XD_SIGNAL3): New macros. Throw Qdbus_error.
1dae9197
MA
1141 (xd_read_queued_messages): Catch Qdbus_error from the macros.
1142 (all): Replace xsignal1, xsignal2, xsignal3 by the respective
1143 macro. (Bug#1186).
1144
f9bd0df9 11452008-10-23 Ali Bahrami <ali_gnu@emvision.com> (tiny change)
9b3362b8
DN
1146
1147 * s/sol2-10.h: New file.
1148
878a4584
JB
11492008-10-23 Juanma Barranquero <lekktu@gmail.com>
1150
1151 * xdisp.c (fill_glyph_string): Fix typo in source (though the
1152 poor beast has survived 9+ years and the jump from xterm.c!).
1153
cd265ca6
MR
11542008-10-23 Martin Rudalics <rudalics@gmx.at>
1155
1156 * buffer.c (Fget_buffer_create): Rename arg to buffer_or_name.
1157 Reword doc-string.
f5385255 1158 (Fbury_buffer): In doc-string say what happens to the buffer's window.
cd265ca6 1159
472a4dc9
JB
11602008-10-23 Juanma Barranquero <lekktu@gmail.com>
1161
1162 * character.c (syms_of_character) <script-representative-chars>:
1163 <unicode-category-table>: Doc fixes.
1164
159bd5a2
NF
11652008-10-23 Noah Friedman <friedman@splode.com>
1166
1167 * coding.c (make_conversion_work_buffer): Check that
1168 Vcode_conversion_reused_workbuf is a live buffer, otherwise call
1169 Fget_buffer_create.
1170
49f9c344
KH
11712008-10-23 Kenichi Handa <handa@m17n.org>
1172
1173 * font.c (font_add_log): Check the values of extra properties.
1174
12bb3111
MR
11752008-10-22 Martin Rudalics <rudalics@gmx.at>
1176
1177 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
1178 Reword doc-string.
1179 (Fset_window_parameter): Use NILP.
1180 (Fscroll_up, Fscroll_down, Fminibuffer_selected_window)
f5385255 1181 (Frecenter): Use "selected" instead of "current" window in doc-strings.
12bb3111 1182
bbeb4e99
JB
11832008-10-22 Juanma Barranquero <lekktu@gmail.com>
1184
1185 * xdisp.c (next_element_from_buffer): Remove bogus xassert condition.
1186
11872008-10-22 Adrian Robert <Adrian.B.Robert@gmail.com>
cb83c00b
AR
1188
1189 * nsfns.m (ns_appkit_version): New function.
1190 (x-server-version): Use it.
1191 (syms_of_nsfns): Define ns-version-string here, not nsterm.m.
1192 (x-server-vendor): Don't check_ns().
1193
1194 * nsterm.m (syms_of_nsterm): Drop ns-version-string.
1195
a9b555d3
JB
11962008-10-22 Juanma Barranquero <lekktu@gmail.com>
1197
1198 * w32fns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert.
1199 Copied from 2005-02-03 change to xfns.c by Kim F. Storm.
1200
4626499f
KH
12012008-10-22 Kenichi Handa <handa@m17n.org>
1202
e3681952
KH
1203 * syntax.c (scan_words): Call word_boundary_p instead of comparing
1204 scripts.
1205
4626499f
KH
1206 * category.c (word_boundary_p): Check scripts instead of charset.
1207 Handle nil value in word-separating-categories and
1208 word-combining-categories.
1209 (syms_of_category): Fix docstrings of word-separating-categories
1210 and word-combining-categories.
1211
1560f91a
EZ
12122008-10-21 Eli Zaretskii <eliz@gnu.org>
1213
1214 * coding.c (Fencode_coding_region, Fdecode_coding_region)
1215 (Fdecode_coding_string, Fencode_coding_string): Doc fix.
1216
f4668441
MR
12172008-10-21 Martin Rudalics <rudalics@gmx.at>
1218
1219 * buffer.c (Fget_buffer, Fbury_buffer, switch_to_buffer_1):
1220 Rename arg "buffer" to "buffer_or_name".
1221 (Fkill_buffer): Rename arg "buffer" to "buffer_or_name" and make
1222 it optional.
1223 (no_switch_window): Remove since the return value is not used.
a9b555d3 1224 (Fswitch_to_buffer): Rename arg "buffer" to "buffer_or_name".
f4668441
MR
1225 Consider window as dedicated when Fwindow_dedicated_p returns a
1226 non-nil value.
1227 * lisp.h: Remove prototype for no_switch_window.
1228
fd75ddb2
JD
12292008-10-21 Jan Djärv <jan.h.d@swipnet.se>
1230
1231 * emacs.c (main): Unconditionally set PER_LINUX32 and exec
2ae37cf0 1232 temacs when dumping if HAVE_PERSONALITY_LINUX32 is defined.
fd75ddb2 1233
07295713
KH
12342008-10-21 Kenichi Handa <handa@m17n.org>
1235
1236 * coding.c (detect_coding_charset): For iso-8859-* coding systems,
1237 check Vlatin_extra_code_table.
1238
712adc82
EZ
12392008-10-20 Eli Zaretskii <eliz@gnu.org>
1240
1241 * fileio.c (Fset_file_modes): Doc fix.
1242
f549eb0b
MA
12432008-10-19 Michael Albinus <michael.albinus@gmx.de>
1244
1245 * dbusbind.c (XD_OBJECT_TO_DBUS_TYPE): Handle simple type symbols
1246 in arrays.
1247
aac0c6e3
MR
12482008-10-19 Martin Rudalics <rudalics@gmx.at>
1249
1250 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
1251 Mention kill-buffer in doc-string.
1252 (Fset_window_buffer): Reinsert tem check removed in last commit.
1253 (Fenlarge_window, Fshrink_window): Have argument names and
1254 doc-string follow Elisp manual more closely.
1255
12562008-10-18 Eli Zaretskii <eliz@gnu.org>
1257
1258 * fileio.c (Fset_file_modes): Doc fix.
1259
12602008-10-18 Martin Rudalics <rudalics@gmx.at>
1261
1262 * window.c (Fwindow_width, Fset_window_start)
1263 (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter)
f5385255
SM
1264 (Fdelete_windows_on, Freplace_buffer_in_windows):
1265 Make doc-strings follow code and Elisp manual more closely.
aac0c6e3
MR
1266 (Fwindow_dedicated_p): Make window argument optional.
1267 (Fset_window_dedicated_p): Rename argument "arg" to "flag".
1268 (Fset_window_buffer): Respect any non-nil dedicated value for
1269 window. Rename "buffer" argument to "buffer_or_name".
1270
12712008-10-18 Ulrich Mueller <ulm@gentoo.org>
1272
1273 * m/sh3.h: New file, machine description for SuperH.
1274
12752008-10-17 Martin Rudalics <rudalics@gmx.at>
1276
1277 * window.c (Fsplit_window): Rename arg horflag to horizontal.
1278
12792008-10-17 Kenichi Handa <handa@m17n.org>
1280
1281 * ftfont.c (ftfont_otf_features): Fix indexing
1282 gsub_gpos->FeatureList.Feature. Check the validity of indices.
1283
12842008-10-16 Magnus Henoch <mange@freemail.hu>
1285
1286 * dbusbind.c (Fdbus_call_method): Unbreak usage line.
1287 (Fdbus_call_method_asynchronously): Ditto.
1288 This change makes C-h f display the argument list.
1289
12902008-10-16 Chong Yidong <cyd@stupidchicken.com>
1291
1292 * fileio.c (Fexpand_file_name): Doc fix.
1293
1294 * xfaces.c (Finternal_set_lisp_face_attribute): Make null values
1295 of :foreground and :background equivalent to unspecified (20.x
1296 compatibility).
1297
12982008-10-15 Eli Zaretskii <eliz@gnu.org>
1299
1300 * buffer.c (syms_of_buffer): Doc fix.
1301
13022008-10-14 Kenichi Handa <handa@m17n.org>
1303
1304 * font.c (font_clear_prop): When clearing font width, clear the
1305 average width field too.
1306
13072008-10-12 Andreas Schwab <schwab@suse.de>
1308
1309 * ftfont.c (ftfont_shape_by_flt): Make static.
1310 * ftfont.h (ftfont_shape_by_flt): Don't declare.
1311
1312 * font.c: Don't include <m17n-flt.h>.
1313
13142008-10-10 Eli Zaretskii <eliz@gnu.org>
1315
1316 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Decrease to 10000.
1317
13182008-10-09 Eli Zaretskii <eliz@gnu.org>
1319
1320 * frame.c (make_terminal_frame) [MSDOS]: Remove unused #ifdef'ed
1321 away code.
1322
13232008-10-09 Chong Yidong <cyd@stupidchicken.com>
1324
1325 * dispnew.c (update_text_area): Avoid looping due to large glyph
1326 overhangs (bug#1070).
1327
13282008-10-09 Kenichi Handa <handa@m17n.org>
1329
1330 * fontset.c (face_for_char): If face->fontset is negative, just
1331 return ascii_face.
1332
f5385255
SM
1333 * font.c (font_delete_unmatched): Fix previous change.
1334 Don't reject an entity if DPI and AVGWIDTH of an entity are 0.
aac0c6e3
MR
1335
13362008-10-09 Martin Rudalics <rudalics@gmx.at>
1337
1338 * frame.c (Fraise_frame): On text-only terminals select frame in
1339 order to make it visible. (Bug#1061)
1340
13412008-10-08 Chong Yidong <cyd@stupidchicken.com>
1342
1343 * fontset.c (fontset_find_font): Check frame validity.
1344
13452008-10-07 Chong Yidong <cyd@stupidchicken.com>
1346
a9b555d3 1347 * gtkutil.c (xg_display_open): Reset default display if none exists.
aac0c6e3
MR
1348 (xg_display_close): Allow Emacs to close all displays (bug#985).
1349
13502008-10-06 Andreas Schwab <schwab@suse.de>
1351
f5385255 1352 * sysdep.c (sys_signal): Always set SA_RESTART when noninteractively.
aac0c6e3
MR
1353
13542008-10-06 Chong Yidong <cyd@stupidchicken.com>
1355
f5385255 1356 * emacs.c (Vbefore_init_time, Vafter_init_time): Move from startup.el.
aac0c6e3 1357
a9b555d3 1358 * lisp.h (Vbefore_init_time, Vafter_init_time): Declare.
aac0c6e3
MR
1359
1360 * gtkutil.c (x_wm_set_size_hint): Return immediately if called
1361 during initialization.
1362
13632008-10-04 Eli Zaretskii <eliz@gnu.org>
1364
1365 * xdisp.c (redisplay_internal): If frame switched, redisplay the
1366 whole thing on MSDOS frames as well as on a TTY.
1367
1368 * dispnew.c (update_frame): Flush termscript for MSDOS frames as
1369 well as for TTY.
1370 (Fopen_termscript): Allow opening a termscript on MSDOS frames as
1371 well as on a TTY.
1372
1373 * sysdep.c (init_sys_modes): Set FRAME_GARBAGED_P for MSDOS frames
1374 as well as for TTY.
1375
1376 * systime.h (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
1377
1378 * dispnew.c (change_frame_size_1): Set FrameRows and FrameCols for
1379 MSDOS frames as well.
1380
13812008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
1382
1383 * image.c (x_clear_image_1): Under NS, call ns_free_indexed_color with
1384 correct arguments.
1385 * menu.c (find_and_return_menu_selection) Add cast.
1386
13872008-10-03 Glenn Morris <rgm@gnu.org>
1388
1389 * emacs.c (USAGE1): Add --daemon.
1390
13912008-10-02 Eli Zaretskii <eliz@gnu.org>
1392
1393 * process.c (procfs_system_process_attributes): Multiply `pcpu' by
1394 100, so it's in percents as advertised.
1395
13962008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
1397
1398 * nsterm.h (ns_cursor_types, ns_output.desired_cursor_color)
1399 (ns_output.current_cursor, ns_output.desired_cursor)
1400 (ns_output.last_inactive, FRAME_CURSOR, FRAME_NEW_CURSOR)
1401 (FRAME_NEW_CURSOR_COLOR): Remove.
1402
1403 * nsfns.m (ns_set_cursor_color): Use FRAME_CURSOR_COLOR.
a9b555d3 1404 (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp): Use core Emacs
aac0c6e3
MR
1405 enumeration (HOLLOW_BOX_CURSOR, etc.).
1406
1407 * nsterm.m (ns_frame_rehighlight): Remove commented code.
1408 (draw_window_cursor): Simplify code.
f5385255
SM
1409 (EmacsView-windowDidBecomeKey:,-windowDidResignKey:):
1410 Don't change cursor type. In latter, call rehighlight instead of doing
aac0c6e3 1411 updates manually.
a9b555d3
JB
1412 (EmacsPrefsController-setPanelFromValues,-setValuesFromPanel):
1413 Use core Emacs cursor types.
aac0c6e3 1414
b8ff72fa 1415 * xdisp.c (draw_glyphs): Don't call notice_overwritten_cursor under NS.
aac0c6e3
MR
1416
14172008-10-02 Martin Rudalics <rudalics@gmx.at>
1418
1419 * process.c (Faccept_process_output): Fix doc-string.
1420
14212008-10-02 Dan Nicolaescu <dann@ics.uci.edu>
1422
1423 * gmalloc.c (__sbrk): Also define for uClibc.
1424
1425 * s/gnu-linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Add definition
1426 for uClibc.
1427
14282008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1429
1430 * nsfont.m (nsfont_spec_to_traits): Use UnXX masks only for non-normal
1431 styles.
1432 (nsfont_open): Reenable the cache.
1433
14342008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1435
1436 * font.c (font_matching_entity): Reflect ATTRS in font selection.
1437 (font_find_for_lface) [HAVE_NS]: Don't ignore case.
1438
14392008-09-30 Stefan Monnier <monnier@iro.umontreal.ca>
1440
1441 * dispnew.c (Fsend_string_to_terminal): Don't try to send a string to
1442 a suspended terminal.
1443
14442008-09-30 Michael Albinus <michael.albinus@gmx.de>
1445
1446 * dbusbind.c (xd_signature): Use strcat instead of sprintf.
1447
14482008-09-30 Eli Zaretskii <eliz@gnu.org>
1449
1450 * Makefile.in (MSDOS_SUPPORT): Remove ccl.elc and codepage.elc.
1451
14522008-09-30 Chong Yidong <cyd@stupidchicken.com>
1453
1454 * xdisp.c (move_it_to): Don't advance the iterator if the last tab
1455 in a continued line coincides with a line beginning.
1456
14572008-09-29 Adrian Robert <Adrian.B.Robert@gmail.com>
1458
1459 * nsfont.m (nsfont_trait_distance): Fix bug.
1460 (nsfont_list): Return a list rather than a vector (syncs with Handa
1461 changes of 2008-05-14).
1462 (nsfont_open): Improve logging.
1463
14642008-09-29 Andreas Schwab <schwab@suse.de>
1465
1466 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
1467
14682008-09-28 Martin Rudalics <rudalics@gmx.at>
1469
1470 * character.c (Fchar_resolve_modifiers): Rewrite Elisp function
1471 name as char-resolve-modifiers.
1472 Reported by: Markus Triska <markus.triska@gmx.at>
1473
14742008-09-28 Dan Nicolaescu <dann@ics.uci.edu>
1475
1476 * dispnew.c (init_display): Return earlier when running as a daemon.
1477
14782008-09-27 Adrian Robert <Adrian.B.Robert@gmail.com>
1479
1480 * nsfont.m (nsfont_draw): Fix up composition rendering (cmp_from, ...).
1481
14822008-09-27 Eli Zaretskii <eliz@gnu.org>
1483
1484 * composite.c (Fcomposition_get_gstring)
1485 (Fcompose_region_internal, Fcompose_string_internal)
1486 (Ffind_composition_internal): Doc fix.
1487 (syms_of_composite) <compose-chars-after-function>: Doc fix.
1488 (syms_of_composite) <auto-composition-function>: Doc fix.
1489 (syms_of_composite) <composition-function-table>: Doc fix.
1490
14912008-09-25 Chong Yidong <cyd@stupidchicken.com>
1492
1493 * search.c (wordify): New argument for lax word-ends.
1494 (Fword_search_forward_lax, Fword_search_backward_lax): New funs.
1495
14962008-09-24 Dan Nicolaescu <dann@ics.uci.edu>
1497
1498 * lisp.h (is_daemon): Declare.
1499 * dispnew.c (init_display): Do not try to initialize the terminal
1500 when running as a daemon.
1501
15022008-09-22 Chong Yidong <cyd@stupidchicken.com>
1503
1504 * nsfns.m (compute_tip_xy): Use x_display_pixel_width and
1505 x_display_pixel_height.
1506
15072008-09-22 Martin Rudalics <rudalics@gmx.at>
1508
1509 * undo.c (record_point): Don't call Fundo_boundary for first
1510 change. (Bug#731)
1511
15122008-09-22 Juanma Barranquero <lekktu@gmail.com>
1513
1514 * emacs.c (Fdaemonp): Doc fix.
1515
15162008-09-22 Dan Nicolaescu <dann@ics.uci.edu>
1517
1518 * emacs.c (main): Place #ifdef in the proper place.
1519
15202008-09-21 Dan Nicolaescu <dann@ics.uci.edu>
1521
1522 * emacs.c (standard_args): Add --daemon.
1523 (main): Disconnect from the terminal when --daemon is passed.
1524 (is_daemon): New variable.
1525 (Fdaemonp): New function.
1526 (syms_of_emacs): Defsubr it.
1527
15282008-09-20 Chong Yidong <cyd@stupidchicken.com>
1529
1530 * xdisp.c (get_next_display_element): Handle string display
1531 correctly when checking for the end of a box run.
1532
15332008-09-20 Glenn Morris <rgm@gnu.org>
1534
1535 * fileio.c (Qdelete_by_moving_to_trash): New Lisp_Object.
1536 (syms_of_fileio): Add Qdelete_by_moving_to_trash.
1537 (Frename_file): Avoid copying to trash if a rename involves
1538 a delete. (Bug#964).
1539
15402008-09-20 Eli Zaretskii <eliz@gnu.org>
1541
1542 * keyboard.c (Fset_quit_char, Fset_input_meta_mode)
1543 (Fset_output_flow_control, Fcurrent_input_mode): Support MSDOS
1544 frames as well as termcap frames.
1545 (handle_interrupt): Remove "#ifndef MSDOS" around the call to
1546 get_named_tty.
1547
15482008-09-19 Eli Zaretskii <eliz@gnu.org>
1549
1550 * process.c (procfs_system_process_attributes): Fix cmdline in
1551 case /proc/PID/cmdline is empty.
1552
1553 * xterm.c (x_wm_set_size_hint): Use x_display_pixel_width and
1554 x_display_pixel_height.
1555
15562008-09-19 Juanma Barranquero <lekktu@gmail.com>
1557
1558 * frame.c (x_fullscreen_adjust): Declare var as Display_Info.
1559
1560 * w32fns.c (Fx_display_pixel_width, Fx_display_pixel_height)
1561 (compute_tip_xy): Use x_display_pixel_width, x_display_pixel_height.
1562
15632008-09-19 Dan Nicolaescu <dann@ics.uci.edu>
1564
1565 * dispextern.h (struct it): Move line_wrap away from the middle of
1566 bitfields. Move voffset in struct iterator_stack_entry after the
1567 bitfields. Move tab_width near after another short.
1568
15692008-09-18 Dan Nicolaescu <dann@ics.uci.edu>
1570
1571 * frame.h (struct frame): Move alpha from the middle of bitfields.
1572
1573 * window.h (struct window): Move frozen_window_start_p after the
1574 rest of the bitfields to reduce padding.
1575
15762008-09-18 Chong Yidong <cyd@stupidchicken.com>
1577
1578 * xterm.h (x_display_info): Remove `height' and `width' members.
1579
1580 * nsterm.h (ns_display_info): Remove `height' and `width' members.
1581
1582 * w32term.h (w32_display_info): Remove `height', `width',
1583 `height_in', and `width_in' members.
1584
b8ff72fa
SM
1585 * xterm.c (x_display_pixel_height, x_display_pixel_width):
1586 New functions.
aac0c6e3
MR
1587 (x_calc_absolute_position): Use them.
1588 (x_term_init): Omit removed `height' and `width' members.
1589
b8ff72fa
SM
1590 * w32term.c (x_display_pixel_height, x_display_pixel_width):
1591 New functions.
aac0c6e3
MR
1592 (w32_read_socket, x_calc_absolute_position): Use them.
1593 (w32_initialize_display_info, w32_term_init): Omit removed members
1594 of w32_display_info.
1595
b8ff72fa
SM
1596 * nsterm.m (x_display_pixel_height, x_display_pixel_width):
1597 New functions.
1598 (ns_initialize_display_info): Omit removed members of ns_display_info.
aac0c6e3 1599
b8ff72fa
SM
1600 * xterm.c (x_display_pixel_height, x_display_pixel_width):
1601 New functions.
aac0c6e3
MR
1602 (x_calc_absolute_position): Use them.
1603 (x_term_init): Omit removed `height' and `width' members.
1604
1605 * xfns.c (Fx_display_pixel_width, Fx_display_pixel_height)
b8ff72fa
SM
1606 (compute_tip_xy):
1607 * frame.c (x_fullscreen_adjust):
aac0c6e3
MR
1608 * xmenu.c (menu_position_func): Use x_display_pixel_height and
1609 x_display_pixel_width.
1610
16112008-09-18 Kenichi Handa <handa@m17n.org>
1612
1613 * composite.c (fill_gstring_header): Don't check FROM and TO here.
1614 (composition_compute_stop_pos): Fix handling of static composition.
1615 (Fcomposition_get_gstring): Check FROM and TO at first.
1616
16172008-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
1618
1619 * composite.c (Fcomposition_get_gstring): Yet another int/Lisp_Oject
1620 mixup (YAILOM).
1621
16222008-09-17 Chong Yidong <cyd@stupidchicken.com>
1623
1624 * indent.c (Fvertical_motion): Use position reported by iterator
1625 instead of PT for determining screen motion (bug#943).
1626
16272008-09-17 Romain Francoise <romain@orebokech.com>
1628
1629 * composite.c (composition_adjust_point): Fix int/EMACS_INT mixup.
1630
16312008-09-17 Kenichi Handa <handa@m17n.org>
1632
1633 * ftfont.c (ftfont_shape_by_flt): Downcase family name.
1634
1635 * composite.c (Fcomposition_get_gstring): Make bigger gstring_work
1636 if necessary.
1637
16382008-09-16 Kenichi Handa <handa@m17n.org>
1639
1640 * coding.c (make_conversion_work_buffer): Avoid calling
1641 Fget_buffer_create if it is not necessary.
1642
16432008-09-15 Martin Rudalics <rudalics@gmx.at>
1644
1645 * window.c (Fselect_window): Don't update window_select_count and
1646 use_time when norecord is not nil.
1647
16482008-09-14 Kenichi Handa <handa@m17n.org>
1649
1650 * fileio.c (Finsert_file_contents): Delete incorrect decrement of
1651 specpdl_ptr.
1652
16532008-09-12 Kenichi Handa <handa@m17n.org>
1654
1655 * indent.c (scan_for_column): Don't handle automatic composition
1656 if the current buffer is not associated with a window.
1657
1658 * composite.c (composition_reseat_it): If the current buffer is
1659 not associated with a window, ignore the automatic composition.
1660 (find_automatic_composition): Likewise.
1661
16622008-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
1663
1664 * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
1665 (Fgpm_mouse_stop): Use it.
1666 * termhooks.h (close_gpm): Declare.
1667 * keyboard.c (tty_read_avail_input): Forcefully close the gpm
1668 connection if Gpm_GetEvent fails.
1669
1670 * window.c (set_window_buffer): Always preserve current-buffer.
1671
16722008-09-12 Glenn Morris <rgm@gnu.org>
1673
1674 * charset.c (init_charset): Warn if etc/charsets not found. (Bug#909)
1675
16762008-09-11 Glenn Morris <rgm@gnu.org>
1677
1678 * charset.c (charset-map-path): Doc fix.
1679
16802008-09-10 Kenichi Handa <handa@m17n.org>
1681
1682 * xdisp.c (handle_composition_prop): Set it->cmp_it.ch to -1.
1683
1684 * font.c (Ffont_shape_gstring): Make glyphs of non-nil adjustment
1685 compose a grapheme cluster with the preceding base glyph.
1686
1687 * composite.c (composition_compute_stop_pos): Fix previous change.
1688 Reset cmp_it->id to -1 at first.
1689
16902008-09-10 Glenn Morris <rgm@gnu.org>
1691
1692 * Makefile.in (character.o, chartab.o): Fix config.h typo.
1693
16942008-09-09 Chong Yidong <cyd@stupidchicken.com>
1695
1696 * keyboard.c (read_key_sequence): Reapply translation maps when
1697 switching keyboards.
1698
16992008-09-09 Kenichi Handa <handa@m17n.org>
1700
1701 * ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII
1702 characters.
1703
1704 * composite.c (FORWARD_CHAR): Fix calculation
1705 of (POSITION).pos_byte.
1706 (composition_compute_stop_pos): Limit the search of composition to
1707 at most 500 characters ahead. If we reach the limit or find a
1708 newline, set cmp_it->ch to -2 and return 0.
1709 (composition_reseat_it): Handle the case that cmp_it->ch is -2.
1710
17112008-09-08 Kenichi Handa <handa@m17n.org>
1712
1713 * indent.c (Fvertical_motion): Be sure to set
1714 it_overshoot_expected if it.cmp_it.id is non-negative.
1715
17162008-09-07 Andreas Schwab <schwab@suse.de>
1717
1718 * callproc.c (Fcall_process): Don't hold references to string data
1719 across garbage collection. Move initialisation of new_argv down
1720 to avoid compiler bug.
1721
17222008-09-07 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
1723
1724 * process.c (Fsystem_process_attributes): Doc fix.
1725
17262008-09-07 Chong Yidong <cyd@stupidchicken.com>
1727
1728 * callproc.c (Fcall_process): Canonicalize current directory name.
1729
1730 * xdisp.c (move_it_to): When moving by vpos, ensure that the
1731 iterator advances to the next line if the current line ends in a
1732 continued tab.
1733
17342008-09-07 Teodor Zlatanov <tzz@lifelogs.com>
1735
1736 * nsfont.m (nsfont_draw): Fix the references to missing gidx data
1737 member to point to cmp_from.
1738
1739 * xdisp.c: Doc fix for references to gidx data member.
1740
17412008-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
1742
1743 * buffer.c (Fbuffer_swap_text): Reset window->point markers.
1744
17452008-09-07 Kenichi Handa <handa@m17n.org>
1746
1747 * composite.c (FORWARD_CHAR): Check STOP after
1748 incrementing (POSITION).pos.
1749
17502008-09-06 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
1751
1752 * process.c (Fsystem_process_attributes): Doc fix.
1753
17542008-09-06 Chong Yidong <cyd@stupidchicken.com>
1755
1756 * keyboard.c (Ftop_level): Doc fix.
1757
17582008-09-06 Eli Zaretskii <eliz@gnu.org>
1759
1760 * xmenu.c (xmenu_show) [!HAVE_X_WINDOWS]: If frame has a
1761 minibuffer, don't let lower part of menu invade the echo area.
1762
1763 * msdos.c (IT_menu_display): Use STRING_CHAR_ADVANCE instead of a
1764 "char *q" to access menu text and advance through it. Revert the
1765 change that displayed ">" instead of ASCII character 0x10.
1766
17672008-09-05 Eli Zaretskii <eliz@gnu.org>
1768
1769 * menu.c (single_menu_item) [!HAVE_BOXES]: Enable emulation of
1770 toggle boxes and radio buttons on MS-DOS as well.
1771
17722008-09-05 Kenichi Handa <handa@m17n.org>
1773
1774 * composite.c (autocmp_chars): Check lookback count.
1775 (composition_compute_stop_pos): Set cmp_it->lookback.
1776 (composition_reseat_it): Check lookback count.
1777 (struct position_record): New struct.
1778 (FORWARD_CHAR, BACKWARD_CHAR, CHAR_COMPOSABLE_P): New macros.
1779 (find_automatic_composition): New function.
1780 (composition_adjust_point): Use find_automatic_composition.
1781
1782 * dispextern.h (struct composition_it): New member lookback.
1783
17842008-09-02 Chong Yidong <cyd@stupidchicken.com>
1785
1786 * indent.c (Fvertical_motion): Don't call move_it_by_lines again
1787 if moving by a single line.
1788
17892008-09-02 Andreas Schwab <schwab@suse.de>
1790
1791 * xterm.c (x_delete_display): Fix merge error.
1792
1793 * fileio.c (Fexpand_file_name): Remove unused variables.
1794
17952008-09-02 Eli Zaretskii <eliz@gnu.org>
1796
1797 * fileio.c (Fexpand_file_name): Copy argument `name' into local
1798 storage on all platforms, not just on DOS_NT.
1799
18002008-09-02 Jason Rumney <jasonr@gnu.org>
1801
b8ff72fa
SM
1802 * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show):
1803 Ensure mouse is not grabbed after menu is finished.
aac0c6e3
MR
1804
18052008-09-01 Chong Yidong <cyd@stupidchicken.com>
1806
1807 * xfaces.c (Finternal_set_alternative_font_family_alist)
1808 (Finternal_set_alternative_font_registry_alist): Properly copy
1809 entire alist structure.
1810
18112008-09-01 Kenichi Handa <handa@m17n.org>
1812
d66c0241 1813 * ftfont.c (ftfont_spec_pattern): Don't create a charset if the
aac0c6e3 1814 representative chars of the script is a vector.
d66c0241
JB
1815 (ftfont_list): Handle the case where the representative chars of
1816 the script is a vector.
aac0c6e3
MR
1817
1818 * character.c (syms_of_character): Docstring of
1819 script-representative-chars fixed.
1820
18212008-08-31 Eli Zaretskii <eliz@gnu.org>
1822
1823 * msdos.c (BUILD_CHAR_GLYPH): New macro.
1824 (IT_menu_display): Use it instead of SET_CHAR_GLYPH to construct
1825 the menu. Allocate larger buffer for `text', to account for
1826 possible ^C characters.
1827
18282008-08-31 Martin Rudalics <rudalics@gmx.at>
1829
1830 * xdisp.c (prepare_menu_bars): Don't call
1831 Vwindow_size_change_functions with arg Qt.
1832
18332008-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
1834
1835 * font.h (font_range):
1836 * fileio.c (report_file_error):
1837 * composite.c (composition_update_it): Yet another int/Lisp_Oject mixup.
1838
18392008-08-30 Glenn Morris <rgm@gnu.org>
1840
1841 * data.c (Fmake_variable_frame_local): Doc fix.
1842
1843 * frame.c (Fmodify_frame_parameters): Doc fix.
1844
18452008-08-30 Eli Zaretskii <eliz@gnu.org>
1846
1847 * w32.c (init_user_info): Allocate buf[] with xmalloc using the size
1848 needed by GetTokenInformation.
1849 (w32_system_process_attributes): Check return values of all system
1850 APIs.
1851
1852 * msdos.c (IT_display_cursor): Write "CURSOR ON/OFF" to termscript
1853 only when the state changes.
1854 (IT_update_begin, IT_update_end): Add termscript trace.
1855
1856 * w16select.c (Fw16_set_clipboard_data): Don't encode text if
1857 clipboard is unavailable. Set dst to NULL if it doesn't point to
1858 malloc'ed data.
1859 (Fw16_get_clipboard_data): Initialize htext to NULL, to avoid
1860 passing random values to xfree.
1861
1862 * dispnew.c (init_display): Set `tty's association in frame's
b8ff72fa 1863 parameters alist to the name of the terminal device, if that is known.
aac0c6e3
MR
1864
18652008-08-29 Jason Rumney <jasonr@gnu.org>
1866
1867 * w32uniscribe.c (uniscribe_check_otf): Don't fallback on DFLT script.
1868
18692008-08-29 Eli Zaretskii <eliz@gnu.org>
1870
1871 * composite.c (fill_gstring_body): Avoid compiler warnings.
1872
1873 * font.c (font_fill_lglyph_metrics): Use EMACS_INT in
1874 LGLYPH_SET_CODE to avoid compiler warnings.
1875
2ae37cf0 1876 * makefile.w32-in ($(BLD)/w32uniscribe.$(O)): Depend on composite.h.
aac0c6e3
MR
1877
1878 * composite.h (LGLYPH_SET_CODE): Cast `val' to EMACS_INT.
1879
1880 * w32uniscribe.c (uniscribe_shape): Shut up compiler warning in
1881 LGLYPH_SET_CODE.
1882
18832008-08-29 Kenichi Handa <handa@m17n.org>
1884
1885 * fileio.c (report_file_error): Don't downcase the first character
1886 of errstring if it is still unibyte.
1887
18882008-08-29 Kenichi Handa <handa@m17n.org>
1889
1890 These changes are to re-implement the automatic composition so
1891 that it doesn't use text properties.
1892
1893 * Makefile.in (ftfont.o): Depend on composite.h.
1894 (composite.o): Depend dispextern.h, font.h, frame, and window.h.
1895
1896 * character.h (Vunicode_category_table): Extern it.
1897
1898 * character.c (Vunicode_category_table): New variable.
1899 (syms_of_character): DEFVAR_LISP Vunicode_category_table.
1900
1901 * chartab.c (optimize_sub_char_table): Perform more greedy
1902 optimization.
1903
b8ff72fa
SM
1904 * composite.h (enum composition_method):
1905 Delete COMPOSITION_WITH_GLYPH_STRING.
aac0c6e3
MR
1906 (COMPOSITION_METHOD): Don't check COMPOSITION_WITH_GLYPH_STRING.
1907 (Vcomposition_function_table): Extern it.
1908 (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h.
1909 (composition_gstring_put_cache, composition_gstring_from_id)
1910 (composition_gstring_p, composition_gstring_width)
1911 (composition_compute_stop_pos, composition_reseat_it)
1912 (composition_update_it, composition_adjust_point): Extern them.
1913 (Fcomposition_get_gstring): EXFUN it.
1914
d66c0241 1915 * composite.c: Include window.h, frame.h, dispextern.h, font.h.
aac0c6e3
MR
1916 (Vcomposition_function_table)
1917 (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING.
b8ff72fa
SM
1918 (gstring_hash_table, gstring_work, gstring_work_headers):
1919 New variables.
aac0c6e3
MR
1920 (gstring_lookup_cache, composition_gstring_put_cache)
1921 (composition_gstring_from_id, composition_gstring_p)
1922 (composition_gstring_width, fill_gstring_header)
1923 (fill_gstring_body, autocmp_chars, composition_compute_stop_pos)
1924 (composition_reseat_it, composition_update_it)
b8ff72fa 1925 (composition_adjust_point, Fcomposition_get_gstring): New functions.
aac0c6e3
MR
1926 (syms_of_composite): Initialize gstring_hash_table, gstrint_work,
1927 and gstring_work_headers. DEFVAR_LISP composition-function-table.
1928 Defsubr compostion_get_gstring.
1929
1930 * dispextern.h (struct glyph): New union u.cmp. Delete the member
1931 cmp_id.
1932 (struct glyph_string): Delete the member gidx. New members
1933 cmp_id, cmp_from, and cmp_to.
1934 (enum it_method): Delete GET_FROM_COMPOSITION.
1935 (struct composition_it): New struct.
1936 (struct it): New member cmp_it, and iterator_stack_entry.cmp_it.
1937 Delete c, len, cmp_id, cmp_len in u.comp.
1938
1939 * font.h (enum lgstring_indices): Delete it.
b8ff72fa 1940 (LGSTRING_XXX, LGLYPH_XXX): Move these macros to composite.h.
aac0c6e3 1941 (enum lglyph_indices): Likewise.
b8ff72fa 1942 (font_range): Adjust extern.
aac0c6e3
MR
1943 (font_fill_lglyph_metrics): Extern it.
1944
1945 * font.c (QCf): New variable.
1946 (check_gstring): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
1947 (font_prepare_composition): Delete this function.
1948 (font_range): Type and arguments changed.
1949 (Ffont_make_gstring, Ffont_fill_gstring): Delete them.
1950 (font_fill_lglyph_metrics): New function.
b8ff72fa 1951 (Ffont_shape_text): Rename to Ffont_shape_gstring and change arguments.
aac0c6e3 1952 (syms_of_font): DEFSYM QCf. Delete defsubr for
b8ff72fa
SM
1953 Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text.
1954 Defsubr Sfont_shape_gstring.
aac0c6e3
MR
1955
1956 * fontset.h (font_for_char): Extern it.
1957
1958 * fontset.c (font_for_char): New function.
1959
1960 * ftfont.c: Include composite.h.
1961 (ftfont_resolve_generic_family): Add langset "en" to pattern.
b8ff72fa 1962 (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
aac0c6e3
MR
1963
1964 * indent.c: Include composite.h and dispextern.h.
1965 (check_composition): Delete this function.
1966 (scan_for_column): Handle composition by
1967 composition_compute_stop_pos, composition_reseat_it, and
1968 composition_update_it.
1969 (compute_motion): Likewise.
1970 (Fvertical_motion): Fix checking of composition.
1971
1972 * keyboard.c (adjust_point_for_property): Check composition by
1973 composition_adjust_point.
1974
b8ff72fa 1975 * nsterm.m (ns_draw_glyph_string): Adjust for the change of
aac0c6e3
MR
1976 struct glyph_string.
1977
b8ff72fa
SM
1978 * term.c (encode_terminal_code): Adjust for the change of struct glyph.
1979 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3
MR
1980 struct glyph.
1981 (produce_composite_glyph): Likewise.
1982
b8ff72fa
SM
1983 * w32term.c (x_draw_composite_glyph_string_foreground):
1984 Adjust for the change of struct glyph_string.
aac0c6e3
MR
1985 (x_draw_glyph_string): Likewise.
1986
1987 * w32uniscribe.c (struct uniscribe_font_info): Include composite.h.
1988 (uniscribe_shape): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
1989
1990 * xdisp.c: Include font.h.
1991 (it_props): Delete the entry for Qauto_composed.
1992 (init_iterator): Initialize it->cmp_it.id to -1.
1993 (compute_stop_pos): Call composition_compute_stop_pos.
b8ff72fa 1994 (face_before_or_after_it_pos): Adjust for the change of struct it.
aac0c6e3
MR
1995 (handle_auto_composed_prop): Delete it.
1996 (handle_composition_prop): Handle only static composition.
1997 (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION
1998 from xassert. Initialize it->cmp_it.stop_pos.
b8ff72fa 1999 (push_it): Adjust for the change of struct it.
aac0c6e3
MR
2000 (pop_it): Likewise.
2001 (get_next_element): Delete next_element_from_composition.
2002 (CHAR_COMPOSED_P): New macro.
2003 (get_next_display_element): For automatic composition, get a face
2004 from the font in the glyph-string.
2005 (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING,
b8ff72fa 2006 check composition by it->cmp_it.id. Delete GET_FROM_COMPOSITION case.
aac0c6e3
MR
2007 (next_element_from_string): Check if the character at the current
2008 position is composed by CHAR_COMPOSED_P.
2009 (next_element_from_buffer): Likewise.
d66c0241
JB
2010 (next_element_from_composition): Adjust for the change of struct it.
2011 Update it->cmp_it.
b8ff72fa
SM
2012 (dump_glyph): Adjust for the change of struct glyph.
2013 (fill_composite_glyph_string): Adjust for the change of struct
aac0c6e3
MR
2014 it and struct glyph. Don't handle automatic composition here.
2015 (fill_gstring_glyph_string): New function.
2016 (x_get_glyph_overhangs): Handle automatic composition.
b8ff72fa 2017 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the change of struct glyph.
aac0c6e3
MR
2018 (BUILD_GSTRING_GLYPH_STRING): New macro.
2019 (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for
2020 automatic composition.
b8ff72fa 2021 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3 2022 struct glyph.
b8ff72fa 2023 (x_produce_glyphs): Adjust for the change of struct it.
aac0c6e3 2024
b8ff72fa 2025 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aac0c6e3
MR
2026 the change of struct glyph_string.
2027 (x_draw_glyph_string): Likewise.
2028
20292008-08-29 Glenn Morris <rgm@gnu.org>
2030
2031 * buffer.c (word-wrap): Doc fix.
2032 * xdisp.c (truncate-partial-width-windows): Doc fix.
2033 Increase default to 50.
2034
20352008-08-29 Chong Yidong <cyd@stupidchicken.com>
2036
2037 * xdisp.c (update_tool_bar_unwind): New function.
2038 (update_tool_bar): Temporarily set selected frame before building
2039 tool-bar items.
2040
20412008-08-28 Michael Albinus <michael.albinus@gmx.de>
2042
2043 * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and
2044 snprintf, respectively.
2045 (xd_append_arg): Convert strings with Fstring_make_unibyte.
2046
20472008-08-28 Chong Yidong <cyd@stupidchicken.com>
2048
2049 * Makefile.in: Revert (undocumented) 2008-08-20 change adding
2050 LDFLAGS to GNUstep CC invocation.
2051
20522008-08-27 Chong Yidong <cyd@stupidchicken.com>
2053
2054 * indent.c (Fvertical_motion): Revert last change. Handle the
2055 general case where we are moving forward, and PT spans multiple
2056 screen lines.
2057
2058 * eval.c (find_handler_clause): Temporarily increase
2059 max-lisp-eval-depth while printing the backtrace buffer, to
2060 guarantee that help-mode code can run.
2061
20622008-08-27 Eli Zaretskii <eliz@gnu.org>
2063
2064 * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame
2065 colors under -rv.
2066 (IT_set_frame_parameters): Don't swap foreground and background
2067 colors if `(reverse . t)' is present in the frame properties.
2068 (internal_terminal_init): Call init_frame_faces only for the
2069 initial frame.
2070
20712008-08-27 Andreas Schwab <schwab@suse.de>
2072
2073 * dired.c (Ffile_attributes): Avoid compiler warning in bitshift.
2074
20752008-08-27 Andreas Schwab <schwab@suse.de>
2076
2077 * search.c (search_buffer): Set char_base to zero only at the end.
2078
20792008-08-27 Kenichi Handa <handa@m17n.org>
2080
b8ff72fa 2081 * fileio.c (report_file_error): Fix handling of multibyte error string.
aac0c6e3
MR
2082
20832008-08-27 Andreas Seltenreich <seltenreich@gmx.de>
2084
2085 * xterm.c (x_term_init): Temporarily hide the partially
2086 initialized terminal while calling vendor-specific-keysyms.
2087
20882008-08-26 Eli Zaretskii <eliz@gnu.org>
2089
2090 * msdos.c (internal_terminal_init): Most initializations done only
2091 once, especially initial_screen_colors[] and termscript open.
2092
20932008-08-26 Chong Yidong <cyd@stupidchicken.com>
2094
2095 * eval.c (Fcondition_case): Doc fix.
2096
2097 * widgetprv.h (EmacsFramePart): Change font member to the new font
2098 struct.
2099
2100 * widget.c: Include character.h and font.h for XSETFONT.
2101 (setup_frame_gcs): Compute X font id from font struct, just once.
2102
21032008-08-26 Eli Zaretskii <eliz@gnu.org>
2104
2105 * term.c (get_named_tty): Fix last change.
2106
21072008-08-26 Chong Yidong <cyd@stupidchicken.com>
2108
2109 * indent.c (Fvertical_motion): If moving forward starting from a
b8ff72fa 2110 multi-line string, move the iterator to the last line of that string.
aac0c6e3
MR
2111
21122008-08-25 Eli Zaretskii <eliz@gnu.org>
2113
2114 * frame.c (do_switch_frame): Mark previously displayed frame as
2115 obscured for FRAME_MSDOS_P frames as well.
2116
21172008-08-24 Eli Zaretskii <eliz@gnu.org>
2118
2119 * frame.c (make_terminal_frame): Initialize f->terminal,
2120 f->terminal->reference_count, and scroll bars on MS-DOS as well.
2121 Set the top frame to newly created frame.
2122 (Fmake_terminal_frame): Reuse the_only_display_info.
2123
2124 * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of
2125 estimating available memory.
2126
b97439ce 21272008-08-23 David Reitter <david.reitter@gmail.com>
aac0c6e3
MR
2128
2129 * nsterm.m (ns_draw_window_cursor): Don't call
2130 NSDisableScreenUpdates and NSEnableScreenUpdates on
2131 non-NS_IMPL_COCOA systems.
2132
21332008-08-23 Andreas Schwab <schwab@suse.de>
2134
2135 * process.c (procfs_system_process_attributes): Fix use of
2136 uninitialized variables.
2137
21382008-08-23 Eli Zaretskii <eliz@gnu.org>
2139
2140 * emacs.c (main) [MSDOS]: Call syms_of_xmenu.
2141
2142 * dispnew.c (init_display): Remove MS-DOS specific conditions for
2143 calling tty-set-up-initial-frame-faces.
2144
b8ff72fa
SM
2145 * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show):
2146 Allow MSDOS frames along with X frames.
aac0c6e3
MR
2147
2148 * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in
2149 addition to output_termcap.
2150
2151 * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode.
2152
2153 * termchar.h (FRAME_TTY): Support output_msdos_raw.
2154 (struct tty_display_info) [MSDOS]: Add fields related to mouse
2155 highlight.
2156
2157 * process.c [!subprocesses]: Define QCname.
2158 (syms_of_process): Intern and staticpro it.
2159
2160 * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
b8ff72fa
SM
2161 Adjust for changes in encoding/decoding routines.
2162 Use encode_coding_object and decode_coding_object instead of
aac0c6e3
MR
2163 encode_coding and decode_coding.
2164
b8ff72fa 2165 * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as argument.
aac0c6e3
MR
2166
2167 * dosfns.c: Include frame.h before termhooks.h.
2168 (dos_cleanup): Use CURTTY ()->termscript instead of a global
2169 variable termscript.
2170
2171 * s/msdos.h (USER_FULL_NAME): Define.
2172 (SYSTEM_PURESIZE_EXTRA): Bump up to 100K.
2173
2174 * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined.
2175 (Fuser_full_name): Use USER_FULL_NAME instead of a literal
2176 pw->pw_gecos.
2177
2178 * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with
2179 SELECTED_FRAME as additional (1st) argument.
2180 (tty_read_avail_input): Handle output_msdos_raw in
2181 addition to output_termcap.
2182
2183 * msdos.c: Include frame.h before termhooks.h.
2184 (mouse_on, mouse_off, mouse_moveto, mouse_init)
2185 (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs)
2186 (show_mouse_face, IT_clear_end_of_line, IT_clear_screen)
2187 (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto)
2188 (IT_set_terminal_modes, IT_reset_terminal_modes)
2189 (IT_set_frame_parameters): Use tty->termscript instead of a global
2190 variable termscript.
2191 (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a
2192 global variable terminal_coding. Don't refer to
2193 Vnonascii_translation_table.
2194 (internal_terminal_init): Set Vwindow_system in current_kboard.
2195 Don't use TTY_CHAR_INS_DEL_OK. Set Vinitial_window_system.
2196 Announce date and time of session start, if termscript is open.
2197 Don't zero out the_only_display_info (it is done in
b8ff72fa
SM
2198 term.c:init_tty). Open termscript only of not already open.
2199 Log "SCREEN SAVED" here, instead of IT_set_terminal_modes. Init mouse
aac0c6e3
MR
2200 here instead of dos_ttraw. Don't initialize display if this is an
2201 initial tty. Don't set FRAME_FONT.
2202 (Vwindow_system_version): Bump to 23.
2203 (dos_ttraw): Accept a TTY argument; all callers fixed. If mouse
2204 is available, set up mouse_position_hook.
2205 (dos_ttraw, IT_set_terminal_modes): If called with initial
2206 terminal, do nothing.
2207 (IT_set_frame_parameters): Handle the Qtty_type frame
2208 parameter by calling internal_terminal_init.
2209 (dos_set_window_size, show_mouse_face)
2210 (clear_mouse_face, IT_note_mode_line_highlight)
2211 (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date)
2212 (dos_rawgetc): Use tty_display_info instead of x_display_info.
2213 (initialize_msdos_display): New function.
2214 (IT_cursor_to, IT_clear_to_end, IT_clear_screen)
2215 (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs)
2216 (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes)
2217 (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin):
b8ff72fa 2218 Accept additional argument: a pointer to a frame. Update all callers.
aac0c6e3
MR
2219 (request_sigio, unrequest_sigio): Don't define, now defined on
2220 sysdep.c.
2221 (IT_write_glyphs): Rewrite to use encode_terminal_code.
2222
2223 * term.c [MSDOS]: Include msdos.h.
2224 (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch. Change cpp
2225 conditional to DOS_NT. Allow only one call to this function in a
2226 session. Don't allocate a new struct tty_display_info; instead,
2227 reuse the_only_display_info. Call get_tty_size to get screen
2228 dimensions. Call init_baud_rate to set bad_rate.
2229 (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body.
2230 (Fsuspend_tty) [MSDOS]: Don't close input and output.
b8ff72fa 2231 (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use stdin/stdout.
aac0c6e3
MR
2232 (get_tty_terminal, get_named_tty, Ftty_type)
2233 (Fcontrolling_tty_p): Handle output_msdos_raw in addition to
2234 output_termcap.
b8ff72fa
SM
2235 (Fresume_tty, Fsuspend_tty, init_tty, delete_tty):
2236 Call add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor
2ae37cf0 2237 only when subprocesses are supported.
aac0c6e3
MR
2238
2239 * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of
2240 f->output_data.x.
2241 (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new
2242 terminal devices.
2243
5582fbc7 2244 * msdos.h: Remove definition of struct x_display_info and struct
aac0c6e3
MR
2245 x_output.
2246 (FRAME_FONT): Use output_data.tty.
2247 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define.
b8ff72fa
SM
2248 (struct x_display_info): Rename from display_info. Update all users in
2249 msdos.c.
aac0c6e3 2250 (struct x_output): Remove background_pixel and foreground_pixel.
b8ff72fa 2251 (the_only_display_info): Rename from the_only_x_display.
aac0c6e3
MR
2252 (dos_ttraw): Update prototype.
2253
2254 * Makefile.in (MSDOS_OBJ): Add xmenu.o.
2255 (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc.
2256
22572008-08-23 Jason Rumney <jasonr@gnu.org>
2258
2259 * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword.
2260 (fn_TIFFSetDirectory): New library function used.
2261 (init_tiff_functions) [HAVE_NTGUI]: Initialize it.
2262 (tiff_load): Use :index to select among multiple images. Set count
2263 property when multiple images exist.
2264 (gif_format): Use :index, not :image.
2265
22662008-08-23 Chong Yidong <cyd@stupidchicken.com>
2267
2268 * xdisp.c (try_scrolling): Check INT_MAX instead of
2269 MOST_POSITIVE_FIXNUM for maximum integer value. Include limits.h
2270 to obtain INT_MAX.
2271
22722008-08-21 İsmail Dönmez <ismail@namtrac.org> (tiny change)
2273
2274 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+.
2275
22762008-08-21 Christian Faulhammer <opfer@gentoo.org> (tiny change)
2277
2278 * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate
2279 GNUstep library location.
2280
22812008-08-21 Chong Yidong <cyd@stupidchicken.com>
2282
2283 * xfaces.c (x_update_menu_appearance): Check validity of menu font
2284 before using it.
2285
2286 * puresize.h (BASE_PURESIZE): Increase to 1250000.
2287
22882008-08-20 Adrian Robert <Adrian.B.Robert@gmail.com>
2289
2290 * nsfns.m (ns-read-file-name): Add casts to avoid warning.
2291 (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly.
2292 * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil.
2293 * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration.
2294 (EmacsApp-cursor_blink_handler): Remove declaration.
2295 * nsterm.m (ns_draw_glyph_string): Update first conditional body to
2296 match 01 Feb 2008 changes in xterm.c.
2297 (ns_read_socket): Add cast to avoid warning.
2298 (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on
2299 GNUstep.
2300
23012008-08-20 Chong Yidong <cyd@stupidchicken.com>
2302
2303 * xselect.c (x_get_foreign_selection): Return nil if desired
2304 selection could not be obtained, instead of signalling an error.
2305
23062008-08-20 David Reitter <david.reitter@gmail.com>
2307
2308 * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c.
2309 * nsterm.m: Remove ns-specific code for cursor blinking.
2310 (ns_draw_window_cursor): Clear cursor properly rather than
2311 redrawing the area. Respect width of bar cursors.
2312 These changes enable the use of generic blink-cursor-mode and
2313 generic cursor types in NS and support smooth cursor movements (do
2314 not blink off after command).
2315 * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on
2316 Nextstep, too.
2317
23182008-08-19 Kenichi Handa <handa@m17n.org>
2319
2320 * font.c (Vfont_log_deferred): New variable.
2321 (font_add_log): Check Vfont_log_deferred.
2322 (font_deferred_log): New function.
2323
2324 * font.h (font_deferred_log): Extern it.
2325
2326 * fontset.c (reorder_font_vector): Use encoding charset of fonts
2327 for sorting.
2328 (face_for_char): Use deferred log.
2329
23302008-08-18 Kenichi Handa <handa@m17n.org>
2331
2332 * fontset.c (face_for_char): Add font log.
2333
2334 * font.c (font_add_log): Add the font properties :script, :lang,
2335 and :otf in the log.
2336
23372008-08-17 Chong Yidong <cyd@stupidchicken.com>
2338
2339 * xdisp.c: Remove dead code.
2340 (handle_invisible_prop, next_overlay_string): Defer call to
2341 setup_for_ellipsis.
2342 (handle_stop, set_iterator_to_next): Call setup_for_ellipsis.
2343
23442008-08-15 Chong Yidong <cyd@stupidchicken.com>
2345
2346 * xfaces.c (lookup_derived_face): Properly handle possible zero
2347 return value of get_lface_attributes.
2348 (merge_faces): Don't tell lookup_derived_face to signal an error
2349 if face is not found.
2350
2351 * dired.c (Fdirectory_files): Doc fix.
2352
2353 * process.c (make_process): Initialize kill_without_query struct
2354 member.
2355
23562008-08-15 Eli Zaretskii <eliz@gnu.org>
2357
2358 * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]:
2359 Alternative calculation of totphys for Visual Studio 6.
2360
2361 * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR.
2362
2363 * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX):
2364 Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX.
2365 All users changed.
2366 (stat): Only root directory passed to GetDriveType. Allow RAM
2367 disk as well as local fixed disk when w32-get-true-file-attributes
2368 is set to `local'.
2369 (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs.
2370 (equal_sid, get_length_sid, copy_sid): New wrapper functions.
2371 (w32_cached_id, w32_add_to_cache): New functions.
2372 (get_name_and_id): Look account names in the cache before calling
2373 lookup_account_sid.
2374 (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid):
2375 New initialization flags.
2376 (globals_of_w32): Initialize them to zero.
2377 (w32_system_process_attributes): Use w32_cached_id and
2378 w32_add_to_cache.
2379
23802008-08-14 Lawrence Mitchell <wence@gmx.li>
2381
2382 * lread.c (Fread_char, Fread_char_exclusive): If no character
2383 event is read before timeout is reached, return nil, rather than
2384 converting to a number.
2385
23862008-08-14 Chong Yidong <cyd@stupidchicken.com>
2387
2388 * fns.c (use_dialog_box): Doc fix.
2389
2390 * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful
2391 on OS X.
2392
23932008-08-13 Chong Yidong <cyd@stupidchicken.com>
2394
2395 * frame.c (Qns_parse_geometry): New var.
2396 (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry.
2397
23982008-08-11 Chong Yidong <cyd@stupidchicken.com>
2399
2400 * xdisp.c (x_produce_glyphs): Handle the case when font has no
2401 space character in calculating tabs.
2402
24032008-08-11 Dan Nicolaescu <dann@ics.uci.edu>
2404
2405 * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case.
2406
24072008-08-10 Glenn Morris <rgm@gnu.org>
2408
2409 * process.c (procfs_system_process_attributes): Use EMACS_INTs to
2410 silence gcc "limited range of data type" warnings in some
2411 make_fixnum_or_float calls.
2412
24132008-08-09 Eli Zaretskii <eliz@gnu.org>
2414
2415 * w32.c (w32_system_process_attributes): If the process does not
2416 exist, return nil.
2417
2418 * w32.c: Include thelp32.h, psapi.h and coding.h.
2419 (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct
2420 declarations.
2421 (CreateToolhelp32Snapshot_Proc, Process32First_Proc)
2422 (Process32Next_Proc): New typedefs.
2423 (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first)
2424 (g_b_init_process32_next, g_b_init_open_thread_token)
2425 (g_b_init_impersonate_self, g_b_init_revert_to_self)
2426 (g_b_init_get_process_memory_info, g_b_init_global_memory_status)
2427 (g_b_init_get_process_working_set_size)
2428 (g_b_init_global_memory_status_ex): New static variables.
2429 (globals_of_w32): Initialize them.
2430 (create_toolhelp32_snapshot, process32_first, process32_next)
2431 (open_thread_token, impersonate_self, revert_to_self)
2432 (get_process_memory_info, get_process_working_set_size)
2433 (global_memory_status, global_memory_status_ex): New wrapper
2434 functions.
2435 (w32_list_system_processes, w32_system_process_attributes)
2436 (enable_privilege, restore_privilege, ltime, process_times):
2437 New functions.
2438 (convert_time_raw): New function.
2439 (convert_time): Remove conversion of FILETIME into time in 100
2440 nsec units, call convert_time_raw instead.
2441
2442 * process.h (w32_list_system_processes, w32_system_process_attributes):
2443 Add prototypes.
2444 (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname)
2445 (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime)
2446 (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup)
2447 (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations.
2448
2449 * process.c (Fsystem_process_attributes): Doc fix.
2450
24512008-08-08 Chong Yidong <cyd@stupidchicken.com>
2452
2453 * xdisp.c (move_it_to): When stopping at a charpos, check if that's
2454 a continued multi-char glyph; if so, advance to the actual glyph.
2455
24562008-08-07 Dan Nicolaescu <dann@ics.uci.edu>
2457
2458 * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in.
2459
2460 * Makefile.in (ALL_OBJC_CFLAGS): New variable.
2461 (.m.o): Use it.
2462 * config.in: Regenerate.
2463
24642008-08-07 Chong Yidong <cyd@stupidchicken.com>
2465
2466 * xdisp.c (redisplay_window): Revert last change.
2467 (try_window): Check bottom scroll margin too.
2468
24692008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
2470
2471 * config.in: Regenerate.
2472
2473 * Makefile.in (emacs): Remove ifndef NS conditional for 'emacs
2474 -list-load-path-shadows'.
2475 (nsgui.h): Reduce number of things depending on it.
2476
24772008-08-06 Chong Yidong <cyd@stupidchicken.com>
2478
2479 * xdisp.c (try_scrolling): Use iterator to find the scroll margin,
2480 instead of window-end which does the wrong thing at eob.
2481 (try_cursor_movement): Minor optimization.
2482 (redisplay_window): If scroll margin is defined, don't assume
2483 window doesn't need scrolling.
2484
24852008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
2486
2487 * config.in: Regenerate.
2488
2489 * Makefile.in: Move nsXXX.m dependencies into big alphabetical list.
2490 (mostlyclean): Don't delete *.d under NS.
2491
2492 * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER.
2493
24942008-08-06 Kenichi Handa <handa@m17n.org>
2495
2496 * xfont.c (xfont_list_family): Return a list of symbols, not strings.
2497
24982008-08-06 Andreas Schwab <schwab@suse.de>
2499
2500 * config.in: Regenerate.
2501
25022008-08-05 Chong Yidong <cyd@stupidchicken.com>
2503
2504 * xdisp.c (redisplay_window): Don't enforce scroll-margin when
2505 forcing a window start.
2506
2507 * fileio.c (Vauto_save_list_file_name): Move here from file.el.
2508 (auto_save_1): Update modtime when auto-save-list-file-name is on.
2509
25102008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2511
2512 * emacs.c (main): Under NS, set working dir to HOME when get a "psn"
2513 argument.
2514
25152008-08-05 Juanma Barranquero <lekktu@gmail.com>
2516
2517 * buffer.c (syms_of_buffer) <scroll-up-aggressively>:
2518 <scroll-down-aggressively, before-change-functions>:
2519 <after-change-functions>: Reflow docstrings.
2520
25212008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2522 Ken Raeburn <raeburn@gnu.org>
2523
2524 Dock menu customization, based on a patch by Ken Raeburn, plus some
2525 other fixes.
2526 * nsmenu.m (dockMenu): New variable.
2527 (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17.
2528
2529 * nsterm.h (dockMenu): Declare.
2530
2531 * nsterm.m (KEY_NS_NEW_FRAME): New definition.
2532 (ns_term_init): Initialize dockMenu.
2533 (EmacsApp -newFrame:, -applicationDockMenu:): New methods.
2534 (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame
2535 left.
2536
2537 * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA.
2538
25392008-08-04 Chong Yidong <cyd@stupidchicken.com>
2540
2541 * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it.
2542
2543 * config.in: Regenerate.
2544
25452008-08-04 Seiji Zenitani <zenitani@mac.com>
2546
2547 * nsfns.m (x-create-frame): Set the frame parameter alpha to nil.
2548
25492008-08-04 Chong Yidong <cyd@stupidchicken.com>
2550
2551 * nsterm.h (find_and_call_menu_selection): Fix prototype.
2552
25532008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2554
2555 * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS.
2556
2557 * keyboard.h: Comment an #endif.
2558
2559 * lisp.h (have_menus_p): Adjust comment.
2560
2561 * menu.c (find_and_return_menu_selection): Fix comparison with
2562 client_data.
2563
2564 * nsmenu.m (popup_activated_flag): New variable.
2565 (popup_activated): New function.
2566 (menu-or-popup-active-p): New exported lisp definition.
2567 (ns_popup_menu): Set popup_activated_flag. Call discard_menu_items()
2568 when popup done.
2569 (ns_popup_dialog): Set popup_activated_flag.
2570
2571 * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger
2572 version for GNUstep (handled by conditional typedef in nsterm.m).
2573 (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now
2574 in rgb.txt).
2575
2576 * process.c (init_process): Use DARWIN_OS, not DARWIN.
2577
2578 * sysselect.h: Conditionalize init_process undef on DARWIN_OS.
2579
2580 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS.
2581
2582 * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS,
2583 shortcircuit if popup_activated like GTK and X toolkit.
2584
2585 * m/inter386.h: Change DARWIN to DARWIN_OS.
2586
2587 * s/darwin.h: Add #define DARWIN_OS. Get rid of C_SWITCH_SYSTEM def.
2588 Change LIBS_MACGUI to LIBS_NSGUI. Move temacs-conditionalized defs
2589 closer to C_SWITCH_SYSTEM_TEMACS so usage is understood. Expand
2590 comment on NO_SOCK_SIGIO.
2591
25922008-08-03 Chong Yidong <cyd@stupidchicken.com>
2593
2594 * nsterm.m (windowDidResize): Remove stopModal call.
2595
25962008-08-03 Andreas Schwab <schwab@suse.de>
2597
2598 * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define.
2599 (check_memory_limits): Don't handle HAVE_GETRLIMIT here.
2600
26012008-08-02 Chong Yidong <cyd@stupidchicken.com>
2602
2603 * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin.
2604 Don't use uninitialized pointer variable when using getrlimit.
2605
26062008-08-02 Jason Rumney <jasonr@gnu.org>
2607
2608 * w32font.c (compute_metrics): Don't mess with glyph_idx setting here.
2609
26102008-08-02 Eli Zaretskii <eliz@gnu.org>
2611
2612 * alloc.c (NSTATICS): Bump to 0x640.
2613
2614 * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
2615
2616 * lisp.h: Add prototype for directory_files_internal.
2617
2618 * process.c (Fsystem_processes_list, Fsystem_process_attributes):
2619 New functions.
2620 (syms_of_process): Defsubr them. Add initializations for various
2621 Q* symbols used in procfs_system_process_attributes.
2622 (procfs_list_system_processes, procfs_system_process_attributes)
2623 [HAVE_PROCFS]: New functions.
2624 (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname)
2625 (procfs_get_total_memory): New functions.
2626
26272008-08-01 Juanma Barranquero <lekktu@gmail.com>
2628
2629 * xfaces.c (Fx_load_color_file): Fix previous change;
2630 it is #ifdef WINDOWSNT, not WINDOWS_NT.
2631
26322008-08-01 Michael Albinus <michael.albinus@gmx.de>
2633
2634 * dbusbind.c (xd_read_message): Handle D-Bus error messages.
2635
26362008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2637
2638 * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard.
2639
26402008-08-01 Chong Yidong <cyd@stupidchicken.com>
2641
2642 * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha.
2643
2644 * nsterm.m (EmacsApp -application:openFiles:): GNUstep does not
2645 define NSApplicationDelegateReplySuccess.
2646 (EmacsView -converstationIdentifier): Use long instead of
2647 NSInteger for GNUstep, since it doesn't have NSInteger.
2648
2649 * xmenu.c: Revert last change.
2650
2651 * keyboard.h: Fix last change.
2652
26532008-08-01 Juanma Barranquero <lekktu@gmail.com>
2654
2655 * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting
2656 on Windows.
2657
26582008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2659
2660 Warning clearing and clean-up in NS port.
2661 * keyboard.h (xmalloc_widget_value, digest_single_submenu):
2662 Add prototypes.
2663 * nsgui.h (FACE_DEFAULT): Remove, unused.
2664 (XGCValues): Change colors to unsigned long.
2665 * nsterm.h (EmacsApp): Add declaration of all methods implemented in
2666 nsterm.m.
2667 (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class.
2668 (ns_list_fonts): Remove, unused.
2669 (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes.
2670 * nsfns.m (interpret_services_menu): Use NSMenuItem class.
2671 * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc.
2672 (nsfont_draw): Compare face colors to 0, not nil.
2673 * nsmenu.m (struct widget_value): Drop unneeded declaration.
2674 (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:)
2675 (-addSubmenuWithTitle:): Use NSMenuItem class.
2676 (ns_popup_menu): Use NO, not NULL, for enabled setting.
2677 * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0.
2678 (ns_clip_to_row): Make gc arg a BOOL.
2679 (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in
2680 ns_clip_to_row() call.
2681 (ns_draw_glyph_string): Drop face comparison to ~0 (no longer
2682 used). Cast FRAME_FONT assignments.
2683 (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:.
2684 (ns_string_to_lispmod): Change arg to const char.
2685 (ns_term_init): Use NSMenuItem class.
2686 (EmacsApp -openFile:): Move to different section of file.
2687 (EmacsApp -application:openFiles:): Don't return a value, call
2688 -replyToOpenOrPrint:.
2689 (EmacsView -keyDown:): Fix up cast.
2690 (EmacsView -converstationIdentifier): Use NSInteger instead of long.
2691 (EmacsView -menuDown:): Cast tag in call to
2692 find_and_call_menu_selection().
2693 (ns_list_fonts): Remove, unused.
2694 (ns_font_to_xlfd): Make static. Cast result of UTF8String.
2695 (ns_fontname_to_xlfd): Make static.
2696 * w32menu.c (xmalloc_widget_value, digest_single_submenu):
2697 Remove prototypes (now in keyboard.h).
2698 (next_menubar_widget_id): Remove, unused.
2699 * xmenu.c (xmalloc_widget_value, digest_single_submenu):
2700 Remove prototypes (now in keyboard.h).
2701 * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused.
2702
27032008-08-01 Dan Nicolaescu <dann@ics.uci.edu>
2704
2705 * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o)
2706 (floatfns.o): Depend on syssignal.h.
2707 (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC).
2708
2709 * systty.h: Fix previous change that removed BSD_TERMIOS.
2710 Add comments to #ifdefs.
2711
27122008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2713
2714 * w32fns.c (w32-load-color-file): Remove.
2715 (x-open-connection): Use renamed Fx_load_color_file.
2716 * xfaces.c (x-load-color-file): Add.
2717 * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of
2718 Emacs.clr.
2719 (hide_hourglass): BLOCK_INPUT before UNBLOCK.
2720
27212008-07-31 Michael Albinus <michael.albinus@gmx.de>
2722
2723 * dbusbind.c (Fdbus_call_method_asynchronously)
2724 (Fdbus_method_error_internal): New defuns.
2725 (xd_read_message): Handle also reply messages.
2726 (Vdbus_registered_functions_table): Extend docstring.
2727
27282008-07-31 Juanma Barranquero <lekktu@gmail.com>
2729
2730 * keyboard.c (gobble_input): Fix previous change.
2731
27322008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
2733
2734 * bitmaps/README:
2735 * xfns.c:
2736 * termcap.c:
2737 * term.c:
2738 * syswait.h:
2739 * systty.h:
2740 * systime.h:
2741 * syssignal.h:
2742 * sysdep.c:
2743 * process.h:
2744 * process.c:
2745 * print.c:
2746 * ndir.h:
2747 * lread.c:
2748 * keyboard.c:
2749 * getpagesize.h:
2750 * floatfns.c:
2751 * fileio.c:
2752 * emacs.c:
2753 * doc.c:
2754 * dispnew.c:
2755 * dired.c:
2756 * data.c:
2757 * callproc.c:
2758 * buffer.c:
2759 * README:
2760 * Makefile.in:
2761 * s/template.h:
2762 * s/msdos.h:
2763 * m/vax.h: Remove VMS support.
2764 * s/vms.h:
2765 * vlimit.h:
2766 * uaf.h:
2767 * temacs.opt:
2768 * param.h:
2769 * ioctl.h: Remove file.
2770
27712008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
2772
2773 * s/ms-w32.h (MULTI_KBOARD): Remove.
2774 * xterm.c:
2775 * xselect.c:
2776 * xfns.c:
2777 * window.c:
2778 * w32term.c:
2779 * w32fns.c:
2780 * terminal.c:
2781 * termhooks.h:
2782 * term.c:
2783 * sysdep.c:
2784 * keyboard.h:
2785 * keyboard.c:
2786 * frame.h:
2787 * frame.c:
2788 * frame.c: Remove references to MULTI_KBOARD, it is now the default.
2789 * config.in: Regenerate.
2790
27912008-07-30 Jason Rumney <jasonr@gnu.org>
2792
2793 * w32font.h (struct w32font_info): Use unicode version of textmetrics.
2794
2795 * w32font.c (w32font_encode_char): Leave as unicode if in range.
2796 (w32font_open_internal): Get unicode version of textmetrics.
2797 Don't enable or disable glyph indices here.
2798 (w32font_open): Disable use of glyph indices.
2799
2800 * w32uniscribe.c (uniscribe_open): Enable use of glyph indices.
2801
28022008-07-30 Chong Yidong <cyd@stupidchicken.com>
2803
2804 * minibuf.c (Vread_buffer_function): Doc fix.
2805
28062008-07-30 John Paul Wallington <jpw@pobox.com>
2807
2808 * minibuf.c (read_buffer_completion_ignore_case): New var.
2809 (Fread_buffer): Use it.
2810
28112008-07-30 Dan Nicolaescu <dann@ics.uci.edu>
2812
2813 * systty.h (sensemode): Remove empty #if. Remove reference to
2814 BSD_TERMIOS, unused.
2815
2816 * sysdep.c: Remove reference to DGUX.
2817 (closedir): Remove reference to BROKEN_CLOSEDIR, unused.
2818
2819 * config.in: Regenerate.
2820
28212008-07-30 Jason Rumney <jasonr@gnu.org>
2822
2823 * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size.
2824
28252008-07-29 Jason Rumney <jasonr@gnu.org>
2826
2827 * w32uniscribe.c (uniscribe_shape): Avoid using context if cache
2828 is populated.
2829 (uniscribe_encode_char): Always use uniscribe.
2830 Avoid using context if cache is populated.
2831
28322008-07-29 Jan Djärv <jan.h.d@swipnet.se>
2833
2834 * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to
2835 open menu.
2836
2837 * gtkutil.c (menu_nav_ended): Remove.
2838 (create_menus): Remove signal connect for menu_nav_ended.
2839
28402008-07-28 Chong Yidong <cyd@stupidchicken.com>
2841
2842 * xdisp.c (redisplay_window): Check return value of
2843 compute_window_start_on_continuation_line before forcing a window
2844 start.
2845
28462008-07-28 Jason Rumney <jasonr@gnu.org>
2847
2848 * w32font.c (w32font_text_extents): Use w32_metric_cache consistently.
2849
2850 * w32term.c (w32_enable_unicode_output, cleartype_active):
2851 Remove obsolete display options.
2852 (x_draw_glyph_string_background): Don't use old cleartype_active
2853 workaround.
2854 (w32_initialize): Remove cleartype_active initialization.
2855 (syms_of_w32term): Remove w32_enable_unicode_output initialization.
2856
28572008-07-28 Andreas Schwab <schwab@suse.de>
2858
2859 * lisp.h (init_weak_hash_tables, syms_of_font)
2860 (xd_read_queued_messages, syms_of_dbusbind): Declare.
2861 (remove_hash_entry): Don't declare.
2862 * eval.c (maybe_call_debugger): Make static and move before use.
2863 * gtkutil.c: Include <X11/Xft/Xft.h> if HAVE_XFT.
2864 * xdisp.c: Include "gtkutil.h" if USE_GTK.
2865 * xterm.h (x_set_frame_alpha): Declare.
2866
28672008-07-28 Jan Djärv <jan.h.d@swipnet.se>
2868
2869 * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24.
2870 (create_menus): Connect selection-done to menu_nav_ended.
2871
28722008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
2873
2874 * nsfns.m (x-create-frame): Add copy of parms argument to beginning.
2875 Set Vx_resource_name to a fallback. Replace read of 'buffered'
2876 parameter with read of 'alpha' one.
2877 (Qns_frame_parameter): Remove.
5582fbc7 2878 * nsselect.m (selection-coding-system)
aac0c6e3
MR
2879 (next-selection-coding-system, Vselection_coding_system)
2880 (Vnext_selection_coding_system): Drop.
2881
28822008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
2883
2884 * nsfns.m (do-applescript, do_applescript): Rename to
2885 ns-do-applescript, ns_do_applescript, and move within file.
2886
28872008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
2888
2889 Remove support for Mac Carbon.
2890 * mactoolbox.c:
2891 * macterm.h:
2892 * macterm.c:
2893 * macselect.c:
2894 * macmenu.c:
2895 * macgui.h:
2896 * macfns.c:
2897 * mac.c: Remove file.
2898 * s/darwin.h:
2899 * m/intel386.h:
2900 * xfaces.c:
2901 * xdisp.c:
2902 * window.c:
2903 * tparam.c:
2904 * termhooks.h:
2905 * termcap.c:
2906 * term.c:
2907 * syssignal.h:
2908 * sysselect.h:
2909 * sysdep.c:
2910 * process.c:
2911 * lread.c:
2912 * lisp.h:
2913 * keyboard.c:
2914 * image.c:
2915 * fringe.c:
2916 * frame.h:
2917 * frame.c:
2918 * fontset.c:
2919 * font.h:
2920 * font.c:
2921 * fns.c:
2922 * fileio.c:
2923 * emacs.c:
2924 * dispnew.c:
2925 * dispextern.h:
2926 * config.in:
2927 * atimer.c:
2ae37cf0 2928 * Makefile.in: Remove code for Carbon.
aac0c6e3 2929
f0131492 29302008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aac0c6e3
MR
2931
2932 * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.
2933
29342008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2935
2936 * macterm.h (kCGBitmapByteOrder32Host): New define for
2937 non-universal SDKs.
2938
2939 * image.c (mac_create_cg_image_from_image, image_load_image_io)
2940 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
2941
2942 * macterm.c (XDrawLine, XCreatePixmapFromBitmapData)
2943 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
2944
29452008-07-26 David Robinow <drobinow@gmail.com> (tiny change)
2946
2947 * w32inevt.c: Include dispextern.h.
2948
29492008-07-26 Andreas Schwab <schwab@suse.de>
2950
2951 * print.c (print_object): Fix off-by-one in last change.
2952
29532008-07-25 Juanma Barranquero <lekktu@gmail.com>
2954
2955 * term.c (syms_of_term): Don't initialize default_orig_pair,
2956 default_set_foreground and default_set_background on Windows.
2957
29582008-07-25 Jason Rumney <jasonr@gnu.org>
2959
2960 * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to
2961 ScriptItemize. Clean up return value checking. Remove unused
2962 variables.
2963 (uniscribe_encode_char): Encode non-BMP characters with uniscribe
2964 shaping engine.
2965
2966 * w32font.c (w32font_has_char): Handle the case where we can't
2967 determine the script for a character.
2968
29692008-07-25 Chong Yidong <cyd@stupidchicken.com>
2970
2971 * term.c (syms_of_term): Initialize default_orig_pair,
2972 default_set_foreground, and default_set_background.
2973
2974 * getloadavg.c (nl): Rename to name_list to avoid ncurses.h
2975 clash (bug#86).
2976 (getloadavg): Callers changed.
2977
2978 * image.c (svg_load_image): Fix last change.
2979 (svg_load_image): Use rsvg_handle_get_dimensions to check that
2980 image size is valid. Use g_object_unref instead of deprecated
2981 rsvg_handle_free to free rsvg handle.
2982 (x_from_xcolors): Don't initialize pixmap (silence compiler).
2983
29842008-07-25 Jason Rumney <jasonr@gnu.org>
2985
2986 * w32font.c (w32font_encode_char): Encode characters outside BMP as
2987 surrogates before looking up glyph index.
2988 (w32font_text_extents): Encode as surrogates if falling back to
2989 functions that need UTF-16 wide chars.
2990
2991 * w32uniscribe.c (uniscribe_encode_char): Encode characters outside
2992 BMP as surrogates before looking up glyph index.
2993
29942008-07-25 Chong Yidong <cyd@stupidchicken.com>
2995
2996 * image.c (svg_load_image): Check for failure in return value of
2997 rsvg_handle_get_pixbuf. Free rsvg handle when done.
2998
29992008-07-25 Jason Rumney <jasonr@gnu.org>
3000
3001 * w32font.c (Fx_select_font): Reverse sense of second arg.
3002
30032008-07-24 Stefan Monnier <monnier@iro.umontreal.ca>
3004
3005 * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos)
3006 (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions.
3007
3008 * puresize.h (PURESIZE_CHECKING_RATIO): New macro.
3009 (PURESIZE): Use it.
3010
30112008-07-24 Dan Nicolaescu <dann@ics.uci.edu>
3012
3013 * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs.
3014 * m/alpha.h (TEXT_END):
3015 * m/ibmrs6000.h (TEXT_END):
3016 * m/macppc.h (TEXT_END):
3017 * s/darwin.h (TEXT_END):
3018 * s/msdos.h (TEXT_END): Remove, unused.
3019 * s/gnu-linux.h (BSD_PGRPS): Add a comment.
3020 * s/cygwin.h: Remove comment.
3021
3022 * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused.
3023 (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES.
3024 * m/intel386.h (DOT_GLOBAL_START):
3025 * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES.
3026 (USG): Remove, file not used on USG platforms.
3027
3028 * Makefile.in (HAVE_X11): Remove empty #else.
3029
30302008-07-24 Andreas Schwab <schwab@suse.de>
3031
3032 * fileio.c (Finsert_file_contents): Properly adjust undo list
3033 after format conversion.
3034
30352008-07-24 Jan Djärv <jan.h.d@swipnet.se>
3036
3037 * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG.
3038 (menu_nav_ended): Remove.
3039 (create_menus): Remove signal connect for menu_nav_ended.
3040 (xg_update_menubar): Also take deactivate_cb as parameter, pass it to
3041 create_menus.
3042 (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar.
3043
30442008-07-23 Jason Rumney <jasonr@gnu.org>
3045
3046 * w32font.c (w32_enumfont_pattern_entity): Return height consistent
3047 with opened font.
3048 (w32font_open): Set font type to gdi.
3049
3050 * w32uniscribe.c (uniscribe_open): Set font type to uniscribe.
3051
30522008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
3053
3054 * s/usg5-4.h (ADDR_CORRECT): Remove, unused.
3055 * unexaix.c (ADDR_CORRECT): Remove conditional, the only user
3056 defines it.
3057 * unexec.c (ADDR_CORRECT): Define unconditionally.
3058
3059 * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove.
3060
3061 * unexec.c: Remove code depending on !COFF and USG, the file is
3062 not used for such systems.
3063
3064 * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
3065 * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused.
3066 (LD_SWITCH_SYSTEM_1): Remove, update users.
3067
3068 * s/darwin.h (DATA_END):
3069 * m/intel386.h (DATA_END):
3070 * m/ibmrs6000.h (DATA_END):
3071 * m/alpha.h (DATA_END): Remove, unused.
3072
3073 * config.in: Regenerate.
3074 * s/ms-w32.h (subprocesses): Define unconditionally.
3075 * s/template.h (subprocesses): Update comment.
3076 * s/vms.h (subprocesses):
3077 * s/usg5-4.h (subprocesses):
3078 * s/hpux10-20.h (subprocesses):
3079 * s/gnu-linux.h (subprocesses):
3080 * s/cygwin.h (subprocesses):
3081 * s/bsd-common.h (subprocesses):
3082 * s/aix4-2.h (subprocesses):
3083 * s/darwin.h (subprocesses): Do not define, defined by default now.
3084
3085 * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused.
3086 Remove all references.
3087 (temacs): Add GNUstep specific ld flags.
3088
3089 * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing,
3090 similarly to what X does.
3091
30922008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
3093
3094 * nsfns.m (x-list-fonts): Remove.
3095 (syms_of_nsfns): Drop the x-list-fonts declaration.
3096 * nsterm.m: Get rid of remaining "//" comments.
3097
30982008-07-22 Chong Yidong <cyd@stupidchicken.com>
3099
3100 * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
3101
3102 * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p)
3103 (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal)
3104 (Fns_own_selection_internal, Fx_disown_selection_internal)
3105 (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal):
3106
3107 * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /*
3108 ... */' style of docstrings. Doc fixes.
3109
31102008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
3111
3112 * terminfo.c (UP, BC, PC): Undo previous change.
3113
3114 * nsfns.m: Rename ns prefixed functions/variables to the
3115 corresponding x versions. Update references.
3116
31172008-07-22 Stefan Monnier <monnier@iro.umontreal.ca>
3118
3119 * syntax.c (char_quoted): Check "charpos > beg" before decrementing.
3120
31212008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
3122
3123 * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):
3124 Remove forwarding functions.
3125 (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make
3126 non-static.
3127 (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make
3128 non-static.
3129 (ns_frame_parm_handlers): Use the new names.
3130 (syms_of_nsfns): Move to the end of file.
3131
3132 * nsterm.m (syms_of_nsterm): Move to the end of file.
3133
3134 * dispnew.c (init_display): Remove code for X10.
3135
31362008-07-22 Jason Rumney <jasonr@gnu.org>
3137
3138 * w32proc.c (Fw32_long_file_name): Don't append dir separator to
3139 bare drive.
3140
31412008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
3142
3143 * nsterm.m (syms_of_nsterm): Remove debugging println.
3144
31452008-07-22 David Reitter <david.reitter@gmail.com>
3146
3147 * nsfns.m (do_applescript, F_do_applescript): NS version of the
3148 Carbon implementation of the same functionality: execute arbitrary
3149 AppleScript code.
3150
31512008-07-21 Adrian Robert <Adrian.B.Robert@gmail.com>
3152
3153 * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
3154 (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
3155 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
3156 (Fx_display_mm_height, Fx_display_mm_width)
3157 (Fx_display_backing_store, Fx_display_visual_class)
3158 (Fx_display_save_under, Fx_open_connection)
3159 (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
3160 (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
3161 (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
3162 (Fx_display_pixel_width, Fx_display_pixel_height)
3163 (Fx_display_usable_bounds, Fx_display_planes)
3164 (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
3165 ... */' style of docstrings.
3166
31672008-07-21 Dan Nicolaescu <dann@ics.uci.edu>
3168
3169 * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
3170 on this platform.
3171 (mips):
3172 * m/iris4d.h (mips): Do not define.
3173 * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
3174
3175 * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
3176
3177 * image.c:
3178 * nsfns.m:
3179 * nsselect.m:
3180 * nsterm.h:
3181 * nsterm.m: Rename ns prefixed functions/variables to the
3182 corresponding x versions. Update references.
3183
3184 * m/ibms390x.h (NO_REMAP): Do not undefine.
3185
3186 * m/amdx86-64.h: Use SOLARIS2 instead of sun.
3187
31882008-07-21 Chong Yidong <cyd@stupidchicken.com>
3189
3190 * nsfns.m: Change NS to Nextstep in docstrings and error messages.
3191 (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
3192 (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
3193 (Fns_server_vendor, Fns_server_version, Fns_display_screens)
3194 (Fns_display_mm_height, Fns_display_mm_width)
3195 (Fns_display_backing_store, Fns_display_visual_class)
3196 (Fns_display_save_under, Fns_open_connection)
3197 (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
3198 (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
3199 (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
3200 (Fns_display_pixel_width, Fns_display_pixel_height)
3201 (Fns_display_usable_bounds, Fx_display_planes)
3202 (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
3203
32042008-07-21 Ami Fischman <ami@fischman.org> (tiny change)
3205
3206 * print.c (print_object): Check print_depth before searching for
3207 circularities.
3208
32092008-07-21 Michael Albinus <michael.albinus@gmx.de>
3210
3211 * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
3212 only sprintf.
3213
32142008-07-21 Kenichi Handa <handa@m17n.org>
3215
3216 * ftfont.c (adjust_anchor): Check if DeltaValue is not NULL.
3217
32182008-07-20 Andreas Schwab <schwab@suse.de>
3219
3220 * syntax.c (find_start_pos, find_start_value)
3221 (find_start_value_byte, find_start_begv, find_defun_start)
3222 (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions.
3223
32242008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
3225
3226 * s/sol2-3.h: Insert contents of s/sol2.h.
3227 (LD_SWITCH_SYSTEM): Remove redundant definition.
3228 * s/sol2.h: Remove, unused.
3229
32302008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
3231
3232 * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV.
3233
32342008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
3235
3236 * Makefile.in (ns_appdir): Fix typo in find command.
3237
32382008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
3239
3240 * m/intel386.h (NO_REMAP): Do no define for USG, not used.
3241
3242 * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
3243 added not supported anymore.
3244
3245 * s/usg5-4-2.h (LIBS_SYSTEM):
3246 * s/sol2.h (LIBS_SYSTEM): Do not undefine.
3247
3248 * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
3249 * s/lynxos.h (GETPGRP_NO_ARG):
3250 * s/hpux10-20.h (NO_SIOCTL_H):
3251 * s/gnu.h (GETPGRP_NO_ARG):
3252 * s/gnu-linux.h (NO_SIOCTL_H):
3253 * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
3254 * s/cygwin.h (GETPGRP_NO_ARG):
3255 * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
3256 (C_DEBUG_SWITCH): Remove duplicate definition.
3257
3258 * m/ibms390.h: Remove boilerplate comments.
3259
3260 * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
3261
3262 * process.c (HAVE_SERIAL): Consolidate ifdefs.
3263 (wait_reading_process_output): Remove code for SunOS, platform not
3264 supported anymore. Use SOLARIS2 instead of sun.
3265
32662008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3267
3268 * font.c (font_open_by_name): Under NS, default lface height to zero.
3269 (font_open_for_lface): Under NS, set size based on frame fontsize.
3270 * nsterm.m (EmacsView-changeFont:): Remove some commented code.
3271 * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
3272
32732008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3274
3275 * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
3276 (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
3277 DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
3278 YES/NO.
3279 * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
3280 * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
3281 * Makefile.in (clean): Clear out build destination dir.
3282
32832008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3284
3285 * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
3286 xterm, xselect.
3287 * lisp.h: Remove declaration of hash_remove.
3288 * nsgui.h: Remove redefinitions of hash_remove.
3289 * fns.c (hash_remove): Rename to hash_remove_from_table.
3290
32912008-07-19 Seiji Zenitani <zenitani@mac.com>
3292
3293 * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
3294 strdup() the family UTF8String before modifying it.
3295
32962008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3297
3298 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
3299 NS_FACE_BACKGROUND with 0 instead of nil.
3300 * nsfont.m (nsfont_draw): Same.
3301
33022008-07-19 Chong Yidong <cyd@stupidchicken.com>
3303
3304 * nsfns.m (ns_set_background_color): Fix crash.
3305
33062008-07-18 Chong Yidong <cyd@stupidchicken.com>
3307
3308 * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
3309
33102008-07-18 Dan Nicolaescu <dann@ics.uci.edu>
3311
3312 * puresize.h (BASE_PURESIZE): Increase to 1240000.
3313
33142008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3315
3316 * gtkutil.c: Include <config.h> instead of "config.h".
3317
3318 * lisp.h (Foverlay_buffer): Add EXFUN.
3319
3320 * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
3321 child process to complete child_setup. Undo 2005-09-21 change.
3322
3323 * s/darwin.h: Mention setsid after vfork.
3324
33252008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3326
3327 * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
3328 Depend on macgui.h.
3329
3330 * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
3331 gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
3332
3333 * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
3334 and f19.
3335 [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
3336
3337 * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
3338 (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
3339 Remove enumerators.
3340
3341 * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
3342 Check if FACE_FROM_ID returns NULL.
3343
33442008-07-17 David Robinow <drobinow@gmail.com> (tiny change)
3345
3346 * w32inevt.c (change_frame_size): Remove extern declaration.
3347 (resize_event, maybe_generate_resize_event): Pass SAFE arg to
3348 change_frame_size.
3349
33502008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
3351
3352 * getloadavg.c: Revert last change (2008-07-15).
3353
33542008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
3355
3356 * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
3357 set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc) set
3358 from configure.
3359
33602008-07-17 Dan Nicolaescu <dann@ics.uci.edu>
3361
3362 * s/sol2.h:
3363 * s/sol2-4.h: Reorganize conditionals.
3364
3365 * ecrt0.c: Remove code depending on m68000, not used anymore.
3366
3367 * fns.c (hash_remove): Make static.
3368 * lisp.h (hash_remove): Don't prototype.
3369
3370 * m/ibmrs6000.h:
3371 * m/ibms390x.h:
3372 * m/macppc.h: Remove boilerplate comments.
3373
3374 * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
3375 Solaris, which does not need them.
3376
3377 * m/vax.h: Remove comments about unsupported systems.
3378
3379 * s/darwin.h: Reorganize ifdefs.
3380
33812008-07-17 Andreas Schwab <schwab@suse.de>
3382
3383 * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
3384
33852008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
3386
3387 Use SDATA. Follow coding convention of placing operators at
3388 beginning of next line rather than end of previous line, and placing
3389 spaces around infix operators.
3390
3391 * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
3392 in case it was defined already.
3393 USE @GNUSTEP_MAKEFILES@ rather than envvars.
3394 * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
3395 ns_default.
3396 (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
3397 Lisp_Objects.
3398 * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
3399 (ns_defined_color, ns_color_to_lisp): Declare.
3400 * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
3401 (Fns_own_selection_internal): Make the big ugly hack more explicit, so
3402 it's accepted even with USE_LISP_UNION_TYPE.
3403 * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
3404 (update_frame_tool_bar): Remove apparently obsolete tests for
3405 non-integerness of f->tool_bar_lines.
3406 (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
3407 hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
3408 * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
3409 (nsfont_open): Don't confuse NULL for Qnil.
3410 * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
3411 * menu.h (find_and_call_menu_selection):
3412 * menu.c (find_and_call_menu_selection): Use just int for vector size.
3413 (find_and_return_menu_selection): Always return something.
3414 * frame.h: Include dispextern.h for Display_Info.
3415 (display_x_get_resource): Declare.
3416
34172008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
3418
3419 * syntax.c: Remove stdio.h include accidentally introduced in
3420 Emacs.app commit.
3421 * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
3422 NS_IMPL_COCOA.
3423 * keyboard.c (handle_async_input, input_available_signal): Remove
3424 BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
3425
34262008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
3427
3428 * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
3429 (ns_lisp_to_color): Don't mess with internal Lisp data fields.
3430 (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
3431 Use SDATA.
3432
3433 * keymap.c: Remove all NS-specific code.
3434 (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
3435 (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
3436 where_is_preferred_modifier, return a different value depending on how
3437 preferred is the binding.
3438 (where_is_internal): Adjust accordingly.
3439 (Fwhere_is_internal): Refresh where_is_preferred_modifier.
3440 Adjust to new preferred_sequence_p.
3441 (syms_of_keymap): Declare `where-is-preferred-modifier'.
3442 * keyboard.c (parse_solitary_modifier): Not static any more.
3443 * keyboard.h (parse_solitary_modifier): Declare.
3444
34452008-07-16 Andreas Schwab <schwab@suse.de>
3446
3447 * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
3448 of easymenu.
3449
34502008-07-16 Chong Yidong <cyd@stupidchicken.com>
3451
3452 * xdisp.c (move_it_in_display_line): Account for word wrap, so
3453 that we don't move off the line.
3454
34552008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
3456
3457 * keyboard.c (Qsuper): Remove.
3458 (parse_menu_item): Don't call where_is_internal specially for NS.
3459
34602008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
3461
3462 * s/gnu-linux.h: Remove boilerplate comments.
3463
3464 * m/alpha.h (__ELF__): Consolidate conditions.
3465
3466 * m/m68k.h (linux): Use GNU_LINUX instead.
3467 Remove boilerplate comments.
3468
3469 * m/intel386.h: Undo refactoring from previous change.
3470 (LIB_STANDARD): All systems that define USG define LIB_STANDARD
3471 too, remove dead code.
3472 (linux): Use GNU_LINUX instead.
3473
34742008-07-16 Jason Rumney <jasonr@gnu.org>
3475
3476 * w32gui.h: Repeat 26 June changes lost by last change.
3477
34782008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
3479
3480 * systty.h: Remove code for Aix on 386, unsupported platform.
3481
3482 * s/ms-w32.h: Remove boilerplate comments.
3483 (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
3484
3485 * s/gnu-linux.h (TERM): Remove support.
3486 (HAVE_SYSVIPC): Remove, unused.
3487 (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
3488 for this system.
3489
3490 * process.c: Remove support for IRIS, unused.
3491 Remove support for TERM, not relevant anymore.
3492
3493 * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
3494 used with the definition.
3495
3496 * s/aix4-2.h (static): Do not undef.
3497
3498 * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
3499 only used on Aix.
3500 (HAVE_SYSVIPC): Remove, unused.
3501
3502 * m/hp800.h (CANNOT_DUMP): Do not undef.
3503
3504 * m/alpha.h: Fix comment.
3505
3506 * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
3507 (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
3508 used by this configuration.
3509 * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
3510 * unexec.c: Remove code depending on HPUX and
3511 USG_SHARED_LIBRARIES, not used with this file. Remove code
3512 depending on IRIS, unused. Remove if 0-ed code.
3513
3514 * s/template.h: Remove comments about static.
3515
3516 * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
3517 Remove if 0-ed code.
3518 (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
3519 were the same as the default.
3520 * s/vms.h (BAUD_CONVERT): Remove, same as the default.
3521 Remove boilerplate comments.
3522 * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
3523 (HAVE_SYSVIPC): Remove, unused.
3524 (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
3525
3526 * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
3527 Remove boilerplate comments.
3528 * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
3529 Remove boilerplate comments.
3530 * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
3531 Remove boilerplate comments.
3532 * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
3533
3534 * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
3535 USG systems which do not use DATA_SEG_BITS.
3536 Refactor code. Remove boilerplate comments.
3537
3538 * m/ibms390.h:
3539 * m/m68k.h:
3540 * s/bsd-common.h:
3541 * s/cygwin.h:
3542 * s/darwin.h:
3543 * s/freebsd.h:
3544 * s/gnu.h:
3545 * s/msdos.h: Remove boilerplate comments.
3546
3547 * m/iris4d.h: Remove boilerplate comments and code for systems that
3548 do not use this file.
3549 (IRIS_4D): Remove, unused.
3550
3551 * m/mips.h: Remove boilerplate comments and code for systems that
3552 do not use this file.
3553 (SIGN_EXTEND_CHAR):
3554 * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
3555 * unexmips.c: Remove file, unused.
3556
3557 * editfns.c (Fuser_full_name): Replace the only use of
3558 USER_FULL_NAME with its value.
3559 * config.in: Regenerate.
3560
35612008-07-16 David Reitter <david.reitter@gmail.com>
3562
3563 * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
3564 easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
3565
35662008-07-16 Glenn Morris <rgm@gnu.org>
3567
3568 * emacs.c (system-type): Doc fix.
3569
35702008-07-15 Stefan Monnier <monnier@iro.umontreal.ca>
3571
3572 * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
3573 If the cache doesn't work, let's fix it, rather than work around it.
3574
35752008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
3576
3577 * Makefile.in: Correct additions for nsfont.o in last commit.
3578 * nsfont.m: New file (forgot last commit).
3579
35802008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
3581
3582 * callproc.c (set_initial_environment): Initialize
3583 Vprocess_environment under CANNOT_DUMP (fixes crash when
3584 batch-compiling for bootstrap).
3585
35862008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
3587 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3588
3589 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
3590 fix crash due to different init order.
3591
35922008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
3593
3594 Changes and additions for NeXTstep windowing system (Cocoa and
3595 GNUstep) support.
3596
3597 * Makefile.in:
3598 * config.in: Support defines and build commands for NS port.
3599 * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
3600 (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
3601 * dispextern.h: Include nsgui.h and add needed typedefs under NS
3602 windowing.
3603 (struct face): Add synth_ital field.
3604 * dispnew.c: Include nsterm.h when compiling under NS windowing.
3605 (init_display): Initialize Vinitial_window_system to "ns" when so
3606 compiled.
3607 * emacs.c: Include GSConfig.h when compiling under GNUstep.
3608 (display_arg): Use under NS.
3609 (main): Under NS, allocate autorelease pool and handle command line
3610 args. Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
3611 (standard_args): Add NS-specific args.
3612 (shut_down_emacs): Shut down NS terminal if compiled under NS.
3613 * font.c (DEFAULT_ENCODING): New variable.
3614 (font_find_for_lface): Use it.
3615 (syms_of_font): Load syms_of_nsfont under NS.
3616 * font.h: Declare nsfont_driver when compiled under NS.
3617 * fontset.c: When compiling under NS, include nsterm.h.
3618 (fontset_from_font): Autoconstruct fontset under NS.
3619 * frame.c (various): Under NS, include nsterm.h, add Qns window system
3620 symbol, document and use it.
3621 (do_switch_frame): When for_deletion under Cocoa, add
3622 Fraise_frame(Qnil).
3623 (x_set_frame_parameters): Ensure font attribute changes are picked up.
3624 (x_get_arg): Allow "yes" and "no" as boolean values.
3625 (syms_of_frame): Declare Qns. Init Vdefault_frame_scroll_bars to
3626 Qright under Cocoa.
3627 (focus-follows-mouse): Default to 0 under NS.
3628 * frame.h (enum output_method): Add output_ns.
3629 (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
3630 (FRAME_EXTERNAL_MENU_BAR): Use under NS.
3631 (FRAME_WINDOW_P): NS-specific definition.
3632 * fringe.c (max_used_fringe_bitmap): Make public.
3633 * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
3634 (getloadavg): Use NeXT code under descendant OS's.
3635 * image.c (includes and header section, x_create_bitmap_from_data)
3636 (x_create_bitmap_from_file, free_bitmap_record, image_background)
3637 (image_background_transparent, x_clear_image_1)
3638 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
3639 (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
3640 (x_to_xcolors, x_from_xcolors, x_disable_image)
3641 (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
3642 other GUIs, including XPM support using code originally written for
3643 Carbon GUI.
3644 (png_load, jpeg_load, tiff_load, gif_load): Add implementations
3645 using NS API.
3646 (image_ascent): Use font metrics macros instead of direct struct field
3647 access.
3648 * keyboard.c (includes): Add nsterm.h when compiling under NS.
3649 (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
3650 Also, handle NS as GTK for menu bar purposes.
3651 (make_lispy_event): Handle NS as other GUI windowing systems, and as X
3652 toolkit where they differ.
3653 (parse_menu_item): Prefer keybindings using 'super' modifier. Also,
3654 use cachelist, still needed under NS.
3655 * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
3656 (struct widget_value): Define it here for menu.c.
3657 * keymap.c (includes): Include modifier internals.
3658 (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
3659 NS.
3660 (where_is_internal, Fwhere_is_internal): When compiled under NS, add
3661 support for preferring sequences using certain modifiers, specified by
3662 the FIRSTONLY argument.
3663 * lisp.h (hash_remove): Rename to avoid name clash when compiling
3664 under NS GNUstep implementation.
3665 (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
3666 * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
3667 * menu.c: Include nsterm.h under NS.
3668 (single_menu_item, parse_single_submenu, xmalloc_widget_value)
3669 (free_menubar_widget_tree_value, update_submenu_strings)
3670 (find_and_call_menu_selection): Treat NS as X and NT.
3671 (find_and_return_menu_selection): New function, used for popup menus.
3672 * nsgui.h:
3673 * nsterm.h:
3674 * nsfns.m:
3675 * nsimage.m:
3676 * nsmenu.m:
3677 * nsselect.m:
3678 * nsterm.m: New files.
3679 * process.c (wait_reading_process_output): Under NS, call ns_select()
3680 instead of plain select().
3681 * syntax.c (char_quoted): Under NS, avoid a crash when called near
3682 beginning of buffer.
3683 * sysselect.h (init_process): Rename when compiling under Cocoa to
3684 avoid name conflict.
3685 * termhooks.h (display_info): Add ns_display_info to union.
3686 * terminal.c (Fterminal_live_p): Add ns to terminal types.
3687 * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
3688 COCOA environment.
3689 * unexnext.c: Update to work with mach API on Mac OS X, and to use new
3690 unexec() signature. (Note, this will dump, but the resulting file
3691 crashes; unexosx is used instead; keeping around for reference and
3692 possible aid in getting dump working under GNUstep.)
3693 * w32gui.h (button_type, widget_value): Remove definitions (now in
3694 keyboard.h).
3695 * window.c: Include nsterm.h when compiling under NS.
3696 * xdisp.c (includes): Include nsterm.h when compiling under NS.
3697 (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
3698 other GUI windowing systems.
3699 (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
3700 GTK.
3701 (x_consider_frame_title): Under NS, set icon type and frame
3702 modified-state indicator; use ns_set_name_as_filename() when using
3703 formatted title.
3704 (update_window_cursor): Make public when compiling under NS.
3705 (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
3706 (hourglass_atimer, Vhourglass_delay
3707 * xfaces.c (header section, init_frame_faces, clear_font_table)
3708 (defined_color, unload_color, x_face_list_fonts)
3709 (prepare_face_for_display): Add NS support parallel to other GUIs.
3710 Emulate GCs like other non-X GUIs.
3711 (split_font_name): Don't lowercase font name under NS.
3712 (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
3713 under NS.
3714 * s/darwin.h: Add support for compilation under NS.
3715
37162008-07-15 Jason Rumney <jasonr@gnu.org>
3717
3718 * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
3719 (w32_show_hourglass): Rename from show_hourglass.
3720 (w32_hide_hourglass): Rename from hide_hourglass.
3721 (DEFAULT_HOURGLASS_DELAY): Revert from last change.
3722 (Vhourglass_delay): Declare extern.
3723 (hourglass_started): Remove.
3724
3725 * xdisp.c (Vhourglass_delay): Remove static.
3726 (hourglass_started, start_hourglass, cancel_hourglass):
3727 Don't include these versions on WINDOWSNT.
3728
37292008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
3730
3731 * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
3732 variables (formerly in xfns.c).
3733 (show_hourglass, hide_hourglass): New prototypes (same).
3734 * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
3735 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
3736 in xfns.c).
3737 (syms_of_xdisp): Declare/initialize display-hourglass,
3738 hourglass-delay. Initialize hourglass_atimer, hourglass_shown_p.
3739 (hourglass_started, start_hourglass, cancel_hourglass): New functions,
3740 formerly in xfns.c.
3741 * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
3742 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
3743 (start_hourglass, cancel_hourglass): Remove.
3744 (show_hourglass, hide_hourglass): Remove prototypes and static
3745 modifiers.
3746 (syms_of_xfns): Remove display-hourglass, hourglass-delay,
3747 hourglass_atimer, hourglass_shown_p declaration/initialization.
3748 * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
3749 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
3750 (start_hourglass, cancel_hourglass): Remove.
3751 (show_hourglass, hide_hourglass): Remove prototypes and static
3752 modifiers.
3753 (syms_of_macfns): Remove display-hourglass, hourglass-delay,
3754 hourglass_atimer, hourglass_shown_p declaration/initialization.
3755 * w32fns.c (display_hourglass_p, Vhourglass_delay)
3756 (DEFAULT_HOURGLASS_DELAY): Remove.
3757 (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
3758 hourglass_shown_p declaration/initialization.
3759
37602008-07-14 Jason Rumney <jasonr@gnu.org>
3761
3762 * w32fns.c (w32_get_arg): Remove wrapper function.
3763 (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
3764 directly.
3765 (Fx_create_frame): Sync with xfns.c. Use x_get_arg directly.
3766
37672008-07-14 Kenichi Handa <handa@m17n.org>
3768
3769 * xfont.c (xfont_open): Add workaround for X's bug.
3770
37712008-07-14 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
3772
3773 * fontset.c: Include <stdio.h> unconditionally.
3774
37752008-07-13 Michael Albinus <michael.albinus@gmx.de>
3776
3777 * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
3778 for filtering.
3779
37802008-07-13 Dan Nicolaescu <dann@ics.uci.edu>
3781
3782 * s/vms.h: Use __GNUC__ instead of _GNUC_.
3783
3784 * m/macppc.h:
3785 * m/alpha.h: Use GNU_LINUX instead of LINUX. Reorganize conditionals.
3786
3787 * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
3788 (SPECIAL_EMACS_INT):
3789 * m/ia64.h (SPECIAL_EMACS_INT):
3790 * m/amdx86-64.h (SPECIAL_EMACS_INT):
3791 * s/gnu.h (NLIST_STRUCT):
3792 * s/aix4-2.h (X11R5_INHIBIT_I18N):
3793 * s/gnu-linux.h (LINUX):
3794 * s/msdos.h (HAVE_FACES):
3795 * s/ms-w32.h (HAVE_FACES): Don't define, unused.
3796
3797 * systty.h:
3798 * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
3799 anymore.
3800
38012008-07-12 Dan Nicolaescu <dann@ics.uci.edu>
3802
3803 * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was
3804 always defined as int.
3805
3806 * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
3807 * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
3808 * s/gnu-linux.h (HAVE_WAIT_HEADER):
3809 * s/freebsd.h (HAVE_WAIT_HEADER):
3810 * s/bsd-common.h (HAVE_UNION_WAIT):
3811 * s/aix4-2.h (HAVE_WAIT_HEADER):
3812 * m/mips.h (HAVE_UNION_WAIT):
3813 * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
3814 (COFF, static): Do not define, they are undefined later in the file.
3815
3816 * process.c (update_status): Don't use a union.
3817 (status_convert):
3818 (sigchld_handler): Use int instead of WAITTYPE.
3819
38202008-07-12 Chong Yidong <cyd@stupidchicken.com>
3821
3822 * indent.c (Fvertical_motion): Restore hscroll before moving to
3823 goal column.
3824
38252008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
3826
3827 * lisp.h: Remove left over code.
3828
38292008-07-11 Andreas Schwab <schwab@suse.de>
3830
3831 * lisp.h: Fix logic in last change.
3832
3833 * menu.h: New file.
3834 * menu.c: Include it.
3835 * xmenu.c: Likewise.
3836 * Makefile.in: Update dependencies.
3837
38382008-07-11 Kenichi Handa <handa@m17n.org>
3839
3840 * fontset.c (fontset_from_font): Cancel the previous change.
3841
38422008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
3843
3844 * lisp.h:
3845 * w32heap.c:
3846 * emacs.c:
3847 * alloc.c: Replace all references of NO_UNION_TYPE with
3848 USE_LISP_UNION_TYPE.
3849
3850 * m/xtensa.h (NO_UNION_TYPE):
3851 * m/vax.h (NO_UNION_TYPE):
3852 * m/template.h (NO_UNION_TYPE):
3853 * m/sparc.h (NO_UNION_TYPE):
3854 * m/mips.h (NO_UNION_TYPE):
3855 * m/macppc.h (NO_UNION_TYPE):
3856 * m/m68k.h (NO_UNION_TYPE):
3857 * m/iris4d.h (NO_UNION_TYPE):
3858 * m/intel386.h (NO_UNION_TYPE):
3859 * m/ibms390x.h (NO_UNION_TYPE):
3860 * m/ibms390.h (NO_UNION_TYPE):
3861 * m/ibmrs6000.h (NO_UNION_TYPE):
3862 * m/ia64.h (NO_UNION_TYPE):
3863 * m/hp800.h (NO_UNION_TYPE):
3864 * m/arm.h (NO_UNION_TYPE):
3865 * m/amdx86-64.h (NO_UNION_TYPE):
3866 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
3867 defining it the same.
3868
38692008-07-10 Chong Yidong <cyd@stupidchicken.com>
3870
3871 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
3872
38732008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
3874
3875 * fileio.c:
3876 * sysdep.c
3877 * systty.h:
3878 * m/ibmrs6000.h:
3879 * m/iris4d.h:
3880 * s/aix4-2.h:
3881 * s/freebsd.h:
3882 * s/gnu-linux.h:
3883 * s/hpux10-20.h:
3884 * s/hpux11.h:
3885 * s/netbsd.h:
3886 * s/sol2-3.h:
3887 * s/sol2-4.h:
3888 * s/sol2.h:
3889 * s/usg5-4.h:
3890 * s/vms.h: Remove references to unused variables.
3891
38922008-07-10 Andreas Schwab <schwab@suse.de>
3893
3894 * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
3895 pattern before matching the generic family.
3896
38972008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
3898
3899 * unexec.c:
3900 * s/vms.h:
3901 * s/usg5-4-2.h:
3902 * s/sol2-5.h:
3903 * s/freebsd.h:
3904 * s/darwin.h: Remove dead code.
3905
3906 * m/template.h:
3907 * m/sparc.h:
3908 * m/mips.h:
3909 * m/m68k.h:
3910 * m/iris4d.h:
3911 * m/intel386.h:
3912 * m/ibms390x.h:
3913 * m/ibms390.h:
3914 * m/ia64.h:
3915 * m/hp800.h:
3916 * m/arm.h:
3917 * m/amdx86-64.h: Remove dead code and references to unused
3918 and compiler defined symbols.
3919
3920 * unexmips.c:
3921 * unexelf.c: Remove references to desupported systems.
3922
3923 * m/powermac.h: Remove file, it is now identical to m/macppc.h.
3924
3925 * m/powermac.h: Remove boilerplate comments.
3926 (NO_REMAP): Remove unused definition.
3927
3928 * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
3929 define them.
3930
39312008-07-10 Kenichi Handa <handa@m17n.org>
3932
3933 * xfont.c (xfont_open): Log the reason of failure.
3934
39352008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
3936
3937 * fontset.c (fontset_get_font_group):
3938 * font.c (font_check_otf): Specify argument types.
3939
39402008-07-09 Kenichi Handa <handa@m17n.org>
3941
3942 * coding.c (detect_coding_utf_8): Set detect_info->found only when
3943 non-ASCII char is found.
3944
3945 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
3946 (reorder_font_vector): Change the arg preferred_family to font.
3947 Prefer the spec matching with font.
3948 (fontset_get_font_group): New function.
3949 (fontset_find_font): Change the format of an element of a realized
3950 fontset. Use fontset_get_font_group.
3951 (fontset_font): Try the current fontset, the default fontset, the
3952 fallbacks of the current fontset, and the fallbacks of the default
3953 fontset in this order.
3954 (face_for_char): Delete the shortcut to use the current font.
3955 (fontset_from_font): Don't set fonts for Latin in the fontset.
3956
3957 * font.h (font_make_object, font_match_p): Adjust prototypes.
3958
3959 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
3960
3961 * font.c (font_make_object): New arg entity and pixelsize.
3962 (font_check_otf_features, font_check_otf): New functions.
3963 (font_match_p): Check :lang, :script, and :otf properties.
3964
3965 * xfont.c (xfont_open): Adjust it for the change of
3966 font_make_object.
3967 (xfont_text_extents): Fix initial setting of metrics.
3968
3969 * ftfont.c (struct ftfont_info): New member index, delete member
3970 fc_charset_idx. Make the member order compatible with struct
3971 xftfont_info.
3972 (fc_charset_table): Change charset names to registry names.
3973 (ftfont_pattern_entity): Delete the args registry and
3974 fc_charset_idx. Change the value of :font-entity property
3975 to (FONTNAME . INDEX). Always set :registry property to
3976 `iso10646-1'.
3977 (struct ftfont_cache_data): New struct.
3978 (ftfont_lookup_cache): New arg for_face.
3979 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
3980 (ftfont_driver): Set the member otf_capability.
3981 (ftfont_get_charset): Adjust it for the change of
3982 fc_charset_table.
3983 (OTF_TAG_SYM): New macro.
3984 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
3985 for the change of fc_charset_table.
3986 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
3987 ftfont_pattern_entity. Add FC_INDEX to objset.
3988 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
3989 and ftfont_pattern_entity.
3990 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
3991 font_make_object, struct ftfont_info.
3992 (ftfont_has_char): Use ftfont_get_fc_charset.
3993 (ftfont_otf_features, ftfont_otf_capability): New functions.
3994 (ftfont_shape): Use ftfont_get_otf.
3995 (ftfont_text_extents): Fix initial setting of metrics.
3996
3997 * xftfont.c (struct xftfont_info): New member ft_size. Make the
3998 member order compatible with struct ftfont_info.
3999 (xftfont_open): Add FC_CHARSET to the pattern. Set
4000 xftfont_info->ft_size. Don't unlock the face. Check BDF
4001 properties if appropriate.
4002 (xftfont_close): Unlock the face.
4003 (xftfont_anchor_point, xftfont_shape): Deleted.
4004 (syms_of_xftfont): Don't set members anchor_point and shape of
4005 xftfont_driver.
4006
4007 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
4008 font_make_object.
4009
4010 * w32font.c (w32font_open): Adjust it for the change of
4011 font_make_object.
4012 (w32font_open_internal): Don't set properties of font_object here.
4013
40142008-07-08 Chong Yidong <cyd@stupidchicken.com>
4015
4016 * macfns.c (x_create_tip_frame):
4017 * w32fns.c (x_create_tip_frame):
4018 * xfns.c (x_create_tip_frame): Pass parameter argument to
4019 face-set-after-frame-default.
4020
4021 * xfaces.c (Finternal_merge_in_global_face): Save merged
4022 attributes for the default face back into the face vector.
4023
40242008-07-08 Andreas Schwab <schwab@suse.de>
4025
4026 * fontset.h: Declare fontset_from_font. Don't declare
4027 new_fontset_from_font and fontset_from_font_name.
4028 * xterm.c: Include "fontset.h".
4029 * Makefile.in (xterm.o): Update dependencies.
4030
40312008-07-08 Glenn Morris <rgm@gnu.org>
4032
4033 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
4034 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
4035
40362008-07-07 Chong Yidong <cyd@stupidchicken.com>
4037
4038 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
4039 (x_set_frame_parameters): Don't bind it.
4040
40412008-07-07 Juanma Barranquero <lekktu@gmail.com>
4042
4043 * w32fns.c (map_w32_filename): Declare extern.
4044
40452008-07-07 Jason Rumney <jasonr@gnu.org>
4046
4047 * w32term.c (WS_EX_LAYERED): Define if not already.
4048
40492008-07-06 Chong Yidong <cyd@stupidchicken.com>
4050
4051 * xfaces.c (set_font_frame_param): Don't try to set the font
4052 parameter if it is still unspecified in the lface.
4053
40542008-07-05 Chong Yidong <cyd@stupidchicken.com>
4055
4056 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
4057 face if it didn't already exist.
4058
4059 * xdisp.c (try_window_id): Give up if word-wrapping is on.
4060
40612008-07-05 Andreas Schwab <schwab@suse.de>
4062
4063 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
4064
40652008-07-05 Chong Yidong <cyd@stupidchicken.com>
4066
4067 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
4068 word-wrapping.
4069 (IT_DISPLAYING_WHITESPACE): New macro.
4070 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
4071 when word-wrapping. Simplify word-wrapping logic. Use correct
4072 pixel positions when saving copies of the iterator.
4073 (display_line): Use proper wrap point if the last character on a
4074 line was preceded by whitespace.
4075
40762008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
4077
4078 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
4079
40802008-07-04 Kenichi Handa <handa@m17n.org>
4081
4082 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
4083
4084 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
4085
40862008-07-02 Jason Rumney <jasonr@gnu.org>
4087
4088 * xfns.c (syms_of_xfns): Only define x-select-font when both
2ae37cf0 4089 HAVE_FREETYPE and USE_GTK.
aac0c6e3
MR
4090
4091 * xdisp.c (next_element_from_display_vector): Move assignment out
4092 of if statement.
4093
40942008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
4095
4096 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
4097
4098 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
4099 (syms_of_fileio): Initialize and export them.
4100 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
4101
4102 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
4103 (Fsystem_move_file_to_trash): New function.
4104 (syms_of_w32fns): Export it to lisp.
4105
41062008-07-01 Jason Rumney <jasonr@gnu.org>
4107
4108 * w32font.c (w32font_text_extents): Don't count overhang as part
4109 of width.
4110
41112008-06-30 Miles Bader <miles@gnu.org>
4112
4113 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
4114 Add `avoid_cursor_p' field.
4115
4116 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
4117 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
4118 (append_glyph, append_composite_glyph, produce_image_glyph)
4119 (append_stretch_glyph): Initialize avoid_cursor_p.
4120 (get_it_property): Rename from `get_line_height_property'.
4121 (x_produce_glyphs): Use get_it_property.
4122 (handle_line_prefix, push_display_prop): New functions.
4123 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
4124 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
4125 New variables.
4126 (syms_of_xdisp): Initialize them.
4127
41282008-06-30 Kenichi Handa <handa@m17n.org>
4129
4130 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
4131 XftDefaultSubstitute (they are called in XftFontMatch).
4132 (xftfont_open): Fix args to ftfont_font_format.
4133
4134 * ftfont.c (fc_charset_table): New member lang.
4135 (ftfont_resolve_generic_family): New arg pattern.
60612c8f 4136 (ftfont_spec_pattern): Check fc_charset_table[]->lang.
aac0c6e3
MR
4137 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
4138 (ftfont_open): Fix args to ftfont_font_format.
4139 (ftfont_font_format): New arg filename.
4140
41412008-06-30 Chong Yidong <cyd@stupidchicken.com>
4142
4143 * xfaces.c (Finternal_merge_in_global_face): If default face was
4144 modified, realize it again. Update the font face attribute.
4145
41462008-06-29 Jason Rumney <jasonr@gnu.org>
4147
4148 * w32term.c (x_set_frame_alpha): Fix logic.
4149
41502008-06-29 Kenichi Handa <handa@m17n.org>
4151
4152 * fontset.c (Finternal_char_font): Return font-object instead of
4153 font-name.
4154
4155 * composite.c (get_composition_id): Fix the width calculation for TAB.
4156
41572008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
4158
4159 * indent.c (Fvertical_motion): Properly handle float column arg.
4160
41612008-06-28 Jason Rumney <jasonr@gnu.org>
4162
4163 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
4164 (pfnSetLayeredWindowAttributes): New function pointer.
4165 (w32_initialize): Initialize it when supported.
4166 (x_set_frame_alpha): New function.
4167
4168 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
4169 (w32_frame_parm_handlers): Set alpha handler.
4170
4171 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
4172
41732008-06-27 Jason Rumney <jasonr@gnu.org>
4174
4175 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
4176 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
4177 (w32_to_x_charset, x_to_w32_charset)
4178 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
4179 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
4180 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
4181 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
4182 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
4183 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
4184 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
4185 (Qw32_charset_unicode): Remove.
4186 (syms_of_w32fns): Update for above changes.
4187
4188 * w32font.c (w32_to_x_charset, x_to_w32_charset)
4189 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
4190 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
4191 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
4192 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
4193 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
4194 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
4195 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
4196 (syms_of_w32font): Update for above changes.
4197
41982008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
4199
4200 * s/usg5-4.h: Fix previous change: keep the correct branch of a
4201 removed #if.
4202 (USG_SHARED_LIBRARIES): Remove duplicate definition.
4203
42042008-06-26 Juanma Barranquero <lekktu@gmail.com>
4205 Eli Zaretskii <eliz@gnu.org>
4206
4207 * makefile.w32-in (LOCAL_FLAGS):
4208 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
4209
4210 * sysdep.c (_spawnlp, _getpid):
4211 Declare with explicit _cdecl instead of _CRTAPI1.
4212
4213 * editfns.c (Fget_internal_run_time):
4214 Check for WINDOWSNT with #ifdef, not #if.
4215
42162008-06-26 Jason Rumney <jasonr@gnu.org>
4217
4218 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
4219
4220 * w32term.c (x_draw_glyph_string_foreground)
4221 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
4222 Use FONT_HANDLE macro.
4223 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
4224
4225 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
4226 (uniscribe_encode_char): Use FONT_HANDLE macro.
4227
4228 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
4229 (w32font_text_extents): Use precast w32_font.
4230 (w32font_close): Free cached metrics.
4231 (w32font_open_internal): Allocate space for name on stack.
4232
42332008-06-26 Chong Yidong <cyd@stupidchicken.com>
4234
4235 * xdisp.c (extend_face_to_end_of_line): Fix last change.
4236
42372008-06-26 Jason Rumney <jasonr@gnu.org>
4238
4239 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
4240 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
4241
42422008-06-26 Juanma Barranquero <lekktu@gmail.com>
4243
4244 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
4245
42462008-06-26 Jason Rumney <jasonr@gnu.org>
4247
4248 * w32bdf.c, w32bdf.h: Remove obsolete files.
4249
4250 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
4251
4252 * w32gui.h: Don't include w32bdf.h.
4253 (XCharStruct, enum w32_char_font_type, W32FontStruct):
4254 Remove obsolete font support.
4255
4256 * w32font.h (struct w32font_info): Remove compat_w32_font.
4257 Add hfont member.
4258 (FONT_COMPAT): Remove obsolete macro.
4259
4260 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
4261 (w32font_encode_char, w32font_text_extents): Use new hfont member.
4262 (w32font_open_internal): Remove compat code. Set new hfont member.
4263 (Fx_select_font): Use new hfont member.
4264
4265 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
4266 (uniscribe_encode_char): Use new hfont member.
4267
4268 * w32term.c (x_draw_glyph_string_foreground)
4269 (x_draw_composite_glyph_string_foreground): Use new hfont member.
4270 (x_draw_glyph_string): Use metrics in w32font_info.
4271
42722008-06-26 Kenichi Handa <handa@m17n.org>
4273
4274 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
4275
42762008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
4277
4278 * unexnext.c:
4279 * m/ews4800.h:
4280 * m/hp9000s300.h:
4281 * m/ibm370aix.h:
4282 * m/mips-siemens.h:
4283 * m/ncr386.h:
4284 * m/next.h:
4285 * m/pmax.h:
4286 * m/powerpcle.h:
4287 * m/tandem-s2.h:
4288 * s/386bsd.h:
4289 * s/bsd386.h:
4290 * s/bsd4-1.h:
4291 * s/bsd4-2.h:
4292 * s/bsdos2-1.h:
4293 * s/bsdos2.h:
4294 * s/bsdos3.h:
4295 * s/bsdos4.h:
4296 * s/nextstep.h:
4297 * s/ultrix4-3.h:
4298 * s/usg5-0.h:
4299 * s/usg5-2-2.h:
4300 * s/usg5-2.h:
4301 * s/usg5-4-3.h:
4302 * s/ux4800.h:
4303 * s/uxpds.h:
4304 * s/uxpv.h: Remove support for obsolete systems.
4305 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
8f3a3ac2 4306 Remove, insert contents in s/hpux10-20.h.
aac0c6e3
MR
4307 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
4308 Remove, insert contents in s/aix4-2.h.
4309 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
4310 * s/bsd4-3.h: Rename to ...
4311 * s/bsd-common.h: ... this.
4312 * data.c:
4313 * doc.c:
4314 * ecrt0.c:
4315 * emacs.c:
4316 * fileio.c:
4317 * floatfns.c:
4318 * keyboard.c:
4319 * mem-limits.h:
4320 * print.c:
4321 * process.c:
4322 * sysdep.c:
4323 * syssignal.h:
4324 * systty.h:
4325 * syswait.h:
4326 * term.c:
4327 * unexec.c:
4328 * unexelf.c:
4329 * unexhp9k800.c:
4330 * m/hp800.h:
4331 * m/ibmrs6000.h:
4332 * m/mips.h:
4333 * m/vax.h:
4334 * s/darwin.h:
4335 * s/freebsd.h:
4336 * s/gnu.h:
4337 * s/ms-w32.h:
4338 * s/msdos.h:
4339 * s/netbsd.h:
4340 * s/template.h: Remove references to obsolete variables.
4341
4342 * Makefile.in: Add dependencies for all unexec files.
4343 (admindir): Remove unused variable.
4344 (UNEXEC_SRC): Remove references.
4345
43462008-06-25 Chong Yidong <cyd@stupidchicken.com>
4347
4348 * xfns.c (x_default_font_parameter): If Xft is available, first
4349 try Monospace-12 for the default font.
4350
43512008-06-25 Jason Rumney <jasonr@gnu.org>
4352
4353 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
4354
43552008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
4356
4357 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
4358
4359 * buffer.c (syms_of_buffer): Remove default-word-wrap.
4360
43612008-06-25 Juanma Barranquero <lekktu@gmail.com>
4362
4363 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
4364 <scroll-conservatively>: Fix typo in docstring.
4365
4366 * xselect.c (Fx_send_client_event): Doc fix.
4367
43682008-06-25 Kenichi Handa <handa@m17n.org>
4369
4370 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
4371
4372 * font.c (font_parse_fcname): Remove unused variables.
4373 (font_sort_entites): Delete the arg SPEC. Caller changed.
4374 Fix for the case of ! best_only.
4375 (font_delete_unmatched): Check DPI and AVGWIDTH too.
4376
4377 * lisp.h (Fstring_to_unibyte): EXFUN it.
4378
4379 * character.h (str_to_unibyte): Extern it.
4380
4381 * character.c (str_to_unibyte): New function.
4382
4383 * fns.c (Fstring_to_unibyte): New function.
4384 (syms_of_fns): Defsubr it.
4385
43862008-06-24 Kenichi Handa <handa@m17n.org>
4387
4388 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
4389 DPI too.
4390 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
4391
43922008-06-24 Andreas Schwab <schwab@suse.de>
4393
4394 * Makefile.in (${lispsource}loaddefs.el): Rename from
4395 ../lisp/loaddefs.el.
4396 (bootstrap-clean): Do what distclean does but don't remove
4397 Makefile.
4398 (distclean): Depend on bootstrap-clean and remove Makefile.
4399
44002008-06-24 Chong Yidong <cyd@stupidchicken.com>
4401
4402 * buffer.h (struct buffer): New member word_wrap.
4403
4404 * buffer.c (syms_of_buffer): New variables default-word-wrap and
4405 word-wrap.
4406 (init_buffer_once): Initialize them.
4407
4408 * dispextern.h (struct it): Replace bool truncate_lines_p with a
4409 line_wrap enum possessing three possible values.
4410
4411 * termopts.h: Replace truncate_partial_width_windows with
4412 Vtruncate_partial_width_windows.
4413
4414 * dispnew.c (direct_output_for_insert): Avoid direct output when
4415 inserting a space with word wrap on.
4416
4417 * indent.c (compute_motion): Obey integer values of
4418 truncate-partial-width-windows.
4419
4420 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
4421 replacing truncate_partial_width_windows.
4422 (init_iterator): If Vtruncate_partial_width_windows is an integer,
4423 truncate only if the window width is below that integer.
4424 (start_display, resize_mini_window, produce_stretch_glyph)
4425 (display_string, move_it_in_display_line_to): Use line_wrap.
4426 (back_to_previous_visible_line_start, reseat_1): Reset
4427 string_from_display_prop_p.
4428 (display_line): Extend default face to end of line when wrapping.
4429
44302008-06-24 Kim F. Storm <storm@cua.dk>
4431
4432 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
4433 to wrap continued lines at word boundaries.
4434
44352008-06-24 Jason Rumney <jasonr@gnu.org>
4436
4437 * font.c (Ffont_face_attributes): Multiply pixel size before point
4438 conversion to avoid multiplying rounding error.
4439
44402008-06-23 Jason Rumney <jasonr@gnu.org>
4441
4442 * w32term.c (x_draw_glyph_string_background)
4443 (x_draw_glyph_string): Remove old bdf font code.
4444
4445 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
4446
44472008-06-22 Kenichi Handa <handa@m17n.org>
4448
4449 * font.c (font_find_for_lface): Try the adstyle specified in
4450 the property of LFACE_FONT of LFACE (if any).
4451
44522008-06-21 Seiji Zenitani <zenitani@mac.com>
4453 Ryo Yoshitake <ryo@shiftmode.net>
4454
4455 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
4456
44572008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
4458
4459 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
4460 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
4461 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
4462 (witness-emacs): Remove.
4463 (lisp, shortlisp): Move loaddefs.el earlier.
4464 (mostlyclean): Forget about witness-emacs.
4465
44662008-06-22 Glenn Morris <rgm@gnu.org>
4467
4468 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
4469 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
4470
44712008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
4472
4473 * Makefile.in (PRECOMP): Remove.
4474 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
4475 (witness-emacs): Run `compile-first'.
4476 (.el.elc): Use the new compile-onefile target.
4477
44782008-06-21 Kenichi Handa <handa@m17n.org>
4479
4480 * xftfont.c (xftfont_open): Handle QCembolden only when
4481 FC_EMBOLDEN is defined.
4482
44832008-06-21 Andreas Schwab <schwab@suse.de>
4484
4485 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
4486 (.el.elc): Likewise.
4487
44882008-06-21 Miles Bader <miles@gnu.org>
4489
4490 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
4491 build dir, not the lisp source dir.
4492
44932008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
4494
4495 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
4496 (bootstrapclean): Remove.
4497 (.el.elc): New rule.
4498 (PRECOMP): New var.
4499 (../lisp/subdirs.el): Remove.
4500 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
4501 (witness-emacs): New target.
4502 (mostlyclean): Remove witness-emacs as well.
4503 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
4504 Add witness-emacs dependency.
4505
45062008-06-20 Chong Yidong <cyd@stupidchicken.com>
4507
4508 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
4509 defined by the font.
4510
45112008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
4512
4513 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
4514 (bootstrap-clean): New target that keeps TAGS around.
4515 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
4516 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
4517
45182008-06-20 Jason Rumney <jasonr@gnu.org>
4519
4520 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
4521 Remove obsolete font code.
4522
4523 * w32font.c (font_matches_spec): Use csb bitfield from font signature
4524 to determine language support.
4525
45262008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
4527
4528 * sysdep.c (cfsetspeed): New fun extracted from the code.
4529 (cfmakeraw): Move before first use.
4530
45312008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
4532
4533 * sysdep.c (cfmakeraw): Provide fallback implementation.
4534 (serial_configure): Provide fallback implementation of cfsetspeed.
4535
45362008-06-20 Kenichi Handa <handa@m17n.org>
4537
4538 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
4539 the pattern.
4540
4541 * fontset.c (fontset_from_font): Copy font_spec before changing
4542 the elements.
4543
4544 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
4545
45462008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
4547
4548 * w32fns.c, xfns.c (x_default_font_parameter): Only set `font-param'
4549 for explicit `font' parameters.
4550
4551 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
4552
45532008-06-19 Kenichi Handa <handa@m17n.org>
4554
4555 * frame.c: Include <ctype.h>.
4556 (x_set_font_backend): Allow spacing characters in the X resource
4557 for FontBackend.
4558
45592008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
4560
4561 * w32fns.c, xfns.c (Qfont_param): New var.
4562 (syms_of_w32fns): Initialize it.
4563 (x_default_font_parameter): Record explicit `font' into
4564 `font-parameter'.
4565
45662008-06-18 Kenichi Handa <handa@m17n.org>
4567
4568 * font.c (font_parse_xlfd): Fix previous change.
4569 (font_parse_fcname): Don't use :fc-unknown-spec.
4570 (FRAME_X_DISPLAY_INFO): Be sure to have at least 1 pixel height.
4571 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
4572 (font_add_log): Prepend the driver name to the resulting fonts.
4573
4574 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
4575 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
4576 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
4577
4578 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
4579 (QCembolden): New variables.
4580 (syms_of_xftfont): DEFSYM them.
4581 (xftfont_open): Call XftFontMatch. Don't trust the result of
4582 XftTextExtents8 if the pixel_size is less than 5.
4583
45842008-06-18 Andreas Schwab <schwab@suse.de>
4585
4586 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
4587 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
4588
45892008-06-18 Jason Rumney <jasonr@gnu.org>
4590
4591 * w32font.c (w32font_list, w32font_match): Add logging.
4592
4593 * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging.
4594
45952008-06-17 Chong Yidong <cyd@stupidchicken.com>
4596
4597 * font.c (font_parse_fcname): Store divider characters for
4598 unknown-spec list. For known key symbols, intern using correct
4599 symbol name.
4600
46012008-06-17 Kenichi Handa <handa@m17n.org>
4602
4603 * xfaces.c (realize_default_face): If the frame is not on window
4604 system, set the fontset of face to nil.
4605
46062008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
4607
4608 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
4609
46102008-06-16 Juanma Barranquero <lekktu@gmail.com>
4611
4612 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
4613 (build_font_name_from_vector): Delete externs.
4614
4615 * xfaces.c (struct font_name): Don't declare.
4616
46172008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
4618
4619 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
4620
46212008-06-16 Chong Yidong <cyd@stupidchicken.com>
4622
4623 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
4624
46252008-06-16 Juanma Barranquero <lekktu@gmail.com>
4626
4627 * font.c (Ffont_spec): Fix usage in docstring.
4628 (Ffont_face_attributes): Doc fix.
4629
46302008-06-16 Andreas Schwab <schwab@suse.de>
4631
4632 * font.c (Ffont_face_attributes): Fix definition.
4633
46342008-06-16 Jason Rumney <jasonr@gnu.org>
4635
4636 * font.h (font_style_symbolic_from_value): Remove.
4637
4638 * font.c (font_style_symbolic_from_value): Remove.
4639 (font_style_symbolic): Revert to pre 2008-06-13 version.
4640
4641 * w32font.c (w32_to_fc_weight): New function.
4642 (w32font_full_name, logfont_to_fcname): Use it.
4643
46442008-06-16 Kenichi Handa <handa@m17n.org>
4645
4646 * font.c (font_check_object): Delete it.
4647 (font_clear_cache): Check if a font-object is alive.
4648 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
4649 font-object to nil.
4650 (font_close_object): Don't check FONT_CLOSE_OBJECT.
4651 (font_at): Don't call font_check_object.
4652 (Ffont_get): Return a symbol for :weight, :slant, and :width.
4653
46542008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
4655
4656 * puresize.h (BASE_PURESIZE): Increase to 1230000.
4657
46582008-06-16 Chong Yidong <cyd@stupidchicken.com>
4659
4660 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
4661
46622008-06-15 Chong Yidong <cyd@stupidchicken.com>
4663
4664 * font.c (font_parse_fcname): Only one decimal point.
4665 (font_unparse_fcname): Handle data in family and foundry indices
4666 as symbols, not strings.
4667 (font_unparse_gtkname, Ffont_face_attributes): New functions.
4668
4669 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
4670
4671 * font.h (font_unparse_gtkname): Add prototype.
4672
46732008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
4674
4675 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
4676
46772008-06-15 Andreas Schwab <schwab@suse.de>
4678
4679 * font.c (font_update_drivers): Fix crash when no drivers match.
4680
46812008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
4682
4683 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
4684 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
4685
46862008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
4687
4688 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
4689
46902008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
4691
4692 * process.c (Fserial_process_configure, Fprocess_send_eof):
4693 Use EQ to compare Lisp_Objects.
4694
46952008-06-13 Jason Rumney <jasonr@gnu.org>
4696
4697 * w32fns.c (Fw32_select_font): Remove old font API function.
4698
4699 * w32font.c (logfont_to_fcname): New function.
4700 (Fx_select_font): New font dialog function compatible with
4701 GTK/fontconfig version.
4702
4703 * font.c (font_style_symbolic_from_value): New function.
4704 (font_style_symbolic): Use it.
4705
4706 * font.h (font_style_symbolic_from_value): Declare new function.
4707
47082008-06-13 Juanma Barranquero <lekktu@gmail.com>
4709
4710 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
4711 <font-width-table>: Fix typos in docstrings.
4712
47132008-06-13 Daniel Engeler <engeler@gmail.com>
4714
4715 These changes add serial port access.
4716 * process.c: Add HAVE_SERIAL.
4717 (Fdelete_process, Fprocess_status, Fset_process_buffer)
4718 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
4719 (list_processes_1, select_wrapper, Fstop_process)
4720 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
4721 (status_notify): Modify to handle serial processes.
4722 [HAVE_SERIAL] (Fserial_process_configure)
4723 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
4724 New functions.
4725 * process.h (struct Lisp_Process): Add `type'.
4726 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
4727 New functions.
4728 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
4729 serial ports.
4730 (serial_open, serial_configure) New functions.
4731 * w32.h: Add FILE_SERIAL.
4732 (struct _child_process): Add ovl_read, ovl_write.
4733
47342008-06-13 Kenichi Handa <handa@m17n.org>
4735
4736 * dispextern.h (enum lface_attribute_index): New member
4737 LFACE_FOUNDRY_INDEX.
4738
4739 * font.c (font_score): Delete arg alternate_families. Check only
4740 weight, slant, width, and size. Ignore the difference of alias
4741 style symbols.
4742 (font_sort_entites): Adjust for the above change. Reflect the
4743 order of font-driver to scores.
4744 (font_list_entities): Don't check alternate_familes here.
4745 (font_clear_prop): Handle foundry.
4746 (font_update_lface): Don't parse "foundry-family" form here.
4747 Handle FONT_FOUNDRY_INDEX.
4748 (font_find_for_lface): Likewise. Handle alternate families here.
4749 If registry is nil, try iso8859-1 and ascii-0.
4750 (font_open_for_lface): Pay attention to size in ENTITY.
4751 (font_open_by_name): Simplify by calling font_load_for_lface.
4752 (free_font_driver_list): Delete it.
4753 (font_update_drivers): Preserve the order of backends.
4754 (syms_of_font): Setting of sort_shift_bits adjusted for the change
4755 of font_score and font_sort_entites.
4756 (font_update_sort_order): Likewise.
4757
4758 * xfaces.c (LFACE_FOUNDRY): New macro.
4759 (check_lface_attrs): Check foundry.
4760 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
4761 (merge_face_vectors): Check foundry.
4762 (merge_face_ref): Likewise.
4763 (Finternal_set_lisp_face_attribute): Likewise.
4764 (x_update_menu_appearance): Likewise.
4765 (Finternal_get_lisp_face_attribute): Likewise.
4766 (lface_hash): Likewise.
4767 (lface_same_font_attributes_p): Likewise.
4768 (x_supports_face_attributes_p): Likewise.
4769 (tty_supports_face_attributes_p): Likewise.
4770 (Finternal_set_alternative_font_family_alist): Intern strings.
4771 (Finternal_set_alternative_font_registry_alist): Downcase strings.
4772 (realize_default_face): Set LFACE_FOUNDRY (lface).
4773
4774 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
4775 font-driver at first.
4776
4777 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
4778
47792008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
4780
4781 * lread.c (Fload): Use xfree, not free on saved_doc_string.
4782
47832008-06-12 Jim Meyering <meyering@redhat.com>
4784
4785 Make unexec_free handle NULL the same way free does.
4786 * unexmacosx.c (unexec_free): Ignore a NULL argument.
4787
47882008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
4789
4790 * character.h (CHAR_TO_BYTE_SAFE): New macro.
4791 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
4792 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
4793 (WEAK_ALIAS): Simplify.
4794 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
4795 when searching a unibyte buffer.
4796
47972008-06-12 Chong Yidong <cyd@stupidchicken.com>
4798
4799 * xfns.c (Fx_select_font): Rename from x-font-dialog.
4800
48012008-06-12 Juanma Barranquero <lekktu@gmail.com>
4802
4803 * w32font.c: Include ctype.h.
4804
48052008-06-11 Jason Rumney <jasonr@gnu.org>
4806
4807 * w32font.c (w32font_encode_char): Detect missing glyphs that are
4808 misreported as space.
4809 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
4810 as aliases for registry iso10646-1.
4811
48122008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
4813
4814 * buffer.c (clone_per_buffer_values): Skip `name'.
4815
48162008-06-11 Chong Yidong <cyd@stupidchicken.com>
4817
4818 * font.c (font_parse_fcname): Fix last change; accept decimal
4819 points in font size.
4820
48212008-06-10 Jason Rumney <jasonr@gnu.org>
4822
4823 * w32uniscribe.c (add_opentype_font_name_to_list):
4824 Skip non unicode fonts.
4825
48262008-06-10 Chong Yidong <cyd@stupidchicken.com>
4827
4828 * xfns.c (Fx_font_dialog): New function.
4829
4830 * gtkutil.c (xg_dialog_response_cb): Rename from
4831 xg_file_response_callback.
4832 (pop_down_dialog): Rename from pop_down_file_dialog.
4833 (xg_get_file_name): Callers changed.
4834 (xg_get_font_name): New function.
4835
4836 * gtkutil.h (xg_get_font_name): Insert prototype.
4837
48382008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
4839
4840 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
4841 x_underline_minimum_display_offset.
4842 (syms_of_xdisp): Declare it here rather than in xterm.c.
4843 * dispextern.h (underline_minimum_offset): Declare it.
4844 * w32term.c (x_draw_glyph_string): Use it.
4845 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
4846 (syms_of_xterm): Don't declare it any more.
4847 (x_draw_glyph_string): Adjust to the new name.
4848
48492008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
4850
4851 * xterm.c (x_underline_minimum_display_offset): New var.
4852 (x_draw_glyph_string): Use it.
4853 (syms_of_xterm): Declare it.
4854
48552008-06-10 Chong Yidong <cyd@stupidchicken.com>
4856
4857 * font.c (font_parse_fcname): Accept GTK-style font names too.
4858
48592008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
4860
4861 * dired.c (file_name_completion): Don't return t if the match is exact
4862 but with different capitalization.
4863 * minibuf.c (Ftry_completion): Simplify.
4864
4865 * window.c (Vwindow_point_insertion_type): New var.
4866 (set_window_buffer): Use it.
4867 (syms_of_window): Init and export it to Lisp.
4868
48692008-06-10 Kenichi Handa <handa@m17n.org>
4870
4871 * font.h (font_intern_prop): Prototype adjusted.
4872
4873 * font.c (font_intern_prop): New arg force_symbol.
4874 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
4875 Adjust for the change of font_intern_prop.
4876
4877 * ftfont.c (ftfont_pattern_entity):
4878 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
4879 (w32_registry):
4880 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
4881 the change of font_intern_prop.
4882
48832008-06-09 Juanma Barranquero <lekktu@gmail.com>
4884
4885 * w32menu.c (digest_single_submenu): Declare extern.
4886
48872008-06-09 Jason Rumney <jasonr@gnu.org>
4888
4889 * w32term.c (x_make_frame_visible): Use alternate restore flags.
4890
4891 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
4892 (parse_single_submenu): Remove.
4893 (digest_single_submenu): Remove.
4894 (syms_of_w32menu): Don't initialise variables that have moved
4895 to menu.c.
4896 (set_frame_menubar): Sync with version in xmenu.c.
4897 (w32_menu_show): Sync with xmenu_show in xmenu.c.
4898
4899 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
4900 Make static again.
4901
49022008-06-09 Jason Rumney <jasonr@gnu.org>
4903
4904 Changes to w32 files related to the move of common menu code
4905 to menu.c on 2008-06-08 by Chong Yidong.
4906
4907 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
4908 defs to w32gui.h.
4909 (single_keymap_panes, push_menu_item, push_menu_pane):
4910 Make globally visible.
4911
4912 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
4913 (local_free, malloc_widget_value, free_widget_value)
4914 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
4915 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
4916 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
4917 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
4918 (menu_items, menu_items_allocated, menu_items_used)
4919 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
4920 (init_menu_items, finish_menu_items, discard_menu_items)
4921 (grow_menu_items, push_submenu_start, push_submenu_end)
4922 (push_left_right_boundary, push_menu_pane, push_menu_item)
4923 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
4924 (free_menubar_widget_tree_value, parse_single_submenu)
4925 (update_submenu_strings): Remove functions.
4926 (xmalloc_widget_value): Remove and declare extern.
4927
4928 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
4929 (OBJ1): Build it.
4930
4931 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
4932 (local_heap, local_alloc, local_free, malloc_widget_value)
4933 (free_widget_value): Define here.
4934
49352008-06-09 Kenichi Handa <handa@m17n.org>
4936
4937 * font.h (Qascii_0): Extern it.
4938
4939 * font.c (Qascii_0): New variable.
4940 (syms_of_font): DEFSYM it.
4941 (font_open_by_name): If the registry "iso8859-1" fails, try also
4942 "ascii-0".
4943
4944 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
4945
49462008-06-08 Kenichi Handa <handa@m17n.org>
4947
4948 * .gdbinit (xfont): New command.
4949
49502008-06-08 Andreas Schwab <schwab@suse.de>
4951
4952 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
4953 * Makefile.in (menu.o): Update dependencies.
4954
4955 * Makefile.in (obj): Always add menu.o.
4956 * emacs.c (main): Always call syms_of_menu.
4957 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
4958
49592008-06-08 Chong Yidong <cyd@stupidchicken.com>
4960
4961 * Makefile.in: Compile menu.c.
4962
4963 * lisp.h: Declare syms_of_menu.
4964
4965 * emacs.c (main): Call syms_of_menu.
4966
4967 * keyboard.h: Relocate platform-independent menu definitions from
4968 xmenu.c.
4969
4970 * menu.c: New file. Relocate platform-independent menu
4971 definitions from xmenu.c. Suggested by Adrian Robert.
4972
4973 * xmenu.c: Remove platform-independent menu definitions.
4974 (menu_items menu_items_inuse, menu_items_allocated)
4975 (menu_items_used, menu_items_n_panes)
4976 (menu_items_submenu_depth): Move to keyboard.h.
4977 (init_menu_items, finish_menu_items, unuse_menu_items)
4978 (discard_menu_items, restore_menu_items, save_menu_items)
4979 (grow_menu_items, push_submenu_start, push_submenu_end)
4980 (push_left_right_boundary, push_menu_pane, push_menu_item)
4981 (keymap_panes, single_keymap_panes, single_menu_item)
4982 (list_of_panes, list_of_items, find_and_call_menu_selection)
4983 (xmalloc_widget_value, free_menubar_widget_value_tree)
4984 (parse_single_submenu, digest_single_submenu)
4985 (update_submenu_strings): Move to menu.c.
4986
49872008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
4988
4989 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
4990
49912008-06-06 Miles Bader <miles@gnu.org>
4992
4993 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
4994 face, not frame default.
4995
49962008-06-05 Martin Rudalics <rudalics@gmx.at>
4997
4998 * window.c (pop_up_windows, pop_up_frames)
4999 (display_buffer_reuse_frames, Vpop_up_frame_function)
5000 (Vdisplay_buffer_function, Veven_window_heights)
5001 (Vspecial_display_buffer_names, Vspecial_display_regexps)
5002 (Vspecial_display_function, Vsame_window_buffer_names)
5003 (Vsame_window_regexps, split_height_threshold)
5004 (Vsplit_window_preferred_function): Move those vars to window.el.
5005 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
5006 (Fdisplay_buffer): Move those functions to window.el.
5007 (syms_of_window): Remove corresponding declarations.
5008 (display_buffer): New function.
5009 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
5010 * dispnew.c (Flast_nonminibuf_frame): New function.
5011 * buffer.c (Fpop_to_buffer): Move to window.el.
5012
50132008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5014
5015 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
5016
50172008-06-05 Kenichi Handa <handa@m17n.org>
5018
5019 * coding.c (detect_coding): Fix previous change.
5020 (detect_coding_system): Likewise.
5021
50222008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5023
5024 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
5025
5026 * keymap.c (Vminibuffer_local_filename_must_match_map):
5027 Rename from Vminibuffer_local_must_match_filename_map.
5028 (syms_of_keymap):
5029 * minibuf.c (Fcompleting_read): Adjust accordingly.
5030 * commands.h: Rename declaration as well.
5031
50322008-06-05 Kenichi Handa <handa@m17n.org>
5033
5034 * font.c (Ffont_spec): Don't use font_parse_family_registry for
5035 family name.
5036 (Ffont_put): Likewise.
5037
5038 * fontset.c (fontset_find_font): Call font_open_for_lface with the
5039 current font-spec.
5040
5041 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
5042 is unspecified.
5043
5044 * xfaces.c (realize_x_face): If the font-related face attributes
5045 are the same as those of default face, realize a new fontset from
5046 default->fontset.
5047 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
5048
50492008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5050
5051 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
5052 (move_it_in_display_line): New wrapper.
5053
5054 * window.c (window_scroll_pixel_based_preserve_x)
5055 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
5056 (window_scroll_pixel_based, window_scroll_line_based):
5057 Use them to preserve column positions.
5058 (syms_of_window): Initialize them.
5059
5060 * indent.c (Fvertical_motion): Extend first arg to allow passing an
5061 (HPOS . VPOS) pair.
5062
5063 * dispextern.h (move_it_in_display_line): Declare.
5064
50652008-06-05 Juanma Barranquero <lekktu@gmail.com>
5066
5067 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
5068 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
5069 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
5070
50712008-06-04 Juanma Barranquero <lekktu@gmail.com>
5072
5073 * window.c (Fset_window_parameter): Doc fix.
5074 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
5075
50762008-06-04 Joakim Verona <joakim@verona.se>
5077
5078 * window.h (struct window): Add new member window_parameters.
5079
5080 * window.c (Fwindow_parameters, Fwindow_parameter)
5081 (Fset_window_parameter): New defuns.
5082 (syms_of_window): Defsubr the new defuns.
5083 (make_window): Initialize window_parameters to nil.
5084
50852008-06-04 John Paul Wallington <jpw@pobox.com>
5086
5087 * eval.c (Fdefmacro): Doc fix.
5088
50892008-06-04 Kenichi Handa <handa@m17n.org>
5090
5091 * coding.c (detect_coding): Fix handling of coding->head_ascii.
5092 Be sure to call setup_coding_system when we find a proper coding system.
5093 (detect_coding_system): Fix handling of coding->head_ascii.
5094
50952008-06-03 Andreas Schwab <schwab@suse.de>
5096
5097 * font.c (font_prop_validate_spacing): Fix last change.
5098
50992008-06-03 Kenichi Handa <handa@m17n.org>
5100
5101 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
5102 (font_parse_fcname): Fix handling of unknown key.
5103
5104 * xfont.c (xfont_list): Try an alias.
5105
5106 * charset.c (char_charset): Return NULL if the arg charset_list is
5107 specified and C doesn't belong to any of them.
5108
51092008-06-02 Chip Coldwell <coldwell@redhat.com>
5110
5111 * font.c (font_pixel_size): Don't take cdr of an integer.
5112
51132008-06-02 Jim Meyering <meyering@redhat.com>
5114
5115 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
5116 * alloc.c (xfree): Return right away for a NULL arg.
5117 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
5118 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
5119 * mac.c (create_apple_event_from_event_ref): Likewise.
5120 (create_apple_event_from_drag_ref, cfstring_create_normalized):
5121 Likewise.
5122 * doprnt.c (doprnt1): Likewise.
5123 * frame.c (frame): Likewise.
5124 * keyboard.c (wipe_kboard): Likewise.
5125 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
5126 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
5127 * term.c (tty_default_color_capabilities, maybe_fatal)
5128 (delete_tty): Likewise.
5129 * w16select.c (string): Likewise.
5130 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
5131 * w32bdf.c (w32_free_bdf_font): Likewise.
5132 * w32fns.c (w32_unload_font): Likewise.
5133 * w32font.c (w32font_close): Likewise.
5134 * window.c (size_window): Likewise.
5135 * xselect.c (receive_incremental_selection): Likewise.
5136 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
5137 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
5138 * w32.c (stat): Likewise.
5139
5140 Remove useless if-before-free tests.
5141 * editfns.c (Fset_time_zone_rule): Likewise.
5142 * lread.c (nosuffix): Likewise.
5143 * ralloc.c (get_bloc): Likewise.
5144 * regex.c (reg_free): Likewise.
5145 * xftfont.c (xftfont_open, xftfont_close): Likewise.
5146 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
5147 * xsmfns.c (smc_save_yourself_CB): Likewise.
5148
51492008-06-02 Kenichi Handa <handa@m17n.org>
5150
5151 * font.c (font_find_for_lface): Handle float font size.
5152 (font_open_for_lface): Likewise.
5153
5154 * xfaces.c (x_supports_face_attributes_p): Check face->font before
5155 comparing the properties.
5156
51572008-06-01 Jason Rumney <jasonr@gnu.org>
5158
5159 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
5160 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
5161 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
5162 Don't add empty script list.
5163 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
5164
51652008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
5166
5167 * Makefile.in (dot, dotdot): Remove, update users.
5168 ".." has been used elsewhere in the file for a long time.
5169 (LIBXT_STATIC): Remove conditional based on unused variable.
5170
51712008-06-01 Miles Bader <miles@gnu.org>
5172
5173 * xfaces.c (Vface_remapping_alist): New variable.
5174 (syms_of_xfaces): Initialize it.
5175 (enum named_merge_point_kind): New type.
5176 (struct named_merge_point): Add `named_merge_point_kind' field.
5177 (push_named_merge_point): Make cycle detection respect different
5178 named-merge-point kinds.
5179 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
5180 Remove face-name alias resolution.
5181 (lface_from_face_name): New definition using
5182 `lface_from_face_name_no_resolve'.
5183 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
5184 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
5185 (get_lface_attributes): New definition that layers face-remapping on
5186 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
5187 (lookup_basic_face): New function.
5188 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
5189 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
5190 `get_lface_attributes'.
5191 (face_at_buffer_position): Use `lookup_basic_face' to lookup
5192 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
5193 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
5194
5195 * xdisp.c (init_iterator): Pass base_face_id through
5196 `lookup_basic_face' when we actually use it as a face-id.
5197 (handle_single_display_prop): Use `lookup_basic_face' to lookup
5198 DEFAULT_FACE_ID.
5199
5200 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
5201 lookup the initial face-id.
5202
5203 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
5204
52052008-06-01 Juanma Barranquero <lekktu@gmail.com>
5206
5207 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
5208 (Fremove_text_properties): Fix typos in docstrings.
5209
52102008-05-31 Kenichi Handa <handa@m17n.org>
5211
5212 * font.c (font_list_entities): Fix the car part of data to be
5213 stored in the cache.
5214
5215 * ftfont.c (ftfont_font_format): Don't use strcasestr.
5216
52172008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
5218
5219 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
5220 Add a `test' argument so another predicate than `equal' can be used.
5221 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
5222 (map_char_table): Remove unused vars `c' and `i'.
5223 * lisp.h (Foptimize_char_table): Adjust declaration.
5224 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
5225
52262008-05-30 Kenichi Handa <handa@m17n.org>
5227
5228 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
5229 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
5230 defined.
5231
52322008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
5233
5234 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
5235 (Fmake_variable_frame_local): Disallow mixing buffer-local and
5236 frame-local settings for the same variable.
5237
52382008-05-30 Kenichi Handa <handa@m17n.org>
5239
5240 * fontset.c (Ffont_info): Move to font.c.
5241 (syms_of_fontset): Delete defsubr of Sfont_info.
5242
5243 * font.c (font_style_to_value, font_score): Delete casting of the
5244 args to xstcasecmp.
5245 (register_font_driver): Increment num_font_drivers only when
5246 registering the driver globally.
5247 (Ffont_info): Move from fontset.c. Handle a font object too.
5248 (syms_of_font): Defsubr Sfont_info.
5249
52502008-05-29 Kenichi Handa <handa@m17n.org>
5251
5252 * coding.h (enum define_coding_utf8_arg_index): New enum.
5253 (enum coding_attr_index): Change coding_attr_utf_16_bom to
5254 coding_attr_utf_bom.
5255 (enum utf_bom_type): Rename from utf_16_bom_type.
5256 (struct utf_16_spec): Adjust for the above change.
5257 (struct coding_system): Add utf_8_bom in `spec' union.
5258
5259 * coding.c (CODING_UTF_8_BOM): New macro.
5260 (enum coding_category): Delete coding_category_utf_8, add
5261 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
5262 coding_category_utf_8_sig.
5263 (CATEGORY_MASK_UTF_8): Delete it.
5264 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
5265 (CATEGORY_MASK_UTF_8_SIG): New macros.
5266 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
5267 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
5268 CATEGORY_MASK_UTF_8_SIG.
5269 (CATEGORY_MASK_UTF_8): New macro.
5270 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
5271 (detect_coding_utf_8): Check BOM.
5272 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
5273 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
5274 (encode_coding_utf_16): Likewise.
5275 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
5276 (detect_coding, detect_coding_system): Handle utf-8-auto.
5277 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
5278 (syms_of_coding): Fix setting up of Vcoding_category_table.
5279
52802008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
5281
5282 * process.c (Faccept_process_output): If `millisec' is non-nil,
5283 `seconds' default to 0.
5284 (wait_reading_process_output): Also return non-nil if we read output
5285 from a non-running process.
5286
52872008-05-29 Jason Rumney <jasonr@gnu.org>
5288
5289 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
5290 `raster' specified.
5291 (add_font_entity_to_list): Allow non-opentype truetype fonts back
5292 in the uniscribe backend, but disallow any font that has no
5293 unicode subrange support.
5294
52952008-05-29 Juanma Barranquero <lekktu@gmail.com>
5296
5297 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
5298 Fix typos in docstrings.
5299
53002008-05-29 Kenichi Handa <handa@m17n.org>
5301
5302 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
5303 (Fx_family_fonts): Set frame correctly.
5304
53052008-05-28 Jason Rumney <jasonr@gnu.org>
5306
5307 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
5308
53092008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
5310
5311 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
5312 calling build_annotations.
5313
53142008-05-28 Juanma Barranquero <lekktu@gmail.com>
5315
5316 * coding.c (Fdecode_coding_region, Fencode_coding_region)
5317 (Fencode_coding_string):
5318 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
5319 <latin-extra-code-table>: Fix typos in docstrings.
5320 (syms_of_coding) <coding-system-alist>: Doc fix.
5321 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
5322
53232008-05-28 Kenichi Handa <handa@m17n.org>
5324
5325 * fontset.c (Ffont_info): Don't call font_close_object.
5326
5327 * font.c (font_parse_family_registry): Use Ffont_put to validate
5328 foundry and family.
5329 (font_delete_unmatched): Don't check spacing.
5330 (font_list_entities): Add spacing to the spec to list fonts.
5331
5332 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
5333 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
5334
5335 * coding.c (encode_coding_raw_text): Fix previous change.
5336 (encode_coding_object): When the dst_object is a buffer and is
5337 different from src_object, move gap to PT.
5338
53392008-05-27 Chong Yidong <cyd@stupidchicken.com>
5340
5341 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
5342
53432008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
5344
5345 * coding.c (encode_coding_raw_text): Set coding->produced_char for
5346 all branches. Compute it differently.
5347
5348 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
5349
53502008-05-27 Juanma Barranquero <lekktu@gmail.com>
5351
5352 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
5353 into "else if () ... else ...".
5354
53552008-05-27 Jason Rumney <jasonr@gnu.org>
5356
5357 * w32font.c (w32font_open_internal): Determine if glyph indices
5358 are likely to work here.
5359
53602008-05-27 Chong Yidong <cyd@stupidchicken.com>
5361
5362 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
5363 draw overlap glyphs with appropriate highlighting.
5364
53652008-05-27 Kenichi Handa <handa@m17n.org>
5366
5367 * xfont.c (xfont_open): Fix calculation of font->average_width.
5368
53692008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
5370
5371 * casefiddle.c (casify_object): Try to guess better whether the
5372 argument is a byte or a char.
5373
53742008-05-26 Andreas Schwab <schwab@suse.de>
5375
5376 * xselect.c (x_reply_selection_request): Properly handle format == 32.
5377 Always send multiples of format size.
5378
5379 * xterm.c (x_set_frame_alpha): Fix type mismatch.
5380
53812008-05-26 Jason Rumney <jasonr@gnu.org>
5382
5383 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
5384 (compute_metrics): Don't set failure if we just cleared the cache.
5385 (w32_weight_table): Remove unused variable.
5386 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
5387 backwards compatibility.
5388
53892008-05-25 Kenichi Handa <handa@m17n.org>
5390
5391 * w32term.c (x_draw_glyph_string):
5392 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
5393
5394 * xfaces.c: Delete unused function prototypes.
5395 (xstrlwr, font_frame): Delete them.
5396 (clear_face_cache): Delete unused variable.
5397
5398 * xftfont.c (xftfont_open): Delete unused variable.
5399 If underline_thickness is not 1, adjust underline_position.
5400
5401 * ftxfont.c (ftxfont_open): Delete unused variable.
5402
5403 * fontset.c (face_for_char): Optimize for the case of no charset
5404 property.
5405
5406 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
5407 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
5408 (otf_open, font_otf_capability, generate_otf_features)
5409 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
5410 Comment out by surrounding "#if 0" and "#endif" for the moment.
5411 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
5412 (syms_of_font): Codes for accessing above commented out.
5413
54142008-05-24 Eli Zaretskii <eliz@gnu.org>
5415
5416 * w32proc.c: Include dispextern.h.
5417
5418 * w32.c: Include dispextern.h.
5419
54202008-05-23 Juanma Barranquero <lekktu@gmail.com>
5421
5422 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
5423 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
5424 Fix typos in docstrings.
5425
54262008-05-23 Jason Rumney <jasonr@gnu.org>
5427
5428 * xsmfns.c: Remove includes that are already included by config.h.
5429
54302008-05-23 Kenichi Handa <handa@m17n.org>
5431
5432 * charset.c (Qemacs, charset_emacs): New variables.
5433 (char_charset): Fix for non-Unicode characters.
5434 (syms_of_charset): Define charset_emacs.
5435
5436 * w32term.c (x_draw_glyph_string): Be sure to update
5437 s->underline_thickness and s->underline_position. Be sure to draw
5438 underline within the current line area.
5439
5440 * xterm.c (x_draw_glyph_string): Be sure to update
5441 s->underline_thickness and s->underline_position. Be sure to draw
5442 underline within the current line area.
5443
5444 * fontset.c: Delete unused variables and add casting for char *
5445 throughout the file.
5446 (fontset_font): Try the fallback fonts of the current fontset
5447 before consulting the default fontset.
5448
5449 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
5450
5451 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
5452
54532008-05-22 Jason Rumney <jasonr@gnu.org>
5454
5455 * font.c: Don't include strings.h.
5456
5457 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
5458
5459 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
5460 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
5461 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
5462 to call xstrcasecmp.
5463
5464 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
5465
5466 * fontset.c (fs_query_fontset): Use xstrcasecmp.
5467
5468 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
5469
5470 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
5471
54722008-05-22 Kenichi Handa <handa@m17n.org>
5473
5474 * puresize.h (BASE_PURESIZE): Increase to 1220000.
5475
5476 * font.c (font_prop_validate_style): Adjust for the format
5477 change of font_style_table.
5478
5479 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
5480 two args.
5481
5482 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
5483 two args.
5484
54852008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
5486
5487 * minibuf.c (keys_of_minibuf): Delete.
5488 * lisp.h (keys_of_minibuf): Delete.
5489 * emacs.c (main): Don't call keys_of_minibuf.
5490
54912008-05-22 Kenichi Handa <handa@m17n.org>
5492
5493 * ftfont.c (ftfont_resolve_generic_family): Rename from
5494 ftfont_list_generic_family. Return a single family for each
5495 generic family.
5496 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
5497 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
5498 Call font_add_log.
5499 (ftfont_match): Call font_add_log.
5500
5501 * font.h (Ffont_xlfd_name): EXFUN adjusted.
5502 (FONT_DEBUG): Define it.
5503 (font_add_log): Extern it.
5504 (font_assert): Rename from xassert.
5505
5506 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
5507 (xfont_list_family): Call font_add_log.
5508 (xfont_match): Likewise.
5509 (memq_no_quit): Delete.
5510
5511 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
5512 call of Ffont_xlfd_name.
5513
5514 * xfaces.c (struct table_entry, slant_table, weight_table)
5515 (swidth_table): Move to font.c.
5516
5517 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
5518 xassert are changed to font_assert. Delete many unused variables.
5519 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
5520 New variables.
5521 (struct table_entry): Move from xfaces.c and modified.
5522 (weight_table, slant_table, width_table): Move from xfaces.c and
5523 contents adjusted for the change of struct table_entry.
5524 (font_style_to_value, font_style_symbolic): Adjust for the
5525 format change of font_style_table.
5526 (font_parse_family_registry): Don't overwrite existing foundry and
5527 family of font_spec.
5528 (font_score): Fix calculation of diff for sizes.
5529 (font_sort_entites): Call font_add_log.
5530 (font_delete_unmatched): Return a newly created list.
5531 (font_list_entities): Fix previous change. Call font_add_log.
5532 (font_matching_entity, font_open_entity, font_close_entity):
5533 Call font_add_log.
5534 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
5535 (Finternal_set_font_style_table): Delete.
5536 (BUILD_STYLE_TABLE): New macro.
5537 (build_style_table): New function.
5538 (Vfont_log, font_log_env_checked): New variables.
5539 (font_add_log): New function.
5540 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
5541 Declare Lisp variables "font-weight-table", "font-slant-table",
5542 "font-width-table", and "font-log". Initialize font_style_table.
5543
55442008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
5545
5546 * xterm.c (x_set_frame_alpha): Move declarations before statements.
5547
55482008-05-21 Seiji Zenitani <zenitani@mac.com>
5549 Ryo Yoshitake <ryo@shiftmode.net>
5550
5551 * frame.c (Qalpha): Add a new frame parameter `alpha'.
5552 (Vframe_alpha_lower_limit): New variable.
5553 (x_set_alpha): New function.
5554
5555 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
5556
5557 * xfns.c (x-create-frame, Qalpha):
5558 Initialize the frame parameter `alpha'.
5559 * xterm.c (OPAQUE, OPACITY): New.
5560 (x_set_frame_alpha): New function.
5561 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
5562
5563 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
5564 * w32fns.c (w32_frame_parm_handlers): Likewise.
5565
55662008-05-20 Jason Rumney <jasonr@gnu.org>
5567
5568 * w32font.c (add_font_entity_to_list): Don't add non-opentype
5569 truetype fonts to opentype list.
5570
55712008-05-20 Juanma Barranquero <lekktu@gmail.com>
5572
5573 * fontset.c (Ffontset_info): Doc fix.
5574 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
5575 <ignore-relative-composition>: Fix typos in docstrings.
5576
5577 * font.c (syms-of-font) <font-encoding-alist>:
5578 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
5579 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
5580 (Ffont_otf_alternates): Doc fixes.
5581
55822008-05-20 Kenichi Handa <handa@m17n.org>
5583
5584 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
5585 font.h through out the file.
5586 (FONT_DRIVERS): Rename from FONTOBJ.
5587 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
5588 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
5589
5590 * emacs.c (main): Call syms_of_font unconditionally.
5591
5592 * font.h (find_font_encoding): Extern it.
5593
5594 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
5595 fontset.c.
5596 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
5597 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
5598 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
5599 only when HAVE_WINDOW_SYSTEM is defined.
5600 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
5601 when HAVE_WINDOW_SYSTEM is defined.
5602
5603 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
5604 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
5605
5606 * xfaces.c: Include font.h unconditionally.
5607 (merge_face_ref, merge_face_vectors)
5608 (Finternal_set_lisp_face_attribute): Cancel the previous change.
5609
56102008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
5611
5612 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
5613 indirect_variable.
5614 * eval.c (lisp_indirect_variable): New fun.
5615 (Fuser_variable_p): Use it.
5616
56172008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
5618
5619 * lisp.h (indirect_variable):
5620 * data.c (indirect_variable, let_shadows_buffer_binding_p):
5621 Use Lisp_Symbol pointers rather than Lisp_Object.
5622 Adjust callers.
5623 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
5624 To this end, change calling-convention.
5625
5626 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
5627 if some non-hidden buffers are selected by string&pred.
5628
56292008-05-19 Chong Yidong <cyd@stupidchicken.com>
5630
5631 * process.c (wait_reading_process_output): Always check status
5632 when in batch mode.
5633
56342008-05-19 Kenichi Handa <handa@m17n.org>
5635
5636 * font.c (font_list_entities): Fix handling of cache.
5637 (font_matching_entity): Likewise.
5638
5639 * ftfont.c (cs_iso8859_1): Delete.
5640 (ft_face_cache): New variable.
5641 (struct ftfont_info): New member fc_charset_idx.
5642 (ftfont_build_basic_charsets): Delete.
5643 (fc_charset_table): New variable.
5644 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
5645 . FC_CHARSET_IDX) as :font-entity property in the font entity.
5646 Callers changed.
5647 (ftfont_lookup_cache, ftfont_get_charset): New functions.
5648 (ftfont_spec_pattern): New argument fc_charset_idx.
5649 Check registry more rigidly. Change callers.
5650 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
5651 change of :font-entity property of the font.
5652
5653 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
5654 property of the font.
5655
56562008-05-18 Juanma Barranquero <lekktu@gmail.com>
5657
5658 * coding.c (Fcoding_system_p): Rename argument to match docstring.
5659 (Funencodable_char_position, Fcheck_coding_systems_region)
5660 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
5661 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
5662 (Ffind_operation_coding_system, Fset_coding_system_priority)
5663 (Fcoding_system_eol_type): Doc fixes.
5664
56652008-05-17 Glenn Morris <rgm@gnu.org>
5666
5667 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
5668
56692008-05-16 Eli Zaretskii <eliz@gnu.org>
5670
5671 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
5672 and st_gid.
5673
5674 * frame.c (Fdelete_frame): Don't call font_update_drivers if
5675 HAVE_WINDOW_SYSTEM is not defined.
5676
5677 * xfaces.c (merge_face_ref, merge_face_vectors)
5678 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
5679 HAVE_WINDOW_SYSTEM is defined.
5680 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
5681
56822008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
5683
5684 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
5685
56862008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5687
5688 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
5689
56902008-05-15 Kenichi Handa <handa@m17n.org>
5691
5692 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
5693 preference.
5694
56952008-05-15 Glenn Morris <rgm@gnu.org>
5696
5697 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
5698
56992008-05-15 Chong Yidong <cyd@stupidchicken.com>
5700
5701 * fns.c (init_fns): Don't initialize weak_hash_tables here.
5702 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
5703
5704 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
5705
57062008-05-15 Kenichi Handa <handa@m17n.org>
5707
5708 * ftfont.c (ftfont_list): Downcase family name to check generic
5709 families.
5710
5711 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
5712 font-spec for QCfont value.
5713
5714 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
5715 buffer. Check the return value of it.
5716
57172008-05-14 Jason Rumney <jasonr@gnu.org>
5718
5719 * w32term.c (w32_get_glyph_overhangs): Remove.
5720 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
5721
57222008-05-14 Kenichi Handa <handa@m17n.org>
5723
5724 * font.c (font_prop_validate): Make nil a valid value.
5725 (font_clear_cache): Check if the cached vector of entities is nil
5726 or not.
5727
57282008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5729
5730 * emacs.c (main_thread): Conditionalize on
5731 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
5732 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
5733
5734 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
5735 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
5736 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
5737
57382008-05-14 Kenichi Handa <handa@m17n.org>
5739
5740 * coding.c (detect_coding_iso_2022): Ignore a coding category that
5741 has no corresponding coding system.
5742
57432008-05-14 Jason Rumney <jasonr@gnu.org>
5744
5745 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
5746
5747 * w32font.h (w32font_open_internal): Update declaration.
5748
5749 * w32font.c (w32font_open_internal): Change last argument from
5750 w32font_info struct to font object. Fill in font object from
5751 font_entity. Get Outline metrics if possible. Use them to
5752 calculate underline position and thickness. Use xlfd name as name
5753 property. Don't set codepage.
5754 (w32font_open): Pass font_object to w32font_open_internal. Don't
5755 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
5756 (w32font_draw): Use s->font.
5757 (clear_cached_metrics): Don't clear non-existent blocks.
5758
5759 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
5760 font was not found.
5761 (x_draw_glyph_string): Use underline position and thickness from font.
5762
5763 * w32uniscribe.c (uniscribe_open): Pass font_object to
5764 w32font_open_internal.
5765
57662008-05-14 Kenichi Handa <handa@m17n.org>
5767
5768 These changes are to delete all legacy font-handling codes, and
5769 make Emacs use only font-backends.
5770
5771 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
5772 (frame.o, image.o, print.o): Depend on $(FONTSRC).
5773
5774 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
5775
5776 * charset.h (Vcharset_non_preferred_head)
5777 (Vcurrent_iso639_language): Extern them.
5778
5779 * charset.c (Vcharset_non_preferred_head): New variable.
5780 (Vcurrent_iso639_language): New variable.
5781 (syms_of_charset): Declare it as a Lisp variable.
5782 (char_charset): Don't check non preferred charsets. As a last
5783 resort, return charset_unicode.
5784 (Fset_charset_priority): Update Vcharset_non_preferred_head.
5785
5786 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
5787 conditionals. Don't check enable_font_backend. Delete all codes
5788 used only when USE_FONT_BACKEND is not defined.
5789
5790 * dispextern.h (struct glyph_string): Change type of `font' to
5791 `struct font *'.
5792 (struct glyph_string): New member underline_position and
5793 underline_thickness.
5794 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
5795 (struct face): Change type of `font' to `struct font *'. Remove
5796 members `font_name', `font_info_id'.
5797 (per_char_metric, encode_char): Delete externs.
5798 (calc_pixel_width_or_height): Adjust the prototype.
5799
5800 * emacs.c (enable_font_backend): Delete extern.
5801 (main): Don't set enable_font_backend. Don't check the command
5802 line argument "-disable-font-backend".
5803
5804 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
5805 (enum font_property_index): New members FONT_DPI_INDEX,
5806 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
5807 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
5808 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
5809 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
5810 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
5811 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
5812 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
5813 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
5814 (struct font_spec, struct font_entity): New structs.
5815 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
5816 (struct font): Many members from old "struct font_info" moved to
5817 here. Members font and entity deleted.
5818 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
5819 the new font-related objects.
5820 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
5821 (CHECK_FONT_GET_OBJECT): Likewise.
5822 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
5823 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
5824 (struct font_driver): New members case_sensitive anc check. Type
5825 of the member list and open changed.
5826 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
5827 (font_symbolic_width, font_find_object, font_get_spec)
5828 (font_set_lface_from_name): Delete extern.
5829 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
5830
5831 * font.c: Include <strings.h>.
5832 (enable_font_backend): Delete it.
5833 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
5834 (CHECK_VALIDATE_FONT_SPEC): Delete it.
5835 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
5836 (null_string): Delete it.
5837 (null_vector): Make it static.
5838 (font_family_alist): Delete it.
5839 (Qnormal): Extern it.
5840 (QCextra, QClanguage): Delete it.
5841 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
5842 (font_make_spec, font_make_entity, font_make_object)
5843 (font_intern_prop): Renamed from intern_downcase. Don't downcase
5844 the string. Callers changed.
5845 (font_pixel_size): Adjusted for the format change of font-related
5846 objects.
5847 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
5848 (font_style_to_value, font_style_symbolic): New function.
5849 (build_font_family_alist): Delete it.
5850 (font_registry_charsets): Use Fassoc_string instead of
5851 assq_no_quit.
5852 (font_prop_validate_symbol): Don't return null_string.
5853 (font_prop_validate_style): Adjusted for the change of
5854 style-related values in a font vector.
5855 (font_property_table): Delete entries for QClanguage and
5856 QCantialias, add entries for QCavgwidth.
5857 (get_font_prop_index): Delete the 2nd argument FROM.
5858 (font_prop_validate): Arguments changed.
5859 (font_put_extra): Adjusted for the change of font-related objects.
5860 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
5861 (font_parse_fcname, font_unparse_fcname)
5862 (font_prepare_composition): Likewise.
5863 (font_parse_family_registry): Renamed from font_merge_old_spec.
5864 (otf_open): Delete the 1st arg entity.
5865 (font_otf_capability): Adjusted for the above change.
5866 (font_score): New arg alternate_families. Adjusted for the change
5867 of font-related objects.
5868 (font_sort_entites): New arg best_only.
5869 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
5870 Delete them.
5871 (font_match_p): Check alternate families.
5872 (font_find_object): Delete it.
5873 (font_check_object): New function.
5874 (font_clear_cache): Adjusted for the change of font-related objects.
5875 (font_delete_unmatched): New arg.
5876 (font_list_entities): Call font_driver->list with a spec that
5877 doesn't specify style-related properties.
5878 (font_matching_entity): Arguments changed. Caller changed.
5879 (font_open_entity): Adjusted for the change of font-related objects.
5880 (font_close_object, font_has_char, font_encode_char)
5881 (font_get_name, font_get_spec): Likewise.
5882 (font_spec_from_name, font_clear_prop, font_update_lface):
5883 New functions.
5884 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
5885 (font_prepare_for_face, font_done_for_face, font_open_by_name)
5886 (font_at): Adjusted for the change of font-related objects.
5887 (font_range): New function.
5888 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
5889 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
5890 (Fcopy_font_spec, Fmerge_font_spec): New function.
5891 (Ffont_family_list): Renamed from list-families.
5892 (Finternal_set_font_style_table): Arguments changed.
5893 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
5894 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
5895 change of font-related objects.
5896 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
5897
5898 * fontset.h (struct font_info): Delete it. Most members go to
5899 struct font.
5900 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
5901 (enum FONT_SPEC_INDEX): Delete it.
5902 (font_info, list_fonts_func, load_font_func, query_font_func)
5903 (set_frame_fontset_func, find_ccl_program_func)
5904 (get_font_repertory_func, new_fontset_from_font_name): Delete
5905 externs.
5906 (fontset_from_font_name): Extern it.
5907 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
5908 (FONT_INFO_FROM_FACE): Deleted.
5909 (face_for_font): Adjust prototype.
5910
5911 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
5912 conditionals. Don't check enable_font_backend. Delete all codes
5913 used only when USE_FONT_BACKEND is not defined.
5914 (get_font_info_func, list_font_func, load_font_func)
5915 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
5916 (get_font_repertory_func): Delete them.
5917 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
5918 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
5919 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
5920 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
5921 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
5922 (fontset_compare_rfontdef): New function.
5923 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
5924 rfont-defs by qsort. Adjusted for the change of font-group vector.
5925 (load_font_get_repertory): Deleted.
5926 (fontset_find_font): Use new macros to ref/set elements of
5927 font-def and rfont-def.
5928 (fontset_font): Fix the timing of remembering that no font for C.
5929 (free_face_fontset): Do nothing if the face has no fontset.
5930 (face_suitable_for_char_p): Use new macros to ref/set elements of
5931 rfont-def.
5932 (face_for_char): Likewise. Call face_for_char with font_object.
5933 (fs_load_font): Delete. Delete #pragma surrounding it.
5934 (fs_query_fontset): Use strcasecmp instead of strcmp.
5935 (generate_ascii_font_name): Adjusted for the format change of
5936 font-spec.
5937 (Fset_fontset_font): Likewise. Use new macros to set elements of
5938 font-def.
5939 (Fnew_fontset): Use font_unparse_xlfd to generate
5940 FONTSET_ASCII (fontset).
5941 (new_fontset_from_font_name): Deleted.
5942 (fontset_from_font): Renamed from new_fontset_from_font. Check if
5943 a fontset is already created for the font. FIx updating of
5944 Vfontset_alias_alist.
5945 (fontset_ascii_font): Deleted.
5946 (Ffont_info): Adjusted for the format change of font-spec.
5947 (Finternal_char_font): Likewise.
5948 (Ffontset_info): Likewise.
5949 (syms_of_fontset): Don't check load_font_func.
5950
5951 * fns.c (internal_equal): Handle PREV_FONT.
5952
5953 * frame.h: Delete USE_FONT_BACKEND conditional.
5954
5955 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
5956 conditionals. Don't check enable_font_backend. Delete all codes
5957 used only when USE_FONT_BACKEND is not defined.
5958 (x_set_font): Call x_new_font, not x_new_fontset2.
5959 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
5960 already set for the frame.
5961
5962 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
5963 a font-entity by font_make_entity. Use font_intern_prop instead
5964 of intern_downcase. Use FONT_SET_STYLE to set a style-related
5965 font property. If a font is scalable, set avgwidth property to 0.
5966 Set font-entity property by font_put_extra.
5967 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
5968 (ffont_driver): Adjusted for the change of struct font_driver.
5969 (ftfont_spec_pattern): New function.
5970 (ftfont_list): Return a list, not vector.
5971 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
5972 (ftfont_list_family): Don't downcase names.
5973 (ftfont_free_entity): Deleted.
5974 (ftfont_open): Return a font-object. Adjusted for the change of
5975 struct font. Get underline_thickness and underline_position from
5976 font property. Don't update dpyinfo->smallest_font_height and
5977 dpyinfo->smallest_char_width.
5978 (ftfont_close): Don't free `struct font'.
5979 (ftfont_has_char): Adjusted for the format change of font-entity.
5980 (ftfont_encode_char, ftfont_text_extents): Likewise.
5981
5982 * ftxfont.c (ftxfont_list): Return a list, not vector.
5983 (ftxfont_open): Return a font-object. Adjusted for the change of
5984 struct font. Get underline_thickness and underline_position from
5985 font property. Don't update dpyinfo->smallest_font_height and
5986 dpyinfo->smallest_char_width.
5987 (ftxfont_close): Don't decrease FRAME_X_DISPLAY_INFO (f)->n_fonts.
5988 (ftxfont_draw): Adjusted for the change of struct font.
5989
5990 * image.c (image_ascent): Don't include "charset.h". Include
5991 "character.h" and "font.h".
5992
5993 * lisp.h (enum pvec_type): New member PREV_FONT.
5994 (Fassoc_string): EXFUN it.
5995
5996 * print.c: Include font.h.
5997 (print_object): Handle font-related objects.
5998
5999 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
6000 conditionals. Don't check enable_font_backend. Delete all codes
6001 used only when USE_FONT_BACKEND is not defined.
6002 (handle_auto_composed_prop): Do nothing if it->f is not on a
6003 window system. Check how many following characters can be
6004 displayed by the same font.
6005 (calc_pixel_width_or_height): Type of the 4th arg is changed to
6006 'struct font *'.
6007 (get_char_face_and_encoding): Assign the whole encoding task to
6008 the `encode-char' method of a font driver.
6009 (fill_composite_glyph_string): Adjusted for the change of `struct
6010 face' and `struct glyph_string'.
6011 (fill_glyph_string): Likewise.
6012 (get_per_char_metric): Arguments changed.
6013 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
6014 and `struct glyph_string'.
6015 (produce_stretch_glyph, calc_line_height_property)
6016 (x_produce_glyphs): Likewise.
6017
6018 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
6019 conditionals. Don't check enable_font_backend. Delete all codes
6020 used only when USE_FONT_BACKEND is not defined. Use
6021 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
6022 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
6023 (Qp): Extern them.
6024 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
6025 Deleted.
6026 (struct font_name): Deleted.
6027 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
6028 (compare_fonts_by_sort_order): New function.
6029 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
6030 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
6031 Deleted.
6032 (Fx_family_fonts): Use font_list_entities, and sort fonts by
6033 compare_fonts_by_sort_order.
6034 (Fx_font_family_list): Call Ffont_family_list.
6035 (face_numeric_value, face_numeric_weight, face_numeric_slant)
6036 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
6037 (face_symbolic_slant, face_symbolic_swidth)
6038 (split_font_name_into_vector, build_font_name_from_vector)
6039 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
6040 (font_rescale_ratio, split_font_name, build_font_name)
6041 (free_font_names, sort_fonts, x_face_list_fonts)
6042 (face_font_available_p, sorted_font_list, cmp_font_names)
6043 (font_list_1, concat_font_list, font_list, remove_duplicates):
6044 Deleted.
6045 (Fx_list_fonts): Use Ffont_list.
6046 (LFACE_AVGWIDTH): Deleted.
6047 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
6048 by FONTP.
6049 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
6050 (set_lface_from_font_name): Delete it.
6051 (set_lface_from_font): Renamed from
6052 set_lface_from_font_and_fontset. Caller changed. Don't set
6053 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
6054 for face.
6055 (merge_face_vectors): Copy font-spec if necessary.
6056 Clear properties of the font-spec if necessary.
6057 (merge_face_ref): Clear properties of the font-spec if necessary.
6058 (Finternal_set_lisp_face_attribute): Likewise.
6059 (set_font_frame_param): Use font_load_for_lface to load a
6060 font-object, and call Fmodify_frame_parameters with it.
6061 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
6062 font name by Ffont_xlfd_name.
6063 (Finternal_lisp_face_attribute_values): Don't check QCweight,
6064 QCslant, and QCwidth.
6065 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
6066 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
6067 Compare fonts by EQ.
6068 (lookup_non_ascii_face): Deleted.
6069 (face_for_font): The 2nd argument changed.
6070 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
6071 Check atomic font properties by case insensitive.
6072 (realize_non_ascii_face): Set face->overstrike correctly.
6073 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
6074 (dump_realized_face): Get font name from
6075 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
6076
6077 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
6078 conditionals. Don't check enable_font_backend. Delete all codes
6079 used only when USE_FONT_BACKEND is not defined.
6080 (xic_create_xfontset): Original code deleted and renamed from
6081 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
6082 (x_make_gc): Don't set GCFont in GCs.
6083 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
6084 opened by "fixed".
6085 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
6086 find_ccl_program_func, query_font_func, set_frame_fontset_func,
6087 get_font_repertory_func.
6088
6089 * xfont.c: Include <stdlib.h> and "ccl.h".
6090 (struct xfont_info): New structure.
6091 (xfont_query_font): Deleted.
6092 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
6093 moved from xterm.c.
6094 (xfont_driver): Adjusted for the change of struct font_driver.
6095 (compare_font_names): New function.
6096 (xfont_list_pattern): Sort font names case insensitively. Make
6097 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
6098 (xfont_list): Return a list, not vector.
6099 (xfont_match): If the font doesn't have QCname property, generate
6100 a name from the other font properties.
6101 (xfont_open): Return a font-object. Adjusted for the change of
6102 struct font. Get underline_thickness and underline_position from
6103 font property. Don't update dpyinfo->smallest_font_height and
6104 dpyinfo->smallest_char_width.
6105 (xfont_close): Don't free struct font.
6106 (xfont_prepare_face): Adjusted for the change of struct font.
6107 (xfont_done_face): Deleted.
6108 (xfont_has_char): Adjusted for the change of struct font.
6109 (xfont_encode_char, xfont_draw): Likewise.
6110 (xfont_check): New function.
6111
6112 * xftfont.c (xftfont_list): Adjusted for the change of `list'
6113 callback function.
6114 (xftfont_match): Adjusted for the format change of font-entity.
6115 (xftfont_open): Adjusted for the format change of font-entity and
6116 font-object. Adjusted for the change of struct font. Return a
6117 font-object. Don't update dpyinfo->smallest_font_height and
6118 dpyinfo->smallest_char_width.
6119 (xftfont_close): Block input while calling XftFontClose.
6120 (xftfont_prepare_face): Don't block input while calling
6121 xftfont_get_colors. Adjusted for the change of struct font.
6122 (xftfont_shape): Return value of error case fixed.
6123
6124 * xrdb.c (x_load_resources): Don't setup a fontset resource.
6125
6126 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
6127 conditionals.
6128 (FONT_WIDTH): Return (f)->max_width.
6129 (struct x_display_info): Delete member `font'.
6130 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
6131 (x_find_ccl_program, x_get_font_repertory): Delete externs.
6132 (struct x_output): Change type of `font' to `struct font *'.
6133
6134 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
6135 conditionals. Don't check enable_font_backend. Delete all codes
6136 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
6137 (x_per_char_metric, x_encode_char): Deleted.
6138 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
6139 (x_compute_glyph_string_overhangs): Adjusted for the change of
6140 `struct face'.
6141 (x_draw_glyph_string_foreground)
6142 (x_draw_composite_glyph_string_foreground): Likewise.
6143 (x_draw_glyph_string): Likewise. Use font->underline_position and
6144 font->underline_thickness.
6145 (x_new_font): Renamed from x_new_fontset2.
6146 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
6147 (x_check_font): Call `check' method of a font driver.
6148 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
6149 (x_query_font, x_get_font_repertory): Deleted.
6150 (x_find_ccl_program): Renamed and moved to xfont.c.
6151 (x_redisplay_interface): Adjusted for the change of `struct
6152 redisplay_interface'.
6153
6154 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
6155 conditionals. Don't check enable_font_backend. Delete all codes
6156 used only when USE_FONT_BACKEND is not defined. Surround non-used
6157 code by "#ifdef OLD_FONT" and "endif".
6158 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
6159
6160 * w32font.h (struct w32font_info): New member.
6161 (FONT_COMPAT): New macro.
6162 (w32font_open_internal): Prototype adjusted.
6163
6164 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
6165 OLD_FONT" and "endif".
6166
6167 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
6168 conditionals. Don't check enable_font_backend. Delete all codes
6169 used only when USE_FONT_BACKEND is not defined.
6170 (w32font_open): Return a font-object. Make a font-object by
6171 font_make_object. Adjusted for the change of struct w32font_info.
6172 (w32font_close): Don't free struct font. Adjusted for the change
6173 of struct w32font_info.
6174 (w32font_encode_char, w32font_text_extents, w32font_draw):
6175 Adjusted for the change of struct w32font_info.
6176 (w32font_draw): Likewise.
6177 (w32font_list_internal): Return a list, not vector.
6178 (w32font_open_internal): Change the 4th arg to font-object.
6179 Adjusted for the change of struct w32font_info and font-object format.
6180 (add_font_name_to_list): Don't downcase names.
6181 (w32_enumfont_pattern_entity): Make a font-entity by
6182 font_make_entity. Adjusted for the format change of font-entity.
6183 Use FONT_SET_STYLE to set a style-related font property. If a
6184 font is scalable, set avgwidth property to 0. Set font-entity
6185 property by font_put_extra.
6186 (font_matches_spec): Adjusted for the format change of font-entity.
6187 (w32_weight_table, w32_decode_weight): New variables.
6188 (w32_encode_weight): New function.
6189 (fill_in_logfont): Adjusted for the format change of font-spec.
6190 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
6191 weight value.
6192 (w32font_driver): Adjusted for the change of struct font_driver.
6193
6194 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
6195 conditionals. Don't check enable_font_backend. Surround non-used
6196 code by "#ifdef OLD_FONT" and "endif".
6197 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
6198 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
6199
6200 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
6201 conditionals. Don't check enable_font_backend. Delete all codes
6202 used only when USE_FONT_BACKEND is not defined. Surround non-used
6203 code by "#ifdef OLD_FONT" and "endif".
6204
6205 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
6206 (uniscribe_open): Return value changed to font-object.
6207 Adjusted for the format change of font-object.
6208 (uniscribe_otf_capability): Adjusted for the change of struct font.
6209 (add_opentype_font_name_to_list): Don't downcase names.
6210 (uniscribe_font_driver): Adjusted for the change of struct
6211 font_driver.
6212
62132008-05-13 Chong Yidong <cyd@stupidchicken.com>
6214
6215 * dispnew.c (update_frame_1): Check if tty output is still valid
6216 before flushing it.
6217
62182008-05-13 Jan Djärv <jan.h.d@swipnet.se>
6219
6220 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
6221 to Gtk+ menus.
6222
62232008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
6224
6225 * dired.c (file_name_completion): Tweak the code so as to always do it
6226 in a single pass. Tighten the scope of some variables.
6227
6228 * dired.c (Qdefault_directory): New var.
6229 (file_name_completion): Use it instead of Fexpand_file_name.
6230 (syms_of_dired): Initialize it.
6231
62322008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
6233
6234 * fileio.c (double_dollars): Remove dead code.
6235
62362008-05-10 Eli Zaretskii <eliz@gnu.org>
6237
6238 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
6239 Mention w32-get-true-file-attributes in doc string.
6240
6241 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
6242
62432008-05-09 Glenn Morris <rgm@gnu.org>
6244
6245 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
6246 2008-04-23.
6247
62482008-05-09 Eli Zaretskii <eliz@gnu.org>
6249
6250 Support for reporting owner and group of each file on MS-Windows:
6251 * dired.c (stat_uname, stat_gname): New functions, with special
6252 implementation for w32.
6253 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
6254
6255 * w32.c: Rename the_passwd_* to dflt_passwd_*.
6256 (dflt_group_name): New static variable.
6257 (dflt_group): Rename from the_group.
6258 (init_user_info): Init dflt_group fields. Get user's group name
6259 from LookupAccountSid.
6260 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
6261 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
6262 New initialization states.
6263 (globals_of_w32): Initialize them to zero. Initialize the default
6264 group name to "None".
6265 (GetFileSecurity_Name): New global var, the name of the function
6266 to call for GetFileSecurity.
6267 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
6268 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
6269 (get_file_security, get_security_descriptor_owner)
6270 (get_security_descriptor_group, is_valid_sid)
6271 (get_file_security_desc, get_rid, get_name_and_id)
6272 (get_file_owner_and_group): New functions.
6273 (stat): Use get_file_security_desc and get_file_owner_and_group to
6274 report the owner and primary group of each file. Don't ignore the
6275 high 32 bits of file's size, now that st_size is 64-bit wide.
6276 Fix test when to get true file attributes.
6277 (init_user_info): Use get_rid instead of equivalent inline code.
6278 (fstat): Don't ignore the high 32 bits of file's size.
6279
62802008-05-09 Chong Yidong <cyd@stupidchicken.com>
6281
6282 * image.c (png_load): Use correct bit-depth for setting background
6283 color.
6284
62852008-05-08 Eli Zaretskii <eliz@gnu.org>
6286
6287 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
6288 epa-hook.elc.
6289
62902008-05-08 Juanma Barranquero <lekktu@gmail.com>
6291
6292 * font.c (Ffont_match_p): Don't use `iff' in docstring.
6293
62942008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
6295
6296 * macfns.c (Fx_create_frame): Make a copy of frame parameters
6297 because the original parameters are in pure storage now.
6298 (mac_window): Remove unused params. Update callers.
6299
63002008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
6301
6302 * lread.c (substitute_object_recurse): Use lower-level primitives.
6303 Don't signal errors when traversing sub-char-tables.
6304 Don't loop over all the possible characters when traversing char-tables.
6305
6306 * print.c (print_preprocess): Add sub-char-tables to the print-table,
6307 just like we do in print.c.
6308
63092008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
6310
6311 * minibuf.c (Ftry_completion): Remove code left over from when we used
6312 scmp instead of Fcompare_strings.
6313
63142008-05-04 Juanma Barranquero <lekktu@gmail.com>
6315
6316 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
6317
63182008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6319
6320 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
6321 Create bitmap context in native byte order.
6322
6323 * macterm.c (XDrawLine)
6324 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
6325 context in native byte order.
6326
63272008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6328
6329 * config.in: Regenerate.
6330
6331 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
6332 New definitions for Image I/O support.
6333 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
6334 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
6335 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
6336 (mac_data_provider_release_data, image_load_image_io)
6337 [USE_MAC_IMAGE_IO]: New functions.
6338 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
6339 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
6340 (init_image_func_pointer) [MAC_OSX]: Remove function.
6341 (image_load_quartz2d) [MAC_OSX]: Check availability of
6342 CGImageCreateWithPNGDataProvider at compile time.
6343 Use lowercase `false' for boolean constant.
6344 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
6345 Use image_load_image_io.
6346 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
6347 Don't check MyCGImageCreateWithPNGDataProvider.
6348 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
6349 Don't call init_image_func_pointer.
6350
6351 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
6352
6353 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
6354 Make variable non-static.
6355 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
6356 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
6357
6358 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
6359 (RED_FROM_ULONG): Mask off higher bits.
6360 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
6361
6362 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
6363 Include AvailabilityMacros.h.
6364 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
6365 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
6366
63672008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
6368
6369 * chartab.c (Fset_char_table_range): If range is t, really set all
6370 chars to that value.
6371
63722008-05-03 Eli Zaretskii <eliz@gnu.org>
6373
6374 * dired.c (Ffile_attributes): Don't allow the device number become
6375 negative.
6376
63772008-05-02 Daiki Ueno <ueno@unixuser.org>
6378
6379 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
6380
63812008-05-02 Juri Linkov <juri@jurta.org>
6382
6383 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
6384 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
6385 DEFAULT argument as a list of default values in docstrings.
6386
63872008-05-01 Chong Yidong <cyd@stupidchicken.com>
6388
6389 * puresize.h (BASE_PURESIZE): Increase to 1210000.
6390
63912008-05-01 Martin Rudalics <rudalics@gmx.at>
6392
6393 * dispnew.c (change_frame_size_1): Preserve small windows when
6394 shrinking frames by calling set_window_height|width with third
6395 arg 2.
6396
6397 * window.h (struct window): Replace field too_small_ok by field
6398 resize_proportionally.
6399
6400 * window.c (make_window): Initialize resize_proportionally.
6401 (enlarge_window): Temporarily set resize_proportionally to make
6402 sure that shrink_windows does scale the window proportionally.
6403 (shrink_windows): When window has resize_proportionally set try
6404 to shrink it proportionally by stealing from other windows.
6405 (struct saved_window, Fset_window_configuration)
6406 (compare_window_configurations): Handle resize_proportionally.
6407 (WINDOW_TOTAL_SIZE): New macro.
6408 (window_min_size, shrink_windows, size_window): Use it.
6409 (check_min_window_sizes): Remove. Invalid values of
6410 window-min-height|width are handled by window_min_size_2 now.
6411 (size_window, Fsplit_window, enlarge_window)
6412 (adjust_window_trailing_edge, grow_mini_window): Don't call
6413 check_min_window_sizes.
6414 (window_min_size_2, window_min_size_1, window_min_size):
6415 New argument safe_p for retrieving "safe" minimum sizes.
6416 (Fdisplay_buffer, Fsplit_window, enlarge_window)
6417 (adjust_window_trailing_edge, grow_mini_window):
6418 Adjust arguments of window_min_size... functions.
6419 (shrink_windows): Argument min_size removed. New argument
6420 safe_p allows shrinking windows to their safe minimum sizes.
6421 Calculate minimum size and decide whether a window shall be
6422 deleted for each window individually.
6423 (size_window): When nodelete_p equals 2, tell shrink_windows to
6424 delete windows only if their new minimum size is no more safe.
6425 (shrink_window_lowest_first): Call window_min_size_1 to make
6426 sure to preserve modeline of bottom-most window when resizing
6427 the minibuffer.
6428 (Fset_window_configuration, Fcurrent_window_configuration)
6429 (compare_window_configurations): Do not handle
6430 window-min-height|width any more.
6431 (syms_of_window): Clarify window-min-height|width doc-strings.
6432
64332008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
6434
6435 * dired.c (file_name_completion): Fix up the encoding/decoding issue
6436 some more. Copy some of the code from Ftry_completions.
6437 Remove special case code that dates back to initial revision when the
6438 slash was only added when necessary and that can't trigger nowadays.
6439
64402008-04-27 Kenichi Handa <handa@m17n.org>
6441
6442 * font.c (font_prop_validate): Signal `error' instead of `font'.
6443
64442008-04-29 Jason Rumney <jasonr@gnu.org>
6445
6446 * w32fns.c (Fw32_battery_status): New defun.
6447 (syms_of_w32fns): Defsubr it.
6448
64492008-04-28 Andreas Schwab <schwab@suse.de>
6450
6451 * dired.c (file_name_completion): Fix another mixing of encoded
6452 and decoded names.
6453
64542008-04-28 Juanma Barranquero <lekktu@gmail.com>
6455
6456 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
6457
64582008-04-27 Juanma Barranquero <lekktu@gmail.com>
6459
6460 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
6461
64622008-04-27 Andreas Schwab <schwab@suse.de>
6463
6464 * dired.c (file_name_completion): Fix inappropriate mixing of
6465 encoded and decoded names.
6466
6467 * xterm.c (XTread_socket): Fix use of uninitialized variable.
6468
6469 * puresize.h (BASE_PURESIZE): Increase to 1200000.
6470
64712008-04-26 Eli Zaretskii <eliz@gnu.org>
6472
6473 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
6474 2008-03-31, it's not needed anymore with `struct stat' definition
6475 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
6476 for the same reasons.
6477
64782008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
6479
6480 * m/sparc.h: Additional redefinitions for GNU/Linux.
6481
64822008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6483
6484 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
6485 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
6486 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
6487 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
6488 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
6489 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
6490 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
6491 Likewise.
6492
6493 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
6494 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
6495 (mac_ax_number_of_characters): Add externs.
6496 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
6497 [USE_MAC_TSM]: Likewise.
6498 (mac_handle_text_input_event) [MAC_OSX]:
6499 Handle kEventTextInputOffsetToPos for no active input area case.
6500 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
6501 (mac_handle_document_access_event)
6502 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
6503 (install_application_handler) [MAC_OSX]: Register handlers for
6504 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
6505 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
6506 Register mac_handle_document_access_event.
6507
6508 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
6509 Make functions non-static.
6510
65112008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
6512
6513 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
6514 (read_file_name_completion_ignore_case, insert_default_directory)
6515 (Qdefault_directory): Move to minibuffer.el.
6516 (Fread_file_name): Call the new `read-file-name' instead.
6517
65182008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6519
6520 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
6521 Make function non-static.
6522 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
6523 Remove function.
6524 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
6525 Move to mactoolbox.c.
6526 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
6527
6528 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
6529 (mac_rect_make): New macro.
6530
6531 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
6532 instead of float.
6533 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
6534 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
6535 (XSetBackground) [USE_CG_DRAWING]: Likewise.
6536 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
6537 CGRectMake.
6538 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
6539 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
6540 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
6541 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
6542 instead of WindowRef in argument type.
6543 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
6544 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
6545 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
6546 instead of DISPLAY. All uses changed.
6547 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
6548 (x_calc_absolute_position): Simplify so as not to use
6549 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
6550
6551 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
6552 instead of WindowRef in argument type.
6553 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
6554 [TARGET_API_MAC_CARBON]: Remove externs.
6555 (create_apple_event, mac_event_parameters_to_lisp)
6556 [TARGET_API_MAC_CARBON]: Add externs.
6557
6558 * mactoolbox.c (Vmac_ts_script_language_on_focus)
6559 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
6560 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
6561 is clicked.
6562 (x_activate_menubar): Remove extern for saved_menu_event_location.
6563 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
6564 Move from mac.c.
6565
65662008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6567
6568 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
6569 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
6570
65712008-04-23 Jason Rumney <jasonr@gnu.org>
6572
6573 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
6574 attributes only for local files.
6575
6576 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
6577 default to Qlocal.
6578
65792008-04-22 Juri Linkov <juri@jurta.org>
6580
6581 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
6582 read-buffer-to-switch instead of using the letter "B".
6583
65842008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
6585
6586 * fileio.c (Qdefault_directory): New variable.
6587 (Fread_file_name): Use it to pass `dir' to the completion functions.
6588
65892008-04-20 Chong Yidong <cyd@stupidchicken.com>
6590
6591 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
6592
65932008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
6594
6595 * keyboard.c (Vpre_help_message): Remove.
6596 (show_help_echo): Remove default C code.
6597
6598 * dired.c (directory_files_internal, file_name_completion):
6599 Only call ENCODE_FILE if the string is indeed decoded.
6600
66012008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
6602
6603 * Makefile.in (TOOLKIT_DEFINES): Remove.
6604 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
6605
66062008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6607
6608 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
6609 (mactoolbox.o): New target.
6610
6611 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
6612 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
6613
6614 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
6615 Use mac_set_frame_window_background instead of XSetWindowBackground.
6616 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
6617 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
6618 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
6619 instead of SetWindowTitleWithCFString.
6620 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
6621 Move function to mactoolbox.c.
6622 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
6623 Use mac_set_window_modified instead of SetWindowModified.
6624 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
6625 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
6626 (Fx_focus_frame): Use mac_front_non_floating_window instead of
6627 FrontNonFloatingWindow. Use mac_activate_window instead of
6628 ActivateWindow. Use mac_active_non_floating_window instead of
6629 ActiveNonFloatingWindow.
6630 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
6631 Use mac_show_hourglass and mac_hide_hourglass.
6632 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
6633 instead of GetGlobalMouse.
6634 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
6635 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
6636 Use mac_bring_window_to_front instead of BringToFront.
6637 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
6638 mactoolbox.c.
6639 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
6640 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
6641 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
6642 mactoolbox.c.
6643
6644 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
6645 (XtPointer): Move typedef from macmenu.c.
6646 (enum button_type): Move enum from macmenu.c.
6647 (widget_value): Move typedef from macmenu.c.
6648 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
6649 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
6650 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
6651 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
6652 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
6653 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
6654 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
6655 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
6656 (Selection): Move typedef from macselect.c.
6657 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
6658 macterm.c.
6659 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
6660 (mac_is_window_collapsed, mac_bring_window_to_front)
6661 (mac_send_window_behind, mac_hide_window, mac_show_window)
6662 (mac_collapse_window, mac_front_non_floating_window)
6663 (mac_active_non_floating_window, mac_activate_window)
6664 (mac_move_window_structure, mac_move_window, mac_size_window)
6665 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
6666
6667 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
6668 (enum mac_menu_kind): Move enum to mactoolbox.c.
6669 (min_menu_id): Move variable to mactoolbox.c.
6670 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
6671 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
6672 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
6673 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
6674 [TARGET_API_MAC_CARBON]: Likewise.
6675 (XtPointer): Move typedef to macgui.h.
6676 (enum button_type): Move enum to macgui.h.
6677 (widget_value): Move typedef to macgui.h.
6678 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
6679 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
6680 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
6681 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
6682 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
6683 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
6684 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
6685 (popup_activated_flag): Make variable non-static.
6686 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
6687 (add_menu_item, fill_menu, dispose_menus):
6688 Move functions to mactoolbox.c.
6689 (restore_show_help_function, menu_target_item_handler)
6690 (install_menu_target_item_handler, mac_handle_dialog_event)
6691 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
6692 [TARGET_API_MAC_CARBON]: Likewise.
6693 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
6694 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
6695 (find_and_call_menu_selection, name_is_separator): Make function
6696 non-static.
6697 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
6698 to mactoolbox.c.
6699 (set_frame_menubar): Don't call install_menu_quit_handler.
6700 (menu_item_selection): New variable.
6701 (mac_menu_show): Use create_and_show_popup_menu.
6702 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
6703 selection but set variable menu_item_selection. All uses changed.
6704 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
6705 Call install_menu_quit_handler. Move to mactoolbox.c.
6706
6707 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
6708 (Selection): Move typedef to macgui.h.
6709 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
6710 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
6711 Make variables non-static.
6712 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
6713 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
6714 Make functions non-static.
6715 (Vmac_service_selection) [MAC_OSX]: Likewise.
6716 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
6717 (mac_valid_selection_target_p, mac_clear_selection)
6718 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
6719 (mac_put_selection_value, mac_selection_has_target_p)
6720 (mac_get_selection_value, mac_get_selection_target_list)
6721 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
6722 Move functions to mactoolbox.c.
6723 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
6724 Likewise.
6725 (copy_scrap_flavor_data, mac_handle_service_event)
6726 (install_service_handler) [MAC_OSX]: Likewise.
6727 (syms_of_macselect) <Vmac_dnd_known_types>:
6728 Use mac_dnd_default_known_types.
6729
6730 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
6731 Move to mactoolbox.c.
6732 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
6733 (Fx_selection_owner_p): Add EXFUN.
6734 (install_window_handler, remove_window_handler, XSetWindowBackground):
6735 Remove externs.
6736 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
6737 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
6738 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
6739 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
6740 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
6741 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
6742 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
6743 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
6744 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
6745 (create_and_show_popup_menu, mac_get_selection_from_symbol)
6746 (mac_valid_selection_target_p, mac_clear_selection)
6747 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
6748 (mac_put_selection_value, mac_selection_has_target_p)
6749 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
6750 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
6751 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
6752 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
6753 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
6754 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
6755 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
6756 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
6757 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
6758
6759 * mactoolbox.c: New file.
6760
67612008-04-18 Jason Rumney <jasonr@gnu.org>
6762
6763 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
6764
67652008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
6766
6767 * character.c (Fmultibyte_char_to_unibyte):
6768 Return latin1 chars unchanged.
6769
6770 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
6771 relocated if it points to `name'.
6772
67732008-04-17 Kenichi Handa <handa@m17n.org>
6774
6775 * data.c (Faset): Allow setting a multibyte character in an
6776 ASCII-only unibyte string.
6777
6778 * lisp.h (STRING_SET_MULTIBYTE): New macro.
6779
67802008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
6781
6782 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
6783 done in config.h.
6784
67852008-04-16 Juanma Barranquero <lekktu@gmail.com>
6786
6787 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
6788 (Fchar_direction): Add usage in the docstring.
6789
67902008-04-15 Chong Yidong <cyd@stupidchicken.com>
6791
6792 * keyboard.c (read_key_sequence): Remove always-true checks.
6793
67942008-04-14 Jason Rumney <jasonr@gnu.org>
6795
6796 * w32font.c (w32font_open_internal): Set max_bounds.descent in
6797 compatibility struct, for better underline positioning.
6798
67992008-04-13 David Hansen <david.hansen@gmx.net>
6800
6801 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
6802 string.
6803
68042008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
6805
6806 * m/hp800.h (XUINT, XSET): Remove.
6807
68082008-04-12 Juanma Barranquero <lekktu@gmail.com>
6809
6810 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
6811 previous change.
6812
68132008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
6814
6815 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
6816 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
6817
68182008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
6819
6820 * keymap.h (map_keymap_canonical): Declare.
6821 * xmenu.c (single_keymap_panes): Use it.
6822
68232008-04-11 Glenn Morris <rgm@gnu.org>
6824
6825 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
6826 set the target's value to that of the alias.
6827
68282008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
6829
6830 * term.c (set_tty_color_mode): Left over typo.
6831
68322008-04-10 Michael Albinus <michael.albinus@gmx.de>
6833
6834 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
6835 only after check for file name handler functions. Signal, when
6836 native functionality is not supported.
6837 (syms_of_fileio): Declare it unconditionally.
6838
68392008-04-10 Jason Rumney <jasonr@gnu.org>
6840
6841 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
6842 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
6843
6844 * w32.c (logon_network_drive): Also logon to remote drives that
6845 are mapped to drive letters.
6846
68472008-04-10 Glenn Morris <rgm@gnu.org>
6848
6849 * xdisp.c (truncate-partial-width-windows): Doc fix.
6850
68512008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
6852
6853 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
6854 Move functions to minibuffer.el.
6855 (syms_of_fileio): Don't declare them.
6856
68572008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
6858
6859 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
6860 (syms_of_minibuf): Remove its initialization.
6861
6862 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
6863
68642008-04-09 Juanma Barranquero <lekktu@gmail.com>
6865
6866 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
6867
68682008-04-09 Jason Rumney <jasonr@gnu.org>
6869
6870 * makefile.w32-in (distclean): Delete makefile too.
6871 (maintainer-clean): New target.
6872
6873 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
6874
6875 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
6876 for new font backend and composite cases.
6877
68782008-04-09 Jan Djärv <jan.h.d@swipnet.se>
6879
6880 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
6881 Most of the code moved to run_timers.
6882 (do_pending_atimers): Call run_timers.
6883 (run_timers): New function.
6884
6885 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
6886 run atimers.
6887
6888 * process.c (wait_reading_process_output): The same as above.
6889
68902008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
6891
6892 * minibuf.c (last_exact_completion): Remove variable.
6893 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
6894 (complete_and_exit_1, complete_and_exit_2)
6895 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
6896 (Fdisplay_completion_list, display_completion_list_1)
6897 (Fminibuffer_completion_help, Fself_insert_and_exit)
6898 (Fexit_minibuffer, Fminibuffer_message): Move functions to
6899 minibuffer.el.
6900 (syms_of_minibuf): Remove corresponding initializations.
6901
6902 * keyboard.c (Qdeactivate_mark): New var.
6903 (command_loop_1): Use it to call `deactivate-mark'.
6904 (syms_of_keyboard): Initialize it.
6905
6906 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
6907 to another frame.
6908 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
6909 Don't call set_tty_color_mode.
6910 (store_frame_param): Reset previous_frame rather than call
6911 set_tty_color_mode.
6912 * term.c (set_tty_color_mode): Rewrite.
6913 * dispextern.h (set_tty_color_mode): New type.
6914 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
6915
69162008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
6917
6918 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
6919 for generic chars, which do not exist any more in emacs-unicode.
6920
69212008-04-08 Michael Albinus <michael.albinus@gmx.de>
6922
6923 * coding.c (detect_coding_emacs_mule)
6924 (Ffind_operation_coding_system): Fix typo.
6925
69262008-04-08 Jason Rumney <jasonr@gnu.org>
6927
6928 * w32uniscribe.c (SNAME): Extract only symbol name.
6929
6930 * w32font.h (struct w32_metric_cache): New struct.
6931 (w32font_info): Use it.
6932 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
6933 (CACHE_BLOCKSIZE): New constants.
6934
6935 * w32font.c (Qja, Qko, Qzh): New symbols.
6936 (syms_of_w32font): Initialise them.
6937 (font_matches_spec): Use them to filter by language.
6938 (recompute_cached_metrics): Remove function.
6939 (compute_metrics, clear_cached_metrics): New functions.
6940 (w32font_encode_char): Use them to manage metric cache.
6941 (w32font_text_extents): Cache metrics for all glyphs on demand.
6942 Delay converting glyph indices to WORD until needed.
6943 (w32font_open_internal): Initialize metric cache to empty.
6944 (registry_to_w32_charset): Charset should always be a symbol.
6945 (fill_in_logfont, list_all_matching_fonts): Family should
6946 always be a symbol.
6947
69482008-04-06 Jason Rumney <jasonr@gnu.org>
6949
6950 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
6951 Give up if glyph indices not supported. Use uniscribe obtained
6952 ABC widths for individual metrics. Map glyph clusters back to
6953 characters using fClusterStart flag. Return number of glyphs
6954 produced, not chars processed.
6955 (uniscribe_shape): Map char at FROM to current glyph.
6956
69572008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6958
6959 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
6960 Use SetMenuItemHierarchicalMenu.
6961
69622008-04-05 Jason Rumney <jasonr@gnu.org>
6963
6964 * image.c (pbm_load): Allow color values up to 65535.
6965 Throw an error if max_color_idx is outside the supported range.
6966 Report an error when image size is invalid.
6967 Read two bytes at a time when raw images have max_color_idx above 255.
6968
69692008-04-05 Eli Zaretskii <eliz@gnu.org>
6970
6971 * w32.c (readdir): If FindFirstFile/FindNextFile return in
6972 cFileName a file name that includes `?' characters, use the 8+3
6973 alias in cAlternateFileName instead.
6974
69752008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
6976
6977 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
6978 append "CCL: Quitted" when the CCL program is quitted.
6979 (setup_ccl_program): Initialize ccl->quit_silently to zero.
6980
6981 * ccl.h (struct ccl_program): New member quit_silently.
6982
69832008-04-05 Chong Yidong <cyd@stupidchicken.com>
6984
6985 * search.c (compile_pattern_1): Treat non-nil and non-string of
6986 search-spaces-regexp as nil.
6987
6988 * minibuf.c (Fassoc_string): Tweak docstring.
6989
69902008-04-05 Eli Zaretskii <eliz@gnu.org>
6991
6992 * dired.c (Ffile_attributes): Support inode numbers wider than 32
6993 bits. Remove ugly WINDOWSNT-specific kludge introduced on
6994 2008-03-14 to force inode be positive.
6995
6996 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
6997 _S_* ones, since we now use our own sys/stat.h.
6998 (stat, fstat): Don't mangle the inode number.
6999 (init_user_info): Don't restrict UID and GID to 0-60000 range.
7000
70012008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
7002
7003 * frame.h (struct frame): Give one more bit to `visible' since we use
7004 values larger than 1 to indicate obscured frames on ttys.
7005
7006 * keymap.c (Qkeymap_canonicalize): New var.
7007 (Fmap_keymap_internal): New fun.
7008 (describe_map): Use keymap-canonicalize.
7009
7010 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
7011 (Fundo_boundary): Set them.
7012 (syms_of_undo): Initialize them.
7013 (record_point): Use them instead of last_point_position*.
7014 (last_undo_buffer): Change type.
7015
70162008-04-04 Jason Rumney <jasonr@gnu.org>
7017
7018 * w32font.c (w32font_text_extents): Use font's ascent and descent.
7019 (recompute_cached_metrics): Don't set ascent and descent per char.
7020
7021 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
7022 (uniscribe_check_otf): Add GC protection before consing.
7023 Rearrange loop for counting features.
7024
70252008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
7026
7027 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
7028 buffer with byte-size of source buffer.
7029
70302008-04-03 Chong Yidong <cyd@stupidchicken.com>
7031
7032 * callint.c (Fcall_interactively): Handle temporary region even
7033 when shift-select-mode is off.
7034
70352008-04-03 Jason Rumney <jasonr@gnu.org>
7036
7037 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
7038
70392008-04-03 Kenichi Handa <handa@m17n.org>
7040
7041 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
7042 (CATEGORY_MASK_UTF_16): Likewise.
7043 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
7044 binary file.
7045 (detect_coding): Add null-byte detection for a binary file.
7046 (detect_coding_system): Likewise.
7047
70482008-04-03 Jason Rumney <jasonr@gnu.org>
7049
7050 * w32uniscribe.c: New file.
7051
7052 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
7053
7054 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
7055
7056 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
7057 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
7058 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
7059 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
7060 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
7061 (Qphonetic): New symbols.
7062 (syms_of_w32font): Initialize them.
7063 (font_supported_scripts): Use them.
7064 (w32font_list_family): List all charsets.
7065 (w32font_text_extents, recompute_cached_metrics): Fix metric
7066 calculations.
7067 (w32_enumfont_pattern_entity): Make full_type a DWORD.
7068 Give opentype fonts their own format.
7069 (font_matches_spec): New arguments backend and logfont.
7070 Handle :otf spec for uniscribe backend.
7071 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
7072 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
7073
7074 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
7075 font backend.
7076 (globals_of_w32fns): Initialize uniscribe font backend.
7077
7078 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
7079 dependencies.
7080 (w32uniscribe.$(O)): New file to build.
7081 (FONT_OBJ): Include w32uniscribe.$(O).
7082 (LIBS): Add uniscribe libraries.
7083
7084 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
7085
70862008-04-02 Chong Yidong <cyd@stupidchicken.com>
7087
7088 * callint.c (Vshift_select_mode): New var.
7089 (Finteractive): Document new ^ spec.
7090 (Fcall_interactively): Call handle-shift-selection if the ^ spec
7091 is present.
7092
7093 * keyboard.c (Vthis_command_keys_shift_translated): New var.
7094 (command_loop_1): Avoid running the direct display versions of
7095 forward-char and backward-char if shift-selection may occur.
7096 (read_key_sequence): Set Vthis_command_keys_shift_translated if
7097 shift-translation takes place.
7098
7099 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
7100 avoid clobbering by define-minor-mode.
7101
7102 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
7103 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
7104
7105 * syntax.c (Fforward_word): Add ^ interactive spec.
7106
7107 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
7108 (Fscroll_right): Add ^ interactive spec.
7109
71102008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
7111
7112 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
7113
7114 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
7115
7116 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
7117
71182008-03-31 Juri Linkov <juri@jurta.org>
7119
7120 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
7121
71222008-03-30 Jan Djärv <jan.h.d@swipnet.se>
7123
7124 * gtkutil.c (xg_set_geometry): Fix indentation.
7125 (xg_resize_outer_widget): Remove.
7126 (x_wm_size_hint_off): Fix indentation.
7127 (xg_frame_set_char_size): Call flush_and_sync after
7128 gtk_window_resize.
7129 (x_wm_set_size_hint): Pass NULL as geometry window to
7130 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
7131 Add menu bar and tool bar height to base height.
7132 (xg_update_frame_menubar, free_frame_menubar)
7133 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
7134 (update_frame_tool_bar, free_frame_tool_bar):
7135 Change xg_resize_outer_widget to xg_frame_set_char_size.
7136
71372008-03-30 Michael Albinus <michael.albinus@gmx.de>
7138
7139 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
7140 (Fdbus_call_method): New parameter TIMEOUT.
7141 (dbus-send-signal): Optimize UNGCPRO call.
7142
71432008-03-29 Juri Linkov <juri@jurta.org>
7144
7145 * window.c (Fdisplay_buffer): Move call to
7146 Vsplit_window_preferred_function out of conditions that check
7147 if window is eligible for vertical splitting.
7148 When Vsplit_window_preferred_function is non-nil, call it and use
7149 its non-nil return value as window. Otherwise, continue doing
7150 vertical splitting using Fsplit_window with arg horflag=nil.
7151 (syms_of_window) <Vsplit_window_preferred_function>: Change the
7152 default value from `split-window' to nil.
7153
71542008-03-29 Juri Linkov <juri@jurta.org>
7155
7156 * callint.c (Fcall_interactively): Revert 2008-03-16 change
7157 for interactive code letters 'b' and 'B'.
7158
71592008-03-29 Eli Zaretskii <eliz@gnu.org>
7160
7161 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
7162 multibyte string.
7163
71642008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
7165
7166 * keyboard.c (pending_funcalls): New var.
7167 (timer_check): Run it.
7168 (syms_of_keyboard): Initialize it.
7169 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
7170 (Vdelete_terminal_functions): New vars.
7171 (syms_of_terminal): Initialize them.
7172 (Fdelete_terminal): Run delete-terminal-functions.
7173 * xdisp.c (safe_eval): Rewrite.
7174 (safe_call2): New fun.
7175 * frame.c (Qdelete_frame_functions): New var.
7176 (syms_of_frame): Initialize it.
7177 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
7178 * lisp.h (safe_call2, pending_funcalls): Declare.
7179
71802008-03-28 Andreas Schwab <schwab@suse.de>
7181
7182 * indent.c (Fmove_to_column): Move declaration before statements.
7183
71842008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
7185
7186 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
7187 (struct frame): Use bit fields for boolean vars.
7188
7189 * process.c (server_accept_connection): Simplify naming.
7190 (emacs_get_tty_pgrp): Use SDATA.
7191
7192 * coding.c (decode_coding_object): Fix last change.
7193
71942008-03-27 Jason Rumney <jasonr@gnu.org>
7195
7196 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
7197
71982008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
7199
7200 * charset.c (Fdefine_charset_internal): Change the way of
7201 registering charsets in Vcharset_order_list.
7202 (syms_of_charset): Make the charset `eight-bit' supplementary.
7203
72042008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
7205
7206 * regex.c (EXTEND_BUFFER): Change order of pointer addition
7207 operations, to avoid having the difference between pointers
7208 overflow.
7209
72102008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
7211
7212 * indent.c (check_display_width): New fun.
7213 (scan_for_column): Use it.
7214
7215 * data.c (syms_of_data): Mark most-positive-fixnum and
7216 most-negative-fixnum as constants.
7217
7218 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
7219
7220 * indent.c (scan_for_column): Extract from current_column_1.
7221 Merge with the same code from Fmove_to_column.
7222 (current_column_1, Fmove_to_column): Use it.
7223
72242008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
7225
7226 * keymap.c (map_keymap_internal): New fun.
7227 (map_keymap): Use it.
7228 (Fmap_keymap_internal): New fun.
7229 (Fmap_keymap): Remove left-out test from before make_save_value.
7230
7231 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
7232
7233 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
7234 Use XCAR/XCDR.
7235
7236 * process.h (struct Lisp_Process): Remove filter_multibyte.
7237 * process.c (QCfilter_multibyte): Remove.
7238 (setup_process_coding_systems): Don't use filter_multibyte.
7239 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
7240 (read_process_output): Don't adjust multibyteness to filter_multibyte.
7241 (Fset_process_filter_multibyte): Change the coding-system to
7242 approximate the previous behavior.
7243 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
7244 coding-system.
7245
7246 * coding.c (decode_coding_object): When not decoding into a buffer,
7247 obey the coding system's preference of (uni|multi)byte.
7248
72492008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
7250
7251 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
7252 every char is changed and has a different byte-length.
7253 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
7254 Fix int -> EMACS_INT.
7255
72562008-03-23 David Hansen <david.hansen@gmx.net>
7257
7258 * dbusbind.c (xd_read_message): Remove extra copying of message
7259 strings. Check for NULL `interface' or `member'.
7260
72612008-03-22 Eli Zaretskii <eliz@gnu.org>
7262
7263 * w32.c (readdir): If FindFirstFile/FindNextFile return in
7264 cFileName a file name that includes `?' characters, use the 8+3
7265 alias in cAlternateFileName instead.
7266
72672008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
7268
7269 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
7270
72712008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
7272
7273 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
7274 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
7275 work on current_buffer only instead (that was already the case
7276 for some of the code anyway).
7277 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
7278 (temp_set_point, temp_set_point_both): Use EMACS_INT.
7279 (SET_PT, SET_PT_BOTH): Adjust.
7280 * intervals.h (set_point, temp_set_point, set_point_both)
7281 (temp_set_point_both): Remove redundant declarations.
7282
72832008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
7284
7285 * fileio.c (Finsert_file_contents):
7286 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
7287 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
7288 when buffer != current_buffer anyway.
7289
72902008-03-20 Andreas Schwab <schwab@suse.de>
7291
7292 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
7293 as default.
7294
72952008-03-19 Jason Rumney <jasonr@gnu.org>
7296
7297 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
7298 (syms_of_w32fns): Initialize them.
7299 (HOURGLASS_ID): New constant.
7300 (x_window_to_frame): Don't check hourglass_window.
7301 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
7302 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
7303 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
7304 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
7305 Only change the cursor if hourglass is not active.
7306 (Fx_create_frame): Initialize frame's current_cursor.
7307 (hourglass_atimer): Remove.
7308 (hourglass_started): New function.
7309 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
7310 (show_hourglass): Adapt to w32, changing argument to frame.
7311
7312 * w32term.h (struct w32_output): Remove hourglass_window.
7313 Add current_cursor.
7314
7315 * eval.c (call_debugger, Fsignal):
7316 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
7317 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
7318 (Fexecute_extended_command, cancel_hourglass_unwind):
7319 * minibuf.c (read_minibuf):
7320 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
7321
73222008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
7323
7324 * window.c (run_funs): New fun.
7325 (run_window_configuration_change_hook): Use it to run the buffer-local
7326 and the global part of the hook.
7327
7328 * xdisp.c (format_mode_line_unwind_data): Add window argument.
7329 (unwind_format_mode_line): Restore selected window.
7330 (x_consider_frame_title, Fformat_mode_line): Set selected window.
7331
73322008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
7333
7334 * editfns.c (Fchar_equal): Check they are valid characters.
7335
7336 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
7337
73382008-03-17 Andreas Schwab <schwab@suse.de>
7339
7340 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
7341 against a charset.
7342
7343 * lisp.h (Fbuffer_list): Declare.
7344
73452008-03-17 Jan Djärv <jan.h.d@swipnet.se>
d6c952f8 7346
aac0c6e3
MR
7347 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
7348 handlebox_widget is != 0.
7349
73502008-03-16 Juri Linkov <juri@jurta.org>
7351
7352 * callint.c (Fcall_interactively): For interactive code letters
7353 'b' and 'B' put the buffer list into the list of default "future"
7354 values of the minibuffer.
7355
73562008-03-16 Andreas Schwab <schwab@suse.de>
7357
7358 * keyboard.c (read_key_sequence): Fix downcasing of letters with
7359 modifiers.
7360
7361 * regex.c (re_match_2_internal): Correct matching of a charset
7362 against latin-1 characters.
7363
73642008-03-16 Kenichi Handa <handa@m17n.org>
7365
7366 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
7367 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
7368 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
7369 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
7370 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
7371 CHAR_STRING_ADVANCE.
7372 (produce_chars): Fix for the case that the source and the
7373 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
7374 instead of CHAR_STRING_ADVANCE.
7375 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
7376 STRING_CHAR_ADVANCE.
7377
73782008-03-15 Andreas Schwab <schwab@suse.de>
7379
7380 * regex.c (re_match_2_internal): Correct matching of eight bit
7381 characters in unibyte strings.
7382
73832008-03-15 Martin Rudalics <rudalics@gmx.at>
7384
7385 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
7386 at end of range when it coincides with the end of the buffer.
7387
73882008-03-14 Eli Zaretskii <eliz@gnu.org>
7389
7390 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
7391
7392 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
7393
73942008-03-14 Jason Rumney <jasonr@gnu.org>
7395
7396 * editfns.c (initial_tz): New variable.
7397 (syms_of_editfns): Initialize it.
7398 (Fset_time_zone_rule): Set it when first called.
7399 Use it when TZSTRING is nil.
7400
7401 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
7402 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
7403 (monitor_from_point_fn, get_monitor_info_fn): New globals.
7404 (globals_of_w32fns): Initialize them.
7405 (compute_tip_xy): Use them to position tooltips.
7406
74072008-03-14 Glenn Morris <rgm@gnu.org>
7408
7409 * emacs.c (main): Revert previous change.
7410 (standard_args): Revert -internal-script back to -scriptload,
7411 and remove the long-option form.
7412
74132008-03-13 Glenn Morris <rgm@gnu.org>
7414
7415 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
7416 Remove option -enable-font-backend.
7417
74182008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
7419
7420 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
7421
74222008-03-11 Jan Djärv <jan.h.d@swipnet.se>
7423
7424 * xterm.c (x_connection_closed): For GTK: If this is the last
7425 terminal just exit without closing the display.
7426
74272008-03-11 Jason Rumney <jasonr@gnu.org>
7428
7429 * w32font.c (w32font_full_name): Use floor to round.
7430
f0131492 74312008-03-10 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
aac0c6e3
MR
7432
7433 * sound.c (alsa_configure): Declare vol at beginning of block.
7434
7435 * fontset.c (Ffontset_info): Remove extra semicolon.
7436
74372008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
7438
7439 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
7440 size of resulting string.
7441
74422008-03-10 Jason Rumney <jasonr@gnu.org>
7443
7444 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
7445
74462008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7447
7448 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
7449 Don't pretend as if characters with display property haven't been
7450 consumed for string-replacing-string case.
7451
74522008-03-08 Kim F. Storm <storm@cua.dk>
7453
7454 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
7455 (get_next_display_element, next_element_from_string)
7456 (next_element_from_ellipsis, next_element_from_buffer): Use it.
7457
74582008-03-08 Andreas Schwab <schwab@suse.de>
7459
7460 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
7461
74622008-03-06 Jason Rumney <jasonr@gnu.org>
7463
7464 * w32font.c (w32_registry): Take font_type argument. Use ANSI
7465 when charset not specified. Only translate ANSI to unicode when
7466 font_type is truetype.
7467 (w32font_coverage_ok): New function.
7468 (add_font_entity_to_list): Use it to filter unsuitable fonts.
7469
74702008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
7471
7472 * lread.c (Fread_char): Resolve modifiers.
7473 (Fread_char_exclusive): Likewise.
7474
7475 * character.c (char_resolve_modifier_mask): New function.
7476 (char_string): Use char_resolve_modifier_mask.
7477 (Fchar_resolve_modifiers): New function.
7478 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
7479 function.
7480
74812008-03-04 Jason Rumney <jasonr@gnu.org>
7482
7483 * makefile.w32-in: Always include w32font.c in the build.
7484 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
7485
74862008-03-04 Andreas Schwab <schwab@suse.de>
7487
7488 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
7489 (versionclean): Likewise.
7490
74912008-03-04 Juanma Barranquero <lekktu@gmail.com>
7492
7493 * .cvsignore: Add oo.
7494
74952008-03-03 Andreas Schwab <schwab@suse.de>
7496
7497 * coding.c (decode_coding_object): Inhibit gap shrinking while
7498 decoding in place.
7499
75002008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
7501
7502 * w32term.c: Remove unused include "gnu.h".
7503 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
7504
7505 * gnu.h: Rename to ...
7506 * emacs-icon.h: ... this.
7507 * xterm.c: Use emacs-icon.h instead of gnu.h.
7508 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
7509
75102008-03-03 Juanma Barranquero <lekktu@gmail.com>
7511
7512 * w32font.c: Include math.h.
7513
75142008-03-03 Jason Rumney <jasonr@gnu.org>
7515
7516 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
7517 Compute options separately.
7518 (w32font_open_internal): Set glyph_idx before caching metrics.
7519
7520 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
7521 Define if system headers don't.
7522 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
7523 (w32font_encode_char): Don't declare here.
7524
7525 * w32font.c (Quniscribe, QCformat): New symbols.
7526 (syms_of_w32font): Define them.
7527 (w32font_has_char): Indicate uncertainty.
7528 (w32font_encode_char): Encode as glyph point. Make static.
7529 (recompute_cached_metrics): New function.
7530 (w32font_open_internal): Use it. Set font to use glyph points
7531 initially. Set format based on type of font.
7532 (w32font_text_extents, w32font_draw): Optionally use glyph points.
7533 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
7534 on it. Set format based on information available here.
7535 (add_font_entity_to_list): Identify backend based on opentype_only.
7536
75372008-03-02 Andreas Schwab <schwab@suse.de>
7538
7539 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
7540
7541 * coding.c (decode_coding_big5, produce_chars):
7542 Fix typos in last change.
7543
75442008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
7545
7546 * gnu.h: New icon.
7547
75482008-03-02 Kenichi Handa <handa@m17n.org>
7549
7550 * coding.c (decode_coding_utf_8): When eol-type of CODING is
7551 `dos', don't decode '\r' if that is the last in the source.
7552 (decode_coding_utf_16, decode_coding_emacs_mule)
7553 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
7554 (decode_coding_raw_text, decode_coding_charset): Likewise.
7555 (produce_chars): Don't decode EOL here. Use EMACS_INT.
7556
75572008-03-01 Jason Rumney <jasonr@gnu.org>
7558
7559 * w32font.c (w32font_full_name): Report point size for scalable fonts.
7560
75612008-03-01 Kim F. Storm <storm@cua.dk>
7562
7563 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
7564
75652008-03-01 Jason Rumney <jasonr@gnu.org>
7566
7567 * w32font.c (w32font_full_name): New function.
7568 (w32font_open_internal): Use it.
7569
75702008-03-01 Kim F. Storm <storm@cua.dk>
7571
7572 * dispnew.c (line_draw_cost): Fix invalid glyph check.
7573
75742008-03-01 Jason Rumney <jasonr@gnu.org>
7575
7576 * font.c (font_unparse_fcname): Increase len when style is a symbol.
7577
75782008-03-01 Jan Djärv <jan.h.d@swipnet.se>
7579
7580 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
7581 xg_frame_resized when the event is for the edit widget.
7582
7583 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
7584
7585 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
7586 set_char_size.
7587 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
7588 operations on widgets here. Just set frame size if needed.
7589 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
7590 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
7591 (x_wm_set_size_hint): Set size hints on the edit widget only, not
7592 the whole frame.
7593 (xg_create_tool_bar): Move attachment of the tool bar to
7594 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
7595 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
7596
75972008-03-01 Jason Rumney <jasonr@gnu.org>
7598
7599 * w32fns.c (w32_msg_pump): Disable debug code.
7600
76012008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7602
7603 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
7604
76052008-02-29 Chong Yidong <cyd@stupidchicken.com>
7606
7607 * xdisp.c (next_overlay_string): Don't set
7608 overlay_strings_at_end_processed_p if we're currently reading from
7609 a display string.
7610
76112008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
7612
7613 * xdisp.c (get_overlay_strings_1): Fix typo.
7614
76152008-02-29 Chong Yidong <cyd@stupidchicken.com>
7616
7617 * xdisp.c (get_overlay_strings_1): Add missing argument type.
7618
76192008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
7620
7621 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
7622
7623 * xdisp.c (display_mode_element): Cancel the previous change.
7624 (decode_mode_spec): Likewise.
7625 (handle_auto_composed_prop): Don't make composition if it->string
7626 is a string.
7627
76282008-02-27 Kim F. Storm <storm@cua.dk>
7629
7630 * lisp.h (GLYPH): Change type from int to struct with separate char
7631 and face_id members.
7632 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
7633 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
7634 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
7635 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
7636 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
7637 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
7638 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
7639 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
7640 handle new Lisp glyph code encoding, either an integer or a cons.
7641
7642 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
7643 (GLYPH_ALIAS): Delete.
7644 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
7645 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
7646 (GLYPH_FROM_CHAR): Replace macro by ...
7647 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
7648
7649 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
7650 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
7651 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
7652 (GLYPH_INVALID_P): New macro.
7653 (spec_glyph_lookup_face): Update prototype.
7654
7655 * dispnew.c (line_draw_cost): Adapt to new glyph type.
7656 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
7657 new glyph code encoding.
7658 (spec_glyph_lookup_face): No return value; update passed glyph instead.
7659 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
7660
7661 * xdisp.c (get_next_display_element, next_element_from_display_vector):
7662 Adapt to new glyph type and new glyph code encoding.
7663
7664 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
7665
7666 * indent.c (current_column, current_column_1, Fmove_to_column)
7667 (compute_motion): Adapt to new glyph code encoding.
7668
7669 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
7670
76712008-02-27 Chong Yidong <cyd@stupidchicken.com>
7672
7673 * process.c (wait_reading_process_output): Check for window
7674 changes caused by timers.
7675 Suggested by Johan Bockgård.
7676
76772008-02-27 Glenn Morris <rgm@gnu.org>
7678
7679 * emacs.c (USAGE1): Add `--disable-font-backend'.
7680
76812008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
7682
7683 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
7684 is made to the buffer.
7685
76862008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
7687
7688 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
7689 (face_at_string_position):
7690 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
7691 (face_at_string_position):
7692 * xdisp.c (display_string, next_overlay_change):
7693 * buffer.h (overlays_at):
7694 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
7695 Update callers.
7696
76972008-02-26 Chong Yidong <cyd@stupidchicken.com>
7698
7699 * editfns.c (Fformat): Doc fix.
7700
77012008-02-26 Juanma Barranquero <lekktu@gmail.com>
7702
7703 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
7704 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
7705 (Ffont_otf_alternates, Fquery_font): Doc fixes.
7706
77072008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
7708
7709 * buffer.c (Fbuffer_swap_text): New function.
7710 (syms_of_buffer): Defsubr it.
7711
77122008-02-25 Chong Yidong <cyd@stupidchicken.com>
7713
7714 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
7715
77162008-02-25 Jason Rumney <jasonr@gnu.org>
7717
7718 * w32font.c (w32font_draw): Draw one character at a time when padding.
7719
77202008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
7721
7722 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
7723 Handle a nil arg. Use run_window_configuration_change_hook.
7724 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
7725 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
7726 Use run_window_configuration_change_hook.
7727
77282008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
7729
7730 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
7731 1-pixel width.
7732
77332008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
7734
7735 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
7736 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
7737 if the glyph in the font is zero pixel with.
7738
7739 * dispextern.h (struct glyph_string): New member padding_p.
7740
7741 * w32font.c (w32font_draw): Pay attention to s->padding_p.
7742
7743 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
7744
7745 * xfont.c (xfont_draw): Pay attention to s->padding_p.
7746
7747 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
7748
7749 * font.c: If the font driver doesn't have `shape' function, return Qnil.
7750
77512008-02-25 Jason Rumney <jasonr@gnu.org>
7752
7753 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
7754
77552008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
7756
7757 Allow fine-grained image-cache flushing.
7758 * dispextern.h (struct image): Add `dependencies' field.
7759 (clear_image_caches): Change arg to Lisp_Object.
7760 * image.c (make_image): Initialize `dependencies' field.
7761 (clear_image_cache): Change arg to allow fine-grained flushing.
7762 Perform the flush even if image-cache-eviction-delay is nil.
7763 (clear_image_caches): Change arg to Lisp_Object.
7764 (Fclear_image_cache): Expand meaning of the argument.
7765 (mark_image): Mark `dependencies' field.
7766 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
7767 (lface_hash): Use XHASH rather than XFASTINT.
7768 (face_at_buffer_position): Fix int -> EMACS_INT position.
7769 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
7770 (select_frame_for_redisplay): Remove code duplication.
7771 (redisplay_internal): Adapt arg to call to clear_image_caches.
7772
77732008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
7774
7775 * s/vms4-0.h:
7776 * s/vms4-2.h:
7777 * s/vms4-4.h:
7778 * s/vms5-5.h: Remove, unused.
7779
7780 * s/irix5-2.h:
7781 * s/irix6-0.h:
7782 * s/riscos5.h:
7783 * s/mach-bsd4-3.h:
7784 * m/mips4.h: Remove files for obsolete systems.
7785
7786 * Makefile.in:
7787 * filelock.c:
7788 * unexmips.c:
7789 * m/hp9000s300.h:
7790 * m/iris4d.h:
7791 * s/aix3-1.h:
7792 * s/hpux.h:
7793 * s/msdos.h:
7794 * s/usg5-0.h:
7795 * s/usg5-2-2.h:
7796 * s/usg5-2.h:
7797 * s/usg5-3.h: Remove references to obsolete variables.
7798
7799 * s/irix5-0.h: Remove, move all the contents ...
7800 * s/irix6-5.h: ... here. Simplify.
7801 * config.in: Regenerate.
7802
78032008-02-24 Jason Rumney <jasonr@gnu.org>
7804
7805 * w32term.c (x_draw_glyph_string_background): Clear the background
7806 manually when cleartype is in use.
7807 (x_draw_glyph_string_foreground): Draw text transparently when
7808 cleartype is in use.
7809
7810 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
7811 a font into it unless we have to.
7812
78132008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
7814
7815 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
7816 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
d6c952f8 7817
aac0c6e3
MR
78182008-02-18 Jason Rumney <jasonr@gnu.org>
7819
7820 * w32fns.c (Fw32_shell_execute): Encode parameters.
7821
78222008-02-09 Eli Zaretskii <eliz@gnu.org>
7823
7824 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
7825
78262008-02-05 Juanma Barranquero <lekktu@gmail.com>
7827
7828 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
7829
78302008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
7831
7832 * xterm.c (x_set_offset): Don't change the gravity if
7833 CHANGE_GRAVITY is -1.
7834
78352008-02-23 Chong Yidong <cyd@stupidchicken.com>
7836
7837 * fileio.c (auto_save_error_occurred): New var.
7838 (auto_save_error): Set it.
7839 (Fdo_auto_save): Don't overwrite the error message if an auto-save
7840 error occurred.
7841
78422008-02-23 Eli Zaretskii <eliz@gnu.org>
7843
7844 * w32.c (globals_of_w32): Add initializations for
7845 g_b_init_get_sid_sub_authority and
7846 g_b_init_get_sid_sub_authority_count.
7847
78482008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
7849
7850 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
7851 (font_parse_xlfd): Use them for sanity check.
7852 (Finternal_set_font_style_table): Make sure the table is bijective.
7853
7854 Consolidate the image_cache to the terminal struct.
7855 * termhooks.h (P_): Remove redundant def.
7856 (struct terminal): New field `image_cache'.
7857 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
7858 of FRAME_X_IMAGE_CACHE.
7859 * xterm.h (struct x_display_info): Remove image_cache field.
7860 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7861 * w32term.h (struct w32_display_info): Remove image_cache field.
7862 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7863 * macterm.h (struct mac_display_info): Remove image_cache field.
7864 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7865 * xterm.c (x_term_init):
7866 * w32term.c (w32_term_init):
7867 * macterm.c (mac_term_init): Set the image_cache in the terminal.
7868 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
7869 Remove declarations.
7870 (clear_image_caches, mark_image_cache): New declarations.
7871 * xfaces.c (clear_face_cache):
7872 * xdisp.c (redisplay_internal): Use clear_image_caches.
7873 * image.c (clear_image_cache): Don't check that a frame is on
7874 a window-system before checking if it shares the same cache.
7875 (clear_image_caches): New function.
7876 (Fclear_image_cache): Use it.
7877 (mark_image): Move from allo.c.
7878 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
7879 * alloc.c (mark_image, mark_image_cache): Move to image.c.
7880 (mark_object): Don't call mark_image_cache for frames.
7881 (mark_terminals): Call mark_image_cache.
7882
7883 * lisp.h (Fdelete_terminal): Declare.
7884
7885 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
7886 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
7887 wrong_type_argument.
7888
78892008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
7890
7891 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
7892 malayalam.el, and tamil.el. Add sinhala.el.
7893
78942008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
7895
7896 * xterm.c (x_connection_closed): Consolidate identical tests.
7897 (x_delete_terminal): Don't crash if called via x_connection_closed.
7898
78992008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
7900
7901 * xdisp.c (decode_mode_spec): New arg string.
7902 (display_mode_element): Adjust for the above change.
7903
79042008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
7905
7906 * callint.c (Fcall_interactively): Use AREF.
7907
79082008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
7909
7910 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
7911
79122008-02-18 Jan Djärv <jan.h.d@swipnet.se>
7913
7914 * xfns.c (Fx_show_tip): Set string to " " if empty.
7915
79162008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
7917
7918 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
7919 with Qt.
7920
79212008-02-17 Kenichi Handa <handa@m17n.org>
7922
7923 * ftfont.c (ftfont_shape): Return Lispy number.
7924
7925 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
7926 for GCs.
7927 (Finternal_set_font_selection_order): Call font_update_sort_order
7928 only when enable_font_backend is set.
7929 (realize_x_face): Set face->font_info to that of default face only
7930 when enable_font_backend is set.
7931
7932 * xdisp.c (handle_composition_prop): Set it->c to the fist
7933 character of the composed region.
7934 (fill_composite_glyph_string): Set base_face->font_info to
7935 s->font_info. Get a face for ascii from base_face->ascii_face.
7936 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
7937 with a face already decided.
7938 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
7939 non-negative.
7940 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
7941 call font_prepare_composition unconditionally.
7942
7943 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
7944
7945 * xterm.h (struct x_display_info): New member font.
7946
7947 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
7948 (x_set_mouse_face_gc, x_new_font): Likewise.
7949 (x_term_init): Setup display_info->font.
7950 (x_delete_terminal): Free display_info->font.
7951
7952 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
7953
7954 * ftxfont.c (ftxfont_default_fid): Delete it.
7955 (ftxfont_open): Set xfont->fid to 0.
7956 (ftxfont_end_for_frame): Clear data specific to the frame and the
7957 font-driver.
7958
7959 * xftfont.c (xftfont_default_fid): Delete it.
7960 (xftfont_open): Set xfont->fid to 0.
7961
7962 * fontset.c (FONTSET_OBJLIST): New macro.
7963 (fontset_find_font): Update font-object list of the fontset.
7964 (free_realized_fontset): New function.
7965 (free_face_fontset): Call free_realized_fontset.
7966 (Ffont_info): Call font_close_object only when enable_font_backend
7967 is set.
7968
7969 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
7970 [HAVE_NTGUI]: Include w32term.h.
7971 [MAC_OS]: Include macterm.ch.
7972 (font_otf_ValueRecord): Use make_number.
7973 (font_finish_cache): Fix handling of reference count.
7974 (font_clear_cache): Update num_fonts.
7975 (font_open_entity): Update smallest_char_width and
7976 smallest_font_height of the frame.
7977 (font_close_object): Update num_fonts.
7978 (Fclear_font_cache): Fix finding the target cache data.
7979
79802008-02-16 Glenn Morris <rgm@gnu.org>
7981
7982 * fontset.c (Finternal_char_font): Fix compilation warning.
7983
79842008-02-16 Eli Zaretskii <eliz@gnu.org>
7985
7986 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
7987 instead of char arrays. Enlarge the size of array passed to
7988 get_token_information.
7989
7990 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
7991 warnings.
7992
79932008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
7994
7995 * .gdbinit: Don't set `args', it breaks gdb --args.
7996
79972008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
7998
7999 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
8000 within a narrowed buffer.
8001
80022008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
8003
8004 * coding.c (decode_coding_object, encode_coding_object):
8005 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
8006
80072008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
8008
8009 * coding.c (coding_set_destination): Use BEG_BYTE rather than
8010 hardcoding 1.
8011 (detect_coding_system):
8012 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
8013 (string_char_to_byte, string_byte_to_char, insert_from_gap):
8014 * insdel.c (insert_from_gap):
8015 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
8016 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
8017 (string_to_multibyte):
8018 * character.c (chars_in_text, multibyte_chars_in_text):
8019 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
8020
8021 * character.h (FETCH_STRING_CHAR_ADVANCE)
8022 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
8023 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
8024 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
8025
8026 * casefiddle.c (casify_region): Only call after-change and composition
8027 functions on the part of the region that was changed.
8028
8029 * keyboard.c (read_avail_input):
8030 * frame.c (Fdelete_frame): Call Fdelete_terminal.
8031
80322008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
8033
8034 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
8035 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
8036
80372008-02-11 Juanma Barranquero <lekktu@gmail.com>
8038
8039 * w32menu.c (push_submenu_start, push_submenu_end)
8040 (push_left_right_boundary, push_menu_pane, push_menu_item):
8041 * keyboard.c (read_key_sequence): Don't pass args with side effects
8042 to AREF, it fails when compiling with -DENABLE_CHECKING.
8043
80442008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
8045
8046 * Makefile.in (${lispsource}international/charprop.el):
8047 Delete this target.
8048
8049 * search.c (boyer_moore): Fix incorrect synching of the trunk and
8050 emacs-unicode-2.
8051
80522008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
8053
8054 * terminal.c (Fdelete_terminal): Clean up the `force' path.
8055
80562008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
8057
8058 * frame.c (Qnoelisp): New symbol.
8059 (syms_of_frame): Initialize it.
8060 (Fdelete_frame): Use it to distinguish a mere `force' passed from some
8061 harmless Elisp code, from a strong `force' from x_connection_closed.
8062 * frame.h (Qnoelisp): Declare.
8063 * xterm.c (x_connection_closed): Pass `noelisp'.
8064
8065 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
8066 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
8067 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
8068 rather than `int' for the type of `type'.
8069
80702008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
8071
8072 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
8073
8074 * Makefile.in (GNUC): Remove support for gcc-1.x.
8075
80762008-02-10 Richard Stallman <rms@gnu.org>
8077
8078 * lisp.h (ASET): Use AREF, not ASLOT.
8079
80802008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
8081
8082 * lisp.h (ASET): Check bounds.
8083
80842008-02-10 Glenn Morris <rgm@gnu.org>
8085
8086 * buffer.c (mode-name): Doc fix.
8087
80882008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
8089
8090 * Makefile.in:
8091 * emacs.c:
8092 * gmalloc.c:
8093 * keyboard.c:
8094 * lisp.h:
8095 * m/ibm370aix.h:
8096 * process.c:
8097 * regex.c:
8098 * s/hpux.h:
8099 * sysdep.c:
8100 * sysselect.h:
8101 * systty.h:
8102 * unexec.c:
8103 * w32term.c:
8104 * xsmfns.c:
8105 * xterm.c: Remove code that deals with obsolete variables.
8106
8107 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
8108
8109 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
8110 nothing else needs it anymore.
8111
81122008-02-09 Eli Zaretskii <eliz@gnu.org>
8113
8114 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
8115 instead of unibyte_char_to_multibyte.
8116
81172008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
8118
8119 * s/gnu-linux.h: Remove commented out code.
8120
8121 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
8122
8123 * Makefile.in: Update what RMS says about using autoconf.
8124 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
8125 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
8126 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
8127 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
8128
81292008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
8130
8131 * keymap.c (Fkey_description): Move side effect outside of macro call.
8132
8133 * xfaces.c (Finternal_make_lisp_face):
8134 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
8135
8136 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
8137 (syms_of_fontset): Use ASET.
8138
8139 * fns.c (concat): Move side effect outside of macro call.
8140 (hash_clear): Use ASET.
8141
81422008-02-08 Richard Stallman <rms@gnu.org>
8143
8144 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
8145 If FORCE, and frame has a surrogate minibuffer for another frame,
8146 delete the other frame first.
8147
81482008-02-07 Timo Savola <timo.savola@iki.fi>
8149
8150 * xterm.c (x_detect_focus_change): Handle embed client message.
8151 (handle_one_xevent): Ditto.
8152 (handle_one_xevent): If embedded and we get a button press/release,
8153 request focus.
8154 (xembed_set_info, xembed_send_message): New functions.
8155 (x_make_frame_visible): Call xembed_set_info if embedded.
8156 (x_make_frame_invisible): Call xembed_set_info if embedded.
8157 (x_term_init): Initialize Xatom_XEMBED.
8158 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
8159 (x_iconify_frame): Ditto.
8160
8161 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
8162 (enum xembed_info, enum xembed_message, enum xembed_focus)
8163 (enum xembed_modifier, enum xembed_accelerator): New.
8164 (xembed_set_info, xembed_send_message): Declare.
8165 (FRAME_X_EMBEDDED_P): New.
8166
8167 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
8168 gtk_plug_new.
8169
8170 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
8171 window ID of a frame.
8172 (x_window): Reparent frame if embedded.
8173 (Fx_create_frame): Don't set border width if embedded.
8174
8175 * emacs.c (USAGE3): Add --parent-id.
8176 (standard_args): Ditto.
8177
81782008-02-07 Jan Djärv <jan.h.d@swipnet.se>
8179
8180 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
8181
81822008-02-07 Jim Meyering <meyering@redhat.com>
8183
8184 Use "do...while (0)", not "if (1)...else" in macro definitions.
8185 The latter provokes a warning from gcc about the empty else, when
8186 followed by ";". Also, without that trailing semicolon, it would
8187 silently swallow up any following statement.
8188 * syntax.h (SETUP_SYNTAX_TABLE)
8189 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
8190 * buffer.h (DECODE_POSITION): Likewise.
8191 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
8192 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
8193 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
8194 (FETCH_CHAR_ADVANCE): Likewise.
8195 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
8196
81972008-02-07 Jim Meyering <meyering@redhat.com>
8198
8199 * lread.c [lint]: Don't include <sys/inode.h>.
8200
82012008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
8202
8203 * xselect.c (x_handle_dnd_message):
8204 * xmenu.c (digest_single_submenu, xmenu_show):
8205 * xdisp.c (with_echo_area_buffer_unwind_data)
8206 (format_mode_line_unwind_data, unwind_format_mode_line)
8207 (display_menu_bar):
8208 * eval.c (Ffetch_bytecode):
8209 * doc.c (store_function_docstring):
8210 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
8211 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
8212 * buffer.c (add_overlay_mod_hooklist): Use ASET.
8213
82142008-02-07 Kenichi Handa <handa@m17n.org>
8215
8216 * ftxfont.c (ftxfont_open): Don't set
8217 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
8218
8219 * ftfont.c (ftfont_open): Fix previous change.
8220
82212008-02-06 Jason Rumney <jasonr@gnu.org>
8222
8223 * w32font.c (w32font_text_extents): Fill in lbearing metric.
8224 Use cached metrics for ASCII characters.
8225 (w32font_open_internal): Don't set font's owning_frame.
8226 Cache metrics for ASCII characters.
8227
8228 * w32font.h (struct w32font_info): Add ascii_metrics.
8229 Remove owning_frame.
8230
82312008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
8232
8233 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
8234 to negative value.
8235
8236 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
8237
8238 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
8239
8240 * charset.c (syms_of_charset): Set QCtest and Qeq.
8241
82422008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
8243
8244 * process.c (Fstart_process):
8245 * callproc.c (Fcall_process): Handle the case where
8246 Funhandled_file_name_directory returns nil.
8247
8248 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
8249 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
8250 * font.c (check_gstring): Use them and AREF to access the vector before
8251 we know it's really a gstring.
8252 (Ffont_shape_text): Fix typo.
8253 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Oject mixups.
8254
8255 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
8256 Declare.
8257
8258 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
8259
82602008-02-05 Jason Rumney <jasonr@gnu.org>
8261
8262 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
8263 Set smallest_font_height and smallest_char_width in display info.
8264
82652008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
8266
8267 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
8268
82692008-02-05 Miles Bader <miles@gnu.org>
8270
8271 * xfaces.c (get_lface_attributes, merge_named_face)
8272 (lookup_named_face, lookup_derived_face, realize_named_face):
8273 Revert 2008-02-01 change by cyd@stupidchicken.com.
8274
82752008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
8276
8277 * fontset.c (Ffontset_info): Handle the case of inhibitting the
8278 fallback fonts.
8279 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
8280
82812008-02-04 Jason Rumney <jasonr@gnu.org>
8282
8283 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
8284 set full_name.
8285 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
8286
82872008-02-03 Jason Rumney <jasonr@gnu.org>
8288
8289 * makefile.w32-in (OBJ1): Include font.o here.
8290 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
8291
82922008-02-02 Jason Rumney <jasonr@gnu.org>
8293
8294 * makefile.w32-in (temacs): Bump EMHEAP to 21.
8295
82962008-02-01 Jason Rumney <jasonr@gnu.org>
8297
8298 * s/cygwin.h: Define VIRT_ADDR_VARIES.
8299
8300 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
8301
83022008-02-01 Andreas Schwab <schwab@suse.de>
8303
8304 * Makefile.in (shortlisp, lisp): Update for rename of
8305 ../lisp/language/myanmar.el.
8306
83072008-02-01 Chong Yidong <cyd@stupidchicken.com>
8308
8309 * xfaces.c (get_lface_attributes): Delete function.
8310 (merge_named_face, lookup_named_face, lookup_derived_face)
8311 (realize_named_face): Call lface_from_face_name directly, and use
8312 the fact that merge_face_vectors does not alter its FROM argument.
8313
83142008-02-01 Jason Rumney <jasonr@gnu.org>
8315
8316 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
8317 input in the default locale. Handle non-Unicode multibyte input.
8318
83192008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8320
8321 * fontset.c (reorder_font_vector): Exclude nil elements from the
8322 font group. Don't try multiple fonts.
8323 (fontset_font): Adjust for the above change.
8324 (Finternal_char_font): Return nil if the found font doesn't
8325 contain the character ch.
8326
8327 * Makefile.in (lisp, shortlisp): Add cham.el.
8328
83292008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8330
8331 * font.h (FONTP): Make it return 1 also for a font-object.
8332
8333 * .gdbinit (xfontset): New function.
8334
8335 * font.c (font_find_for_lface): Check if the character C is
8336 supported or not only for the first font.
8337
8338 * fontset.c (reorder_font_vector): Fix typo.
8339 (fontset_find_font): Don't add a font-spec specifying a script.
8340 Use 0 (not Qt) for the indication of empty font-group. Change the
8341 format of RFONT-DEF. Return Qt if no font in the font-group
8342 support the character.
8343 (fontset_font): Adjust for the above change. If no font was
8344 found the character, remember that.
8345 (face_for_char): Adjust for the change of RFONT-DEF.
8346 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
8347 no font for the target.
8348 (Finternal_char_font): Adjust for the change of RFONT-DEF.
8349
83502008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8351
8352 * font.c (font_load_for_face): Handle the case that the font in
8353 face->lface is a string.
8354
83552008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8356
8357 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
8358
83592008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8360
8361 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
8362 Fix previous change. If the frame is not on a window system,
8363 signal an error.
8364
83652008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8366
8367 * coding.c (decode_coding_object, encode_coding_object): Adjust
8368 marker positions after conversion.
8369
8370 * lisp.h (struct Lisp_Marker): New member need_adjustment.
8371
83722008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8373
8374 * font.c (font_find_for_lface): Fix the handling of the return
8375 value of font_has_char.
8376 (Ffont_shape_text): Fix previous change.
8377
8378 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
8379 (fontset_ref_and_range): Delete it.
8380 (fontset_find_font): Call char_table_ref_and_range instead of
8381 FONTSET_REF_AND_RANGE.
8382 (make_fontset): Don't setup font groups of Latin here.
8383 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
8384 (new_fontset_from_font): Make the specified font the default for
8385 all Latin characters.
8386
83872008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8388
8389 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
8390 is on a window system before accessing the fontset of the frame.
8391
83922008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8393
8394 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
8395
8396 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
8397 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
8398
8399 * font.c (Ffont_shape_text): If the font driver doesn't have a
8400 shaper function, make zero-width glyphs to have at least one-pixel
8401 width. Fix setting of `to' field of glyphs.
8402
84032008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8404
8405 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
8406 glyphs.
8407
8408 * font.h (struct font_driver): Improve docstring of member `shape'.
8409
84102008-02-01 Kenichi Handa <handa@m17n.org>
8411
8412 * composite.c (syms_of_composite): Fix docstring of
8413 auto-composition-function.
8414
8415 * font.h (LGLYPH_SIZE): New macro.
8416
8417 * font.c (Ffont_fill_gstring): Stop filling when a character not
8418 supported by the font is found.
8419 (Ffont_shape_text): When a shape callback function returns nil,
8420 try at most two more times with larger gstring.
8421 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
8422
8423 * xdisp.c (handle_auto_composed_prop): Change the argument to
8424 auto-composition-function.
8425
8426 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
8427 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
8428 Lispy glyph and store it in the lgstring.
8429
8430 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
8431
8432 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
8433
84342008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8435
8436 * font.c (Ffont_shape_text): Avoid unnecessary composition.
8437
8438 * fontset.c (Vfont_encoding_charset_alist): New variable.
8439 (syms_of_fontset): DEFVAR it.
8440 (reorder_font_vector, fontset_find_font): Optimize for the case of
8441 no need of reordering.
8442 (face_for_char): Map the charset property by
8443 Vfont_encoding_charset_alist.
8444
84452008-02-01 Jason Rumney <jasonr@gnu.org>
8446
8447 * w32font.c (logfonts_match): Don't check adstyle here.
8448 (font_matches_spec): Check here against physical font instead.
8449 (add_font_entity_to_list): Avoid some substitutions.
8450
8451 * font.c (font_parse_fcname): Default weight and slant to normal.
8452 (font_score): Prefer normal fonts if weight or slant unspecified.
8453 (font_score) [WINDOWSNT]: Scale weight difference down to closer
8454 match freetype scores.
8455
84562008-02-01 Jason Rumney <jasonr@gnu.org>
8457
8458 * w32font.c (w32font_text_extents): Don't use the frame stored in the
8459 font, as it may have been deleted.
8460 (w32_enumfont_pattern_entity): Map generic family to adstyle using
8461 most common hyphenless variation.
8462 (logfonts_match): Check generic family.
8463 (font_matches_spec): Don't check generic family here.
8464 (fill_in_logfont): Set generic family based on adstyle.
8465
8466 * w32font.h (w32font_get_cache): Update declaration.
8467
84682008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8469
8470 * ftfont.c (ftfont_get_cache): Adjust the argument type.
8471
8472 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
8473 If none of the new drivers are available, call font_update_drivers
8474 with the old drivers.
8475
8476 * w32font.c (w32font_get_cache): Adjust the argument type.
8477
8478 * xfont.c (xfont_get_cache): Adjust the argument type.
8479
8480 * font.h (struct font_driver): Change argument type of get_cache.
8481
8482 * xftfont.c (xftfont_start_for_frame): Delete prototype.
8483
8484 * font.c (Ffont_get): Fix arguments to Fassoc.
8485 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
8486 (font_clear_cache): New function.
8487 (font_list_entities, font_matching_entity): Use font_get_cache.
8488 (font_update_drivers): Call font_clear_cache when finishing a driver.
8489
8490 * fontset.c (fontset_find_font): Fix previous change.
8491
84922008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8493
8494 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
8495 dpyinfo->font_table.
8496 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
8497 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
8498
8499 * font.c (font_at): Handle the case that the arg C is negative.
8500 Handle the unibyte case.
8501 (Ffont_at): Call font_at with the arg C -1.
8502
8503 * xdisp.c (handle_auto_composed_prop): Don't get a character at
8504 the position here, and call font_at with the arg C -1.
8505 Don't check the range of the existing composition at the point.
8506
85072008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8508
8509 * fontset.c (fontset_add): New args charset_id and family.
8510 Change caller.
8511 (load_font_get_repertory, fontset_find_font): Assume that
8512 font_spec is always a font-spec object.
8513 (Fset_fontset_font): Always store a font-spec object in a fontset.
8514
8515 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
8516 instead of get_property_and_range.
8517
85182008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8519
8520 * xftfont.c (struct xftfont_info): Delete the member ft_face.
8521 (xftfont_open): Don't keep locking face.
8522 (xftfont_close): Don't unlock face.
8523 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
8524
8525 * fontset.c (fontset_find_font): Don't prefer a font of
8526 supplementary charset.
8527
85282008-02-01 Kenichi Handa <handa@m17n.org>
8529
8530 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
8531 script, langsys_tag to langsys, new member script.
8532 (OTF_TAG_STR): Terminate by '\0'.
8533 (ftfont_get_open_type_spec): If :otf prop is is spec, Limit the
8534 listing to the script specified in that property. Fix arg to
8535 OTF_check_features.
8536
85372008-02-01 Jason Rumney <jasonr@gnu.org>
8538
8539 * w32font.h: New file.
8540
8541 * w32font.c: Include it.
8542 (struct w32font_info): Add owning_frame field. Move to w32font.h.
8543 (w32font_open): Set owning_frame.
8544 (w32font_text_extents): Use owning_frame.
8545 (struct font_callback_data): Add opentype_only field.
8546 (add_font_entity_to_list): Use it to filter fonts.
8547 Don't check against full name.
8548 (w32font_list_internal): New function.
8549 (w32font_list): Use it.
8550 (w32font_match_internal): New function.
8551 (w32font_match): Use it.
8552 (w32font_open_internal): New function.
8553 (w32font_open): Use it.
8554 (w32font_get_cache, w32font_close, w32font_has_char)
8555 (w32font_encode_char, w32font_text_extents, w32font_draw):
8556 Make non-static.
8557
8558 * makefile.w32-in (w32font.o): Depend on w32font.h.
8559
85602008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8561
8562 * charset.c (Fdefine_charset_internal): Record a supplementary
8563 charset at the tail of Vcharset_order_list.
8564
8565 * font.c (Ffont_shape_text): Fix the return value.
8566
8567 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
8568
8569 * xdisp.c (handle_auto_composed_prop): Fix previous change.
8570
85712008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8572
8573 * ftfont.c (struct OpenTypeSpec): New struct.
8574 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
8575 (ftfont_get_open_type_spec): New function.
8576 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
8577
8578 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
8579
85802008-02-01 Jason Rumney <jasonr@gnu.org>
8581
8582 * w32font.c (add_font_entity_to_list): Compare only the beginning
8583 of full name.
8584
85852008-02-01 Kenichi Handa <handa@m17n.org>
8586
8587 * xdisp.c (handle_auto_composed_prop): Simplify the code.
8588 Never return HANDLED_RECOMPUTE_PROPS.
8589
85902008-02-01 Kenichi Handa <handa@m17n.org>
8591
8592 * font.c (font_gstring_produce): Delete it.
8593
8594 * composite.h (COMPOSITION_METHOD):
8595 Handle COMPOSITION_WITH_GLYPH_STRING.
8596
85972008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8598
8599 * xfont.c (Qx): Delete.
8600 (syms_of_xfont): Don't initialize Qx.
8601
8602 * composite.h (enum composition_method):
8603 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
8604
86052008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8606
8607 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
8608 (choose_face_font): Accept new form of font-spec.
8609
8610 * frame.h (font_driver_list): Declare it unconditionally.
8611 (struct frame): Define members font_driver_list and font_data_list
8612 unconditionally.
8613
8614 * fontset.c: Include "font.h" unconditionally.
8615 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
8616 (Fset_fontset_font): Accept a font-spec object.
8617
8618 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
8619 PIXEL_SIZE part a wild card.
8620
8621 * dispextern.h (struct glyph_string): Define members clip and
8622 num_clips unconditionally.
8623 (struct face): Define members font_info and extra unconditionally.
8624
8625 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
8626 ftfont_info only when HAVE_LIBOTF is defined.
8627
86282008-02-01 Andreas Schwab <schwab@suse.de>
8629
8630 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
8631 and end.
8632
86332008-02-01 Jason Rumney <jasonr@gnu.org>
8634
8635 * w32font.c (w32font_driver): Add new fields.
8636
86372008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8638
8639 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
8640 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
8641 (LIBES): Add @M17N_FLT_CFLAGS@.
8642
8643 * composite.c (compose_text): Don't treat the new style
8644 composition specially.
8645
8646 * emacs.c (main): Call syms_of_font unconditionally.
8647
8648 * font.h (FONT_ENTITY_NOT_LOADABLE)
8649 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
8650 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
8651 (struct font_driver): New member shape.
8652 (font_registry_charsets): Extern it.
8653 (font_find_for_lface, font_prepare_composition): Adjust prototype.
8654 (font_otf_capability, font_drive_otf): Delete their externs.
8655
8656 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
8657 (font_charset_alist, font_registry_charsets): Move from xfont.c
8658 and rename.
8659 (font_prop_validate_otf): New function.
8660 (font_property_table): Register it for QCotf.
8661 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
8662 (font_drive_otf): Delete.
8663 (font_prepare_composition): New arg F. Adjust for the change of
8664 lispy gstring.
8665 (font_find_for_lface): New arg C.
8666 (font_load_for_face): Adjust for the change of font_find_for_lface.
8667 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
8668 lispy gstring.
8669 (Ffont_shape_text): New function.
8670 (Fopen_font): If the font size is not given, use 12-pixel.
8671 (Ffont_at): New arg STRING.
8672 (syms_of_font): Initalize font_charset_alist.
8673 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
8674 conditionally.
8675
8676 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
8677 fonts of the same font-spec. Change the format of RFONT-DEF.
8678 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
8679 Adjust for the change of RFONT-DEF.
8680 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
8681
8682 * ftfont.h: New file.
8683
8684 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
8685 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
8686 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
8687 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
8688 font_otf_capability and font_drive_otf, set ftfont_shape.
8689 (ftfont_list): Adjust for the change of :otf property value.
8690 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
8691 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
8692 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
8693 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
8694 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
8695 (otf_gstring, gstring, m17n_flt_initialized): New variables.
8696
8697 * w32term.c (x_draw_composite_glyph_string_foreground):
8698 Adjust for the change of lispy gstring.
8699
8700 * xdisp.c (handle_composition_prop): Adjust for the change of
8701 lispy gstring. Call a function for auto-composition with the
8702 third arg it->window.
8703 (fill_composite_glyph_string): Adjust for the change of lispy string.
8704 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
8705
8706 * xfaces.c (set_font_frame_param): Adjust for the change of
8707 font_find_for_lface.
8708
8709 * xfont.c (x_font_charset_alist): Move to font.c and rename.
8710 (xfont_registry_charsets): Likewise. Change caller.
8711 (syms_of_xfont): Don't handle x_font_charset_alist.
8712
8713 * xftfont.c: Include "ftfont.h".
8714 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
8715 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
8716 (xftfont_close) [HAVE_LIBOTF]: Close otf.
8717 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
8718 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
8719 Set xftfont_driver.shape to xftfont_shape.
8720
8721 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
8722 the change of lispy gstring.
8723
87242008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8725
8726 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
8727
87282008-02-01 Jason Rumney <jasonr@gnu.org>
8729
8730 * w32font.c (w32font_draw): Fill background manually.
8731
87322008-02-01 Jason Rumney <jasonr@gnu.org>
8733
8734 * font.c (Qfontp): Remove unused symbol.
8735 (QCantialias): New symbol.
8736 (syms_of_font): Define it.
8737 (font_property_table): Set a validator for QCantialias.
8738
8739 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
8740 Define if not already.
8741 (QCfamily): Share with xfaces.c.
8742 (Qstandard, Qsubpixel, Qnatural): New symbols.
8743 (syms_of_w32font): Define them. Don't define QCfamily here.
8744 (w32_antialias_type, lispy_antialias_type): New functions.
8745 (w32_enumfont_pattern_entity): New arg requested_font.
8746 Set antialias parameter if non-default was requested.
8747 (fill_in_logfont): Fill in lfQuality if :antialias specified.
8748
87492008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8750
8751 * lread.c (read1): Undo the previous change.
8752
87532008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
8754
8755 * frame.c (Fdelete_frame): Call font_update_drivers only when
8756 USE_FONT_BACKEND is defined.
8757
87582008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8759
8760 * font.h (struct font_bitmap): New member bits_per_pixel.
8761 (struct font_driver): New members start_for_frame and end_for_frame.
8762 (struct font_data_list): New struct.
8763 (font_put_frame_data, font_get_frame_data): Extern them.
8764
8765 * frame.h (struct frame): New member font_data_list.
8766
8767 * font.c (font_update_drivers): Call driver->start_for_frame and
8768 driver->end_for_frame at proper timings.
8769 (font_put_frame_data, font_get_frame_data): New functions.
8770 (Ffont_spec): Add usage in the docstring.
8771
8772 * frame.c (make_frame): Initialize f->font_data_list to NULL.
8773 (Fdelete_frame): Call font_update_drivers.
8774
8775 * xftfont.c (struct xftface_info): Delete the member xft_draw.
8776 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
8777 (xftfont_get_xft_draw): New function.
8778 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
8779 (xftfont_end_for_frame): New function.
8780 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
8781
8782 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
8783 Change argument. Cache GCs in the per-frame data.
8784 (struct ftxfont_frame_data): New struct.
8785 (ftxfont_draw_bitmap): New arg gc_fore and flush.
8786 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
8787 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
8788 (ftxfont_end_for_frame): New function.
8789 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
8790
8791 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
8792
87932008-02-01 Kenichi Handa <handa@m17n.org>
8794
8795 * xselect.c (Vselection_coding_system)
8796 (Vnext_selection_coding_system): Delete them.
8797 (syms_of_xselect): Don't declare selection-coding-system and
8798 next-selection-coding-system. They are declared in select.el.
8799
88002008-02-01 Jason Rumney <jasonr@gnu.org>
8801
8802 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
8803
8804 * w32fns.c: Include imm.h.
8805 (get_composition_string_fn, get_ime_context_fn): New optional
8806 system functions.
8807 (globals_of_w32fns): Load them from imm32.dll.
8808 (ignore_ime_char): New flag.
8809 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
8810 WM_IME_ENDCOMPOSITION messages.
8811
8812 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
8813 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
8814
88152008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8816
8817 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
8818 (READCHAR_REPORT_MULTIBYTE): New macro.
8819 (readchar): New 2nd arg MULTIBYTE.
8820 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
8821 Make symbol's name multibyte according to the multibyteness of the
8822 source.
8823
88242008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8825
8826 * xfaces.c (face_for_overlay_string): Call lookup_face with
8827 correct arguments (fix of synching with the trunk).
8828
88292008-02-01 Kenichi Handa <handa@m17n.org>
8830
8831 * font.c (font_prop_validate_symbol, font_prop_validate_style)
8832 (font_prop_validate_non_neg, font_prop_validate_spacing):
8833 Delete argument prop_index.
8834 (font_property_table): Change arguments to validater. Change Callers.
8835 (font_lispy_object): Delete.
8836 (font_at): Use font_find_object instead fo font_lispy_object.
8837
88382008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8839
8840 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
8841 and file names.
8842
88432008-02-01 Jason Rumney <jasonr@gnu.org>
8844
8845 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
8846 (font_matches_spec): Remove debug output.
8847 (add_font_entity_to_list): Avoid using substituted fonts.
8848
88492008-02-01 Jason Rumney <jasonr@gnu.org>
8850
8851 * doc.c (Fsnarf_documentation):
8852 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
8853
88542008-02-01 Miles Bader <miles@gnu.org>
8855
8856 * dispextern.h (struct glyph_row): Only define "clip" field if
8857 HAVE_WINDOW_SYSTEM is defined.
8858
88592008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
8860
8861 Fix up multi-tty merge.
8862
8863 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
8864 and indentation.
8865
8866 * xfaces.c (free_realized_face, clear_face_gcs):
8867 Include font_done_for_face in the input_blocked section, just in case.
8868
8869 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
8870 (get_char_face_and_encoding): Undo last change and remove the *other*
8871 duplicate definition (i.e. keep the one that's better scoped and that
8872 includes code for the font-backend).
8873
8874 * terminal.c (create_terminal): Default keyboard_coding to
8875 `no-conversion' and terminal_coding to `undecided'.
8876
8877 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
8878
8879 * fontset.c (free_realized_fontsets): Check that the table entry does
8880 contain a fontset before trying to compare it to `base'.
8881
8882 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
8883 syms_of_charset, and syms_of_coding earlier because init_window_once
8884 now needs Vcoding_system_hash_table to be setup.
8885
8886 * coding.h (default_buffer_file_coding): Remove.
8887
8888 * coding.c (default_buffer_file_coding): Remove.
8889 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
8890 than ->symbol, and use the terminal-local coding system.
8891 (syms_of_coding): Don't setup the coding-systems that are not
8892 terminal-local.
8893 (Fdefine_coding_system_internal): Use XCAR/XCDR.
8894
8895 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
8896 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
8897
8898 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
8899 in chartab.c and were re-added here by mistake.
8900 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
8901
8902 * doc.c (Fsnarf_documentation):
8903 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
8904 src to etc.
8905
8906 * ChangeLog.10: Add mistakenly removed entry.
8907
89082008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
8909
8910 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
8911
89122008-02-01 Miles Bader <miles@gnu.org>
8913
8914 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
8915 Add extra args to FACE_FOR_CHAR.
8916
89172008-02-01 Kenichi Handa <handa@m17n.org>
8918
8919 * keymap.c (where_is_internal_1): If key is a cons, store the copy
8920 in sequence.
8921
8922 * chartab.c (map_sub_char_table, map_char_table): If the range
8923 contains just one character, call the function with that character
8924 even if the depth is not 3.
8925
89262008-02-01 Jason Rumney <jasonr@gnu.org>
8927
8928 * w32font.c (w32font_text_extents): Calculate metrics for the
8929 whole string.
8930
89312008-02-01 Jason Rumney <jasonr@gnu.org>
8932
8933 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
8934
89352008-02-01 Jason Rumney <jasonr@gnu.org>
8936
8937 * w32term.c (x_set_glyph_string_clipping): Use
8938 get_glyph_string_clip_rects.
8939 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
8940 Adjust for the change of struct glyph_string.
8941
8942 * w32font.c (w32font_draw): Do clipping here.
8943
89442008-02-01 Kenichi Handa <handa@m17n.org>
8945
8946 * xftfont.c (xftfont_draw): Adjust for the change of struct
8947 glyph_string.
8948
8949 * xterm.c (x_set_glyph_string_clipping): Use
8950 get_glyph_string_clip_rects.
8951 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
8952 Adjust for the change of struct glyph_string.
8953
8954 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
8955 the resulting clip(s}.
8956 (expose_overlaps): Add arg r. Change callers. Set it to
8957 row->clip temporarily.
8958 (expose_window): Redraw rows overlapping the exposed area.
8959
8960 * dispextern.h (struct glyph_row): New member clip.
8961 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
8962 clip_height, new member clip, and num_clips.
8963
89642008-02-01 Kenichi Handa <handa@m17n.org>
8965
8966 * data.c (Fchar_or_string_p): Fix docstring.
8967
89682008-02-01 Kenichi Handa <handa@m17n.org>
8969
8970 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
8971 create a temporary XftDraw object.
8972
89732008-02-01 Kenichi Handa <handa@m17n.org>
8974
8975 * font.c (Ffontp): Fix docstring.
8976
8977 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
8978 strong evidence of ISO-2022.
8979
89802008-02-01 Kenichi Handa <handa@m17n.org>
8981
8982 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
8983 SYNTAX_ENTRY_FOLLOW_PARENT.
8984
89852008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
8986
8987 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
8988 its type.
8989 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
8990 Update to the new type of weak_hash_tables and next_weak.
8991
8992 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
8993 a plain C pointer to Lisp_Hash_Table.
8994
8995 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
8996 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
8997 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
8998 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
8999 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
9000 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
9001 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
9002 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
9003 (GC_EQ): Remove since they've been identical to their non-GC_
9004 alter-egos ever since the markbit was eradicated.
9005
9006 * alloc.c:
9007 * buffer.c:
9008 * buffer.h:
9009 * data.c:
9010 * fileio.c:
9011 * filelock.c:
9012 * fns.c:
9013 * frame.h:
9014 * lisp.h:
9015 * macterm.c:
9016 * print.c:
9017 * process.c:
9018 * w32fns.c:
9019 * w32menu.c:
9020 * w32term.c:
9021 * xfns.c:
9022 * xmenu.c:
9023 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
9024
90252008-02-01 Kenichi Handa <handa@m17n.org>
9026
9027 * chartab.c (map_sub_char_table): Make it work for the top-level
9028 char-table. Fix handling of parent char-table.
9029 (map_char_table): Adjust for the above change.
9030
90312008-02-01 Jason Rumney <jasonr@gnu.org>
9032
9033 * w32font.c (Qgdi): Rename from Qw32.
9034
90352008-02-01 Jason Rumney <jasonr@gnu.org>
9036
9037 * w32bdf.c (get_quoted_string): Make function static.
9038
90392008-02-01 Kenichi Handa <handa@m17n.org>
9040
9041 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
9042 bigger ascent and descent than those of the font, use them as
9043 font's ascent and descent.
9044
90452008-02-01 Kenichi Handa <handa@m17n.org>
9046
9047 * Makefile.in (${lispsource}international/charprop.el): Move this
9048 target within "#ifdef HAVE_UNIDATA" and "#endif".
9049
90502008-02-01 Kenichi Handa <handa@m17n.org>
9051
9052 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
9053 (shortlisp): Add ../lisp/language/tai-viet.el.
9054
90552008-02-01 Ulrich Mueller <ulm@gentoo.org>
9056
9057 * Makefile.in (${lispsource}international/charprop.el): Depend on
9058 temacs${EXEEXT}.
9059
90602008-02-01 Jason Rumney <jasonr@gnu.org>
9061
9062 * w32font.c (w32font_close): Delete the GDI font object.
9063
9064 * w32menu.c: Include character.h.
9065
9066 * w32proc.c: Likewise.
9067
9068 * w32select.c: Likewise.
9069
9070 * makefile.w32-in (w32proc.o): Depend on character.h.
9071
90722008-02-01 Jason Rumney <jasonr@gnu.org>
9073
9074 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
9075
9076 * w32menu.c (syms_of_w32menu): Likewise.
9077
9078 * w32proc.c (syms_of_ntproc): Likewise.
9079
9080 * w32select.c (syms_of_w32select): Likewise.
9081
9082 * w32term.c (syms_of_w32term): Likewise.
9083
90842008-02-01 Jason Rumney <jasonr@gnu.org>
9085
9086 * w32font.c (w32font_draw): Delete brush after using it.
9087
90882008-02-01 Jason Rumney <jasonr@gnu.org>
9089
9090 * w32font.c (w32font_open): Don't set font_idx.
9091 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
9092 to font settings.
9093 (w32font_draw): Fill background explicitly.
9094
90952008-02-01 Jason Rumney <jasonr@gnu.org>
9096
9097 * w32term.c (w32_initialize): Don't call w32font_initialize.
9098
9099 * w32font.c (w32font_info): Remove subranges.
9100 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
9101 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
9102 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
9103 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
9104 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
9105 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
9106 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
9107 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
9108 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
9109 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
9110 New symbols.
9111 (font_callback_data): New struct.
9112 (w32font_list, w32font_match): Use it.
9113 (w32font_open): Don't populate subranges.
9114 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
9115 (w32font_encode_char): Always return unicode code-point as-is.
9116 (w32font_text_extents): Supply a transformation matrix to
9117 GetGlyphOutline. Never look up by glyph index. Avoid looping
9118 twice. Use unicode version of GetTexExtentPoint32 instead of
9119 glyph index version.
9120 (set_fonts_frame): Remove.
9121 (w32_enumfont_pattern_entity): Add frame parameter, use it to
9122 set frame parameter. Use backward compatible fake foundries.
9123 Save generic family in extra slot under QCfamily. Make width slot
9124 constant. Save QCspacing value. Save list of scripts instead of
9125 binary subranges.
9126 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
9127 (add_font_entity_to_list): Use font_callback_data struct. Filter
9128 unwanted fonts.
9129 (add_one_font_entity_to_list): Use font_callback_data struct.
9130 (w32_registry): Default to iso10646_1.
9131 (fill_in_logfont): Use dpi from extra slot. Don't bother with
9132 string font registries. Don't fill in font name if it is a generic
9133 family name, fill family instead. Use spacing, family and script
9134 extra info to fill pitch, family and charset fields.
9135 (list_all_matching_fonts): Use font_callback_data struct.
9136 (unicode_range_for_char): Remove.
9137 (font_supported_scripts): New function.
9138 (w32font_initialize): Remove.
9139 (syms_of_w32font): Update which symbols are defined.
9140
91412008-02-01 Jason Rumney <jasonr@gnu.org>
9142
9143 * font.c (font_pixel_size): Reverse assq_no_quit args.
9144
9145 * w32term.h (FONT_WIDTH): Report max width, not average.
9146 (FONT_MAX_WIDTH): Remove.
9147 (FONT_AVG_WIDTH): New macro.
9148
9149 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
9150 redefinition of FONT_WIDTH.
9151
9152 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
9153 (w32_cache_char_metrics): Use FONT_WIDTH.
9154
9155 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
9156
91572008-02-01 Jason Rumney <jasonr@gnu.org>
9158
9159 * w32font.c (w32font_open): Make lfHeight negative.
9160
9161 * w32fns.c (x_default_font_parameter): Use new style font name.
9162 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
9163
91642008-02-01 Jason Rumney <jasonr@gnu.org>
9165
9166 * w32font.c (QCsubranges): New symbol.
9167 (w32font_open, w32font_has_char): Get subranges from subproperty
9168 of extra.
9169 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
9170 (syms_of_w32font): Define :subranges symbol.
9171
9172 * font.c (font_put_extra): Expose externally.
9173
9174 * font.h (font_put_extra): Move declaration from font.c.
9175
9176 * font.c (Ffont_get): Use font driver to determine otf capability.
9177 (adjust_anchor): Check if driver defines anchor_point before using.
9178
9179 * w32font.c (w32font_open): Handle size, height and pixel_size better.
9180 (w32font_draw): Use options.
9181 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
9182 Fix detection of truetype fonts.
9183 (registry_to_w32_charset): Handle charsets other than iso8859-1
9184 expressed as lisp symbols.
9185 (w32_registry): Express charset as lisp symbol.
9186 (fill_in_logfont): Reverse pixel and point height logic.
9187 Don't set width here. Set quality to default.
9188
9189 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
9190 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
9191
9192 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
9193 Remove redundant loop and allocation.
9194
9195 * makefile.w32-in (font.o, w32font.o): New objects.
9196 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
9197 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
9198
9199 * xdisp.c (fill_composite_glyph_string): Make the first arg to
9200 STORE_XCHARB a valid l-value.
9201
9202 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
9203 calculations for non-Truetype fonts.
9204 (x_draw_glyph_string): Sync with xterm.c.
9205 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
9206 Remove redundant code.
9207 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
9208
9209 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
9210 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
9211
9212 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
9213 (x_to_w32_charset, w32_to_x_charset): Expose externally.
9214
9215 * w32font.c: New file for w32 font backend.
9216
92172008-02-01 Kenichi Handa <handa@m17n.org>
9218
9219 * term.c: Don't include "buffer.h" twice.
9220
92212008-02-01 Kenichi Handa <handa@m17n.org>
9222
9223 * character.c (Funibyte_string): New function.
9224 (syms_of_character): Defsubr it.
9225
92262008-02-01 Jason Rumney <jasonr@gnu.org>
9227
9228 * w32term.c [USE_FONT_BACKEND]:
9229 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
9230 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
9231 (x_draw_glyph_string, x_draw_glyph_string_foreground)
9232 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
9233 (x_free_frame_resources): Sync with xterm.c.
9234
92352008-02-01 Andreas Schwab <schwab@suse.de>
9236
9237 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
9238 char-table size.
9239
92402008-02-01 Kenichi Handa <handa@m17n.org>
9241
9242 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
9243
92442008-02-01 Kenichi Handa <handa@m17n.org>
9245
9246 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
9247 font_otf_gpos, add font_drive_otf.
9248
9249 * fontset.c (fontset_find_font): Pay attention to font size
9250 specified for a font.
9251 (reorder_font_vector): Check contents of font_def.
9252
9253 * font.c (struct otf_list): Delete it.
9254 (otf_list): Make it a lisp variable.
9255 (otf_open): Use lispy otf_list.
9256 (generate_otf_features): Rename from parse_gsub_gpos_spec.
9257 (check_otf_features): New function.
9258 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
9259 New functions.
9260 (font_drive_otf): New function merging font_otf_gsub and
9261 font_otf_gpos.
9262 (font_open_for_lface): New arg spec. Change argument order.
9263 (font_load_for_face): Adjust for the change of font_open_for_lface.
9264 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
9265 Ffont_otf_gpos.
9266 (syms_of_font): Staticpro otf_list. Delete defsubr of
9267 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
9268
9269 * xfaces.c (set_font_frame_param): Adjust for the change of
9270 font_open_for_lface.
9271
9272 * font.h (font_open_for_lface): Adjust prototype.
9273 (struct font_driver): Delete members otf_gsub and otf_gpos, add
9274 member otf_drive.
9275 (font_otf_gsub, font_otf_gpos): Delete externs.
9276 (font_drive_otf): Extern it.
9277
92782008-02-01 Kenichi Handa <handa@m17n.org>
9279
9280 * font.c (font_at): If the window W is not on a window system,
9281 return Qnil.
9282
9283 * coding.c (produce_chars, encode_coding): Don't call
9284 insert_from_gap if no characters to produce.
9285
92862008-02-01 Kenichi Handa <handa@m17n.org>
9287
9288 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
9289 Fclear_face_cache.
9290
9291 * xfaces.c (face_for_font): Check also face->font==font->font.font.
9292
92932008-02-01 Miles Bader <miles@gnu.org>
9294
9295 * emacs.c (main): Change default value of `enable_font_backend' to 1.
9296 Parse "--disable-font-backend" option.
9297 (standard_args): Add "--disable-font-backend" option.
9298
92992008-02-01 Kenichi Handa <handa@m17n.org>
9300
9301 * fontset.c (fontset_find_font): New function.
9302 (fontset_font): Use fontset_find_font.
9303 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
9304 Register the specified font for all Latin characters.
9305 (new_fontset_from_font): Register the specified font for all Latin
9306 characters.
9307 (dump_fontset): For a realized fontset, include the base fontset
9308 name in the returned vector.
9309
93102008-02-01 Kenichi Handa <handa@m17n.org>
9311
9312 * character.h (CHAR_STRING): Cast C to unsigned on calling
9313 char_string.
9314
9315 * character.c (char_string): Type of arg C changed to unsigned.
9316 Signal an error if C is an invalid character code.
9317
9318 * editfns.c (general_insert_function, Fchar_to_string):
9319 Use CHARACTERP, not INTEGERP.
9320
93212008-02-01 Kenichi Handa <handa@m17n.org>
9322
9323 * character.h (MIN_MULTIBYTE_LEADING_CODE)
9324 (MAX_MULTIBYTE_LEADING_CODE): New macros.
9325
9326 * regex.c (analyse_first): Fix for multibyte characters in "case
9327 charset:" and "case categoryspec:".
9328
93292008-02-01 Andreas Schwab <schwab@suse.de>
9330
9331 * Makefile.in (LIBES): Move standard libraries to the end.
9332
93332008-02-01 Kenichi Handa <handa@m17n.org>
9334
9335 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
9336 nonzero, don't shrink the buffer nextb.
9337
9338 * buffer.h (struct buffer_text): New member inhibit_shrinking.
9339
9340 * coding.c (coding_alloc_by_making_gap): New arg offset.
9341 (alloc_destination): Call coding_alloc_by_making_gap with the arg
9342 offset.
9343 (decode_coding_iso_2022): Update coding->safe_charsets.
9344 (decode_coding_gap): Temporarily set
9345 current_buffer->text->inhibit_shrinking to 1.
9346
93472008-02-01 Kenichi Handa <handa@m17n.org>
9348
9349 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
9350 indexing into elements of s->cmp and s->char2b.
9351
93522008-02-01 Juanma Barranquero <lekktu@gmail.com>
9353
9354 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
9355
93562008-02-01 Kenichi Handa <handa@m17n.org>
9357
9358 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
9359 target_multibyte instead of multibyte.
9360 (re_match_2_internal): Call bcmp_translate with target_multibyte.
9361 (bcmp_translate): Change the argument name from multibyte to
9362 target_multibyte.
9363
93642008-02-01 Kenichi Handa <handa@m17n.org>
9365
9366 These changes are to compile a regexp into a pattern that can be
9367 used both for multibyte and unibyte targets.
9368
9369 * Makefile.in (search.o): Depend on charset.h.
9370
9371 * character.c (multibyte_char_to_unibyte_safe): New function.
9372
9373 * search.c: Include "charset.h".
9374 (compile_pattern_1): Delete argument multibyte. Don't set
9375 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
9376 (compile_pattern): Don't compare cp->buf.target_multibyte.
9377 Compare cp->buf.charset_unibyte.
9378 (compile_pattern): Set cp->buf.target_multibyte.
9379
9380 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
9381
9382 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
9383
9384 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
9385 multibyte. Change callers.
9386 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
9387 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
9388 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
9389 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
9390 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
9391 (regex_compile): Make the compiled pattern usable both for
9392 multibyte and unibyte targets.
9393 (analyse_first): Make the fastmap usable both for multibyte and
9394 unibyte targets.
9395 (TRANSLATE_VIA_MULTIBYTE): Delete.
9396 (re_match_2_internal): Pay attention to the case that the
9397 multibyteness of bufp and target may be different.
9398
93992008-02-01 Kenichi Handa <handa@m17n.org>
9400
9401 * xdisp.c (x_produce_glyphs): When a font is not found, make the
9402 empty box occupy at least one column width.
9403
94042008-02-01 Miles Bader <miles@gnu.org>
9405
9406 * Makefile.in: Remove redundant HAVE_XFT clause.
9407
94082008-02-01 Kenichi Handa <handa@m17n.org>
9409
9410 * xrdb.c (x_load_resources): Setup the default fontSet X resource.
9411
94122008-02-01 Kenichi Handa <handa@m17n.org>
9413
9414 * fontset.c (Finternal_char_font): Fix for the case of POSITION
9415 being nil.
9416
94172008-02-01 Kenichi Handa <handa@m17n.org>
9418
9419 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
9420
94212008-02-01 Kenichi Handa <handa@m17n.org>
9422
9423 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
9424
94252008-02-01 Kenichi Handa <handa@m17n.org>
9426
9427 * search.c (simple_search): Fix previous change.
9428
94292008-02-01 Kenichi Handa <handa@m17n.org>
9430
9431 * xftfont.c (ftfont_font_format): Extern declaration.
9432
9433 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
9434
9435 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
9436 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
9437
9438 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
9439 (ftfont_font_format): Fix previous change.
9440
9441 * font.h (Ffont_xlfd_name): EXFUN it.
9442
9443 * font.c (font_parse_xlfd): Fix the array size of `f'.
9444 (register_font_driver): Use EQ to compare driver->type.
9445
9446 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
9447 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
9448 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
9449
94502008-02-01 Kenichi Handa <handa@m17n.org>
9451
9452 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
9453 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
9454
94552008-02-01 Kenichi Handa <handa@m17n.org>
9456
9457 * xfont.c (xfont_open): Set font->format.
9458
9459 * xftfont.c (xftfont_open): Set font->format.
9460
9461 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
9462 (ftfont_list): Include FC_FONTFORMAT in FcObject.
9463 (ftfont_open): Set font->format.
9464 (ftfont_font_format): New function.
9465
9466 * font.h (struct font): New member format.
9467
9468 * font.c (Qopentype): New variable.
9469 (syms_of_font): Defsym it.
9470 (Fquery_font): Change the format of the last element of the return
9471 value.
9472
94732008-02-01 Kenichi Handa <handa@m17n.org>
9474
9475 * xfns.c (xic_create_xfontset): Try the default fontset name as a
9476 last resort.
9477
94782008-02-01 Kenichi Handa <handa@m17n.org>
9479
9480 * coding.c (detect_coding_charset): Fix detection of multi-byte
9481 charset.
9482
94832008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
9484
9485 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
9486
94872008-02-01 Kenichi Handa <handa@m17n.org>
9488
9489 * xdisp.c (get_next_display_element): Set it->face_id for the
9490 first component of a composition.
9491 (x_produce_glyphs): Check if the font is changed or not for composition.
9492
94932008-02-01 Kenichi Handa <handa@m17n.org>
9494
9495 * fontset.c (Qlatin): New variable.
9496 (syms_of_fontset): Define it as a lisp symbol.
9497 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
9498
94992008-02-01 Kenichi Handa <handa@m17n.org>
9500
9501 * font.c (font_unparse_fcname): Pay attention to the case that
9502 some of font property is a null string.
9503
95042008-02-01 Kenichi Handa <handa@m17n.org>
9505
9506 * term.c: Include "composite.h".
9507 (encode_terminal_code): Output all components of composition.
9508 Check the size of encode_terminal_src.
9509 (produce_glyphs): For composition, call produce_composite_glyph.
9510 (append_composite_glyph, produce_composite_glyph): New functions.
9511
9512 * xdisp.c (x_produce_glyphs): In handling composition, if a font
9513 is not found, get font_info from the current ascii face.
9514
95152008-02-01 Kenichi Handa <handa@m17n.org>
9516
9517 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
9518 buffer-file-name to Qnil before calling insert_from_buffer.
9519
9520 * font.c (font_unparse_fcname): Pay attention to the case that
9521 foundry is a null string.
9522
95232008-02-01 Kenichi Handa <handa@m17n.org>
9524
9525 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
9526
9527 * font.c (Qunicode_sip): New variable.
9528 (syms_of_font): Declare it as a Lisp symbol.
9529
9530 * font.h (Qunicode_sip): Extern it.
9531
95322008-02-01 Kenichi Handa <handa@m17n.org>
9533
9534 * composite.c (get_composition_id): Pay attention to TAB component.
9535
9536 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
9537 TAB. Adjust for the change of s->char2b which always points to
9538 the first element of allocated memory.
9539
9540 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
9541
9542 * xdisp.c (handle_composition_prop): Set it->c to the first
9543 non-TAB component.
9544 (fill_composite_glyph_string): Change argument.
9545 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
9546 (x_produce_glyphs): Fix handling of left/right padding.
9547
95482008-02-01 Kenichi Handa <handa@m17n.org>
9549
9550 * coding.c (detect_coding_system): Fix for handling off
9551 inhibit_iso_escape_detection. Fix for the case that no coding
9552 system is defined for a specific coding category.
9553
95542008-02-01 Kenichi Handa <handa@m17n.org>
9555
9556 * font.c (font_matching_entity): Delete unused local var.
9557
9558 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
9559 opening a font.
9560
9561 * fileio.c (Finsert_file_contents): On recovering a file, assume
9562 Unix-like eol.
9563 (choose_write_coding_system): On auto-saving a file, force
9564 Unix-like eol.
9565
9566 * coding.c (setup_coding_system): Fix setting of
9567 coding->common_flags based on eol_type.
9568 (coding_inherit_eol_type): If PARENT is not nil, be sure to
9569 inherit from it.
9570
95712008-02-01 Kenichi Handa <handa@m17n.org>
9572
9573 * alloc.c (NSTATICS): Increas to 0x600.
9574
95752008-02-01 Kenichi Handa <handa@m17n.org>
9576
9577 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
9578 (ftfont_list): Don't check :name property.
9579 (ftfont_match): New function.
9580 (ftfont_pattern_entity): If the pattern doesn't contain
9581 FC_SPACING, don't assume FC_MONO.
9582
9583 * font.h (struct font_driver): New member `match'.
9584 (font_update_drivers): Adjust prototype.
9585
9586 * font.c (font_parse_fcname, font_parse_name): Don't change :name
9587 property of FONT.
9588 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
9589 them unconditionally.
9590 (font_matching_entity): New function.
9591 (font_open_by_name): Try font_matching_entity if exact match is
9592 not found.
9593 (font_update_drivers): Delete the arg FONT. Return a list of
9594 actually used backends. Don't free faces, font caches here.
9595 Don't store data in frame parameters. Don't call x_set_font.
9596 (Ffont_spec): Store :name property as is.
9597 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
9598 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
9599 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
9600 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
9601 Call font->driver->otf_gsub instead of font_otf_gsub.
9602
9603 * frame.c (x_set_font_backend): Do more works that were done in
9604 font_update_drivers before.
9605
9606 * xfont.c (xfont_match): New function.
9607 (xfont_driver): Set xfont_driver.match to xfont_match.
9608 (xfont_draw): Set font in GC if necessary.
9609
9610 * ftxfont.c (ftxfont_match): New function.
9611 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
9612
9613 * xftfont.c (xftfont_match): New function.
9614 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
9615
96162008-02-01 Kenichi Handa <handa@m17n.org>
9617
9618 * font.h (struct font): New member scalable.
9619 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
9620 (font_otf_gsub): Adjust prototype.
9621
9622 * font.c (font_otf_capability): Fix handling of the default langsys.
9623 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
9624 Check the contents of SPEC.
9625 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
9626 (check_gstring): New function.
9627 (REPLACEMENT_CHARACTER): New macro.
9628 (font_otf_gsub): New arg alternate_subst. Be sure to set all
9629 glyph codes of GSTRING.
9630 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
9631 (font_prepare_composition): Set cmp->glyph_len.
9632 (font_open_entity): Set font->scalable.
9633 (Ffont_get): Handle :otf property.
9634 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
9635 functions.
9636 (Fquery_font): Use font->font.full_name.
9637 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
9638 Sfont_otf_alternates.
9639
9640 * ftfont.c (ftfont_open): Set font->font.full_name and
9641 font->font.name properly. Fix calculation of font->font.height
9642 and font->min_width.
9643
9644 * ftxfont.c (ftxfont_create_gcs): New function.
9645 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
9646 (ftxfont_draw_backgrond): Fix filling region.
9647 (ftxfont_default_fid): New function.
9648 (ftxfont_open): Set xfont->fid to the return value of
9649 ftxfont_default_fid.
9650 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
9651 (ftxfont_done_face): Free only GCs that are created by
9652 ftxfont_create_gcs.
9653 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
9654
9655 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
9656 Clip to src->width, etc (not src->clip_XXX).
9657
9658 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
9659 FontBackend frame parameter.
9660
96612008-02-01 Kenichi Handa <handa@m17n.org>
9662
9663 * font.h (struct font_driver_list): New member `on'.
9664 (Fclear_font_cache): EXFUN it.
9665 (font_update_drivers): Extern it.
9666
9667 * font.c (font_unparse_fcname): Fix typo (swidth->width).
9668 (font_list_entities): Check driver_list->on.
9669 (register_font_driver): Initalize `on' member to 0.
9670 (font_update_drivers): New function.
9671 (Fclear_font_cache): Check driver_list->on.
9672
9673 * frame.h (Qfont_backend): Extern it.
9674 (x_set_font_backend): Extern it.
9675
9676 * frame.c (Qfont_backend): New variable.
9677 (frame_parms): New element for font-backend.
9678 (x_set_font_backend): New function.
9679
9680 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
9681 FontBackend frame parameter.
9682 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
9683 x_set_font_backend.
9684
9685 * xfont.c (xfont_list): Don't try listing by :name property if the
9686 name is not for XLFD.
9687
96882008-02-01 Kenichi Handa <handa@m17n.org>
9689
9690 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
9691 (LGLYPH_SET_TO): New macros.
9692 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
9693 element of G is vector or not.
9694 (font_at): Extern it.
9695
9696 * font.c: Include window.h.
9697 (font_lispy_object): New function.
9698 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
9699 end of valid glyph.
9700 (font_close_object): Fix getting (struct font *).
9701 (font_at): New function.
9702 (Ffont_get): If FONT is a font-object, get entity from it.
9703 (Ffont_make_gstring): Initialize elements of glyphs with nil.
9704 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
9705 range check.
9706 (Ffont_at): New function.
9707 (syms_of_font): Defsubr Sfont_at.
9708
9709 * xdisp.c (it_props): Move the entry for Qauto_composed to just
9710 before the entry for Qcomposition.
9711 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
9712 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
9713 the font in gstring.
9714 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
9715 LGLYPH_FORM (g) to detect the end of valid glyph.
9716 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
9717 we are composing with gstring.
9718
9719 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
9720 Check if adjustment is vector or not.
9721
9722 * Makefile.in (font.o): Make it depends on window.h.
9723
97242008-02-01 Kenichi Handa <handa@m17n.org>
9725
9726 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
9727 adjustment is vector or not.
9728
97292008-02-01 Miles Bader <miles@gnu.org>
9730
9731 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
9732
97332008-02-01 Kenichi Handa <handa@m17n.org>
9734
9735 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
9736 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
9737 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
9738
9739 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
9740 (DEVICE_DELTA): Fix typo.
9741 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
9742 LGLYPH format.
9743
9744 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
9745 the change of LGLYPH format.
9746
97472008-02-01 Kenichi Handa <handa@m17n.org>
9748
9749 * ftfont.c (ftfont_list): Fix typo.
9750 (ftfont_build_basic_charsets): Don't include letters with diacritics.
9751
97522008-02-01 Jan Djärv <jan.h.d@swipnet.se>
9753
9754 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
9755
9756 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
9757 xftface_info is non-NULL.
9758
97592008-02-01 Jan Djärv <jan.h.d@swipnet.se>
9760
9761 * ftfont.c (ftfont_list): Move misplaced #endif.
9762
97632008-02-01 Kenichi Handa <handa@m17n.org>
9764
9765 * ftfont.c (ftfont_list): Pay attention to the case that
9766 FC_CAPABILITY is not defined.
9767
97682008-02-01 Kenichi Handa <handa@m17n.org>
9769
9770 * xftfont.c (xftfont_open): Set charset related members to -1.
9771
9772 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
9773 QCname.
9774 (ftfont_open): Set charset related members to -1.
9775
9776 * fontset.c (Votf_script_alist): New variable.
9777 (syms_of_fontset): Initialize it.
9778 (fontset_font): Delete unused variable.
9779
9780 * fontset.h (Votf_script_alist): Extern it.
9781
9782 * font.c (font_find_for_lface): Optimize code.
9783
9784 * font.h (font_close_object, font_merge_old_spec): Extern them.
9785
97862008-02-01 Kenichi Handa <handa@m17n.org>
9787
9788 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
9789 (syms_of_font): Initialize them.
9790 (font_pixel_size): Allow float value in dpi.
9791 (font_prop_validate_type): Delete.
9792 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
9793 Change caller.
9794 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
9795 (font_prop_validate_extra): Delete.
9796 (font_prop_validate_spacing): New function.
9797 (font_property_table): Add elements for all known properties.
9798 (get_font_prop_index): Rename from check_font_prop_name. New
9799 argument FROM. Change caller.
9800 (font_prop_validate): Validate all known properties.
9801 (font_put_extra): Delete argument force. Change caller.
9802 (font_expand_wildcards): Make it static. Fix the way of shrinking
9803 the possible range.
9804 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
9805 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
9806 Change caller.
9807 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
9808 (font_parse_fcname): Delete argument merge. Fix parsing of point
9809 size. Don't validate properties values here. Change caller.
9810 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
9811 (font_open_by_name): Delete unused variable.
9812 (Ffont_spec): Likewise. Validate property values.
9813 (Ffont_match_p): New function.
9814
9815 * font.h (QCscalable): Extern it.
9816 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
9817
9818 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
9819
9820 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
9821 (xfont_list_pattern): New function.
9822 (xfont_list): Use xfont_list_pattern.
9823
98242008-02-01 Kenichi Handa <handa@m17n.org>
9825
9826 * font.h (Flist_fonts): EXFUN it.
9827
98282008-02-01 Jason Rumney <jasonr@gnu.org>
9829
9830 * w32term.c (w32_initialize): Add back smoothing_type and
9831 smoothing_enabled definitions.
9832
98332008-02-01 Kenichi Handa <handa@m17n.org>
9834
9835 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
9836 s->face->font on determining underline position.
9837
98382008-02-01 Kenichi Handa <handa@m17n.org>
9839
9840 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
9841 (font_has_char): Accept font-object too.
9842 (font_find_for_lface): Try at first with a size specified in face.
9843
98442008-02-01 Kenichi Handa <handa@m17n.org>
9845
9846 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
9847 font_open_by_name.
9848
98492008-02-01 Kenichi Handa <handa@m17n.org>
9850
9851 * font.h (QCspacing, QCdpi): Extern them.
9852 (enum font_spacing): New enum.
9853 (FONT_PIXEL_SIZE_QUANTUM): New macro.
9854
9855 * font.c (POINT_TO_PIXEL): Don't divide POINT by 10.
9856 (QCspacing, QCdpi): New variables.
9857 (syms_of_font): Initialize them.
9858 (font_pixel_size): New function.
9859 (font_put_extra): New function.
9860 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
9861 in FONT_EXTRA.
9862 (font_parse_fcname): Handle enumerated values (e.g. bold).
9863 Fix handling font size. Add QCname property that contains only
9864 unknown properties.
9865 (font_score): Change argument. Change caller. Pay attention to
9866 FONT_PIXEL_SIZE_QUANTUM.
9867 (font_sort_entites, font_list_entities, font_find_for_lface)
9868 (font_open_for_lface, font_open_by_name): Fix handling of font size.
9869 (Ffont_spec): Add QCname property that contains only unknown properties.
9870
9871 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
9872 include weight in listing pattern, instead check weight of each
9873 listed font. Don't include scalable in pattern. Pay attention to
9874 FONT_PIXEL_SIZE_QUANTUM.
9875
98762008-02-01 Kenichi Handa <handa@m17n.org>
9877
9878 * font.c (font_parse_fcname): Fix parsing of point-size.
9879 (font_unparse_fcname): Produce symbolic names for style properties.
9880 (font_list_entities): Handle float size correctly.
9881 (font_open_by_name): Prefer `normal' property values if the name
9882 doesn't specify them.
9883
9884 * fontset.c (Finternal_char_font): Use font_get_name, not
9885 Ffont_xlfd_name.
9886
9887 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
9888 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
9889 pattern. Don't force scalable.
9890
9891 * xftfont.c (xftfont_open): For generating a name, start from
9892 96-byte buffer.
9893
98942008-02-01 Jan Djärv <jan.h.d@swipnet.se>
9895
9896 * frame.h (x_new_fontset2): Fix prototype.
9897
98982008-02-01 Kenichi Handa <handa@m17n.org>
9899
9900 * font.h (struct font_driver): Delete member parse_name.
9901 (font_match_p, font_get_spec, font_parse_fcname)
9902 (font_unparse_fcname): Extern them.
9903 (font_get_name): Adjust prototype.
9904
9905 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
9906 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
9907 (font_expand_wildcards): Fix handling ENCODING field. Avoid
9908 unnecessary checks for weight, slant, and swidth.
9909 (font_parse_fcname): New function.
9910 (font_unparse_fcname): New function.
9911 (font_parse_name): New function.
9912 (font_match_p): New function.
9913 (font_get_name): Change return value to Lisp string.
9914 (font_get_spec): New function.
9915 (Qunspecified, Qignore_defface): Don't extern them.
9916 (font_find_for_lface): Assume that LFACE is fully specified.
9917 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
9918 object, use it for FACE.
9919 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
9920 driver->parse_name.
9921 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
9922
9923 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
9924 prototype.
9925
9926 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
9927 argument F. Don't call Fnew_fontset. Instead, directly call
9928 make_fontset.
9929
9930 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
9931
9932 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
9933 of x_new_fontset2.
9934
9935 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
9936 (Qsans__serif): New variables.
9937 (ftfont_generic_family_list): New variable.
9938 (syms_of_ftfont): Initialize the above variables.
9939 (ftfont_pattern_entity): Delete argument NAME.
9940 (ftfont_list_generic_family): New function.
9941 (ftfont_parse_name): Delete this function.
9942 (ftfont_list): Try generic family only when FcFontList found no font.
9943 (ftfont_list_family): Fix args to FcObjectSetBuild.
9944
9945 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
9946 object in attrs[LFACE_FONT_INDEX].
9947 (set_lface_from_font_name): Cancel all changes for font-backend.
9948 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
9949 function.
9950 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
9951 font object in QCfont attribute.
9952 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
9953 (realize_default_face) [USE_FONT_BACKEND]: Call
9954 set_lface_from_font_and_fontset.
9955
9956 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
9957 "fixed", and signal error here if no suitable font was found.
9958
9959 * xfont.c (xfont_parse_name): Delete this function.
9960
9961 * xftfont.c (xftfont_open): Change coding style of error
9962 handling. Generate fontconfig's fontname pattern.
9963
9964 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
9965 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
9966
9967 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
9968 Both args FONTSET and FONT_OBJECT must be existing ones.
9969
99702008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9971
9972 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
9973
99742008-02-01 Kenichi Handa <handa@m17n.org>
9975
9976 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
9977
9978 * font.h (struct font): Fix typo.
9979
9980 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
9981 XLFD_XXX_INDEX.
9982 (enum xlfd_field_mask): New enum.
9983 (intern_font_field): Changed argument. Change caller. If digits
9984 are followed by non-digits, return a symbol.
9985 (font_expand_wildcards): New function.
9986 (font_parse_xlfd): Fix wildcard handling.
9987 (Ffont_spec): If :name is specified, reflect the info in the other
9988 properties.
9989
9990 * ftfont.c (ftfont_pattern_entity): Fix typo.
9991 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
9992 locale.
9993
99942008-02-01 Kenichi Handa <handa@m17n.org>
9995
9996 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
9997
9998 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
9999 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
10000 registry doesn't specify encoding part.
10001 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
10002 (font_open_by_name): At first try parsing the name.
10003 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
10004 as Lisp symbols.
10005
10006 * fontset.c (reorder_font_vector): Pay attention to the case that
10007 the 3rd element of font_def is nil.
10008 (fontset_font): For the default fontset, append one more fontset
10009 elements for a script-based font specification. Don't add script
10010 attribute on finding a font.
10011 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
10012 font name.
10013 (fontset_ascii_font): If a font can't be opened, return nil.
10014
10015 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
10016 (ftfont_pattern_entity): New function.
10017 (ftfont_get_cache): Assume that freetype_font_cache is already
10018 initialized.
10019 (ftfont_list): Handle the case that a file is specified in font
10020 name. Use ftfont_pattern_entity to generate entities.
10021 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
10022 (syms_of_ftfont): Initialize freetype_font_cache.
10023
10024 * xftfont.c (xftfont_open): Make the font name fontconfig's
10025 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
10026 (xftfont_close): Free font->font.name if not NULL.
10027
10028 * xfont.c (xfont_list): If script is specified for a font, return
10029 null_vector.
10030 (xfont_list_family): Declare argument type.
10031
10032 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
10033 name, set LFACE_FONT (lface) to nil.
10034
10035 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
10036 return Qnil.
10037
100382008-02-01 Kenichi Handa <handa@m17n.org>
10039
10040 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
10041 (standard_args): Add "-enable-font-backend".
10042
100432008-02-01 Kenichi Handa <handa@m17n.org>
10044
10045 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
10046 (struct xftdraw_list, xftdraw_list): Delete them.
10047 (register_xftdraw, check_xftdraw): Delete them.
10048 (xftfont_prepare_face): Don't call register_xftdraw.
10049 (xftfont_done_face): Don't call check_xftdraw.
10050 (xftfont_draw): Get background color only when with_background is
10051 nonzero.
10052
10053 * xfont.c (xfont_encode_char): Fix calculation of char2b.
10054
100552008-02-01 Kenichi Handa <handa@m17n.org>
10056
10057 These changes are for the new font handling codes.
10058
10059 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
10060 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
10061 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
10062 (FONTSRC, FONTOBJ): New variables.
10063 (obj): Add $(FONTOBJ).
10064 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
10065 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
10066 @LIBOTF_LIBS@.
10067 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
10068 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
10069
10070 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
10071
10072 * character.h (Vscript_representative_chars): Extern it.
10073
10074 * character.c (Vscript_representative_chars): New variable.
10075 (syms_of_character): Declare it as a Lisp variable.
10076
10077 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
10078 enable_font_backend is nonzero, accept the composition method
10079 COMPOSITION_WITH_GLYPH_STRING.
10080
10081 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
10082 enumeration COMPOSITION_WITH_GLYPH_STRING.
10083
10084 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
10085 members clip_x, clip_y, clip_width, and clip_height.
10086 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
10087
10088 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
10089 --enable-font-backend. Call syms_of_font.
10090
10091 * fns.c (assoc_no_quit): New function.
10092
10093 * fontset.h (FONT_INFO_FROM_FACE): New macro.
10094 (face_for_font, new_fontset_from_font)
10095 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
10096
10097 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
10098 (fontset_font, fontset_ascii, face_for_char)
10099 (make_fontset_for_ascii_face, Ffont_info)
10100 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
10101 is nonzero, use font-backend mechanism.
10102 (find_font_encoding): Make it non-static.
10103 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
10104 New functions.
10105
10106 * frame.h (struct frame): New members resx and resy.
10107 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
10108 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
10109
10110 * frame.c [USE_FONT_BACKEND]: Include "font.h".
10111 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
10112
10113 * lisp.h (assoc_no_quit): Extern it.
10114
10115 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
10116 Through out the file, use FONT_INFO_FROM_FACE instead of
10117 FONT_INFO_FROM_ID, use get_per_char_metric instead of
10118 rif->per_char_metric.
10119 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
10120 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
10121 (get_glyph_face_and_encoding, fill_composite_glyph_string)
10122 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
10123 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
10124 nonzero, use font-backend mechanism.
10125 (get_per_char_metric): New function.
10126
10127 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
10128 (set_lface_from_font_name)
10129 (set_font_frame_param, free_realized_face)
10130 (prepare_face_for_display, clear_face_gcs)
10131 (Finternal_set_font_selection_order, realize_x_face)
10132 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
10133 font-backend mechanism.
10134 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
10135 (load_face_font) [USE_FONT_BACKEND]: Abort.
10136 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
10137 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
10138
10139 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
10140 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
10141 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
10142 nonzero, register all available font drivers. Call
10143 x_default_font_parameter for deciding a font.
10144 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
10145
10146 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
10147 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
10148 (x_set_glyph_string_clipping_exactly)
10149 (x_compute_glyph_string_overhangs)
10150 (x_draw_glyph_string_foreground)
10151 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
10152 (x_free_frame_resources) [USE_FONT_BACKEND]: If
10153 enable_font_backend is nonzero, use font-backend mechanism.
10154 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
10155
101562008-02-01 Kenichi Handa <handa@m17n.org>
10157
10158 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
10159 system_eol_type.
10160 (syms_of_coding): Initialize system_eol_type.
10161
10162 * process.c (Fset_process_coding_system): Inherit system's eol
10163 format if necessary.
10164
101652008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10166
10167 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
10168
101692008-02-01 Kenichi Handa <handa@m17n.org>
10170
10171 * coding.c (decode_eol): Pay attention to buffer relocation in
10172 del_range_2.
10173 (decode_coding): Call decode_eol before restoring undo_list.
10174
101752008-02-01 Kenichi Handa <handa@m17n.org>
10176
10177 * charset.c (Fdefine_charset_internal): Fix setting of
10178 emacs_mule_bytes.
10179
101802008-02-01 Kenichi Handa <handa@m17n.org>
10181
10182 * keyboard.c (read_char): Check if C is a character or not before
10183 looking up Vkeyboard_translate_table.
10184
101852008-02-01 Kenichi Handa <handa@m17n.org>
10186
10187 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
10188 condition to terminate the loop.
10189
101902008-02-01 Kenichi Handa <handa@m17n.org>
10191
10192 * coding.c (produce_composition): Compare charbuf[i] instead of
10193 args[i] against 0.
10194 (Fterminal_coding_system): Use EQ to compare Lisp objects.
10195
101962008-02-01 Kenichi Handa <handa@m17n.org>
10197
10198 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
10199 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
10200 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
10201 detect_coding.
10202 (emacs_mule_char): Handle old style (Emacs 20) component character
10203 of a composition.
10204 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
10205 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
10206 composition rule.
10207 (decode_coding_emacs_mule): Handle invalid bytes correctly.
10208
102092008-02-01 Kenichi Handa <handa@m17n.org>
10210
10211 * coding.c (encode_coding_ccl): Allocate destination dynamically
10212 when necessary.
10213
102142008-02-01 Kenichi Handa <handa@m17n.org>
10215
10216 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
10217 the loop. When quitted, show a proper error message.
10218
102192008-02-01 Kenichi Handa <handa@m17n.org>
10220
10221 * xterm.c (x_set_glyph_string_clipping_exactly): Set
10222 src->clip_head and src->clip_tail temporarily instead of src->hl.
10223
10224 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
10225 character sequence.
10226 (Fccl_execute_on_string): Use ASET, not XSET.
10227
102282008-02-01 Kenichi Handa <handa@m17n.org>
10229
10230 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
10231
102322008-02-01 Kenichi Handa <handa@m17n.org>
10233
10234 * coding.c (decode_coding): Fix the condition of terminating the
10235 decoding loop.
10236
102372008-02-01 Kenichi Handa <handa@m17n.org>
10238
10239 * data.c (Faset): On setting a character bigger than 255 in a
10240 unibyte string, signal an error instead of make the string multibyte.
10241
102422008-02-01 Kenichi Handa <handa@m17n.org>
10243
10244 * charset.c (map_charset_chars): Fix for ascii-compatible charset
10245 made by a mapping table.
10246
102472008-02-01 Kenichi Handa <handa@m17n.org>
10248
10249 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
10250 not.
10251 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
10252 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
10253
10254 * xterm.c (x_draw_composite_glyph_string_foreground): Check
10255 s->face is NULL or not.
10256
102572008-02-01 Kenichi Handa <handa@m17n.org>
10258
10259 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
10260 (x_draw_glyph_string): Fix drawing of right_overhang and
10261 left_overhang around/on cursor.
10262
10263 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
10264
102652008-02-01 Kenichi Handa <handa@m17n.org>
10266
10267 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
10268
102692008-02-01 Kenichi Handa <handa@m17n.org>
10270
10271 * coding.c (Fdefine_coding_system_internal)
10272 (Fdefine_coding_system_alias): Avoid a duplicated element in
10273 Vcoding_system_alist.
10274
102752008-02-01 Kenichi Handa <handa@m17n.org>
10276
10277 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
10278
10279 * coding.c (Qcoding_system_define_form): New variable.
10280 (syms_of_coding): Intern and staticpro it.
10281 (Fcoding_system_p): Check Qcoding_system_define_form.
10282 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
10283
10284 * coding.h (CODING_SYSTEM_P): If ID is not available, call
10285 Fcoding_system_p.
10286 (CHECK_CODING_SYSTEM): If ID is not available, call
10287 Fcheck_coding_system.
10288 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
10289 Try also Fcheck_coding_system.
10290
102912008-02-01 Kenichi Handa <handa@m17n.org>
10292
10293 * coding.c (code_conversion_restore): GCPRO arg.
10294
102952008-02-01 Kenichi Handa <handa@m17n.org>
10296
10297 * character.c (lisp_string_width): Check multibyteness of STRING.
10298
102992008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10300
10301 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
10302 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
10303 (decode_mac_font_name): Use decode_coding_c_string instead of
10304 decode_coding.
10305 (x_load_font): Initialize fontp->fontset to -1. Set
10306 fontp->encoding_type.
10307
103082008-02-01 Kenichi Handa <handa@m17n.org>
10309
10310 * search.c (search_buffer): Give up BM search on case-fold-search
10311 if one of a target character has a case-equivalence of different
10312 byte length even if that target charcter is an ASCII.
10313 (simple_search): Fix calculation of byte length of matched text.
10314 (boyer_moore): Fix handling of case-equivalent multibyte characters.
10315
103162008-02-01 Kenichi Handa <handa@m17n.org>
10317
10318 * coding.c (decode_coding): Fix handling of invalid bytes.
10319
103202008-02-01 Kenichi Handa <handa@m17n.org>
10321
10322 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
10323 Unicode characters.
10324
103252008-02-01 Kenichi Handa <handa@m17n.org>
10326
10327 * coding.c (encode_coding_object): If a pre-write-conversion
10328 function makes a new buffer, kill it.
10329
103302008-02-01 Kenichi Handa <handa@m17n.org>
10331
10332 * coding.c (QCascii_compatible_p): New variable.
10333 (syms_of_coding): Initialize it.
10334 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
10335 calling string_char.
10336 (record_conversion_result): Add `default:' case.
10337 (coding_charset_list): Delete unused variable `coding_type'.
10338 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
10339 property in the plist of the coding system.
10340 (Fcoding_system_put): Check QCascii_compatible_p.
10341
103422008-02-01 Miles Bader <miles@gnu.org>
10343
10344 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
10345 removed calculation of frame `f', as it's now used.
10346
103472008-02-01 Kenichi Handa <handa@m17n.org>
10348
10349 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
10350 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
10351 (UNIDATA): New variable.
10352 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
10353 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
10354 $(RUN_TEMACS) unconditionally.
10355
103562008-02-01 Kenichi Handa <handa@m17n.org>
10357
10358 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
10359 (admindir): New variable.
10360 ($(lispsource)international/charprop.el): New target.
10361
103622008-02-01 Miles Bader <miles@gnu.org>
10363
10364 * character.c (chars-in-region): Remove obsolete function.
10365 (syms_of_character): Remove its initialization.
10366
103672008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
10368
10369 * w32select.c (validate_coding_system)
10370 (setup_windows_coding_system): New functions.
10371 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
10372 setup_windows_coding_system.
10373 (setup_config, Fw32_get_clipboard_data): Use
10374 validate_coding_system.
10375 (Fx_selection_exists): Move call to setup_config to a place
10376 where signals are allowed.
10377
10378 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
10379 (Fcheck_coding_system): Add declarations.
10380
103812008-02-01 Kenichi Handa <handa@m17n.org>
10382
10383 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
10384
103852008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10386
10387 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
10388 string as the second argument for x_new_fontset.
10389
103902008-02-01 Kenichi Handa <handa@m17n.org>
10391
10392 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
10393 (encode_coding_object): Use safe_call instead of call2.
10394
103952008-02-01 Kenichi Handa <handa@m17n.org>
10396
10397 * fontset.c (Fset_fontset_font): Check family element of a given vector.
10398
10399 * Makefile.in (lisp): Include charprop.el.
10400
104012008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10402
10403 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
10404 Not sure if it's unnecessary.
10405
104062008-02-01 Steven Tamm <steventamm@mac.com>
10407
10408 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
10409 some possibly unnecessary fontset checking code that crashed
10410 when creating a new frame.
10411
104122008-02-01 Kenichi Handa <handa@m17n.org>
10413
10414 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
10415 lookup_face.
10416
10417 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
10418
10419 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
10420
104212008-02-01 Kenichi Handa <handa@m17n.org>
10422
10423 * coding.c: Cancel the change done in HEAD on 2008-02-01.
10424 (coding_charset_list): New function.
10425
10426 * coding.h (coding_charset_list): Extern it.
10427
104282008-02-01 Kenichi Handa <handa@m17n.org>
10429
10430 * fontset.c (Fset_fontset_font): Call find_font_encoding with
10431 concatenation of family and registry.
10432
104332008-02-01 Kenichi Handa <handa@m17n.org>
10434
10435 * character.h (BYTE8_STRING): Fix typo.
10436
10437 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
10438 string to multibyte (sync to HEAD).
10439
10440 * casefiddle.c (casify_region): Handle changes in byte-length
10441 using replace_range_2 (sync to HEAD).
10442
104432008-02-01 Andreas Schwab <schwab@suse.de>
10444
10445 * chartab.c (map_char_table): GCPRO table and arg.
10446
104472008-02-01 Kenichi Handa <handa@m17n.org>
10448
10449 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
10450 already at limit.
10451
104522008-02-01 Kenichi Handa <handa@m17n.org>
10453
10454 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
10455 instead of fast_c_string_match_ignore_case.
10456 (find_font_encoding): Change argument to Lisp_Object. Use
10457 fast_string_match_ignore_case instead of
10458 fast_c_string_match_ignore_case. Change caller.
10459
104602008-02-01 Kenichi Handa <handa@m17n.org>
10461
10462 * xdisp.c (get_next_display_element): In unibyte case, decide to
10463 display in octal form by checking a character by
10464 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
10465
10466 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
10467
10468 * character.c (unibyte_has_multibyte_table): New variable.
10469
10470 * character.h (unibyte_has_multibyte_table): Extern it.
10471 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
10472
104732008-02-01 Kenichi Handa <handa@m17n.org>
10474
10475 * coding.c (encode_coding_iso_2022): Fix handling of charset
10476 annotation.
10477
104782008-02-01 Kenichi Handa <handa@m17n.org>
10479
10480 * coding.c (setup_coding_system): If coding_system is nil, use
10481 Qundecided.
10482 (Fterminal_coding_system): Return nil if terminal coding system is
10483 `undecided'.
10484 (syms_of_coding): Define coding-system `undecided' here. Setup
10485 terminal_coding as `undecided'.
10486
104872008-02-01 Kenichi Handa <handa@m17n.org>
10488
10489 * xdisp.c (message_dolog, set_message_1): Call
10490 unibyte_char_to_multibyte with arg type int.
10491
10492 * lread.c (read1): Fix reading of a char-table.
10493
10494 * print.c (print_object): Include sub char-table in circularities
10495 detection.
10496
104972008-02-01 Kenichi Handa <handa@m17n.org>
10498
10499 * keymap.c (where_is_internal_2): Fix for the case that KEY is a cons.
10500 Append the found sequences in car of ARGS instead of prepending.
10501
105022008-02-01 Kenichi Handa <handa@m17n.org>
10503
10504 * fileio.c (report_file_error): Make a unibyte string from
10505 strerror (errorno).
10506 (Fsubstitute_in_file_name): Fix the arg to
10507 unibyte_char_to_multibyte. It is evaluated twice.
10508
105092008-02-01 Kenichi Handa <handa@m17n.org>
10510
10511 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
10512
105132008-02-01 Kenichi Handa <handa@m17n.org>
10514
10515 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
10516 BOM is not found.
10517 (detect_coding, detect_coding_system): Optimization for ISO-2022
10518 when no 8-bit data is found.
10519
105202008-02-01 Jason Rumney <jasonr@gnu.org>
10521
10522 * w32fns.c (x_to_w32_font): Update to use new coding struct.
10523
105242008-02-01 Kenichi Handa <handa@m17n.org>
10525
10526 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
10527 CHARS.
10528
105292008-02-01 Steven Tamm <steventamm@mac.com>
10530
10531 * macterm.c (mac_encode_char): Add charset argument and update
10532 to use encoding_type.
10533 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
10534 switch to pure fontset.
10535 (decode_mac_font_name): Temporarily remove decoding.
10536 (x_font_name_to_mac_font_name): Temporarily remove encoding.
10537 (x_load_font): Temporarily remove encoding.
10538
105392008-02-01 Kenichi Handa <handa@m17n.org>
10540
10541 * xfaces.c (Fface_font): If frame is not on a window system,
10542 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
10543 refer to face->font.
10544 (split_font_name_into_vector, build_font_name_from_vector)
10545 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
10546 when HAVE_WINDOW_SYSTEM is defined.
10547
105482008-02-01 Kenichi Handa <handa@m17n.org>
10549
10550 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
10551 (x_produce_glyphs): Fix setting of members of cmp in case
10552 cmp->glyph_len is zero.
10553
10554 * fontset.c (Fset_fontset_font): Fix docstring.
10555 (Ffontset_info): Make it backward compatible. New arg ALL.
10556
105572008-02-01 Kim F. Storm <storm@cua.dk>
10558
10559 * process.c (read_process_output): Grow decoding_buf when needed;
10560 this could cause a crash in allocate_string and compact_small_strings.
10561
105622008-02-01 Kenichi Handa <handa@m17n.org>
10563
10564 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
10565
105662008-02-01 Kenichi Handa <handa@m17n.org>
10567
10568 * coding.c (setup_coding_system): Set coding->common_flags
10569 correctly for raw-text.
10570 (consume_chars): On encoding unibyte text by raw-text, don't check
10571 multibyte form.
10572 (encode_coding): On encoding by raw-text, never use translation tables.
10573
10574 * fileio.c (e_write): Short cut for the case of no encoding.
10575
105762008-02-01 Kenichi Handa <handa@m17n.org>
10577
10578 * coding.c (detect_coding, detect_coding_system): Delete unused
10579 variables.
10580
105812008-02-01 Kenichi Handa <handa@m17n.org>
10582
10583 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
10584 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
10585
105862008-02-01 Kenichi Handa <handa@m17n.org>
10587
10588 * coding.c (Ffind_coding_systems_region_internal): Include
10589 raw-text and no-conversion in the result.
10590
105912008-02-01 Kenichi Handa <handa@m17n.org>
10592
10593 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
10594 (load_font_get_repertory): Delete unnecessary check of ENCODING of
10595 FONT_DEF.
10596 (font_def_arg, add_arg, from_arg, to_arg): New args.
10597 (set_fontset_font): Change argument.
10598 (Fset_fontset_font): Fix for the case that TARGET is a script
10599 name and charset name.
10600 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
10601
106022008-02-01 Kenichi Handa <handa@m17n.org>
10603
10604 * fontset.c (fontset_font): Rename from fontset_face. Change return
10605 value.
10606 (face_suitable_for_char_p, face_for_char): Adjust for the change
10607 of fontset_font.
10608 (make_fontset_for_ascii_face): Fix setting of the fontset element
10609 for ASCII.
10610 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
10611 to get a font name.
10612 (Ffontset_info): Adjust for the change of fontset_font.
10613
10614 * coding.c (emacs_mule_char): Check invalid code more rigidly.
10615
10616 * character.h (LEADING_CODE_LATIN_1_MIN)
10617 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
10618
106192008-02-01 Kenichi Handa <handa@m17n.org>
10620
10621 * editfns.c (check_translation): New function.
10622 (Ftranslate_region_internal): Handle M:N mapping.
10623
106242008-02-01 Kenichi Handa <handa@m17n.org>
10625
10626 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
10627
106282008-02-01 Kenichi Handa <handa@m17n.org>
10629
10630 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
10631 goto invalid_code.
10632 (decode_coding_iso_2022): Fix handling of invalid designation.
10633
10634 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
10635 after calling code_conversion_save.
10636
106372008-02-01 Kenichi Handa <handa@m17n.org>
10638
10639 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
10640
10641 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
10642
10643 * fontset.c: Include "intervals.h".
10644 (fontset_face): Fix comparing of Lisp_Objects.
10645 (free_face_fontset, new_fontset_from_font_name): Fix
10646 Lisp_Object/int mixup.
10647
10648 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
10649
10650 * coding.c: Add many prototypes for static functions.
10651 (get_translation_table): Allow max_lookup to be NULL.
10652 (decode_coding, Ffind_coding_systems_region_internal)
10653 (Funencodable_char_position, Fcheck_coding_systems_region): Call
10654 get_translation_table with max_lookup NULL.
10655
106562008-02-01 Kenichi Handa <handa@m17n.org>
10657
10658 * coding.c (get_translation_table): Declare it as Lisp_Object.
10659 (LOOKUP_TRANSLATION_TABLE): New macro.
10660 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
10661 instead of CHAR_TABLE_REF.
10662
106632008-02-01 Kenichi Handa <handa@m17n.org>
10664
10665 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
10666 annotation data format.
10667 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
10668 Change arguments FROM and TO to single argument NCHARS. Change caller.
10669 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
10670 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
10671 (decode_coding_ccl, decode_coding_charset): Pay attention to
10672 coding->charbuf_used.
10673 (get_translation): New function.
10674 (produce_chars): New arguments translation_table and last_block.
10675 Translate characters here. Return number of carryover chars.
10676 Change caller.
10677 (produce_composition): New argument pos. Change caller.
10678 Adjust for the change of annotation data format.
10679 (produce_charset, produce_annotation): Likewise.
10680 (decode_coding, encode_coding): Don't call translate_chars.
10681 (consume_chars): New arg translation_table. Change caller.
10682 (translate_chars): Delete.
10683 (syms_of_coding): Make translation-table's number of extra slots 2.
10684
106852008-02-01 Kenichi Handa <handa@m17n.org>
10686
10687 * search.c (simple_search): Fix setting this_pos_byte in backward
10688 search.
10689
10690 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
10691 byte sequence.
10692 (detect_coding_ccl): Fix setting of the variable valids.
10693
106942008-02-01 Kenichi Handa <handa@m17n.org>
10695
10696 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
10697
10698 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
10699
10700 * editfns.c (Ftranslate_region_internal): Rename from
10701 Ftranslate_region. Accept a char-table in TABLE.
10702 (syms_of_editfns): Defsubr Stranslate_region_internal.
10703
10704 * xfaces.c (set_lface_from_font_name): If a font is specified for
10705 a frame, generate a fontset from the font.
10706 (build_scalable_font_name): If the scalable font is requested for
10707 a specific size, don't change that size.
10708 (try_font_list): Try a scalable font also in the case that a
10709 pattern string is specified.
10710
107112008-02-01 Kenichi Handa <handa@m17n.org>
10712
10713 * xfaces.c (Fface_font): New optional arg CHARACTER.
10714
107152008-02-01 Kenichi Handa <handa@m17n.org>
10716
10717 * charset.h (CHARSET_OFFSET): New macro.
10718
107192008-02-01 Kenichi Handa <handa@m17n.org>
10720
10721 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
10722
10723 * fontset.c (fontset_face): Handle the case that repertory is a
10724 char-table.
10725 (find_font_encoding): Return nil for unknown encoding.
10726 (Fset_fontset_font): Ignore a font of unknown encoding.
10727
107282008-02-01 Kenichi Handa <handa@m17n.org>
10729
10730 * keymap.c (describe_vector): Handle default value of a char table.
10731
10732 * fontset.c (fontset_face): Handle fallback fonts correctly.
10733 (Ffontset_info): Return infomation about fallback fonts.
10734
107352008-02-01 Kenichi Handa <handa@m17n.org>
10736
10737 * fontset.c (FONTSET_DEFAULT): New macro.
10738 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
10739 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
10740 the case that it is nil.
10741 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
10742 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
10743
10744 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
10745 subset or superset.
10746
107472008-02-01 Kenichi Handa <handa@m17n.org>
10748
10749 * emacs.c (main): Call init_charset after syms_of_XXX.
10750
10751 * charset.c (Vcharset_map_directory): Delete.
10752 (Vcharset_map_path): New variable.
10753 (load_charset_map_from_file): Use Vcharset_map_path instead.
10754 (init_charset): Initialize Vcharset_map_path.
10755 (syms_of_charset): Delete declaration of "charset-map-directory",
10756 add declaration of "charset-map-path".
10757
107582008-02-01 Kenichi Handa <handa@m17n.org>
10759
10760 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
10761 ASCII only string.
10762
10763 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
10764
10765 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
10766 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
10767
107682008-02-01 Kenichi Handa <handa@m17n.org>
10769
10770 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
10771
10772 * coding.c (QCmnemonic, QCdefalut_char)
10773 (QCdecode_translation_table, QCencode_translation_table)
10774 (QCpost_read_conversion, QCpre_write_conversion): New variables.
10775 (get_translation_table): Return a list of translation tables if
10776 necessary.
10777 (decode_coding): Call get_translation_table with ENCODEP 0.
10778 (char_encodable_p): If translation_table is non-nil, always call
10779 translate_char.
10780 (Fdefine_coding_system_internal): Accept list of translation
10781 tables as :encode-translation-table and :decode-translation-table.
10782 (Fcoding_system_put): New function.
10783 (syms_of_coding): Declare new symbols. Defsubr
10784 Scoding_system_put.
10785 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
10786 typically JISX0212.
10787
10788 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
10789 when the charset is superset type.
10790
10791 * character.c (translate_char): Accept list of translation tables.
10792
107932008-02-01 Kenichi Handa <handa@m17n.org>
10794
10795 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
10796 (CODING_ATTR_TRANS_TBL): New macro.
10797
10798 * coding.c (get_translation_table): New function.
10799 (translate_chars): Fix the bug of skipping annotation data.
10800 (decode_coding, encode_coding): Utilize get_translation_table.
10801 (char_encodable_p, Funencodable_char_position): Translate char if
10802 necessary.
10803 (Ffind_coding_systems_region_internal)
10804 (Fcheck_coding_systems_region): Setup translation table for encode
10805 in a coding system attribute vector in advance.
10806 (Fdefine_coding_system_internal): Allow a symbol as translation
10807 table. For shift-jis type coding system, allow 4th charset.
10808
108092008-02-01 Kenichi Handa <handa@m17n.org>
10810
10811 * coding.c (decode_coding_sjis): Check the first byte rigidly.
10812
10813 * xdisp.c (get_next_display_element): Pass -1 as POS to
10814 FACE_FOR_CHAR if displaying a C-string.
10815
108162008-02-01 Kenichi Handa <handa@m17n.org>
10817
10818 * composite.c (get_composition_id): Handle xoff and yoff in a
10819 composition rule.
10820
10821 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
10822 (struct composition): New member lbearing and rbearing.
10823
10824 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
10825 (x_get_glyph_overhangs): Handle a composition glyph.
10826 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
10827
10828 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
10829 composition glyph.
10830
108312008-02-01 Kenichi Handa <handa@m17n.org>
10832
10833 * print.c: Include charset.h.
10834 (Vprint_charset_text_property): New variable.
10835 (Qdefault): Extern it.
10836 (PRINT_STRING_NON_CHARSET_FOUND)
10837 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
10838 (print_check_string_result): New variable.
10839 (print_check_string_charset_prop): New function.
10840 (print_prune_charset_plist): New variable.
10841 (print_prune_string_charset): New function.
10842 (print_object): Call print_prune_string_charset if
10843 Vprint_charset_text_property is not t.
10844 (print_interval): Print nothing if interval->plist is nil.
10845 (syms_of_print): Declare Vprint_charset_text_property as a lisp
10846 variable. Init and staticpro print_prune_charset_plist.
10847
108482008-02-01 Kenichi Handa <handa@m17n.org>
10849
10850 * fontset.c (new_fontset_from_font_name): Use the specified font
10851 for all characters in the new fontset.
10852
10853 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
10854 OBJECT args.
10855
10856 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
10857 OBJECT args for composition too.
10858
10859 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
10860 OBJECT args.
10861
108622008-02-01 Kenichi Handa <handa@m17n.org>
10863
10864 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
10865
10866 * fontset.c (reorder_font_vector): Adjust for the change of
10867 FONT_DEF format.
10868 (fontset_face): New arg id. Change caller.
10869 (face_for_char): New args pos and object.
10870 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
10871 (fs_query_fontset): Check NAME by Fassoc too.
10872 (Fset_fontset_font): Allow non-XLFD font name.
10873 (Ffontset_info): Adjust for the change of FONT_DEF format.
10874
10875 * fontset.h (face_for_char): Adjust prototype.
10876
10877 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
10878 (append_space, extend_face_to_end_of_line)
10879 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
10880 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
10881
10882 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
10883 POS and OBJECT args.
10884
10885 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
10886 POS and OBJECT args.
10887
108882008-02-01 Jason Rumney <jasonr@gnu.org>
10889
10890 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
10891 of GlobalAlloc'ed memory.
10892
108932008-02-01 Kenichi Handa <handa@m17n.org>
10894
10895 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
10896
10897 * charset.h (charset_table_used): Delete extern.
10898
10899 * charset.c (charset_table_used): Make it static.
10900 (map_charset_chars): Fix args to c_function with.
10901
10902 * chartab.c (map_sub_char_table_for_charset): Fix args to
10903 c_function with.
10904
10905 * coding.h (enum coding_result_code): Delete
10906 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
10907
10908 * coding.c (Qinsufficient_source, Qinconsistent_eol)
10909 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
10910 (Vlast_code_conversion_error): New variables.
10911 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
10912 (ONE_MORE_BYTE): Record error if any instead of signaling an
10913 error. If non-ASCII multibyte char is found, return the negative
10914 value of the code. All callers changed to check it.
10915 (ONE_MORE_BYTE_NO_CHECK): Likewise.
10916 (record_conversion_result): New function. Change all codes setting
10917 coding->result to call this function.
10918 (detect_coding_utf_8, decode_coding_utf_8)
10919 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
10920 Don't use the local variable incomplete.
10921 (emacs_mule_char): Change the second arg to `const'.
10922 (decode_coding): Fix of flushing out unprocessed data.
10923 (make_conversion_work_buffer): Fix making of a work buffer.
10924 (decode_coding_object): Return coding->dst_object.
10925
10926 * fontset.c (set_fontset_font): Fix args.
10927
10928 * lisp.h (CHARACTERBITS): Define as 22.
10929
10930 * process.c (send_process): Be sure to set coding->src_multibyte.
10931
10932 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
10933
109342008-02-01 Kenichi Handa <handa@m17n.org>
10935
10936 * xdisp.c (handle_auto_composed_prop): Give limit to
10937 Fnext_single_char_property_change.
10938
109392008-02-01 Kenichi Handa <handa@m17n.org>
10940
10941 * composite.c (syms_of_composite): Don't make the composition hash
10942 table weak.
10943
10944 * fontset.c (Fset_fontset_font): Fix docstring.
10945
10946 * lisp.h (detect_coding_system): Adjust prototype.
10947
10948 * fileio.c (kill_workbuf_unwind): Delete this function.
10949 (Finsert_file_contents): Adjust the call of detect_coding_system.
10950 Get conversion_buffer by code_conversion_save. Use the macro
10951 CODING_MAY_REQUIRE_DECODING. After decoding, update
10952 coding_system.
10953
10954 * coding.h (make_conversion_work_buffer): Delete extern.
10955 (code_conversion_save): Extern it.
10956
10957 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
10958 (CODING_GET_INFO): Delete argument eol_type. Change callers.
10959 (decode_coding_utf_8): Don't do eol converion.
10960 (detect_coding_utf_16): Check coding->src_chars, not
10961 coding->src_bytes. Add heuristics for those that have no signature.
10962 (decode_coding_emacs_mule, decode_coding_iso_2022)
10963 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
10964 Don't do eol converion.
10965 (adjust_coding_eol_type): Return a new coding system.
10966 (detect_coding): Don't detect eol. Fix for utf-16 detection.
10967 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
10968 each change.
10969 (decode_coding): Pay attention to undo_list. Do eol conversion for
10970 all types of coding-systems (if necessary).
10971 (Vcode_conversion_work_buf_list): Delete it.
10972 (Vcode_conversion_reused_workbuf): Rename from
10973 Vcode_conversion_reused_work_buf.
10974 (Vcode_conversion_workbuf_name): New variable.
10975 (reused_workbuf_in_use): New variable.
10976 (make_conversion_work_buffer): Delete the arg DEPTH.
10977 (code_conversion_restore): Change argument to cons.
10978 (code_conversion_save): Delete the argument BUFFER. Change callers.
10979 (detect_coding_system): New argument src_chars. Change callers.
10980 Fix for utf-16 detection.
10981 (init_coding_once): Don't use ISO_carriage_return.
10982 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
10983 reused_workbuf_in_use.
10984
109852008-02-01 Kenichi Handa <handa@m17n.org>
10986
10987 * keymap.c (store_in_keymap): Pay attention to the case that idx
10988 is a cons specifying a character range.
10989
109902008-02-01 Kenichi Handa <handa@m17n.org>
10991
10992 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
10993 HANDLED_RECOMPUTE_PROPS.
10994
10995 * coding.c (Fdefine_coding_system_internal): Fix checking of
10996 ascii compatibility.
10997
109982008-02-01 Kenichi Handa <handa@m17n.org>
10999
11000 * charset.c (find_charsets_in_text): Delete unused locale variable.
11001 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
11002
11003 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
11004 Resync charset_list to Vemacs_mule_charset_list.
11005
11006 * keymap.c (store_in_keymap): Pay attention to the case that idx
11007 is a cons specifying a character range.
11008
110092008-02-01 Kenichi Handa <handa@m17n.org>
11010
11011 * composite.c (update_compositions): Bind inhibit-read-only, etc
11012 to t before calling remove-list-of-text-properties.
11013
11014 * print.c (print_object): Always print ASCII chars as is.
11015
110162008-02-01 Kenichi Handa <handa@m17n.org>
11017
11018 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
11019
11020 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
11021 is a char table.
11022
110232008-02-01 Kenichi Handa <handa@m17n.org>
11024
11025 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
11026
110272008-02-01 Kenichi Handa <handa@m17n.org>
11028
11029 * xfaces.c (set_lface_from_font_name): Fix for the case that
11030 FONTNAME is not fontset name.
11031
110322008-02-01 Kenichi Handa <handa@m17n.org>
11033
11034 * fns.c (base64_encode_1): Fix previous change.
11035
110362008-02-01 Kenichi Handa <handa@m17n.org>
11037
11038 * fontset.c (set_fontset_font): New function.
11039 (Fset_fontset_font): If a font is specified for a charset, use
11040 map_charset_chars to store the font spec in a fontset.
11041
110422008-02-01 Kenichi Handa <handa@m17n.org>
11043
11044 * fontset.c (fontset_face): Create a fallback fontset on demand.
11045 (make_fontset): Don't create a fallback fontset here.
11046 (free_face_fontset): Free a fallback fontset (if any) too.
11047 (n_auto_fontsets): Delete this variable.
11048 (auto_fontset_alist): New variable.
11049 (new_fontset_from_font_name): Check auto_fontset_alist.
11050 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
11051 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
11052 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
11053 Defsubr Sfontset_list_all.
11054
110552008-02-01 Kenichi Handa <handa@m17n.org>
11056
11057 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
11058
110592008-02-01 Kenichi Handa <handa@m17n.org>
11060
11061 * fontset.c (Fnew_fontset): Check NAME more rigidly.
11062
110632008-02-01 Kenichi Handa <handa@m17n.org>
11064
11065 * editfns.c (Fgoto_char): Fix docstring.
11066
110672008-02-01 Kenichi Handa <handa@m17n.org>
11068
11069 * insdel.c (insert_from_gap): Adjust intervals correctly.
11070
110712008-02-01 Jason Rumney <jasonr@gnu.org>
11072
11073 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
11074 (pfnGetFontUnicodeRanges): New dynamically loaded function.
11075 (w32_initialize): Try to load it.
11076 (x_get_font_repertory): Use it if available.
11077 (w32_encode_char): Add shortcut for unicode output.
11078
11079 * w32fns.c (w32_load_system_font): Default charset to -1.
11080 (x_to_w32_charset): Match all fonts for unicode.
11081 (w32_to_x_charset): New parameter matching. Don't return partial
11082 or wildcard charsets.
11083 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
11084 (w32_codepage_for_font): Return CP_UNICODE for unicode.
11085 (w32_to_x_font): Match charset to real charset.
11086 (enum_font_cb2): Always list unicode versions.
11087
11088 * makefile.w32-in (temacs): Increase EMHEAP.
11089
110902008-02-01 Jason Rumney <jasonr@gnu.org>
11091
11092 * w32term.c (w32_encode_char): New charset parameter.
11093 font_info.encoding becomes encoding_type.
11094 (x_get_font_repertory): New function. Warning: stub only!
11095 (x_new_font): Return quickly if font already set.
11096 (x_new_fontset): fontsetname parameter is Lisp_Object.
11097 Use new fs_query_fontset. Try new_fontset_from_font_name.
11098 Use fontset_name for return value.
11099
11100 * w32term.h: Declare x_get_font_repertory.
11101
11102 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
11103 place of find_charset_in_text. Use encode_coding_object in place
11104 of encode_coding.
11105 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
11106 decode_coding.
11107
11108 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
11109 of x_new_fontset.
11110 (w32_load_system_font): Initialize charset as unicode.
11111 font_info.encoding becomes encoding_type.
11112 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
11113 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
11114 (syms_of_w32fns): Set get_font_repertory_func.
11115
11116 * w32console.c: Include character.h. Use terminal_encode_buffer
11117 from term.c.
11118 (write_glyphs): Use new version of encode_terminal_code. Use
11119 encode_coding_object in place of encode_coding.
11120
11121 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
11122 encoding becomes encoding_type.
11123
11124 * term.c (terminal_encode_buffer): Make externally visible.
11125
11126 * makefile.w32-in: Add character.h dependancies.
11127 (character.o, chartab.o): New targets.
11128
111292008-02-01 Kenichi Handa <handa@m17n.org>
11130
11131 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
11132 CODING_ID_EOL_TYPE.
11133
111342008-02-01 Andreas Schwab <schwab@suse.de>
11135
11136 * coding.c (produce_chars): Revert last change.
11137
111382008-02-01 Kenichi Handa <handa@m17n.org>
11139
11140 * charset.h (charset_unicode): Extern it.
11141
11142 * charset.c (string_xstring_p): Check by (C >= 0x100).
11143 (find_charsets_in_text): Change format of the arc CHARSETS. New
11144 arg MULTIBYTE.
11145 (Ffind_charset_region, Ffind_charset_string): Adjust for the
11146 change of find_charsets_in_text.
11147 (Fsplit_char): Fix doc. Never return unknown.
11148
11149 * chartab.c (char_table_translate): Use CHARACTERP, not INTEGERP.
11150
11151 * coding.c (Fdefine_coding_system_alias): Update
11152 Vcoding_system_list.
11153
11154 * fontset.c (load_font_get_repertory): Pay attention to the case
11155 that ENCODING of a font is specified by a char-table.
11156
11157 * xterm.c (x_get_font_repertory): Handle the case that the
11158 encoding of font is other than Unicode.
11159
111602008-02-01 Kenichi Handa <handa@m17n.org>
11161
11162 * term.c (encode_terminal_code): Don't handle glyph-table. Check
11163 if a character is encodable by the terminal coding system. If
11164 not, produces proper number of `?'s. Update
11165 terminal_encode_buffer and terminal_encode_buf_size if necessary.
11166 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
11167
111682008-02-01 Kenichi Handa <handa@m17n.org>
11169
11170 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
11171 variables.
11172 (encode_terminal_code): Change argument. Encode multiple
11173 characters at once. Store the result of encoding in
11174 terminal_encode_buffer.
11175 (write_glyphs, insert_glyphs): Adjust for the change of
11176 encode_terminal_code.
11177 (term_init): Initialize terminal_encode_buffer and
11178 terminal_encode_buf_size.
11179
11180 * coding.c (consume_chars): If coding->src_object is nil, don't
11181 check annotation.
11182
111832008-02-01 Kenichi Handa <handa@m17n.org>
11184
11185 * character.c (char_string): Use ASCII_CHAR_P instead of
11186 SINGLE_BYTE_CHAR_P.
11187
111882008-02-01 Kenichi Handa <handa@m17n.org>
11189
11190 * xdisp.c (handle_auto_composed_prop): Check if the last
11191 characters of auto-composed region is newly composed with the
11192 following characters.
11193 (handle_composition_prop): Fix checking of point being inside
11194 composition.
11195
111962008-02-01 Kenichi Handa <handa@m17n.org>
11197
11198 * fns.c (concat): Don't change multibyteness of the result by
11199 concatenating an 8-bit character.
11200
11201 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
11202 multibyteness of the result when newelt is an 8-bit character.
11203
112042008-02-01 Dave Love <fx@gnu.org>
11205
11206 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
11207 EMACS_INT.
11208
11209 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
11210
11211 * xfaces.c (face_numeric_value): Declare dim size_t.
11212 (Finternal_lisp_face_equal_p): Remove unused f.
11213
11214 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
11215 (MATRIX_ROW): Remove unused vars.
11216 (draw_glyphs, x_insert_glyphs, fast_find_position)
11217 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
11218 byte/char counts.
11219
11220 * regex.c (regex_compile): Remove unused var.
11221
11222 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
11223
11224 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
11225 (Faccessible_keymaps, where_is_internal): Remove unused vars.
11226
11227 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
11228
11229 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
11230
11231 * fileio.c (Fwrite_region): Remove unused var.
11232
11233 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
11234 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
11235
11236 * composite.c (Fremove_list_of_text_properties): Declare.
11237
11238 * coding.c (inhibit_pre_post_conversion): Remove (unused).
11239 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
11240 (coding_inherit_eol_type): Remove unused attrs.
11241 (detect_coding): Cast arg of detect_eol.
11242
11243 * charset.c (syms_of_charset): Remove unused var p.
11244 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
11245 byte/char counts.
11246
11247 * casetab.c (set_case_table): Remove unused var.
11248
11249 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
11250 unused vars.
11251
112522008-02-01 Dave Love <fx@gnu.org>
11253
11254 * xterm.c (x_bitmap_mask): Declare.
11255
112562008-02-01 Dave Love <fx@gnu.org>
11257
11258 * xterm.c (x_term_init): Fix type error.
11259
11260 * lisp.h: Add Funibyte_char_to_multibyte.
11261
11262 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
11263 (Fset_coding_system_priority): Doc fix.
11264
11265 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
11266
11267 * indent.c (check_composition): Make start and end EMACS_INT.
11268
11269 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
11270
11271 * xdisp.c (handle_composition_prop, check_point_in_composition):
11272 Make buffer positions EMACS_INT.
11273
11274 * composite.c (find_composition, run_composition_function)
11275 (update_compositions, Ffind_composition_internal): Make buffer
11276 positions EMACS_INT.
11277
11278 * composite.h (find_composition, update_compositions): Make
11279 position args EMACS_INT.
11280
11281 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
11282
11283 * intervals.c (get_property_and_range):
11284 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
11285
11286 * unexalpha.c: Don't include varargs.h.
11287
112882008-02-01 Dave Love <fx@gnu.org>
11289
11290 * coding.h (ENCODE_UTF_8): New.
11291
11292 * Makefile.in (gtkutil.o): Depend on coding.h.
11293
11294 * coding.c (Fset_coding_system_priority): Doc fix.
11295
112962008-02-01 Kenichi Handa <handa@m17n.org>
11297
11298 * fileio.c (Finsert_file_contents): Call setup_coding_system in
11299 the case of auto saving.
11300
113012008-02-01 Andreas Schwab <schwab@suse.de>
11302
11303 * chartab.c (map_char_table, map_char_table_for_charset): Protect
11304 `range' from GC.
11305
113062008-02-01 Kenichi Handa <handa@m17n.org>
11307
11308 * coding.c (decode_coding_sjis): Check bytes more rigidly.
11309
113102008-02-01 Kenichi Handa <handa@m17n.org>
11311
11312 * fileio.c (choose_write_coding_system): Return a decided coding system.
11313 (Fwrite_region): Set Vlast_coding_system_used to the return value
11314 of choose_write_coding_system.
11315
113162008-02-01 Kenichi Handa <handa@m17n.org>
11317
11318 * charset.c (Fset_charset_priority): Pay attention to duplicated
11319 arguments.
11320
11321 * coding.c (QCcategory): New variable.
11322 (syms_of_coding): Defsym it. Set all elements of
11323 Vcoding_category_table and their symbol values.
11324 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
11325 coding-category-XXX, and coding-category-list.
11326 (Fdefine_coding_system_internal): Add category in the plist.
11327
113282008-02-01 Kenichi Handa <handa@m17n.org>
11329
11330 * callproc.c (Fcall_process): Handle carryover correctly.
11331
11332 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
11333 (raw_text_coding_system): Check NILP (coding_system).
11334 (coding_inherit_eol_type): Check NILP (coding_system) and
11335 NILP (parent).
11336 (consume_chars): Fix for the case of raw-text.
11337
11338 * process.c (read_process_output): Handle carryover correctly.
11339
113402008-02-01 Dave Love <fx@gnu.org>
11341
11342 * regex.c (re_search_2): Fix last change.
11343
113442008-02-01 Kenichi Handa <handa@m17n.org>
11345
11346 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
11347 target_multibyte. Even in a unibyte case, return a converted
11348 multibyte char.
11349 (GET_CHAR_AFTER): New macro.
11350 (PATFETCH): Translate via multibyte char.
11351 (HANDLE_UNIBYTE_RANGE): Delete this macro.
11352 (SETUP_MULTIBYTE_RANGE): New macro.
11353 (regex_compile): Setup compiled code so that its multibyteness
11354 matches that of a target. Fix the handling of "[X-YZ]" using
11355 SETUP_MULTIBYTE_RANGE.
11356 (analyse_first) <charset>: For filling fastmap for all multibyte
11357 characters, don't check by BASE_LEADING_CODE_P.
11358 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
11359 the same as RE_MULTIBYTE_P (bufp) now.
11360 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
11361 (TARGET_CHAR_AND_LENGTH): Delete this macro.
11362 (TRANSLATE_VIA_MULTIBYTE): New macro.
11363 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
11364 It is the same as RE_MULTIBYTE_P (bufp) now.
11365 <exactn>: Translate via multibyte.
11366 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
11367 translate it.
11368 <charset, charset_not>: Fetch a character by
11369 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
11370 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
11371 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
11372 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
11373 by GET_CHAR_AFTER.
11374 (bcmp_translate): Likewise.
11375
11376 * search.c (compile_pattern): Check the member target_multibyte,
11377 not the member multibyte of buf.
11378
11379 * lread.c (read1): While reading a string, set force_singlebyte
11380 and force_multibyte correctly.
11381
11382 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
11383 up of unibyte_to_multibyte_table.
11384
113852008-02-01 Kenichi Handa <handa@m17n.org>
11386
11387 * coding.c (setup_coding_system): If coding has
11388 post-read-conversion or pre-write-conversion, set
11389 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
11390 respectively.
11391 (decode_coding_gap): Run post-read-conversion if any.
11392
11393 * fileio.c (Finsert_file_contents): Even if we read into a
11394 unibyte buffer, check if we must decode the result or not.
11395
113962008-02-01 Kenichi Handa <handa@m17n.org>
11397
11398 * coding.c (make_conversion_work_buffer): Change the work buffer
11399 name to the same one as that of Emacs 21.
11400
114012008-02-01 Kenichi Handa <handa@m17n.org>
11402
11403 * coding.h (make_conversion_work_buffer): Adjust prototype.
11404 (code_conversion_restore): Don't extern it.
11405
11406 * coding.c (detected_mask): Delete unused variable.
11407 (decode_coding_iso_2022): Pay attention to the byte sequence of
11408 CTEXT extended segment, and retain those bytes as is.
11409 (decode_coding_ccl): Delete unused variable `valids'.
11410 (setup_coding_system): Delete unused variable `category'.
11411 (consume_chars): Delete unused variable `category'. Make it work
11412 for non-multibyte case.
11413 (make_conversion_work_buffer): Change argument.
11414 (saved_coding): Delete unused variable.
11415 (code_conversion_restore): Don't check saved_coding->destination.
11416 (code_conversion_save): New function.
11417 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
11418 instead of record_unwind_protect.
11419 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
11420 (detect_coding_system): Delete unused variable `mask'.
11421 (Fdefine_coding_system_internal): Delete unused variable id.
11422
11423 * fileio.c (kill_workbuf_unwind): New function.
11424 (Finsert_file_contents): On replacing, call
11425 make_conversion_work_buffer with correct args, and call
11426 record_unwind_protect with the first arg kill_workbuf_unwind.
11427
11428 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
11429
114302008-02-01 Kenichi Handa <handa@m17n.org>
11431
11432 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
11433 (fontset_add): Fix for the case that TO is less than TO1.
11434 (Ffontset_info): Don't use fallback fontset on checking the
11435 default fontset.
11436 (dump_fontset): New function for debugging.
11437
11438 * coding.c (Fdefine_coding_system_internal): Fix for the case that
11439 coding_type is Qcharset.
11440
114412008-02-01 Kenichi Handa <handa@m17n.org>
11442
11443 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
11444 (map_char_table): Don't inherit the value from the parent on
11445 initializing VAL. Adjust for the above change.
11446
114472008-02-01 Kenichi Handa <handa@m17n.org>
11448
11449 * coding.c (Qsignature, Qendian): Delete these variables.
11450 (syms_of_coding): Don't initialize them.
11451 (CATEGORY_MASK_UTF_16_AUTO): New macro.
11452 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
11453 detect_info->found.
11454 (decode_coding_utf_16): Don't detect BOM here.
11455 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
11456 is NOT utf_16_without_bom.
11457 (setup_coding_system): For a coding system of type utf-16, check
11458 if the attribute :endian is Qbig or not (not nil or not), and set
11459 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
11460 (detect_coding): If coding type is utf-16 and BOM detection is
11461 required, detect it.
11462 (Fdefine_coding_system_internal): For a coding system of type
11463 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
11464
114652008-02-01 Kenichi Handa <handa@m17n.org>
11466
11467 * coding.c (coding_set_source): Fix for the case that the current
11468 buffer is different from coding->src_object.
11469 (decode_coding_object): Don't use the conversion work buffer if
11470 DST_OBJECT is a buffer.
11471
114722008-02-01 Dave Love <fx@gnu.org>
11473
11474 * lread.c (read_emacs_mule_char) [len==2]: Index
11475 emacs_mule_charset correctly.
11476
114772008-02-01 Dave Love <fx@gnu.org>
11478
11479 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
11480 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
11481 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
11482 treated specially.)
11483 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
11484 (detected_mask): Remove Big5 bits.
11485
114862008-02-01 Kenichi Handa <handa@m17n.org>
11487
11488 The following changes are to make the font rescaling facility
11489 compatible with Emacs 21.
11490
11491 * xfaces.c (Vface_font_rescale_alist): Rename from
11492 Vface_resizing_fonts.
11493 (struct font_name): Rename member resizing_ratio to rescale_ratio.
11494 (font_rescale_ratio): Rename from font_resizing_ratio.
11495 (split_font_name): Set font->rescale_ratio.
11496 (better_font_p): Pay attention to font->rescale_ratio.
11497 (build_scalable_font_name): Likewise. Change RESX, and RESY
11498 fields.
11499 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
11500
115012008-02-01 Kenichi Handa <handa@m17n.org>
11502
11503 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
11504 (Qutf_16_le): Remove these variables.
11505 (syms_of_coding): Don't DEFSYM them.
11506 (decode_coding_utf_16): Fix handling of BOM.
11507 (encode_coding_utf_16): Fix handling of BOM.
11508
115092008-02-01 Kenichi Handa <handa@m17n.org>
11510
11511 * fileio.c (Finsert_file_contents): On replacing, before decoding
11512 the file into the work buffer, set point of the work buffer to the end.
11513
115142008-02-01 Dave Love <fx@gnu.org>
11515
11516 * coding.c (Fcheck_coding_systems_region): Fix type errors.
11517
115182008-02-01 Dave Love <fx@gnu.org>
11519
11520 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
11521 and fix C types.
11522
115232008-02-01 Kenichi Handa <handa@m17n.org>
11524
11525 * xdisp.c (SKIP_GLYPHS): New macro.
11526 (set_cursor_from_row): Pay attention to string display properties.
11527
11528 * category.c (copy_category_entry): Fix for the case that RANGE
11529 is an integer.
11530
11531 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
11532
11533 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
11534
115352008-02-01 Kenichi Handa <handa@m17n.org>
11536
11537 * charset.c (Fcharset_id_internal): New function.
11538 (syms_of_charset): Defsubr it.
11539
11540 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
11541 with the last arg charset_list acquired from coding.
11542 (Fdefine_coding_system_internal): For ccl-based coding system, fix
11543 the attribute coding_attr_ccl_valids.
11544
11545 * coding.h (enum define_coding_ccl_arg_index): Set the first
11546 member coding_arg_ccl_decoder to coding_arg_max.
11547
11548 * ccl.h (ccl_driver): Adjust prototype.
11549
11550 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
11551 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
60612c8f 11552 of DECODE_CHAR, ENCODE_CHAR, CHAR_CHARSET.
aac0c6e3
MR
11553 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
11554 last arg Qnil.
11555
115562008-02-01 Kenichi Handa <handa@m17n.org>
11557
11558 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
11559 call encode_char.
11560
11561 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
11562
115632008-02-01 Dave Love <fx@gnu.org>
11564
11565 * composite.c (syms_of_composite): Make composition_hash_table weak.
11566
115672008-02-01 Kenichi Handa <handa@m17n.org>
11568
11569 * dispextern.h (check_face_attributes, generate_ascii_font_name)
11570 (font_name_registry): Don't extern them.
11571 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
11572
11573 * fontset.h (Qfontset): Don't extern it.
11574 (new_fontset_from_font_name): Extern it.
11575
11576 * fontset.c: Give 8 extra slots to fontset objects.
11577 (Qfontset_info): New variable.
11578 (syms_of_fontset): Defsym it.
11579 (FONTSET_FALLBACK): New macro.
11580 (fontset_face): Try also the default fontset.
11581 (make_fontset): Realize a fallback fontset from the default fontset.
11582 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
11583 using split_font_name_into_vector and build_font_name_from_vector.
11584 (Fset_fontset_font): Access the elements of font_spec by enum
11585 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
11586 name by using split_font_name_into_vector.
11587 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
11588 generate a proper font name from the fontset name. Update
11589 Vfontset_alias_alist.
11590 (n_auto_fontsets): New variable.
11591 (new_fontset_from_font_name): New function.
11592 (Ffont_info): Store the information about fonts generated from the
11593 default fontset in the first extra slot of the returned char-table.
11594
11595 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
11596 (font_name_registry): Delete function.
11597 (split_font_name_into_vector): New function.
11598 (build_font_name_from_vector): New function.
11599 (font_list): The argument REGISTRY is now a list of registry names.
11600 (choose_face_font): If we are choosing an ASCII font, and ATTRS
11601 specifies an explicit font name, return the name as is. Make a
11602 list of registy names.
11603
11604 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
11605 of x_new_fontset.
11606 (Fx_create_frame): Don't call x_new_fontset here. Just use
11607 x_list_fonts to check the existence of fonts.
11608
11609 * xterm.h (x_new_fontset): Adjust prototype.
11610
11611 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
11612 string. Use new_fontset_from_font_name to create a fontset from a
11613 font name.
11614
116152008-02-01 Kenichi Handa <handa@m17n.org>
11616
11617 * syntax.c (Vfind_word_boundary_function_table): New name for
11618 Vnext_word_boundary_function_table.
11619 (find-word-boundary-function-table): New name for
11620 next-word-boundary-function-table.
11621
116222008-02-01 Dave Love <fx@gnu.org>
11623
11624 * Makefile.in: Fix some dependencies.
11625
11626 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
11627 set it to nil before returning.
11628
11629 * composite.c (update_compositions): Fix type error.
11630
11631 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
11632
116332008-02-01 Kenichi Handa <handa@m17n.org>
11634
11635 * xterm.c (x_new_font): Optimize for the case that the font is
11636 already set for the frame.
11637
116382008-02-01 Kenichi Handa <handa@m17n.org>
11639
11640 * chartab.c (char_table_ascii): Check if the char table contents
11641 is sub-char-table or not.
11642 (char_table_set, char_table_set_range): Fix argument to
11643 char_table_ascii.
11644
11645 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
11646 (detect_coding_utf_8, detect_coding_utf_16)
11647 (detect_coding_emacs_mule, detect_coding_iso_2022)
11648 (detect_coding_sjis, detect_coding_big5)
11649 (detect_coding_ccl, detect_coding_charset): Change argument MASK
11650 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
11651 sequence is valid in this coding system. Change callers.
11652 (MAX_ANNOTATION_LENGTH): New macro.
11653 (ADD_ANNOTATION_DATA): New macro.
11654 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
11655 ADD_ANNOTATION_DATA. Change the format of annotation data.
11656 (ADD_CHARSET_DATA): New macro.
11657 (emacs_mule_char): New argument ID. Change callers.
11658 (decode_coding_emacs_mule, decode_coding_iso_2022)
11659 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
11660 Produce charset annotation data in coding->charbuf.
11661 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
11662 to charset annotation data in coding->charbuf.
11663 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
11664 coding->common_flags if the coding system is iso-2022 based and
11665 uses designation.
11666 (produce_composition): Adjust for the new annotation data format.
11667 (produce_charset): New function.
11668 (produce_annotation): Handle charset annotation.
11669 (handle_composition_annotation, handle_charset_annotation): New
11670 functions.
11671 (consume_chars): Handle charset annotation. Utilize the above two
11672 functions.
11673 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
11674 buffer, get the deleted text as a string and set
11675 coding->src_object to that string.
11676 (detect_coding, detect_coding_system): Use the new struct
11677 coding_detection_info.
11678
11679 * coding.h (struct coding_detection_info): New structure.
11680 (struct coding_system): Adjust prototype of the member `detector'.
11681 (CODING_ANNOTATE_CHARSET_MASK): New macro.
11682
116832008-02-01 Kenichi Handa <handa@m17n.org>
11684
11685 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
11686
116872008-02-01 Dave Love <fx@gnu.org>
11688
11689 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
11690 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
11691 to new local and nullify apropos_accumulate before returning.
11692 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
11693
116942008-02-01 Kenichi Handa <handa@m17n.org>
11695
11696 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
11697 correctly.
e3eea1fc 11698
aac0c6e3
MR
116992008-02-01 Dave Love <fx@gnu.org>
11700
11701 * fns.c (Flanginfo): Call synchronize_system_time_locale.
11702
117032008-02-01 Kenichi Handa <handa@m17n.org>
11704
11705 The following changes are to make character composition happen
11706 automatically on displaying.
11707
11708 * Makefile.in (lisp, shortlisp): Add composite.elc.
11709
11710 * composite.h (Qauto_composed, Vauto_composition_function)
11711 (Qauto_composition_function): Extern them.
11712
11713 * composite.c (Vcomposition_function_table)
11714 (Qcomposition_function_table): Delete variables.
11715 (Qauto_composed, Vauto_composition_function)
11716 (Qauto_composition_function): New variables.
11717 (run_composition_function): Don't call
11718 compose-chars-after-function.
11719 (update_compositions): Clear `auto-composed' text property.
11720 (compose_chars_in_text): Delete this function.
11721 (syms_of_composite): Staticpro Qauto_composed and
11722 Qauto_composition_function. Declare Vauto_composition_function as
11723 a Lisp variable.
11724
11725 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
11726
11727 * xdisp.c (it_props): Add an entry for Qauto_composed.
11728 (handle_auto_composed_prop): New function.
11729
11730 * xselect.c (selection_data_to_lisp_data): Don't call
11731 compose_chars_in_text.
11732
117332008-02-01 Dave Love <fx@gnu.org>
11734
11735 * keyboard.c (read_char): Modify checking around use of
11736 Vkeyboard_translate_table.
11737
11738 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
11739 and fix C types.
11740
117412008-02-01 Kenichi Handa <handa@m17n.org>
11742
11743 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
11744 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
11745 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
11746 the case that the last byte is '\r' correctly.
11747 (decode_coding): Flush out the unprocessed data correctly.
11748 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
11749
117502008-02-01 Dave Love <fx@gnu.org>
11751
11752 * xterm.c (XTread_socket): Fix changes for defined keysyms.
11753 Add XK_ISO... case.
11754 (xaw_scroll_callback): Revert last change.
11755
117562008-02-01 Kenichi Handa <handa@m17n.org>
11757
11758 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
11759
117602008-02-01 Kenichi Handa <handa@m17n.org>
11761
11762 * xfaces.c (Vface_resizing_fonts): New variable.
11763 (struct font_name): New member `resizing_ratio'.
11764 (font_resizing_ratio): New function.
11765 (split_font_name): Set font->resizing_ratio.
11766 (better_font_p): Pay attention to font->resizing_ratio.
11767 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
11768 RESX, and RESY fields.
11769 (try_alternative_families): Try scalable fonts if
11770 Vscalable_fonts_allowed is not Qt.
11771 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
11772
117732008-02-01 Dave Love <fx@gnu.org>
11774
11775 * xterm.c (xaw_scroll_callback): Cast correctly.
11776
117772008-02-01 Dave Love <fx@gnu.org>
11778
11779 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
11780 (lispy_kana_keys): Comment out.
11781 (make_lispy_event) [XK_kana_A]: Comment out.
11782
11783 * xterm.c (xaw_scroll_callback): Cast call_data.
11784 (XTread_socket): Deal with ASCII keysyms.
11785 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
11786
117872008-02-01 Dave Love <fx@gnu.org>
11788
11789 * xterm.c (Vx_keysym_table): New.
11790 (syms_of_xterm): Initialize it.
11791 (XTread_socket): Use it.
11792 From head: Eliminate incorrect optimization that tried to avoid
11793 decoding the output of X*LookupString.
11794 (x_get_font_repertory): Delete charset declaration.
11795
117962008-02-01 Kenichi Handa <handa@m17n.org>
11797
11798 * coding.c (detect_coding_charset): If only ASCII bytes are found,
11799 return 0.
11800 (Fdefine_coding_system_internal): Setup
11801 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
11802
118032008-02-01 Dave Love <fx@gnu.org>
11804
11805 * coding.c (Fcheck_coding_system): Doc fix.
11806
11807 * editfns.c (Finsert_byte): Return a proper value.
11808
118092008-02-01 Kenichi Handa <handa@m17n.org>
11810
11811 * coding.c (decode_coding): Fix args to translate_chars. Pay
11812 attention to Vstandard_translation_table_for_decode.
11813 (encode_coding): Fix args to translate_chars. Pay attention to
11814 Vstandard_translation_table_for_encode.
11815
11816 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
11817 SINGLE_BYTE_CHAR_P.
11818
11819 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
11820 not by SINGLE_BYTE_CHAR_P.
11821
11822 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
11823 SINGLE_BYTE_CHAR_P.
11824
11825 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
11826 SINGLE_BYTE_CHAR_P.
11827
11828 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
11829 by SINGLE_BYTE_CHAR_P.
11830
11831 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
11832 SINGLE_BYTE_CHAR_P.
11833
118342008-02-01 Dave Love <fx@gnu.org>
11835
11836 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
11837
118382008-02-01 Dave Love <fx@gnu.org>
11839
11840 * fns.c (Flanginfo): Fix typo.
11841
11842 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
11843
118442008-02-01 Kenichi Handa <handa@m17n.org>
11845
11846 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
11847 (detect_coding_emacs_mule, detect_coding_iso_2022)
11848 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
11849 incomplete byte sequence. Don't update *mask when correctly detected.
11850 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
11851 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
11852 (detect_coding, detect_coding_system): Adjust for the changes above.
11853
118542008-02-01 Kenichi Handa <handa@m17n.org>
11855
11856 * character.c (char_string): Rename from
11857 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
11858 (string_char): Rename from string_char.
11859
11860 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
11861 if C is greater than MAX_3_BYTE_CHAR.
11862 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
11863 string_char instead of string_char_with_unification.
11864
118652008-02-01 Dave Love <fx@gnu.org>
11866
11867 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
11868
118692008-02-01 Kenichi Handa <handa@m17n.org>
11870
11871 * keymap.c (push_key_description): Pay attention to force_multibyte.
11872
11873 * regex.c (re_search_2): Fix for the case of unibyte buffer.
11874
118752008-02-01 Dave Love <fx@gnu.org>
11876
11877 * charset.c (define_charset_internal): Rename `supprementary'.
11878
11879 * Makefile.in (lisp, shortlisp): Remove latin-N.
11880
118812008-02-01 Dave Love <fx@gnu.org>
11882
11883 * xfns.c (x_window, x_window): Use use_xim.
11884
11885 * xterm.c (use_xim): Initialize.
11886 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
11887 (x_term_init): Maybe set use_xim.
11888
11889 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
11890
118912008-02-01 Kenichi Handa <handa@m17n.org>
11892
11893 * search.c (search_buffer): Fix case-fold-search of multibyte
11894 characters.
11895 (boyer_moore): Rename the last argument to char_high_bits.
11896
118972008-02-01 Kenichi Handa <handa@m17n.org>
11898
11899 * xdisp.c (display_string): Fix for the case of zero width glyph.
11900
11901 * xfns.c (x_set_font): Change the error message of the case that
11902 x_new_fontset returns Qt.
11903
11904 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
11905 (Finternal_set_lisp_face_attribute): Use signal_error for the
11906 error of invalid fontset.
11907
11908 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
11909 fontset, return Qt.
11910
119112008-02-01 Dave Love <fx@gnu.org>
11912
11913 * unexelf.c (unexec): Make .got handling not SGI-specific.
11914
11915 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
11916
11917 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
11918
11919 * keyboard.c (read_key_sequence): Fix type error.
11920
11921 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
11922 type error.
11923
11924 * fontset.c (fontset_add): Return Lisp_Object.
11925
119262008-02-01 Dave Love <fx@gnu.org>
11927
11928 * charset.h (charset_ordered_list_tick): Declare extern.
11929
119302008-02-01 Kenichi Handa <handa@m17n.org>
11931
11932 The following changes (and some of 2008-02-01 changes of mine) are
11933 for handling syntax, category, and case conversion for unibyte
11934 characters by converting them to multibyte on the fly. With these
11935 changes, we don't have to setup syntax and case tables for unibyte
11936 characters in each language environment.
11937
11938 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
11939 multibyte if necessary.
11940
11941 * bytecode.c (Fbyte_code): Likewise.
11942
11943 * character.h (LEADING_CODE_LATIN_1_MIN)
11944 (LEADING_CODE_LATIN_1_MAX): New macros.
11945 (unibyte_to_multibyte_table): Extern it.
11946 (unibyte_char_to_multibyte): New macro.
11947 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
11948 (CHAR_LEADING_CODE): New macro.
11949 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
11950
11951 * character.c (unibyte_to_multibyte_table): New variable.
11952 (unibyte_char_to_multibyte): Move to character.h and define as macro.
11953 (multibyte_char_to_unibyte): If C is an eight-bit character,
11954 convert it to the corresponding byte value.
11955
11956 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
11957 not 1, signals an error. Update the elements of
11958 unibyte_to_multibyte_table.
11959 (init_charset_once): Initialize unibyte_to_multibyte_table.
11960 (syms_of_charset): Define the charset `iso-8859-1'.
11961
11962 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
11963 as is without converting it to unibyte. In a unibyte buffer,
11964 convert C to multibyte before checking the syntax.
11965
11966 * lisp.h (unibyte_char_to_multibyte): Delete extern.
11967
11968 * minibuf.c (Fminibuffer_complete_word): Use the macro
11969 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
11970
11971 * regex.h (struct re_pattern_buffer): New member target_multibyte.
11972
11973 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
11974 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
11975 that is zero, convert an eight-bit char to multibyte.
11976 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
11977 non-emacs case.
11978 (PATFETCH): Convert an eight-bit char to multibyte.
11979 (HANDLE_UNIBYTE_RANGE): New macro.
11980 (regex_compile): Setup the compiled pattern for multibyte chars
11981 even if the given regex string is unibyte. Use PATFETCH_RAW
11982 instead of PATFETCH in many places. To handle `charset'
11983 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
11984 only for ASCII chars.
11985 (analyse_first) <exactn>: Simplify because the compiled pattern
11986 is multibyte.
11987 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
11988 <charset>: Use CHAR_LEADING_CODE to get leading codes.
11989 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
11990 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
11991 multibyte always 1.
11992 (re_search_2): In emacs, set the locale variable multibyte to 1,
11993 otherwise to 0. New local variable target_multibyte. Check it
11994 to decide the multibyteness of STR1 and STR2. If
11995 target_multibyte is zero, convert unibyte chars to multibyte
11996 before translating and checking fastmap.
11997 (TARGET_CHAR_AND_LENGTH): New macro.
11998 (re_match_2_internal): In emacs, set the locale variable multibyte
11999 to 1, otherwise to 0. New local variable target_multibyte. Check
12000 it to decide the multibyteness of STR1 and STR2. Use
12001 TARGET_CHAR_AND_LENGTH to fetch a character from D.
12002 <charset, charset_not>: If multibyte is nonzero, check fastmap
12003 only for ASCII chars. Call bcmp_translate with
12004 target_multibyte, not with multibyte.
12005 <begline>: Declare the local variable C as `unsigned'.
12006 (bcmp_translate): Change the last arg name to target_multibyte.
12007
12008 * search.c (compile_pattern_1): Don't adjust the multibyteness of
12009 the regexp pattern and the matching target. Set cp->buf.multibyte
12010 to the multibyteness of the regexp pattern. Set
12011 cp->but.target_multibyte to the multibyteness of the matching target.
12012 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
12013 FETCH_STRING_CHAR_ADVANCE.
12014 (Freplace_match): Convert unibyte chars to multibyte.
12015
12016 * syntax.c (char_quoted, back_comment, scan_words)
12017 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
12018 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
12019 unibyte chars to multibyte.
12020 (skip_chars): Delete the arg syntaxp, and move the code for
12021 handling syntaxes to skip_syntaxes. Change callers.
12022 Fix the case that the multibyteness of STRING and the current
12023 buffer doesn't match.
12024 (skip_syntaxes): New function.
12025 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
12026 SINGLE_BYTE_CHAR_P.
12027
120282008-02-01 Kenichi Handa <handa@m17n.org>
12029
12030 * xfaces.c (QCfontset): New variable.
12031 (LFACE_FONTSET): New macro.
12032 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
12033 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
12034 (Finternal_set_lisp_face_attribute)
12035 (Finternal_get_lisp_face_attribute): Handle QCfontset.
12036 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
12037 check also LFACE_FONTSET_INDEX.
12038 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
12039 attrs[LFACE_FONT_INDEX].
12040 (syms_of_xfaces): Intern and staticpro QCfontset.
12041
12042 * dispextern.h (enum lface_attribute_index): New member
12043 LFACE_FONTSET_INDEX.
12044
12045 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
12046
120472008-02-01 Kenichi Handa <handa@m17n.org>
12048
12049 * coding.c (coding_set_destination): Fix coding->destination for
12050 the case converting a region.
12051 (encode_coding_utf_8): Encode eight-bit chars as single byte.
12052 (encode_coding_object): Fix coding->dst_pos and
12053 coding->dst_pos_byte for the case converting a region.
12054
12055 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
12056
12057 * character.h (BYTE8_STRING): New macro.
12058
12059 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
12060
120612008-02-01 Kenichi Handa <handa@m17n.org>
12062
12063 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
12064 characters by octal form.
12065
12066 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
12067
12068 * buffer.h (_fetch_multibyte_char_len): Delete extern.
12069 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
12070 _fetch_multibyte_char_len.
12071 (FETCH_CHAR_AS_MULTIBYTE): New macro.
12072
12073 * casetab.c (set_canon, set_identity, shuffle): Simplify.
12074
12075 * casefiddle.c (casify_object): Simplify. Handle the case that
12076 the case conversion change the byte length.
12077 (casify_region): Likewise.
12078
12079 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
12080
12081 * character.c (_fetch_multibyte_char_len): Delete this variable.
12082 (syms_of_character): Setup Vprintable_chars.
12083
12084 * editfns.c (Fchar_equal): Fix for the unibyte case.
12085 (Finsert_byte): New function.
12086 (syms_of_editfns): Defsubr it.
12087
12088 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
12089 of direct code 0x3ffff.
12090
12091 * search.c (Freplace_match): Fix for the unibyte case.
12092
120932008-02-01 Kenichi Handa <handa@m17n.org>
12094
12095 * lread.c (safe_to_load_p): Fix the logic.
12096
12097 * syntax.c (scan_words): Don't treat characters belonging to
12098 different scripts as constituting a word.
12099
12100 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12101
12102 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
12103
12104 * emacs.c (main): In the case of --unibyte, instead of aborting on
12105 finding non-empty buffer, make it unibyte.
12106
121072008-02-01 Kenichi Handa <handa@m17n.org>
12108
12109 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
12110 to create a fontset.
12111
121122008-02-01 Dave Love <fx@gnu.org>
12113
12114 * character.c (Funibyte_char_to_multibyte): Doc fix.
12115
12116 * xfns.c [HAVE_STDLIB_H]: Fix last change.
12117
121182008-02-01 Kenichi Handa <handa@m17n.org>
12119
12120 * fontset.c (fontset_add): Make the type `int'.
12121 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
12122
12123 * character.c (unibyte_char_to_multibyte)
12124 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
12125 charset_unibyte, not charset_primary.
12126
12127 * charset.h (charset_unibyte): Extern it instead of charset_primary.
12128
12129 * charset.c (charset_unibyte): Rename from charset_primary.
12130 (Funibyte_charset): Rename from Fprimary_charset.
12131 (Fset_unibyte_charset): Rename from Fset_primary_charset.
12132 (syms_of_charset): Adjust for the above changes.
12133
12134 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
12135 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
12136 it->multibyte_p is zero.
12137
12138 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
12139 Delete extern.
12140
121412008-02-01 Kenichi Handa <handa@m17n.org>
12142
12143 * coding.c (Fdefine_coding_system_internal): Fix category setting
12144 for a coding system of type iso-2022.
12145
121462008-02-01 Kenichi Handa <handa@m17n.org>
12147
12148 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
12149
121502008-02-01 Kenichi Handa <handa@m17n.org>
12151
12152 * syntax.c (Vnext_word_boundary_function_table): New variable.
12153 (next-word-boundary-function-table): Declare it as a Lisp variable
12154 in syms_of_syntax.
12155 (scan_words): Call functions in Vnext_word_boundary_function_table
12156 if any.
12157
12158 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
12159
12160 * fontset.c (fs_load_font): If fontp->charset is not negative,
12161 return fontp without setting its members.
12162
121632008-02-01 Dave Love <fx@gnu.org>
12164
12165 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
12166
12167 * m/sparc.h (HAVE_ALLOCA): Delete.
12168
12169 * s/irix6-5.h: Don't include strings.h.
12170 (bcopy, bzero, bcmp): Don't undef.
12171
12172 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
12173
12174 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
12175 (TIOCSIGSEND): Don't test IRIX6.
12176 (bcopy, bzero, bcmp): Define conditionally.
12177
121782008-02-01 Kenichi Handa <handa@m17n.org>
12179
12180 * buffer.c (Qas, Qmake, Qto): New variables.
12181 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
12182 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
12183
12184 * callproc.c (Fcall_process): Don't call insert_1_both directly if
12185 we are inserting a process output into a multibyte buffer.
12186
12187 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
12188 multibyte_char_to_unibyte.
12189
12190 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
12191 by the primary charset, make it eight-bit char.
12192 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
12193
12194 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
12195 (charset_8_bit__control, charset_8_bit_graphic)
12196 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
12197 (define_charset_internal): New function.
12198 (syms_of_charset): Call define_charset_internal for pre-defined
12199 charsets.
12200
12201 * charset.h (charset_8_bit): Extern it.
12202
12203 * coding.c (make_conversion_work_buffer): Adjust for the change
12204 of Fset_buffer_multibyte.
12205 (encode_coding_raw_text): Increment p0 in the loop.
12206
12207 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
12208
12209 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
12210 for the change of Fset_buffer_multibyte.
12211
12212 * fns.c (Fstring_to_multibyte): New function.
12213 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
12214
122152008-02-01 Dave Love <fx@gnu.org>
12216
12217 * xfns.c (x_put_x_image): Declare args.
12218
12219 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
12220 (try_font_list): Declare an arg.
12221
12222 * xdisp.c (message2_nolog, set_message): Declare an arg.
12223
12224 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
12225
12226 * syntax.c (scan_sexps_forward): Declare an arg.
12227
12228 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
12229 Declare an arg.
12230
12231 * lisp.h (Fnew_fontset): Declare.
12232
12233 * keymap.c (push_key_description): Call CHARACTERP correctly.
12234
12235 * fontset.c (fontset_add): Declare args. Call make_number correctly.
12236 (face_for_char): Delete unused vars.
12237 (Fset_fontset_font): Doc fix. Delete unused vars.
12238
12239 * doc.c (Fsubstitute_command_keys): Delete unused vars.
12240
12241 * composite.c (update_compositions): Declare arg.
12242
12243 * cm.c (calccost, cmgoto): Declare args.
12244
12245 * charset.c: Remove `emacs' conditional. Doc fixes.
12246 (map_char_table_for_charset): Declare.
12247
12248 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
12249
12250 * ccl.c: Remove `emacs' conditional.
12251
122522008-02-01 Kenichi Handa <handa@m17n.org>
12253
12254 The following changes are to allow specifying multiple font
12255 patterns for a character range (specified by script or charset).
12256
12257 * Makefile.in (abbrev.o): Depend on syntax.h.
12258 (xfaces.o): Depend on charset.h.
12259
12260 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
12261 SINGLE_BYTE_CHAR_P.
12262
12263 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
12264
12265 * character.h (Vchar_script_table): Extern it.
12266
12267 * character.c (Vscript_alist): Delete.
12268 (Vchar_script_table, Qchar_script_table): New variable.
12269 (syms_of_character): Declare Vchar_script_table as a lisp variable
12270 and initialize it.
12271
12272 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
12273 have property char-table-extra-slots, make no extra slot.
12274
12275 * dispextern.h (struct face): Delete member `charset'.
12276 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
12277 SINGLE_BYTE_CHAR_P.
12278 (choose_face_font, lookup_non_ascii_face, font_name_registry):
12279 Add prototypes.
12280 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
12281 (generate_ascii_font_name): Rename from generate_ascii_font.
12282
12283 * fontset.h (get_font_repertory_func): New prototype.
12284 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
12285 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
12286
12287 * fontset.c (Qprepend, Qappend): New variables.
12288 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
12289 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
12290 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
12291 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
12292 (fontset_ref_and_range, fontset_add, reorder_font_vector)
12293 (load_font_get_repertory): New functions.
12294 (fontset_set): Delete.
12295 (fontset_face): New arg FACE. Return face ID, not face.
12296 Complete re-write to handle new fontset structure. Change caller.
12297 (free_face_fontset): Use ASET istead of AREF (X) = Y.
12298 (face_for_char): Don't call lookup_face.
12299 (make_fontset_for_ascii_face): New arg FACE.
12300 (fs_load_font): New arg CHARSET_ID. Don't check
12301 Vfont_encoding_alist here.
12302 (find_font_encoding): New function.
12303 (list_fontsets): Use STRINGP, not ! NILP.
12304 (accumulate_script_ranges): New function.
12305 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
12306 re-written to handle new fontset structure.
12307 (Ffontset_font): Return a copy of element.
12308 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
12309 docstring of font-encoding-alist.
12310
12311 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
12312 (Fset_fotset_font): Fix arguments to 5.
12313
12314 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
12315
12316 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
12317 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12318 (highlight_trailing_whitespace): Adjust for the change of
12319 lookup_named_face.
12320
12321 * xfaces.c: Include charset.h.
12322 (load_face_font): Delete argument C. Change caller.
12323 (generate_ascii_font_name): Rename from generate_ascii_font.
12324 (font_name_registry): New function.
12325 (cache_face): Store ascii faces before non-ascii faces in buckets.
12326 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
12327 Lookup only ascii faces.
12328 (lookup_non_ascii_face): New function.
12329 (lookup_named_face): Delete argument C. Change caller.
12330 (lookup_derived_face): Delete argument C. Change caller.
12331 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
12332 a string, just call font_list with it.
12333 (choose_face_font): Delete arguments FACE and C. New arg
12334 FONT_SPEC. Change caller.
12335 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
12336 Change caller.
12337 (realize_non_ascii_face): New function.
12338 (realize_x_face): Call load_face_font here.
12339 (realize_tty_face): Delete argument C. Change caller.
12340 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
12341 get a face ID.
12342 (dump_realized_face): Don't print charset of FACE.
12343
12344 * xfns.c (x_set_font): Always call x_new_fontset and
12345 store_frame_parameter.
12346 (Fx_create_frame): Call x_new_fontset, not x_new_font.
12347 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
12348
12349 * xterm.h (x_get_font_repertory): Extern it.
12350
12351 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
12352 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
12353 it->multibyte_p is zero.
12354 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12355 (x_new_fontset): If FONTSETNAME doesn't match any existing
12356 fontsets, create a new one.
12357 (x_get_font_repertory): New function.
12358
123592008-02-01 Kenichi Handa <handa@m17n.org>
12360
12361 * coding.c (Ffind_coding_systems_region_internal): Detect an
12362 ASCII only string correctly.
12363
12364 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
12365 version is 0.
12366
123672008-02-01 Kenichi Handa <handa@m17n.org>
12368
12369 * lread.c: Include "coding.h".
12370 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
12371 (load_each_byte, unread_char): New variables.
12372 (readchar_backlog): Delete.
12373 (readchar): Return a character unless load_each_byte is nonzero.
12374 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
12375 cons. If unread_char is not -1, simply return it.
12376 (unreadchar): Handle the case that readcharfun is
12377 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
12378 (read_multibyte): Delete.
12379 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
12380 (read_emacs_mule_char): New functions.
12381 (Fload): Even if the file doesn't have the extension ".elc", if
12382 safe_to_load_p returns a positive version number, assume that the
12383 file contains bytecompiled code. If the version is less than 22,
12384 load the file while decoding multibyte sequences by emacs-mule.
12385 (readevalloop): Don't use readchar_backlog.
12386 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
12387 (Fread_from_string): Pay attention to the case that STREAM is a cons.
12388 (read_escape): Delete the arg BYTEREP.
12389 (read1): Set load_each_byte to 1 temporarily while handling
12390 #@NUMBER. Don't call read_multibyte.
12391 (read_vector): Call Fread with a cons. If readcharfun is
12392 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
12393 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
12394 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
12395 and Qload_force_doc_strings.
12396
123972008-02-01 Kenichi Handa <handa@m17n.org>
12398
12399 * xdisp.c (face_before_or_after_it_pos): Call
12400 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
12401
124022008-02-01 Kenichi Handa <handa@m17n.org>
12403
12404 * character.h (TRAILING_CODE_P): New macro.
12405 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
12406 (string_char_with_unification): Fix prototype.
12407 (Vscript_alist): Extern it.
12408
12409 * character.c (Vscript_alist): New variable.
12410 (string_char_with_unification, str_as_unibyte)
12411 (string_escape_byte8): Add `const' to local variables.
12412 (syms_of_character): Declare script-alist as a Lisp variable.
12413
12414 * charset.h (Vcharset_ordered_list): Extern it.
12415 (charset_ordered_list_tick): Extern it.
12416 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
12417 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
12418 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
12419 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
12420 (Funify_charset): Adjust for the change of Funify_charset.
12421
12422 * charset.c (charset_ordered_list_tick): New variable.
12423 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
12424 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
12425 deunify intead of unify a charset.
12426 (string_xstring_p): Add `const' to local variables.
12427 (find_charsets_in_text): Add `const' to arguments and local variables.
12428 (encode_char): Adjust for the change of Funify_charset. Fix
12429 detecting of invalid code.
12430 (Fset_charset_priority): Increment charset_ordered_list_tick.
12431 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
12432 and TO_CODE.
12433
12434 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
12435 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
12436 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
12437 (decode_coding_ccl, consume_chars)
12438 (Ffind_coding_systems_region_internal)
12439 (Fcheck_coding_systems_region): Add `const' to local variables.
12440
12441 * print.c (print_object): Use octal form for printing the
12442 contents of a bool vector.
12443
124442008-02-01 Dave Love <fx@gnu.org>
12445
12446 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
12447 <version == 20>: Refuse to load.
12448
124492008-02-01 Dave Love <fx@gnu.org>
12450
12451 * fns.c: Move coding.h.
12452 (Qcodeset, Qdays, Qmonths): New.
12453 (concat): Use CHARACTERP instead of INTEGERP.
12454 (Flocale_codeset): Delete.
12455 (Flanginfo): New function.
12456 (syms_of_fns): Change accordingly.
12457
12458 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
12459
124602008-02-01 Dave Love <fx@gnu.org>
12461
12462 * casetab.c (init_casetab_once, init_casetab_once): Fix
12463 CHAR_TABLE_SET call.
12464
12465 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
12466
12467 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
12468
12469 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
12470 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
12471 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
12472
12473 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
12474
12475 * coding.c (ENCODE_DESIGNATION, decode_eol)
12476 (make_conversion_work_buffer, code_conversion_restore)
12477 (Fdefine_coding_system_internal): Convert Lisp types.
12478 (code_conversion_restore): Use EQ, not ==.
12479 (Fencode_coding_string): Fix code_convert_string call.
12480
12481 * coding.h (code_convert_region): Fix prototype.
12482
12483 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
12484
12485 * fontset.c (fontset_ref, fontset_set, fs_load_font)
12486 (Ffontset_info): Convert Lisp types.
12487
12488 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
12489
12490 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
12491
12492 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
12493
12494 * chartab.c: Include "...h", not <...h> in some cases.
12495
12496 * callproc.c (Fcall_process): Remove unused variables.
12497
124982008-02-01 Dave Love <fx@gnu.org>
12499
12500 * coding.c (Fset_coding_system_priority): Allow null arg list.
12501
125022008-02-01 Dave Love <fx@gnu.org>
12503
12504 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
12505 (Fself_insert_and_exit): Use CHARACTERP.
12506
12507 * callproc.c (Fcall_process): Remove unused vars.
12508
12509 * xterm.c (XTread_socket): Add extra dead keysyms.
12510
12511 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
12512
12513 * dispextern.h: Remove prototypes for redraw_frame,
12514 redraw_garbaged_frames.
12515
12516 * cmds.c (Fself_insert_command): Use CHARACTERP.
12517
12518 * chartab.c (make_sub_char_table): Remove unused var.
12519 (Fset_char_table_default, Fmap_char_table): Doc fix.
12520
12521 * keymap.c (access_keymap): Remove generic char code.
12522 (push_key_description): Use CHARACTERP.
12523
125242008-02-01 Dave Love <fx@gnu.org>
12525
12526 * charset.c: Doc fixes.
12527 (Funify_charset): Extra checking.
12528
125292008-02-01 Dave Love <fx@gnu.org>
12530
12531 * lread.c: Remove some unused variables.
12532 (safe_to_load_p): If safe, return the magic number version byte.
12533 (Fload): Maybe use load-with-code-conversion.
12534
125352008-02-01 Kenichi Handa <handa@m17n.org>
12536
12537 * category.c (Fmodify_category_entry): Don't modify the contents
12538 of category_set for characters out of the range. Avoid
12539 unnecessary modification.
12540
12541 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
12542 Vchar_unify_table. The default value of the table is now nil.
12543
12544 * character.c (syms_of_character): Setup Vchar_width_table for
12545 eight-bit-control and raw-byte chars.
12546
12547 * charset.h (enum define_charset_arg_index): Delete
12548 charset_arg_parents and add charset_arg_subset and
12549 charset_arg_superset.
12550 (enum charset_attr_index): Delete charset_parents and add
12551 charset_subset and charset_superset.
12552 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
12553 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
12554 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
12555 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
12556 (CHARSET_SUPERSET): New macros.
12557 (charset_work): Extern it.
12558 (ENCODE_CHAR): Use charset_work.
12559 (CHAR_CHARSET_P): Adjust for the change of encoder format.
12560 (map_charset_chars): Extern it.
12561
12562 * charset.c (load_charset_map): Set the default value of encoder
12563 and deunifier char-tables to nil.
12564 (map_charset_chars): Change argument. Change callers. Use
12565 map_char_table_for_charset instead of map_char_table.
12566 (Fmap_charset_chars): New optional args from_code and to_code.
12567 (Fdefine_charset_internal): Adjust for the change of
12568 `define-charset' (:parents -> :subset or :superset).
12569 (charset_work): New variable.
12570 (encode_char, syms_of_charset): Adjust for the change of
12571 Fdefine_charset_internal.
12572 (Ffind_charset_string): Setup the vector `charsets' correctly.
12573
12574 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
12575 the previous change.
12576 (char_table_ref_and_range): Adjust for the above change.
12577 (map_sub_char_table_for_charset): New function.
12578 (map_char_table_for_charset): New function.
12579
12580 * keymap.c (describe_vector): Handle a char-table directly here.
12581 (describe_char_table): Delete.
12582
12583 * lisp.h (map_charset_chars): Delete.
12584
125852008-02-01 Dave Love <fx@gnu.org>
12586
12587 * fns.c (count_combining): Comment out (unused).
12588 (Flocale_codeset): New.
12589 (syms_of_fns): Defsubr it.
12590
12591 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
12592 (size_t): Remove.
12593
125942008-02-01 Dave Love <fx@gnu.org>
12595
12596 * Makefile.in (chartab.o): Depend on charset.h.
12597
125982008-02-01 Kenichi Handa <handa@m17n.org>
12599
12600 * character.c (syms_of_character): Set the default value of
12601 Vprintable_chars to Qnil.
12602
126032008-02-01 Dave Love <fx@gnu.org>
12604
12605 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
12606
126072008-02-01 Kenichi Handa <handa@m17n.org>
12608
12609 * charset.c (load_charset_map): Handle the case that from < to
12610 correctly.
12611
12612 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
12613 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
12614 Pay attention to raw-8-bit chars.
12615
126162008-02-01 Kenichi Handa <handa@m17n.org>
12617
12618 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
12619 It is not bytecompiled now.
12620
12621 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
12622 (charset_jisx0208): New variables.
12623 (Fdefine_charset_internal): Setup them if appropriate.
12624 (init_charset_once): Initialize them to -1.
12625
12626 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
12627 (charset_jisx0208): Extern them.
12628
12629 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
12630 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
12631 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
12632 (setup_iso_safe_charsets): Fix arguments to Fassq.
12633 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
12634 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
12635 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
12636 (encode_coding_iso_2022): Change the 1st arg to
12637 ENCODE_ISO_CHARACTER to a variable.
12638
126392008-02-01 Kenichi Handa <handa@m17n.org>
12640
12641 * charset.h (enum define_charset_arg_index): New enums
12642 charset_arg_min_code and charset_arg_max_code.
12643 (struct charset): New member char_index_offset.
12644
12645 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
12646 Take charset->char_index_offset into account.
12647 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
12648 args[charset_arg_max_code]. Setup charset.char_index_offset.
12649 (syms_of_charset): Fix args to Fdefine_charset_internal.
12650
126512008-02-01 Dave Love <fx@gnu.org>
12652
12653 * coding.c (decode_coding_utf_8): Reject overlong sequences.
12654
126552008-02-01 Dave Love <fx@gnu.org>
12656
12657 * coding.c: Doc fixes.
12658 (Fcoding_system_aliases): Fix return value.
12659 (Qmac): Remove (duplicated) definition.
12660
126612008-02-01 Dave Love <fx@gnu.org>
12662
12663 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
12664 functions.
12665
12666 * character.c (Fstring): Doc fix.
12667
12668 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
12669
12670 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
12671 ids.
12672 (font-encoding-alist): Doc fix.
12673
126742008-02-01 Dave Love <fx@gnu.org>
12675
12676 * term.c (costs_set): Declare static, non-initialized for pcc.
12677 (encode_terminal_code): Remove unused var.
12678
12679 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
12680 for K&R.
12681
12682 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
12683
12684 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
12685 (suffixes): Move out of make_subsidiaries for K&R.
12686
12687 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
12688
12689 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
12690
126912008-02-01 Dave Love <fx@gnu.org>
12692
12693 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
12694
12695 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
12696
126972008-02-01 Yong Lu <lyongu@asia-infonet.com>
12698
12699 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
12700
12701 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
12702
127032008-02-01 Kenichi Handa <handa@m17n.org>
12704
12705 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
12706 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
12707
127082008-02-01 Kenichi Handa <handa@m17n.org>
12709
12710 * coding.c (decode_coding_charset): Adjust for the change of
12711 Fdefine_coding_system_internal.
12712 (Fdefine_coding_system_internal): For a coding system of
12713 `charset' type, store a list of charset IDs in
12714 `charset_attr_charset_valids' element of coding attributes.
12715
127162008-02-01 Kenichi Handa <handa@m17n.org>
12717
12718 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
12719 (emacs_mule_char): New arg src. Delete arg `composition'. Change
12720 caller. Handle 2-byte and 3-byte charsets correctly.
12721 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
12722 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
12723 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
12724 (DECODE_EMACS_MULE_21_COMPOSITION): Call
12725 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
12726 sequence.
12727 (decode_coding_emacs_mule): Handle composition correctly. Rewind
12728 `src' and `consumed_chars' correctly before calling emacs_mule_char.
12729 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
12730 and alt&rule composition.
12731 (decode_coding_iso_2022): Handle composition correctly.
12732 (init_coding_once): Setup emacs_mule_bytes for private charsets.
12733
12734 * charset.c (Fdefine_charset_internal): Fix bug for the case of
12735 re-defining a charset. If the charset has :emacs-mule-id, setup
12736 emacs_mule_bytes.
12737 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
12738
127392008-02-01 Kenichi Handa <handa@m17n.org>
12740
12741 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
12742 (encode_coding_big5, encode_coding_charset): If coding requires safe
12743 encoding, produce a character specified by
12744 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
12745
127462008-02-01 Dave Love <fx@gnu.org>
12747
12748 * xterm.c (XSetIMValues): Declare.
12749
12750 * process.c: Conditionally include sys/wait.h, pty.h.
12751
12752 * print.c (print_object): Fix print format for 64-bit systems.
12753
12754 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
12755
12756 * buffer.c (emacs_strerror): Declare.
12757
12758 * fontset.c (Fclear_face_cache): Declare.
12759 (accumulate_font_info): Comment-out (unused).
12760 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
12761 variables.
12762
12763 * character.h (string_escape_byte8): Declare.
12764
12765 * charset.c (load_charset_map, load_charset_map_from_file): Remove
12766 unused vars.
12767 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
12768 (Fmap_charset_chars): Doc fix.
12769
12770 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
12771 (Fset_coding_system_priority, Fset_coding_system_priority)
12772 (Fdefine_coding_system_internal): Doc fix.
12773
127742008-02-01 Dave Love <fx@gnu.org>
12775
12776 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
12777
127782008-02-01 Kenichi Handa <handa@m17n.org>
12779
12780 * character.c (string_escape_byte8): Make multibyte string with
12781 correct size.
12782
12783 * charset.c (Fmake_char): Delete unnecessary code.
12784
127852008-02-01 Kenichi Handa <handa@m17n.org>
12786
12787 * xfns.c (x_encode_text): Allocate coding.destination here, and
12788 call encode_coding_object with dst_object Qnil.
12789
12790 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
12791 multibyte form correctly.
12792
12793 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
12794 against Vfont_encoding_alist.
12795
12796 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
12797 handling of charset list.
12798 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
12799 (decode_coding_object): Move point to coding->dst_pos before
12800 calling post-read-conversion function.
12801 (encode_coding_object): Give correct arguments to
12802 pre-write-conversion. Ignore the return value of
12803 pre-write-conversion function. Pay attention to the case that
12804 pre-write-conversion changes the current buffer. If dst_object is
12805 Qt, even if coding->src_bytes is zero, allocate at least one byte
12806 to coding->destination.
12807
12808 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
12809
12810 * charset.c (Fmake_char): Make it more backward compatible.
12811 (Fmap_charset_chars): Fix docstring.
12812
128132008-02-01 Dave Love <fx@gnu.org>
12814
12815 * coding.c: Doc fixes.
12816 (Fdefine_coding_system_alias): Use names, not symbols, in
12817 coding-system-alist.
12818
128192008-02-01 Kenichi Handa <handa@m17n.org>
12820
12821 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
12822 of calling free_realized_face.
12823
128242008-02-01 Yong Lu <lyongu@asia-infonet.com>
12825
12826 * charset.c (read_hex): Don't treat SPC as a comment starter.
12827 (decode_char): If CODE_POINT_TO_INDEX returns -1, always return -1.
12828 (Fdecode_char): Fix typo.
12829
128302008-02-01 Kenichi Handa <handa@m17n.org>
12831
12832 * charset.h (struct charset): New member `code_space_mask'.
12833
12834 * coding.c (coding_set_source): Delete the local variable beg_byte.
12835 (encode_coding_charset, Fdefine_coding_system_internal):
12836 Delete the local variable charset.
12837 (Fdefine_coding_system_internal): Setup
12838 attrs[coding_attr_charset_valids] correctly.
12839
12840 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
12841 member to check if CODE is valid or not.
12842 (Fdefine_charset_internal): Initialize `code_space_mask' member.
12843 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
12844 is within the range of charset->min_code and carset->max_code.
12845
128462008-02-01 Dave Love <fx@gnu.org>
12847
12848 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
12849
12850 * dispextern.h (generate_ascii_font): Fix return type.
12851
12852 * xfaces.c (generate_ascii_font): Fix arg declaration.
12853
12854 * coding.c (coding_inherit_eol_type)
12855 (Fset_terminal_coding_system_internal)
12856 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
12857
128582008-02-01 Kenichi Handa <handa@m17n.org>
12859
12860 * coding.c (decode_coding_charset, encode_coding_charset): Handle
12861 multiple charsets correctly.
12862
128632008-02-01 Kenichi Handa <handa@m17n.org>
12864
12865 * search.c (boyer_moore): Fix handling of multibyte character
12866 translation.
12867
12868 * xdisp.c (display_mode_element): When the variable `elt' is
12869 changed, update `this' and `lisp_string'.
12870
128712008-02-01 Kenichi Handa <handa@m17n.org>
12872
12873 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
12874
12875 * callproc.c (Fcall_process): Be sure to give the current buffer
12876 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
12877
12878 * charset.c (struct charset_map_entries): New struct.
12879 (load_charset_map): Rename from parse_charset_map. New args
12880 entries and n_entries. Change caller.
12881 (load_charset_map_from_file): Rename from load_charset_map.
12882 Change caller. New arg control_flag. Call load_charset_map at
12883 the tail.
12884 (load_charset_map_from_vector): New function.
12885 (Fdefine_charset_internal): Setup charset.compact_codes_p.
12886 (encode_char): If the charset is compact, change a character index
12887 to a code point.
12888
12889 * coding.c (coding_alloc_by_making_gap): Check the case that the
12890 source and destination are the same correctly.
12891 (decode_coding_raw_text): Set coding->consumed_char and
12892 coding->consumed to 0.
12893 (produce_chars): If coding->chars_at_source is nonzero, update
12894 coding->consumed_char and coding->consumed before calling
12895 alloc_destination.
12896 (Fdefine_coding_system_alias): Register ALIAS in
12897 Vcoding_system_alist.
12898 (syms_of_coding): Define `no-conversion' coding system at the tail.
12899
12900 * fileio.c (Finsert_file_contents): Set coding_system instead of
12901 val. If the current buffer is multibyte, always call
12902 decode_coding_gap.
12903
12904 * xfaces.c (try_font_list): Give higher priority to fontset's
12905 family than face's family.
12906
129072008-02-01 Kenichi Handa <handa@m17n.org>
12908
12909 * callproc.c (Fcall_process): Be sure to give the current buffer
12910 to decode_coding_c_string.
12911
12912 * xfaces.c (try_font_list): Give a family specified in a fontset
12913 higher priority than a family specified in a face.
12914
129152008-02-01 Kenichi Handa <handa@m17n.org>
12916
12917 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
12918 Fix arguments to insert_from_buffer.
12919
12920 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
12921
129222008-02-01 Kenichi Handa <handa@m17n.org>
12923
12924 * coding.c (produce_chars): Set the variable `multibytep' correctly.
12925 (decode_coding_gap): Set coding->dst_multibyte correctly.
12926
129272008-02-01 Kenichi Handa <handa@m17n.org>
12928
12929 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
12930 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
12931 (encode_coding_utf_16): Substitute coding->default_char for
12932 non-Unicode characters.
12933 (decode_coding): Don't call record_insert here.
12934 (setup_coding_system): Initialize `surrogate' of
12935 coding->spec.utf_16 to 0.
12936 (EMIT_ONE_BYTE): Fix for multibyte case.
12937
12938 * insdel.c (insert_from_gap): Call record_insert.
12939
129402008-02-01 Kenichi Handa <handa@m17n.org>
12941
12942 * casefiddle.c (casify_region): Fix multibyte case.
12943
12944 * character.c (c_string_width): Add return type `int'.
12945 (char_string_with_unification): Delete arg ADVANCED.
12946
12947 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
12948 (CHAR_STRING): Adjust for the change of char_string_with_unification.
12949 (CHAR_STRING_ADVANCE): Make it do-while statement.
12950
12951 * chartab.c (sub_char_table_set_range): Optimize for the case
12952 DEPTH == 3. Add workaround code for a GCC optimization bug.
12953
12954 * charset.c (parse_charset_map): Remove an unused variable.
12955
12956 * coding.c: Delete unused variables.
12957
12958 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
12959 earlier. If inserted is zero and the coding system doesn't
12960 require flushing, don't call decode_coding_gap.
12961
12962 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
12963
129642008-02-01 Kenichi Handa <handa@m17n.org>
12965
12966 The following changes are for using Unicode as an internal
12967 character model, and use UTF-8 format for buffer/string
12968 representation.
12969
12970 * .gdbinit (xchartable): Adjust for the change of char table structure.
12971 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
12972
12973 * Makefile.in (obj): Add character.o and chartab.o.
12974 (lisp, shortlisp): Remove utf-8.elc.
12975 (*.o): For many files, change dependency on charset.h to
12976 character.h, and add dependency on character.h.
12977 (character.o, chartab.o): New targets.
12978
12979 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
12980 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
12981 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
12982 of "charset.h".
12983
12984 * dired.c, filelock.c: Include "character.h".
12985
12986 * alloc.c: Include "character.h" instead of "charset.h".
12987 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
12988 (syms_of_alloc): Remove defsubr for Smake_char_table.
12989
12990 * buffer.c: Include "character.h" instead of "charset.h", don't
12991 include "coding.h".
12992 (Fset_buffer_multibyte): Adjust for UTF-8.
12993
12994 * buffer.h: EXFUN Fbuffer_live_p.
12995
12996 * callproc.c: Include "character.h" instead of "charset.h".
12997 (Fcall_process): Big change for the new code-conversion APIs.
12998
12999 * casetab.c: Include "character.h" instead of "charset.h".
13000 (set_canon, set_identity, shuffle): Adjust for the new
13001 map_char_table spec.
13002 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
13003 accessing the char table structure.
13004
13005 * chartab.c: New file that implements char table.
13006
13007 * category.c: Include "character.h".
13008 (copy_category_entry): New function.
13009 (copy_category_table): Call map_char_table and copy_category_entry.
13010 (Fmake_category_table): Initialize all top-level slots.
13011 (char_category_set): New function.
13012 (modify_lower_category_set): Delete.
13013 (Fmodify_category_entry): Call char_table_ref_and_range.
13014
13015 * category.h (CATEGORY_SET): Just call char_category_set.
13016
13017 * ccl.c: Include "character.h".
13018 (Qccl, Qcclp): New variables.
13019 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
13020 it's less than 256.
13021 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
13022 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
13023 and DST type.
13024 (ccl_driver): Change types of argument, adjust code accordingly.
13025 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
13026 ccl_driver.
13027 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
13028
13029 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
13030 New members src_multibyte, dst_multibyte, consumed, and produced.
13031 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
13032 (CODING_SPEC_CCL_PROGRAM): New macro.
13033 (ccl_driver): Update prototype.
13034 (Qccl, Qcclp, Fccl_program_p): Extern them.
13035 (CHECK_CCL_PROGRAM): New macro.
13036
13037 * character.c, character.h, chartab.c: New files.
13038
13039 * charset.c: Mostly re-written. Move character and multibyte sequence
13040 handling codes to character.c.
13041
13042 * charset.h: Mostly re-written. Move character and multibyte sequence
13043 handling codes to character.h.
13044
13045 * coding.c, coding.h: Mostly re-written.
13046
13047 * composite.c: Include "character.h" instead of "charset.h".
13048 (CHAR_WIDTH): Move to character.h.
13049 (HASH_KEY, HASH_VALUE): Delete.
13050
13051 * composite.h (enum composition_method): Change order of enumeration
13052 symbols.
13053
13054 * data.c: Include "character.h" instead of "charset.h".
13055 (Faref): Call CHAR_TABLE_REF for a char table.
13056 (Faset): Call CHAR_TABLE_SET for a char table.
13057
13058 * dispextern.h (free_realized_face, check_face_attribytes)
13059 (generate_ascii_font): Extern them.
13060 (free_realized_multibyte_face): Delete extern.
13061
13062 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
13063 table structure.
13064
13065 * editfns.c: Include "character.h" instead of "charset.h".
13066 (Fchar_to_string): Always call CHAR_STRING.
13067
13068 * emacs.c (main): Call init_charset_once, init_charset,
13069 syms_of_chartab, and syms_of_character.
13070
13071 * fileio.c: Include "character.h" instead of "charset.h".
13072 (Finsert_file_contents): Big change for the new code-conversion API.
13073 (choose_write_coding_system, Fwrite_region): Likewise.
13074 (build_annotations_2): Delete.
13075 (e_write): Big change for the new code-conversion API.
13076
13077 * fns.c: Include "character.h" instead of "charset.h".
13078 (copy_sub_char_table): Move to chartab.c.
13079 (Fcopy_sequence): Call copy_char_table for a char table.
13080 (concat): Delete codes calling count_multibyte.
13081 (string_char_to_byte, string_byte_to_char): Adjust for the new
13082 multibyte form.
13083 (internal_equal): Adjust for the change of char table structure.
13084 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
13085 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
13086 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
13087 (char_table_translate, optimize_sub_char_table)
13088 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
13089 chartab.c.
13090 (char_table_ref_and_index): Delete.
13091 (HASH_KEY, HASH_VALUE): Move to lisp.h.
13092 (Fmd5): Call preferred_coding_system instead of accessing
13093 Vcoding_category_list. Adjust for the new code-conversion API.
13094 (syms_of_fns): Move defsubr for char table related functions to
13095 chartab.c.
13096
13097 * fontset.c: Mostly re-written.
13098
13099 * fontset.h (struct font_info): Change type of the member encoding_type.
13100 (enum FONT_SPEC_INDEX): New enum.
13101 (fontset_font_pattern, fs_load_font): Update prototype.
13102 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
13103
13104 * indent.c: Include "character.h" instead of "charset.h".
13105 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
13106
13107 * insdel.c: Include "character.h" instead of "charset.h".
13108 (copy_text): Don't refer to Vnonascii_translation_table.
13109 (insert_from_gap): New function.
13110
13111 * keyboard.c: Include "character.h" instead of "charset.h".
13112 (command_loop_1): Never call direct_output_forward_char before
13113 a non-ASCII character.
13114 (read_char): If Vkeyboard_translate_table is a char table, always
13115 translate a character.
13116
13117 * keymap.c: Include "character.h".
13118 (store_in_keymap): Handle the case that IDX is a cons.
13119 (Fdefine_key): Handle the case that KEY is a cons and the car part
13120 is also a cons (range).
13121 (push_key_description): Adjust for the new character code.
13122 (describe_vector): Call describe_char_table for a char table.
13123 (describe_char_table): New function.
13124
13125 * keymap.h (describe_char_table): Extern it.
13126
13127 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
13128 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
13129 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
13130 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
13131 Delete.
13132 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
13133 structure.
13134 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
13135 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
13136 (CHARTAB_SIZE_BITS_3): New macros.
13137 (chartab_size): Extern it.
13138 (struct Lisp_Char_Table): Re-design.
13139 (struct Lisp_Sub_Char_Table): New structure.
13140 (HASH_KEY, HASH_VALUE): Move from fns.c.
13141 (CHARACTERBITS): Define as 22.
13142 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
13143 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
13144 (GC_SUB_CHAR_TABLE_P): New macro.
13145 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
13146 (code_convert_string_norecord): Deleted extern.
13147 (init_character_once, syms_of_character, init_charset)
13148 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
13149
13150 * lread.c: Include "character.h".
13151 (read_multibyte): New arg NBYTES.
13152 (read_escape): Change the meaning of returned *BYTEREP.
13153 (to_multibyte): Delete.
13154 (read1): Adjust the handling of char table and string.
13155
13156 * print.c: Include "character.h" instead of "charset.h".
13157 (print_string): Convert 8-bit raw bytes to octal form by
13158 string_escape_byte8.
13159 (print_object): Adjust for the new multibyte form. Print 8-bit
13160 raw bytes always in octal form. Handle sub char table correctly.
13161
13162 * process.c: Include "character.h" instead of "charset.h".
13163 (read_process_output, send_process): Adjust for the new
13164 code-conversion API.
13165
13166 * puresize.h (BASE_PURESIZE): Increase.
13167
13168 * regex.c: Include "character.h" instead of "charset.h".
13169 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
13170 (regex_compile): Accept a range whose starting and ending
13171 character have different leading bytes.
13172 (analyse_first): Adjust for the above change.
13173
13174 * search.c: Include "character.h" instead of "charset.h".
13175 (search_buffer, boyer_moore): Adjust for the new multibyte form.
13176 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
13177
13178 * syntax.c: Include "character.h" instead of "charset.h".
13179 (syntax_parent_lookup): Delete.
13180 (Fmodify_syntax_entry): Accept a cons as CHAR.
13181 (skip_chars): Adjust for the new multibyte form.
13182 (init_syntax_once): Call char_table_set_range instead of directly
13183 accessing the structure of a char table.
13184
13185 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
13186 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
13187 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
13188 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
13189
13190 * term.c: Include "buffer.h" and "character.h".
13191 (encode_terminal_code, write_glyphs): Adjust for the new
13192 code-conversion API.
13193 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
13194
13195 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
13196
13197 * xdisp.c: Include "character.h".
13198 (get_next_display_element): Adjust for the new multibyte form.
13199 (disp_char_vector): Adjust for the new char table structure.
13200 (decode_mode_spec_coding): Adjust for the new structure of
13201 coding system.
13202 (decode_mode_spec): Adjust for the new code-conversion API.
13203
13204 * xfaces.c: Include "character.h" instead of "charset.h".
13205 (load_face_font): Adjust for the change of choose_face_font and
13206 FS_LOAD_FONT.
13207 (generate_ascii_font): New function.
13208 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
13209 (set_font_frame_param): Adjust for the change of choose_face_font.
13210 (free_realized_face): Make it public.
13211 (free_realized_faces_for_fontset): Rename from
13212 free_realized_multibyte_face. Free also faces realized for ASCII.
13213 (choose_face_font): Change arguments. Adjust for the change of
13214 fontset_font_pattern and FS_LOAD_FONT.
13215
13216 * xfns.c: Include "character.h".
13217 (x_encode_text): Adjust for the new code-conversion API.
13218
13219 * xselect.c: Don't include "charset.h".
13220 (selection_data_to_lisp_data): Adjust for the new code conversion API.
13221
13222 * xterm.c: Include "character.h".
13223 (x_encode_char): New argument CHARSET. Change caller.
13224 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
13225 Call ENCODE_CHAR instead of SPLIT_CHAR.
13226 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
13227 CHAR_WIDTH instead of CHARSET_WIDTH.
13228 (XTread_socket): Adjust for the new code-conversion API.
13229 (x_new_font): Adjust for the change of FS_LOAD_FONT.
13230 (x_load_font): Adjust for the change of struct font.
13231
132322008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
13233
13234 * xfaces.c (face_at_buffer_position): Remove unused vars.
13235
132362008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
13237
13238 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
13239 Fix overflow checking.
13240
132412008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
13242
13243 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
13244 Cancel previous change.
13245
132462008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
13247
13248 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
13249 ccl->eight_bit_control. Fix check for buffer overflow.
13250 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
13251 (ccl_driver): Initialize extra_bytes to 0.
13252
132532008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
13254
13255 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
13256 return it ORed with ctrl_modifier.
13257
132582008-01-29 Miles Bader <miles@gnu.org>
13259
13260 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
13261
132622008-01-28 Jason Rumney <jasonr@gnu.org>
13263
13264 * w32.c (stat): Don't double check for networked drive.
13265
132662008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
13267
13268 * window.c (run_window_configuration_change_hook): New function.
13269 Code extracted from set_window_buffer. Set the selected frame.
13270 (set_window_buffer): Use it.
13271 * window.h (run_window_configuration_change_hook): Declare.
13272 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
13273
13274 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
13275
132762008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
13277
13278 * Makefile.in: Remove references to unused macros.
13279
132802008-01-26 Eli Zaretskii <eliz@gnu.org>
13281
13282 * w32.c (g_b_init_get_sid_sub_authority)
13283 (g_b_init_get_sid_sub_authority_count): New static variables.
13284 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
13285 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
13286 (init_user_info): Use them to retrieve uid and gid.
13287 Use 500/513, the Windows defaults, as Administrator's uid/gid.
13288 (fstat): Use pw_uid and pw_gid from the_passwd structure for
13289 st_uid and st_gid of the file.
13290
132912008-01-26 Jason Rumney <jasonr@gnu.org>
13292
13293 * w32.c (logon_network_drive): New function.
13294 (stat): Use it.
13295
132962008-01-26 Chong Yidong <cyd@stupidchicken.com>
13297
13298 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
13299 invisible text covered with an ellipsis.
13300
133012008-01-25 Richard Stallman <rms@gnu.org>
13302
13303 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
13304 jump back to beginning. Move some other initializations after that.
13305 (Qwindow_text_change_functions, Vwindow_text_change_functions):
13306 New variables.
13307 (syms_of_xdisp): Init them.
13308
13309 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
13310
13311 * buffer.c (reset_buffer_local_variables):
13312 Implement `permanent-local-hook'.
13313 (Qpermanent_local_hook): New variable.
13314 (syms_of_buffer): Init and staticpro it.
13315
133162008-01-25 Michael Albinus <michael.albinus@gmx.de>
13317
13318 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
13319
133202008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
13321
13322 * fns.c (Fclrhash): Return TABLE.
13323
133242008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13325
13326 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
13327 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
13328 is set even without positional changes.
13329 (x_scroll_bar_clear): Set bar->redraw_needed_p.
13330
13331 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
13332
133332008-01-23 Jason Rumney <jasonr@gnu.org>
13334
13335 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
13336
13337 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
13338 the unicode range available in MULE by locale-coding-system.
13339 Improve dbcs lead byte detection. Set event timestamp and modifiers
13340 earlier.
13341
133422008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13343
13344 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
13345 [MAC_OSX] (init_mac_osx_environment): Initialize it.
13346 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
13347 when used on child processes.
13348
133492008-01-21 Michael Albinus <michael.albinus@gmx.de>
13350
13351 * dbusbind.c (Fdbus_method_return_internal): Rename from
13352 Fdbus_method_return.
13353 (Fdbus_unregister_object): Move to dbus.el.
13354 (Fdbus_call_method, Fdbus_method_return_internal)
13355 (Fdbus_send_signal): Improve debug messages.
13356
133572008-01-20 Martin Rudalics <rudalics@gmx.at>
13358
13359 * undo.c (undo_inhibit_record_point): New variable.
13360 (syms_of_undo): Initialize it.
13361 (record_point): Don't record point when undo_inhibit_record_point
13362 is set.
13363
133642008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
13365
13366 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
13367
13368 * xdisp.c (Qauto_hscroll_mode): New var.
13369 (syms_of_xdisp): Initialize it.
13370 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
13371 window's buffer.
13372 (hscroll_windows): Don't check automatic_hscrolling_p here.
13373
13374 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
13375 vscroll if we're setting window-buffer to the value it already has.
13376
133772008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
13378
13379 * m/intel386.h: Remove references to XENIX.
13380
133812008-01-17 Andreas Schwab <schwab@suse.de>
13382
13383 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
13384 instead of HAVE_X86_64_LIB64_DIR.
13385 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
13386
133872008-01-17 Glenn Morris <rgm@gnu.org>
13388
13389 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
13390 to HAVE_X86_64_LIB64_DIR.
13391
133922008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
13393
13394 * s/irix3-3.h:
13395 * s/irix4-0.h:
13396 * s/386-ix.h:
13397 * s/domain.h:
13398 * s/hpux9-x11r4.h:
13399 * s/hpux9shxr4.h: Remove files for systems no longer supported.
13400
13401 * sysdep.c: Remove code containing references to symbols defined
13402 by unsupported systems.
13403
134042008-01-16 Glenn Morris <rgm@gnu.org>
13405
13406 * coding.c (select-safe-coding-system-function): Doc fix.
13407
134082008-01-15 Glenn Morris <rgm@gnu.org>
13409
13410 * config.in: Revert 2008-01-13 change: this is a generated file.
13411
134122008-01-13 Tom Tromey <tromey@redhat.com>
13413
13414 * lisp.h: Fix typo.
13415
134162008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
13417
13418 * m/sequent-ptx.h:
13419 * m/sequent.h:
13420 * s/ptx.h:
13421 * s/ptx4-2.h:
13422 * s/ptx4.h: Remove files for systems no longer supported.
13423
13424 * callproc.c (Fcall_process): Fix previous change.
13425
134262008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
13427
13428 * unexsunos4.c: Remove file, system not supported anymore.
13429
13430 * m/mips.h:
13431 * m/intel386.h:
13432 * callproc.c:
13433 * config.in:
13434 * ecrt0.c:
13435 * emacs.c:
13436 * fileio.c:
13437 * frame.c:
13438 * getpagesize.h:
13439 * keyboard.c:
13440 * lread.c:
13441 * process.c:
13442 * puresize.h:
13443 * sysdep.c:
13444 * systty.h:
13445 * syswait.h:
13446 * unexec.c:
13447 * xdisp.c:
13448 * alloc.c: Remove code containing references to symbols defined by
13449 unsupported systems.
13450
134512008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
13452
13453 * coding.c (detect_coding_mask): Fix previous change.
13454
134552008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
13456
13457 * coding.c (detect_coding_iso2022): New arg
13458 latin_extra_code_state. Allow Latin extra codes only
13459 when *latin_extra_code_state is nonzero.
13460 (detect_coding_mask): If there is a NULL byte, detect the encoding
13461 as UTF-16 or binary. If Latin extra codes exist, detect the
13462 encoding as ISO-2022 only when there's no other proper encoding is
13463 found.
13464
134652008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13466
13467 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
13468 #ifdef MAC_OS.
13469
134702008-01-08 Richard Stallman <rms@gnu.org>
13471
13472 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
13473
134742008-01-06 Nick Roberts <nickrob@snap.net.nz>
13475
13476 * keyboard.c (parse_menu_item): Don't enclose key bindings on
13477 menu bar in parentheses.
13478
134792008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
13480
13481 * m/7300.h:
13482 * m/acorn.h:
13483 * m/alliant-2800.h:
13484 * m/alliant.h:
13485 * m/alliant1.h:
13486 * m/alliant4.h:
13487 * m/altos.h:
13488 * m/amdahl.h:
13489 * m/apollo.h:
13490 * m/att3b.h:
13491 * m/aviion-intel.h:
13492 * m/aviion.h:
13493 * m/celerity.h:
13494 * m/clipper.h:
13495 * m/cnvrgnt.h:
13496 * m/convex.h:
13497 * m/cydra5.h:
13498 * m/delta88k.h:
13499 * m/dpx2.h:
13500 * m/dual.h:
13501 * m/elxsi.h:
13502 * m/f301.h:
13503 * m/gould-np1.h:
13504 * m/gould.h:
13505 * m/i860.h:
13506 * m/ibmps2-aix.h:
13507 * m/ibmrt-aix.h:
13508 * m/ibmrt.h:
13509 * m/irist.h:
13510 * m/is386.h:
13511 * m/isi-ov.h:
13512 * m/mega68.h:
13513 * m/mg1.h:
13514 * m/news-r6.h:
13515 * m/news-risc.h:
13516 * m/news.h:
13517 * m/nh3000.h:
13518 * m/nh4000.h:
13519 * m/ns16000.h:
13520 * m/ns32000.h:
13521 * m/nu.h:
13522 * m/orion.h:
13523 * m/orion105.h:
13524 * m/paragon.h:
13525 * m/pfa50.h:
13526 * m/plexus.h:
13527 * m/pyramid.h:
13528 * m/pyrmips.h:
13529 * m/sh3el.h:
13530 * m/sps7.h:
13531 * m/sr2k.h:
13532 * m/stride.h:
13533 * m/sun1.h:
13534 * m/sun2.h:
13535 * m/sun3-68881.h:
13536 * m/sun3-fpa.h:
13537 * m/sun3-soft.h:
13538 * m/sun3.h:
13539 * m/sun386.h:
13540 * m/symmetry.h:
13541 * m/tad68k.h:
13542 * m/tahoe.h:
13543 * m/targon31.h:
13544 * m/tek4300.h:
13545 * m/tekxd88.h:
13546 * m/tower32.h:
13547 * m/tower32v3.h:
13548 * m/ustation.h:
13549 * m/wicat.h:
13550 * m/xps100.h:
13551 * s/cxux.h:
13552 * s/cxux7.h:
13553 * s/dgux.h:
13554 * s/dgux4.h:
13555 * s/dgux5-4-3.h:
13556 * s/dgux5-4r2.h:
13557 * s/esix.h:
13558 * s/esix5r4.h:
13559 * s/hiuxmpp.h:
13560 * s/hiuxwe2.h:
13561 * s/iris3-5.h:
13562 * s/iris3-6.h:
13563 * s/isc2-2.h:
13564 * s/isc3-0.h:
13565 * s/isc4-0.h:
13566 * s/isc4-1.h:
13567 * s/newsos5.h:
13568 * s/newsos6.h:
13569 * s/osf1.h:
13570 * s/osf5-0.h:
13571 * s/riscix1-1.h:
13572 * s/riscix12.h:
13573 * s/sco4.h:
13574 * s/sco5.h:
13575 * s/sunos4-0.h:
13576 * s/sunos4-1.h:
13577 * s/sunos413.h:
13578 * s/sunos4shr.h:
13579 * s/umax.h:
13580 * s/unipl5-2.h:
13581 * s/xenix.h:
13582 * cxux-crt0.s:
13583 * unexapollo.c:
13584 * unexconvex.c:
13585 * unexenix.c:
13586 * unexsni.c: Remove files for systems no longer supported.
13587
13588 * m/intel386.h: Remove references to unsupported systems.
13589
13590 * w32.c (get_emacs_configuration): Remove reference to i860.
13591
13592 * sysdep.c: Remove dead code.
13593
135942008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
13595
13596 * s/rtu.h:
13597 * m/masscomp.h: Remove files. Platform is obsolete.
13598
135992008-01-04 Michael Albinus <michael.albinus@gmx.de>
13600
13601 * dbusbind.c (Fdbus_method_return): New function.
13602 (xd_read_message): Add the serial number to the event.
13603 (Fdbus_register_method): Activate the function.
13604
136052008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
13606
13607 * keyboard.c (read_key_sequence): Fix typo.
13608
136092008-01-03 Michael Albinus <michael.albinus@gmx.de>
13610
13611 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
13612 (xd_signature, xd_append_arg): Handle element type detection for
13613 empty arrays.
13614 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
13615 SDATA () calls; this must be solved more general.
13616 (Fdbus_register_signal): Use SBYTES instead of strlen.
13617
136182008-01-03 Magnus Henoch <magnus@zemdatav>
13619
13620 * dbusbind.c (xd_append_arg): Use unsigned char instead of
13621 unsigned int for byte values (necessary for big-endian platform).
13622 (Fdbus_call_method): Handle the case of no returned arguments.
13623
136242007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
13625
13626 * dbusbind.c (xd_read_message): Use non-static input_event struct.
13627
136282007-12-31 Magnus Henoch <mange@freemail.hu>
13629
13630 * dbusbind.c (xd_signature): Signature of variant is just "v".
13631
136322007-12-30 Michael Albinus <michael.albinus@gmx.de>
13633
13634 * dbusbind.c: Fix several errors and compiler warnings.
13635 Reported by Tom Tromey <tromey@redhat.com>.
13636 (XD_ERROR, XD_DEBUG_MESSAGE)
13637 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
13638 (xd_append_arg): Part for basic D-Bus types rewritten.
13639 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
13640 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
13641 appropriate.
13642 (xd_read_message): Return Qnil. Don't signal an error; it is not
13643 useful during event reading.
13644 (Fdbus_register_signal): Signal an error if the check for
13645 FUNCTIONP fails.
13646 (Fdbus_register_method): New function. The implementation is not
13647 complete, the call of the function signals an error therefore.
13648 (Fdbus_unregister_object): New function, renamed from
13649 Fdbus_unregister_signal. The initial check signals an error, if
13650 the object is not well formed.
13651
136522007-12-30 Richard Stallman <rms@gnu.org>
13653
13654 * textprop.c (get_char_property_and_overlay):
13655 Signal error if POSITION is out of range in a buffer.
13656
136572007-12-29 Martin Rudalics <rudalics@gmx.at>
13658
13659 * w32fns.c (Fx_create_frame): Make copy of frame parameters
13660 because the original parameters are in pure storage now.
13661
136622007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13663
13664 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
13665
136662007-12-22 Eli Zaretskii <eliz@gnu.org>
13667
13668 * callint.c (syms_of_callint) <command-history>: Add reference to
13669 history-length in the doc string.
13670
136712007-12-17 Jason Rumney <jasonr@gnu.org>
13672
13673 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
13674 before passing as wParam.
13675
136762007-12-22 Michael Albinus <michael.albinus@gmx.de>
13677
13678 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
13679 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
13680 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
13681 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
13682 as number.
13683 (Fdbus_call_method): Fix docstring.
13684
136852007-12-21 Michael Albinus <michael.albinus@gmx.de>
13686
13687 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
13688 New macros.
13689 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
13690 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
13691 Simplify.
13692 (xd_signature): New function.
13693 (xd_append_arg): Compute also signatures. Major rewrite.
13694 (xd_retrieve_arg): Make debug messages friendly.
13695 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
13696 Check for signatures of arguments.
13697
136982007-12-19 Michael Albinus <michael.albinus@gmx.de>
13699
13700 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
13701 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
13702 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
13703 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
13704 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
13705 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
13706 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
13707 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
13708 (xd_retrieve_value): Remove. Functionality included in ...
13709 (xd_append_arg): New function.
13710 (Fdbus_call_method, Fdbus_send_signal): Apply it.
13711
137122007-12-16 Michael Albinus <michael.albinus@gmx.de>
13713
13714 * dbusbind.c (top): Include <stdio.h>.
13715 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
13716 dbus_message_new_method_call and dbus_message_new_signal.
13717 (Fdbus_register_signal): Rename unique_name to uname.
13718 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
13719 non-existing unique name. Fix typos in matching rule. Return an
13720 object which is useful in Fdbus_unregister_signal.
13721 (Fdbus_unregister_signal): Reimplementation, in order to remove
13722 only the corresponding entry.
13723 (Vdbus_registered_functions_table): Change the order of entries.
13724 Apply these changes in xd_read_message and Fdbus_register_signal.
13725
137262007-12-16 Andreas Schwab <schwab@suse.de>
13727
13728 * fileio.c (Finsert_file_contents): Fix overflow check to not
13729 depend on undefined integer overflow.
13730
137312007-12-14 Jason Rumney <jasonr@gnu.org>
13732
13733 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
13734 for characters above 127.
13735
137362007-12-13 Jason Rumney <jasonr@gnu.org>
13737
13738 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
13739 before dereferencing array.
13740 (lookup_vk_code): Remove zero comparison.
13741
137422007-12-14 Michael Albinus <michael.albinus@gmx.de>
13743
13744 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
13745 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
13746 Use `unsigned int' instead of `uint'.
13747 (xd_read_message, Fdbus_register_signal): Split expressions into
13748 multiple lines before operators "&&" and "||", according to the
13749 GNU Coding Standards.
13750
137512007-12-14 Eli Zaretskii <eliz@gnu.org>
13752
13753 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
13754
137552007-12-12 Juri Linkov <juri@jurta.org>
13756
13757 * buffer.c (Frename_buffer): In interactive spec replace
13758 `read-buffer' with `read-string' that uses `buffer-name-history'
13759 as history, and the current buffer's name as default.
13760
137612007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
13762
13763 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
13764 manipulating the backtrace manually.
13765 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
13766 (struct backtrace, backtrace_list): Remove.
13767 (command_loop_1): Remove dead var `no_direct'.
13768
13769 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
13770 preserve non-built-in buffer-local variables.
13771 (Fkill_all_local_variables): Don't re-create&re-set permanent
13772 buffer-local variables.
13773
137742007-12-09 Juri Linkov <juri@jurta.org>
13775
13776 * buffer.c (Frename_buffer): Change interactive spec from "s" to
13777 Lisp code that uses `read-buffer' with current buffer as default.
13778
137792007-12-08 Michael Albinus <michael.albinus@gmx.de>
13780
13781 * dbusbind.c (xd_read_message): Generate an event for every
13782 registered handler. There might be several handlers registered
13783 for the same signal.
13784 (Fdbus_register_signal): Don't overwrite a registration for the
13785 same signal. Add a new registration if handlers are different.
13786 (Vdbus_registered_functions_table): Rework doc string.
13787
137882007-12-07 Michael Albinus <michael.albinus@gmx.de>
13789
13790 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
13791 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
13792 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
13793 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
13794 Unify argument lists.
13795 (xd_read_message, Fdbus_register_signal): Reorder and extend event
13796 arguments and hash table keys. Use unique name for service.
13797 (Fdbus_unregister_signal): Remove checks.
13798 (Vdbus_registered_functions_table): Fix doc string.
13799
138002007-12-05 Magnus Henoch <mange@freemail.hu>
13801
13802 * process.c (make_process): Initialize pty_flag to 0.
13803
138042007-12-05 Jason Rumney <jasonr@gnu.org>
13805
13806 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
13807 specified XBMs.
13808
138092007-12-05 Richard Stallman <rms@gnu.org>
13810
13811 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
13812
138132007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13814
13815 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
13816 New variable.
13817 (mac_try_close_socket) [MAC_OSX]: New function.
13818 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
13819 Update cfsockets_for_select. Replace invalid CFRunLoop source.
13820
13821 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
13822 Use mac_try_close_socket.
13823
138242007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13825
13826 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
13827 reloc_base.
13828 (copy_dysymtab): Compute relocation base here.
13829 (rebase_reloc_address) [__ppc64__]: New function.
13830 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
13831 changed.
13832
138332007-12-05 Jason Rumney <jasonr@gnu.org>
13834
13835 * w32proc.c (sys_spawnve): Quote args with wildcards.
13836
138372007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13838
13839 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
13840 __objc_* sections.
13841 (unrelocate) [_LP64]: Set relocation base to address of data segment.
13842
138432007-12-05 Michael Albinus <michael.albinus@gmx.de>
13844
13845 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
13846 Move check for Vdbus_registered_functions_table to
13847 xd_read_queued_messages.
13848 (xd_read_queued_messages): Protect xd_read_message calls by
13849 internal_condition_case_1.
13850
138512007-12-04 Michael Albinus <michael.albinus@gmx.de>
13852
13853 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
13854 Qdbus_system_bus and Qdbus_session_bus, respectively.
13855 (Vdbus_intern_symbols): Remove.
13856 (Vdbus_registered_functions_table): New hash table.
13857 (XD_SYMBOL_INTERN_SYMBOL): Remove.
13858 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
13859 Rewrite in order to manage registered functions by hash table
13860 Vdbus_registered_functions_table.
13861
138622007-12-03 Jan Djärv <jan.h.d@swipnet.se>
13863
13864 * xterm.c: Update URL to Window Manager Specification in comment.
13865
138662007-12-02 Michael Albinus <michael.albinus@gmx.de>
13867
13868 * config.in (HAVE_DBUS): Add.
13869
13870 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
13871 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
13872 (obj): Add $(DBUS_OBJ).
13873 (LIBES): Add $(DBUS_LIBS).
13874 (dbusbind.o): New target.
13875
13876 * dbusbind.c: New file.
13877
13878 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
13879
13880 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
13881 (Qdbus_event): New Lisp symbol.
13882 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
13883 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
b97439ce 13884 (keys_of_keyboard): Define dbus-event.
aac0c6e3
MR
13885
13886 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
13887
138882007-12-01 Richard Stallman <rms@gnu.org>
13889
13890 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
13891
138922007-11-30 Jason Rumney <jasonr@gnu.org>
13893
13894 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
13895 (w32con_reset_terminal_modes): Clear screen buffer.
13896 (w32_face_attributes): Don't use color indexes that are out of range.
13897 Only reverse the default colors.
13898
13899 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
13900 WINDOWSNT.
13901
13902 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
13903
139042007-11-29 Jason Rumney <jasonr@gnu.org>
13905
13906 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
13907 (w32_face_attributes): Use Vtty_defined_color_alist to determine
13908 if the terminal colors are initialized.
13909 (unspecified_fg, unspecified_bg): Remove unused declarations.
13910
139112007-11-29 Andreas Schwab <schwab@suse.de>
13912
13913 * keyboard.c (apply_modifiers): Fix typo.
13914
139152007-11-29 Richard Stallman <rms@gnu.org>
13916
13917 * keymap.c (Fcurrent_local_map): Doc fix.
13918
139192007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
13920
13921 * s/gnu-kfreebsd.h: New file.
13922
139232007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
13924
13925 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
13926 Don't cast redundantly.
13927
13928 * keyboard.c (KEY_TO_CHAR): New macro.
13929 (parse_modifiers, apply_modifiers): Accept integer arguments.
13930 (read_key_sequence): Use them to unify the "shift->unshift" mapping
13931 for chars and symbol keys.
13932 After doing such remapping, apply function-key-map again.
13933
139342007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
13935
13936 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
13937 compiled anymore.
13938
139392007-11-26 Andreas Schwab <schwab@suse.de>
13940
13941 * process.c (list_processes_1): Fix indentation level of the
13942 command column.
13943
139442007-11-23 Andreas Schwab <schwab@suse.de>
13945
13946 * editfns.c (Fformat): Handle %c specially since it requires the
13947 argument to be of type int.
13948
139492007-11-23 Markus Triska <markus.triska@gmx.at>
13950
13951 * emacs.c (main): Call init_editfns before init_process, since
13952 init_process sets Vprocess_connection_type depending on OS release.
13953
139542007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
13955
13956 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
13957 (find_symbol_value): Use do_symval_forwarding.
13958
13959 * data.c (set_internal): Set the value in the `cons-cell' (for
13960 Buffer_Local_values) not only for frame-local variables.
13961
139622007-11-22 Andreas Schwab <schwab@suse.de>
13963
13964 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
13965 values to sprintf.
13966 * keymap.c (Fsingle_key_description): Likewise.
13967 * print.c (print_object): Likewise.
13968
139692007-11-22 Jan Djärv <jan.h.d@swipnet.se>
13970
13971 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
13972 file for image is nil.
13973
139742007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
13975
13976 * term.c: Include stdarg.h.
13977 (fatal): Implement using varargs.
13978 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
13979
139802007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
13981
13982 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
13983 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
13984 Update call to buffer_slot_type_mismatch.
13985 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
13986 (buffer_slot_type_mismatch): Update.
13987 * buffer.c (buffer_local_types): Remove.
13988 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
13989 (defvar_per_buffer): Set the type in the buffer_objfwd.
13990
139912007-11-21 Jason Rumney <jasonr@gnu.org>
13992
13993 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
13994 CreateFileMapping returns NULL on failure.
13995
139962007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
13997
13998 * search.c (Fset_match_data): Remove the `evaporate' feature.
13999 (unwind_set_match_data): Don't use the `evaporate' feature.
14000
140012007-11-21 Jason Rumney <jasonr@gnu.org>
14002
14003 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
14004
14005 * w32console.c (w32con_write_glyphs): Remove unused variables.
14006
140072007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
14008
14009 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
14010
14011 * s/darwin.h (MULTI_KBOARD): Remove.
14012
14013 * macfns.c (x_create_tip_frame, Fx_create_frame)
14014 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
14015
140162007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
14017
14018 * buffer.c (Fbuffer_local_value): Remove redundant test.
14019 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
14020 than in `current-buffer' to match the comment.
14021 Do the swap using swap_in_global_binding.
14022
14023 * data.c (store_symval_forwarding, set_internal):
14024 * eval.c (specbind): Remove dead code.
14025
14026 * coding.c (detect_coding, Fupdate_coding_systems_internal):
14027 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
14028 Since we do not want to see internal Lisp_*fwd objects here.
14029
140302007-11-18 Jan Djärv <jan.h.d@swipnet.se>
14031
14032 * sysdep.c (init_system_name): Use getaddrinfo if available.
14033
14034 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
14035 (x_scroll_bar_note_movement): start, end, with, height in struct
14036 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
14037
140382007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
14039
14040 * puresize.h (BASE_PURESIZE): Increase to 1190000.
14041
140422007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
14043
14044 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
14045 This undoes Richard's change of 14-Oct-2002.
14046
14047 * alloc.c (allocate_other_vector):
14048 * lisp.h (allocate_other_vector): Remove.
14049
14050 * window.c (struct save_window_data): Move non-lisp data to the end
14051 and make it `int' rather than Lisp_Object.
14052 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
14053 Done wrap/unwrap integer values.
14054 (Fset_window_configuration, compare_window_configurations):
14055 Update use of fields to their new types.
14056
14057 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
14058 Turn integer fields into `int'. Merge x_window_low and x_window_high.
14059 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
14060 (SET_SCROLL_BAR_X_WINDOW): Remove.
14061 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
14062 Access the new x_window field directly.
14063 * xterm.c (x_scroll_bar_create): Use a pseudovector.
14064 Don't wrap/unwrap integers into Lisp_Objects.
14065 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
14066 (x_scroll_bar_report_motion):
14067 Don't wrap/unwrap integers into Lisp_Objects.
14068 (x_term_init): Use SDATA.
14069 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
14070 (x_scroll_bar_set_handle, x_scroll_bar_remove)
14071 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
14072 (x_scroll_bar_report_motion, x_scroll_bar_clear):
14073 * xfns.c (x_set_background_color):
14074 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
14075 Access the new x_window field directly.
14076
14077 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
14078 (allocate_pseudovector): Make non-static.
14079
14080 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
14081 (allocate_pseudovector): Declare.
14082 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
14083
140842007-11-15 Andreas Schwab <schwab@suse.de>
14085
14086 * editfns.c (Fformat): Correctly format EMACS_INT values.
14087 Also take precision into account when formatting an integer.
14088
14089 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
14090
140912007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
14092
14093 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
14094 (syms_of_keyboard): Defsubr it.
14095
14096 * data.c (swap_in_global_binding): Fix longstanding bug where
14097 store_symval_forwarding was not called with the right second argument,
14098 thus causing objfwd-ing from being dropped.
14099
141002007-11-14 Juanma Barranquero <lekktu@gmail.com>
14101
14102 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
14103 (Fx_display_pixel_height, Fx_display_planes)
14104 (Fx_display_color_cells, Fx_server_max_request_size)
14105 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
14106 (Fx_display_visual_class, Fx_display_save_under):
14107 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
14108 (Fx_display_pixel_height, Fx_display_planes)
14109 (Fx_display_color_cells, Fx_server_max_request_size)
14110 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
14111 (Fx_display_mm_height, Fx_display_mm_width)
14112 (Fx_display_backing_store, Fx_display_visual_class)
14113 (Fw32_select_font, Fx_display_save_under):
14114 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
14115 (Fx_display_pixel_height, Fx_display_planes)
14116 (Fx_display_color_cells, Fx_server_max_request_size)
14117 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
14118 (Fx_display_save_under): Fix typos in docstrings.
14119
141202007-11-14 Juanma Barranquero <lekktu@gmail.com>
14121
14122 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
14123 corresponding to deleted entries; they are an implementation detail.
14124 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
14125 Remove variables.
14126 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
14127 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
14128 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
14129 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
14130 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
14131 (Fw32_define_rgb_color, Fw32_load_color_file)
14132 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
14133 Fix typos in docstrings.
14134 (Fx_server_version): Reflow docstring.
14135 (Fw32_shell_execute): Doc fixes.
14136
141372007-11-13 Juanma Barranquero <lekktu@gmail.com>
14138
14139 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
14140 if w32_parse_hot_key returned nil.
14141
141422007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
14143
14144 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
14145
141462007-11-09 Jason Rumney <jasonr@gnu.org>
d6c952f8 14147
aac0c6e3
MR
14148 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
14149
14150 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
14151
14152 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
14153 Remove W32_SCROLL_BAR_CLICK_EVENT.
14154
14155 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
14156 Add MULTIMEDIA_KEY_EVENT.
14157
14158 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
14159 (lispy_multimedia_keys) [WINDOWSNT]: New array.
14160 (make_lispy_event) [WINDOWSNT]: Use it to translate
14161 MULTIMEDIA_KEY_EVENT.
14162
14163 * w32term.h (WM_APPCOMMAND): Define if not already.
14164 (GET_APPCOMMAND_LPARAM): Likewise.
14165
14166 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
14167 WM_APPCOMMAND.
14168
14169 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
14170 (syms_of_w32fns): Export and initialize it.
14171 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
14172
141732007-11-09 Chong Yidong <cyd@stupidchicken.com>
14174
14175 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
14176 twice.
14177
14178 * xdisp.c (handle_face_prop): Fix last change.
14179
141802007-11-09 Richard Stallman <rms@gnu.org>
14181
14182 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
14183 not just for after-strings and before-strings.
14184 Call face_for_overlay_string and pass the overlay to it.
14185 (handle_display_prop): Determine whether property came from an overlay.
14186 Pass OVERLAY arg to handle_single_display_spec.
14187 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
14188 (load_overlay_strings): Fill in it->string_overlays.
14189 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
14190
14191 * xfaces.c (face_for_overlay_string): Function renamed from
14192 face_at_buffer_position_no_overlays, and add arg OVERLAY.
14193
14194 * dispextern.h (struct it): New elt string_overlays.
14195 New elt from_overlay, also in stack.
14196 Rearrange a few elements.
14197 (face_for_overlay_string): Decl renamed from
14198 face_at_buffer_position_no_overlays, and add argument.
14199
142002007-11-09 Richard Stallman <rms@gnu.org>
14201
14202 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
14203 to get the base face for an overlay string.
14204
14205 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
14206
14207 * xfaces.c (face_at_buffer_position_no_overlays): New function.
14208
14209 * xdisp.c (handle_stop): Move some code out of loop.
14210
142112007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14212
14213 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
14214 Fix conversion from Lisp object to ATSUFontID.
14215
142162007-11-09 Jason Rumney <jasonr@gnu.org>
14217
14218 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
14219
142202007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14221
14222 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
14223 Don't assume regions are aligned to page boundary.
14224 (print_load_command_name): Add LC_UUID if defined.
14225
142262007-11-09 Richard Stallman <rms@gnu.org>
14227
14228 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
14229
142302007-11-07 Jason Rumney <jasonr@gnu.org>
14231
14232 * s/windows95.h: Remove.
14233
142342007-11-06 Jan Djärv <jan.h.d@swipnet.se>
14235
14236 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
14237 abort with a message on unhandled store_type values.
14238
142392007-11-01 Jan Djärv <jan.h.d@swipnet.se>
14240
14241 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
14242 Remove HAVE_X11R5 and HAVE_X11R4.
14243
142442007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
14245
14246 * Makefile.in: Remove references to sunfns.c and sunfns.o.
14247
142482007-11-01 Johan Bockgård <bojohan@gnu.org>
14249
14250 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
14251 Don't set s->stippled_p here, since it has already been set by
14252 x_set_glyph_string_gc from x_draw_glyph_string.
14253
142542007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
14255
14256 * sunfns.c: Remove file.
14257
14258 * m/sun386.h:
14259 * m/sun2.h:
14260 * m/sparc.h: Remove Sun windows code.
14261
142622007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
14263
14264 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
14265 (init_keyboard): Set current_kboard's window-system to nil.
14266 (tty_read_avail_input): Typo.
14267 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
14268
142692007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
14270
14271 * s/usg5-4.h:
14272 * s/usg5-3.h:
14273 * s/ptx.h:
14274 * m/is386.h:
14275 * m/ibmps2-aix.h:
14276 * Makefile.in: Remove all mentions of X10.
14277
14278 * dispnew.c (syms_of_display): Don't mention version 10.
14279
142802007-10-28 Juanma Barranquero <lekktu@gmail.com>
14281
14282 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
14283 ($(BLD)/abbrev.$(O)): Remove.
14284
142852007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
14286
14287 Rewrite abbrev.c in Elisp.
14288 * image.c (Qcount): Don't declare as extern.
14289 (syms_of_image): Initialize and staticpro `Qcount'.
14290 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
14291 * emacs.c (main): Don't call syms_of_abbrev.
14292 * Makefile.in (obj): Remove abbrev.o.
14293 (abbrev.o): Remove.
14294 * abbrev.c: Remove.
14295
142962007-10-26 Martin Rudalics <rudalics@gmx.at>
14297
14298 * window.c (window_min_size_2): Don't count header-line.
14299
143002007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
14301
14302 * frame.h (struct frame): Move all bit fields after the first bit
14303 field to take advantage of the available space. Group all the
14304 chars together to reduce wasted space due to padding.
14305
143062007-10-26 Juanma Barranquero <lekktu@gmail.com>
14307
14308 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
14309
14310 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
14311 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
14312 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
14313 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
14314 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
14315 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
14316 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
14317 (last_marked, mark_object_loop_halt): Make static.
14318
14319 * frame.c (syms_of_frame) <delete-frame-functions>:
14320 Fix typo in docstring.
14321
143222007-10-25 Juanma Barranquero <lekktu@gmail.com>
14323
14324 * w32.c (init_environment): Fix tiny memory leak.
14325 (w32_get_resource): Remove unused variable `ok'.
14326
143272007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
14328
14329 Make `window-system' into a keyboard-local variable (rather than
14330 frame-local as done originally by multi-tty).
14331
14332 * keyboard.h (struct kboard): Add Vwindow_system.
14333 * keyboard.c (init_kboard): Set a default for Vwindow_system.
14334 (mark_kboards): Mark Vwindow_system.
14335
14336 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
14337 (init_display): Don't set the obsolete `window-system' frame-param.
14338
14339 * xterm.c (x_term_init):
14340 * w32term.c (w32_create_terminal):
14341 * term.c (init_tty): Set Vwindow_system.
14342 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
14343 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
14344
14345 * xfns.c (Fx_create_frame, x_create_tip_frame):
14346 * w32fns.c (Fx_create_frame, x_create_tip_frame):
14347 * macfns.c (Fx_create_frame):
14348 Don't set the obsolete `window-system' frame-param.
14349
14350 * frame.h (Qwindow_system): Remove.
14351 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
14352 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
14353
143542007-10-24 Richard Stallman <rms@gnu.org>
14355
14356 * frame.c (x_figure_window_size): For fullscreen case,
14357 set USPosition | PPosition without clobbering rest of window_prompting.
14358
14359 * keyboard.c (Fcurrent_idle_time): Doc fix.
14360
14361 * print.c (Fwith_output_to_temp_buffer): Doc fix.
14362
143632007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
14364
14365 * process.c (unwind_request_sigio): Only define if __ultrix__.
14366
14367 * callproc.c (child_setup): Remove spurious *.
14368
14369 * lisp.h (Fget_text_property): Declare.
14370 (have_menus_p): Declare it here rather than in sys-dep header files.
14371 * macterm.h (have_menus_p):
14372 * msdos.h (have_menus_p):
14373 * xterm.h (have_menus_p): Remove.
14374
14375 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
14376 (Fmake_variable_frame_local): Just check the variable's const-ness
14377 rather than checking nil or t.
14378
143792007-10-22 Jason Rumney <jasonr@gnu.org>
14380
14381 * w32fns.c: Include math.h.
14382 (w32_abort): Declaration moved to nt/config.nt.
14383
14384 * s/ms-w32.h (HAVE_STDLIB_H): Define.
14385 (abort): Redefinition moved to nt/config.nt.
14386
14387 * m/windowsnt.h: Remove.
14388
143892007-10-22 Juanma Barranquero <lekktu@gmail.com>
14390
14391 * emacs.c (Fdump_emacs): Fix typo in message.
14392 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
14393 <installation-directory>: Reflow docstring.
14394
143952007-10-22 Juri Linkov <juri@jurta.org>
14396
14397 * minibuf.c: Allow minibuffer default to be a list of default values.
14398 With empty input use the first element of this list as returned default.
14399 (string_to_object)
14400 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
14401 (read_minibuf): If defalt is cons, set histstring to its car.
14402 (Fread_string): If default_value is cons, set val to its car.
14403 (Fread_buffer): If def is cons, use its car.
14404 (Fcompleting_read): If defalt is cons, set val to its car.
14405
144062007-10-21 Michael Albinus <michael.albinus@gmx.de>
14407
14408 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
14409
144102007-10-20 Juanma Barranquero <lekktu@gmail.com>
14411
14412 * doc.c (Fdocumentation): Check for advice in all cases.
14413
144142007-10-19 Chong Yidong <cyd@stupidchicken.com>
14415
14416 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
14417
144182007-10-19 Richard Stallman <rms@gnu.org>
14419
14420 * doc.c (Fdocumentation): Check for and handle an advised function.
14421
144222007-10-19 Juanma Barranquero <lekktu@gmail.com>
14423
14424 * process.c (Fset_process_filter): Doc fix.
14425
144262007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
14427
14428 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
14429 which caused key-translation-map to applied repeatedly (thus breaking
14430 double-mode).
14431
144322007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
14433
14434 * xselect.c (x_own_selection, x_handle_selection_clear)
14435 (x_clear_frame_selections):
14436 * w32menu.c (list_of_panes, list_of_items):
14437 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
14438 * textprop.c (validate_plist, interval_has_all_properties)
14439 (interval_has_some_properties, interval_has_some_properties_list)
14440 (add_properties, text_property_list):
14441 * process.c (Fget_buffer_process, list_processes_1, status_notify):
14442 * minibuf.c (Fassoc_string):
14443 * macselect.c (x_own_selection, x_clear_frame_selections)
14444 (Fx_disown_selection_internal):
14445 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
14446 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
14447
144482007-10-17 Chong Yidong <cyd@stupidchicken.com>
14449
14450 * process.c: Link to libs for calling res_init() if available.
14451 (Fmake_network_process): Call res_init() before getaddrinfo or
14452 gethostbyname, if possible.
14453
144542007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
14455
14456 * lread.c (read1): Set pvectype for char_tables.
14457
14458 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
14459 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
14460 Add type checks.
14461 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
14462
14463 * alloc.c (free_misc): Use XMISCTYPE.
14464 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
14465
144662007-10-17 Glenn Morris <rgm@gnu.org>
14467
14468 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
14469 (syms_of_minibuf): Add Qcompletion_ignore_case.
14470 * dired.c (Qcompletion_ignore_case): Change to external.
14471 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
14472 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
14473 (Fread_file_name): Use it rather than intern'ing.
14474
14475 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
14476 (Fread_coding_system): Ignore case of user input.
14477
144782007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14479
14480 * xdisp.c (handle_display_prop): Ignore display specs after
14481 replacing one when string text is being replaced.
14482 (handle_single_display_spec): Pretend as if characters with display
14483 property haven't been consumed only when buffer text is being replaced.
14484
144852007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
14486
14487 * xfns.c (Fx_create_frame, Fx_display_list):
14488 * window.c (window_fixed_size_p, enlarge_window)
14489 (shrink_window_lowest_first):
14490 * macterm.c (init_font_name_table):
14491 * macfns.c (Fx_create_frame, Fx_display_list):
14492 * lread.c (close_load_descs):
14493 * keyboard.c (read_char_x_menu_prompt):
14494 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
14495 * coding.c (code_convert_region_unwind): Test the type of an object
14496 rather than just !NILP before extracting data from it.
14497
14498 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
14499
14500 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
14501 (XMISCANY): New macro.
14502 (XMISCTYPE): Use it.
14503 (struct Lisp_Misc_Any): New type.
14504 (union Lisp_Misc): Use it.
14505 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
14506 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
14507 (find_symbol_value, set_internal, default_value, Fset_default)
14508 (Fmake_variable_buffer_local, Fmake_local_variable)
14509 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
14510 (Flocal_variable_if_set_p, Fvariable_binding_locus):
14511 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
14512 * alloc.c (allocate_buffer): Set the size and tag.
14513 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
14514 Use XMISCANY.
14515 (die): Follow the GNU convention for error messages.
14516 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
14517 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
14518 tag any more.
14519 (set_buffer_internal_1):
14520 * frame.c (store_frame_param):
14521 * eval.c (specbind):
14522 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
14523
14524 * doc.c (Fsnarf_documentation): Simplify.
14525
145262007-10-14 Juanma Barranquero <lekktu@gmail.com>
14527
14528 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
14529 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
14530
145312007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
14532
14533 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
14534
145352007-10-14 Juanma Barranquero <lekktu@gmail.com>
14536
14537 * eval.c (do_autoload): Don't save autoloads.
14538
14539 * data.c (Ffset): Save autoload of the function being set.
14540
145412007-10-07 John Paul Wallington <jpw@pobox.com>
14542
14543 * xfns.c (x_create_tip_frame): Set the `display-type' frame
14544 parameter before setting up faces.
14545
145462007-10-13 Eli Zaretskii <eliz@gnu.org>
14547
14548 * ccl.c (Fregister_code_conversion_map):
14549 * keyboard.c (append_tool_bar_item): Reformat last change.
14550
14551 * lisp.h (eabs): Rename from `abs'. All callers changed.
14552
145532007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
14554
14555 * buffer.c (add_overlay_mod_hooklist):
14556 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
14557 * fontset.c (make_fontset):
14558 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
14559 (append_tool_bar_item):
14560 * macmenu.c (grow_menu_items):
14561 * w32menu.c (grow_menu_items):
14562 * xmenu.c (grow_menu_items): Use larger_vector.
14563
145642007-10-13 Eli Zaretskii <eliz@gnu.org>
14565
14566 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
14567 selected frame'' on MSDOS).
14568
145692007-10-12 Martin Rudalics <rudalics@gmx.at>
14570
14571 * frame.c (Qexplicit_name): New variable.
14572 (x_report_frame_params): Report it in parameter alist.
14573 (syms_of_frame): Intern and staticpro it.
14574
145752007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
14576
14577 * macfns.c (x_create_tip_frame): Set terminal for frame.
14578
145792007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
14580
14581 * frame.c (Qenvironment): Remove.
14582 (syms_of_frame) <Qenvironment>: Don't initialize.
14583 (Fdelete_frame): Don't treat the `environment' param specially.
14584 * frame.h (Qenvironment): Don't declare.
14585 * callproc.c (set_initial_environment): Don't set unused frame param.
14586
14587 * frame.c (Fframe_with_environment): Remove.
14588 (syms_of_frame) <Sframe_with_environment>: Don't declare.
14589
14590 * lisp.h (Fframe_with_environment): Don't declare.
14591
145922007-10-10 Juanma Barranquero <lekktu@gmail.com>
14593
14594 * indent.c (indent_tabs_mode, last_known_column)
14595 (last_known_column_modified): Make static.
14596 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
14597
145982007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
14599
14600 * puresize.h (BASE_PURESIZE): Increase to 1170000.
14601
146022007-10-09 Jason Rumney <jasonr@gnu.org>
14603
14604 * w32term.c (x_set_window_size): Disable code that attempts to tell
14605 Lisp code about a size change before it actually happens.
14606
146072007-10-09 Richard Stallman <rms@gnu.org>
14608
14609 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
14610 return HANDLED_RETURN.
14611
146122007-10-08 Martin Rudalics <rudalics@gmx.at>
14613
14614 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
14615 when there's an unread command event.
14616
14617 * frame.c (focus_follows_mouse): Move here from frame.el to allow
14618 window autoselection act appropriately when leaving selected frame.
14619 (syms_of_frame): Initialize focus_follows_mouse.
14620 * frame.h (focus_follows_mouse): Extern it.
14621 * macterm.c (XTread_socket): When focus_follows_mouse is nil
14622 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
14623 * msdos.c (dos_rawgetc): Likewise.
14624 * w32term.c (w32_read_socket): Likewise.
14625 * xterm.c (handle_one_xevent): Likewise.
14626 * xdisp.c (syms_of_xdisp): In doc-string of
14627 mouse-autoselect-window mention focus-follows-mouse.
14628
146292007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14630
14631 * macterm.c (mac_load_query_font): Fix missing return value.
14632 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
14633 Add BLOCK_INPUT.
14634
146352007-10-08 Richard Stallman <rms@gnu.org>
14636
14637 * xdisp.c (get_window_cursor_type): Implement documented behavior
14638 for cursor-in-non-selected-windows = t.
14639
146402007-10-08 Jason Rumney <jasonr@gnu.org>
14641
14642 * w32.c (w32_get_resource): Always close registry keys.
14643
146442007-10-08 Jason Rumney <jasonr@gnu.org>
14645
14646 * makefile.w32-in (LIBS): Add COMCTL32.
14647
14648 * w32fns.c (globals_of_w32fns): Init common controls.
14649
146502007-10-08 Richard Stallman <rms@gnu.org>
14651
14652 * image.c (our_memory_buffer): Rename from omfib_buffer.
14653
146542007-10-08 Richard Stallman <rms@gnu.org>
14655
14656 * buffer.c (Foverlays_at): Doc fix.
14657
146582007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
14659
14660 * fns.c (Fplist_put): Preserve uneven tail data.
14661
146622007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
14663
14664 * termhooks.h (enum event_kind): Remove trailing comma.
14665
14666 * frame.h (enum): Remove trailing comma.
14667
146682007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
14669
14670 * w32proc.c (delete_child): Don't terminate threads of zombies.
14671
146722007-10-08 Martin Rudalics <rudalics@gmx.at>
14673
14674 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
14675
14676 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
14677 last-repeatable-command.
14678 (init_kboard): Initialize Vlast_repeatable_command.
14679 (command_loop_1): Set it to real_this_command unless that was
14680 bound to an input event.
14681 (mark_kboards): Mark it.
14682
146832007-10-08 Richard Stallman <rms@gnu.org>
14684
14685 * eval.c (condition-case): Doc fix.
14686
146872007-10-08 Masatake YAMATO <jet@gyve.org>
14688
14689 * xfaces.c (tty_supports_face_attributes_p): Fix code
14690 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
14691 was copied and not edited.
14692
146932007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
14694
14695 Add new `input-decode-map' keymap and use it for terminal
14696 escape sequences.
14697 * keyboard.h (struct kboard): Add Vinput_decode_map.
14698 Remove Vlocal_key_translation_map.
14699 * keyboard.c (read_key_sequence): Add support for input-decode-map.
14700 (init_kboard): Init input-decode-map.
14701 Replace local-key-translation-map back with key-translation-map.
14702 (syms_of_keyboard): Declare input-decode-map.
14703 Remove local-key-translation-map. Update docstrings.
14704 (mark_kboards): Mark Vinput_decode_map.
14705 Don't mark Vlocal_key_translation_map.
14706 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
14707 Replace local-key-translation-map back with key-translation-map.
14708 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
14709 Bind in input-decode-map rather than function-key-map.
14710
14711 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
14712 This was made redundant by the previous introduction of XSETPVECTYPE.
14713
147142007-10-09 Richard Stallman <rms@gnu.org>
14715
14716 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
14717
147182007-09-29 Richard Stallman <rms@gnu.org>
14719
14720 * eval.c (internal_condition_case_2, internal_condition_case_1)
14721 (internal_condition_case): Reenable abort if x_catching_errors ()
14722 to see if that really happens and why.
14723
147242007-10-06 Andreas Schwab <schwab@suse.de>
14725
14726 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
14727
147282007-10-04 Juanma Barranquero <lekktu@gmail.com>
14729
14730 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
14731
147322007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
14733
14734 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
14735
147362007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
14737
14738 * window.h (struct window):
14739 * window.c (struct save_window_data, struct saved_window):
14740 * termhooks.h (struct terminal):
14741 * process.h (struct Lisp_Process):
14742 * frame.h (struct frame):
14743 * buffer.h (struct buffer):
14744 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
14745 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
14746 The size field of (pseudo)vectors is now unsigned.
14747 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
14748
14749 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
14750 Turn `count' into an integer.
14751
14752 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
14753 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
14754 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
14755 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
14756 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
14757
14758 * alloc.c (allocate_pseudovector): New fun.
14759 (ALLOCATE_PSEUDOVECTOR): New macro.
14760 (allocate_window, allocate_terminal, allocate_frame)
14761 (allocate_process): Use it.
14762 (mark_vectorlike): New function.
14763 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
14764 (mark_terminals): Use it.
14765 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
14766 (Fmake_byte_code): Use XSETPVECTYPE.
14767
14768 * frame.c (Fframe_parameters): Minor simplification.
14769
14770 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
14771
14772 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
14773
14774 * buffer.c (Fget_buffer_create, init_buffer_once):
14775 * lread.c (defsubr):
14776 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
14777
14778 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
14779 defined differently in the m/*.h files.
14780 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
14781 (XSETPVECTYPE): New macro.
14782 (XSETPSEUDOVECTOR): Use it.
14783
14784 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
14785 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
14786
14787 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
14788 * lread.c (defvar_per_buffer):
14789 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
14790
14791 * window.c (candidate_window_p): Only consider as visible frames that
14792 are on the same terminal.
14793
14794 * m/ibms390x.h (MARKBIT): Remove unused macro.
14795
147962007-10-01 Juanma Barranquero <lekktu@gmail.com>
14797
14798 * lread.c (Fload): Fix typo in docstring.
14799
148002007-10-01 Michaël Cadilhac <michael@cadilhac.name>
14801
14802 * floatfns.c (Fexpt): Manually check for overflows, so that a power
14803 of a non-zero value can't yield zero.
14804
148052007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
14806
14807 * term.c (term_clear_mouse_face, term_mouse_highlight)
14808 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
14809
14810 * print.c (safe_debug_print): Use XHASH.
14811
14812 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
14813 Lisp elements such as tags.
14814 (XHASH): New macro.
14815 (EQ): Use it.
14816 (SREF, SSET, STRING_COPYIN): Use SDATA.
14817 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
14818
14819 * alloc.c (mark_terminal): Remove left-over declaration.
14820 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
14821 (allocate_vectorlike): Remove type argument. Adjust callers.
14822 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
14823 Only handle the one remaining MEM_TYPE_VECTORLIKE.
14824
14825 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
14826 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
14827 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
14828 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
14829 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
14830 Use them.
14831
14832 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
14833 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
14834 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
14835
148362007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
14837
14838 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
14839 loaded by default.
14840
148412007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
14842
14843 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
14844 on this tty.
14845 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
14846
14847 * term.c (mouse_face_window): Rename from Qmouse_face_window.
14848 Update all users.
14849 (handle_one_term_event): Use Gpm_DrawPointer.
14850 (Fgpm_mouse_start): Rename from Fterm_open_connection.
14851 Signal errors instead of returning nil. Always return nil.
14852 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
14853 Make it a noop if gpm-mouse was not activated.
14854 (syms_of_term): Update names.
14855
148562007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
14857
14858 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
14859 (init_sys_modes): Check that gpm_tty is the current tty.
14860
14861 * alloc.c (allocate_terminal): Set the vector size to only count the
14862 lisp fields. Initialize those to nil.
14863 (mark_object): Don't treat terminals specially.
14864 (mark_terminal): Remove.
14865 (mark_terminals): Use mark_object instead.
14866
14867 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
14868 the GC to the beginning.
14869
14870 * indent.h:
14871 * indent.c: Use EMACS_INT for ints coming from Elisp data.
14872
14873 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
14874
148752007-09-25 Jason Rumney <jasonr@gnu.org>
14876
14877 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
14878
14879 * w32console.c (create_w32cons_output): Remove.
14880
14881 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
14882
14883 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
14884 (reset_sys_modes): Use reset_terminal_modes_hook.
14885
148862007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
14887
14888 * eval.c (do_autoload): Don't output any message.
14889
148902007-09-24 Juri Linkov <juri@jurta.org>
14891
14892 * emacs.c (standard_args): Change priority of "--no-splash"
14893 from 40 to 3. Add "--no-desktop" with the same priority.
14894
148952007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
14896
14897 * alloc.c (gc_sweep): Check cons cell mark bits word by word
14898 and optimize the case where they are all 1.
14899
149002007-09-23 Johannes Weiner <hannes@saeurebad.de>
14901
14902 * lisp.h (abs): Define if not defined.
14903 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
14904 Don't define `abs', since it's defined in lisp.h.
14905
149062007-09-22 Eli Zaretskii <eliz@gnu.org>
14907
14908 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
14909 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
14910 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
14911 (init_tty): Use DEV_TTY instead of "/dev/tty".
14912 [WINDOWSNT]: No need to protect from NAME arg being null.
14913
149142007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
14915
14916 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
14917 up the tty state.
14918
149192007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
14920
14921 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
14922 (gpm_tty): Change its type.
14923 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
14924 (gpm_tty): Change its type and initialize it.
14925 (Fterm_open_connection): Check the frame is indeed a tty.
14926 Use the new gpm_tty.
14927 (Fterm_close_connection): Use the new gpm_tty.
14928 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
14929 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
14930
149312007-09-21 Juanma Barranquero <lekktu@gmail.com>
14932
14933 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
14934 underline_color, to draw strike-through.
14935
149362007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
14937
14938 * lisp.h (allocate_terminal): Declare.
14939
14940 * window.c (candidate_window_p): Consider frames that are being placed
14941 by the user as somewhere between visible and iconified.
14942 (window_loop): Prefer windows on the current frame.
14943 (Fselect_window): Move the use of select-frame to the beginning so we
14944 can just delegate all the work (it'll call us back anyway).
14945
14946 * frame.c (Qdisplay_environment_variable):
14947 * frame.h (Qdisplay_environment_variable): Delete.
14948
14949 * .gdbinit (xbacktrace): Print the arg's address rather than the value
14950 of the first arg, since that value may be a union.
14951
14952 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
14953 parameter rather than Qdisplay_environment_variable. If all else
14954 fails, look for DISPLAY in initial-environment.
14955
149562007-09-21 Glenn Morris <rgm@gnu.org>
14957
14958 * Makefile.in (emacstool): Remove target.
14959 (lisp, shortlisp): Remove termdev.elc.
14960
149612007-09-21 Markus Triska <markus.triska@gmx.at>
14962
14963 * xterm.c (x_delete_display): Compile session management conditionally.
14964
149652007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
14966
14967 * callproc.c (getenv_internal_1): New function.
14968 (getenv_internal): Use it.
14969 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
14970
14971 * terminal.c (get_terminal): Don't accept ints to represent terminals.
14972 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
14973 (Fset_terminal_parameter): Work with dead terminals as well.
14974 (Fmodify_terminal_parameters): Remove.
14975
14976 * terminal.c (get_terminal): Handle terminals.
14977 Make sure the terminal returned is live.
14978 (create_terminal): Use allocate_terminal.
14979 (mark_terminals): Move to alloc.c.
14980 (delete_terminal): Use terminal->name as liveness status.
14981 NULL out fields after freeing their contents.
14982 Don't deallocate the object.
14983 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
14984 rather than an int.
14985 (Fterminal_live_p): Accept non-integer arguments.
14986 (Fterminal_list): Return terminal objects rather than an ints.
14987
14988 * alloc.c (enum mem_type): New member for `terminal' objects.
14989 (allocate_terminal): New function.
14990 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
14991 Handle terminals.
14992 (mark_terminal): New fun.
14993 (mark_terminals): Move from terminal.c.
14994
14995 * term.c (get_tty_terminal): Don't treat output_initial specially.
14996 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
14997 (delete_tty): Use terminal->name as liveness status.
14998
14999 * termhooks.h (struct terminal): Make it into a pseudovector.
15000 Remove `deleted' replaced by checking `name's nullness.
15001
15002 * print.c (print_object): Handle terminals.
15003
15004 * lisp.h (enum pvec_type): New `terminal' pseudovector.
15005 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
15006
15007 * frame.c (make_terminal_frame):
15008 * keyboard.c (tty_read_avail_input):
15009 * w32term.c (x_delete_terminal):
15010 * xfns.c (Fx_create_frame, x_create_tip_frame):
15011 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
15012
150132007-09-20 Glenn Morris <rgm@gnu.org>
15014
15015 * process.c (Fmake_network_process): Doc fix.
15016
150172007-09-19 Jason Rumney <jasonr@gnu.org>
15018
15019 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
15020
150212007-09-19 Michaël Cadilhac <michael@cadilhac.name>
15022
15023 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
15024 Fix a C warning regarding variable constness.
15025
15026 * xterm.c (handle_one_xevent): Fix a C warning.
15027
150282007-09-18 Jason Rumney <jasonr@gnu.org>
15029
15030 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
15031
150322007-09-17 Jan Djärv <jan.h.d@swipnet.se>
15033
15034 * gtkutil.c (gdpy_def): New variable.
15035 (xg_initialize): Initialize gdpy_def.
15036 (xg_display_close): If no other display exists, set gdpy_def to a
15037 new connection.
15038
150392007-09-16 Jan Djärv <jan.h.d@swipnet.se>
15040
15041 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
15042 when we have no file name for the icon.
15043 (xg_tool_bar_expose_callback): Remove.
15044 (xg_create_tool_bar): Don't connect expose signal to
15045 xg_tool_bar_expose_callback.
15046 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
15047
150482007-09-16 Andreas Schwab <schwab@suse.de>
15049
15050 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
15051 values instead of zapping them.
15052
150532007-09-14 Glenn Morris <rgm@gnu.org>
15054
15055 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
15056 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
15057 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
15058 scope and rename to omfib_buffer for clarity.
15059 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
15060
150612007-09-14 Kenichi Handa <handa@m17n.org>
15062
15063 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
15064
150652007-09-13 Jason Rumney <jasonr@gnu.org>
15066
15067 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
15068
15069 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
15070
15071 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
15072 (mac_term_init): Call here instead, passing rif.
15073
150742007-09-13 Glenn Morris <rgm@gnu.org>
15075
15076 * s/hpux.h: No longer define `static' as nothing.
15077
150782007-09-13 Johan Bockgård <bojohan@gnu.org>
15079
15080 * callint.c (Fcall_interactively): Remove unused var `fun'.
15081
150822007-09-12 Romain Francoise <romain@orebokech.com>
15083
15084 * window.c (prefer_window_split_horizontally, display_buffer):
15085 Revert 2007-09-08 change.
15086
150872007-09-12 Glenn Morris <rgm@gnu.org>
15088
15089 * alloca.c: Remove file.
15090 * Makefile.in (alloca): Do not undef.
15091 (allocaobj, alloca.o): Remove.
15092 (otherobj): Remove allocaobj.
15093 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
15094 * regex.c (C_ALLOCA): Remove all references and code that was only
15095 used when this was defined.
15096 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
15097 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
15098 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
15099
15100 * Makefile.in (SOURCES, unlock, relock): Delete.
15101
15102 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
15103 (menu_grab_callback): All uses changed.
15104
15105 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
15106 (x_reply_selection_request): All uses changed.
15107
151082007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
15109
15110 * lread.c (load_warn_old_style_backquotes): Change message to look
15111 better when it appears in the middle of byte-compiler messages.
15112
151132007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
15114
15115 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
15116
15117 * xterm.c (x_create_terminal): Add comment.
15118
15119 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
15120
151212007-09-10 Richard Stallman <rms@gnu.org>
15122
15123 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
15124
151252007-09-10 Michaël Cadilhac <michael@cadilhac.name>
15126
15127 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
15128 (DEFUN): Document `intspec', use it instead of `prompt'.
15129
15130 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
15131
15132 * data.c (Finteractive_form): If the interactive specification starts
15133 with a `(', use it as a Lisp form.
15134
15135 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
15136 name and file modes.
15137
15138 * callint.c (Fcall_interactively): Comment fixes.
15139
151402007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
15141
15142 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
15143 and compiled functions.
15144
151452007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
15146
15147 * window.c (prefer_window_split_horizontally): New variable.
15148 (display_buffer): Consider splitting window horizontally depending
15149 on prefer_window_split_horizontally.
15150
151512007-09-08 Eli Zaretskii <eliz@gnu.org>
15152
15153 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
15154
151552007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
15156
15157 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
15158
15159 * frame.c (x_set_frame_parameters): Check number is positive before
15160 using XFASTINT.
15161
15162 * window.c (freeze_window_start): Don't presume selected_window holds
15163 a window object.
15164 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
15165
151662007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
15167
15168 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
15169
151702007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
15171
15172 * window.c (Vsplit_window_preferred_function): New var.
15173 (Fdisplay_buffer): Use it.
15174 (syms_of_window): Export, and initialize it.
15175
151762007-09-06 Pixel <pixel@mandriva.com> (tiny change)
15177
15178 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
15179
151802007-09-06 Glenn Morris <rgm@gnu.org>
15181
15182 * gtkutil.c (menu_grab_callback) <cnt>:
15183 * xselect.c (x_reply_selection_request) <cnt>: Move static
15184 variable to file scope.
15185
151862007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
15187
15188 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
15189 consistent values of selected_frame and selected_window.
15190
151912007-09-04 Jason Rumney <jasonr@gnu.org>
15192
15193 * w32console.c (initialize_w32_display): Zero unused hooks.
15194
151952007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
15196
15197 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
15198 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
15199
152002007-09-04 Jason Rumney <jasonr@gnu.org>
15201
15202 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
15203 in w32console.c. Set up input. Remove XXX comments that have been
15204 confirmed as correct.
15205
15206 * s/ms-w32.h (MULTI_KBOARD): Define.
15207
15208 * w32console.c (one_and_only_w32cons): Remove.
15209 (initialize_w32_display): Take terminal argument.
15210
15211 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
15212 initialize_w32_display.
15213 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
15214
15215 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
15216
15217 * keyboard.c (discard_mouse_events): Discard it.
15218 (make_lispy_event): Translate it to a lisp event.
15219 (lispy_wheel_names): Add wheel-left and right events.
15220 (syms_of_keyboard): Enlarge wheel_syms.
15221
15222 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
15223 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
15224
15225 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
15226
15227 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
15228 from WM_MOUSEHWHEEL.
15229 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
15230
15231 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
15232 terminal.
15233
15234 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
15235 keyboard for the terminal.
15236
152372007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
15238
15239 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
15240 (Vresume_tty_hook): Rename from Vresume_tty_functions.
15241 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
15242 and resume-tty-function to resume-tty-hook.
15243 (Fsuspend_tty, Fresume_tty): Use new names.
15244
152452007-09-02 Jan Djärv <jan.h.d@swipnet.se>
15246
15247 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
15248 if it starts with "n:".
15249
152502007-08-31 Jan Djärv <jan.h.d@swipnet.se>
15251
15252 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
15253
152542007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
15255
15256 * frame.h:
15257 * frame.c (Qterm_environment_variable): Remove.
15258 (syms_of_frame): Don't init and staticpro it.
15259
15260 * callproc.c (getenv_internal): Remove special case for $TERM.
15261
15262 * callproc.c (Vinitial_environment): New variable.
15263 (set_initial_environment): Initialize it.
15264 (syms_of_callproc): Declare it.
15265 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
15266 TERM under which a process runs is never related to the TERM in which
15267 Emacs is running.
15268
152692007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
15270
15271 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
15272 * s/darwin.h: ... do it here.
15273
152742007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
15275
15276 * lisp.h (set_initial_environment): Rename from set_global_environment.
15277
15278 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
15279 removed by mistake on the multi-tty branch.
15280
15281 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
15282 (Fmodify_frame_parameters): Return a value.
15283
15284 * image.c (png_load): Comment-out var only used in commented-out code.
15285
15286 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
15287 before passing it to mark_object.
15288
15289 * xfaces.c (internal_resolve_face_name): Return a value.
15290 (internal_resolve_face_name, resolve_face_name_error): Comment out.
15291
15292 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
15293 (x_icon): Comment-out var only used in commented-out code.
15294
152952007-08-29 Romain Francoise <romain@orebokech.com>
15296
15297 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
15298 QUIT hasn't been provided.
15299
153002007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
15301
15302 * callproc.c (child_setup, getenv_internal): Use the
15303 display-environment-variable and term-environment-variable frame params.
15304 (set_initial_environment): Initialise Vprocess_environment.
15305
15306 * config.in: Disable multi-keyboard support on a mac.
15307
15308 * frame.c (Qterm_environment_variable)
15309 (Qdisplay_environment_variable): New variables.
15310 (syms_of_frame): Intern and staticpro them.
15311 (Fmake_terminal_frame): Disable output method test.
15312
15313 * frame.h: Declare them here.
15314
15315 * macfns.c (x_set_mouse_color): Get rif from the frame.
15316 (x_set_tool_bar_lines): Don't use updating_frame.
15317 (mac_window): Add 2 new parameters for consistency with other systems.
15318 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
15319 frame parameters following what is done in X11 and w32. Don't use
15320 FRAME_MAC_DISPLAY_INFO.
15321 (Fx_open_connection, start_hourglass): Remove window-system check.
15322 (x_create_tip_frame): Get the keyboard from the terminal.
15323
15324 * macmenu.c: Reorder includes.
15325 (Fx_popup_menu): Use terminal specific mouse_position_hook.
15326
15327 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
15328 terminal parameter.
15329 (x_clear_frame): Add a frame parameter.
15330 (note_mouse_movement): Get rif from the frame.
15331 (mac_term_init): Initialize the terminal.
15332 (mac_initialize): Make static and move terminal initialization ...
15333 (mac_create_terminal): ... to this new function.
15334
15335 * macterm.h (struct mac_display_info): Add terminal.
15336 (mac_initialize): Delete declaration.
15337
15338 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
15339
15340 * sysdep.c: Comment out text after #endif.
15341
15342 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
15343 is defined. Better initialize ttys in windows. Use terminal
15344 specific mouse_position_hook.
15345
15346 * termhooks.h (union display_info): Add mac_display_info.
15347
15348 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
15349 Set the default minibuffer frame, window_system and the rest of the
15350 frame parameters following what is done in X11.
15351
15352 * w32term.c (w32_initialize): Make static.
15353
15354 * xselect.c (x_handle_selection_clear): Only access
15355 terminal->kboard when MULTI_KBOARD is defined.
15356
15357 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
15358 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
15359
153602007-08-29 Jason Rumney <jasonr@gnu.org>
15361
15362 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
15363 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
15364
15365 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
15366 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
15367
15368 * keyboard.c (restore_kboard_configuration): Only define when
15369 MULTI_KBOARD defined.
15370
15371 * makefile.w32-in: Update dependancies from Makefile.in.
15372 (OBJ1): Add terminal.$(O)
15373
15374 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
15375 Don't define function body.
15376 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
15377
15378 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
15379
15380 * w32.c (request_sigio, unrequest_sigio): Remove.
15381
15382 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
15383 (w32con_clear_frame, w32con_clear_end_of_line)
15384 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
15385 (w32con_delete_glyphs, w32con_set_terminal_window)
15386 (scroll_line, w32_sys_ring_bell): Add frame arg.
15387 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
15388 Add terminal arg.
15389 (PICK_FRAME): Remove.
15390 (w32con_write_glyphs): Use frame specific terminal coding.
15391 (one_and_only_w32cons): New global variable.
15392 (initialize_w32_display): Use it for storing hooks.
15393 (create_w32cons_output): New function.
15394
15395 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
15396 arg a frame.
15397
15398 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
15399 Set window_system.
15400 (x_set_tool_bar_lines): Don't use updating_frame.
15401 (Fx_create_frame): Set terminal and ref count.
15402 (Fx_open_connection): Remove window-system check.
15403
15404 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
15405
15406 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
15407 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
15408 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
15409 Add frame arg.
15410 (x_delete_terminal, w32_create_terminal): New functions.
15411 (w32_term_init): Create a terminal.
15412 (w32_initialize): Move terminal specific initialization to
15413 w32_create_terminal.
15414
15415 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
15416 (w32_clear_rect, w32_clear_area): Use background from frame.
15417 (w32_display_info): Add terminal.
15418 (w32_sys_ring_bell, x_delete_display): Declare here.
15419
15420 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
15421
15422 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
15423
154242007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
15425
15426 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
15427 Fix get_named_tty calls for the controlling tty.
15428
154292007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
15430
15431 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
15432
154332007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
15434
15435 * term.c (tty_insert_glyphs): Add missing first parameter.
15436
154372007-08-29 Károly Lőrentey <karoly@lorentey.hu>
15438
15439 * buffer.c (Fbuffer_list, Fbury_buffer):
15440 Take frame->buried_buffer_list into account.
15441
15442 * cm.c (current_tty): New variable, for cmputc().
15443 (cmputc): Use it.
15444 (cmcheckmagic): Add tty parameter, look up terminal streams there.
15445 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
15446 (cmgoto): Add tty parameter. Pass it on to calccost().
15447 Use emacs_tputs() instead of tputs().
15448
15449 * cm.h (emacs_tputs): New macro to set current_tty, and then call
15450 tputs().
15451 (current_tty): New variable, for cmputc().
15452 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
15453
15454 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
15455 (internal_condition_case, internal_condition_case_1)
15456 (internal_condition_case_2): Don't abort when x_catching_errors.
15457
15458 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
15459 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
15460 prevent crashes caused by bogus longjmps in read_char.
15461
15462 * keymap.h (Fset_keymap_parent): Add EXFUN.
15463
15464 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
15465 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
15466 Remove redundant definition.
15467
15468 * macfns.c (x_set_mouse_color, x_make_gc):
15469 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15470
15471 * w32term.c (x_free_frame_resources):
15472 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15473 (w32_initialize): Use the accessor macros for terminal characteristics.
15474
15475 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
15476 Use the accessor macros for terminal characteristics.
15477 * msdos.c (internal_terminal_init): Use the accessor macros for
15478 terminal characteristics.
15479 (ScreenVisualBell, internal_terminal_init):
15480 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15481
15482 * termopts.h (no_redraw_on_reenter): Declare.
15483
15484 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
15485 (mark_terminals, mark_ttys): Declare.
15486 (Fgarbage_collect): Call them.
15487 (mark_object): Mark buried_buffer_list.
15488
15489 * prefix-args.c: Include stdlib.h for exit.
15490
15491 * syssignal.h: Add comment.
15492
15493 * indent.c: Include stdio.h.
15494
15495 * window.h (Vinitial_window_system): Declare.
15496 (Vwindow_system): Delete declaration.
15497
15498 * fontset.c (Finternal_char_font): Use FRAME_RIF.
15499
15500 * image.c (lookup_image): Don't initialize `c' until the xasserts
15501 have been run.
15502
15503 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
15504 FRAME_FOREGROUND_PIXEL.
15505
15506 * print.c (print_preprocess): Don't lose print_depth levels while
15507 iterating.
15508
15509 * widget.c (update_from_various_frame_slots):
15510 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15511
15512 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
15513 frames.
15514 (window_internal_height): Remove bogus make_number call.
15515 (init_window_once): Call make_terminal_frame with two zero parameters.
15516
15517 * fileio.c (Fread_file_name): Update comment.
15518
15519 * callint.c (Fcall_interactively):
15520 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
15521 Make sure it is correctly unwound.
15522
15523 * xsmfns.c (x_session_close): New function.
15524
15525 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
15526 Delete declarations.
15527
15528 * xterm.h: Remove declaration for x_fully_uncatch_errors.
15529 (x_output): Remove background_pixel and foreground_pixel fields.
15530 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
15531 (x_delete_device, x_session_close): Declare.
15532
15533 * lread.c: Include setjmp.h. Update declaration of `read_char'.
15534 (read_filtered_event): Call `read_char' with a local
15535 `wrong_kboard_jmpbuf'.
15536
15537 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
15538 Don't call single_kboard_state. Use FRAME_RIF.
15539
15540 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
15541 systems.
15542
15543 * lisp.h (set_process_environment): Rename to `set_global_environment'.
15544 (Fframe_with_environment, Fset_input_meta_mode)
15545 (Fset_quit_char): EXFUN.
15546 (x_create_device, tty_output, terminal, tty_display_info): Declare.
15547 (init_sys_modes, reset_sys_modes): Update prototypes.
15548 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
15549
15550 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
15551 Vlocal_key_translation_map, and Vkeyboard_translate_table.
15552 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
15553 Delete declarations.
15554 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
15555 (temporarily_switch_to_single_kboard, tty_read_avail_input):
15556 New declarations.
15557
15558 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
15559 already does that during init_display(). Call syms_of_keymap
15560 before syms_of_keyboard. Call `syms_of_terminal'.
15561 Call set_initial_environment, not set_process_environment.
15562 (shut_down_emacs): Call reset_all_sys_modes() instead of
15563 reset_sys_modes().
15564
15565 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
15566 (internal_resolve_face_name, resolve_face_name_error): New functions.
15567 (resolve_face_name): Protect against loops and errors thrown by Fget.
15568 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
15569 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
15570
15571 * scroll.c: Replace CURTTY() with local variables throughout the
15572 file (where applicable).
15573 (calculate_scrolling, calculate_direct_scrolling)
15574 (scrolling_1, scroll_cost): Use the accessor macros for terminal
15575 characteristics.
15576
15577 * keymap.c (Vfunction_key_map): Remove.
15578 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
15579 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
15580 (Vkey_translation_map): Remove.
15581 (syms_of_keymap): Remove DEFVAR for key-translation-map.
15582 (Fdescribe_buffer_bindings)
15583 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
15584 Update for terminal-local key-translation-map.
15585
15586 * Makefile.in (callproc.o): Update dependencies.
15587 (lisp, shortlisp): Add termdev.elc.
15588 (obj): Add terminal.o.
15589 (terminal.o): Add dependencies.
15590 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
15591 (data.o, fns.o): Add termhooks.h dependency.
15592 (SOME_MACHINE_LISP): Add dnd.elc.
15593 (minibuf.o): Fix typo.
15594 Update dependencies.
15595
15596 * data.c (do_symval_forwarding, store_symval_forwarding)
15597 (find_symbol_value): Use the selected frame's keyboard, not
15598 current_kboard.
15599
15600 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
15601 Vwindow_system.
15602
15603 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
15604 Fmenu_bar_open.
15605 (syms_of_xmenu): Update defsubr.
15606 (mouse_position_for_popup, Fx_popup_menu)
15607 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
15608 (set_frame_menubar, free_frame_menubar)
b97439ce 15609 (create_and_show_popup_menu, xmenu_show)
aac0c6e3
MR
15610 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
15611 an X frame.
15612
15613 * xselect.c (x_own_selection): Abort if not an X frame.
15614 (some_frame_on_display): Check if it is an X frame.
15615 (x_handle_selection_clear): Deal with MULTI_KBOARD.
15616
15617 * coding.c: Include frame.h and termhooks.h.
15618 (terminal_coding, keyboard_coding): Delete.
15619 (Fset_terminal_coding_system_internal)
15620 (Fset_keyboard_coding_system_internal)
15621 (Fkeyboard_coding_system)
15622 (Fterminal_coding_system): Add a terminal parameter.
15623 Get terminal_coding from the terminal.
15624 (init_coding_once): Don't call setup_coding_system here.
15625
15626 * dispextern.h (set_scroll_region, turn_off_insert)
15627 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
15628 (tty_clear_end_of_line, tty_setup_colors)
15629 (delete_tty, updating_frame)
15630 (produce_special_glyphs, produce_glyphs, write_glyphs)
15631 (insert_glyphs): Remove.
15632 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
15633 (tty_turn_off_highlight, get_tty_size): Add declaration.
15634 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
15635
15636 * frame.h (enum output_method): Add output_initial.
15637 (struct x_output): Delete.
15638 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
15639 Access foreground_pixel and background_pixel directly from the frame.
15640 (tty_display): Delete.
15641 (struct frame): Add buried_buffer_list, foreground_pixel,
15642 background_pixel and terminal. Delete kboard.
15643 (union output_data): Add tty.
15644 (FRAME_KBOARD): Get the kboard from the terminal.
15645 (FRAME_INITIAL_P): New macro.
15646 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
15647 (Qterm_environment_variable, Qdisplay_environment_variable)
15648 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
15649 New declarations.
15650
15651 * termchar.h (tty_output, tty_display_info): New structures.
15652 (tty_list): Declare.
15653 (FRAME_TTY, CURTTY): New macros.
15654 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
15655 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
15656 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
15657 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
15658
15659 * callproc.c: Include frame.h and termhooks.h, for terminal
15660 parameters.
15661 (add_env): New function.
15662 (child_setup): Use it.
15663 (child_setup, getenv_internal): Handle the new Vprocess_environment.
15664 (getenv_internal): Fix get_terminal_param call.
15665 (Fgetenv_internal, egetenv): Update doc.
15666 (syms_of_callproc): Initialize Vprocess_environment to nil.
15667 Register and initialize them. Remove obsolete defvars. Update doc
15668 strings.
15669 (child_setup): Handle Vlocal_environment_variables.
15670 (getenv_internal): Add terminal parameter.
15671 Handle Vlocal_environment_variables.
15672 (Fgetenv_internal): Add terminal parameter.
15673 (child_setup, getenv_internal, Fgetenv_internal): Store the local
15674 environment in a frame (not terminal) parameter. Update doc strings.
15675 (set_initial_environment): Rename from set_global_environment.
15676 Store Emacs environment in initial frame parameter.
15677
15678 * xdisp.c (redisplay_internal): Update references to
15679 `previous_terminal_frame'.
15680 (display_mode_line, Fformat_mode_line): Replace calls to
15681 `push_frame_kboard' with `push_kboard'.
15682 (get_glyph_string_clip_rects): Add extra parentheses and
15683 braces to prevent compiler warnings.
15684 (calc_pixel_width_or_height): Add xassert to check that the
15685 frame is alive. Don't call `lookup_image' on a termcap frame.
15686 (message2_nolog, message3_nolog, redisplay_internal)
15687 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
15688 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
15689 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
15690 (Fx_display_pixel_width, Fx_display_pixel_height)
15691 (Fx_display_planes, Fx_display_color_cells)
15692 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
15693 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
15694 (Fx_display_backing_store, Fx_display_visual_class)
15695 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
15696 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
15697
15698 * xfns.c (x_set_foreground_color x_set_background_color)
15699 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
15700 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15701 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
15702 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
15703 terminal that is being deleted.
15704 (Fx_create_frame): Use `store_frame_param' to set `window-system'
15705 frame parameter, and make sure it overrides any user-supplied setting.
15706 (Fx_close_connection, Fx_synchronize): Unify argument names with
15707 the rest of the DEFUNs.
15708
15709 * dispnew.c (Fsend_string_to_terminal): Update call to
15710 `get_tty_terminal'.
15711 (Fredraw_frame, Fsend_string_to_terminal)
15712 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
15713 FRAME_TERMCAP_P and FRAME_TTY.
15714 (window_change_signal): Don't believe width/height values that are
15715 impossibly small.
15716 (Vinitial_window_system): Rename from Vwindow_system.
15717 (termscript, Wcm, rif): Delete.
15718
15719 * termhooks.h (struct terminal): New struct containing the
15720 previously global text display hooks and new members NAME,
15721 DELETED and PARAM_ALIST.
15722 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
15723 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
15724 (FRAME_RIF): New macros.
15725 (get_terminal_param, get_device): New declarations.
15726 (termscript): Delete declaration.
15727
15728 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
15729 (XTflash, x_free_frame_resources, x_scroll_bar_create)
15730 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
15731 FRAME_FOREGROUND_PIXEL.
15732 (x_fully_uncatch_errors): Disable definition.
15733 (x_scroll_bar_expose): Fix reference to foreground pixel.
15734 (XTread_socket): Disable loop on all X displays.
15735 (x_delete_terminal): Don't set terminal->deleted and let
15736 delete_terminal delete the frames on the terminal.
15737 (x_delete_display): Doc update to reflect changes in
15738 delete_terminal.
15739 (x_display_info) <terminal>: Move member earlier in the struct.
15740 (deleting_tty): Remove old variable.
15741 (Fsuspend_tty): Call clear_tty_hooks.
15742 (Fresume_tty, init_tty): Call set_tty_hooks.
15743 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
15744 errors on X frames.
15745 (x_catch_errors_unwind): Abort if x_error_message is NULL.
15746 (handle_one_xevent): Initialize `f' to NULL.
15747 (x_delete_terminal, x_create_terminal): New functions.
15748 (XTset_terminal_modes, XTreset_terminal_modes)
15749 (XTread_socket, x_connection_closed, x_term_init)
15750 (x_term_init, x_delete_display): Add terminal parameter.
15751 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
15752 X connections.
15753
15754 * frame.c: Include termchar.h.
15755 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
15756 (Qwindow_system, Qenvironment, Qterm_environment_variable)
15757 (Qdisplay_environment_variable): New vars.
15758 (Fframep): Deal with output_initial.
15759 (Fframe-live-p): Doc fix.
15760 (Fwindow-system): New function.
15761 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
15762 (make_terminal_frame): Don't create frames on a terminal that is
15763 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15764 (store_frame_param): Check for found_for_frame before calling XFRAME.
15765 (Fmake_terminal_frame): Handle NULL tty names correctly.
15766 (syms_of_frame): Enhance doc string of `default-frame-alist'.
15767 (Fdelete_frame): Remove unused variable `count'. Don't allow other
15768 frames to refer to a deleted frame in their 'environment parameter.
15769 (Fframe_with_environment): New function.
15770 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
15771 (get_future_frame_param): New function.
15772 (Fmake_terminal_frame): Use it.
15773 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
15774
15775 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
15776 * sysdep.c (reset_sys_modes): Update for renames.
15777
15778 * keyboard.c (tty_read_avail_input): New function.
15779 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
15780 (syms_of_keyboard): Defsubr them.
15781 (Fset_input_meta_mode, Fset_quit_char): New functions.
15782 (Fset_input_mode): Split to above functions.
15783 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
15784 parameter. Use it in call to `read_char'.
15785 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
15786 Set wrong_kboard_jmpbuf correctly in recursive calls.
15787 Use current_kboard to access Vkeyboard_translate_table.
15788 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
15789 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
15790 Update longjmp invocations. Remember the original current_kboard,
15791 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
15792 changes it. Comment out unnecessary calls to
15793 `record_single_kboard_state' and `any_kboard_state'.
15794 Update recursive calls.
15795 (wrong_kboard_jmpbuf): Remove global variable.
15796 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
15797 Handle deleted interrupted_kboards correctly; that is a legal
15798 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
15799 and read_char calls. Abort if interrupted_kboard died in read_char.
15800 (any_kboard_state, single_kboard_state)
15801 (push_frame_kboard): Remove function.
15802 (pop_kboard): Switch out of single_kboard mode if the kboard has
15803 been deleted. Remove unused variable. Help debugging by not
15804 changing current_kboard unnecessarily. Set current_kboard to the
15805 kboard of the selected frame when the stored kboard object has
15806 been deleted before pop_kboard.
15807 (temporarily_switch_to_single_kboard): Change first parameter to a
15808 frame pointer. Throw an error when caller wants to change kboards
15809 while in single_kboard mode. Don't push_kboard if we weren't in
15810 single kboard state. Don't pop_kboard if we popped into any
15811 kboard state.
15812 (restore_kboard_configuration): Abort if pop_kboard changed the
15813 kboard in single_kboard mode. Call pop_kboard only after setting
15814 up single_kboard mode.
15815 (Frecursive_edit): Switch to single_kboard mode only in nested
15816 command loops.
15817 (cmd_error, command_loop, command_loop_1, timer_check):
15818 Comment out unnecessary call to `any_kboard_state' and
15819 `record_single_kboard_state'.
15820 (delete_kboard): Exit single_kboard mode if we have just deleted
15821 that kboard. Use FRAME_KBOARD.
15822 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
15823 `fatal_error_signal'.
15824 (record_single_kboard_state): Don't push_kboard if we weren't in
15825 single kboard state. Don't pop_kboard if we popped into any
15826 kboard state.
15827 (push_frame_kboard): Rename to push_kboard.
15828 (kbd_buffer_get_event): Use FRAME_TERMINAL.
15829 (read_avail_input): Read input from all terminals.
15830 (mark_kboards): Also mark Vkeyboard_translate_table.
15831 (kbd_buffer_store_event_hold): Simplify condition.
15832 (read_key_sequence): Reinitialize fkey and keytran at each replay.
15833 (Vkeyboard_translate_table): Move to struct kboard.
15834 (init_kboard): Initialize Vkeyboard_translate_table.
15835 (syms_of_keyboard): Use DEFVAR_KBOARD to define
15836 Vkeyboard_translate_table. Update doc strings. Update docs of
15837 local-function-key-map and function-key-map.
15838
15839 * terminal.c: New file.
15840
15841 * term.c: Include errno.h.
15842 (Vring_bell_function, device_list, initial_device)
15843 (next_device_id, ring_bell, update_begin, update_end)
15844 (set_terminal_window, cursor_to, raw_cursor_to)
15845 (clear_to_end, clear_frame, clear_end_of_line)
15846 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
15847 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
15848 (syms_of_term): Move their initialization to terminal.c.
15849 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
15850 (Ftty_display_color_cells)
15851 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
15852 (clear_tty_hooks, set_tty_hooks)
15853 (init_tty, maybe_fatal): New functions.
15854 (Ftty_type): Return nil if terminal is not on a tty instead of
15855 throwing an error. Doc update.
15856 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
15857 Doc update. Initialize new subrs and variables.
15858 (delete_tty): Use terminal->deleted.
15859 (tty_set_terminal_modes): Rename from set_terminal_modes.
15860 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
15861 (set_scroll_region): Rename to `tty_set_scroll_region'.
15862 (turn_on_insert): Rename to `tty_turn_on_insert'.
15863 (turn_off_insert): Rename to `tty_turn_off_insert'.
15864 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
15865 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
15866 (toggle_highligh): Rename to `tty_toggle_highlight'.
15867 (background_highlight): Rename to `tty_background_highlight'.
15868 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
15869 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
15870 (tty_set_scroll_region, tty_background_highlight)
15871 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
15872 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
15873 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
15874 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
15875 Add static modifier.
15876 (tty_reset_terminal_modes, tty_set_terminal_window)
15877 (tty_set_scroll_region, tty_background_highlight)
15878 (tty_highlight_if_desired, tty_cursor_to)
15879 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
15880 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
15881 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
15882 renames.
15883
158842007-08-28 Jan Djärv <jan.h.d@swipnet.se>
15885
15886 * keyboard.c: Qrtl is new.
15887 (parse_tool_bar_item): Handle :rtl keyword.
15888 (syms_of_keyboard): Intern :rtl keyword.
15889
15890 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
15891
15892 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
15893 so no Lisp code is executed.
15894 (file_for_image, find_rtl_image): New functions.
15895 (xg_get_image_for_pixmap): Use file_for_image.
15896 (update_frame_tool_bar): If direction is RTL, use RTL image if
15897 defined. Use Gtk stock images if defined.
15898
158992007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15900
15901 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
15902 for nonexistent or zero-width glyph in composition glyph.
15903
159042007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
15905
15906 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
15907
15908 * xdisp.c (Finvisible_p): New function.
15909 (syms_of_xdisp): defsubr it.
15910
159112007-08-24 Juanma Barranquero <lekktu@gmail.com>
15912
15913 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
15914 Doc fixes.
15915
159162007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15917
15918 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
15919
159202007-08-24 Martin Rudalics <rudalics@gmx.at>
15921
15922 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
15923 whether decoding has modified buffer contents.
15924
159252007-08-24 Jason Rumney <jasonr@gnu.org>
15926
15927 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
15928 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
15929 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
15930 (init_svg_functions) [HAVE_NTGUI]: New function.
15931 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
15932 (svg_load_image): Use them.
15933 (svg_load_image) [HAVE_NTGUI]: Implement background.
15934
159352007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15936
15937 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
15938 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
15939 (LIBX): Remove @RSVG_LIBS@.
15940 (LIBES): Add $(RSVG_LIBS).
15941
15942 * image.c (svg_load_image): Blend with specified background if exists.
15943 Use IMAGE_BACKGROUND. Add Mac OS Support.
15944
15945 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
15946 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
15947 Remove macros.
15948 [MAC_OSX] (socket_callback): Do nothing.
15949 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
15950 ReceiveNextEvent.
15951 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
15952 socket_callback.
15953 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
15954
159552007-08-22 Glenn Morris <rgm@gnu.org>
15956
15957 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
15958
159592007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
15960
15961 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
15962
15963 * image.c: Add support for SVG images. Some additional comments
15964 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
15965 (svg_image_p): New function to test for SVG image.
15966 (svg_load): New function to load SVG image.
15967 (svg_load_image): New function, helper for svg_load.
15968 (Qsvg): New Lisp_object.
15969 (svg_keyword_index): New enum.
15970 (svg_format): New static `image_keyword' struct.
15971 (svg_type): New static `image_type' struct.
15972 (librsvg/rsvg.h): Include it.
15973
159742007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
15975
15976 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
15977
159782007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
15979
15980 * lread.c (Qold_style_backquotes): New var.
15981 (syms_of_lread): Init and staticpro it.
15982 (load_warn_old_style_backquotes): New fun.
15983 (Fload): Use them to warn about old style backquotes.
15984 (end_of_file_error, Fload): Remove unused vars.
15985
15986 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
15987
15988 * lread.c (Vold_style_backquotes): New var.
15989 (syms_of_lread): Init and export it to Elisp.
15990 (read1): Set it when we find an old-style (back)quote.
15991
159922007-08-22 Jason Rumney <jasonr@gnu.org>
15993
15994 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
15995
159962007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
15997
15998 * puresize.h (BASE_PURESIZE): Increase to 1140000.
15999
160002007-08-19 Richard Stallman <rms@gnu.org>
16001
16002 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
16003
160042007-08-19 Andreas Schwab <schwab@suse.de>
16005
16006 * alloc.c (pure): Round PURESIZE up.
16007
160082007-08-17 Jan Djärv <jan.h.d@swipnet.se>
16009
16010 * xterm.c (handle_one_xevent): Remove check that mouse click is in
16011 active frame.
16012
160132007-08-16 Richard Stallman <rms@gnu.org>
16014
16015 * eval.c (Fcommandp): Add parens to clarify.
16016
16017 * minibuf.c (Fall_completions): Use enum for type of table.
16018
16019 * emacs.c (USAGE2): Improve text.
16020
160212007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
16022
16023 * term.c (tty_default_color_capabilities): Declare static
16024 variables in file scope, to avoid HPUX compiler problem.
16025
160262007-08-13 Jan Djärv <jan.h.d@swipnet.se>
16027
16028 * gtkutil.c (update_frame_tool_bar): Use -1 as index
16029 to gtk_toolbar_insert.
16030
160312007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
16032
16033 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
16034
16035 * insdel.c (reset_var_on_error): New fun.
16036 (signal_before_change, signal_after_change):
16037 Use it to reset (after|before)-change-functions to nil in case of error.
16038 Bind inhibit-modification-hooks to t.
16039 Don't bind (after|before)-change-functions to nil while they run.
16040
160412007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16042
16043 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
16044 filling pixmap with stippled background.
16045
160462007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16047
16048 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
16049 Don't use invisible frame as parent window for repositioning.
16050
160512007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
16052
16053 * print.c (new_backquote_output): Rename from old_backquote_output.
16054 (print): Inverse its logic (according to its name) so as to match the
16055 behavior of new_backquote_flag in lread.c.
16056
160572007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16058
16059 * gmalloc.c (posix_memalign): New function.
16060
16061 * macterm.c (frame_highlight, frame_unhighlight): Don't call
16062 ActivateControl/DeactivateControl here.
16063 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
16064 frame-notice-user-settings is non-nil.
16065 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
16066 for kEventParamFMFontStyle.
16067 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
16068 mac_pass_command_to_system and mac_pass_control_to_system here.
16069 (XTread_socket): Call ActivateControl/DeactivateControl here.
16070 (XTread_socket) [TARGET_API_MAC_CARBON]:
16071 Check mac_pass_command_to_system and mac_pass_control_to_system here.
16072 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
16073 for window repositioning.
16074
160752007-08-08 Glenn Morris <rgm@gnu.org>
16076
16077 * Replace `iff' in doc-strings and comments.
16078
160792007-08-07 Chong Yidong <cyd@stupidchicken.com>
16080
16081 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
16082
160832007-08-07 Martin Rudalics <rudalics@gmx.at>
16084
16085 * fileio.c (Finsert_file_contents): Run format-decode and
16086 after_insert_file_functions on entire buffer when REPLACE is
16087 non-nil and inhibit modification_hooks and point_motion_hooks.
16088 For consistency, run after_insert_file_functions iff something
16089 got inserted. Move signal_after_change and update_compositions
16090 after code running after_insert_file_functions. Make sure that
16091 undo_list doesn't record intermediate steps of the decoding process.
16092
160932007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16094
16095 * emacs.c (main)
16096 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
16097 Call malloc_enable_thread on interactive startup.
16098
16099 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
16100 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
16101 [USE_PTHREAD]: Conditionalize with it.
16102 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
16103 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
16104 New functions.
16105
161062007-08-06 Chong Yidong <cyd@stupidchicken.com>
16107
16108 * xdisp.c (redisplay_window): When restoring original buffer
16109 position, make sure it is still valid.
16110
16111 * image.c (png_load): Ignore png-supplied background color.
16112
161132007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16114
16115 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
16116 Use kCFAbsoluteTimeIntervalSince1970.
16117
16118 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
16119 New variable.
16120 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
16121 event loop should be quit.
16122 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
16123 Quit dialog event loop if quit_dialog_event_loop is set.
16124
16125 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
16126 (Selection): New typedef. Use instead of ScrapRef.
16127 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
16128 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
16129 (mac_clear_selection): Rename from clear_scrap.
16130 (get_flavor_type_from_symbol): New argument SEL and subsume function of
16131 scrap_has_target_type. All uses changed.
16132 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
16133 (mac_selection_has_target_p): New functions.
16134 (mac_put_selection_value): Rename from put_scrap_string.
16135 (mac_get_selection_value): Rename from get_scrap_string.
16136 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
16137 (put_scrap_private_timestamp, scrap_has_target_type)
16138 (get_scrap_private_timestamp): Remove functions.
16139 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
16140 (x_own_selection, x_get_local_selection):
16141 Use mac_valid_selection_value_p.
16142 (x_own_selection): Don't use put_scrap_private_timestamp.
16143 Record OWNERSHIP-INFO into Vselection_alist instead.
16144 (x_get_local_selection): Don't check type if request is local.
16145 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
16146 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
16147
161482007-08-04 Jan Djärv <jan.h.d@swipnet.se>
16149
16150 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
16151 add comment explaining why.
16152
161532007-08-03 Richard Stallman <rms@gnu.org>
16154
16155 * fileio.c (Fvisited_file_modtime): Use make_time.
16156
161572007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
16158
16159 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
16160 build.
16161
161622007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
16163
16164 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
16165
161662007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
16167
16168 * puresize.h (BASE_PURESIZE): Increase to 1130000.
16169
161702007-07-30 Richard Stallman <rms@gnu.org>
16171
16172 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
16173
161742007-07-29 Jan Djärv <jan.h.d@swipnet.se>
16175
16176 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
16177
161782007-07-28 Nick Roberts <nickrob@snap.net.nz>
16179
16180 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
16181 remote default-directory.
16182
16183 * buffer.c (mode-line-format): Update doc string.
16184
161852007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16186
16187 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
16188 scroll bar gap.
16189 (x_scroll_bar_create): Set bar->fringe_extended_p.
16190 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
16191 on frame edge. Check fringe background extension. Don't clear
16192 extended fringe background area.
16193
16194 * w32term.h (struct scroll_bar): New member fringe_extended_p.
16195 (w32_fill_area): Enclose multiple statements with do ... while (0).
16196
16197 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
16198 Extend fringe background to scroll bar gap.
16199 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
16200 Set bar->fringe_extended_p.
16201 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
16202 Put leftmost/rightmost scroll bars on frame edge. Check fringe
16203 background extension. Don't clear extended fringe background area.
16204
16205 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
16206 New member fringe_extended_p.
16207
162082007-07-25 Glenn Morris <rgm@gnu.org>
16209
16210 * Relicense all FSF files to GPLv3 or later.
16211
16212 * COPYING: Switch to GPLv3.
16213
162142007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
16215
16216 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
16217
16218 * data.c (Finteractive_form): Check for the presence of an
16219 `interactive-form' symbol property more thoroughly.
16220
16221 * data.c (Finteractive_form): Use an `interactive-form' property if
16222 present, analogous to the function-documentation property.
16223
162242007-07-24 Jason Rumney <jasonr@gnu.org>
16225
16226 * w32fns.c (x_real_positions): Get real position from OS instead of
16227 calculating it.
16228
162292007-07-23 Jason Rumney <jasonr@gnu.org>
16230
16231 * filelock.c (current_lock_owner): Allow for @ sign in username.
16232
162332007-07-22 Nick Roberts <nickrob@snap.net.nz>
16234
16235 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
16236 remote default-directory.
16237
16238 * buffer.c (mode-line-format): Describe above case in doc string.
16239
162402007-07-20 Eli Zaretskii <eliz@gnu.org>
16241
16242 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
16243 Define if not defined.
16244
162452007-07-18 Jason Rumney <jasonr@gnu.org>
16246
16247 * w32proc.c (w32_executable_type): Handle 64 bit executables.
16248
162492007-07-18 Richard Stallman <rms@gnu.org>
16250
16251 * data.c (Fsetq_default): Doc fix.
16252
16253 * eval.c (Fsetq): Doc fix.
16254
162552007-07-18 Juanma Barranquero <lekktu@gmail.com>
16256
16257 * coding.c (Ffind_operation_coding_system):
16258 * eval.c (For, Fand): Doc fixes.
16259 Reported by Johan Bockgård.
16260
162612007-07-18 Jan Djärv <jan.h.d@swipnet.se>
16262
16263 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
16264
16265 * xterm.h: Declare x_ewmh_activate_frame.
16266
16267 * xterm.c (x_ewmh_activate_frame): New function.
16268 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
16269
162702007-07-17 Martin Rudalics <rudalics@gmx.at>
16271
16272 * window.c (Fdisplay_buffer): If largest or LRU window is the
16273 only window, split it even if it is not eligible for splitting.
16274 This restores the original behavior broken by the 2007-07-15
16275 change.
16276
162772007-07-17 Glenn Morris <rgm@gnu.org>
16278
16279 * abbrev.c (abbrev_check_chars): New function.
16280 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
16281 Call abbrev_check_chars to check abbrev characters are word
16282 constituents. Doc fix.
16283
162842007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
16285
16286 * process.c (Fstart_process, Fmake_network_process)
16287 (read_process_output): Fix up last changes.
16288
162892007-07-16 Eli Zaretskii <eliz@gnu.org>
16290
16291 * makefile.w32-in (clean): Don't delete *~.
16292
162932007-07-16 Andreas Schwab <schwab@suse.de>
16294
16295 * window.c (Fdisplay_buffer): Use NILP.
16296 (Fset_window_scroll_bars): Likewise.
16297
162982007-07-15 Martin Rudalics <rudalics@gmx.at>
16299
16300 * window.c (window_min_size_2): New function.
16301 (window_min_size_1, size_window, Fdisplay_buffer)
16302 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
16303 windows without mode- or header-lines when window-min-height is
16304 too small.
16305 (size_window): Reset nodelete_p after testing it, following an
16306 earlier note by Kim F. Storm.
16307 (display_buffer): Do not set split_height_threshold to twice the
16308 value of window_min_height to avoid changing the value of a
16309 customizable variable. Rather explicitly check whether the
16310 height of the window that shall be splitted is at least as large
16311 as split_height_threshold.
16312 (Fwindow_full_width_p): New defun.
16313 (syms_of_window): Defsubr it.
16314
16315 * window.h: Add EXFUN for Fwindow_full_width_p.
16316
163172007-07-14 Jason Rumney <jasonr@gnu.org>
16318
16319 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
16320
163212007-07-14 Richard Stallman <rms@gnu.org>
16322
16323 * eval.c (maybe_call_debugger): New function.
16324 (find_handler_clause): Use maybe_call_debugger.
16325 Call it when the handler says `debug'.
16326 Eliminate DEBUGGER_VALUE_PTR.
16327 (Fsignal): Eliminate debugger_value.
16328 (Qdebug): New variable.
16329 (syms_of_eval): Initialize it.
16330
163312007-07-14 Juanma Barranquero <lekktu@gmail.com>
16332
16333 * eval.c (Fprogn):
16334 * keyboard.c (Ftrack_mouse):
16335 * print.c (Fwith_output_to_temp_buffer):
16336 * window.c (Fsave_window_excursion): Doc fix.
16337
163382007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
16339
16340 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
16341
163422007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
16343
16344 * process.h (struct Lisp_Process): Turn slots infd, outfd,
16345 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
16346 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
16347 read_output_delay, and read_output_skip from Lisp_Objects to ints.
16348 Remove unused encoding_carryover.
16349 * process.c: Adjust all functions accordingly.
16350
163512007-07-12 Richard Stallman <rms@gnu.org>
16352
16353 * term.c: Include unistd.h only if HAVE_UNISTD_H.
16354
163552007-07-11 Jason Rumney <jasonr@gnu.org>
16356
16357 * makefile.w32-in (LIBS): Include OLE32.
16358
16359 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
16360 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
16361
163622007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
16363
16364 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
16365 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
16366 from a Lisp_Object into a bare pointer.
16367 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
16368 Adjust the code correspondingly.
16369
16370 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
16371
16372 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
16373 (term_show_mouse_face): Remove unused var `j'.
16374 (handle_one_term_event): Remove unused vars `i' and `j'.
16375 Don't cast return value of ttyname since it's not necessary.
16376
163772007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
16378
16379 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
16380 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
16381
16382 * fns.c (map_char_table): Use an array of int for `indices' rather than
16383 an array of Lisp_Objects (which are only ever integers anyway).
16384 (Fmap_char_table): Update caller.
16385 * lisp.h: Update prototype.
16386 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
16387 * fontset.c (Ffontset_info):
16388 * casetab.c (set_case_table): Update callers.
16389
16390 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
16391
16392 * keymap.c (struct accessible_keymaps_data)
16393 (struct where_is_internal_data): New structures.
16394 (accessible_keymaps_1, where_is_internal_1): Use them to change
16395 interface to adhere to the one used by map_keymap.
16396 (Faccessible_keymaps, where_is_internal): Use map_keymap.
16397 (accessible_keymaps_char_table, where_is_internal_2): Remove.
16398
16399 * keymap.h (map_keymap_function_t): More informative prototype.
16400
164012007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
16402
16403 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
16404 (looking_at_1): Don't change search_regs and last_thing_searched
16405 if `inhibit-changing-match-data' is non-nil.
16406 (string_match_1, search_buffer, set_search_regs): Likewise.
16407 (syms_of_search): Add Lisp level definition for
16408 `inhibit-changing-match-data' and set it to nil.
16409 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
16410 start and end of the match, instead of using values in search_regs.
16411
164122007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
16413
16414 * minibuf.c (Fcompleting_read): New value `confirm-only'
16415 for `require-match'.
16416
164172007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
16418
16419 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
16420 part of the 2007-06-27 change to syms_of_fileio.
16421
164222007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16423
16424 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
16425 Check WINDOWP before using XWINDOW. Consolidate return statements.
16426
164272007-06-27 Richard Stallman <rms@gnu.org>
16428
16429 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
16430
164312007-06-27 Juanma Barranquero <lekktu@gmail.com>
16432
16433 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
16434
164352007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16436
16437 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
16438 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
16439 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
16440 (_free_internal, memalign): Use them.
16441 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
16442 Initialize to PTHREAD_MUTEX_INITIALIZER.
16443 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
16444 (morecore_nolock): Rename from morecore. All uses changed.
16445 Use only nolock versions of internal allocation functions.
16446 (_malloc_internal_nolock, _realloc_internal_nolock)
16447 (_free_internal_nolock): New functions created from
16448 _malloc_internal, _realloc_internal, and _free_internal.
16449 (_malloc_internal, _realloc_internal, _free_internal): Use them.
16450 Copy hook value to automatic variable before its use.
16451 (memalign): Copy hook value to automatic variable before its use.
16452
164532007-06-26 Kenichi Handa <handa@m17n.org>
16454
16455 * coding.c (Ffind_operation_coding_system): Docstring improved.
16456 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
16457
164582007-06-25 David Kastrup <dak@gnu.org>
16459
16460 * keymap.c (Fcurrent_active_maps): Add `position' argument.
16461 (Fwhere_is_internal): Adjust call to `current-active-maps' to
16462 cater for additional parameter.
16463
16464 * keymap.h: Adjust number of parameters to `current-active-maps'.
16465
16466 * doc.c (Fsubstitute_command_keys): Adjust call of
16467 `current-active-maps'.
16468
164692007-06-25 David Kastrup <dak@gnu.org>
16470
16471 * callint.c (Fcall_interactively): Make the parsing of interactive
16472 specs somewhat more readable.
16473
164742007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16475
16476 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
16477 to scroll bar gap also when bitmap fills fringe. Draw only foreground
16478 if extended background has already been filled.
16479
164802007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16481
16482 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
16483 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
16484
16485 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
16486 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
16487 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
16488 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
16489 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
16490 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
16491 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
16492 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
16493 Run timers during dialog popup.
16494 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
16495
164962007-06-21 Jason Rumney <jasonr@gnu.org>
16497
16498 * image.c (convert_mono_to_color_image): Swap fore and background.
16499
165002007-06-20 Jason Rumney <jasonr@gnu.org>
16501
16502 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
16503 (w32_free_bdf_font): Unmap memory not handle.
16504
165052007-06-20 Sam Steingold <sds@gnu.org>
16506
16507 * gmalloc.c (__morecore): Fix the declaration to comply with the
16508 definition.
16509
165102007-06-20 Juanma Barranquero <lekktu@gmail.com>
16511
16512 * w32term.c (w32_delete_display): Remove leftover declaration.
16513 (w32_define_cursor, w32_initialize): Make static.
16514
16515 * w32.c (_wsa_errlist): Fix typo in error message.
16516 (init_environment): Ignore any environment variable from the
16517 registry having a null value.
16518
165192007-06-20 Glenn Morris <rgm@gnu.org>
16520
16521 * Makefile.in (LIBGIF): Default to -lgif.
16522
165232007-06-17 Jason Rumney <jasonr@gnu.org>
16524
16525 * w32menu.c (add_menu_item): Don't use multibyte string functions on
16526 unicode strings.
16527
165282007-06-16 Juanma Barranquero <lekktu@gmail.com>
16529
16530 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
16531 Fix typo in docstring.
16532
165332007-06-16 Eli Zaretskii <eliz@gnu.org>
16534
16535 * w32menu.c (add_menu_item): Escape `&' characters in menu items
16536 and their keybindings.
16537
165382007-06-15 Chong Yidong <cyd@stupidchicken.com>
16539
16540 * composite.c (update_compositions): Fix last fix.
16541
165422007-06-14 Jason Rumney <jasonr@gnu.org>
16543
16544 * w32.c (get_process_times_fn): New function pointer.
16545 (globals_of_w32): Intialize it if present in kernel32.dll.
16546 (w32_get_internal_run_time): New function.
16547
16548 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
16549
165502007-06-14 Kenichi Handa <handa@etlken.m17n.org>
16551
16552 * composite.c (update_compositions): Check the validness of
16553 compositions.
16554
165552007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16556
16557 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
16558 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
16559
16560 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
16561 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
16562
16563 * macgui.h (USE_MAC_TOOLBAR): New define.
16564
16565 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
16566 Return immediately unless popup is activated.
16567
16568 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
16569 background to scroll bar gap.
16570 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
16571 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
16572 scroll bars on frame edge. Check fringe background extension.
16573 Don't clear extended fringe background area.
16574 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
16575 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
16576 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
16577 [USE_MAC_TOOLBAR]: New macros.
16578 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
16579 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
16580 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
16581 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
16582 [USE_MAC_TOOLBAR]: New functions.
16583 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
16584 manually if previous repositioning has failed.
16585 (mac_handle_keyboard_event): Use precomputed event kind.
16586 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
16587 as tool bar item click. Handle mouse movement over tool bar items.
16588
16589 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
16590 toolbar_win_gravity.
16591 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
16592 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
16593 Add externs.
16594
16595 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
16596 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
16597
165982007-06-14 Chong Yidong <cyd@stupidchicken.com>
16599
16600 * image.c (search_image_cache): Remove unused variable.
16601
166022007-06-13 Chong Yidong <cyd@stupidchicken.com>
16603
16604 * xfns.c, xmenu.c: Link to xaw3d if available.
16605
166062007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16607
16608 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
16609 frame_foreground and frame_background.
16610
16611 * image.c (lookup_image): Save frame foreground and background colors.
16612 (search_image_cache): Check if saved and current frame colors match.
16613
166142007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
16615
16616 * regex.c (regex_compile): Remove the `regnum' counter.
16617 Use bufp->re_nsub instead. Add support for \(?N:RE\).
16618
166192007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
16620
16621 * term.c: Include intervals.h to declare Fget_text_property.
16622
166232007-06-10 Jason Rumney <jasonr@gnu.org>
16624
16625 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
16626
166272007-06-08 Juanma Barranquero <lekktu@gmail.com>
16628
16629 * callint.c (Fcall_interactively):
16630 * editfns.c (Fdelete_and_extract_region):
16631 * fileio.c (Fread_file_name):
16632 * fns.c (Fmapconcat):
16633 * keyboard.c (cmd_error_internal):
16634 * keymap.c (Fkey_description):
16635 * lread.c (openp):
16636 * minibuf.c (read_minibuf):
16637 * search.c (wordify):
16638 * sunfns.c (sel_read):
16639 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
16640 * xfns.c (x_default_scroll_bar_color_parameter):
16641 * xmenu.c (menu_help_callback):
16642 * xselect.c (Fx_get_atom_name):
16643 * xterm.c (x_term_init): Use empty_unibyte_string.
16644
166452007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
16646
16647 * alloc.c (init_strings): Initialize canonical empty strings.
16648 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
16649 canonical empty string when the requested size is 0.
16650
16651 * emacs.c (empty_unibyte_string): Rename from empty_string.
16652 (empty_multibyte_string): New canonical empty string.
16653 (syms_of_emacs): Don't initialize empty_string.
16654
16655 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
16656 string, if appropriate.
16657 (empty_unibyte_string, empty_multibyte_string): New externs.
16658 (empty_string): Remove extern.
16659
16660 * lread.c (syms_of_lread): Use empty_unibyte_string.
16661
166622007-06-07 Jason Rumney <jasonr@gnu.org>
16663
16664 * s/ms-w32.h: Don't define HAVE_TZNAME.
16665
16666 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
16667
166682007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16669
16670 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
16671
16672 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
16673 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
16674
16675 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
16676 Don't call next handler.
16677 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
16678 Remove argument. Install handler to application.
16679 (set_frame_menubar): Don't change deep_p.
16680 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
16681 FRAME_OUTER_TO_INNER_DIFF_Y.
16682 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
16683 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
16684 [HAVE_DIALOGS]: New macros.
16685 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
16686 Use them.
16687 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
16688
16689 * macselect.c [MAC_OSX] (install_service_handler): Rename from
16690 init_service_handler. All callers changed. Return OSStatus value.
16691
16692 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
16693 All callers changed so as not to call SetPortWindowPort.
16694 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
16695 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
16696 mac_draw_string_common.
16697 (mac_draw_image_string_qd): Likewise.
16698 (mac_draw_string_common): Use them. Add INLINE.
16699 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
16700 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
16701 GetGlobalMouse.
16702 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
16703 and FRAME_OUTER_TO_INNER_DIFF_Y.
16704 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
16705 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
16706 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
16707 repositioning window to mac_handle_window_event.
16708 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
16709 saving window location to mac_handle_window_event
16710 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
16711 (install_menu_target_item_handler): Remove argument in extern.
16712 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
16713 Also accept command events.
16714 (do_keystroke): New function created from XTread_socket.
16715 (init_command_handler): Remove functions.
16716 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
16717 and save window location by kEventWindowShowing and kEventWindowHiding
16718 handlers here. Don't call next handler for window state change and
16719 focus events.
16720 (mac_handle_application_event, mac_handle_keyboard_event)
16721 [TARGET_API_MAC_CARBON]: New functions.
16722 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
16723 kEventWindowShowing and kEventWindowHiding events. Move installation
16724 of mouse, font, text input and menu target item handlers to
16725 install_application_handler.
16726 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
16727 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
16728 New function.
16729 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
16730 Register it.
16731 (XTread_socket) [TARGET_API_MAC_CARBON]:
16732 Consolidate SendEventToEventTarget calls.
16733 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
16734 Move application activation handler to mac_handle_application_event.
16735 Move keyboard handler to mac_handle_keyboard_event.
16736 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
16737 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
16738 init_command_handler. Call install_application_handler.
16739
16740 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
16741 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
16742
167432007-06-07 Glenn Morris <rgm@gnu.org>
16744
16745 * emacs.c (main): Use `emacs-copyright' in --version output.
16746
167472007-06-06 Chong Yidong <cyd@stupidchicken.com>
16748
16749 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
16750
167512007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16752
16753 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
16754
16755 * macgui.h: Replace WindowPtr with WindowRef.
16756
16757 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
16758 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
16759 Replace ControlHandle with ControlRef.
16760 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
16761
16762 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
16763 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
16764 Replace ControlHandle with ControlRef.
16765 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
16766 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
16767
16768 * macterm.h (struct scroll_bar): Rename member control_handle_low
16769 and control_handle_high to control_ref_low and control_ref_high.
16770 All uses changed.
16771 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
16772 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
16773 respectively. All uses changed.
16774 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
16775 (install_window_handler, remove_window_handler): Replace WindowPtr
16776 with WindowRef in externs.
16777
167782007-06-05 Juanma Barranquero <lekktu@gmail.com>
16779
16780 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
16781
167822007-06-03 Nick Roberts <nickrob@snap.net.nz>
16783
16784 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
16785
16786 * frame.c (Fmouse_position, Fmouse_pixel_position):
16787 Condition on HAVE_GPM too.
16788
16789 * term.c (term_mouse_highlight): Remove unused variables.
16790 (Fterm_open_connection): Set gpm_zerobased to 1.
16791 (term_mouse_movement, term_mouse_click, handle_one_term_event):
16792 Use zero based co-ordinates.
16793 (handle_one_term_event): Report a drag as mouse movement too.
16794
16795 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
16796
167972007-06-03 Chong Yidong <cyd@stupidchicken.com>
16798
16799 * image.c (search_image_cache): New function. Require background
16800 color match if background color is unspecified in the image spec.
16801 (uncache_image, lookup_image): Use it.
16802
168032007-06-01 Juanma Barranquero <lekktu@gmail.com>
16804
16805 * window.c (Fshrink_window): Reflow docstring.
16806
168072007-06-02 Chong Yidong <cyd@stupidchicken.com>
16808
16809 * Version 22.1 released.
16810
168112007-06-01 Richard Stallman <rms@gnu.org>
16812
16813 * xfns.c (x_encode_text): Add GCPRO.
16814
168152007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16816
16817 * xfns.c (x_set_name_internal): Save encoded name before
16818 x_encode_text in case string data is relocated.
16819
168202007-05-31 Richard Stallman <rms@gnu.org>
16821
16822 * buffer.c (syms_of_buffer): Doc fix.
16823
168242007-05-30 Nick Roberts <nickrob@snap.net.nz>
16825
16826 * sysdep.c (init_sys_modes): Add rather than replace with
16827 O_NONBLOCK.
16828
16829 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
16830 term_mouse_moveto.
16831
16832 * termhooks.h (term_mouse_moveto): New extern.
16833
16834 * term.c (mouse_face_window): Rename...
16835 (Qmouse_face_window): ...to this.
16836 (term_show_mouse_face, term_clear_mouse_face)
16837 (term_mouse_highlight): Use Qmouse_face_window.
16838 (term_mouse_moveto): New function.
16839 (term_mouse_position): Make it work.
16840 (syms_of_term): Uncomment assignment to mouse_position_hook.
16841 Staticpro Qmouse_face_window.
16842
168432007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16844
16845 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
16846 around current_column call.
16847
168482007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
16849
16850 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
16851 * xdisp.c (next_element_from_buffer):
16852 * window.c (delete_window):
16853 * term.c (term_mouse_highlight):
16854 * msdos.c (getdefdir):
16855 * macterm.c (mac_create_bitmap_from_bitmap_data)
16856 (init_font_name_table):
16857 * fns.c (Fsxhash):
16858 * data.c (Fmake_local_variable):
16859 * ccl.c (ccl_driver): Likewise.
16860
168612007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16862
16863 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
16864 Call mac_wakeup_from_rne on window size change.
16865
168662007-05-25 Chong Yidong <cyd@stupidchicken.com>
16867
16868 * image.c (uncache_image): Fix typo.
16869
168702007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
16871
16872 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
16873
168742007-05-22 Richard Stallman <rms@gnu.org>
16875
16876 * xterm.c (x_connection_closed): Remove NO_RETURN.
16877
168782007-05-22 Martin Rudalics <rudalics@gmx.at>
16879
16880 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
16881
168822007-05-21 Chong Yidong <cyd@stupidchicken.com>
16883
16884 * image.c (uncache_image): New function.
16885 (Fimage_refresh): New function.
16886
168872007-05-20 Jan Djärv <jan.h.d@swipnet.se>
16888
16889 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
16890
168912007-05-20 Nick Roberts <nickrob@snap.net.nz>
16892
16893 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
16894 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
16895
168962007-05-20 Nick Roberts <nickrob@snap.net.nz>
16897
16898 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
16899 conditional on [HAVE_GPM_H].
16900
169012007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
16902
16903 * syntax.c (skip_chars): Update syntax-table only after we checked that
16904 the new location is valid.
16905
169062007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16907
16908 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
16909 mac_get_window_bounds.
16910
169112007-05-20 Nick Roberts <nickrob@snap.net.nz>
16912
16913 * Makefile.in (LIBGPM): Allow it to be set from configure.
16914 If set then link Emacs with it.
16915
16916 * config.in: Regenerate.
16917
16918 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
16919 New externs.
16920
16921 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
16922 Include gpm.h.
16923 (handle_one_term_event, term_gpm): New externs.
16924
16925 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
16926 and allow it to be interrupted by SIGIO.
16927
16928 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
16929 (wait_reading_process_output): Wait on gpm_fd too.
16930 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
16931 (add_gpm_wait_descriptor_called_flag): New variable.
16932 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
16933
16934 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
16935 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
16936 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
16937 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
16938 (make_lispy_event): Add case GPM_CLICK_EVENT.
16939 (read_avail_input): Handle mouse input.
16940
16941 * term.c (write_glyphs_with_face): New function.
16942 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
16943 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
16944 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
16945 (mouse_face_face_id, term_gpm, pos_x, pos_y)
16946 (last_mouse_x, last_mouse_y): New variables.
16947 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
16948 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
16949 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
16950 (Fterm_close_connection): New functions.
16951 (term_init): Initialise mouse_face_window.
16952
169532007-05-19 Chong Yidong <cyd@stupidchicken.com>
16954
16955 * xdisp.c (redisplay_window): If first window line is a
16956 continuation line, recompute the new window start instead of
16957 recentering.
16958
169592007-05-18 Glenn Morris <rgm@gnu.org>
16960
16961 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
16962 Suggested by Alfred M. Szmidt <ams@gnu.org>.
16963
169642007-05-17 Glenn Morris <rgm@gnu.org>
16965
16966 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
16967
169682007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16969
16970 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
16971 dead key repeat and up events.
16972
169732007-05-14 Chong Yidong <cyd@stupidchicken.com>
16974
16975 * image.c (pbm_load): Check image size for monochrome pbm.
16976
169772007-05-13 Chong Yidong <cyd@stupidchicken.com>
16978
16979 * xterm.c (XTread_socket): Revert last change.
16980
169812007-05-12 Chong Yidong <cyd@stupidchicken.com>
16982
16983 * image.c (pbm_load): Correctly check image size for greyscale pbm.
16984
16985 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
16986
169872007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
16988
16989 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
16990 mixup (YAILOM).
16991
169922007-05-07 Andreas Schwab <schwab@suse.de>
16993
16994 * keymap.c (Flookup_key): Fix typo in last change.
16995
169962007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
16997
16998 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
16999 mapping for unibyte strings.
17000
170012007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17002
17003 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
17004 (Fx_popup_dialog) [MAC_OSX]: Likewise.
17005
170062007-04-29 Richard Stallman <rms@gnu.org>
17007
17008 * insdel.c (replace_range): For undo, record insertion first.
17009
170102007-04-29 Andreas Schwab <schwab@suse.de>
17011
17012 * lisp.h (VECSIZE): Use OFFSETOF.
17013
170142007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17015
17016 * xdisp.c (try_window_reusing_current_matrix): Fix number of
17017 disabled lines.
17018
170192007-04-28 Richard Stallman <rms@gnu.org>
17020
17021 * lread.c (read_escape): In a string, \s is always space.
17022
170232007-04-27 Jan Djärv <jan.h.d@swipnet.se>
17024
17025 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
17026
17027 * gtkutil.c (xg_update_menubar, create_menus): Create empty
17028 submenu for menu bar items.
17029
17030See ChangeLog.10 for earlier changes.
17031
17032;; Local Variables:
17033;; coding: utf-8
17034;; add-log-time-zone-rule: t
17035;; bug-reference-url-format: "http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=%s"
17036;; End:
17037
76b6f707 17038 Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
aac0c6e3
MR
17039
17040 This file is part of GNU Emacs.
17041
17042 GNU Emacs is free software: you can redistribute it and/or modify
17043 it under the terms of the GNU General Public License as published by
17044 the Free Software Foundation, either version 3 of the License, or
17045 (at your option) any later version.
17046
17047 GNU Emacs is distributed in the hope that it will be useful,
17048 but WITHOUT ANY WARRANTY; without even the implied warranty of
17049 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17050 GNU General Public License for more details.
17051
17052 You should have received a copy of the GNU General Public License
17053 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
17054
17055;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40