* callproc.c (Fgetenv_internal): Doc fix.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
acf20901
JB
12009-01-18 Juanma Barranquero <lekktu@gmail.com>
2
3 * callproc.c (Fgetenv_internal): Doc fix.
4
e7abcdfb
CY
52009-01-16 Chong Yidong <cyd@stupidchicken.com>
6
7 * xfns.c (x_make_gc): Don't allocate stipple member for gc_values;
8 it is not even used.
9
b60861e6
GM
102009-01-16 Glenn Morris <rgm@gnu.org>
11
12 * font.c (Ffont_variation_glyphs): Silence compiler.
13
8db52afe
JB
142009-01-15 Juanma Barranquero <lekktu@gmail.com>
15
16 * sound.c (SOUND_WARNING): Use _snprintf, for MSVC compatibility.
17 Reported by David Robinow <drobinow@gmail.com>.
18
4cddb209
KH
192009-01-15 Kenichi Handa <handa@m17n.org>
20
21 * coding.c (detect_coding_system): Fix handling of
22 null_byte_found.
23
f247f67b
JR
242009-01-14 Jason Rumney <jasonr@gnu.org>
25
26 * frame.c (x_set_font): Always store a font to the font parameter,
27 never a fontset. (Bug#1562)
28
f56a4450
KH
292009-01-14 Kenichi Handa <handa@m17n.org>
30
31 * coding.c (TWO_MORE_BYTES): New macro.
32 (detect_coding_utf_16): Use TWO_MORE_BYTES instead of
33 ONE_MORE_BYTE.
34
4e99855e
CY
352009-01-13 Chong Yidong <cyd@stupidchicken.com>
36
37 * font.c (font_clear_prop): If clearing the family, clear the font
38 width index too.
39
40 * xfaces.c (Finternal_set_lisp_face_attribute): Revert last
41 change.
42
24f01470
JB
432009-01-12 Juanma Barranquero <lekktu@gmail.com>
44
45 * sound.c [WINDOWSNT] (SOUND_WARNING): New macro.
46 (do_play_sound): Use it. Don't pass a hardcoded buffer size to mci
47 functions, use sizeof.
48
a41240a3
MR
492009-01-12 Martin Rudalics <rudalics@gmx.at>
50
51 * keyboard.c (read_char): Fix case where last_nonmenu_event
52 returned a bad value with submenus. (Bug#447)
53
944636b8
CY
542009-01-12 Chong Yidong <cyd@stupidchicken.com>
55
56 * xfaces.c (Finternal_set_lisp_face_attribute): If setting the
57 family, clear the font width index too.
58
0dad7c6f
JR
592009-01-11 Jason Rumney <jasonr@gnu.org>
60
61 * keyboard.c (cmd_error_internal): Exit when errors occur before
62 frame creation and not in daemon mode. (Bug#1836)
63
7c2363af
CY
642009-01-10 Chong Yidong <cyd@stupidchicken.com>
65
66 * xdisp.c (pos_visible_p): When iterator stops on the last glyph
67 of a display vector, backtrack.
68 (try_window_reusing_current_matrix): Check glyph type before
69 referencing charpos member.
70
97b1b294
EZ
712009-01-10 Eli Zaretskii <eliz@gnu.org>
72
73 Fix Bug #876:
74
75 * coding.c (inhibit_null_byte_detection): New variable.
76 (detect_coding, detect_coding_system): Don't pay attention to null
77 bytes if inhibit_null_byte_detection is non-zero.
78 (syms_of_coding) <inhibit-null-byte-detection>: Declare and
79 document.
80 <inhibit-iso-escape-detection>: Doc fix.
81
4624b6e3
JR
822009-01-09 Jason Rumney <jasonr@gnu.org>
83
84 * w32font.c (add_font_entity_to_list): Don't report unknown
85 Windows charset as any unrecognized registry. (Bug#1548)
86 Only report Unicode Plane 2 fonts as unicode-sip.
87
323b840c
CY
882009-01-09 Chong Yidong <cyd@stupidchicken.com>
89
90 * xfaces.c (Fx_font_family_list): Function deleted. Compatibility
91 version moved to faces.el.
92
93 * font.c (Ffont_family_list): Return a list of strings, not
94 symbols.
95
eba7400d
MR
962009-01-09 Martin Rudalics <rudalics@gmx.at>
97
98 * frame.c (x_set_frame_parameters): Remember requested value for
99 fullscreen before it's reset by the parameter handler.
100
4b09796d
GM
1012009-01-09 Glenn Morris <rgm@gnu.org>
102
103 * keyboard.c (last_command_char): For clarity, rename to...
104 (last_command-event): ... and update all users.
105 (last_input_char): For clarity, rename to...
106 (last_input_event): ... and update all users.
107 (last-command-char, last-input-char): Move to subr.el as aliases.
108 * cmds.c, commands.h: Update for last_command_char rename.
109
14ccea62
CY
1102009-01-08 Chong Yidong <cyd@stupidchicken.com>
111
112 * font.c (font_open_for_lface): Handle unspecified height
113 attribute.
114
5f004711
JR
1152009-01-08 Jason Rumney <jasonr@gnu.org>
116
117 * w32fns.c (Vx_pointer_shape, Vx_nontext_pointer_shape)
118 (Vx_mode_pointer_shape, Vx_window_horizontal_drag_shape)
119 (Vx_hourglass_pointer_shape, Vx_sensitive_text_pointer_shape):
120 Don't declare.
121 (syms_of_w32fns): Don't define x-pointer-shape variable. (Bug#1485)
122 (x_create_tip_frame) [GLYPH_DEBUG]: Enable image debugging code.
123
b71f6f73
KH
1242009-01-07 Kenichi Handa <handa@m17n.org>
125
50b06221 126 * fileio.c (Finsert_file_contents): In the case of replace,
f56a4450 127 remember the coding system used for decoding in
50b06221
KH
128 coding_system (Bug#1039).
129
b71f6f73 130 * coding.c (decode_coding_utf_8): Check byte_after_cr before
79a97217 131 breaking the loop. (Bug#870)
b71f6f73
KH
132 (decode_coding_utf_16, decode_coding_emacs_mule)
133 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
134 (decode_coding_charset): Likewise.
135
56f668f7
MR
1362009-01-05 Martin Rudalics <rudalics@gmx.at>
137
138 * frame.c (x_set_frame_parameters): Make sure height (width) get
139 applied when fullwidth (fullheight) is set. (Bug#1522)
140
5da9424d
JB
1412009-01-04 Juanma Barranquero <lekktu@gmail.com>
142
143 * w32.c: Use 64-bit arithmetic to do FILETIME conversions. (Bug#1766)
144 (utc_base): Declare as ULONGLONG, not long double.
145 (convert_time_raw): Delete.
146 (FILETIME_TO_U64, U64_TO_LISP_TIME): New macros.
147 (initialize_utc_base): New function.
148 (convert_time): Use FILETIME_TO_U64, initialize_utc_base.
149 (convert_from_time_t): Use initialize_utc_base; compute result with
150 64-bit arithmetic.
151 (process_times): Use FILETIME_TO_U64, U64_TO_LISP_TIME.
152
c4605e09
EZ
1532009-01-03 Eli Zaretskii <eliz@gnu.org>
154
9acef61c 155 * process.c (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess)
c4605e09
EZ
156 (Qttname, Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime)
157 (Qcutime, Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs)
158 (Quser, Qgroup, Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime)
159 [!subprocesses]: Define.
160 (syms_of_process) [!subprocesses]: Intern and staticpro them.
161 (Flist_system_processes, Fsystem_process_attributes)
162 [!subprocesses]: Call list_system_processes and
163 system_process_attributes instead of returning Qnil.
164
9acef61c
JB
165 * dosfns.c (system_process_attributes, list_system_processes):
166 New functions.
c4605e09
EZ
167
168 * vm-limit.c (ret_lim_data) [MSDOS]: New function.
169
170 * sysdep.c (list_system_processes, system_process_attributes) [MSDOS]:
171 Don't use the default (no-op) implementation.
172
8b7d0a16
JR
1732009-01-03 Jason Rumney <jasonr@gnu.org>
174
a6d46bc1
JR
175 * keyboard.c (parse_modifiers_uncached): Wheel events are
176 clicks (bug#687).
177
8b7d0a16
JR
178 * w32term.c (x_query_colors, x_query_color): New functions.
179
180 * image.c (x_to_xcolors, png_load): Eliminate W32 specific code.
181 (svg_load_image): Cast returned pointers from dynamically loaded
182 functions. Eliminate W32 specific code.
183
bfe11752
DN
1842009-01-02 Dan Nicolaescu <dann@ics.uci.edu>
185
89e2438a
DN
186 * nsfns.m (x_set_foreground_color, x_set_background_color)
187 (x_set_cursor_color, x_set_icon_name, x_explicitly_set_name)
188 (x_set_title, x_set_icon_type, x_set_cursor_type): Rename to use
189 x_ prefix instead of ns_. Update references.
190 (syms_of_nsfns): Add a FIXME comment.
191
192 * nsterm.m (x_set_cursor_type): New prototype.
193 (setValuesFromPanel): Use it instead of the old ns_ prefixed name.
194
bfe11752
DN
195 * sysdep.c (system_process_attributes): Provide Qtime and Qctime
196 for Solaris instead of incorrectly providing Qutime and Qcutime.
197
031da700
EZ
1982009-01-02 Eli Zaretskii <eliz@gnu.org>
199
200 * w32.c (process_times): Compute sum of utime and stime.
201 (system_process_attributes): Add Qtime to the alist.
202
203 * sysdep.c (system_process_attributes): Compute Qtime and Qctime
204 and add them to the alist.
205
206 * process.c (top level) <Qtime, Qctime>: New variables.
207 (syms_of_process): staticpro them.
208 (Fsystem_process_attributes): Add their documentation to the doc
209 string.
210
211 * process.h: Declare Qtime and Qctime.
212
df23bf08
JR
2132009-01-02 Jason Rumney <jasonr@gnu.org>
214
9acef61c 215 * image.c (Qgobject): New symbol.
df23bf08
JR
216 (syms_of_image): Initialize it.
217 (init_svg_functions): Load some functions from gobject library.
218
5bbdf7aa
DN
2192009-01-01 Dan Nicolaescu <dann@ics.uci.edu>
220
221 * frame.c (make_terminal_frame): Remove redundant code and useless
222 block.
223
63136da6
AS
2242009-01-01 Andreas Schwab <schwab@suse.de>
225
226 * process.c (conv_sockaddr_to_lisp): Add workaround for
227 getsockname bug on BSD.
228
9ef69046
CY
2292009-01-01 Chong Yidong <cyd@stupidchicken.com>
230
d6fafbe0
CY
231 * xfns.c (x_create_tip_frame): Set border width of the X window.
232
9ef69046
CY
233 * xfaces.c (Finternal_set_lisp_face_attribute): Improve error
234 message.
235
f9c34147
JR
2362009-01-01 Jason Rumney <jasonr@gnu.org>
237
9acef61c 238 * w32term.c (x_new_font): Return font object, not fontset. (Bug#119)
f9c34147
JR
239 Don't block input, as per earlier xterm.c changes.
240
f5497e45
AR
2412008-12-31 Adrian Robert <Adrian.B.Robert@gmail.com>
242
243 * nsfns.m (ns_appkit_version_str): Rename from ns_appkit_version.
244 (ns_appkit_version_int): New function.
245 (x-server-version): Use ns_appkit_version_int and follow 21+
246 convention of returning 3 integers.
247
c19cab20
KH
2482008-12-30 Kenichi Handa <handa@m17n.org>
249
250 * character.h (CHAR_VARIATION_SELECTOR_P): New macro.
251 (CHAR_SURROGATE_PAIR_P): New macro.
252
253 * font.h (struct font_driver): New member get_variation_glyphs.
254
9acef61c 255 * font.c (font_range): Don't require a font for a variation selector.
c19cab20
KH
256 (Ffont_variation_glyphs): New function.
257 (syms_of_font): Defsubr it.
258
259 * ftfont.c (ftfont_driver): Set the member get_variation_glyphs to
260 ftfont_variation_glyphs.
261 (setup_otf_gstring): New function.
262 (ftfont_drive_otf): Use it.
263 (ftfont_shape_by_flt): Handle variation selector.
264 (ftfont_variation_glyphs): New function.
265
28cd591f
MR
2662008-12-30 Martin Rudalics <rudalics@gmx.at>
267
268 * frame.c (Vemacs_iconified): Remove.
269
7f714baf
JR
2702008-12-30 Jason Rumney <jasonr@gnu.org>
271
272 * frame.c (store_frame_param, x_get_arg): Enable newer code on
9acef61c 273 WINDOWSNT too, as related changes have already been synced. (Bug#117)
7f714baf 274
9d2d22ab
CY
2752008-12-30 Chong Yidong <cyd@stupidchicken.com>
276
277 * indent.c (Fvertical_motion): Don't advance iterator if we have
278 reseated to the desired position.
279
280 * xdisp.c (move_it_to): Handle GET_FROM_STRETCH method when
281 checking for pos match.
282
545312c2
KH
2832008-12-30 Kenichi Handa <handa@m17n.org>
284
1ede3eb6
KH
285 * insdel.c (copy_text): To convert a non-ASCII char to unibyte,
286 just get the low 8-bit of the code.
287
545312c2
KH
288 * font.c (font_intern_prop): Validate str as multibyte.
289
bd7bbf29
DN
2902008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
291
31e0750e
DN
292 * dispextern.h (struct face): Move lface and hash from the middle
293 of bitfields.
294
bd7bbf29
DN
295 * Makefile.in (INTERVALS_H): Rename from INTERVAL_SRC, update all users.
296
b5672e7c
DN
2972008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
298
299 * Makefile.in (INTERVAL_SRC): Also depend on dispextern.h.
300 (coding.o, dispnew.o, keymap.o, msdos.o): Depend on INTERVAL_SRC
301 instead of intervals.h.
302
d704470f
AS
3032008-12-26 Andreas Schwab <schwab@suse.de>
304
305 * keymap.c (map_keymap_char_table_item): Make a copy of KEY if it is a
306 cons.
307
54b33868
MR
3082008-12-26 Martin Rudalics <rudalics@gmx.at>
309
310 * textprop.c (Qminibuffer_prompt): New variable.
311 (syms_of_textprop): Initialize it.
312 * callint.c (Fcall_interactively): For `c', `k', and `K' prompt
313 in minibuffer-prompt face. (Bug#1662)
314
40b615d6
JR
3152008-12-25 Jason Rumney <jasonr@gnu.org>
316
317 * buffer.c (Fbuffer_swap_text): Use POINTER_TYPE.
318
baae5c2d
JR
3192008-12-24 Jason Rumney <jasonr@gnu.org>
320
321 * ralloc.c (r_alloc_reset_variable): New function.
322
323 * buffer.c (Fbuffer_swap_text) [REL_ALLOC]: Reset ralloc's internal
9acef61c 324 record of what points where. (Bug#716)
baae5c2d 325
a9051c88
DN
3262008-12-22 Dan Nicolaescu <dann@ics.uci.edu>
327
328 * minibuf.c (read_minibuf): Follow the non-interactive case when
329 running as a daemon, before detaching.
330
8b146312
AS
3312008-12-22 Andreas Schwab <schwab@suse.de>
332
333 * buffer.c (init_buffer): Use realloc instead of xrealloc.
334 * gtkutil.c (free_widget_value): Use xfree instead of free.
335
56f2de10
MR
3362008-12-22 Martin Rudalics <rudalics@gmx.at>
337
338 * frame.c (delete_frame): New function derived from
339 Fdelete_frame to handle Qnoelisp value for FORCE argument.
340 Delete last frame iff FORCE equals Qnoelisp. (Bug#1450)
341 (Fdelete_frame): Call delete_frame. Remove line from doc-string
342 saying that FORCE non-nil doesn't run `delete-frame-functions'.
343 * frame.h: Extern delete_frame.
344 * window.c (window_loop):
345 * terminal.c (delete_terminal):
346 * xterm.c (x_connection_closed):
347 * xfns.c (Fx_hide_tip):
9acef61c 348 * w32fns.c (Fx_hide_tip): Call delete_frame instead of Fdelete_frame.
56f2de10 349
1fc200d6
JR
3502008-12-21 Jason Rumney <jasonr@gnu.org>
351
352 * w32uniscribe.c (uniscribe_encode_char): Return FONT_INVALID_CHAR
353 when character maps to .notdef character.
354
5e252df2
SM
3552008-12-21 Stefan Monnier <monnier@iro.umontreal.ca>
356
357 * keyboard.c (cmd_error_internal): Don't exit in daemon mode, bug#1310.
358
99b72cc4
JR
3592008-12-20 Jason Rumney <jasonr@gnu.org>
360
361 * frame.c (Fmake_terminal_frame): Raise an error when called from
9acef61c 362 a graphical frame on Windows. (Bug#1325)
99b72cc4 363
acc49a52
JD
3642008-12-20 Jan Djärv <jan.h.d@swipnet.se>
365
366 * frame.c (Fdelete_frame): Set f->menu_bar_vector to Qnil.
367
6ea15123
CY
3682008-12-20 Chong Yidong <cyd@stupidchicken.com>
369
370 * minibuf.c (Fread_buffer): Doc fix.
371
b2dab6c8
JR
3722008-12-20 Jason Rumney <jasonr@gnu.org>
373
54ea0c87 374 * fileio.c (Fexpand_file_name): Do not allow ../ to go beyond the
9acef61c 375 server name in UNC paths. (Bug#719)
54ea0c87 376
b2dab6c8 377 * coding.c (decode_coding): Clear chars_at_source flag when using
9acef61c 378 charbuf. (Bug#1035)
b2dab6c8 379
6d1921be
DN
3802008-12-19 Daniel Engeler <engeler@gmail.com>
381
382 * sysdep.c (serial_configure): Fix typo.
383
53934c98
DN
3842008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
385
386 * sysdep.c: Include alloca.h.
f4f634e8
DN
387 (system_process_attributes): Add implementation for Solaris.
388
389 * s/sol2-10.h (HAVE_PROCFS, _STRUCTURED_PROC): New defines.
53934c98 390
06e111a6
DN
3912008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
392
393 Reorganize implementation of Flist_system_processes and
394 Fsystem_process_attributes. No functional changes.
395 * process.c: Don't #include pwd.h, grp.h and limits.h.
396 (Flist_system_processes): Just call list_system_processes.
397 (Fsystem_process_attributes): Just call system_process_attributes.
398 (procfs_list_system_processes, time_from_jiffies)
399 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
400 (procfs_get_total_memory, procfs_system_process_attributes): Move ...
401
402 * sysdep.c: ... here. Include pwd.h, grp.h and limits.h.
403 (list_system_processes): Rename from
404 procfs_list_system_processes. Enclose in #ifdef HAVE_PROCFS.
405 Provide a do nothing implementation.
406 (system_process_attributes): Rename from
407 procfs_list_system_processes.
408 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
9acef61c 409 (procfs_get_total_memory): Enclose in #ifdef GNU_LINUX.
06e111a6
DN
410
411 * w32.c (list_system_processes): Rename from
412 w32_list_system_processes.
413 (system_process_attributes): Rename from
414 w32_system_process_attributes.
415
416 * s/gnu-linux.h (LISTPROC, PROCATTR): Remove.
417
418 * process.h (w32_list_system_processes)
419 (w32_system_process_attributes): Remove.
420 (list_system_processes, system_process_attributes): New
421 prototypes.
422
6a705b23
KH
4232008-12-19 Kenichi Handa <handa@m17n.org>
424
425 * xfont.c (xfont_decode_coding_xlfd): New function.
426 (xfont_encode_coding_xlfd): New function.
427 (xfont_list_pattern): Decode XLFD by iso-8859-1.
428 (xfont_list): Decode and encode XLFD by iso-8859-1.
429 (xfont_match): Likewise.
430 (xfont_list_family): Likewise.
431 (xfont_open): Likewise.
432
d66c0241 433 * ftfont.c (ftfont_open): Generate a multibyte string if given
6a705b23
KH
434 names are utf-8.
435
d66c0241 436 * xftfont.c (xftfont_open): Generate a multibyte string if given
6a705b23
KH
437 names are utf-8.
438
5a130941
JD
4392008-12-18 Jan Djärv <jan.h.d@swipnet.se>
440
441 * gtkutil.c (xg_frame_resized): Remove check if rows/columns have
442 changed.
bfd20325
JD
443 (xg_tool_bar_proxy_callback): Put focus on the frame after we have
444 clicked on a detached tool bar button.
5a130941 445
fd95644b
DN
4462008-12-18 Dan Nicolaescu <dann@ics.uci.edu>
447
448 * emacs.c (main): Print and error and exit when no data is read
449 from the pipe.
450
e6eee6ae
JR
4512008-12-17 Jason Rumney <jasonr@gnu.org>
452
453 * w32font.c (w32font_has_char): Always return -1.
454
a35dd56b
KH
4552008-12-16 Kenichi Handa <handa@m17n.org>
456
457 * font.c (font_open_entity): Fix previous change.
458
0e3635c2
DN
4592008-12-16 Dan Nicolaescu <dann@ics.uci.edu>
460
461 * process.c: Include <limits.h>.
462
d4835507 4632008-12-16 Chetan Pandya <pandyacus@sbcglobal.net> (tiny change)
b5356c39
CY
464
465 * font.c (font_update_drivers): Fix mistake in reconstructing the
466 driver list.
467
4682008-12-16 Chong Yidong <cyd@stupidchicken.com>
469
470 * font.c (font_clear_cache): Fix format of font cache data.
471
e2cbc401
CY
4722008-12-15 Chong Yidong <cyd@stupidchicken.com>
473
474 * xftfont.c (xftfont_open): Free Xft font pattern if
475 XftFontOpenPattern fails.
476
477 * xterm.c (x_free_frame_resources): Remove extraneous call to
478 free_frame_faces.
479
b131d535
CY
4802008-12-13 Chong Yidong <cyd@stupidchicken.com>
481
482 * xterm.c (x_delete_display): Move xim_close_dpy call to
483 x_delete_terminal.
484 (x_delete_terminal): Call xim_close_dpy.
485
e6df5336
JR
4862008-12-13 Jason Rumney <jasonr@gnu.org>
487
488 * w32font.c (intern_font_name): New function.
489 (add_font_name_to_list, w32_enumfont_pattern_entity): Use it.
490 (w32font_open_internal, Fx_select_font): Decode font name.
491 (fill_in_logfont, list_all_matching_fonts): Encode font name.
492
493 * w32font.h (intern_font_name): Declare new function.
494
495 * w32uniscribe.c (add_opentype_font_name_to_list):
496 Use intern_font_name.
497
20d68145
CY
4982008-12-13 Chong Yidong <cyd@stupidchicken.com>
499
9f2554de
CY
500 * frame.c (Fdelete_frame): Call free_font_driver_list.
501
3d9bec9a
CY
502 * font.c (free_font_driver_list): Implement missing function.
503
20d68145
CY
504 * w32term.c (w32_term_init): Don't initialize the image cache
505 here; it will be done in init_frame_faces.
506
507 * xterm.h (struct xim_inst_t): Definition moved from xterm.c.
508 (struct x_display_info): Remove unused member null_pixel. New
509 member xim_callback_data.
510
511 * xterm.c (struct xim_inst_t): Definition moved to xterm.h.
512 (xim_initialize): Save pointer to callback function data.
513 (xim_close_dpy): Free callback function data. Call XCloseIM,
514 reverting 2008-11-04 change by David Smith.
515 (x_term_init): Don't initialize the image cache here; it will be
516 done in init_frame_faces. Remove ancient "null_pixel" cruft.
517 (x_delete_display): Free x_dnd_atoms member.
518
96f9306b
KH
5192008-12-13 Kenichi Handa <handa@m17n.org>
520
6dec9044
JB
521 * font.c (font_rescale_ratio): Moved from xfaces.c.
522 Argument type changed. Handle a font-spec too.
96f9306b 523 (font_score): Check Vface_font_rescale_alist.
6dec9044 524 (font_open_entity): Likewise. (Bug#1547)
96f9306b
KH
525
526 * xfaces.c (font_rescale_ratio): Moved to font.c.
527
8d5b4964
CY
5282008-12-13 Chong Yidong <cyd@stupidchicken.com>
529
530 * xfns.c (Fx_wm_set_size_hint): Check if the frame is an X frame.
531
e6df5336
JR
5322008-12-12 Jason Rumney <jasonr@gnu.org>
533
534 * w32fns.c (x_display_info_for_name, Fx_open_connection): Set
535 Vwindow_system_version to the real w32 major version.
536
97c6058a
DN
5372008-12-12 Dan Nicolaescu <dann@ics.uci.edu>
538
539 * term.c (init_tty): Move setting the terminal name before the
540 potential user: maybe_fatal.
541
ec4e88d7
CY
5422008-12-11 Chong Yidong <cyd@stupidchicken.com>
543
d4835507
JB
544 * term.c (tty_free_frame_resources): Renamed from delete_tty_output;
545 all callers changed. Call free_frame_faces to free the face cache.
ec4e88d7 546
b4233ec9
JR
5472008-12-11 Jason Rumney <jasonr@gnu.org>
548
8ec71e23 549 * w32font.c (fill_in_logfont): Don't assume symbol script means
9acef61c 550 SYMBOL_CHARSET. (Bug#547)
8ec71e23 551
b4233ec9 552 * w32uniscribe.c (uniscribe_encode_char): Increase glyph buffer
9acef61c 553 size for surrogates. (Bug#1096, bug#872)
b4233ec9 554
011a0143
JB
5552008-12-11 Juanma Barranquero <lekktu@gmail.com>
556
557 * w32proc.c (Fw32_get_locale_info): Decode long form of locale name.
558
3c309f34
JB
5592008-12-11 Juanma Barranquero <lekktu@gmail.com>
560
561 * process.c (Fsystem_process_attributes, syms_of_process):
562 Fix typo in name of Ssystem_process_attributes.
563 Reported by Ulrich Mueller <ulm@kph.uni-mainz.de>.
564
fedc6ab5
JB
5652008-12-11 Juanma Barranquero <lekktu@gmail.com>
566
567 * syntax.c (Fmodify_syntax_entry): Doc fix.
568
ba3de0e8
JB
5692008-12-10 Juanma Barranquero <lekktu@gmail.com>
570
571 * font.c (Ffont_spec): Move usage to end of docstring.
572
174f1c74
JR
5732008-12-10 Jason Rumney <jasonr@gnu.org>
574
575 * w32font.c (Qcham): New symbol.
576 (font_supported_scripts): Add cham, and comments for other new
577 scripts in bitfield from OpenType spec.
9d32f818
JR
578 (add_font_entity_to_list): Limit unicode-sip fonts to those that
579 contain characters beyond the bmp.
174f1c74 580
7b649478
KH
5812008-12-10 Kenichi Handa <handa@m17n.org>
582
583 * ftfont.c (fc_charset_table): Add "unicode-sip".
2ae37cf0 584 (ftfont_spec_pattern): Lookup fc_charset_table for the registry
7b649478
KH
585 Qunicode_sip.
586
2133e2d1
JB
5872008-12-10 Juanma Barranquero <lekktu@gmail.com>
588
589 * coding.c (QCdefault_char): Rename from QCdefalut_char.
590 (Fcoding_system_put): Use QCdefault_char.
591 (syms_of_coding): Set QCdefault_char, not QCdefalut_char.
592
9af886ee
CY
5932008-12-09 Chong Yidong <cyd@stupidchicken.com>
594
74d819eb
CY
595 * xftfont.c (syms_of_xftfont): Fix typo.
596
4ccfa1c0 597 * buffer.c (Fbuffer_swap_text): Signal error if swapping a dead buffer.
9af886ee 598
7c19d3ae
DN
5992008-12-08 Dan Nicolaescu <dann@ics.uci.edu>
600
601 * emacs.c (main): Close daemon_pipe on exec.
602
567826bb
CY
6032008-12-08 Chong Yidong <cyd@stupidchicken.com>
604
605 * termchar.h (struct tty): New members termcap_term_buffer and
606 termcap_strings_buffer.
607
608 * term.c (encode_terminal_code): Free any previous memory blocks
4ccfa1c0 609 before calling xmalloc for encode_terminal_src or encode_terminal_dst.
567826bb
CY
610 (maybe_fatal): Buffer argument deleted. Don't free buffer here.
611 All callers changed.
612 (init_tty): Store termcap data and string buffers in new struct
613 tty members termcap_term_buffer and termcap_strings_buffer.
614 (delete_tty): Free them.
4ccfa1c0 615 (syms_of_term): Initialize encode_terminal_src and encode_terminal_dst.
567826bb 616
aa96c42b
SZ
6172008-12-07 Seiji Zenitani <zenitani@mac.com>
618
619 * nsfns.m (ns_set_background_color): Remove code duplication.
4ccfa1c0 620 It was a substitute for face-transparency on OS X 10.3.
aa96c42b 621
b7e1d896
CY
6222008-12-06 Chong Yidong <cyd@stupidchicken.com>
623
624 * coding.c (make_conversion_work_buffer): Disable buffer
625 modification hooks in the work buffer.
626
b5ec91a5
EZ
6272008-12-05 Eli Zaretskii <eliz@gnu.org>
628
629 * process.c (procfs_system_process_attributes): If `nread' has a
630 negative value, assign zero to it.
631
a5d2a52b
CY
6322008-12-05 Chong Yidong <cyd@stupidchicken.com>
633
68c5540b 634 * eval.c (Vdebug_on_error): Doc fix.
a5d2a52b 635
7bf1bb21
KH
6362008-12-05 Kenichi Handa <handa@m17n.org>
637
638 * ftfont.c (ftfont_shape_by_flt): Use "combining" flt if the
639 second character is a combining character.
640
2fdc7d00
EZ
6412008-12-05 Eli Zaretskii <eliz@gnu.org>
642
643 * process.c (procfs_system_process_attributes): Don't use cmd,
644 cmdsize, and q without initializing them first.
645
bf6bfba8
JR
6462008-12-04 Jason Rumney <jasonr@gnu.org>
647
648 * w32font.c (w32font_draw): Initialize orig_clip before getting
649 it, and delete it when finished.
650
a3b1a468
DN
6512008-12-04 Dan Nicolaescu <dann@ics.uci.edu>
652
653 * keyboard.c (kbd_buffer_get_event): Follow the non-interactive
654 case when running as a daemon before detaching.
655
8b8be8eb
JB
6562008-12-03 Juanma Barranquero <lekktu@gmail.com>
657
805f2638 658 * w32.c (init_environment): Don't unload library shell32.dll.
8b8be8eb 659
b1bde622
KH
6602008-12-03 Kenichi Handa <handa@m17n.org>
661
e500c47d
KH
662 * font.c (font_at): Set `multibyte' at first.
663
ca516334
KH
664 * coding.c (decode_coding_charset): Check type of an element of
665 vector VALIDS.
7bf1bb21 666 (encode_coding_emacs_mule): Be sure to set `code'.
ca516334 667
4ccfa1c0 668 * fontset.c (face_for_char): Handle invalid charset property correctly.
b1bde622
KH
669 (font_for_char): Likewise.
670
1e5ecd37
CY
6712008-12-03 Chong Yidong <cyd@stupidchicken.com>
672
d5b01609 673 * font.c (Fopen_font): Compute pixel size correctly.
ba207571
CY
674 (font_update_lface): Handle fonts with corrupted size specs,
675 i.e. non-int and non-float.
d5b01609 676
11e3a6e4 677 * ftfont.c (ftfont_match): Initialize entity variable.
9a48c8cb 678 (ftfont_resolve_generic_family): Avoid using uninitialized var.
8adb3a3b 679 (ftfont_list_family): Initialize list var earlier.
11e3a6e4 680
ab06788b
CY
681 * xselect.c (Fx_get_cut_buffer_internal): Fix memory leak.
682
1e5ecd37 683 * xterm.c (x_draw_glyph_string): Fall back on
0cff82ab 684 underline_minimum_offset for underline position.
1e5ecd37 685
63c125ab
DN
6862008-12-03 Dan Nicolaescu <dann@ics.uci.edu>
687
688 * keyboard.c (read_char_help_form_unwind): Specify the type for ARG.
689
690 * character.c (c_string_width): Specify the type for LEN.
691
3a8406e1
KH
6922008-12-03 Kenichi Handa <handa@m17n.org>
693
4ccfa1c0 694 * coding.c (decode_coding_utf_16): Initialize consumed_chars_base to 0.
453b38f0 695 (decode_coding_utf_8): Likewise.
4ccfa1c0 696 (detect_coding_system): Initialize utf_16_le_eol to -1, val to Qnil.
4533845d 697 (produce_chars): Initialize consumed_chars to 0.
3a8406e1 698
651df7d9
CY
6992008-12-02 Chong Yidong <cyd@stupidchicken.com>
700
701 * keyboard.c (make_lispy_position): Only use PT if the selected
702 window is current.
703
1f625c6c
AS
7042008-12-02 Andreas Schwab <schwab@suse.de>
705
f7741ce9
AS
706 * font.c (font_unparse_fcname): Fix use of uninitialized variable.
707
1f625c6c
AS
708 * doprnt.c (doprnt1): Fix size of charbuf.
709
92bc2678
CY
7102008-12-02 Chong Yidong <cyd@stupidchicken.com>
711
712 * keyboard.c (timer_check): Revert last change.
713
93b9e8cc
JB
7142008-12-02 Juanma Barranquero <lekktu@gmail.com>
715
716 * makefile.w32-in ($(BLD)/w32console.$(O)): Fix silly, silly typo.
717
fd7a37d5
JB
7182008-12-01 Juanma Barranquero <lekktu@gmail.com>
719
720 * makefile.w32-in: Update dependencies.
721 (CONFIG_H): Add $(EMACS_ROOT)/nt/inc/sys/time.h.
722
c115043b
AS
7232008-12-01 Andreas Schwab <schwab@suse.de>
724
725 * font.c (register_font_driver): Use xmalloc.
726 (font_put_frame_data): Likewise.
727
f5668d2a
CY
7282008-12-01 Chong Yidong <cyd@stupidchicken.com>
729
860d96be
CY
730 * xfaces.c (realize_x_face): Make abort condition clearer.
731
f5668d2a
CY
732 * gtkutil.c (update_frame_tool_bar): Initialize variable.
733
379c17e7
CY
7342008-11-30 Chong Yidong <cyd@stupidchicken.com>
735
736 * keyboard.c (timer_check): After a timer runs, ensure that the
737 selected window's buffer is current.
738
35f36d65
JB
7392008-11-30 Juanma Barranquero <lekktu@gmail.com>
740
f952c61c
JB
741 * makefile.w32-in ($(BLD)/abbrev.$(O)): Remove.
742 It was accidentally restored by the Unicode merge.
743
35f36d65
JB
744 * w32proc.c (Fw32_get_locale_info): Fix typo in docstring.
745
b23077df
JB
7462008-11-29 Juanma Barranquero <lekktu@gmail.com>
747
748 * w32proc.c: Include "coding.h".
749 (Fw32_short_file_name): Encode filename passed to Windows API.
750 (Fw32_long_file_name): Encode filename passed to Windows API and
751 decode back the result. (Bug#1433)
752
b8ebe9dd
KH
7532008-11-29 Kenichi Handa <handa@m17n.org>
754
8cc53f96
KH
755 * charset.h (CHAR_CHARSET_P): Check if the encoder is loaded or
756 not before accessing it.
757
b8ebe9dd
KH
758 * charset.c (Fdefine_charset_internal): After calculating
759 min_char, max_char, and fastmap, copy the charset structure again.
760 (encode_char): Fix the previous change.
761
59bc82c0
SZ
7622008-11-28 Seiji Zenitani <zenitani@mac.com>
763
764 * frame.c (x_set_alpha) [NS_IMPL_COCOA]: Call x_set_frame_alpha.
765
766 * nsfns.m (ns_frame_parm_handlers): Set alpha handler.
767
768 * nsterm.m (x_set_frame_alpha): New function.
769
32247e3d
EZ
7702008-11-27 Eli Zaretskii <eliz@gnu.org>
771
772 * xfaces.c (Fx_font_family_list, syms_of_xfaces): Fix last change.
773
b003e5ff
JB
7742008-11-27 Juanma Barranquero <lekktu@gmail.com>
775
776 * w32font.c (add_font_entity_to_list): Pass the right LOGFONT
777 pointer to check_face_name.
778
708550f5
KH
7792008-11-27 Kenichi Handa <handa@m17n.org>
780
781 * category.h (SET_CATEGORY_SET): Call set_category_set.
782 (set_category_set): Extern it.
783
784 * category.c (hash_get_category_set): New function.
785 (Fmodify_category_entry): Adjusted for the change of
786 char_table_ref_and_range. Call hash_get_category_set to get a
787 category set to store in the table.
788
789 * character.h (MAYBE_UNIFY_CHAR): Call maybe_unify_char instead of
790 Funify_charset.
791
2ae37cf0 792 * charset.h (enum charset_method): Delete CHARSET_METHOD_MAP_DEFERRED.
708550f5
KH
793 (DECODE_CHAR): Check if the decoder vector is ready.
794 (ENCODE_CHAR): Check if the encoder char-table is ready.
795 (maybe_unify_char): Extern it.
796
797 * charset.c (Vchar_unified_charset_table): Delete it.
798 (inhibit_load_charset_map): New variable.
799 (temp_charset_work): New variable.
800 (SET_TEMP_CHARSET_WORK_ENCODER, GET_TEMP_CHARSET_WORK_ENCODER)
801 (SET_TEMP_CHARSET_WORK_DECODER, GET_TEMP_CHARSET_WORK_DECODER):
802 New macros.
803 (load_charset_map): Meaning of control_flag changed. If
804 inhibit_load_charset_map is nonzero, setup a table in
805 temp_charset_work.
806 (load_charset): New argument control_flag.
807 (map_charset_for_dump): New function.
808 (map_charset_chars): If inhibit_load_charset_map is nonzero, use
809 map_charset_for_dump.
810 (Fdefine_charset_internal): If the charset method is MAP, load
811 mapping tables by calling load_charset.
812 (Funify_charset): Don't load a mapping table but directly set
813 Vchar_unify_table.
814 (maybe_unify_char): New function.
815 (decode_char): Don't handle the deleted method MAP_DEFERRED.
816 Handle the case of inhibit_load_charset_map being nonzero.
817 (encode_char): Don't handle the deleted method MAP_DEFERRED.
818 Handle the case of inhibit_load_charset_map being nonzero.
819 (Fclear_charset_maps): Just free temp_charset_work.
820 (syms_of_charset): Make `inhibit-load-charset-map' a Lisp
821 variable.
822
823 * chartab.c (sub_char_table_ref_and_range): Adjusted for the
824 change of char_table_ref_and_range.
825 (char_table_ref_and_range): Change the meaning of argument FROM
826 and TO. Now the caller must provide initial values for *FROM
827 and *TO.
828
829 * fontset.c (fontset_add): Adjusted for the change of
830 char_table_ref_and_range.
831 (fontset_get_font_group): Likewise.
832 (Ffontset_info): Likewise.
833
834 * keymap.c (describe_vector): Adjusted for the change of
835 char_table_ref_and_range. For char-table, put boundary between
836 non-ASCII and 8-bit characters.
837
838 * print.c (print_object): For bool-vector, delete unnecessary
839 check of ASCII_BYTE_P.
840
9196133b
JR
8412008-11-26 Jason Rumney <jasonr@gnu.org>
842
843 * w32font.c (w32font_open_internal): Don't include external
9acef61c 844 leading in font height. (Bug#879)
9196133b 845
9f688acf
GM
8462008-11-26 Glenn Morris <rgm@gnu.org>
847
848 * xfaces.c (Fx_font_family_list): Replace lisp/term/pc-win.el
849 redefinition with ifdef. (Bug#1383)
850
90d19aff
AR
8512008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
852
853 * nsterm.m (ns_get_color): Handle long hex strings (fixes bug #1044).
854
4ccfa1c0 8552008-11-24 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
90d19aff
AR
856
857 * nsterm.m (-otherMouseDown:, -otherMouseUp:, -otherMouseDragged):
858 New EmacsView methods.
859 (EV_UDMODIFIERS, EV_BUTTON): Add OtherMouse constants.
860 Fixes bug #1048,1357,1414.
861
8622008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
863
864 Fix bug #1362.
865 * image.c (x_clear_image_1): Do not free background under HAVE_NS, it
866 is not an indexed color.
867 * nsterm.m (free_indexed_color): Add argument checking.
868 * nsfns.m: Move config.h to before system includes (advised by Dan N.).
869
e7d5ecb3
CY
8702008-11-24 Chong Yidong <cyd@stupidchicken.com>
871
872 * minibuf.c (Fcompleting_read, Vminibuffer_completion_confirm):
873 Document confirm-after-completion value for
874 minibuffer-completion-confirm.
875
c285743c
JR
8762008-11-24 Jason Rumney <jasonr@gnu.org>
877
878 * w32font.c (check_face_name): Use xstrcasecmp. Avoid compiler
879 warning.
880
b0857706
JR
8812008-11-23 Jason Rumney <jasonr@gnu.org>
882
883 * w32uniscribe.c (uniscribe_encode_char): Ensure context is
884 restored before returning.
885
886 * w32font.c (check_face_name): New function.
887 (add_font_entity_to_list): Use it to filter out common substituted
9acef61c 888 fonts. (Bug#642)
b0857706 889
ee50ff07
MR
8902008-11-22 Martin Rudalics <rudalics@gmx.at>
891
892 * buffer.c (Fswitch_to_buffer): Reword and mention new option
893 confirm-nonexistent-file-or-buffer in doc-string.
894
b8ff72fa
SM
8952008-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
896
897 * buffer.c (Fbuffer_swap_text): Remove redundant marker manipulation.
898 Fix copy/paste typo. Add checks.
899
cee53ed4
KH
9002008-11-21 Kenichi Handa <handa@m17n.org>
901
902 * coding.c (detect_coding_iso_2022): Reject invalid composition
903 sequence.
904 (DECODE_COMPOSITION_START): If the current source is the last
905 block, and the current composition doesn't end, regard this
906 sequence as invalid.
907 (decode_coding_iso_2022): Handle invalid composition sequence.
908
f6ef1e65
MR
9092008-11-20 Martin Rudalics <rudalics@gmx.at>
910
911 * window.c (coordinates_in_window): Don't return
912 ON_VERTICAL_BORDER for the rightmost position of a mode/header
913 line when the window is not the rightmost one. (Bug#1372)
914
e08b1705
MR
9152008-11-16 Ben North <ben@redfrontdoor.org> (tiny change)
916
917 * buffer.c (syms_of_buffer): Fix doc-string of cursor-type.
918
ad98e89f
EZ
9192008-11-15 Eli Zaretskii <eliz@gnu.org>
920
921 * msdos.c (run_msdos_command): Don't call dos_ttcooked, dos_ttraw,
922 and bright_bg if noninteractive is non-zero.
923
fb098a4b
CY
9242008-11-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
925
926 * xterm.c (x_draw_glyph_string): For stretch glyphs, don't call
927 x_draw_glyph_string_background.
928
929 * w32term.c (x_draw_glyph_string): Likewise.
930
ce952b6e
CY
9312008-11-15 Chong Yidong <cyd@stupidchicken.com>
932
933 * xterm.c (x_draw_glyph_string): Stop drawing the background of
934 the next glyph string once past the overhang width.
935
936 * nsterm.m (ns_draw_glyph_string): Likewise.
937
938 * w32term.c (x_draw_glyph_string): Likewise.
939
26ea7079
CY
9402008-11-14 Fabrice Popineau <fabrice.popineau@supelec.fr> (tiny change)
941
942 * fileio.c (Finsert_file_contents): Decrement specpdl_ptr to avoid
943 double file close.
944
1c33c906
MR
9452008-11-14 Martin Rudalics <rudalics@gmx.at>
946
947 * window.c (window_loop): In DELETE_BUFFER_WINDOWS case, reset
948 dedicated status of window before attempting to display another
949 buffer in it.
950
8fc29035
JB
9512008-11-14 Juanma Barranquero <lekktu@gmail.com>
952
953 * msdos.c (Fmsdos_long_file_names):
954 (syms_of_msdos) <dos-unsupported-char-glyph>:
955 * dosfns.c (Fint86): Fix typos in docstrings.
956
55fb4286
EZ
9572008-11-14 Eli Zaretskii <eliz@gnu.org>
958
959 * makefile.w32-in (OBJ1, WIN32OBJ): Fix whitespace.
960
3fda0315
KY
9612008-11-14 Katsumi Yamaoka <yamaoka@jpl.org>
962
963 * puresize.h (BASE_PURESIZE): Increase to 1260000.
964
7e849c17
CY
9652008-11-12 Michal Nazarewicz <mina86@tlen.pl> (tiny change)
966
967 * frame.c (x_set_alpha): Set alpha to -1 if nil given.
968
969 * frame.h: Negative alpha means "don't touch".
970
971 * w32term.c (x_set_frame_alpha): Do nothing if alpha is negative.
972
973 * xterm.c (x_set_frame_alpha): Do nothing if alpha is negative.
974
b9fd67bd
DN
9752008-11-12 Dan Nicolaescu <dann@ics.uci.edu>
976
977 * hftctl.c:
978 * chpdef.h:
979 * acldef.h: Remove files used only for systems no longer supported.
980
981 * Makefile.in: Fix .o alphabetical ordering.
982 (hftctl.o): Remove dependency, file removed.
983 (keymap.o, print.o): Depend on charset.h.
984
d5998e03
KH
9852008-11-10 Kenichi Handa <handa@m17n.org>
986
2ae37cf0 987 * character.c (Fget_byte): Fix and make it faster for unibyte target.
d5998e03 988
be70e183
CY
9892008-11-08 Chong Yidong <cyd@stupidchicken.com>
990
991 * dired.c (file_name_completion): If completion_ignore_case is
992 enabled, ignore case when checking completion-regexp-list.
993
7cf94eac
EZ
9942008-11-08 Eli Zaretskii <eliz@gnu.org>
995
996 * vm-limit.c (get_lim_data): Fix last change.
997
ee107a89
KH
9982008-11-08 Kenichi Handa <handa@m17n.org>
999
1000 * character.c (Fget_byte): New function.
1001 (syms_of_character): Defsubr Fget_byte.
1002
5fd15622
CY
10032008-11-07 Chong Yidong <cyd@stupidchicken.com>
1004
1005 * xdisp.c (try_window_reusing_current_matrix): Ensure that window
1006 cursor position is valid after scrolling.
1007
13d62fad
JB
10082008-11-06 Juanma Barranquero <lekktu@gmail.com>
1009
1010 * fns.c (Frandom): Rename arg N to LIMIT to match the docs; doc fix.
1011
a1dd2936
GM
10122008-11-06 Glenn Morris <rgm@gnu.org>
1013
1014 * xterm.c (handle_one_xevent): Don't let popup menus cause
1015 mouse-autoselect-window related window switching. (Bug#1261)
1016
860cd236
CY
10172008-11-04 David Smith <davidsmith@acm.org> (tiny change)
1018
1019 * xterm.c (xim_close_dpy): Avoid double-free on X11R6 XIM.
1020
653a3150
AS
10212008-11-04 Andreas Schwab <schwab@suse.de>
1022
1023 * xfns.c (Fx_wm_set_size_hint): Add missing return value.
1024
870f5cac
CY
10252008-11-03 Chong Yidong <cyd@stupidchicken.com>
1026
1027 * xfns.c (Fx_wm_set_size_hint): New function.
1028
1e02f3cb
MR
10292008-11-03 Martin Rudalics <rudalics@gmx.at>
1030
1031 * textprop.c (Fprevious_single_char_property_change): Return 0
1032 when there's no change in a string. (Bug#1301)
1033
e630dfc6
MR
10342008-11-02 Martin Rudalics <rudalics@gmx.at>
1035
1036 * frame.c (do_switch_frame): New argument NORECORD passed to
1037 Fselect_window.
1038 (Fselect_frame): New argument NORECORD passed to
1039 do_switch_frame.
1040 (Fset_frame_selected_window): New argument NORECORD passed to
1041 Fselect_frame.
1042 (Fhandle_switch_frame, Fdelete_frame): Handle NORECORD argument
1043 in call of do_switch_frame.
1044 (Fset_mouse_position, Fset_mouse_pixel_position, Fraise_frame):
1045 Handle NORECORD argument in call of Fselect_frame.
1046 * lisp.h (do_switch_frame, Fselect_frame)
1047 (Fset_frame_selected_window): Adjust declarations.
1048 * window.c (select_frame_norecord): New function.
1049 (run_window_configuration_change_hook): Use it and call
1050 Fselect_frame with NORECORD set.
1051 (Fselect_window): Pass NORECORD to Fselect_frame.
1052 (Fset_window_configuration): Handle NORECORD argument in call of
1053 do_switch_frame.
1054 * minibuf.c (choose_minibuf_frame): Handle NORECORD in call of
1055 Fset_frame_selected_window.
1056 * keyboard.c (command_loop_1): Handle NORECORD in call of
1057 Fselect_frame (currently ifdefd).
1058
9020b223
GM
10592008-11-02 Ulrich Mueller <ulm@kph.uni-mainz.de>
1060
1061 * emacs.c (USAGE2): Untabify.
1062
793ffee8
SM
10632008-11-01 Stefan Monnier <monnier@iro.umontreal.ca>
1064
1065 * composite.c (fill_gstring_header): Fix copy/paste typo.
1066
ab6d1131
MR
10672008-10-31 Martin Rudalics <rudalics@gmx.at>
1068
1069 * window.c (Fnext_window, Fprevious_window): Rewrite doc-string.
1070 (Fother_window): Rename argument and rewrite doc-string.
1071 (select_window_norecord): Fix return value. (Bug#1276)
1072
601a9cf1
JB
10732008-10-30 Juanma Barranquero <lekktu@gmail.com>
1074
1075 * w32fns.c (x_create_tip_frame): Prevent default foreground color for
1076 new frames overriding foreground for tooltips. Based on similar patch
1077 from Martin Rudalics <rudalics@gmx.at>. (Bug#1032)
1078
813b0652
CY
10792008-10-29 Chong Yidong <cyd@stupidchicken.com>
1080
1081 * emacs.c (Fdaemon_initialized): Initialize nfd.
1082
4414f58f
MR
10832008-10-29 Martin Rudalics <rudalics@gmx.at>
1084
1085 * window.c (Fwindow_height, Fdelete_window, set_window_buffer)
1086 (Fwindow_text_height): Clarify doc-strings.
1087 * xdisp.c (syms_of_xdisp): Mention set-window-buffer in
1088 doc-string of window-scroll-functions.
1089
ecdcaa09
RS
10902008-10-28 Reiner Steib <Reiner.Steib@gmx.de>
1091
1092 * category.c (syms_of_category): Fix typo in docstring.
1093
23fe745a
JB
10942008-10-28 Juanma Barranquero <lekktu@gmail.com>
1095
1096 * window.c (Fwindowp, Fwindow_live_p, Fwindow_minibuffer_p)
1097 (Fcoordinates_in_window_p, Fscroll_left, Fscroll_right):
1098 Fix typos in docstrings.
1099
ff808935
DN
11002008-10-28 Dan Nicolaescu <dann@ics.uci.edu>
1101
1102 * emacs.c (daemon_pipe): Make non-static.
1103 (IS_DAEMON): Move definition ...
1104 * lisp.h (IS_DAEMON): ... here.
1105 (daemon_pipe): Declare.
1106 (is_daemon): Remove.
1107 * dispnew.c (init_display): Use IS_DAEMON.
1108
fc012771
SM
11092008-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
1110
1111 * xdisp.c (pos_visible_p, redisplay_internal, message3_nolog)
1112 (message2_nolog): Check FRAME_INITIAL_P instead of noninteractively.
1113
1114 * emacs.c (is_daemon): Remove.
1115 (main): Don't set is_daemon.
1116 (IS_DAEMON): New macro.
1117 (Fdaemonp, Fdaemon_initialized): Use it.
601a9cf1 1118 (Fdaemon_initialized): Write a char into the pipe to make sure the
fc012771
SM
1119 parent exits.
1120 (syms_of_emacs): Explicitly initialize daemon_pipe[1].
1121
d8bdbe6f
CY
11222008-10-27 Chong Yidong <cyd@stupidchicken.com>
1123
d1a072bf
CY
1124 * nsterm.m (ns_draw_window_cursor): When hbar cursor is on
1125 over-sized glyph, draw it with the default glyph width.
1126
e2e325aa
CY
1127 * w32term.c (x_draw_bar_cursor): When hbar cursor is on over-sized
1128 glyph, draw it with the default glyph width.
1129
1130 * xterm.c (x_draw_bar_cursor): When hbar cursor is on over-sized
1131 glyph, draw it with the default glyph width.
1132
d8bdbe6f
CY
1133 * xdisp.c (try_scrolling): When computing the distance from the
1134 scroll margin to PT, try moving some distance past the window
1135 bottom before giving up.
1136
7bfac547
MR
11372008-10-27 Martin Rudalics <rudalics@gmx.at>
1138
1139 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p)
1140 (Fset_window_buffer): Explain in doc-string that a window can be
1141 "strongly" dedicated to its buffer.
1142
4ff029f6
DN
11432008-10-27 Dan Nicolaescu <dann@ics.uci.edu>
1144
1145 * emacs.c (daemon_name): New variable.
1146 (main): Deal with --daemon=SERVER_NAME.
1147 (Fdaemonp): Return a name if one was passed to --daemon.
1148
5790ef40
DN
11492008-10-26 Romain Francoise <romain@orebokech.com>
1150
f9bd0df9 1151 * emacs.c (daemon_pipe): New variable.
5790ef40
DN
1152 (main): Create a pipe before forking, make the parent exit only after
1153 the child has closed its end of the pipe. Move closing the
1154 descriptors ...
1155 (Fdaemon_initialized): ... here. New function.
1156
f5385255
SM
11572008-10-26 Stefan Monnier <monnier@iro.umontreal.ca>
1158
4d632321
SM
1159 * chartab.c (Foptimize_char_table): Make sure `ascii' doesn't point to
1160 the previous unoptimized table.
1161
f5385255
SM
1162 * window.c (Fset_window_buffer): Undo 2008-10-18 change to re-instate
1163 the distinction between non-nil and non-t value of `dedicated'.
1164
6c56a0f3
CY
11652008-10-25 Chong Yidong <cyd@stupidchicken.com>
1166
1167 * keyboard.c (read_char_minibuf_menu_prompt): Ensure that
f5385255 1168 read_char_minibuf_menu_text is large enough to hold the menu string.
6c56a0f3 1169
fec89261
MR
11702008-10-25 Martin Rudalics <rudalics@gmx.at>
1171
1172 * window.c (Fget_buffer_window, Fdelete_windows_on)
1173 (Freplace_buffer_in_windows): Make buffer argument optional and
1174 rename to buffer_or_name.
1175
34fcddd0
CY
11762008-10-24 Chong Yidong <cyd@stupidchicken.com>
1177
f5385255
SM
1178 * xdisp.c (handle_single_display_spec, handle_display_prop):
1179 Undo 2005-05-16 change.
34fcddd0
CY
1180 (handle_stop): Pop iterator if it's loaded with an empty string.
1181 (get_overlay_strings_1): Don't save iterator if it's loaded with
1182 an empty string (bug#1201).
1183
064766f2
KH
11842008-10-24 Kenichi Handa <handa@m17n.org>
1185
1186 * ftfont.c (ftfont_otf_features): Fix previous change.
1187 (ftfont_otf_capability): Check FeatureList.FeatureCount before
1188 calling ftfont_otf_features.
1189
f9bd0df9 11902008-10-24 Kenichi Handa <handa@m17n.org>
064766f2
KH
1191
1192 * font.c (font_match_p): Fix for the case that a vector of
1193 characters is in script-representative-chars.
1194
1dae9197
MA
11952008-10-24 Michael Albinus <michael.albinus@gmx.de>
1196
1197 * dbusbind.c (xd_in_read_queued_messages): New variable.
f5385255 1198 (XD_SIGNAL1, XD_SIGNAL2, XD_SIGNAL3): New macros. Throw Qdbus_error.
1dae9197
MA
1199 (xd_read_queued_messages): Catch Qdbus_error from the macros.
1200 (all): Replace xsignal1, xsignal2, xsignal3 by the respective
1201 macro. (Bug#1186).
1202
f9bd0df9 12032008-10-23 Ali Bahrami <ali_gnu@emvision.com> (tiny change)
9b3362b8
DN
1204
1205 * s/sol2-10.h: New file.
1206
878a4584
JB
12072008-10-23 Juanma Barranquero <lekktu@gmail.com>
1208
1209 * xdisp.c (fill_glyph_string): Fix typo in source (though the
1210 poor beast has survived 9+ years and the jump from xterm.c!).
1211
cd265ca6
MR
12122008-10-23 Martin Rudalics <rudalics@gmx.at>
1213
1214 * buffer.c (Fget_buffer_create): Rename arg to buffer_or_name.
1215 Reword doc-string.
f5385255 1216 (Fbury_buffer): In doc-string say what happens to the buffer's window.
cd265ca6 1217
472a4dc9
JB
12182008-10-23 Juanma Barranquero <lekktu@gmail.com>
1219
1220 * character.c (syms_of_character) <script-representative-chars>:
1221 <unicode-category-table>: Doc fixes.
1222
159bd5a2
NF
12232008-10-23 Noah Friedman <friedman@splode.com>
1224
1225 * coding.c (make_conversion_work_buffer): Check that
1226 Vcode_conversion_reused_workbuf is a live buffer, otherwise call
1227 Fget_buffer_create.
1228
49f9c344
KH
12292008-10-23 Kenichi Handa <handa@m17n.org>
1230
1231 * font.c (font_add_log): Check the values of extra properties.
1232
12bb3111
MR
12332008-10-22 Martin Rudalics <rudalics@gmx.at>
1234
1235 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
1236 Reword doc-string.
1237 (Fset_window_parameter): Use NILP.
1238 (Fscroll_up, Fscroll_down, Fminibuffer_selected_window)
f5385255 1239 (Frecenter): Use "selected" instead of "current" window in doc-strings.
12bb3111 1240
bbeb4e99
JB
12412008-10-22 Juanma Barranquero <lekktu@gmail.com>
1242
1243 * xdisp.c (next_element_from_buffer): Remove bogus xassert condition.
1244
12452008-10-22 Adrian Robert <Adrian.B.Robert@gmail.com>
cb83c00b
AR
1246
1247 * nsfns.m (ns_appkit_version): New function.
1248 (x-server-version): Use it.
1249 (syms_of_nsfns): Define ns-version-string here, not nsterm.m.
1250 (x-server-vendor): Don't check_ns().
1251
1252 * nsterm.m (syms_of_nsterm): Drop ns-version-string.
1253
a9b555d3
JB
12542008-10-22 Juanma Barranquero <lekktu@gmail.com>
1255
1256 * w32fns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert.
1257 Copied from 2005-02-03 change to xfns.c by Kim F. Storm.
1258
4626499f
KH
12592008-10-22 Kenichi Handa <handa@m17n.org>
1260
e3681952
KH
1261 * syntax.c (scan_words): Call word_boundary_p instead of comparing
1262 scripts.
1263
4626499f
KH
1264 * category.c (word_boundary_p): Check scripts instead of charset.
1265 Handle nil value in word-separating-categories and
1266 word-combining-categories.
1267 (syms_of_category): Fix docstrings of word-separating-categories
1268 and word-combining-categories.
1269
1560f91a
EZ
12702008-10-21 Eli Zaretskii <eliz@gnu.org>
1271
1272 * coding.c (Fencode_coding_region, Fdecode_coding_region)
1273 (Fdecode_coding_string, Fencode_coding_string): Doc fix.
1274
f4668441
MR
12752008-10-21 Martin Rudalics <rudalics@gmx.at>
1276
1277 * buffer.c (Fget_buffer, Fbury_buffer, switch_to_buffer_1):
1278 Rename arg "buffer" to "buffer_or_name".
1279 (Fkill_buffer): Rename arg "buffer" to "buffer_or_name" and make
1280 it optional.
1281 (no_switch_window): Remove since the return value is not used.
a9b555d3 1282 (Fswitch_to_buffer): Rename arg "buffer" to "buffer_or_name".
f4668441
MR
1283 Consider window as dedicated when Fwindow_dedicated_p returns a
1284 non-nil value.
1285 * lisp.h: Remove prototype for no_switch_window.
1286
fd75ddb2
JD
12872008-10-21 Jan Djärv <jan.h.d@swipnet.se>
1288
1289 * emacs.c (main): Unconditionally set PER_LINUX32 and exec
2ae37cf0 1290 temacs when dumping if HAVE_PERSONALITY_LINUX32 is defined.
fd75ddb2 1291
07295713
KH
12922008-10-21 Kenichi Handa <handa@m17n.org>
1293
1294 * coding.c (detect_coding_charset): For iso-8859-* coding systems,
1295 check Vlatin_extra_code_table.
1296
712adc82
EZ
12972008-10-20 Eli Zaretskii <eliz@gnu.org>
1298
1299 * fileio.c (Fset_file_modes): Doc fix.
1300
f549eb0b
MA
13012008-10-19 Michael Albinus <michael.albinus@gmx.de>
1302
1303 * dbusbind.c (XD_OBJECT_TO_DBUS_TYPE): Handle simple type symbols
1304 in arrays.
1305
aac0c6e3
MR
13062008-10-19 Martin Rudalics <rudalics@gmx.at>
1307
1308 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
1309 Mention kill-buffer in doc-string.
1310 (Fset_window_buffer): Reinsert tem check removed in last commit.
1311 (Fenlarge_window, Fshrink_window): Have argument names and
1312 doc-string follow Elisp manual more closely.
1313
13142008-10-18 Eli Zaretskii <eliz@gnu.org>
1315
1316 * fileio.c (Fset_file_modes): Doc fix.
1317
13182008-10-18 Martin Rudalics <rudalics@gmx.at>
1319
1320 * window.c (Fwindow_width, Fset_window_start)
1321 (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter)
f5385255
SM
1322 (Fdelete_windows_on, Freplace_buffer_in_windows):
1323 Make doc-strings follow code and Elisp manual more closely.
aac0c6e3
MR
1324 (Fwindow_dedicated_p): Make window argument optional.
1325 (Fset_window_dedicated_p): Rename argument "arg" to "flag".
1326 (Fset_window_buffer): Respect any non-nil dedicated value for
1327 window. Rename "buffer" argument to "buffer_or_name".
1328
13292008-10-18 Ulrich Mueller <ulm@gentoo.org>
1330
1331 * m/sh3.h: New file, machine description for SuperH.
1332
13332008-10-17 Martin Rudalics <rudalics@gmx.at>
1334
1335 * window.c (Fsplit_window): Rename arg horflag to horizontal.
1336
13372008-10-17 Kenichi Handa <handa@m17n.org>
1338
1339 * ftfont.c (ftfont_otf_features): Fix indexing
1340 gsub_gpos->FeatureList.Feature. Check the validity of indices.
1341
13422008-10-16 Magnus Henoch <mange@freemail.hu>
1343
1344 * dbusbind.c (Fdbus_call_method): Unbreak usage line.
1345 (Fdbus_call_method_asynchronously): Ditto.
1346 This change makes C-h f display the argument list.
1347
13482008-10-16 Chong Yidong <cyd@stupidchicken.com>
1349
1350 * fileio.c (Fexpand_file_name): Doc fix.
1351
1352 * xfaces.c (Finternal_set_lisp_face_attribute): Make null values
1353 of :foreground and :background equivalent to unspecified (20.x
1354 compatibility).
1355
13562008-10-15 Eli Zaretskii <eliz@gnu.org>
1357
1358 * buffer.c (syms_of_buffer): Doc fix.
1359
13602008-10-14 Kenichi Handa <handa@m17n.org>
1361
1362 * font.c (font_clear_prop): When clearing font width, clear the
1363 average width field too.
1364
13652008-10-12 Andreas Schwab <schwab@suse.de>
1366
1367 * ftfont.c (ftfont_shape_by_flt): Make static.
1368 * ftfont.h (ftfont_shape_by_flt): Don't declare.
1369
1370 * font.c: Don't include <m17n-flt.h>.
1371
13722008-10-10 Eli Zaretskii <eliz@gnu.org>
1373
1374 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Decrease to 10000.
1375
13762008-10-09 Eli Zaretskii <eliz@gnu.org>
1377
1378 * frame.c (make_terminal_frame) [MSDOS]: Remove unused #ifdef'ed
1379 away code.
1380
13812008-10-09 Chong Yidong <cyd@stupidchicken.com>
1382
1383 * dispnew.c (update_text_area): Avoid looping due to large glyph
1384 overhangs (bug#1070).
1385
13862008-10-09 Kenichi Handa <handa@m17n.org>
1387
1388 * fontset.c (face_for_char): If face->fontset is negative, just
1389 return ascii_face.
1390
f5385255
SM
1391 * font.c (font_delete_unmatched): Fix previous change.
1392 Don't reject an entity if DPI and AVGWIDTH of an entity are 0.
aac0c6e3
MR
1393
13942008-10-09 Martin Rudalics <rudalics@gmx.at>
1395
1396 * frame.c (Fraise_frame): On text-only terminals select frame in
1397 order to make it visible. (Bug#1061)
1398
13992008-10-08 Chong Yidong <cyd@stupidchicken.com>
1400
1401 * fontset.c (fontset_find_font): Check frame validity.
1402
14032008-10-07 Chong Yidong <cyd@stupidchicken.com>
1404
a9b555d3 1405 * gtkutil.c (xg_display_open): Reset default display if none exists.
aac0c6e3
MR
1406 (xg_display_close): Allow Emacs to close all displays (bug#985).
1407
14082008-10-06 Andreas Schwab <schwab@suse.de>
1409
f5385255 1410 * sysdep.c (sys_signal): Always set SA_RESTART when noninteractively.
aac0c6e3
MR
1411
14122008-10-06 Chong Yidong <cyd@stupidchicken.com>
1413
f5385255 1414 * emacs.c (Vbefore_init_time, Vafter_init_time): Move from startup.el.
aac0c6e3 1415
a9b555d3 1416 * lisp.h (Vbefore_init_time, Vafter_init_time): Declare.
aac0c6e3
MR
1417
1418 * gtkutil.c (x_wm_set_size_hint): Return immediately if called
1419 during initialization.
1420
14212008-10-04 Eli Zaretskii <eliz@gnu.org>
1422
1423 * xdisp.c (redisplay_internal): If frame switched, redisplay the
1424 whole thing on MSDOS frames as well as on a TTY.
1425
1426 * dispnew.c (update_frame): Flush termscript for MSDOS frames as
1427 well as for TTY.
1428 (Fopen_termscript): Allow opening a termscript on MSDOS frames as
1429 well as on a TTY.
1430
1431 * sysdep.c (init_sys_modes): Set FRAME_GARBAGED_P for MSDOS frames
1432 as well as for TTY.
1433
1434 * systime.h (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
1435
1436 * dispnew.c (change_frame_size_1): Set FrameRows and FrameCols for
1437 MSDOS frames as well.
1438
14392008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
1440
1441 * image.c (x_clear_image_1): Under NS, call ns_free_indexed_color with
1442 correct arguments.
1443 * menu.c (find_and_return_menu_selection) Add cast.
1444
14452008-10-03 Glenn Morris <rgm@gnu.org>
1446
1447 * emacs.c (USAGE1): Add --daemon.
1448
14492008-10-02 Eli Zaretskii <eliz@gnu.org>
1450
1451 * process.c (procfs_system_process_attributes): Multiply `pcpu' by
1452 100, so it's in percents as advertised.
1453
14542008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
1455
1456 * nsterm.h (ns_cursor_types, ns_output.desired_cursor_color)
1457 (ns_output.current_cursor, ns_output.desired_cursor)
1458 (ns_output.last_inactive, FRAME_CURSOR, FRAME_NEW_CURSOR)
1459 (FRAME_NEW_CURSOR_COLOR): Remove.
1460
1461 * nsfns.m (ns_set_cursor_color): Use FRAME_CURSOR_COLOR.
a9b555d3 1462 (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp): Use core Emacs
aac0c6e3
MR
1463 enumeration (HOLLOW_BOX_CURSOR, etc.).
1464
1465 * nsterm.m (ns_frame_rehighlight): Remove commented code.
1466 (draw_window_cursor): Simplify code.
f5385255
SM
1467 (EmacsView-windowDidBecomeKey:,-windowDidResignKey:):
1468 Don't change cursor type. In latter, call rehighlight instead of doing
aac0c6e3 1469 updates manually.
a9b555d3
JB
1470 (EmacsPrefsController-setPanelFromValues,-setValuesFromPanel):
1471 Use core Emacs cursor types.
aac0c6e3 1472
b8ff72fa 1473 * xdisp.c (draw_glyphs): Don't call notice_overwritten_cursor under NS.
aac0c6e3
MR
1474
14752008-10-02 Martin Rudalics <rudalics@gmx.at>
1476
1477 * process.c (Faccept_process_output): Fix doc-string.
1478
14792008-10-02 Dan Nicolaescu <dann@ics.uci.edu>
1480
1481 * gmalloc.c (__sbrk): Also define for uClibc.
1482
1483 * s/gnu-linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Add definition
1484 for uClibc.
1485
14862008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1487
1488 * nsfont.m (nsfont_spec_to_traits): Use UnXX masks only for non-normal
1489 styles.
1490 (nsfont_open): Reenable the cache.
1491
14922008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1493
1494 * font.c (font_matching_entity): Reflect ATTRS in font selection.
1495 (font_find_for_lface) [HAVE_NS]: Don't ignore case.
1496
14972008-09-30 Stefan Monnier <monnier@iro.umontreal.ca>
1498
1499 * dispnew.c (Fsend_string_to_terminal): Don't try to send a string to
1500 a suspended terminal.
1501
15022008-09-30 Michael Albinus <michael.albinus@gmx.de>
1503
1504 * dbusbind.c (xd_signature): Use strcat instead of sprintf.
1505
15062008-09-30 Eli Zaretskii <eliz@gnu.org>
1507
1508 * Makefile.in (MSDOS_SUPPORT): Remove ccl.elc and codepage.elc.
1509
15102008-09-30 Chong Yidong <cyd@stupidchicken.com>
1511
1512 * xdisp.c (move_it_to): Don't advance the iterator if the last tab
1513 in a continued line coincides with a line beginning.
1514
15152008-09-29 Adrian Robert <Adrian.B.Robert@gmail.com>
1516
1517 * nsfont.m (nsfont_trait_distance): Fix bug.
1518 (nsfont_list): Return a list rather than a vector (syncs with Handa
1519 changes of 2008-05-14).
1520 (nsfont_open): Improve logging.
1521
15222008-09-29 Andreas Schwab <schwab@suse.de>
1523
1524 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
1525
15262008-09-28 Martin Rudalics <rudalics@gmx.at>
1527
1528 * character.c (Fchar_resolve_modifiers): Rewrite Elisp function
1529 name as char-resolve-modifiers.
1530 Reported by: Markus Triska <markus.triska@gmx.at>
1531
15322008-09-28 Dan Nicolaescu <dann@ics.uci.edu>
1533
1534 * dispnew.c (init_display): Return earlier when running as a daemon.
1535
15362008-09-27 Adrian Robert <Adrian.B.Robert@gmail.com>
1537
1538 * nsfont.m (nsfont_draw): Fix up composition rendering (cmp_from, ...).
1539
15402008-09-27 Eli Zaretskii <eliz@gnu.org>
1541
1542 * composite.c (Fcomposition_get_gstring)
1543 (Fcompose_region_internal, Fcompose_string_internal)
1544 (Ffind_composition_internal): Doc fix.
1545 (syms_of_composite) <compose-chars-after-function>: Doc fix.
1546 (syms_of_composite) <auto-composition-function>: Doc fix.
1547 (syms_of_composite) <composition-function-table>: Doc fix.
1548
15492008-09-25 Chong Yidong <cyd@stupidchicken.com>
1550
1551 * search.c (wordify): New argument for lax word-ends.
1552 (Fword_search_forward_lax, Fword_search_backward_lax): New funs.
1553
15542008-09-24 Dan Nicolaescu <dann@ics.uci.edu>
1555
1556 * lisp.h (is_daemon): Declare.
1557 * dispnew.c (init_display): Do not try to initialize the terminal
1558 when running as a daemon.
1559
15602008-09-22 Chong Yidong <cyd@stupidchicken.com>
1561
1562 * nsfns.m (compute_tip_xy): Use x_display_pixel_width and
1563 x_display_pixel_height.
1564
15652008-09-22 Martin Rudalics <rudalics@gmx.at>
1566
1567 * undo.c (record_point): Don't call Fundo_boundary for first
1568 change. (Bug#731)
1569
15702008-09-22 Juanma Barranquero <lekktu@gmail.com>
1571
1572 * emacs.c (Fdaemonp): Doc fix.
1573
15742008-09-22 Dan Nicolaescu <dann@ics.uci.edu>
1575
1576 * emacs.c (main): Place #ifdef in the proper place.
1577
15782008-09-21 Dan Nicolaescu <dann@ics.uci.edu>
1579
1580 * emacs.c (standard_args): Add --daemon.
1581 (main): Disconnect from the terminal when --daemon is passed.
1582 (is_daemon): New variable.
1583 (Fdaemonp): New function.
1584 (syms_of_emacs): Defsubr it.
1585
15862008-09-20 Chong Yidong <cyd@stupidchicken.com>
1587
1588 * xdisp.c (get_next_display_element): Handle string display
1589 correctly when checking for the end of a box run.
1590
15912008-09-20 Glenn Morris <rgm@gnu.org>
1592
1593 * fileio.c (Qdelete_by_moving_to_trash): New Lisp_Object.
1594 (syms_of_fileio): Add Qdelete_by_moving_to_trash.
1595 (Frename_file): Avoid copying to trash if a rename involves
1596 a delete. (Bug#964).
1597
15982008-09-20 Eli Zaretskii <eliz@gnu.org>
1599
1600 * keyboard.c (Fset_quit_char, Fset_input_meta_mode)
1601 (Fset_output_flow_control, Fcurrent_input_mode): Support MSDOS
1602 frames as well as termcap frames.
1603 (handle_interrupt): Remove "#ifndef MSDOS" around the call to
1604 get_named_tty.
1605
16062008-09-19 Eli Zaretskii <eliz@gnu.org>
1607
1608 * process.c (procfs_system_process_attributes): Fix cmdline in
1609 case /proc/PID/cmdline is empty.
1610
1611 * xterm.c (x_wm_set_size_hint): Use x_display_pixel_width and
1612 x_display_pixel_height.
1613
16142008-09-19 Juanma Barranquero <lekktu@gmail.com>
1615
1616 * frame.c (x_fullscreen_adjust): Declare var as Display_Info.
1617
1618 * w32fns.c (Fx_display_pixel_width, Fx_display_pixel_height)
1619 (compute_tip_xy): Use x_display_pixel_width, x_display_pixel_height.
1620
16212008-09-19 Dan Nicolaescu <dann@ics.uci.edu>
1622
1623 * dispextern.h (struct it): Move line_wrap away from the middle of
1624 bitfields. Move voffset in struct iterator_stack_entry after the
1625 bitfields. Move tab_width near after another short.
1626
16272008-09-18 Dan Nicolaescu <dann@ics.uci.edu>
1628
1629 * frame.h (struct frame): Move alpha from the middle of bitfields.
1630
1631 * window.h (struct window): Move frozen_window_start_p after the
1632 rest of the bitfields to reduce padding.
1633
16342008-09-18 Chong Yidong <cyd@stupidchicken.com>
1635
1636 * xterm.h (x_display_info): Remove `height' and `width' members.
1637
1638 * nsterm.h (ns_display_info): Remove `height' and `width' members.
1639
1640 * w32term.h (w32_display_info): Remove `height', `width',
1641 `height_in', and `width_in' members.
1642
b8ff72fa
SM
1643 * xterm.c (x_display_pixel_height, x_display_pixel_width):
1644 New functions.
aac0c6e3
MR
1645 (x_calc_absolute_position): Use them.
1646 (x_term_init): Omit removed `height' and `width' members.
1647
b8ff72fa
SM
1648 * w32term.c (x_display_pixel_height, x_display_pixel_width):
1649 New functions.
aac0c6e3
MR
1650 (w32_read_socket, x_calc_absolute_position): Use them.
1651 (w32_initialize_display_info, w32_term_init): Omit removed members
1652 of w32_display_info.
1653
b8ff72fa
SM
1654 * nsterm.m (x_display_pixel_height, x_display_pixel_width):
1655 New functions.
1656 (ns_initialize_display_info): Omit removed members of ns_display_info.
aac0c6e3 1657
b8ff72fa
SM
1658 * xterm.c (x_display_pixel_height, x_display_pixel_width):
1659 New functions.
aac0c6e3
MR
1660 (x_calc_absolute_position): Use them.
1661 (x_term_init): Omit removed `height' and `width' members.
1662
1663 * xfns.c (Fx_display_pixel_width, Fx_display_pixel_height)
b8ff72fa
SM
1664 (compute_tip_xy):
1665 * frame.c (x_fullscreen_adjust):
aac0c6e3
MR
1666 * xmenu.c (menu_position_func): Use x_display_pixel_height and
1667 x_display_pixel_width.
1668
16692008-09-18 Kenichi Handa <handa@m17n.org>
1670
1671 * composite.c (fill_gstring_header): Don't check FROM and TO here.
1672 (composition_compute_stop_pos): Fix handling of static composition.
1673 (Fcomposition_get_gstring): Check FROM and TO at first.
1674
16752008-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
1676
1677 * composite.c (Fcomposition_get_gstring): Yet another int/Lisp_Oject
1678 mixup (YAILOM).
1679
16802008-09-17 Chong Yidong <cyd@stupidchicken.com>
1681
1682 * indent.c (Fvertical_motion): Use position reported by iterator
1683 instead of PT for determining screen motion (bug#943).
1684
16852008-09-17 Romain Francoise <romain@orebokech.com>
1686
1687 * composite.c (composition_adjust_point): Fix int/EMACS_INT mixup.
1688
16892008-09-17 Kenichi Handa <handa@m17n.org>
1690
1691 * ftfont.c (ftfont_shape_by_flt): Downcase family name.
1692
1693 * composite.c (Fcomposition_get_gstring): Make bigger gstring_work
1694 if necessary.
1695
16962008-09-16 Kenichi Handa <handa@m17n.org>
1697
1698 * coding.c (make_conversion_work_buffer): Avoid calling
1699 Fget_buffer_create if it is not necessary.
1700
17012008-09-15 Martin Rudalics <rudalics@gmx.at>
1702
1703 * window.c (Fselect_window): Don't update window_select_count and
1704 use_time when norecord is not nil.
1705
17062008-09-14 Kenichi Handa <handa@m17n.org>
1707
1708 * fileio.c (Finsert_file_contents): Delete incorrect decrement of
1709 specpdl_ptr.
1710
17112008-09-12 Kenichi Handa <handa@m17n.org>
1712
1713 * indent.c (scan_for_column): Don't handle automatic composition
1714 if the current buffer is not associated with a window.
1715
1716 * composite.c (composition_reseat_it): If the current buffer is
1717 not associated with a window, ignore the automatic composition.
1718 (find_automatic_composition): Likewise.
1719
17202008-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
1721
1722 * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
1723 (Fgpm_mouse_stop): Use it.
1724 * termhooks.h (close_gpm): Declare.
1725 * keyboard.c (tty_read_avail_input): Forcefully close the gpm
1726 connection if Gpm_GetEvent fails.
1727
1728 * window.c (set_window_buffer): Always preserve current-buffer.
1729
17302008-09-12 Glenn Morris <rgm@gnu.org>
1731
1732 * charset.c (init_charset): Warn if etc/charsets not found. (Bug#909)
1733
17342008-09-11 Glenn Morris <rgm@gnu.org>
1735
1736 * charset.c (charset-map-path): Doc fix.
1737
17382008-09-10 Kenichi Handa <handa@m17n.org>
1739
1740 * xdisp.c (handle_composition_prop): Set it->cmp_it.ch to -1.
1741
1742 * font.c (Ffont_shape_gstring): Make glyphs of non-nil adjustment
1743 compose a grapheme cluster with the preceding base glyph.
1744
1745 * composite.c (composition_compute_stop_pos): Fix previous change.
1746 Reset cmp_it->id to -1 at first.
1747
17482008-09-10 Glenn Morris <rgm@gnu.org>
1749
1750 * Makefile.in (character.o, chartab.o): Fix config.h typo.
1751
17522008-09-09 Chong Yidong <cyd@stupidchicken.com>
1753
1754 * keyboard.c (read_key_sequence): Reapply translation maps when
1755 switching keyboards.
1756
17572008-09-09 Kenichi Handa <handa@m17n.org>
1758
1759 * ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII
1760 characters.
1761
1762 * composite.c (FORWARD_CHAR): Fix calculation
1763 of (POSITION).pos_byte.
1764 (composition_compute_stop_pos): Limit the search of composition to
1765 at most 500 characters ahead. If we reach the limit or find a
1766 newline, set cmp_it->ch to -2 and return 0.
1767 (composition_reseat_it): Handle the case that cmp_it->ch is -2.
1768
17692008-09-08 Kenichi Handa <handa@m17n.org>
1770
1771 * indent.c (Fvertical_motion): Be sure to set
1772 it_overshoot_expected if it.cmp_it.id is non-negative.
1773
17742008-09-07 Andreas Schwab <schwab@suse.de>
1775
1776 * callproc.c (Fcall_process): Don't hold references to string data
1777 across garbage collection. Move initialisation of new_argv down
1778 to avoid compiler bug.
1779
17802008-09-07 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
1781
1782 * process.c (Fsystem_process_attributes): Doc fix.
1783
17842008-09-07 Chong Yidong <cyd@stupidchicken.com>
1785
1786 * callproc.c (Fcall_process): Canonicalize current directory name.
1787
1788 * xdisp.c (move_it_to): When moving by vpos, ensure that the
1789 iterator advances to the next line if the current line ends in a
1790 continued tab.
1791
17922008-09-07 Teodor Zlatanov <tzz@lifelogs.com>
1793
1794 * nsfont.m (nsfont_draw): Fix the references to missing gidx data
1795 member to point to cmp_from.
1796
1797 * xdisp.c: Doc fix for references to gidx data member.
1798
17992008-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
1800
1801 * buffer.c (Fbuffer_swap_text): Reset window->point markers.
1802
18032008-09-07 Kenichi Handa <handa@m17n.org>
1804
1805 * composite.c (FORWARD_CHAR): Check STOP after
1806 incrementing (POSITION).pos.
1807
18082008-09-06 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
1809
1810 * process.c (Fsystem_process_attributes): Doc fix.
1811
18122008-09-06 Chong Yidong <cyd@stupidchicken.com>
1813
1814 * keyboard.c (Ftop_level): Doc fix.
1815
18162008-09-06 Eli Zaretskii <eliz@gnu.org>
1817
1818 * xmenu.c (xmenu_show) [!HAVE_X_WINDOWS]: If frame has a
1819 minibuffer, don't let lower part of menu invade the echo area.
1820
1821 * msdos.c (IT_menu_display): Use STRING_CHAR_ADVANCE instead of a
1822 "char *q" to access menu text and advance through it. Revert the
1823 change that displayed ">" instead of ASCII character 0x10.
1824
18252008-09-05 Eli Zaretskii <eliz@gnu.org>
1826
1827 * menu.c (single_menu_item) [!HAVE_BOXES]: Enable emulation of
1828 toggle boxes and radio buttons on MS-DOS as well.
1829
18302008-09-05 Kenichi Handa <handa@m17n.org>
1831
1832 * composite.c (autocmp_chars): Check lookback count.
1833 (composition_compute_stop_pos): Set cmp_it->lookback.
1834 (composition_reseat_it): Check lookback count.
1835 (struct position_record): New struct.
1836 (FORWARD_CHAR, BACKWARD_CHAR, CHAR_COMPOSABLE_P): New macros.
1837 (find_automatic_composition): New function.
1838 (composition_adjust_point): Use find_automatic_composition.
1839
1840 * dispextern.h (struct composition_it): New member lookback.
1841
18422008-09-02 Chong Yidong <cyd@stupidchicken.com>
1843
1844 * indent.c (Fvertical_motion): Don't call move_it_by_lines again
1845 if moving by a single line.
1846
18472008-09-02 Andreas Schwab <schwab@suse.de>
1848
1849 * xterm.c (x_delete_display): Fix merge error.
1850
1851 * fileio.c (Fexpand_file_name): Remove unused variables.
1852
18532008-09-02 Eli Zaretskii <eliz@gnu.org>
1854
1855 * fileio.c (Fexpand_file_name): Copy argument `name' into local
1856 storage on all platforms, not just on DOS_NT.
1857
18582008-09-02 Jason Rumney <jasonr@gnu.org>
1859
b8ff72fa
SM
1860 * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show):
1861 Ensure mouse is not grabbed after menu is finished.
aac0c6e3
MR
1862
18632008-09-01 Chong Yidong <cyd@stupidchicken.com>
1864
1865 * xfaces.c (Finternal_set_alternative_font_family_alist)
1866 (Finternal_set_alternative_font_registry_alist): Properly copy
1867 entire alist structure.
1868
18692008-09-01 Kenichi Handa <handa@m17n.org>
1870
d66c0241 1871 * ftfont.c (ftfont_spec_pattern): Don't create a charset if the
aac0c6e3 1872 representative chars of the script is a vector.
d66c0241
JB
1873 (ftfont_list): Handle the case where the representative chars of
1874 the script is a vector.
aac0c6e3
MR
1875
1876 * character.c (syms_of_character): Docstring of
1877 script-representative-chars fixed.
1878
18792008-08-31 Eli Zaretskii <eliz@gnu.org>
1880
1881 * msdos.c (BUILD_CHAR_GLYPH): New macro.
1882 (IT_menu_display): Use it instead of SET_CHAR_GLYPH to construct
1883 the menu. Allocate larger buffer for `text', to account for
1884 possible ^C characters.
1885
18862008-08-31 Martin Rudalics <rudalics@gmx.at>
1887
1888 * xdisp.c (prepare_menu_bars): Don't call
1889 Vwindow_size_change_functions with arg Qt.
1890
18912008-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
1892
1893 * font.h (font_range):
1894 * fileio.c (report_file_error):
1895 * composite.c (composition_update_it): Yet another int/Lisp_Oject mixup.
1896
18972008-08-30 Glenn Morris <rgm@gnu.org>
1898
1899 * data.c (Fmake_variable_frame_local): Doc fix.
1900
1901 * frame.c (Fmodify_frame_parameters): Doc fix.
1902
19032008-08-30 Eli Zaretskii <eliz@gnu.org>
1904
1905 * w32.c (init_user_info): Allocate buf[] with xmalloc using the size
1906 needed by GetTokenInformation.
1907 (w32_system_process_attributes): Check return values of all system
1908 APIs.
1909
1910 * msdos.c (IT_display_cursor): Write "CURSOR ON/OFF" to termscript
1911 only when the state changes.
1912 (IT_update_begin, IT_update_end): Add termscript trace.
1913
1914 * w16select.c (Fw16_set_clipboard_data): Don't encode text if
1915 clipboard is unavailable. Set dst to NULL if it doesn't point to
1916 malloc'ed data.
1917 (Fw16_get_clipboard_data): Initialize htext to NULL, to avoid
1918 passing random values to xfree.
1919
1920 * dispnew.c (init_display): Set `tty's association in frame's
b8ff72fa 1921 parameters alist to the name of the terminal device, if that is known.
aac0c6e3
MR
1922
19232008-08-29 Jason Rumney <jasonr@gnu.org>
1924
1925 * w32uniscribe.c (uniscribe_check_otf): Don't fallback on DFLT script.
1926
19272008-08-29 Eli Zaretskii <eliz@gnu.org>
1928
1929 * composite.c (fill_gstring_body): Avoid compiler warnings.
1930
1931 * font.c (font_fill_lglyph_metrics): Use EMACS_INT in
1932 LGLYPH_SET_CODE to avoid compiler warnings.
1933
2ae37cf0 1934 * makefile.w32-in ($(BLD)/w32uniscribe.$(O)): Depend on composite.h.
aac0c6e3
MR
1935
1936 * composite.h (LGLYPH_SET_CODE): Cast `val' to EMACS_INT.
1937
1938 * w32uniscribe.c (uniscribe_shape): Shut up compiler warning in
1939 LGLYPH_SET_CODE.
1940
19412008-08-29 Kenichi Handa <handa@m17n.org>
1942
1943 * fileio.c (report_file_error): Don't downcase the first character
1944 of errstring if it is still unibyte.
1945
19462008-08-29 Kenichi Handa <handa@m17n.org>
1947
1948 These changes are to re-implement the automatic composition so
1949 that it doesn't use text properties.
1950
1951 * Makefile.in (ftfont.o): Depend on composite.h.
1952 (composite.o): Depend dispextern.h, font.h, frame, and window.h.
1953
1954 * character.h (Vunicode_category_table): Extern it.
1955
1956 * character.c (Vunicode_category_table): New variable.
1957 (syms_of_character): DEFVAR_LISP Vunicode_category_table.
1958
1959 * chartab.c (optimize_sub_char_table): Perform more greedy
1960 optimization.
1961
b8ff72fa
SM
1962 * composite.h (enum composition_method):
1963 Delete COMPOSITION_WITH_GLYPH_STRING.
aac0c6e3
MR
1964 (COMPOSITION_METHOD): Don't check COMPOSITION_WITH_GLYPH_STRING.
1965 (Vcomposition_function_table): Extern it.
1966 (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h.
1967 (composition_gstring_put_cache, composition_gstring_from_id)
1968 (composition_gstring_p, composition_gstring_width)
1969 (composition_compute_stop_pos, composition_reseat_it)
1970 (composition_update_it, composition_adjust_point): Extern them.
1971 (Fcomposition_get_gstring): EXFUN it.
1972
d66c0241 1973 * composite.c: Include window.h, frame.h, dispextern.h, font.h.
aac0c6e3
MR
1974 (Vcomposition_function_table)
1975 (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING.
b8ff72fa
SM
1976 (gstring_hash_table, gstring_work, gstring_work_headers):
1977 New variables.
aac0c6e3
MR
1978 (gstring_lookup_cache, composition_gstring_put_cache)
1979 (composition_gstring_from_id, composition_gstring_p)
1980 (composition_gstring_width, fill_gstring_header)
1981 (fill_gstring_body, autocmp_chars, composition_compute_stop_pos)
1982 (composition_reseat_it, composition_update_it)
b8ff72fa 1983 (composition_adjust_point, Fcomposition_get_gstring): New functions.
aac0c6e3
MR
1984 (syms_of_composite): Initialize gstring_hash_table, gstrint_work,
1985 and gstring_work_headers. DEFVAR_LISP composition-function-table.
1986 Defsubr compostion_get_gstring.
1987
1988 * dispextern.h (struct glyph): New union u.cmp. Delete the member
1989 cmp_id.
1990 (struct glyph_string): Delete the member gidx. New members
1991 cmp_id, cmp_from, and cmp_to.
1992 (enum it_method): Delete GET_FROM_COMPOSITION.
1993 (struct composition_it): New struct.
1994 (struct it): New member cmp_it, and iterator_stack_entry.cmp_it.
1995 Delete c, len, cmp_id, cmp_len in u.comp.
1996
1997 * font.h (enum lgstring_indices): Delete it.
b8ff72fa 1998 (LGSTRING_XXX, LGLYPH_XXX): Move these macros to composite.h.
aac0c6e3 1999 (enum lglyph_indices): Likewise.
b8ff72fa 2000 (font_range): Adjust extern.
aac0c6e3
MR
2001 (font_fill_lglyph_metrics): Extern it.
2002
2003 * font.c (QCf): New variable.
2004 (check_gstring): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
2005 (font_prepare_composition): Delete this function.
2006 (font_range): Type and arguments changed.
2007 (Ffont_make_gstring, Ffont_fill_gstring): Delete them.
2008 (font_fill_lglyph_metrics): New function.
b8ff72fa 2009 (Ffont_shape_text): Rename to Ffont_shape_gstring and change arguments.
aac0c6e3 2010 (syms_of_font): DEFSYM QCf. Delete defsubr for
b8ff72fa
SM
2011 Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text.
2012 Defsubr Sfont_shape_gstring.
aac0c6e3
MR
2013
2014 * fontset.h (font_for_char): Extern it.
2015
2016 * fontset.c (font_for_char): New function.
2017
2018 * ftfont.c: Include composite.h.
2019 (ftfont_resolve_generic_family): Add langset "en" to pattern.
b8ff72fa 2020 (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
aac0c6e3
MR
2021
2022 * indent.c: Include composite.h and dispextern.h.
2023 (check_composition): Delete this function.
2024 (scan_for_column): Handle composition by
2025 composition_compute_stop_pos, composition_reseat_it, and
2026 composition_update_it.
2027 (compute_motion): Likewise.
2028 (Fvertical_motion): Fix checking of composition.
2029
2030 * keyboard.c (adjust_point_for_property): Check composition by
2031 composition_adjust_point.
2032
b8ff72fa 2033 * nsterm.m (ns_draw_glyph_string): Adjust for the change of
aac0c6e3
MR
2034 struct glyph_string.
2035
b8ff72fa
SM
2036 * term.c (encode_terminal_code): Adjust for the change of struct glyph.
2037 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3
MR
2038 struct glyph.
2039 (produce_composite_glyph): Likewise.
2040
b8ff72fa
SM
2041 * w32term.c (x_draw_composite_glyph_string_foreground):
2042 Adjust for the change of struct glyph_string.
aac0c6e3
MR
2043 (x_draw_glyph_string): Likewise.
2044
2045 * w32uniscribe.c (struct uniscribe_font_info): Include composite.h.
2046 (uniscribe_shape): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
2047
2048 * xdisp.c: Include font.h.
2049 (it_props): Delete the entry for Qauto_composed.
2050 (init_iterator): Initialize it->cmp_it.id to -1.
2051 (compute_stop_pos): Call composition_compute_stop_pos.
b8ff72fa 2052 (face_before_or_after_it_pos): Adjust for the change of struct it.
aac0c6e3
MR
2053 (handle_auto_composed_prop): Delete it.
2054 (handle_composition_prop): Handle only static composition.
2055 (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION
2056 from xassert. Initialize it->cmp_it.stop_pos.
b8ff72fa 2057 (push_it): Adjust for the change of struct it.
aac0c6e3
MR
2058 (pop_it): Likewise.
2059 (get_next_element): Delete next_element_from_composition.
2060 (CHAR_COMPOSED_P): New macro.
2061 (get_next_display_element): For automatic composition, get a face
2062 from the font in the glyph-string.
2063 (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING,
b8ff72fa 2064 check composition by it->cmp_it.id. Delete GET_FROM_COMPOSITION case.
aac0c6e3
MR
2065 (next_element_from_string): Check if the character at the current
2066 position is composed by CHAR_COMPOSED_P.
2067 (next_element_from_buffer): Likewise.
d66c0241
JB
2068 (next_element_from_composition): Adjust for the change of struct it.
2069 Update it->cmp_it.
b8ff72fa
SM
2070 (dump_glyph): Adjust for the change of struct glyph.
2071 (fill_composite_glyph_string): Adjust for the change of struct
aac0c6e3
MR
2072 it and struct glyph. Don't handle automatic composition here.
2073 (fill_gstring_glyph_string): New function.
2074 (x_get_glyph_overhangs): Handle automatic composition.
b8ff72fa 2075 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the change of struct glyph.
aac0c6e3
MR
2076 (BUILD_GSTRING_GLYPH_STRING): New macro.
2077 (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for
2078 automatic composition.
b8ff72fa 2079 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3 2080 struct glyph.
b8ff72fa 2081 (x_produce_glyphs): Adjust for the change of struct it.
aac0c6e3 2082
b8ff72fa 2083 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aac0c6e3
MR
2084 the change of struct glyph_string.
2085 (x_draw_glyph_string): Likewise.
2086
20872008-08-29 Glenn Morris <rgm@gnu.org>
2088
2089 * buffer.c (word-wrap): Doc fix.
2090 * xdisp.c (truncate-partial-width-windows): Doc fix.
2091 Increase default to 50.
2092
20932008-08-29 Chong Yidong <cyd@stupidchicken.com>
2094
2095 * xdisp.c (update_tool_bar_unwind): New function.
2096 (update_tool_bar): Temporarily set selected frame before building
2097 tool-bar items.
2098
20992008-08-28 Michael Albinus <michael.albinus@gmx.de>
2100
2101 * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and
2102 snprintf, respectively.
2103 (xd_append_arg): Convert strings with Fstring_make_unibyte.
2104
21052008-08-28 Chong Yidong <cyd@stupidchicken.com>
2106
2107 * Makefile.in: Revert (undocumented) 2008-08-20 change adding
2108 LDFLAGS to GNUstep CC invocation.
2109
21102008-08-27 Chong Yidong <cyd@stupidchicken.com>
2111
2112 * indent.c (Fvertical_motion): Revert last change. Handle the
2113 general case where we are moving forward, and PT spans multiple
2114 screen lines.
2115
2116 * eval.c (find_handler_clause): Temporarily increase
2117 max-lisp-eval-depth while printing the backtrace buffer, to
2118 guarantee that help-mode code can run.
2119
21202008-08-27 Eli Zaretskii <eliz@gnu.org>
2121
2122 * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame
2123 colors under -rv.
2124 (IT_set_frame_parameters): Don't swap foreground and background
2125 colors if `(reverse . t)' is present in the frame properties.
2126 (internal_terminal_init): Call init_frame_faces only for the
2127 initial frame.
2128
21292008-08-27 Andreas Schwab <schwab@suse.de>
2130
2131 * dired.c (Ffile_attributes): Avoid compiler warning in bitshift.
2132
21332008-08-27 Andreas Schwab <schwab@suse.de>
2134
2135 * search.c (search_buffer): Set char_base to zero only at the end.
2136
21372008-08-27 Kenichi Handa <handa@m17n.org>
2138
b8ff72fa 2139 * fileio.c (report_file_error): Fix handling of multibyte error string.
aac0c6e3
MR
2140
21412008-08-27 Andreas Seltenreich <seltenreich@gmx.de>
2142
2143 * xterm.c (x_term_init): Temporarily hide the partially
2144 initialized terminal while calling vendor-specific-keysyms.
2145
21462008-08-26 Eli Zaretskii <eliz@gnu.org>
2147
2148 * msdos.c (internal_terminal_init): Most initializations done only
2149 once, especially initial_screen_colors[] and termscript open.
2150
21512008-08-26 Chong Yidong <cyd@stupidchicken.com>
2152
2153 * eval.c (Fcondition_case): Doc fix.
2154
2155 * widgetprv.h (EmacsFramePart): Change font member to the new font
2156 struct.
2157
2158 * widget.c: Include character.h and font.h for XSETFONT.
2159 (setup_frame_gcs): Compute X font id from font struct, just once.
2160
21612008-08-26 Eli Zaretskii <eliz@gnu.org>
2162
2163 * term.c (get_named_tty): Fix last change.
2164
21652008-08-26 Chong Yidong <cyd@stupidchicken.com>
2166
2167 * indent.c (Fvertical_motion): If moving forward starting from a
b8ff72fa 2168 multi-line string, move the iterator to the last line of that string.
aac0c6e3
MR
2169
21702008-08-25 Eli Zaretskii <eliz@gnu.org>
2171
2172 * frame.c (do_switch_frame): Mark previously displayed frame as
2173 obscured for FRAME_MSDOS_P frames as well.
2174
21752008-08-24 Eli Zaretskii <eliz@gnu.org>
2176
2177 * frame.c (make_terminal_frame): Initialize f->terminal,
2178 f->terminal->reference_count, and scroll bars on MS-DOS as well.
2179 Set the top frame to newly created frame.
2180 (Fmake_terminal_frame): Reuse the_only_display_info.
2181
2182 * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of
2183 estimating available memory.
2184
b97439ce 21852008-08-23 David Reitter <david.reitter@gmail.com>
aac0c6e3
MR
2186
2187 * nsterm.m (ns_draw_window_cursor): Don't call
2188 NSDisableScreenUpdates and NSEnableScreenUpdates on
2189 non-NS_IMPL_COCOA systems.
2190
21912008-08-23 Andreas Schwab <schwab@suse.de>
2192
2193 * process.c (procfs_system_process_attributes): Fix use of
2194 uninitialized variables.
2195
21962008-08-23 Eli Zaretskii <eliz@gnu.org>
2197
2198 * emacs.c (main) [MSDOS]: Call syms_of_xmenu.
2199
2200 * dispnew.c (init_display): Remove MS-DOS specific conditions for
2201 calling tty-set-up-initial-frame-faces.
2202
b8ff72fa
SM
2203 * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show):
2204 Allow MSDOS frames along with X frames.
aac0c6e3
MR
2205
2206 * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in
2207 addition to output_termcap.
2208
2209 * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode.
2210
2211 * termchar.h (FRAME_TTY): Support output_msdos_raw.
2212 (struct tty_display_info) [MSDOS]: Add fields related to mouse
2213 highlight.
2214
2215 * process.c [!subprocesses]: Define QCname.
2216 (syms_of_process): Intern and staticpro it.
2217
2218 * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
b8ff72fa
SM
2219 Adjust for changes in encoding/decoding routines.
2220 Use encode_coding_object and decode_coding_object instead of
aac0c6e3
MR
2221 encode_coding and decode_coding.
2222
b8ff72fa 2223 * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as argument.
aac0c6e3
MR
2224
2225 * dosfns.c: Include frame.h before termhooks.h.
2226 (dos_cleanup): Use CURTTY ()->termscript instead of a global
2227 variable termscript.
2228
2229 * s/msdos.h (USER_FULL_NAME): Define.
2230 (SYSTEM_PURESIZE_EXTRA): Bump up to 100K.
2231
2232 * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined.
2233 (Fuser_full_name): Use USER_FULL_NAME instead of a literal
2234 pw->pw_gecos.
2235
2236 * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with
2237 SELECTED_FRAME as additional (1st) argument.
2238 (tty_read_avail_input): Handle output_msdos_raw in
2239 addition to output_termcap.
2240
2241 * msdos.c: Include frame.h before termhooks.h.
2242 (mouse_on, mouse_off, mouse_moveto, mouse_init)
2243 (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs)
2244 (show_mouse_face, IT_clear_end_of_line, IT_clear_screen)
2245 (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto)
2246 (IT_set_terminal_modes, IT_reset_terminal_modes)
2247 (IT_set_frame_parameters): Use tty->termscript instead of a global
2248 variable termscript.
2249 (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a
2250 global variable terminal_coding. Don't refer to
2251 Vnonascii_translation_table.
2252 (internal_terminal_init): Set Vwindow_system in current_kboard.
2253 Don't use TTY_CHAR_INS_DEL_OK. Set Vinitial_window_system.
2254 Announce date and time of session start, if termscript is open.
2255 Don't zero out the_only_display_info (it is done in
b8ff72fa
SM
2256 term.c:init_tty). Open termscript only of not already open.
2257 Log "SCREEN SAVED" here, instead of IT_set_terminal_modes. Init mouse
aac0c6e3
MR
2258 here instead of dos_ttraw. Don't initialize display if this is an
2259 initial tty. Don't set FRAME_FONT.
2260 (Vwindow_system_version): Bump to 23.
2261 (dos_ttraw): Accept a TTY argument; all callers fixed. If mouse
2262 is available, set up mouse_position_hook.
2263 (dos_ttraw, IT_set_terminal_modes): If called with initial
2264 terminal, do nothing.
2265 (IT_set_frame_parameters): Handle the Qtty_type frame
2266 parameter by calling internal_terminal_init.
2267 (dos_set_window_size, show_mouse_face)
2268 (clear_mouse_face, IT_note_mode_line_highlight)
2269 (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date)
2270 (dos_rawgetc): Use tty_display_info instead of x_display_info.
2271 (initialize_msdos_display): New function.
2272 (IT_cursor_to, IT_clear_to_end, IT_clear_screen)
2273 (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs)
2274 (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes)
2275 (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin):
b8ff72fa 2276 Accept additional argument: a pointer to a frame. Update all callers.
aac0c6e3
MR
2277 (request_sigio, unrequest_sigio): Don't define, now defined on
2278 sysdep.c.
2279 (IT_write_glyphs): Rewrite to use encode_terminal_code.
2280
2281 * term.c [MSDOS]: Include msdos.h.
2282 (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch. Change cpp
2283 conditional to DOS_NT. Allow only one call to this function in a
2284 session. Don't allocate a new struct tty_display_info; instead,
2285 reuse the_only_display_info. Call get_tty_size to get screen
2286 dimensions. Call init_baud_rate to set bad_rate.
2287 (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body.
2288 (Fsuspend_tty) [MSDOS]: Don't close input and output.
b8ff72fa 2289 (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use stdin/stdout.
aac0c6e3
MR
2290 (get_tty_terminal, get_named_tty, Ftty_type)
2291 (Fcontrolling_tty_p): Handle output_msdos_raw in addition to
2292 output_termcap.
b8ff72fa
SM
2293 (Fresume_tty, Fsuspend_tty, init_tty, delete_tty):
2294 Call add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor
2ae37cf0 2295 only when subprocesses are supported.
aac0c6e3
MR
2296
2297 * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of
2298 f->output_data.x.
2299 (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new
2300 terminal devices.
2301
5582fbc7 2302 * msdos.h: Remove definition of struct x_display_info and struct
aac0c6e3
MR
2303 x_output.
2304 (FRAME_FONT): Use output_data.tty.
2305 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define.
b8ff72fa
SM
2306 (struct x_display_info): Rename from display_info. Update all users in
2307 msdos.c.
aac0c6e3 2308 (struct x_output): Remove background_pixel and foreground_pixel.
b8ff72fa 2309 (the_only_display_info): Rename from the_only_x_display.
aac0c6e3
MR
2310 (dos_ttraw): Update prototype.
2311
2312 * Makefile.in (MSDOS_OBJ): Add xmenu.o.
2313 (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc.
2314
23152008-08-23 Jason Rumney <jasonr@gnu.org>
2316
2317 * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword.
2318 (fn_TIFFSetDirectory): New library function used.
2319 (init_tiff_functions) [HAVE_NTGUI]: Initialize it.
2320 (tiff_load): Use :index to select among multiple images. Set count
2321 property when multiple images exist.
2322 (gif_format): Use :index, not :image.
2323
23242008-08-23 Chong Yidong <cyd@stupidchicken.com>
2325
2326 * xdisp.c (try_scrolling): Check INT_MAX instead of
2327 MOST_POSITIVE_FIXNUM for maximum integer value. Include limits.h
2328 to obtain INT_MAX.
2329
23302008-08-21 İsmail Dönmez <ismail@namtrac.org> (tiny change)
2331
2332 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+.
2333
23342008-08-21 Christian Faulhammer <opfer@gentoo.org> (tiny change)
2335
2336 * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate
2337 GNUstep library location.
2338
23392008-08-21 Chong Yidong <cyd@stupidchicken.com>
2340
2341 * xfaces.c (x_update_menu_appearance): Check validity of menu font
2342 before using it.
2343
2344 * puresize.h (BASE_PURESIZE): Increase to 1250000.
2345
23462008-08-20 Adrian Robert <Adrian.B.Robert@gmail.com>
2347
2348 * nsfns.m (ns-read-file-name): Add casts to avoid warning.
2349 (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly.
2350 * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil.
2351 * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration.
2352 (EmacsApp-cursor_blink_handler): Remove declaration.
2353 * nsterm.m (ns_draw_glyph_string): Update first conditional body to
2354 match 01 Feb 2008 changes in xterm.c.
2355 (ns_read_socket): Add cast to avoid warning.
2356 (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on
2357 GNUstep.
2358
23592008-08-20 Chong Yidong <cyd@stupidchicken.com>
2360
2361 * xselect.c (x_get_foreign_selection): Return nil if desired
2362 selection could not be obtained, instead of signalling an error.
2363
23642008-08-20 David Reitter <david.reitter@gmail.com>
2365
2366 * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c.
2367 * nsterm.m: Remove ns-specific code for cursor blinking.
2368 (ns_draw_window_cursor): Clear cursor properly rather than
2369 redrawing the area. Respect width of bar cursors.
2370 These changes enable the use of generic blink-cursor-mode and
2371 generic cursor types in NS and support smooth cursor movements (do
2372 not blink off after command).
2373 * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on
2374 Nextstep, too.
2375
23762008-08-19 Kenichi Handa <handa@m17n.org>
2377
2378 * font.c (Vfont_log_deferred): New variable.
2379 (font_add_log): Check Vfont_log_deferred.
2380 (font_deferred_log): New function.
2381
2382 * font.h (font_deferred_log): Extern it.
2383
2384 * fontset.c (reorder_font_vector): Use encoding charset of fonts
2385 for sorting.
2386 (face_for_char): Use deferred log.
2387
23882008-08-18 Kenichi Handa <handa@m17n.org>
2389
2390 * fontset.c (face_for_char): Add font log.
2391
2392 * font.c (font_add_log): Add the font properties :script, :lang,
2393 and :otf in the log.
2394
23952008-08-17 Chong Yidong <cyd@stupidchicken.com>
2396
2397 * xdisp.c: Remove dead code.
2398 (handle_invisible_prop, next_overlay_string): Defer call to
2399 setup_for_ellipsis.
2400 (handle_stop, set_iterator_to_next): Call setup_for_ellipsis.
2401
24022008-08-15 Chong Yidong <cyd@stupidchicken.com>
2403
2404 * xfaces.c (lookup_derived_face): Properly handle possible zero
2405 return value of get_lface_attributes.
2406 (merge_faces): Don't tell lookup_derived_face to signal an error
2407 if face is not found.
2408
2409 * dired.c (Fdirectory_files): Doc fix.
2410
2411 * process.c (make_process): Initialize kill_without_query struct
2412 member.
2413
24142008-08-15 Eli Zaretskii <eliz@gnu.org>
2415
2416 * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]:
2417 Alternative calculation of totphys for Visual Studio 6.
2418
2419 * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR.
2420
2421 * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX):
2422 Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX.
2423 All users changed.
2424 (stat): Only root directory passed to GetDriveType. Allow RAM
2425 disk as well as local fixed disk when w32-get-true-file-attributes
2426 is set to `local'.
2427 (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs.
2428 (equal_sid, get_length_sid, copy_sid): New wrapper functions.
2429 (w32_cached_id, w32_add_to_cache): New functions.
2430 (get_name_and_id): Look account names in the cache before calling
2431 lookup_account_sid.
2432 (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid):
2433 New initialization flags.
2434 (globals_of_w32): Initialize them to zero.
2435 (w32_system_process_attributes): Use w32_cached_id and
2436 w32_add_to_cache.
2437
24382008-08-14 Lawrence Mitchell <wence@gmx.li>
2439
2440 * lread.c (Fread_char, Fread_char_exclusive): If no character
2441 event is read before timeout is reached, return nil, rather than
2442 converting to a number.
2443
24442008-08-14 Chong Yidong <cyd@stupidchicken.com>
2445
2446 * fns.c (use_dialog_box): Doc fix.
2447
2448 * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful
2449 on OS X.
2450
24512008-08-13 Chong Yidong <cyd@stupidchicken.com>
2452
2453 * frame.c (Qns_parse_geometry): New var.
2454 (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry.
2455
24562008-08-11 Chong Yidong <cyd@stupidchicken.com>
2457
2458 * xdisp.c (x_produce_glyphs): Handle the case when font has no
2459 space character in calculating tabs.
2460
24612008-08-11 Dan Nicolaescu <dann@ics.uci.edu>
2462
2463 * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case.
2464
24652008-08-10 Glenn Morris <rgm@gnu.org>
2466
2467 * process.c (procfs_system_process_attributes): Use EMACS_INTs to
2468 silence gcc "limited range of data type" warnings in some
2469 make_fixnum_or_float calls.
2470
24712008-08-09 Eli Zaretskii <eliz@gnu.org>
2472
2473 * w32.c (w32_system_process_attributes): If the process does not
2474 exist, return nil.
2475
2476 * w32.c: Include thelp32.h, psapi.h and coding.h.
2477 (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct
2478 declarations.
2479 (CreateToolhelp32Snapshot_Proc, Process32First_Proc)
2480 (Process32Next_Proc): New typedefs.
2481 (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first)
2482 (g_b_init_process32_next, g_b_init_open_thread_token)
2483 (g_b_init_impersonate_self, g_b_init_revert_to_self)
2484 (g_b_init_get_process_memory_info, g_b_init_global_memory_status)
2485 (g_b_init_get_process_working_set_size)
2486 (g_b_init_global_memory_status_ex): New static variables.
2487 (globals_of_w32): Initialize them.
2488 (create_toolhelp32_snapshot, process32_first, process32_next)
2489 (open_thread_token, impersonate_self, revert_to_self)
2490 (get_process_memory_info, get_process_working_set_size)
2491 (global_memory_status, global_memory_status_ex): New wrapper
2492 functions.
2493 (w32_list_system_processes, w32_system_process_attributes)
2494 (enable_privilege, restore_privilege, ltime, process_times):
2495 New functions.
2496 (convert_time_raw): New function.
2497 (convert_time): Remove conversion of FILETIME into time in 100
2498 nsec units, call convert_time_raw instead.
2499
2500 * process.h (w32_list_system_processes, w32_system_process_attributes):
2501 Add prototypes.
2502 (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname)
2503 (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime)
2504 (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup)
2505 (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations.
2506
2507 * process.c (Fsystem_process_attributes): Doc fix.
2508
25092008-08-08 Chong Yidong <cyd@stupidchicken.com>
2510
2511 * xdisp.c (move_it_to): When stopping at a charpos, check if that's
2512 a continued multi-char glyph; if so, advance to the actual glyph.
2513
25142008-08-07 Dan Nicolaescu <dann@ics.uci.edu>
2515
2516 * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in.
2517
2518 * Makefile.in (ALL_OBJC_CFLAGS): New variable.
2519 (.m.o): Use it.
2520 * config.in: Regenerate.
2521
25222008-08-07 Chong Yidong <cyd@stupidchicken.com>
2523
2524 * xdisp.c (redisplay_window): Revert last change.
2525 (try_window): Check bottom scroll margin too.
2526
25272008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
2528
2529 * config.in: Regenerate.
2530
2531 * Makefile.in (emacs): Remove ifndef NS conditional for 'emacs
2532 -list-load-path-shadows'.
2533 (nsgui.h): Reduce number of things depending on it.
2534
25352008-08-06 Chong Yidong <cyd@stupidchicken.com>
2536
2537 * xdisp.c (try_scrolling): Use iterator to find the scroll margin,
2538 instead of window-end which does the wrong thing at eob.
2539 (try_cursor_movement): Minor optimization.
2540 (redisplay_window): If scroll margin is defined, don't assume
2541 window doesn't need scrolling.
2542
25432008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
2544
2545 * config.in: Regenerate.
2546
2547 * Makefile.in: Move nsXXX.m dependencies into big alphabetical list.
2548 (mostlyclean): Don't delete *.d under NS.
2549
2550 * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER.
2551
25522008-08-06 Kenichi Handa <handa@m17n.org>
2553
2554 * xfont.c (xfont_list_family): Return a list of symbols, not strings.
2555
25562008-08-06 Andreas Schwab <schwab@suse.de>
2557
2558 * config.in: Regenerate.
2559
25602008-08-05 Chong Yidong <cyd@stupidchicken.com>
2561
2562 * xdisp.c (redisplay_window): Don't enforce scroll-margin when
2563 forcing a window start.
2564
2565 * fileio.c (Vauto_save_list_file_name): Move here from file.el.
2566 (auto_save_1): Update modtime when auto-save-list-file-name is on.
2567
25682008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2569
2570 * emacs.c (main): Under NS, set working dir to HOME when get a "psn"
2571 argument.
2572
25732008-08-05 Juanma Barranquero <lekktu@gmail.com>
2574
2575 * buffer.c (syms_of_buffer) <scroll-up-aggressively>:
2576 <scroll-down-aggressively, before-change-functions>:
2577 <after-change-functions>: Reflow docstrings.
2578
25792008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2580 Ken Raeburn <raeburn@gnu.org>
2581
2582 Dock menu customization, based on a patch by Ken Raeburn, plus some
2583 other fixes.
2584 * nsmenu.m (dockMenu): New variable.
2585 (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17.
2586
2587 * nsterm.h (dockMenu): Declare.
2588
2589 * nsterm.m (KEY_NS_NEW_FRAME): New definition.
2590 (ns_term_init): Initialize dockMenu.
2591 (EmacsApp -newFrame:, -applicationDockMenu:): New methods.
2592 (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame
2593 left.
2594
2595 * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA.
2596
25972008-08-04 Chong Yidong <cyd@stupidchicken.com>
2598
2599 * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it.
2600
2601 * config.in: Regenerate.
2602
26032008-08-04 Seiji Zenitani <zenitani@mac.com>
2604
2605 * nsfns.m (x-create-frame): Set the frame parameter alpha to nil.
2606
26072008-08-04 Chong Yidong <cyd@stupidchicken.com>
2608
2609 * nsterm.h (find_and_call_menu_selection): Fix prototype.
2610
26112008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2612
2613 * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS.
2614
2615 * keyboard.h: Comment an #endif.
2616
2617 * lisp.h (have_menus_p): Adjust comment.
2618
2619 * menu.c (find_and_return_menu_selection): Fix comparison with
2620 client_data.
2621
2622 * nsmenu.m (popup_activated_flag): New variable.
2623 (popup_activated): New function.
2624 (menu-or-popup-active-p): New exported lisp definition.
2625 (ns_popup_menu): Set popup_activated_flag. Call discard_menu_items()
2626 when popup done.
2627 (ns_popup_dialog): Set popup_activated_flag.
2628
2629 * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger
2630 version for GNUstep (handled by conditional typedef in nsterm.m).
2631 (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now
2632 in rgb.txt).
2633
2634 * process.c (init_process): Use DARWIN_OS, not DARWIN.
2635
2636 * sysselect.h: Conditionalize init_process undef on DARWIN_OS.
2637
2638 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS.
2639
2640 * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS,
2641 shortcircuit if popup_activated like GTK and X toolkit.
2642
2643 * m/inter386.h: Change DARWIN to DARWIN_OS.
2644
2645 * s/darwin.h: Add #define DARWIN_OS. Get rid of C_SWITCH_SYSTEM def.
2646 Change LIBS_MACGUI to LIBS_NSGUI. Move temacs-conditionalized defs
2647 closer to C_SWITCH_SYSTEM_TEMACS so usage is understood. Expand
2648 comment on NO_SOCK_SIGIO.
2649
26502008-08-03 Chong Yidong <cyd@stupidchicken.com>
2651
2652 * nsterm.m (windowDidResize): Remove stopModal call.
2653
26542008-08-03 Andreas Schwab <schwab@suse.de>
2655
2656 * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define.
2657 (check_memory_limits): Don't handle HAVE_GETRLIMIT here.
2658
26592008-08-02 Chong Yidong <cyd@stupidchicken.com>
2660
2661 * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin.
2662 Don't use uninitialized pointer variable when using getrlimit.
2663
26642008-08-02 Jason Rumney <jasonr@gnu.org>
2665
2666 * w32font.c (compute_metrics): Don't mess with glyph_idx setting here.
2667
26682008-08-02 Eli Zaretskii <eliz@gnu.org>
2669
2670 * alloc.c (NSTATICS): Bump to 0x640.
2671
2672 * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
2673
2674 * lisp.h: Add prototype for directory_files_internal.
2675
2676 * process.c (Fsystem_processes_list, Fsystem_process_attributes):
2677 New functions.
2678 (syms_of_process): Defsubr them. Add initializations for various
2679 Q* symbols used in procfs_system_process_attributes.
2680 (procfs_list_system_processes, procfs_system_process_attributes)
2681 [HAVE_PROCFS]: New functions.
2682 (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname)
2683 (procfs_get_total_memory): New functions.
2684
26852008-08-01 Juanma Barranquero <lekktu@gmail.com>
2686
2687 * xfaces.c (Fx_load_color_file): Fix previous change;
2688 it is #ifdef WINDOWSNT, not WINDOWS_NT.
2689
26902008-08-01 Michael Albinus <michael.albinus@gmx.de>
2691
2692 * dbusbind.c (xd_read_message): Handle D-Bus error messages.
2693
26942008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2695
2696 * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard.
2697
26982008-08-01 Chong Yidong <cyd@stupidchicken.com>
2699
2700 * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha.
2701
2702 * nsterm.m (EmacsApp -application:openFiles:): GNUstep does not
2703 define NSApplicationDelegateReplySuccess.
2704 (EmacsView -converstationIdentifier): Use long instead of
2705 NSInteger for GNUstep, since it doesn't have NSInteger.
2706
2707 * xmenu.c: Revert last change.
2708
2709 * keyboard.h: Fix last change.
2710
27112008-08-01 Juanma Barranquero <lekktu@gmail.com>
2712
2713 * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting
2714 on Windows.
2715
27162008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2717
2718 Warning clearing and clean-up in NS port.
2719 * keyboard.h (xmalloc_widget_value, digest_single_submenu):
2720 Add prototypes.
2721 * nsgui.h (FACE_DEFAULT): Remove, unused.
2722 (XGCValues): Change colors to unsigned long.
2723 * nsterm.h (EmacsApp): Add declaration of all methods implemented in
2724 nsterm.m.
2725 (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class.
2726 (ns_list_fonts): Remove, unused.
2727 (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes.
2728 * nsfns.m (interpret_services_menu): Use NSMenuItem class.
2729 * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc.
2730 (nsfont_draw): Compare face colors to 0, not nil.
2731 * nsmenu.m (struct widget_value): Drop unneeded declaration.
2732 (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:)
2733 (-addSubmenuWithTitle:): Use NSMenuItem class.
2734 (ns_popup_menu): Use NO, not NULL, for enabled setting.
2735 * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0.
2736 (ns_clip_to_row): Make gc arg a BOOL.
2737 (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in
2738 ns_clip_to_row() call.
2739 (ns_draw_glyph_string): Drop face comparison to ~0 (no longer
2740 used). Cast FRAME_FONT assignments.
2741 (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:.
2742 (ns_string_to_lispmod): Change arg to const char.
2743 (ns_term_init): Use NSMenuItem class.
2744 (EmacsApp -openFile:): Move to different section of file.
2745 (EmacsApp -application:openFiles:): Don't return a value, call
2746 -replyToOpenOrPrint:.
2747 (EmacsView -keyDown:): Fix up cast.
2748 (EmacsView -converstationIdentifier): Use NSInteger instead of long.
2749 (EmacsView -menuDown:): Cast tag in call to
2750 find_and_call_menu_selection().
2751 (ns_list_fonts): Remove, unused.
2752 (ns_font_to_xlfd): Make static. Cast result of UTF8String.
2753 (ns_fontname_to_xlfd): Make static.
2754 * w32menu.c (xmalloc_widget_value, digest_single_submenu):
2755 Remove prototypes (now in keyboard.h).
2756 (next_menubar_widget_id): Remove, unused.
2757 * xmenu.c (xmalloc_widget_value, digest_single_submenu):
2758 Remove prototypes (now in keyboard.h).
2759 * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused.
2760
27612008-08-01 Dan Nicolaescu <dann@ics.uci.edu>
2762
2763 * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o)
2764 (floatfns.o): Depend on syssignal.h.
2765 (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC).
2766
2767 * systty.h: Fix previous change that removed BSD_TERMIOS.
2768 Add comments to #ifdefs.
2769
27702008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2771
2772 * w32fns.c (w32-load-color-file): Remove.
2773 (x-open-connection): Use renamed Fx_load_color_file.
2774 * xfaces.c (x-load-color-file): Add.
2775 * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of
2776 Emacs.clr.
2777 (hide_hourglass): BLOCK_INPUT before UNBLOCK.
2778
27792008-07-31 Michael Albinus <michael.albinus@gmx.de>
2780
2781 * dbusbind.c (Fdbus_call_method_asynchronously)
2782 (Fdbus_method_error_internal): New defuns.
2783 (xd_read_message): Handle also reply messages.
2784 (Vdbus_registered_functions_table): Extend docstring.
2785
27862008-07-31 Juanma Barranquero <lekktu@gmail.com>
2787
2788 * keyboard.c (gobble_input): Fix previous change.
2789
27902008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
2791
2792 * bitmaps/README:
2793 * xfns.c:
2794 * termcap.c:
2795 * term.c:
2796 * syswait.h:
2797 * systty.h:
2798 * systime.h:
2799 * syssignal.h:
2800 * sysdep.c:
2801 * process.h:
2802 * process.c:
2803 * print.c:
2804 * ndir.h:
2805 * lread.c:
2806 * keyboard.c:
2807 * getpagesize.h:
2808 * floatfns.c:
2809 * fileio.c:
2810 * emacs.c:
2811 * doc.c:
2812 * dispnew.c:
2813 * dired.c:
2814 * data.c:
2815 * callproc.c:
2816 * buffer.c:
2817 * README:
2818 * Makefile.in:
2819 * s/template.h:
2820 * s/msdos.h:
2821 * m/vax.h: Remove VMS support.
2822 * s/vms.h:
2823 * vlimit.h:
2824 * uaf.h:
2825 * temacs.opt:
2826 * param.h:
2827 * ioctl.h: Remove file.
2828
28292008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
2830
2831 * s/ms-w32.h (MULTI_KBOARD): Remove.
2832 * xterm.c:
2833 * xselect.c:
2834 * xfns.c:
2835 * window.c:
2836 * w32term.c:
2837 * w32fns.c:
2838 * terminal.c:
2839 * termhooks.h:
2840 * term.c:
2841 * sysdep.c:
2842 * keyboard.h:
2843 * keyboard.c:
2844 * frame.h:
2845 * frame.c:
2846 * frame.c: Remove references to MULTI_KBOARD, it is now the default.
2847 * config.in: Regenerate.
2848
28492008-07-30 Jason Rumney <jasonr@gnu.org>
2850
2851 * w32font.h (struct w32font_info): Use unicode version of textmetrics.
2852
2853 * w32font.c (w32font_encode_char): Leave as unicode if in range.
2854 (w32font_open_internal): Get unicode version of textmetrics.
2855 Don't enable or disable glyph indices here.
2856 (w32font_open): Disable use of glyph indices.
2857
2858 * w32uniscribe.c (uniscribe_open): Enable use of glyph indices.
2859
28602008-07-30 Chong Yidong <cyd@stupidchicken.com>
2861
2862 * minibuf.c (Vread_buffer_function): Doc fix.
2863
28642008-07-30 John Paul Wallington <jpw@pobox.com>
2865
2866 * minibuf.c (read_buffer_completion_ignore_case): New var.
2867 (Fread_buffer): Use it.
2868
28692008-07-30 Dan Nicolaescu <dann@ics.uci.edu>
2870
2871 * systty.h (sensemode): Remove empty #if. Remove reference to
2872 BSD_TERMIOS, unused.
2873
2874 * sysdep.c: Remove reference to DGUX.
2875 (closedir): Remove reference to BROKEN_CLOSEDIR, unused.
2876
2877 * config.in: Regenerate.
2878
28792008-07-30 Jason Rumney <jasonr@gnu.org>
2880
2881 * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size.
2882
28832008-07-29 Jason Rumney <jasonr@gnu.org>
2884
2885 * w32uniscribe.c (uniscribe_shape): Avoid using context if cache
2886 is populated.
2887 (uniscribe_encode_char): Always use uniscribe.
2888 Avoid using context if cache is populated.
2889
28902008-07-29 Jan Djärv <jan.h.d@swipnet.se>
2891
2892 * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to
2893 open menu.
2894
2895 * gtkutil.c (menu_nav_ended): Remove.
2896 (create_menus): Remove signal connect for menu_nav_ended.
2897
28982008-07-28 Chong Yidong <cyd@stupidchicken.com>
2899
2900 * xdisp.c (redisplay_window): Check return value of
2901 compute_window_start_on_continuation_line before forcing a window
2902 start.
2903
29042008-07-28 Jason Rumney <jasonr@gnu.org>
2905
2906 * w32font.c (w32font_text_extents): Use w32_metric_cache consistently.
2907
2908 * w32term.c (w32_enable_unicode_output, cleartype_active):
2909 Remove obsolete display options.
2910 (x_draw_glyph_string_background): Don't use old cleartype_active
2911 workaround.
2912 (w32_initialize): Remove cleartype_active initialization.
2913 (syms_of_w32term): Remove w32_enable_unicode_output initialization.
2914
29152008-07-28 Andreas Schwab <schwab@suse.de>
2916
2917 * lisp.h (init_weak_hash_tables, syms_of_font)
2918 (xd_read_queued_messages, syms_of_dbusbind): Declare.
2919 (remove_hash_entry): Don't declare.
2920 * eval.c (maybe_call_debugger): Make static and move before use.
2921 * gtkutil.c: Include <X11/Xft/Xft.h> if HAVE_XFT.
2922 * xdisp.c: Include "gtkutil.h" if USE_GTK.
2923 * xterm.h (x_set_frame_alpha): Declare.
2924
29252008-07-28 Jan Djärv <jan.h.d@swipnet.se>
2926
2927 * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24.
2928 (create_menus): Connect selection-done to menu_nav_ended.
2929
29302008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
2931
2932 * nsfns.m (x-create-frame): Add copy of parms argument to beginning.
2933 Set Vx_resource_name to a fallback. Replace read of 'buffered'
2934 parameter with read of 'alpha' one.
2935 (Qns_frame_parameter): Remove.
5582fbc7 2936 * nsselect.m (selection-coding-system)
aac0c6e3
MR
2937 (next-selection-coding-system, Vselection_coding_system)
2938 (Vnext_selection_coding_system): Drop.
2939
29402008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
2941
2942 * nsfns.m (do-applescript, do_applescript): Rename to
2943 ns-do-applescript, ns_do_applescript, and move within file.
2944
29452008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
2946
2947 Remove support for Mac Carbon.
2948 * mactoolbox.c:
2949 * macterm.h:
2950 * macterm.c:
2951 * macselect.c:
2952 * macmenu.c:
2953 * macgui.h:
2954 * macfns.c:
2955 * mac.c: Remove file.
2956 * s/darwin.h:
2957 * m/intel386.h:
2958 * xfaces.c:
2959 * xdisp.c:
2960 * window.c:
2961 * tparam.c:
2962 * termhooks.h:
2963 * termcap.c:
2964 * term.c:
2965 * syssignal.h:
2966 * sysselect.h:
2967 * sysdep.c:
2968 * process.c:
2969 * lread.c:
2970 * lisp.h:
2971 * keyboard.c:
2972 * image.c:
2973 * fringe.c:
2974 * frame.h:
2975 * frame.c:
2976 * fontset.c:
2977 * font.h:
2978 * font.c:
2979 * fns.c:
2980 * fileio.c:
2981 * emacs.c:
2982 * dispnew.c:
2983 * dispextern.h:
2984 * config.in:
2985 * atimer.c:
2ae37cf0 2986 * Makefile.in: Remove code for Carbon.
aac0c6e3 2987
f0131492 29882008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aac0c6e3
MR
2989
2990 * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.
2991
29922008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2993
2994 * macterm.h (kCGBitmapByteOrder32Host): New define for
2995 non-universal SDKs.
2996
2997 * image.c (mac_create_cg_image_from_image, image_load_image_io)
2998 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
2999
3000 * macterm.c (XDrawLine, XCreatePixmapFromBitmapData)
3001 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
3002
30032008-07-26 David Robinow <drobinow@gmail.com> (tiny change)
3004
3005 * w32inevt.c: Include dispextern.h.
3006
30072008-07-26 Andreas Schwab <schwab@suse.de>
3008
3009 * print.c (print_object): Fix off-by-one in last change.
3010
30112008-07-25 Juanma Barranquero <lekktu@gmail.com>
3012
3013 * term.c (syms_of_term): Don't initialize default_orig_pair,
3014 default_set_foreground and default_set_background on Windows.
3015
30162008-07-25 Jason Rumney <jasonr@gnu.org>
3017
3018 * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to
3019 ScriptItemize. Clean up return value checking. Remove unused
3020 variables.
3021 (uniscribe_encode_char): Encode non-BMP characters with uniscribe
3022 shaping engine.
3023
3024 * w32font.c (w32font_has_char): Handle the case where we can't
3025 determine the script for a character.
3026
30272008-07-25 Chong Yidong <cyd@stupidchicken.com>
3028
3029 * term.c (syms_of_term): Initialize default_orig_pair,
3030 default_set_foreground, and default_set_background.
3031
3032 * getloadavg.c (nl): Rename to name_list to avoid ncurses.h
3033 clash (bug#86).
3034 (getloadavg): Callers changed.
3035
3036 * image.c (svg_load_image): Fix last change.
3037 (svg_load_image): Use rsvg_handle_get_dimensions to check that
3038 image size is valid. Use g_object_unref instead of deprecated
3039 rsvg_handle_free to free rsvg handle.
3040 (x_from_xcolors): Don't initialize pixmap (silence compiler).
3041
30422008-07-25 Jason Rumney <jasonr@gnu.org>
3043
3044 * w32font.c (w32font_encode_char): Encode characters outside BMP as
3045 surrogates before looking up glyph index.
3046 (w32font_text_extents): Encode as surrogates if falling back to
3047 functions that need UTF-16 wide chars.
3048
3049 * w32uniscribe.c (uniscribe_encode_char): Encode characters outside
3050 BMP as surrogates before looking up glyph index.
3051
30522008-07-25 Chong Yidong <cyd@stupidchicken.com>
3053
3054 * image.c (svg_load_image): Check for failure in return value of
3055 rsvg_handle_get_pixbuf. Free rsvg handle when done.
3056
30572008-07-25 Jason Rumney <jasonr@gnu.org>
3058
3059 * w32font.c (Fx_select_font): Reverse sense of second arg.
3060
30612008-07-24 Stefan Monnier <monnier@iro.umontreal.ca>
3062
3063 * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos)
3064 (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions.
3065
3066 * puresize.h (PURESIZE_CHECKING_RATIO): New macro.
3067 (PURESIZE): Use it.
3068
30692008-07-24 Dan Nicolaescu <dann@ics.uci.edu>
3070
3071 * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs.
3072 * m/alpha.h (TEXT_END):
3073 * m/ibmrs6000.h (TEXT_END):
3074 * m/macppc.h (TEXT_END):
3075 * s/darwin.h (TEXT_END):
3076 * s/msdos.h (TEXT_END): Remove, unused.
3077 * s/gnu-linux.h (BSD_PGRPS): Add a comment.
3078 * s/cygwin.h: Remove comment.
3079
3080 * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused.
3081 (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES.
3082 * m/intel386.h (DOT_GLOBAL_START):
3083 * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES.
3084 (USG): Remove, file not used on USG platforms.
3085
3086 * Makefile.in (HAVE_X11): Remove empty #else.
3087
30882008-07-24 Andreas Schwab <schwab@suse.de>
3089
3090 * fileio.c (Finsert_file_contents): Properly adjust undo list
3091 after format conversion.
3092
30932008-07-24 Jan Djärv <jan.h.d@swipnet.se>
3094
3095 * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG.
3096 (menu_nav_ended): Remove.
3097 (create_menus): Remove signal connect for menu_nav_ended.
3098 (xg_update_menubar): Also take deactivate_cb as parameter, pass it to
3099 create_menus.
3100 (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar.
3101
31022008-07-23 Jason Rumney <jasonr@gnu.org>
3103
3104 * w32font.c (w32_enumfont_pattern_entity): Return height consistent
3105 with opened font.
3106 (w32font_open): Set font type to gdi.
3107
3108 * w32uniscribe.c (uniscribe_open): Set font type to uniscribe.
3109
31102008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
3111
3112 * s/usg5-4.h (ADDR_CORRECT): Remove, unused.
3113 * unexaix.c (ADDR_CORRECT): Remove conditional, the only user
3114 defines it.
3115 * unexec.c (ADDR_CORRECT): Define unconditionally.
3116
3117 * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove.
3118
3119 * unexec.c: Remove code depending on !COFF and USG, the file is
3120 not used for such systems.
3121
3122 * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
3123 * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused.
3124 (LD_SWITCH_SYSTEM_1): Remove, update users.
3125
3126 * s/darwin.h (DATA_END):
3127 * m/intel386.h (DATA_END):
3128 * m/ibmrs6000.h (DATA_END):
3129 * m/alpha.h (DATA_END): Remove, unused.
3130
3131 * config.in: Regenerate.
3132 * s/ms-w32.h (subprocesses): Define unconditionally.
3133 * s/template.h (subprocesses): Update comment.
3134 * s/vms.h (subprocesses):
3135 * s/usg5-4.h (subprocesses):
3136 * s/hpux10-20.h (subprocesses):
3137 * s/gnu-linux.h (subprocesses):
3138 * s/cygwin.h (subprocesses):
3139 * s/bsd-common.h (subprocesses):
3140 * s/aix4-2.h (subprocesses):
3141 * s/darwin.h (subprocesses): Do not define, defined by default now.
3142
3143 * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused.
3144 Remove all references.
3145 (temacs): Add GNUstep specific ld flags.
3146
3147 * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing,
3148 similarly to what X does.
3149
31502008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
3151
3152 * nsfns.m (x-list-fonts): Remove.
3153 (syms_of_nsfns): Drop the x-list-fonts declaration.
3154 * nsterm.m: Get rid of remaining "//" comments.
3155
31562008-07-22 Chong Yidong <cyd@stupidchicken.com>
3157
3158 * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
3159
3160 * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p)
3161 (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal)
3162 (Fns_own_selection_internal, Fx_disown_selection_internal)
3163 (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal):
3164
3165 * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /*
3166 ... */' style of docstrings. Doc fixes.
3167
31682008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
3169
3170 * terminfo.c (UP, BC, PC): Undo previous change.
3171
3172 * nsfns.m: Rename ns prefixed functions/variables to the
3173 corresponding x versions. Update references.
3174
31752008-07-22 Stefan Monnier <monnier@iro.umontreal.ca>
3176
3177 * syntax.c (char_quoted): Check "charpos > beg" before decrementing.
3178
31792008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
3180
3181 * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):
3182 Remove forwarding functions.
3183 (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make
3184 non-static.
3185 (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make
3186 non-static.
3187 (ns_frame_parm_handlers): Use the new names.
3188 (syms_of_nsfns): Move to the end of file.
3189
3190 * nsterm.m (syms_of_nsterm): Move to the end of file.
3191
3192 * dispnew.c (init_display): Remove code for X10.
3193
31942008-07-22 Jason Rumney <jasonr@gnu.org>
3195
3196 * w32proc.c (Fw32_long_file_name): Don't append dir separator to
3197 bare drive.
3198
31992008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
3200
3201 * nsterm.m (syms_of_nsterm): Remove debugging println.
3202
32032008-07-22 David Reitter <david.reitter@gmail.com>
3204
3205 * nsfns.m (do_applescript, F_do_applescript): NS version of the
3206 Carbon implementation of the same functionality: execute arbitrary
3207 AppleScript code.
3208
32092008-07-21 Adrian Robert <Adrian.B.Robert@gmail.com>
3210
3211 * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
3212 (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
3213 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
3214 (Fx_display_mm_height, Fx_display_mm_width)
3215 (Fx_display_backing_store, Fx_display_visual_class)
3216 (Fx_display_save_under, Fx_open_connection)
3217 (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
3218 (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
3219 (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
3220 (Fx_display_pixel_width, Fx_display_pixel_height)
3221 (Fx_display_usable_bounds, Fx_display_planes)
3222 (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
3223 ... */' style of docstrings.
3224
32252008-07-21 Dan Nicolaescu <dann@ics.uci.edu>
3226
3227 * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
3228 on this platform.
3229 (mips):
3230 * m/iris4d.h (mips): Do not define.
3231 * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
3232
3233 * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
3234
3235 * image.c:
3236 * nsfns.m:
3237 * nsselect.m:
3238 * nsterm.h:
3239 * nsterm.m: Rename ns prefixed functions/variables to the
3240 corresponding x versions. Update references.
3241
3242 * m/ibms390x.h (NO_REMAP): Do not undefine.
3243
3244 * m/amdx86-64.h: Use SOLARIS2 instead of sun.
3245
32462008-07-21 Chong Yidong <cyd@stupidchicken.com>
3247
3248 * nsfns.m: Change NS to Nextstep in docstrings and error messages.
3249 (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
3250 (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
3251 (Fns_server_vendor, Fns_server_version, Fns_display_screens)
3252 (Fns_display_mm_height, Fns_display_mm_width)
3253 (Fns_display_backing_store, Fns_display_visual_class)
3254 (Fns_display_save_under, Fns_open_connection)
3255 (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
3256 (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
3257 (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
3258 (Fns_display_pixel_width, Fns_display_pixel_height)
3259 (Fns_display_usable_bounds, Fx_display_planes)
3260 (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
3261
32622008-07-21 Ami Fischman <ami@fischman.org> (tiny change)
3263
3264 * print.c (print_object): Check print_depth before searching for
3265 circularities.
3266
32672008-07-21 Michael Albinus <michael.albinus@gmx.de>
3268
3269 * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
3270 only sprintf.
3271
32722008-07-21 Kenichi Handa <handa@m17n.org>
3273
3274 * ftfont.c (adjust_anchor): Check if DeltaValue is not NULL.
3275
32762008-07-20 Andreas Schwab <schwab@suse.de>
3277
3278 * syntax.c (find_start_pos, find_start_value)
3279 (find_start_value_byte, find_start_begv, find_defun_start)
3280 (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions.
3281
32822008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
3283
3284 * s/sol2-3.h: Insert contents of s/sol2.h.
3285 (LD_SWITCH_SYSTEM): Remove redundant definition.
3286 * s/sol2.h: Remove, unused.
3287
32882008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
3289
3290 * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV.
3291
32922008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
3293
3294 * Makefile.in (ns_appdir): Fix typo in find command.
3295
32962008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
3297
3298 * m/intel386.h (NO_REMAP): Do no define for USG, not used.
3299
3300 * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
3301 added not supported anymore.
3302
3303 * s/usg5-4-2.h (LIBS_SYSTEM):
3304 * s/sol2.h (LIBS_SYSTEM): Do not undefine.
3305
3306 * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
3307 * s/lynxos.h (GETPGRP_NO_ARG):
3308 * s/hpux10-20.h (NO_SIOCTL_H):
3309 * s/gnu.h (GETPGRP_NO_ARG):
3310 * s/gnu-linux.h (NO_SIOCTL_H):
3311 * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
3312 * s/cygwin.h (GETPGRP_NO_ARG):
3313 * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
3314 (C_DEBUG_SWITCH): Remove duplicate definition.
3315
3316 * m/ibms390.h: Remove boilerplate comments.
3317
3318 * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
3319
3320 * process.c (HAVE_SERIAL): Consolidate ifdefs.
3321 (wait_reading_process_output): Remove code for SunOS, platform not
3322 supported anymore. Use SOLARIS2 instead of sun.
3323
33242008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3325
3326 * font.c (font_open_by_name): Under NS, default lface height to zero.
3327 (font_open_for_lface): Under NS, set size based on frame fontsize.
3328 * nsterm.m (EmacsView-changeFont:): Remove some commented code.
3329 * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
3330
33312008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3332
3333 * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
3334 (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
3335 DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
3336 YES/NO.
3337 * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
3338 * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
3339 * Makefile.in (clean): Clear out build destination dir.
3340
33412008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3342
3343 * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
3344 xterm, xselect.
3345 * lisp.h: Remove declaration of hash_remove.
3346 * nsgui.h: Remove redefinitions of hash_remove.
3347 * fns.c (hash_remove): Rename to hash_remove_from_table.
3348
33492008-07-19 Seiji Zenitani <zenitani@mac.com>
3350
3351 * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
3352 strdup() the family UTF8String before modifying it.
3353
33542008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3355
3356 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
3357 NS_FACE_BACKGROUND with 0 instead of nil.
3358 * nsfont.m (nsfont_draw): Same.
3359
33602008-07-19 Chong Yidong <cyd@stupidchicken.com>
3361
3362 * nsfns.m (ns_set_background_color): Fix crash.
3363
33642008-07-18 Chong Yidong <cyd@stupidchicken.com>
3365
3366 * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
3367
33682008-07-18 Dan Nicolaescu <dann@ics.uci.edu>
3369
3370 * puresize.h (BASE_PURESIZE): Increase to 1240000.
3371
33722008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3373
3374 * gtkutil.c: Include <config.h> instead of "config.h".
3375
3376 * lisp.h (Foverlay_buffer): Add EXFUN.
3377
3378 * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
3379 child process to complete child_setup. Undo 2005-09-21 change.
3380
3381 * s/darwin.h: Mention setsid after vfork.
3382
33832008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3384
3385 * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
3386 Depend on macgui.h.
3387
3388 * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
3389 gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
3390
3391 * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
3392 and f19.
3393 [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
3394
3395 * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
3396 (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
3397 Remove enumerators.
3398
3399 * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
3400 Check if FACE_FROM_ID returns NULL.
3401
34022008-07-17 David Robinow <drobinow@gmail.com> (tiny change)
3403
3404 * w32inevt.c (change_frame_size): Remove extern declaration.
3405 (resize_event, maybe_generate_resize_event): Pass SAFE arg to
3406 change_frame_size.
3407
34082008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
3409
3410 * getloadavg.c: Revert last change (2008-07-15).
3411
34122008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
3413
3414 * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
3415 set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc) set
3416 from configure.
3417
34182008-07-17 Dan Nicolaescu <dann@ics.uci.edu>
3419
3420 * s/sol2.h:
3421 * s/sol2-4.h: Reorganize conditionals.
3422
3423 * ecrt0.c: Remove code depending on m68000, not used anymore.
3424
3425 * fns.c (hash_remove): Make static.
3426 * lisp.h (hash_remove): Don't prototype.
3427
3428 * m/ibmrs6000.h:
3429 * m/ibms390x.h:
3430 * m/macppc.h: Remove boilerplate comments.
3431
3432 * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
3433 Solaris, which does not need them.
3434
3435 * m/vax.h: Remove comments about unsupported systems.
3436
3437 * s/darwin.h: Reorganize ifdefs.
3438
34392008-07-17 Andreas Schwab <schwab@suse.de>
3440
3441 * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
3442
34432008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
3444
3445 Use SDATA. Follow coding convention of placing operators at
3446 beginning of next line rather than end of previous line, and placing
3447 spaces around infix operators.
3448
3449 * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
3450 in case it was defined already.
3451 USE @GNUSTEP_MAKEFILES@ rather than envvars.
3452 * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
3453 ns_default.
3454 (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
3455 Lisp_Objects.
3456 * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
3457 (ns_defined_color, ns_color_to_lisp): Declare.
3458 * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
3459 (Fns_own_selection_internal): Make the big ugly hack more explicit, so
3460 it's accepted even with USE_LISP_UNION_TYPE.
3461 * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
3462 (update_frame_tool_bar): Remove apparently obsolete tests for
3463 non-integerness of f->tool_bar_lines.
3464 (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
3465 hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
3466 * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
3467 (nsfont_open): Don't confuse NULL for Qnil.
3468 * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
3469 * menu.h (find_and_call_menu_selection):
3470 * menu.c (find_and_call_menu_selection): Use just int for vector size.
3471 (find_and_return_menu_selection): Always return something.
3472 * frame.h: Include dispextern.h for Display_Info.
3473 (display_x_get_resource): Declare.
3474
34752008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
3476
3477 * syntax.c: Remove stdio.h include accidentally introduced in
3478 Emacs.app commit.
3479 * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
3480 NS_IMPL_COCOA.
3481 * keyboard.c (handle_async_input, input_available_signal): Remove
3482 BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
3483
34842008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
3485
3486 * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
3487 (ns_lisp_to_color): Don't mess with internal Lisp data fields.
3488 (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
3489 Use SDATA.
3490
3491 * keymap.c: Remove all NS-specific code.
3492 (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
3493 (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
3494 where_is_preferred_modifier, return a different value depending on how
3495 preferred is the binding.
3496 (where_is_internal): Adjust accordingly.
3497 (Fwhere_is_internal): Refresh where_is_preferred_modifier.
3498 Adjust to new preferred_sequence_p.
3499 (syms_of_keymap): Declare `where-is-preferred-modifier'.
3500 * keyboard.c (parse_solitary_modifier): Not static any more.
3501 * keyboard.h (parse_solitary_modifier): Declare.
3502
35032008-07-16 Andreas Schwab <schwab@suse.de>
3504
3505 * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
3506 of easymenu.
3507
35082008-07-16 Chong Yidong <cyd@stupidchicken.com>
3509
3510 * xdisp.c (move_it_in_display_line): Account for word wrap, so
3511 that we don't move off the line.
3512
35132008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
3514
3515 * keyboard.c (Qsuper): Remove.
3516 (parse_menu_item): Don't call where_is_internal specially for NS.
3517
35182008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
3519
3520 * s/gnu-linux.h: Remove boilerplate comments.
3521
3522 * m/alpha.h (__ELF__): Consolidate conditions.
3523
3524 * m/m68k.h (linux): Use GNU_LINUX instead.
3525 Remove boilerplate comments.
3526
3527 * m/intel386.h: Undo refactoring from previous change.
3528 (LIB_STANDARD): All systems that define USG define LIB_STANDARD
3529 too, remove dead code.
3530 (linux): Use GNU_LINUX instead.
3531
35322008-07-16 Jason Rumney <jasonr@gnu.org>
3533
3534 * w32gui.h: Repeat 26 June changes lost by last change.
3535
35362008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
3537
3538 * systty.h: Remove code for Aix on 386, unsupported platform.
3539
3540 * s/ms-w32.h: Remove boilerplate comments.
3541 (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
3542
3543 * s/gnu-linux.h (TERM): Remove support.
3544 (HAVE_SYSVIPC): Remove, unused.
3545 (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
3546 for this system.
3547
3548 * process.c: Remove support for IRIS, unused.
3549 Remove support for TERM, not relevant anymore.
3550
3551 * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
3552 used with the definition.
3553
3554 * s/aix4-2.h (static): Do not undef.
3555
3556 * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
3557 only used on Aix.
3558 (HAVE_SYSVIPC): Remove, unused.
3559
3560 * m/hp800.h (CANNOT_DUMP): Do not undef.
3561
3562 * m/alpha.h: Fix comment.
3563
3564 * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
3565 (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
3566 used by this configuration.
3567 * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
3568 * unexec.c: Remove code depending on HPUX and
3569 USG_SHARED_LIBRARIES, not used with this file. Remove code
3570 depending on IRIS, unused. Remove if 0-ed code.
3571
3572 * s/template.h: Remove comments about static.
3573
3574 * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
3575 Remove if 0-ed code.
3576 (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
3577 were the same as the default.
3578 * s/vms.h (BAUD_CONVERT): Remove, same as the default.
3579 Remove boilerplate comments.
3580 * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
3581 (HAVE_SYSVIPC): Remove, unused.
3582 (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
3583
3584 * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
3585 Remove boilerplate comments.
3586 * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
3587 Remove boilerplate comments.
3588 * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
3589 Remove boilerplate comments.
3590 * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
3591
3592 * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
3593 USG systems which do not use DATA_SEG_BITS.
3594 Refactor code. Remove boilerplate comments.
3595
3596 * m/ibms390.h:
3597 * m/m68k.h:
3598 * s/bsd-common.h:
3599 * s/cygwin.h:
3600 * s/darwin.h:
3601 * s/freebsd.h:
3602 * s/gnu.h:
3603 * s/msdos.h: Remove boilerplate comments.
3604
3605 * m/iris4d.h: Remove boilerplate comments and code for systems that
3606 do not use this file.
3607 (IRIS_4D): Remove, unused.
3608
3609 * m/mips.h: Remove boilerplate comments and code for systems that
3610 do not use this file.
3611 (SIGN_EXTEND_CHAR):
3612 * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
3613 * unexmips.c: Remove file, unused.
3614
3615 * editfns.c (Fuser_full_name): Replace the only use of
3616 USER_FULL_NAME with its value.
3617 * config.in: Regenerate.
3618
36192008-07-16 David Reitter <david.reitter@gmail.com>
3620
3621 * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
3622 easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
3623
36242008-07-16 Glenn Morris <rgm@gnu.org>
3625
3626 * emacs.c (system-type): Doc fix.
3627
36282008-07-15 Stefan Monnier <monnier@iro.umontreal.ca>
3629
3630 * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
3631 If the cache doesn't work, let's fix it, rather than work around it.
3632
36332008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
3634
3635 * Makefile.in: Correct additions for nsfont.o in last commit.
3636 * nsfont.m: New file (forgot last commit).
3637
36382008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
3639
3640 * callproc.c (set_initial_environment): Initialize
3641 Vprocess_environment under CANNOT_DUMP (fixes crash when
3642 batch-compiling for bootstrap).
3643
36442008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
3645 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3646
3647 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
3648 fix crash due to different init order.
3649
36502008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
3651
3652 Changes and additions for NeXTstep windowing system (Cocoa and
3653 GNUstep) support.
3654
3655 * Makefile.in:
3656 * config.in: Support defines and build commands for NS port.
3657 * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
3658 (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
3659 * dispextern.h: Include nsgui.h and add needed typedefs under NS
3660 windowing.
3661 (struct face): Add synth_ital field.
3662 * dispnew.c: Include nsterm.h when compiling under NS windowing.
3663 (init_display): Initialize Vinitial_window_system to "ns" when so
3664 compiled.
3665 * emacs.c: Include GSConfig.h when compiling under GNUstep.
3666 (display_arg): Use under NS.
3667 (main): Under NS, allocate autorelease pool and handle command line
3668 args. Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
3669 (standard_args): Add NS-specific args.
3670 (shut_down_emacs): Shut down NS terminal if compiled under NS.
3671 * font.c (DEFAULT_ENCODING): New variable.
3672 (font_find_for_lface): Use it.
3673 (syms_of_font): Load syms_of_nsfont under NS.
3674 * font.h: Declare nsfont_driver when compiled under NS.
3675 * fontset.c: When compiling under NS, include nsterm.h.
3676 (fontset_from_font): Autoconstruct fontset under NS.
3677 * frame.c (various): Under NS, include nsterm.h, add Qns window system
3678 symbol, document and use it.
3679 (do_switch_frame): When for_deletion under Cocoa, add
3680 Fraise_frame(Qnil).
3681 (x_set_frame_parameters): Ensure font attribute changes are picked up.
3682 (x_get_arg): Allow "yes" and "no" as boolean values.
3683 (syms_of_frame): Declare Qns. Init Vdefault_frame_scroll_bars to
3684 Qright under Cocoa.
3685 (focus-follows-mouse): Default to 0 under NS.
3686 * frame.h (enum output_method): Add output_ns.
3687 (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
3688 (FRAME_EXTERNAL_MENU_BAR): Use under NS.
3689 (FRAME_WINDOW_P): NS-specific definition.
3690 * fringe.c (max_used_fringe_bitmap): Make public.
3691 * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
3692 (getloadavg): Use NeXT code under descendant OS's.
3693 * image.c (includes and header section, x_create_bitmap_from_data)
3694 (x_create_bitmap_from_file, free_bitmap_record, image_background)
3695 (image_background_transparent, x_clear_image_1)
3696 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
3697 (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
3698 (x_to_xcolors, x_from_xcolors, x_disable_image)
3699 (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
3700 other GUIs, including XPM support using code originally written for
3701 Carbon GUI.
3702 (png_load, jpeg_load, tiff_load, gif_load): Add implementations
3703 using NS API.
3704 (image_ascent): Use font metrics macros instead of direct struct field
3705 access.
3706 * keyboard.c (includes): Add nsterm.h when compiling under NS.
3707 (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
3708 Also, handle NS as GTK for menu bar purposes.
3709 (make_lispy_event): Handle NS as other GUI windowing systems, and as X
3710 toolkit where they differ.
3711 (parse_menu_item): Prefer keybindings using 'super' modifier. Also,
3712 use cachelist, still needed under NS.
3713 * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
3714 (struct widget_value): Define it here for menu.c.
3715 * keymap.c (includes): Include modifier internals.
3716 (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
3717 NS.
3718 (where_is_internal, Fwhere_is_internal): When compiled under NS, add
3719 support for preferring sequences using certain modifiers, specified by
3720 the FIRSTONLY argument.
3721 * lisp.h (hash_remove): Rename to avoid name clash when compiling
3722 under NS GNUstep implementation.
3723 (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
3724 * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
3725 * menu.c: Include nsterm.h under NS.
3726 (single_menu_item, parse_single_submenu, xmalloc_widget_value)
3727 (free_menubar_widget_tree_value, update_submenu_strings)
3728 (find_and_call_menu_selection): Treat NS as X and NT.
3729 (find_and_return_menu_selection): New function, used for popup menus.
3730 * nsgui.h:
3731 * nsterm.h:
3732 * nsfns.m:
3733 * nsimage.m:
3734 * nsmenu.m:
3735 * nsselect.m:
3736 * nsterm.m: New files.
3737 * process.c (wait_reading_process_output): Under NS, call ns_select()
3738 instead of plain select().
3739 * syntax.c (char_quoted): Under NS, avoid a crash when called near
3740 beginning of buffer.
3741 * sysselect.h (init_process): Rename when compiling under Cocoa to
3742 avoid name conflict.
3743 * termhooks.h (display_info): Add ns_display_info to union.
3744 * terminal.c (Fterminal_live_p): Add ns to terminal types.
3745 * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
3746 COCOA environment.
3747 * unexnext.c: Update to work with mach API on Mac OS X, and to use new
3748 unexec() signature. (Note, this will dump, but the resulting file
3749 crashes; unexosx is used instead; keeping around for reference and
3750 possible aid in getting dump working under GNUstep.)
3751 * w32gui.h (button_type, widget_value): Remove definitions (now in
3752 keyboard.h).
3753 * window.c: Include nsterm.h when compiling under NS.
3754 * xdisp.c (includes): Include nsterm.h when compiling under NS.
3755 (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
3756 other GUI windowing systems.
3757 (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
3758 GTK.
3759 (x_consider_frame_title): Under NS, set icon type and frame
3760 modified-state indicator; use ns_set_name_as_filename() when using
3761 formatted title.
3762 (update_window_cursor): Make public when compiling under NS.
3763 (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
3764 (hourglass_atimer, Vhourglass_delay
3765 * xfaces.c (header section, init_frame_faces, clear_font_table)
3766 (defined_color, unload_color, x_face_list_fonts)
3767 (prepare_face_for_display): Add NS support parallel to other GUIs.
3768 Emulate GCs like other non-X GUIs.
3769 (split_font_name): Don't lowercase font name under NS.
3770 (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
3771 under NS.
3772 * s/darwin.h: Add support for compilation under NS.
3773
37742008-07-15 Jason Rumney <jasonr@gnu.org>
3775
3776 * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
3777 (w32_show_hourglass): Rename from show_hourglass.
3778 (w32_hide_hourglass): Rename from hide_hourglass.
3779 (DEFAULT_HOURGLASS_DELAY): Revert from last change.
3780 (Vhourglass_delay): Declare extern.
3781 (hourglass_started): Remove.
3782
3783 * xdisp.c (Vhourglass_delay): Remove static.
3784 (hourglass_started, start_hourglass, cancel_hourglass):
3785 Don't include these versions on WINDOWSNT.
3786
37872008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
3788
3789 * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
3790 variables (formerly in xfns.c).
3791 (show_hourglass, hide_hourglass): New prototypes (same).
3792 * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
3793 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
3794 in xfns.c).
3795 (syms_of_xdisp): Declare/initialize display-hourglass,
3796 hourglass-delay. Initialize hourglass_atimer, hourglass_shown_p.
3797 (hourglass_started, start_hourglass, cancel_hourglass): New functions,
3798 formerly in xfns.c.
3799 * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
3800 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
3801 (start_hourglass, cancel_hourglass): Remove.
3802 (show_hourglass, hide_hourglass): Remove prototypes and static
3803 modifiers.
3804 (syms_of_xfns): Remove display-hourglass, hourglass-delay,
3805 hourglass_atimer, hourglass_shown_p declaration/initialization.
3806 * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
3807 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
3808 (start_hourglass, cancel_hourglass): Remove.
3809 (show_hourglass, hide_hourglass): Remove prototypes and static
3810 modifiers.
3811 (syms_of_macfns): Remove display-hourglass, hourglass-delay,
3812 hourglass_atimer, hourglass_shown_p declaration/initialization.
3813 * w32fns.c (display_hourglass_p, Vhourglass_delay)
3814 (DEFAULT_HOURGLASS_DELAY): Remove.
3815 (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
3816 hourglass_shown_p declaration/initialization.
3817
38182008-07-14 Jason Rumney <jasonr@gnu.org>
3819
3820 * w32fns.c (w32_get_arg): Remove wrapper function.
3821 (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
3822 directly.
3823 (Fx_create_frame): Sync with xfns.c. Use x_get_arg directly.
3824
38252008-07-14 Kenichi Handa <handa@m17n.org>
3826
3827 * xfont.c (xfont_open): Add workaround for X's bug.
3828
38292008-07-14 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
3830
3831 * fontset.c: Include <stdio.h> unconditionally.
3832
38332008-07-13 Michael Albinus <michael.albinus@gmx.de>
3834
3835 * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
3836 for filtering.
3837
38382008-07-13 Dan Nicolaescu <dann@ics.uci.edu>
3839
3840 * s/vms.h: Use __GNUC__ instead of _GNUC_.
3841
3842 * m/macppc.h:
3843 * m/alpha.h: Use GNU_LINUX instead of LINUX. Reorganize conditionals.
3844
3845 * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
3846 (SPECIAL_EMACS_INT):
3847 * m/ia64.h (SPECIAL_EMACS_INT):
3848 * m/amdx86-64.h (SPECIAL_EMACS_INT):
3849 * s/gnu.h (NLIST_STRUCT):
3850 * s/aix4-2.h (X11R5_INHIBIT_I18N):
3851 * s/gnu-linux.h (LINUX):
3852 * s/msdos.h (HAVE_FACES):
3853 * s/ms-w32.h (HAVE_FACES): Don't define, unused.
3854
3855 * systty.h:
3856 * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
3857 anymore.
3858
38592008-07-12 Dan Nicolaescu <dann@ics.uci.edu>
3860
3861 * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was
3862 always defined as int.
3863
3864 * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
3865 * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
3866 * s/gnu-linux.h (HAVE_WAIT_HEADER):
3867 * s/freebsd.h (HAVE_WAIT_HEADER):
3868 * s/bsd-common.h (HAVE_UNION_WAIT):
3869 * s/aix4-2.h (HAVE_WAIT_HEADER):
3870 * m/mips.h (HAVE_UNION_WAIT):
3871 * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
3872 (COFF, static): Do not define, they are undefined later in the file.
3873
3874 * process.c (update_status): Don't use a union.
3875 (status_convert):
3876 (sigchld_handler): Use int instead of WAITTYPE.
3877
38782008-07-12 Chong Yidong <cyd@stupidchicken.com>
3879
3880 * indent.c (Fvertical_motion): Restore hscroll before moving to
3881 goal column.
3882
38832008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
3884
3885 * lisp.h: Remove left over code.
3886
38872008-07-11 Andreas Schwab <schwab@suse.de>
3888
3889 * lisp.h: Fix logic in last change.
3890
3891 * menu.h: New file.
3892 * menu.c: Include it.
3893 * xmenu.c: Likewise.
3894 * Makefile.in: Update dependencies.
3895
38962008-07-11 Kenichi Handa <handa@m17n.org>
3897
3898 * fontset.c (fontset_from_font): Cancel the previous change.
3899
39002008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
3901
3902 * lisp.h:
3903 * w32heap.c:
3904 * emacs.c:
3905 * alloc.c: Replace all references of NO_UNION_TYPE with
3906 USE_LISP_UNION_TYPE.
3907
3908 * m/xtensa.h (NO_UNION_TYPE):
3909 * m/vax.h (NO_UNION_TYPE):
3910 * m/template.h (NO_UNION_TYPE):
3911 * m/sparc.h (NO_UNION_TYPE):
3912 * m/mips.h (NO_UNION_TYPE):
3913 * m/macppc.h (NO_UNION_TYPE):
3914 * m/m68k.h (NO_UNION_TYPE):
3915 * m/iris4d.h (NO_UNION_TYPE):
3916 * m/intel386.h (NO_UNION_TYPE):
3917 * m/ibms390x.h (NO_UNION_TYPE):
3918 * m/ibms390.h (NO_UNION_TYPE):
3919 * m/ibmrs6000.h (NO_UNION_TYPE):
3920 * m/ia64.h (NO_UNION_TYPE):
3921 * m/hp800.h (NO_UNION_TYPE):
3922 * m/arm.h (NO_UNION_TYPE):
3923 * m/amdx86-64.h (NO_UNION_TYPE):
3924 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
3925 defining it the same.
3926
39272008-07-10 Chong Yidong <cyd@stupidchicken.com>
3928
3929 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
3930
39312008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
3932
3933 * fileio.c:
3934 * sysdep.c
3935 * systty.h:
3936 * m/ibmrs6000.h:
3937 * m/iris4d.h:
3938 * s/aix4-2.h:
3939 * s/freebsd.h:
3940 * s/gnu-linux.h:
3941 * s/hpux10-20.h:
3942 * s/hpux11.h:
3943 * s/netbsd.h:
3944 * s/sol2-3.h:
3945 * s/sol2-4.h:
3946 * s/sol2.h:
3947 * s/usg5-4.h:
3948 * s/vms.h: Remove references to unused variables.
3949
39502008-07-10 Andreas Schwab <schwab@suse.de>
3951
3952 * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
3953 pattern before matching the generic family.
3954
39552008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
3956
3957 * unexec.c:
3958 * s/vms.h:
3959 * s/usg5-4-2.h:
3960 * s/sol2-5.h:
3961 * s/freebsd.h:
3962 * s/darwin.h: Remove dead code.
3963
3964 * m/template.h:
3965 * m/sparc.h:
3966 * m/mips.h:
3967 * m/m68k.h:
3968 * m/iris4d.h:
3969 * m/intel386.h:
3970 * m/ibms390x.h:
3971 * m/ibms390.h:
3972 * m/ia64.h:
3973 * m/hp800.h:
3974 * m/arm.h:
3975 * m/amdx86-64.h: Remove dead code and references to unused
3976 and compiler defined symbols.
3977
3978 * unexmips.c:
3979 * unexelf.c: Remove references to desupported systems.
3980
3981 * m/powermac.h: Remove file, it is now identical to m/macppc.h.
3982
3983 * m/powermac.h: Remove boilerplate comments.
3984 (NO_REMAP): Remove unused definition.
3985
3986 * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
3987 define them.
3988
39892008-07-10 Kenichi Handa <handa@m17n.org>
3990
3991 * xfont.c (xfont_open): Log the reason of failure.
3992
39932008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
3994
3995 * fontset.c (fontset_get_font_group):
3996 * font.c (font_check_otf): Specify argument types.
3997
39982008-07-09 Kenichi Handa <handa@m17n.org>
3999
4000 * coding.c (detect_coding_utf_8): Set detect_info->found only when
4001 non-ASCII char is found.
4002
4003 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
4004 (reorder_font_vector): Change the arg preferred_family to font.
4005 Prefer the spec matching with font.
4006 (fontset_get_font_group): New function.
4007 (fontset_find_font): Change the format of an element of a realized
4008 fontset. Use fontset_get_font_group.
4009 (fontset_font): Try the current fontset, the default fontset, the
4010 fallbacks of the current fontset, and the fallbacks of the default
4011 fontset in this order.
4012 (face_for_char): Delete the shortcut to use the current font.
4013 (fontset_from_font): Don't set fonts for Latin in the fontset.
4014
4015 * font.h (font_make_object, font_match_p): Adjust prototypes.
4016
4017 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
4018
4019 * font.c (font_make_object): New arg entity and pixelsize.
4020 (font_check_otf_features, font_check_otf): New functions.
4021 (font_match_p): Check :lang, :script, and :otf properties.
4022
4023 * xfont.c (xfont_open): Adjust it for the change of
4024 font_make_object.
4025 (xfont_text_extents): Fix initial setting of metrics.
4026
4027 * ftfont.c (struct ftfont_info): New member index, delete member
4028 fc_charset_idx. Make the member order compatible with struct
4029 xftfont_info.
4030 (fc_charset_table): Change charset names to registry names.
4031 (ftfont_pattern_entity): Delete the args registry and
4032 fc_charset_idx. Change the value of :font-entity property
4033 to (FONTNAME . INDEX). Always set :registry property to
4034 `iso10646-1'.
4035 (struct ftfont_cache_data): New struct.
4036 (ftfont_lookup_cache): New arg for_face.
4037 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
4038 (ftfont_driver): Set the member otf_capability.
4039 (ftfont_get_charset): Adjust it for the change of
4040 fc_charset_table.
4041 (OTF_TAG_SYM): New macro.
4042 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
4043 for the change of fc_charset_table.
4044 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
4045 ftfont_pattern_entity. Add FC_INDEX to objset.
4046 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
4047 and ftfont_pattern_entity.
4048 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
4049 font_make_object, struct ftfont_info.
4050 (ftfont_has_char): Use ftfont_get_fc_charset.
4051 (ftfont_otf_features, ftfont_otf_capability): New functions.
4052 (ftfont_shape): Use ftfont_get_otf.
4053 (ftfont_text_extents): Fix initial setting of metrics.
4054
4055 * xftfont.c (struct xftfont_info): New member ft_size. Make the
4056 member order compatible with struct ftfont_info.
4057 (xftfont_open): Add FC_CHARSET to the pattern. Set
4058 xftfont_info->ft_size. Don't unlock the face. Check BDF
4059 properties if appropriate.
4060 (xftfont_close): Unlock the face.
4061 (xftfont_anchor_point, xftfont_shape): Deleted.
4062 (syms_of_xftfont): Don't set members anchor_point and shape of
4063 xftfont_driver.
4064
4065 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
4066 font_make_object.
4067
4068 * w32font.c (w32font_open): Adjust it for the change of
4069 font_make_object.
4070 (w32font_open_internal): Don't set properties of font_object here.
4071
40722008-07-08 Chong Yidong <cyd@stupidchicken.com>
4073
4074 * macfns.c (x_create_tip_frame):
4075 * w32fns.c (x_create_tip_frame):
4076 * xfns.c (x_create_tip_frame): Pass parameter argument to
4077 face-set-after-frame-default.
4078
4079 * xfaces.c (Finternal_merge_in_global_face): Save merged
4080 attributes for the default face back into the face vector.
4081
40822008-07-08 Andreas Schwab <schwab@suse.de>
4083
4084 * fontset.h: Declare fontset_from_font. Don't declare
4085 new_fontset_from_font and fontset_from_font_name.
4086 * xterm.c: Include "fontset.h".
4087 * Makefile.in (xterm.o): Update dependencies.
4088
40892008-07-08 Glenn Morris <rgm@gnu.org>
4090
4091 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
4092 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
4093
40942008-07-07 Chong Yidong <cyd@stupidchicken.com>
4095
4096 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
4097 (x_set_frame_parameters): Don't bind it.
4098
40992008-07-07 Juanma Barranquero <lekktu@gmail.com>
4100
4101 * w32fns.c (map_w32_filename): Declare extern.
4102
41032008-07-07 Jason Rumney <jasonr@gnu.org>
4104
4105 * w32term.c (WS_EX_LAYERED): Define if not already.
4106
41072008-07-06 Chong Yidong <cyd@stupidchicken.com>
4108
4109 * xfaces.c (set_font_frame_param): Don't try to set the font
4110 parameter if it is still unspecified in the lface.
4111
41122008-07-05 Chong Yidong <cyd@stupidchicken.com>
4113
4114 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
4115 face if it didn't already exist.
4116
4117 * xdisp.c (try_window_id): Give up if word-wrapping is on.
4118
41192008-07-05 Andreas Schwab <schwab@suse.de>
4120
4121 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
4122
41232008-07-05 Chong Yidong <cyd@stupidchicken.com>
4124
4125 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
4126 word-wrapping.
4127 (IT_DISPLAYING_WHITESPACE): New macro.
4128 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
4129 when word-wrapping. Simplify word-wrapping logic. Use correct
4130 pixel positions when saving copies of the iterator.
4131 (display_line): Use proper wrap point if the last character on a
4132 line was preceded by whitespace.
4133
41342008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
4135
4136 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
4137
41382008-07-04 Kenichi Handa <handa@m17n.org>
4139
4140 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
4141
4142 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
4143
41442008-07-02 Jason Rumney <jasonr@gnu.org>
4145
4146 * xfns.c (syms_of_xfns): Only define x-select-font when both
2ae37cf0 4147 HAVE_FREETYPE and USE_GTK.
aac0c6e3
MR
4148
4149 * xdisp.c (next_element_from_display_vector): Move assignment out
4150 of if statement.
4151
41522008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
4153
4154 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
4155
4156 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
4157 (syms_of_fileio): Initialize and export them.
4158 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
4159
4160 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
4161 (Fsystem_move_file_to_trash): New function.
4162 (syms_of_w32fns): Export it to lisp.
4163
41642008-07-01 Jason Rumney <jasonr@gnu.org>
4165
4166 * w32font.c (w32font_text_extents): Don't count overhang as part
4167 of width.
4168
41692008-06-30 Miles Bader <miles@gnu.org>
4170
4171 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
4172 Add `avoid_cursor_p' field.
4173
4174 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
4175 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
4176 (append_glyph, append_composite_glyph, produce_image_glyph)
4177 (append_stretch_glyph): Initialize avoid_cursor_p.
4178 (get_it_property): Rename from `get_line_height_property'.
4179 (x_produce_glyphs): Use get_it_property.
4180 (handle_line_prefix, push_display_prop): New functions.
4181 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
4182 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
4183 New variables.
4184 (syms_of_xdisp): Initialize them.
4185
41862008-06-30 Kenichi Handa <handa@m17n.org>
4187
4188 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
4189 XftDefaultSubstitute (they are called in XftFontMatch).
4190 (xftfont_open): Fix args to ftfont_font_format.
4191
4192 * ftfont.c (fc_charset_table): New member lang.
4193 (ftfont_resolve_generic_family): New arg pattern.
60612c8f 4194 (ftfont_spec_pattern): Check fc_charset_table[]->lang.
aac0c6e3
MR
4195 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
4196 (ftfont_open): Fix args to ftfont_font_format.
4197 (ftfont_font_format): New arg filename.
4198
41992008-06-30 Chong Yidong <cyd@stupidchicken.com>
4200
4201 * xfaces.c (Finternal_merge_in_global_face): If default face was
4202 modified, realize it again. Update the font face attribute.
4203
42042008-06-29 Jason Rumney <jasonr@gnu.org>
4205
4206 * w32term.c (x_set_frame_alpha): Fix logic.
4207
42082008-06-29 Kenichi Handa <handa@m17n.org>
4209
4210 * fontset.c (Finternal_char_font): Return font-object instead of
4211 font-name.
4212
4213 * composite.c (get_composition_id): Fix the width calculation for TAB.
4214
42152008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
4216
4217 * indent.c (Fvertical_motion): Properly handle float column arg.
4218
42192008-06-28 Jason Rumney <jasonr@gnu.org>
4220
4221 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
4222 (pfnSetLayeredWindowAttributes): New function pointer.
4223 (w32_initialize): Initialize it when supported.
4224 (x_set_frame_alpha): New function.
4225
4226 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
4227 (w32_frame_parm_handlers): Set alpha handler.
4228
4229 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
4230
42312008-06-27 Jason Rumney <jasonr@gnu.org>
4232
4233 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
4234 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
4235 (w32_to_x_charset, x_to_w32_charset)
4236 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
4237 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
4238 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
4239 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
4240 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
4241 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
4242 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
4243 (Qw32_charset_unicode): Remove.
4244 (syms_of_w32fns): Update for above changes.
4245
4246 * w32font.c (w32_to_x_charset, x_to_w32_charset)
4247 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
4248 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
4249 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
4250 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
4251 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
4252 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
4253 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
4254 (syms_of_w32font): Update for above changes.
4255
42562008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
4257
4258 * s/usg5-4.h: Fix previous change: keep the correct branch of a
4259 removed #if.
4260 (USG_SHARED_LIBRARIES): Remove duplicate definition.
4261
42622008-06-26 Juanma Barranquero <lekktu@gmail.com>
4263 Eli Zaretskii <eliz@gnu.org>
4264
4265 * makefile.w32-in (LOCAL_FLAGS):
4266 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
4267
4268 * sysdep.c (_spawnlp, _getpid):
4269 Declare with explicit _cdecl instead of _CRTAPI1.
4270
4271 * editfns.c (Fget_internal_run_time):
4272 Check for WINDOWSNT with #ifdef, not #if.
4273
42742008-06-26 Jason Rumney <jasonr@gnu.org>
4275
4276 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
4277
4278 * w32term.c (x_draw_glyph_string_foreground)
4279 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
4280 Use FONT_HANDLE macro.
4281 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
4282
4283 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
4284 (uniscribe_encode_char): Use FONT_HANDLE macro.
4285
4286 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
4287 (w32font_text_extents): Use precast w32_font.
4288 (w32font_close): Free cached metrics.
4289 (w32font_open_internal): Allocate space for name on stack.
4290
42912008-06-26 Chong Yidong <cyd@stupidchicken.com>
4292
4293 * xdisp.c (extend_face_to_end_of_line): Fix last change.
4294
42952008-06-26 Jason Rumney <jasonr@gnu.org>
4296
4297 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
4298 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
4299
43002008-06-26 Juanma Barranquero <lekktu@gmail.com>
4301
4302 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
4303
43042008-06-26 Jason Rumney <jasonr@gnu.org>
4305
4306 * w32bdf.c, w32bdf.h: Remove obsolete files.
4307
4308 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
4309
4310 * w32gui.h: Don't include w32bdf.h.
4311 (XCharStruct, enum w32_char_font_type, W32FontStruct):
4312 Remove obsolete font support.
4313
4314 * w32font.h (struct w32font_info): Remove compat_w32_font.
4315 Add hfont member.
4316 (FONT_COMPAT): Remove obsolete macro.
4317
4318 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
4319 (w32font_encode_char, w32font_text_extents): Use new hfont member.
4320 (w32font_open_internal): Remove compat code. Set new hfont member.
4321 (Fx_select_font): Use new hfont member.
4322
4323 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
4324 (uniscribe_encode_char): Use new hfont member.
4325
4326 * w32term.c (x_draw_glyph_string_foreground)
4327 (x_draw_composite_glyph_string_foreground): Use new hfont member.
4328 (x_draw_glyph_string): Use metrics in w32font_info.
4329
43302008-06-26 Kenichi Handa <handa@m17n.org>
4331
4332 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
4333
43342008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
4335
4336 * unexnext.c:
4337 * m/ews4800.h:
4338 * m/hp9000s300.h:
4339 * m/ibm370aix.h:
4340 * m/mips-siemens.h:
4341 * m/ncr386.h:
4342 * m/next.h:
4343 * m/pmax.h:
4344 * m/powerpcle.h:
4345 * m/tandem-s2.h:
4346 * s/386bsd.h:
4347 * s/bsd386.h:
4348 * s/bsd4-1.h:
4349 * s/bsd4-2.h:
4350 * s/bsdos2-1.h:
4351 * s/bsdos2.h:
4352 * s/bsdos3.h:
4353 * s/bsdos4.h:
4354 * s/nextstep.h:
4355 * s/ultrix4-3.h:
4356 * s/usg5-0.h:
4357 * s/usg5-2-2.h:
4358 * s/usg5-2.h:
4359 * s/usg5-4-3.h:
4360 * s/ux4800.h:
4361 * s/uxpds.h:
4362 * s/uxpv.h: Remove support for obsolete systems.
4363 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
8f3a3ac2 4364 Remove, insert contents in s/hpux10-20.h.
aac0c6e3
MR
4365 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
4366 Remove, insert contents in s/aix4-2.h.
4367 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
4368 * s/bsd4-3.h: Rename to ...
4369 * s/bsd-common.h: ... this.
4370 * data.c:
4371 * doc.c:
4372 * ecrt0.c:
4373 * emacs.c:
4374 * fileio.c:
4375 * floatfns.c:
4376 * keyboard.c:
4377 * mem-limits.h:
4378 * print.c:
4379 * process.c:
4380 * sysdep.c:
4381 * syssignal.h:
4382 * systty.h:
4383 * syswait.h:
4384 * term.c:
4385 * unexec.c:
4386 * unexelf.c:
4387 * unexhp9k800.c:
4388 * m/hp800.h:
4389 * m/ibmrs6000.h:
4390 * m/mips.h:
4391 * m/vax.h:
4392 * s/darwin.h:
4393 * s/freebsd.h:
4394 * s/gnu.h:
4395 * s/ms-w32.h:
4396 * s/msdos.h:
4397 * s/netbsd.h:
4398 * s/template.h: Remove references to obsolete variables.
4399
4400 * Makefile.in: Add dependencies for all unexec files.
4401 (admindir): Remove unused variable.
4402 (UNEXEC_SRC): Remove references.
4403
44042008-06-25 Chong Yidong <cyd@stupidchicken.com>
4405
4406 * xfns.c (x_default_font_parameter): If Xft is available, first
4407 try Monospace-12 for the default font.
4408
44092008-06-25 Jason Rumney <jasonr@gnu.org>
4410
4411 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
4412
44132008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
4414
4415 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
4416
4417 * buffer.c (syms_of_buffer): Remove default-word-wrap.
4418
44192008-06-25 Juanma Barranquero <lekktu@gmail.com>
4420
4421 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
4422 <scroll-conservatively>: Fix typo in docstring.
4423
4424 * xselect.c (Fx_send_client_event): Doc fix.
4425
44262008-06-25 Kenichi Handa <handa@m17n.org>
4427
4428 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
4429
4430 * font.c (font_parse_fcname): Remove unused variables.
4431 (font_sort_entites): Delete the arg SPEC. Caller changed.
4432 Fix for the case of ! best_only.
4433 (font_delete_unmatched): Check DPI and AVGWIDTH too.
4434
4435 * lisp.h (Fstring_to_unibyte): EXFUN it.
4436
4437 * character.h (str_to_unibyte): Extern it.
4438
4439 * character.c (str_to_unibyte): New function.
4440
4441 * fns.c (Fstring_to_unibyte): New function.
4442 (syms_of_fns): Defsubr it.
4443
44442008-06-24 Kenichi Handa <handa@m17n.org>
4445
4446 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
4447 DPI too.
4448 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
4449
44502008-06-24 Andreas Schwab <schwab@suse.de>
4451
4452 * Makefile.in (${lispsource}loaddefs.el): Rename from
4453 ../lisp/loaddefs.el.
4454 (bootstrap-clean): Do what distclean does but don't remove
4455 Makefile.
4456 (distclean): Depend on bootstrap-clean and remove Makefile.
4457
44582008-06-24 Chong Yidong <cyd@stupidchicken.com>
4459
4460 * buffer.h (struct buffer): New member word_wrap.
4461
4462 * buffer.c (syms_of_buffer): New variables default-word-wrap and
4463 word-wrap.
4464 (init_buffer_once): Initialize them.
4465
4466 * dispextern.h (struct it): Replace bool truncate_lines_p with a
4467 line_wrap enum possessing three possible values.
4468
4469 * termopts.h: Replace truncate_partial_width_windows with
4470 Vtruncate_partial_width_windows.
4471
4472 * dispnew.c (direct_output_for_insert): Avoid direct output when
4473 inserting a space with word wrap on.
4474
4475 * indent.c (compute_motion): Obey integer values of
4476 truncate-partial-width-windows.
4477
4478 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
4479 replacing truncate_partial_width_windows.
4480 (init_iterator): If Vtruncate_partial_width_windows is an integer,
4481 truncate only if the window width is below that integer.
4482 (start_display, resize_mini_window, produce_stretch_glyph)
4483 (display_string, move_it_in_display_line_to): Use line_wrap.
4484 (back_to_previous_visible_line_start, reseat_1): Reset
4485 string_from_display_prop_p.
4486 (display_line): Extend default face to end of line when wrapping.
4487
44882008-06-24 Kim F. Storm <storm@cua.dk>
4489
4490 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
4491 to wrap continued lines at word boundaries.
4492
44932008-06-24 Jason Rumney <jasonr@gnu.org>
4494
4495 * font.c (Ffont_face_attributes): Multiply pixel size before point
4496 conversion to avoid multiplying rounding error.
4497
44982008-06-23 Jason Rumney <jasonr@gnu.org>
4499
4500 * w32term.c (x_draw_glyph_string_background)
4501 (x_draw_glyph_string): Remove old bdf font code.
4502
4503 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
4504
45052008-06-22 Kenichi Handa <handa@m17n.org>
4506
4507 * font.c (font_find_for_lface): Try the adstyle specified in
4508 the property of LFACE_FONT of LFACE (if any).
4509
45102008-06-21 Seiji Zenitani <zenitani@mac.com>
4511 Ryo Yoshitake <ryo@shiftmode.net>
4512
4513 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
4514
45152008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
4516
4517 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
4518 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
4519 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
4520 (witness-emacs): Remove.
4521 (lisp, shortlisp): Move loaddefs.el earlier.
4522 (mostlyclean): Forget about witness-emacs.
4523
45242008-06-22 Glenn Morris <rgm@gnu.org>
4525
4526 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
4527 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
4528
45292008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
4530
4531 * Makefile.in (PRECOMP): Remove.
4532 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
4533 (witness-emacs): Run `compile-first'.
4534 (.el.elc): Use the new compile-onefile target.
4535
45362008-06-21 Kenichi Handa <handa@m17n.org>
4537
4538 * xftfont.c (xftfont_open): Handle QCembolden only when
4539 FC_EMBOLDEN is defined.
4540
45412008-06-21 Andreas Schwab <schwab@suse.de>
4542
4543 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
4544 (.el.elc): Likewise.
4545
45462008-06-21 Miles Bader <miles@gnu.org>
4547
4548 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
4549 build dir, not the lisp source dir.
4550
45512008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
4552
4553 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
4554 (bootstrapclean): Remove.
4555 (.el.elc): New rule.
4556 (PRECOMP): New var.
4557 (../lisp/subdirs.el): Remove.
4558 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
4559 (witness-emacs): New target.
4560 (mostlyclean): Remove witness-emacs as well.
4561 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
4562 Add witness-emacs dependency.
4563
45642008-06-20 Chong Yidong <cyd@stupidchicken.com>
4565
4566 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
4567 defined by the font.
4568
45692008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
4570
4571 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
4572 (bootstrap-clean): New target that keeps TAGS around.
4573 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
4574 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
4575
45762008-06-20 Jason Rumney <jasonr@gnu.org>
4577
4578 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
4579 Remove obsolete font code.
4580
4581 * w32font.c (font_matches_spec): Use csb bitfield from font signature
4582 to determine language support.
4583
45842008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
4585
4586 * sysdep.c (cfsetspeed): New fun extracted from the code.
4587 (cfmakeraw): Move before first use.
4588
45892008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
4590
4591 * sysdep.c (cfmakeraw): Provide fallback implementation.
4592 (serial_configure): Provide fallback implementation of cfsetspeed.
4593
45942008-06-20 Kenichi Handa <handa@m17n.org>
4595
4596 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
4597 the pattern.
4598
4599 * fontset.c (fontset_from_font): Copy font_spec before changing
4600 the elements.
4601
4602 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
4603
46042008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
4605
4606 * w32fns.c, xfns.c (x_default_font_parameter): Only set `font-param'
4607 for explicit `font' parameters.
4608
4609 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
4610
46112008-06-19 Kenichi Handa <handa@m17n.org>
4612
4613 * frame.c: Include <ctype.h>.
4614 (x_set_font_backend): Allow spacing characters in the X resource
4615 for FontBackend.
4616
46172008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
4618
4619 * w32fns.c, xfns.c (Qfont_param): New var.
4620 (syms_of_w32fns): Initialize it.
4621 (x_default_font_parameter): Record explicit `font' into
4622 `font-parameter'.
4623
46242008-06-18 Kenichi Handa <handa@m17n.org>
4625
4626 * font.c (font_parse_xlfd): Fix previous change.
4627 (font_parse_fcname): Don't use :fc-unknown-spec.
4628 (FRAME_X_DISPLAY_INFO): Be sure to have at least 1 pixel height.
4629 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
4630 (font_add_log): Prepend the driver name to the resulting fonts.
4631
4632 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
4633 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
4634 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
4635
4636 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
4637 (QCembolden): New variables.
4638 (syms_of_xftfont): DEFSYM them.
4639 (xftfont_open): Call XftFontMatch. Don't trust the result of
4640 XftTextExtents8 if the pixel_size is less than 5.
4641
46422008-06-18 Andreas Schwab <schwab@suse.de>
4643
4644 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
4645 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
4646
46472008-06-18 Jason Rumney <jasonr@gnu.org>
4648
4649 * w32font.c (w32font_list, w32font_match): Add logging.
4650
4651 * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging.
4652
46532008-06-17 Chong Yidong <cyd@stupidchicken.com>
4654
4655 * font.c (font_parse_fcname): Store divider characters for
4656 unknown-spec list. For known key symbols, intern using correct
4657 symbol name.
4658
46592008-06-17 Kenichi Handa <handa@m17n.org>
4660
4661 * xfaces.c (realize_default_face): If the frame is not on window
4662 system, set the fontset of face to nil.
4663
46642008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
4665
4666 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
4667
46682008-06-16 Juanma Barranquero <lekktu@gmail.com>
4669
4670 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
4671 (build_font_name_from_vector): Delete externs.
4672
4673 * xfaces.c (struct font_name): Don't declare.
4674
46752008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
4676
4677 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
4678
46792008-06-16 Chong Yidong <cyd@stupidchicken.com>
4680
4681 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
4682
46832008-06-16 Juanma Barranquero <lekktu@gmail.com>
4684
4685 * font.c (Ffont_spec): Fix usage in docstring.
4686 (Ffont_face_attributes): Doc fix.
4687
46882008-06-16 Andreas Schwab <schwab@suse.de>
4689
4690 * font.c (Ffont_face_attributes): Fix definition.
4691
46922008-06-16 Jason Rumney <jasonr@gnu.org>
4693
4694 * font.h (font_style_symbolic_from_value): Remove.
4695
4696 * font.c (font_style_symbolic_from_value): Remove.
4697 (font_style_symbolic): Revert to pre 2008-06-13 version.
4698
4699 * w32font.c (w32_to_fc_weight): New function.
4700 (w32font_full_name, logfont_to_fcname): Use it.
4701
47022008-06-16 Kenichi Handa <handa@m17n.org>
4703
4704 * font.c (font_check_object): Delete it.
4705 (font_clear_cache): Check if a font-object is alive.
4706 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
4707 font-object to nil.
4708 (font_close_object): Don't check FONT_CLOSE_OBJECT.
4709 (font_at): Don't call font_check_object.
4710 (Ffont_get): Return a symbol for :weight, :slant, and :width.
4711
47122008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
4713
4714 * puresize.h (BASE_PURESIZE): Increase to 1230000.
4715
47162008-06-16 Chong Yidong <cyd@stupidchicken.com>
4717
4718 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
4719
47202008-06-15 Chong Yidong <cyd@stupidchicken.com>
4721
4722 * font.c (font_parse_fcname): Only one decimal point.
4723 (font_unparse_fcname): Handle data in family and foundry indices
4724 as symbols, not strings.
4725 (font_unparse_gtkname, Ffont_face_attributes): New functions.
4726
4727 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
4728
4729 * font.h (font_unparse_gtkname): Add prototype.
4730
47312008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
4732
4733 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
4734
47352008-06-15 Andreas Schwab <schwab@suse.de>
4736
4737 * font.c (font_update_drivers): Fix crash when no drivers match.
4738
47392008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
4740
4741 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
4742 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
4743
47442008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
4745
4746 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
4747
47482008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
4749
4750 * process.c (Fserial_process_configure, Fprocess_send_eof):
4751 Use EQ to compare Lisp_Objects.
4752
47532008-06-13 Jason Rumney <jasonr@gnu.org>
4754
4755 * w32fns.c (Fw32_select_font): Remove old font API function.
4756
4757 * w32font.c (logfont_to_fcname): New function.
4758 (Fx_select_font): New font dialog function compatible with
4759 GTK/fontconfig version.
4760
4761 * font.c (font_style_symbolic_from_value): New function.
4762 (font_style_symbolic): Use it.
4763
4764 * font.h (font_style_symbolic_from_value): Declare new function.
4765
47662008-06-13 Juanma Barranquero <lekktu@gmail.com>
4767
4768 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
4769 <font-width-table>: Fix typos in docstrings.
4770
47712008-06-13 Daniel Engeler <engeler@gmail.com>
4772
4773 These changes add serial port access.
4774 * process.c: Add HAVE_SERIAL.
4775 (Fdelete_process, Fprocess_status, Fset_process_buffer)
4776 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
4777 (list_processes_1, select_wrapper, Fstop_process)
4778 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
4779 (status_notify): Modify to handle serial processes.
4780 [HAVE_SERIAL] (Fserial_process_configure)
4781 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
4782 New functions.
4783 * process.h (struct Lisp_Process): Add `type'.
4784 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
4785 New functions.
4786 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
4787 serial ports.
4788 (serial_open, serial_configure) New functions.
4789 * w32.h: Add FILE_SERIAL.
4790 (struct _child_process): Add ovl_read, ovl_write.
4791
47922008-06-13 Kenichi Handa <handa@m17n.org>
4793
4794 * dispextern.h (enum lface_attribute_index): New member
4795 LFACE_FOUNDRY_INDEX.
4796
4797 * font.c (font_score): Delete arg alternate_families. Check only
4798 weight, slant, width, and size. Ignore the difference of alias
4799 style symbols.
4800 (font_sort_entites): Adjust for the above change. Reflect the
4801 order of font-driver to scores.
4802 (font_list_entities): Don't check alternate_familes here.
4803 (font_clear_prop): Handle foundry.
4804 (font_update_lface): Don't parse "foundry-family" form here.
4805 Handle FONT_FOUNDRY_INDEX.
4806 (font_find_for_lface): Likewise. Handle alternate families here.
4807 If registry is nil, try iso8859-1 and ascii-0.
4808 (font_open_for_lface): Pay attention to size in ENTITY.
4809 (font_open_by_name): Simplify by calling font_load_for_lface.
4810 (free_font_driver_list): Delete it.
4811 (font_update_drivers): Preserve the order of backends.
4812 (syms_of_font): Setting of sort_shift_bits adjusted for the change
4813 of font_score and font_sort_entites.
4814 (font_update_sort_order): Likewise.
4815
4816 * xfaces.c (LFACE_FOUNDRY): New macro.
4817 (check_lface_attrs): Check foundry.
4818 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
4819 (merge_face_vectors): Check foundry.
4820 (merge_face_ref): Likewise.
4821 (Finternal_set_lisp_face_attribute): Likewise.
4822 (x_update_menu_appearance): Likewise.
4823 (Finternal_get_lisp_face_attribute): Likewise.
4824 (lface_hash): Likewise.
4825 (lface_same_font_attributes_p): Likewise.
4826 (x_supports_face_attributes_p): Likewise.
4827 (tty_supports_face_attributes_p): Likewise.
4828 (Finternal_set_alternative_font_family_alist): Intern strings.
4829 (Finternal_set_alternative_font_registry_alist): Downcase strings.
4830 (realize_default_face): Set LFACE_FOUNDRY (lface).
4831
4832 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
4833 font-driver at first.
4834
4835 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
4836
48372008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
4838
4839 * lread.c (Fload): Use xfree, not free on saved_doc_string.
4840
48412008-06-12 Jim Meyering <meyering@redhat.com>
4842
4843 Make unexec_free handle NULL the same way free does.
4844 * unexmacosx.c (unexec_free): Ignore a NULL argument.
4845
48462008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
4847
4848 * character.h (CHAR_TO_BYTE_SAFE): New macro.
4849 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
4850 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
4851 (WEAK_ALIAS): Simplify.
4852 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
4853 when searching a unibyte buffer.
4854
48552008-06-12 Chong Yidong <cyd@stupidchicken.com>
4856
4857 * xfns.c (Fx_select_font): Rename from x-font-dialog.
4858
48592008-06-12 Juanma Barranquero <lekktu@gmail.com>
4860
4861 * w32font.c: Include ctype.h.
4862
48632008-06-11 Jason Rumney <jasonr@gnu.org>
4864
4865 * w32font.c (w32font_encode_char): Detect missing glyphs that are
4866 misreported as space.
4867 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
4868 as aliases for registry iso10646-1.
4869
48702008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
4871
4872 * buffer.c (clone_per_buffer_values): Skip `name'.
4873
48742008-06-11 Chong Yidong <cyd@stupidchicken.com>
4875
4876 * font.c (font_parse_fcname): Fix last change; accept decimal
4877 points in font size.
4878
48792008-06-10 Jason Rumney <jasonr@gnu.org>
4880
4881 * w32uniscribe.c (add_opentype_font_name_to_list):
4882 Skip non unicode fonts.
4883
48842008-06-10 Chong Yidong <cyd@stupidchicken.com>
4885
4886 * xfns.c (Fx_font_dialog): New function.
4887
4888 * gtkutil.c (xg_dialog_response_cb): Rename from
4889 xg_file_response_callback.
4890 (pop_down_dialog): Rename from pop_down_file_dialog.
4891 (xg_get_file_name): Callers changed.
4892 (xg_get_font_name): New function.
4893
4894 * gtkutil.h (xg_get_font_name): Insert prototype.
4895
48962008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
4897
4898 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
4899 x_underline_minimum_display_offset.
4900 (syms_of_xdisp): Declare it here rather than in xterm.c.
4901 * dispextern.h (underline_minimum_offset): Declare it.
4902 * w32term.c (x_draw_glyph_string): Use it.
4903 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
4904 (syms_of_xterm): Don't declare it any more.
4905 (x_draw_glyph_string): Adjust to the new name.
4906
49072008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
4908
4909 * xterm.c (x_underline_minimum_display_offset): New var.
4910 (x_draw_glyph_string): Use it.
4911 (syms_of_xterm): Declare it.
4912
49132008-06-10 Chong Yidong <cyd@stupidchicken.com>
4914
4915 * font.c (font_parse_fcname): Accept GTK-style font names too.
4916
49172008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
4918
4919 * dired.c (file_name_completion): Don't return t if the match is exact
4920 but with different capitalization.
4921 * minibuf.c (Ftry_completion): Simplify.
4922
4923 * window.c (Vwindow_point_insertion_type): New var.
4924 (set_window_buffer): Use it.
4925 (syms_of_window): Init and export it to Lisp.
4926
49272008-06-10 Kenichi Handa <handa@m17n.org>
4928
4929 * font.h (font_intern_prop): Prototype adjusted.
4930
4931 * font.c (font_intern_prop): New arg force_symbol.
4932 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
4933 Adjust for the change of font_intern_prop.
4934
4935 * ftfont.c (ftfont_pattern_entity):
4936 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
4937 (w32_registry):
4938 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
4939 the change of font_intern_prop.
4940
49412008-06-09 Juanma Barranquero <lekktu@gmail.com>
4942
4943 * w32menu.c (digest_single_submenu): Declare extern.
4944
49452008-06-09 Jason Rumney <jasonr@gnu.org>
4946
4947 * w32term.c (x_make_frame_visible): Use alternate restore flags.
4948
4949 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
4950 (parse_single_submenu): Remove.
4951 (digest_single_submenu): Remove.
4952 (syms_of_w32menu): Don't initialise variables that have moved
4953 to menu.c.
4954 (set_frame_menubar): Sync with version in xmenu.c.
4955 (w32_menu_show): Sync with xmenu_show in xmenu.c.
4956
4957 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
4958 Make static again.
4959
49602008-06-09 Jason Rumney <jasonr@gnu.org>
4961
4962 Changes to w32 files related to the move of common menu code
4963 to menu.c on 2008-06-08 by Chong Yidong.
4964
4965 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
4966 defs to w32gui.h.
4967 (single_keymap_panes, push_menu_item, push_menu_pane):
4968 Make globally visible.
4969
4970 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
4971 (local_free, malloc_widget_value, free_widget_value)
4972 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
4973 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
4974 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
4975 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
4976 (menu_items, menu_items_allocated, menu_items_used)
4977 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
4978 (init_menu_items, finish_menu_items, discard_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, list_of_panes, list_of_items)
4982 (free_menubar_widget_tree_value, parse_single_submenu)
4983 (update_submenu_strings): Remove functions.
4984 (xmalloc_widget_value): Remove and declare extern.
4985
4986 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
4987 (OBJ1): Build it.
4988
4989 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
4990 (local_heap, local_alloc, local_free, malloc_widget_value)
4991 (free_widget_value): Define here.
4992
49932008-06-09 Kenichi Handa <handa@m17n.org>
4994
4995 * font.h (Qascii_0): Extern it.
4996
4997 * font.c (Qascii_0): New variable.
4998 (syms_of_font): DEFSYM it.
4999 (font_open_by_name): If the registry "iso8859-1" fails, try also
5000 "ascii-0".
5001
5002 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
5003
50042008-06-08 Kenichi Handa <handa@m17n.org>
5005
5006 * .gdbinit (xfont): New command.
5007
50082008-06-08 Andreas Schwab <schwab@suse.de>
5009
5010 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
5011 * Makefile.in (menu.o): Update dependencies.
5012
5013 * Makefile.in (obj): Always add menu.o.
5014 * emacs.c (main): Always call syms_of_menu.
5015 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
5016
50172008-06-08 Chong Yidong <cyd@stupidchicken.com>
5018
5019 * Makefile.in: Compile menu.c.
5020
5021 * lisp.h: Declare syms_of_menu.
5022
5023 * emacs.c (main): Call syms_of_menu.
5024
5025 * keyboard.h: Relocate platform-independent menu definitions from
5026 xmenu.c.
5027
5028 * menu.c: New file. Relocate platform-independent menu
5029 definitions from xmenu.c. Suggested by Adrian Robert.
5030
5031 * xmenu.c: Remove platform-independent menu definitions.
5032 (menu_items menu_items_inuse, menu_items_allocated)
5033 (menu_items_used, menu_items_n_panes)
5034 (menu_items_submenu_depth): Move to keyboard.h.
5035 (init_menu_items, finish_menu_items, unuse_menu_items)
5036 (discard_menu_items, restore_menu_items, save_menu_items)
5037 (grow_menu_items, push_submenu_start, push_submenu_end)
5038 (push_left_right_boundary, push_menu_pane, push_menu_item)
5039 (keymap_panes, single_keymap_panes, single_menu_item)
5040 (list_of_panes, list_of_items, find_and_call_menu_selection)
5041 (xmalloc_widget_value, free_menubar_widget_value_tree)
5042 (parse_single_submenu, digest_single_submenu)
5043 (update_submenu_strings): Move to menu.c.
5044
50452008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
5046
5047 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
5048
50492008-06-06 Miles Bader <miles@gnu.org>
5050
5051 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
5052 face, not frame default.
5053
50542008-06-05 Martin Rudalics <rudalics@gmx.at>
5055
5056 * window.c (pop_up_windows, pop_up_frames)
5057 (display_buffer_reuse_frames, Vpop_up_frame_function)
5058 (Vdisplay_buffer_function, Veven_window_heights)
5059 (Vspecial_display_buffer_names, Vspecial_display_regexps)
5060 (Vspecial_display_function, Vsame_window_buffer_names)
5061 (Vsame_window_regexps, split_height_threshold)
5062 (Vsplit_window_preferred_function): Move those vars to window.el.
5063 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
5064 (Fdisplay_buffer): Move those functions to window.el.
5065 (syms_of_window): Remove corresponding declarations.
5066 (display_buffer): New function.
5067 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
5068 * dispnew.c (Flast_nonminibuf_frame): New function.
5069 * buffer.c (Fpop_to_buffer): Move to window.el.
5070
50712008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5072
5073 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
5074
50752008-06-05 Kenichi Handa <handa@m17n.org>
5076
5077 * coding.c (detect_coding): Fix previous change.
5078 (detect_coding_system): Likewise.
5079
50802008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5081
5082 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
5083
5084 * keymap.c (Vminibuffer_local_filename_must_match_map):
5085 Rename from Vminibuffer_local_must_match_filename_map.
5086 (syms_of_keymap):
5087 * minibuf.c (Fcompleting_read): Adjust accordingly.
5088 * commands.h: Rename declaration as well.
5089
50902008-06-05 Kenichi Handa <handa@m17n.org>
5091
5092 * font.c (Ffont_spec): Don't use font_parse_family_registry for
5093 family name.
5094 (Ffont_put): Likewise.
5095
5096 * fontset.c (fontset_find_font): Call font_open_for_lface with the
5097 current font-spec.
5098
5099 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
5100 is unspecified.
5101
5102 * xfaces.c (realize_x_face): If the font-related face attributes
5103 are the same as those of default face, realize a new fontset from
5104 default->fontset.
5105 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
5106
51072008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5108
5109 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
5110 (move_it_in_display_line): New wrapper.
5111
5112 * window.c (window_scroll_pixel_based_preserve_x)
5113 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
5114 (window_scroll_pixel_based, window_scroll_line_based):
5115 Use them to preserve column positions.
5116 (syms_of_window): Initialize them.
5117
5118 * indent.c (Fvertical_motion): Extend first arg to allow passing an
5119 (HPOS . VPOS) pair.
5120
5121 * dispextern.h (move_it_in_display_line): Declare.
5122
51232008-06-05 Juanma Barranquero <lekktu@gmail.com>
5124
5125 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
5126 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
5127 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
5128
51292008-06-04 Juanma Barranquero <lekktu@gmail.com>
5130
5131 * window.c (Fset_window_parameter): Doc fix.
5132 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
5133
51342008-06-04 Joakim Verona <joakim@verona.se>
5135
5136 * window.h (struct window): Add new member window_parameters.
5137
5138 * window.c (Fwindow_parameters, Fwindow_parameter)
5139 (Fset_window_parameter): New defuns.
5140 (syms_of_window): Defsubr the new defuns.
5141 (make_window): Initialize window_parameters to nil.
5142
51432008-06-04 John Paul Wallington <jpw@pobox.com>
5144
5145 * eval.c (Fdefmacro): Doc fix.
5146
51472008-06-04 Kenichi Handa <handa@m17n.org>
5148
5149 * coding.c (detect_coding): Fix handling of coding->head_ascii.
5150 Be sure to call setup_coding_system when we find a proper coding system.
5151 (detect_coding_system): Fix handling of coding->head_ascii.
5152
51532008-06-03 Andreas Schwab <schwab@suse.de>
5154
5155 * font.c (font_prop_validate_spacing): Fix last change.
5156
51572008-06-03 Kenichi Handa <handa@m17n.org>
5158
5159 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
5160 (font_parse_fcname): Fix handling of unknown key.
5161
5162 * xfont.c (xfont_list): Try an alias.
5163
5164 * charset.c (char_charset): Return NULL if the arg charset_list is
5165 specified and C doesn't belong to any of them.
5166
51672008-06-02 Chip Coldwell <coldwell@redhat.com>
5168
5169 * font.c (font_pixel_size): Don't take cdr of an integer.
5170
51712008-06-02 Jim Meyering <meyering@redhat.com>
5172
5173 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
5174 * alloc.c (xfree): Return right away for a NULL arg.
5175 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
5176 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
5177 * mac.c (create_apple_event_from_event_ref): Likewise.
5178 (create_apple_event_from_drag_ref, cfstring_create_normalized):
5179 Likewise.
5180 * doprnt.c (doprnt1): Likewise.
5181 * frame.c (frame): Likewise.
5182 * keyboard.c (wipe_kboard): Likewise.
5183 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
5184 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
5185 * term.c (tty_default_color_capabilities, maybe_fatal)
5186 (delete_tty): Likewise.
5187 * w16select.c (string): Likewise.
5188 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
5189 * w32bdf.c (w32_free_bdf_font): Likewise.
5190 * w32fns.c (w32_unload_font): Likewise.
5191 * w32font.c (w32font_close): Likewise.
5192 * window.c (size_window): Likewise.
5193 * xselect.c (receive_incremental_selection): Likewise.
5194 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
5195 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
5196 * w32.c (stat): Likewise.
5197
5198 Remove useless if-before-free tests.
5199 * editfns.c (Fset_time_zone_rule): Likewise.
5200 * lread.c (nosuffix): Likewise.
5201 * ralloc.c (get_bloc): Likewise.
5202 * regex.c (reg_free): Likewise.
5203 * xftfont.c (xftfont_open, xftfont_close): Likewise.
5204 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
5205 * xsmfns.c (smc_save_yourself_CB): Likewise.
5206
52072008-06-02 Kenichi Handa <handa@m17n.org>
5208
5209 * font.c (font_find_for_lface): Handle float font size.
5210 (font_open_for_lface): Likewise.
5211
5212 * xfaces.c (x_supports_face_attributes_p): Check face->font before
5213 comparing the properties.
5214
52152008-06-01 Jason Rumney <jasonr@gnu.org>
5216
5217 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
5218 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
5219 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
5220 Don't add empty script list.
5221 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
5222
52232008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
5224
5225 * Makefile.in (dot, dotdot): Remove, update users.
5226 ".." has been used elsewhere in the file for a long time.
5227 (LIBXT_STATIC): Remove conditional based on unused variable.
5228
52292008-06-01 Miles Bader <miles@gnu.org>
5230
5231 * xfaces.c (Vface_remapping_alist): New variable.
5232 (syms_of_xfaces): Initialize it.
5233 (enum named_merge_point_kind): New type.
5234 (struct named_merge_point): Add `named_merge_point_kind' field.
5235 (push_named_merge_point): Make cycle detection respect different
5236 named-merge-point kinds.
5237 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
5238 Remove face-name alias resolution.
5239 (lface_from_face_name): New definition using
5240 `lface_from_face_name_no_resolve'.
5241 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
5242 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
5243 (get_lface_attributes): New definition that layers face-remapping on
5244 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
5245 (lookup_basic_face): New function.
5246 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
5247 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
5248 `get_lface_attributes'.
5249 (face_at_buffer_position): Use `lookup_basic_face' to lookup
5250 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
5251 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
5252
5253 * xdisp.c (init_iterator): Pass base_face_id through
5254 `lookup_basic_face' when we actually use it as a face-id.
5255 (handle_single_display_prop): Use `lookup_basic_face' to lookup
5256 DEFAULT_FACE_ID.
5257
5258 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
5259 lookup the initial face-id.
5260
5261 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
5262
52632008-06-01 Juanma Barranquero <lekktu@gmail.com>
5264
5265 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
5266 (Fremove_text_properties): Fix typos in docstrings.
5267
52682008-05-31 Kenichi Handa <handa@m17n.org>
5269
5270 * font.c (font_list_entities): Fix the car part of data to be
5271 stored in the cache.
5272
5273 * ftfont.c (ftfont_font_format): Don't use strcasestr.
5274
52752008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
5276
5277 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
5278 Add a `test' argument so another predicate than `equal' can be used.
5279 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
5280 (map_char_table): Remove unused vars `c' and `i'.
5281 * lisp.h (Foptimize_char_table): Adjust declaration.
5282 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
5283
52842008-05-30 Kenichi Handa <handa@m17n.org>
5285
5286 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
5287 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
5288 defined.
5289
52902008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
5291
5292 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
5293 (Fmake_variable_frame_local): Disallow mixing buffer-local and
5294 frame-local settings for the same variable.
5295
52962008-05-30 Kenichi Handa <handa@m17n.org>
5297
5298 * fontset.c (Ffont_info): Move to font.c.
5299 (syms_of_fontset): Delete defsubr of Sfont_info.
5300
5301 * font.c (font_style_to_value, font_score): Delete casting of the
5302 args to xstcasecmp.
5303 (register_font_driver): Increment num_font_drivers only when
5304 registering the driver globally.
5305 (Ffont_info): Move from fontset.c. Handle a font object too.
5306 (syms_of_font): Defsubr Sfont_info.
5307
53082008-05-29 Kenichi Handa <handa@m17n.org>
5309
5310 * coding.h (enum define_coding_utf8_arg_index): New enum.
5311 (enum coding_attr_index): Change coding_attr_utf_16_bom to
5312 coding_attr_utf_bom.
5313 (enum utf_bom_type): Rename from utf_16_bom_type.
5314 (struct utf_16_spec): Adjust for the above change.
5315 (struct coding_system): Add utf_8_bom in `spec' union.
5316
5317 * coding.c (CODING_UTF_8_BOM): New macro.
5318 (enum coding_category): Delete coding_category_utf_8, add
5319 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
5320 coding_category_utf_8_sig.
5321 (CATEGORY_MASK_UTF_8): Delete it.
5322 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
5323 (CATEGORY_MASK_UTF_8_SIG): New macros.
5324 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
5325 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
5326 CATEGORY_MASK_UTF_8_SIG.
5327 (CATEGORY_MASK_UTF_8): New macro.
5328 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
5329 (detect_coding_utf_8): Check BOM.
5330 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
5331 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
5332 (encode_coding_utf_16): Likewise.
5333 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
5334 (detect_coding, detect_coding_system): Handle utf-8-auto.
5335 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
5336 (syms_of_coding): Fix setting up of Vcoding_category_table.
5337
53382008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
5339
5340 * process.c (Faccept_process_output): If `millisec' is non-nil,
5341 `seconds' default to 0.
5342 (wait_reading_process_output): Also return non-nil if we read output
5343 from a non-running process.
5344
53452008-05-29 Jason Rumney <jasonr@gnu.org>
5346
5347 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
5348 `raster' specified.
5349 (add_font_entity_to_list): Allow non-opentype truetype fonts back
5350 in the uniscribe backend, but disallow any font that has no
5351 unicode subrange support.
5352
53532008-05-29 Juanma Barranquero <lekktu@gmail.com>
5354
5355 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
5356 Fix typos in docstrings.
5357
53582008-05-29 Kenichi Handa <handa@m17n.org>
5359
5360 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
5361 (Fx_family_fonts): Set frame correctly.
5362
53632008-05-28 Jason Rumney <jasonr@gnu.org>
5364
5365 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
5366
53672008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
5368
5369 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
5370 calling build_annotations.
5371
53722008-05-28 Juanma Barranquero <lekktu@gmail.com>
5373
5374 * coding.c (Fdecode_coding_region, Fencode_coding_region)
5375 (Fencode_coding_string):
5376 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
5377 <latin-extra-code-table>: Fix typos in docstrings.
5378 (syms_of_coding) <coding-system-alist>: Doc fix.
5379 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
5380
53812008-05-28 Kenichi Handa <handa@m17n.org>
5382
5383 * fontset.c (Ffont_info): Don't call font_close_object.
5384
5385 * font.c (font_parse_family_registry): Use Ffont_put to validate
5386 foundry and family.
5387 (font_delete_unmatched): Don't check spacing.
5388 (font_list_entities): Add spacing to the spec to list fonts.
5389
5390 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
5391 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
5392
5393 * coding.c (encode_coding_raw_text): Fix previous change.
5394 (encode_coding_object): When the dst_object is a buffer and is
5395 different from src_object, move gap to PT.
5396
53972008-05-27 Chong Yidong <cyd@stupidchicken.com>
5398
5399 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
5400
54012008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
5402
5403 * coding.c (encode_coding_raw_text): Set coding->produced_char for
5404 all branches. Compute it differently.
5405
5406 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
5407
54082008-05-27 Juanma Barranquero <lekktu@gmail.com>
5409
5410 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
5411 into "else if () ... else ...".
5412
54132008-05-27 Jason Rumney <jasonr@gnu.org>
5414
5415 * w32font.c (w32font_open_internal): Determine if glyph indices
5416 are likely to work here.
5417
54182008-05-27 Chong Yidong <cyd@stupidchicken.com>
5419
5420 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
5421 draw overlap glyphs with appropriate highlighting.
5422
54232008-05-27 Kenichi Handa <handa@m17n.org>
5424
5425 * xfont.c (xfont_open): Fix calculation of font->average_width.
5426
54272008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
5428
5429 * casefiddle.c (casify_object): Try to guess better whether the
5430 argument is a byte or a char.
5431
54322008-05-26 Andreas Schwab <schwab@suse.de>
5433
5434 * xselect.c (x_reply_selection_request): Properly handle format == 32.
5435 Always send multiples of format size.
5436
5437 * xterm.c (x_set_frame_alpha): Fix type mismatch.
5438
54392008-05-26 Jason Rumney <jasonr@gnu.org>
5440
5441 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
5442 (compute_metrics): Don't set failure if we just cleared the cache.
5443 (w32_weight_table): Remove unused variable.
5444 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
5445 backwards compatibility.
5446
54472008-05-25 Kenichi Handa <handa@m17n.org>
5448
5449 * w32term.c (x_draw_glyph_string):
5450 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
5451
5452 * xfaces.c: Delete unused function prototypes.
5453 (xstrlwr, font_frame): Delete them.
5454 (clear_face_cache): Delete unused variable.
5455
5456 * xftfont.c (xftfont_open): Delete unused variable.
5457 If underline_thickness is not 1, adjust underline_position.
5458
5459 * ftxfont.c (ftxfont_open): Delete unused variable.
5460
5461 * fontset.c (face_for_char): Optimize for the case of no charset
5462 property.
5463
5464 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
5465 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
5466 (otf_open, font_otf_capability, generate_otf_features)
5467 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
5468 Comment out by surrounding "#if 0" and "#endif" for the moment.
5469 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
5470 (syms_of_font): Codes for accessing above commented out.
5471
54722008-05-24 Eli Zaretskii <eliz@gnu.org>
5473
5474 * w32proc.c: Include dispextern.h.
5475
5476 * w32.c: Include dispextern.h.
5477
54782008-05-23 Juanma Barranquero <lekktu@gmail.com>
5479
5480 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
5481 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
5482 Fix typos in docstrings.
5483
54842008-05-23 Jason Rumney <jasonr@gnu.org>
5485
5486 * xsmfns.c: Remove includes that are already included by config.h.
5487
54882008-05-23 Kenichi Handa <handa@m17n.org>
5489
5490 * charset.c (Qemacs, charset_emacs): New variables.
5491 (char_charset): Fix for non-Unicode characters.
5492 (syms_of_charset): Define charset_emacs.
5493
5494 * w32term.c (x_draw_glyph_string): Be sure to update
5495 s->underline_thickness and s->underline_position. Be sure to draw
5496 underline within the current line area.
5497
5498 * xterm.c (x_draw_glyph_string): Be sure to update
5499 s->underline_thickness and s->underline_position. Be sure to draw
5500 underline within the current line area.
5501
5502 * fontset.c: Delete unused variables and add casting for char *
5503 throughout the file.
5504 (fontset_font): Try the fallback fonts of the current fontset
5505 before consulting the default fontset.
5506
5507 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
5508
5509 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
5510
55112008-05-22 Jason Rumney <jasonr@gnu.org>
5512
5513 * font.c: Don't include strings.h.
5514
5515 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
5516
5517 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
5518 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
5519 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
5520 to call xstrcasecmp.
5521
5522 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
5523
5524 * fontset.c (fs_query_fontset): Use xstrcasecmp.
5525
5526 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
5527
5528 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
5529
55302008-05-22 Kenichi Handa <handa@m17n.org>
5531
5532 * puresize.h (BASE_PURESIZE): Increase to 1220000.
5533
5534 * font.c (font_prop_validate_style): Adjust for the format
5535 change of font_style_table.
5536
5537 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
5538 two args.
5539
5540 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
5541 two args.
5542
55432008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
5544
5545 * minibuf.c (keys_of_minibuf): Delete.
5546 * lisp.h (keys_of_minibuf): Delete.
5547 * emacs.c (main): Don't call keys_of_minibuf.
5548
55492008-05-22 Kenichi Handa <handa@m17n.org>
5550
5551 * ftfont.c (ftfont_resolve_generic_family): Rename from
5552 ftfont_list_generic_family. Return a single family for each
5553 generic family.
5554 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
5555 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
5556 Call font_add_log.
5557 (ftfont_match): Call font_add_log.
5558
5559 * font.h (Ffont_xlfd_name): EXFUN adjusted.
5560 (FONT_DEBUG): Define it.
5561 (font_add_log): Extern it.
5562 (font_assert): Rename from xassert.
5563
5564 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
5565 (xfont_list_family): Call font_add_log.
5566 (xfont_match): Likewise.
5567 (memq_no_quit): Delete.
5568
5569 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
5570 call of Ffont_xlfd_name.
5571
5572 * xfaces.c (struct table_entry, slant_table, weight_table)
5573 (swidth_table): Move to font.c.
5574
5575 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
5576 xassert are changed to font_assert. Delete many unused variables.
5577 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
5578 New variables.
5579 (struct table_entry): Move from xfaces.c and modified.
5580 (weight_table, slant_table, width_table): Move from xfaces.c and
5581 contents adjusted for the change of struct table_entry.
5582 (font_style_to_value, font_style_symbolic): Adjust for the
5583 format change of font_style_table.
5584 (font_parse_family_registry): Don't overwrite existing foundry and
5585 family of font_spec.
5586 (font_score): Fix calculation of diff for sizes.
5587 (font_sort_entites): Call font_add_log.
5588 (font_delete_unmatched): Return a newly created list.
5589 (font_list_entities): Fix previous change. Call font_add_log.
5590 (font_matching_entity, font_open_entity, font_close_entity):
5591 Call font_add_log.
5592 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
5593 (Finternal_set_font_style_table): Delete.
5594 (BUILD_STYLE_TABLE): New macro.
5595 (build_style_table): New function.
5596 (Vfont_log, font_log_env_checked): New variables.
5597 (font_add_log): New function.
5598 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
5599 Declare Lisp variables "font-weight-table", "font-slant-table",
5600 "font-width-table", and "font-log". Initialize font_style_table.
5601
56022008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
5603
5604 * xterm.c (x_set_frame_alpha): Move declarations before statements.
5605
56062008-05-21 Seiji Zenitani <zenitani@mac.com>
5607 Ryo Yoshitake <ryo@shiftmode.net>
5608
5609 * frame.c (Qalpha): Add a new frame parameter `alpha'.
5610 (Vframe_alpha_lower_limit): New variable.
5611 (x_set_alpha): New function.
5612
5613 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
5614
5615 * xfns.c (x-create-frame, Qalpha):
5616 Initialize the frame parameter `alpha'.
5617 * xterm.c (OPAQUE, OPACITY): New.
5618 (x_set_frame_alpha): New function.
5619 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
5620
5621 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
5622 * w32fns.c (w32_frame_parm_handlers): Likewise.
5623
56242008-05-20 Jason Rumney <jasonr@gnu.org>
5625
5626 * w32font.c (add_font_entity_to_list): Don't add non-opentype
5627 truetype fonts to opentype list.
5628
56292008-05-20 Juanma Barranquero <lekktu@gmail.com>
5630
5631 * fontset.c (Ffontset_info): Doc fix.
5632 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
5633 <ignore-relative-composition>: Fix typos in docstrings.
5634
5635 * font.c (syms-of-font) <font-encoding-alist>:
5636 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
5637 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
5638 (Ffont_otf_alternates): Doc fixes.
5639
56402008-05-20 Kenichi Handa <handa@m17n.org>
5641
5642 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
5643 font.h through out the file.
5644 (FONT_DRIVERS): Rename from FONTOBJ.
5645 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
5646 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
5647
5648 * emacs.c (main): Call syms_of_font unconditionally.
5649
5650 * font.h (find_font_encoding): Extern it.
5651
5652 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
5653 fontset.c.
5654 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
5655 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
5656 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
5657 only when HAVE_WINDOW_SYSTEM is defined.
5658 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
5659 when HAVE_WINDOW_SYSTEM is defined.
5660
5661 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
5662 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
5663
5664 * xfaces.c: Include font.h unconditionally.
5665 (merge_face_ref, merge_face_vectors)
5666 (Finternal_set_lisp_face_attribute): Cancel the previous change.
5667
56682008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
5669
5670 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
5671 indirect_variable.
5672 * eval.c (lisp_indirect_variable): New fun.
5673 (Fuser_variable_p): Use it.
5674
56752008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
5676
5677 * lisp.h (indirect_variable):
5678 * data.c (indirect_variable, let_shadows_buffer_binding_p):
5679 Use Lisp_Symbol pointers rather than Lisp_Object.
5680 Adjust callers.
5681 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
5682 To this end, change calling-convention.
5683
5684 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
5685 if some non-hidden buffers are selected by string&pred.
5686
56872008-05-19 Chong Yidong <cyd@stupidchicken.com>
5688
5689 * process.c (wait_reading_process_output): Always check status
5690 when in batch mode.
5691
56922008-05-19 Kenichi Handa <handa@m17n.org>
5693
5694 * font.c (font_list_entities): Fix handling of cache.
5695 (font_matching_entity): Likewise.
5696
5697 * ftfont.c (cs_iso8859_1): Delete.
5698 (ft_face_cache): New variable.
5699 (struct ftfont_info): New member fc_charset_idx.
5700 (ftfont_build_basic_charsets): Delete.
5701 (fc_charset_table): New variable.
5702 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
5703 . FC_CHARSET_IDX) as :font-entity property in the font entity.
5704 Callers changed.
5705 (ftfont_lookup_cache, ftfont_get_charset): New functions.
5706 (ftfont_spec_pattern): New argument fc_charset_idx.
5707 Check registry more rigidly. Change callers.
5708 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
5709 change of :font-entity property of the font.
5710
5711 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
5712 property of the font.
5713
57142008-05-18 Juanma Barranquero <lekktu@gmail.com>
5715
5716 * coding.c (Fcoding_system_p): Rename argument to match docstring.
5717 (Funencodable_char_position, Fcheck_coding_systems_region)
5718 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
5719 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
5720 (Ffind_operation_coding_system, Fset_coding_system_priority)
5721 (Fcoding_system_eol_type): Doc fixes.
5722
57232008-05-17 Glenn Morris <rgm@gnu.org>
5724
5725 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
5726
57272008-05-16 Eli Zaretskii <eliz@gnu.org>
5728
5729 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
5730 and st_gid.
5731
5732 * frame.c (Fdelete_frame): Don't call font_update_drivers if
5733 HAVE_WINDOW_SYSTEM is not defined.
5734
5735 * xfaces.c (merge_face_ref, merge_face_vectors)
5736 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
5737 HAVE_WINDOW_SYSTEM is defined.
5738 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
5739
57402008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
5741
5742 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
5743
57442008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5745
5746 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
5747
57482008-05-15 Kenichi Handa <handa@m17n.org>
5749
5750 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
5751 preference.
5752
57532008-05-15 Glenn Morris <rgm@gnu.org>
5754
5755 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
5756
57572008-05-15 Chong Yidong <cyd@stupidchicken.com>
5758
5759 * fns.c (init_fns): Don't initialize weak_hash_tables here.
5760 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
5761
5762 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
5763
57642008-05-15 Kenichi Handa <handa@m17n.org>
5765
5766 * ftfont.c (ftfont_list): Downcase family name to check generic
5767 families.
5768
5769 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
5770 font-spec for QCfont value.
5771
5772 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
5773 buffer. Check the return value of it.
5774
57752008-05-14 Jason Rumney <jasonr@gnu.org>
5776
5777 * w32term.c (w32_get_glyph_overhangs): Remove.
5778 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
5779
57802008-05-14 Kenichi Handa <handa@m17n.org>
5781
5782 * font.c (font_prop_validate): Make nil a valid value.
5783 (font_clear_cache): Check if the cached vector of entities is nil
5784 or not.
5785
57862008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5787
5788 * emacs.c (main_thread): Conditionalize on
5789 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
5790 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
5791
5792 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
5793 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
5794 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
5795
57962008-05-14 Kenichi Handa <handa@m17n.org>
5797
5798 * coding.c (detect_coding_iso_2022): Ignore a coding category that
5799 has no corresponding coding system.
5800
58012008-05-14 Jason Rumney <jasonr@gnu.org>
5802
5803 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
5804
5805 * w32font.h (w32font_open_internal): Update declaration.
5806
5807 * w32font.c (w32font_open_internal): Change last argument from
5808 w32font_info struct to font object. Fill in font object from
5809 font_entity. Get Outline metrics if possible. Use them to
5810 calculate underline position and thickness. Use xlfd name as name
5811 property. Don't set codepage.
5812 (w32font_open): Pass font_object to w32font_open_internal. Don't
5813 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
5814 (w32font_draw): Use s->font.
5815 (clear_cached_metrics): Don't clear non-existent blocks.
5816
5817 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
5818 font was not found.
5819 (x_draw_glyph_string): Use underline position and thickness from font.
5820
5821 * w32uniscribe.c (uniscribe_open): Pass font_object to
5822 w32font_open_internal.
5823
58242008-05-14 Kenichi Handa <handa@m17n.org>
5825
5826 These changes are to delete all legacy font-handling codes, and
5827 make Emacs use only font-backends.
5828
5829 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
5830 (frame.o, image.o, print.o): Depend on $(FONTSRC).
5831
5832 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
5833
5834 * charset.h (Vcharset_non_preferred_head)
5835 (Vcurrent_iso639_language): Extern them.
5836
5837 * charset.c (Vcharset_non_preferred_head): New variable.
5838 (Vcurrent_iso639_language): New variable.
5839 (syms_of_charset): Declare it as a Lisp variable.
5840 (char_charset): Don't check non preferred charsets. As a last
5841 resort, return charset_unicode.
5842 (Fset_charset_priority): Update Vcharset_non_preferred_head.
5843
5844 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
5845 conditionals. Don't check enable_font_backend. Delete all codes
5846 used only when USE_FONT_BACKEND is not defined.
5847
5848 * dispextern.h (struct glyph_string): Change type of `font' to
5849 `struct font *'.
5850 (struct glyph_string): New member underline_position and
5851 underline_thickness.
5852 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
5853 (struct face): Change type of `font' to `struct font *'. Remove
5854 members `font_name', `font_info_id'.
5855 (per_char_metric, encode_char): Delete externs.
5856 (calc_pixel_width_or_height): Adjust the prototype.
5857
5858 * emacs.c (enable_font_backend): Delete extern.
5859 (main): Don't set enable_font_backend. Don't check the command
5860 line argument "-disable-font-backend".
5861
5862 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
5863 (enum font_property_index): New members FONT_DPI_INDEX,
5864 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
5865 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
5866 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
5867 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
5868 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
5869 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
5870 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
5871 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
5872 (struct font_spec, struct font_entity): New structs.
5873 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
5874 (struct font): Many members from old "struct font_info" moved to
5875 here. Members font and entity deleted.
5876 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
5877 the new font-related objects.
5878 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
5879 (CHECK_FONT_GET_OBJECT): Likewise.
5880 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
5881 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
5882 (struct font_driver): New members case_sensitive anc check. Type
5883 of the member list and open changed.
5884 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
5885 (font_symbolic_width, font_find_object, font_get_spec)
5886 (font_set_lface_from_name): Delete extern.
5887 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
5888
5889 * font.c: Include <strings.h>.
5890 (enable_font_backend): Delete it.
5891 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
5892 (CHECK_VALIDATE_FONT_SPEC): Delete it.
5893 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
5894 (null_string): Delete it.
5895 (null_vector): Make it static.
5896 (font_family_alist): Delete it.
5897 (Qnormal): Extern it.
5898 (QCextra, QClanguage): Delete it.
5899 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
5900 (font_make_spec, font_make_entity, font_make_object)
5901 (font_intern_prop): Renamed from intern_downcase. Don't downcase
5902 the string. Callers changed.
5903 (font_pixel_size): Adjusted for the format change of font-related
5904 objects.
5905 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
5906 (font_style_to_value, font_style_symbolic): New function.
5907 (build_font_family_alist): Delete it.
5908 (font_registry_charsets): Use Fassoc_string instead of
5909 assq_no_quit.
5910 (font_prop_validate_symbol): Don't return null_string.
5911 (font_prop_validate_style): Adjusted for the change of
5912 style-related values in a font vector.
5913 (font_property_table): Delete entries for QClanguage and
5914 QCantialias, add entries for QCavgwidth.
5915 (get_font_prop_index): Delete the 2nd argument FROM.
5916 (font_prop_validate): Arguments changed.
5917 (font_put_extra): Adjusted for the change of font-related objects.
5918 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
5919 (font_parse_fcname, font_unparse_fcname)
5920 (font_prepare_composition): Likewise.
5921 (font_parse_family_registry): Renamed from font_merge_old_spec.
5922 (otf_open): Delete the 1st arg entity.
5923 (font_otf_capability): Adjusted for the above change.
5924 (font_score): New arg alternate_families. Adjusted for the change
5925 of font-related objects.
5926 (font_sort_entites): New arg best_only.
5927 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
5928 Delete them.
5929 (font_match_p): Check alternate families.
5930 (font_find_object): Delete it.
5931 (font_check_object): New function.
5932 (font_clear_cache): Adjusted for the change of font-related objects.
5933 (font_delete_unmatched): New arg.
5934 (font_list_entities): Call font_driver->list with a spec that
5935 doesn't specify style-related properties.
5936 (font_matching_entity): Arguments changed. Caller changed.
5937 (font_open_entity): Adjusted for the change of font-related objects.
5938 (font_close_object, font_has_char, font_encode_char)
5939 (font_get_name, font_get_spec): Likewise.
5940 (font_spec_from_name, font_clear_prop, font_update_lface):
5941 New functions.
5942 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
5943 (font_prepare_for_face, font_done_for_face, font_open_by_name)
5944 (font_at): Adjusted for the change of font-related objects.
5945 (font_range): New function.
5946 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
5947 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
5948 (Fcopy_font_spec, Fmerge_font_spec): New function.
5949 (Ffont_family_list): Renamed from list-families.
5950 (Finternal_set_font_style_table): Arguments changed.
5951 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
5952 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
5953 change of font-related objects.
5954 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
5955
5956 * fontset.h (struct font_info): Delete it. Most members go to
5957 struct font.
5958 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
5959 (enum FONT_SPEC_INDEX): Delete it.
5960 (font_info, list_fonts_func, load_font_func, query_font_func)
5961 (set_frame_fontset_func, find_ccl_program_func)
5962 (get_font_repertory_func, new_fontset_from_font_name): Delete
5963 externs.
5964 (fontset_from_font_name): Extern it.
5965 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
5966 (FONT_INFO_FROM_FACE): Deleted.
5967 (face_for_font): Adjust prototype.
5968
5969 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
5970 conditionals. Don't check enable_font_backend. Delete all codes
5971 used only when USE_FONT_BACKEND is not defined.
5972 (get_font_info_func, list_font_func, load_font_func)
5973 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
5974 (get_font_repertory_func): Delete them.
5975 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
5976 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
5977 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
5978 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
5979 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
5980 (fontset_compare_rfontdef): New function.
5981 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
5982 rfont-defs by qsort. Adjusted for the change of font-group vector.
5983 (load_font_get_repertory): Deleted.
5984 (fontset_find_font): Use new macros to ref/set elements of
5985 font-def and rfont-def.
5986 (fontset_font): Fix the timing of remembering that no font for C.
5987 (free_face_fontset): Do nothing if the face has no fontset.
5988 (face_suitable_for_char_p): Use new macros to ref/set elements of
5989 rfont-def.
5990 (face_for_char): Likewise. Call face_for_char with font_object.
5991 (fs_load_font): Delete. Delete #pragma surrounding it.
5992 (fs_query_fontset): Use strcasecmp instead of strcmp.
5993 (generate_ascii_font_name): Adjusted for the format change of
5994 font-spec.
5995 (Fset_fontset_font): Likewise. Use new macros to set elements of
5996 font-def.
5997 (Fnew_fontset): Use font_unparse_xlfd to generate
5998 FONTSET_ASCII (fontset).
5999 (new_fontset_from_font_name): Deleted.
6000 (fontset_from_font): Renamed from new_fontset_from_font. Check if
6001 a fontset is already created for the font. FIx updating of
6002 Vfontset_alias_alist.
6003 (fontset_ascii_font): Deleted.
6004 (Ffont_info): Adjusted for the format change of font-spec.
6005 (Finternal_char_font): Likewise.
6006 (Ffontset_info): Likewise.
6007 (syms_of_fontset): Don't check load_font_func.
6008
6009 * fns.c (internal_equal): Handle PREV_FONT.
6010
6011 * frame.h: Delete USE_FONT_BACKEND conditional.
6012
6013 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
6014 conditionals. Don't check enable_font_backend. Delete all codes
6015 used only when USE_FONT_BACKEND is not defined.
6016 (x_set_font): Call x_new_font, not x_new_fontset2.
6017 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
6018 already set for the frame.
6019
6020 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
6021 a font-entity by font_make_entity. Use font_intern_prop instead
6022 of intern_downcase. Use FONT_SET_STYLE to set a style-related
6023 font property. If a font is scalable, set avgwidth property to 0.
6024 Set font-entity property by font_put_extra.
6025 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
6026 (ffont_driver): Adjusted for the change of struct font_driver.
6027 (ftfont_spec_pattern): New function.
6028 (ftfont_list): Return a list, not vector.
6029 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
6030 (ftfont_list_family): Don't downcase names.
6031 (ftfont_free_entity): Deleted.
6032 (ftfont_open): Return a font-object. Adjusted for the change of
6033 struct font. Get underline_thickness and underline_position from
6034 font property. Don't update dpyinfo->smallest_font_height and
6035 dpyinfo->smallest_char_width.
6036 (ftfont_close): Don't free `struct font'.
6037 (ftfont_has_char): Adjusted for the format change of font-entity.
6038 (ftfont_encode_char, ftfont_text_extents): Likewise.
6039
6040 * ftxfont.c (ftxfont_list): Return a list, not vector.
6041 (ftxfont_open): Return a font-object. Adjusted for the change of
6042 struct font. Get underline_thickness and underline_position from
6043 font property. Don't update dpyinfo->smallest_font_height and
6044 dpyinfo->smallest_char_width.
6045 (ftxfont_close): Don't decrease FRAME_X_DISPLAY_INFO (f)->n_fonts.
6046 (ftxfont_draw): Adjusted for the change of struct font.
6047
6048 * image.c (image_ascent): Don't include "charset.h". Include
6049 "character.h" and "font.h".
6050
6051 * lisp.h (enum pvec_type): New member PREV_FONT.
6052 (Fassoc_string): EXFUN it.
6053
6054 * print.c: Include font.h.
6055 (print_object): Handle font-related objects.
6056
6057 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
6058 conditionals. Don't check enable_font_backend. Delete all codes
6059 used only when USE_FONT_BACKEND is not defined.
6060 (handle_auto_composed_prop): Do nothing if it->f is not on a
6061 window system. Check how many following characters can be
6062 displayed by the same font.
6063 (calc_pixel_width_or_height): Type of the 4th arg is changed to
6064 'struct font *'.
6065 (get_char_face_and_encoding): Assign the whole encoding task to
6066 the `encode-char' method of a font driver.
6067 (fill_composite_glyph_string): Adjusted for the change of `struct
6068 face' and `struct glyph_string'.
6069 (fill_glyph_string): Likewise.
6070 (get_per_char_metric): Arguments changed.
6071 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
6072 and `struct glyph_string'.
6073 (produce_stretch_glyph, calc_line_height_property)
6074 (x_produce_glyphs): Likewise.
6075
6076 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
6077 conditionals. Don't check enable_font_backend. Delete all codes
6078 used only when USE_FONT_BACKEND is not defined. Use
6079 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
6080 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
6081 (Qp): Extern them.
6082 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
6083 Deleted.
6084 (struct font_name): Deleted.
6085 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
6086 (compare_fonts_by_sort_order): New function.
6087 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
6088 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
6089 Deleted.
6090 (Fx_family_fonts): Use font_list_entities, and sort fonts by
6091 compare_fonts_by_sort_order.
6092 (Fx_font_family_list): Call Ffont_family_list.
6093 (face_numeric_value, face_numeric_weight, face_numeric_slant)
6094 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
6095 (face_symbolic_slant, face_symbolic_swidth)
6096 (split_font_name_into_vector, build_font_name_from_vector)
6097 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
6098 (font_rescale_ratio, split_font_name, build_font_name)
6099 (free_font_names, sort_fonts, x_face_list_fonts)
6100 (face_font_available_p, sorted_font_list, cmp_font_names)
6101 (font_list_1, concat_font_list, font_list, remove_duplicates):
6102 Deleted.
6103 (Fx_list_fonts): Use Ffont_list.
6104 (LFACE_AVGWIDTH): Deleted.
6105 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
6106 by FONTP.
6107 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
6108 (set_lface_from_font_name): Delete it.
6109 (set_lface_from_font): Renamed from
6110 set_lface_from_font_and_fontset. Caller changed. Don't set
6111 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
6112 for face.
6113 (merge_face_vectors): Copy font-spec if necessary.
6114 Clear properties of the font-spec if necessary.
6115 (merge_face_ref): Clear properties of the font-spec if necessary.
6116 (Finternal_set_lisp_face_attribute): Likewise.
6117 (set_font_frame_param): Use font_load_for_lface to load a
6118 font-object, and call Fmodify_frame_parameters with it.
6119 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
6120 font name by Ffont_xlfd_name.
6121 (Finternal_lisp_face_attribute_values): Don't check QCweight,
6122 QCslant, and QCwidth.
6123 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
6124 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
6125 Compare fonts by EQ.
6126 (lookup_non_ascii_face): Deleted.
6127 (face_for_font): The 2nd argument changed.
6128 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
6129 Check atomic font properties by case insensitive.
6130 (realize_non_ascii_face): Set face->overstrike correctly.
6131 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
6132 (dump_realized_face): Get font name from
6133 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
6134
6135 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
6136 conditionals. Don't check enable_font_backend. Delete all codes
6137 used only when USE_FONT_BACKEND is not defined.
6138 (xic_create_xfontset): Original code deleted and renamed from
6139 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
6140 (x_make_gc): Don't set GCFont in GCs.
6141 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
6142 opened by "fixed".
6143 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
6144 find_ccl_program_func, query_font_func, set_frame_fontset_func,
6145 get_font_repertory_func.
6146
6147 * xfont.c: Include <stdlib.h> and "ccl.h".
6148 (struct xfont_info): New structure.
6149 (xfont_query_font): Deleted.
6150 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
6151 moved from xterm.c.
6152 (xfont_driver): Adjusted for the change of struct font_driver.
6153 (compare_font_names): New function.
6154 (xfont_list_pattern): Sort font names case insensitively. Make
6155 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
6156 (xfont_list): Return a list, not vector.
6157 (xfont_match): If the font doesn't have QCname property, generate
6158 a name from the other font properties.
6159 (xfont_open): Return a font-object. Adjusted for the change of
6160 struct font. Get underline_thickness and underline_position from
6161 font property. Don't update dpyinfo->smallest_font_height and
6162 dpyinfo->smallest_char_width.
6163 (xfont_close): Don't free struct font.
6164 (xfont_prepare_face): Adjusted for the change of struct font.
6165 (xfont_done_face): Deleted.
6166 (xfont_has_char): Adjusted for the change of struct font.
6167 (xfont_encode_char, xfont_draw): Likewise.
6168 (xfont_check): New function.
6169
6170 * xftfont.c (xftfont_list): Adjusted for the change of `list'
6171 callback function.
6172 (xftfont_match): Adjusted for the format change of font-entity.
6173 (xftfont_open): Adjusted for the format change of font-entity and
6174 font-object. Adjusted for the change of struct font. Return a
6175 font-object. Don't update dpyinfo->smallest_font_height and
6176 dpyinfo->smallest_char_width.
6177 (xftfont_close): Block input while calling XftFontClose.
6178 (xftfont_prepare_face): Don't block input while calling
6179 xftfont_get_colors. Adjusted for the change of struct font.
6180 (xftfont_shape): Return value of error case fixed.
6181
6182 * xrdb.c (x_load_resources): Don't setup a fontset resource.
6183
6184 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
6185 conditionals.
6186 (FONT_WIDTH): Return (f)->max_width.
6187 (struct x_display_info): Delete member `font'.
6188 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
6189 (x_find_ccl_program, x_get_font_repertory): Delete externs.
6190 (struct x_output): Change type of `font' to `struct font *'.
6191
6192 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
6193 conditionals. Don't check enable_font_backend. Delete all codes
6194 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
6195 (x_per_char_metric, x_encode_char): Deleted.
6196 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
6197 (x_compute_glyph_string_overhangs): Adjusted for the change of
6198 `struct face'.
6199 (x_draw_glyph_string_foreground)
6200 (x_draw_composite_glyph_string_foreground): Likewise.
6201 (x_draw_glyph_string): Likewise. Use font->underline_position and
6202 font->underline_thickness.
6203 (x_new_font): Renamed from x_new_fontset2.
6204 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
6205 (x_check_font): Call `check' method of a font driver.
6206 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
6207 (x_query_font, x_get_font_repertory): Deleted.
6208 (x_find_ccl_program): Renamed and moved to xfont.c.
6209 (x_redisplay_interface): Adjusted for the change of `struct
6210 redisplay_interface'.
6211
6212 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
6213 conditionals. Don't check enable_font_backend. Delete all codes
6214 used only when USE_FONT_BACKEND is not defined. Surround non-used
6215 code by "#ifdef OLD_FONT" and "endif".
6216 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
6217
6218 * w32font.h (struct w32font_info): New member.
6219 (FONT_COMPAT): New macro.
6220 (w32font_open_internal): Prototype adjusted.
6221
6222 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
6223 OLD_FONT" and "endif".
6224
6225 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
6226 conditionals. Don't check enable_font_backend. Delete all codes
6227 used only when USE_FONT_BACKEND is not defined.
6228 (w32font_open): Return a font-object. Make a font-object by
6229 font_make_object. Adjusted for the change of struct w32font_info.
6230 (w32font_close): Don't free struct font. Adjusted for the change
6231 of struct w32font_info.
6232 (w32font_encode_char, w32font_text_extents, w32font_draw):
6233 Adjusted for the change of struct w32font_info.
6234 (w32font_draw): Likewise.
6235 (w32font_list_internal): Return a list, not vector.
6236 (w32font_open_internal): Change the 4th arg to font-object.
6237 Adjusted for the change of struct w32font_info and font-object format.
6238 (add_font_name_to_list): Don't downcase names.
6239 (w32_enumfont_pattern_entity): Make a font-entity by
6240 font_make_entity. Adjusted for the format change of font-entity.
6241 Use FONT_SET_STYLE to set a style-related font property. If a
6242 font is scalable, set avgwidth property to 0. Set font-entity
6243 property by font_put_extra.
6244 (font_matches_spec): Adjusted for the format change of font-entity.
6245 (w32_weight_table, w32_decode_weight): New variables.
6246 (w32_encode_weight): New function.
6247 (fill_in_logfont): Adjusted for the format change of font-spec.
6248 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
6249 weight value.
6250 (w32font_driver): Adjusted for the change of struct font_driver.
6251
6252 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
6253 conditionals. Don't check enable_font_backend. Surround non-used
6254 code by "#ifdef OLD_FONT" and "endif".
6255 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
6256 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
6257
6258 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
6259 conditionals. Don't check enable_font_backend. Delete all codes
6260 used only when USE_FONT_BACKEND is not defined. Surround non-used
6261 code by "#ifdef OLD_FONT" and "endif".
6262
6263 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
6264 (uniscribe_open): Return value changed to font-object.
6265 Adjusted for the format change of font-object.
6266 (uniscribe_otf_capability): Adjusted for the change of struct font.
6267 (add_opentype_font_name_to_list): Don't downcase names.
6268 (uniscribe_font_driver): Adjusted for the change of struct
6269 font_driver.
6270
62712008-05-13 Chong Yidong <cyd@stupidchicken.com>
6272
6273 * dispnew.c (update_frame_1): Check if tty output is still valid
6274 before flushing it.
6275
62762008-05-13 Jan Djärv <jan.h.d@swipnet.se>
6277
6278 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
6279 to Gtk+ menus.
6280
62812008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
6282
6283 * dired.c (file_name_completion): Tweak the code so as to always do it
6284 in a single pass. Tighten the scope of some variables.
6285
6286 * dired.c (Qdefault_directory): New var.
6287 (file_name_completion): Use it instead of Fexpand_file_name.
6288 (syms_of_dired): Initialize it.
6289
62902008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
6291
6292 * fileio.c (double_dollars): Remove dead code.
6293
62942008-05-10 Eli Zaretskii <eliz@gnu.org>
6295
6296 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
6297 Mention w32-get-true-file-attributes in doc string.
6298
6299 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
6300
63012008-05-09 Glenn Morris <rgm@gnu.org>
6302
6303 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
6304 2008-04-23.
6305
63062008-05-09 Eli Zaretskii <eliz@gnu.org>
6307
6308 Support for reporting owner and group of each file on MS-Windows:
6309 * dired.c (stat_uname, stat_gname): New functions, with special
6310 implementation for w32.
6311 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
6312
6313 * w32.c: Rename the_passwd_* to dflt_passwd_*.
6314 (dflt_group_name): New static variable.
6315 (dflt_group): Rename from the_group.
6316 (init_user_info): Init dflt_group fields. Get user's group name
6317 from LookupAccountSid.
6318 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
6319 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
6320 New initialization states.
6321 (globals_of_w32): Initialize them to zero. Initialize the default
6322 group name to "None".
6323 (GetFileSecurity_Name): New global var, the name of the function
6324 to call for GetFileSecurity.
6325 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
6326 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
6327 (get_file_security, get_security_descriptor_owner)
6328 (get_security_descriptor_group, is_valid_sid)
6329 (get_file_security_desc, get_rid, get_name_and_id)
6330 (get_file_owner_and_group): New functions.
6331 (stat): Use get_file_security_desc and get_file_owner_and_group to
6332 report the owner and primary group of each file. Don't ignore the
6333 high 32 bits of file's size, now that st_size is 64-bit wide.
6334 Fix test when to get true file attributes.
6335 (init_user_info): Use get_rid instead of equivalent inline code.
6336 (fstat): Don't ignore the high 32 bits of file's size.
6337
63382008-05-09 Chong Yidong <cyd@stupidchicken.com>
6339
6340 * image.c (png_load): Use correct bit-depth for setting background
6341 color.
6342
63432008-05-08 Eli Zaretskii <eliz@gnu.org>
6344
6345 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
6346 epa-hook.elc.
6347
63482008-05-08 Juanma Barranquero <lekktu@gmail.com>
6349
6350 * font.c (Ffont_match_p): Don't use `iff' in docstring.
6351
63522008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
6353
6354 * macfns.c (Fx_create_frame): Make a copy of frame parameters
6355 because the original parameters are in pure storage now.
6356 (mac_window): Remove unused params. Update callers.
6357
63582008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
6359
6360 * lread.c (substitute_object_recurse): Use lower-level primitives.
6361 Don't signal errors when traversing sub-char-tables.
6362 Don't loop over all the possible characters when traversing char-tables.
6363
6364 * print.c (print_preprocess): Add sub-char-tables to the print-table,
6365 just like we do in print.c.
6366
63672008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
6368
6369 * minibuf.c (Ftry_completion): Remove code left over from when we used
6370 scmp instead of Fcompare_strings.
6371
63722008-05-04 Juanma Barranquero <lekktu@gmail.com>
6373
6374 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
6375
63762008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6377
6378 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
6379 Create bitmap context in native byte order.
6380
6381 * macterm.c (XDrawLine)
6382 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
6383 context in native byte order.
6384
63852008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6386
6387 * config.in: Regenerate.
6388
6389 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
6390 New definitions for Image I/O support.
6391 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
6392 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
6393 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
6394 (mac_data_provider_release_data, image_load_image_io)
6395 [USE_MAC_IMAGE_IO]: New functions.
6396 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
6397 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
6398 (init_image_func_pointer) [MAC_OSX]: Remove function.
6399 (image_load_quartz2d) [MAC_OSX]: Check availability of
6400 CGImageCreateWithPNGDataProvider at compile time.
6401 Use lowercase `false' for boolean constant.
6402 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
6403 Use image_load_image_io.
6404 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
6405 Don't check MyCGImageCreateWithPNGDataProvider.
6406 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
6407 Don't call init_image_func_pointer.
6408
6409 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
6410
6411 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
6412 Make variable non-static.
6413 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
6414 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
6415
6416 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
6417 (RED_FROM_ULONG): Mask off higher bits.
6418 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
6419
6420 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
6421 Include AvailabilityMacros.h.
6422 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
6423 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
6424
64252008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
6426
6427 * chartab.c (Fset_char_table_range): If range is t, really set all
6428 chars to that value.
6429
64302008-05-03 Eli Zaretskii <eliz@gnu.org>
6431
6432 * dired.c (Ffile_attributes): Don't allow the device number become
6433 negative.
6434
64352008-05-02 Daiki Ueno <ueno@unixuser.org>
6436
6437 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
6438
64392008-05-02 Juri Linkov <juri@jurta.org>
6440
6441 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
6442 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
6443 DEFAULT argument as a list of default values in docstrings.
6444
64452008-05-01 Chong Yidong <cyd@stupidchicken.com>
6446
6447 * puresize.h (BASE_PURESIZE): Increase to 1210000.
6448
64492008-05-01 Martin Rudalics <rudalics@gmx.at>
6450
6451 * dispnew.c (change_frame_size_1): Preserve small windows when
6452 shrinking frames by calling set_window_height|width with third
6453 arg 2.
6454
6455 * window.h (struct window): Replace field too_small_ok by field
6456 resize_proportionally.
6457
6458 * window.c (make_window): Initialize resize_proportionally.
6459 (enlarge_window): Temporarily set resize_proportionally to make
6460 sure that shrink_windows does scale the window proportionally.
6461 (shrink_windows): When window has resize_proportionally set try
6462 to shrink it proportionally by stealing from other windows.
6463 (struct saved_window, Fset_window_configuration)
6464 (compare_window_configurations): Handle resize_proportionally.
6465 (WINDOW_TOTAL_SIZE): New macro.
6466 (window_min_size, shrink_windows, size_window): Use it.
6467 (check_min_window_sizes): Remove. Invalid values of
6468 window-min-height|width are handled by window_min_size_2 now.
6469 (size_window, Fsplit_window, enlarge_window)
6470 (adjust_window_trailing_edge, grow_mini_window): Don't call
6471 check_min_window_sizes.
6472 (window_min_size_2, window_min_size_1, window_min_size):
6473 New argument safe_p for retrieving "safe" minimum sizes.
6474 (Fdisplay_buffer, Fsplit_window, enlarge_window)
6475 (adjust_window_trailing_edge, grow_mini_window):
6476 Adjust arguments of window_min_size... functions.
6477 (shrink_windows): Argument min_size removed. New argument
6478 safe_p allows shrinking windows to their safe minimum sizes.
6479 Calculate minimum size and decide whether a window shall be
6480 deleted for each window individually.
6481 (size_window): When nodelete_p equals 2, tell shrink_windows to
6482 delete windows only if their new minimum size is no more safe.
6483 (shrink_window_lowest_first): Call window_min_size_1 to make
6484 sure to preserve modeline of bottom-most window when resizing
6485 the minibuffer.
6486 (Fset_window_configuration, Fcurrent_window_configuration)
6487 (compare_window_configurations): Do not handle
6488 window-min-height|width any more.
6489 (syms_of_window): Clarify window-min-height|width doc-strings.
6490
64912008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
6492
6493 * dired.c (file_name_completion): Fix up the encoding/decoding issue
6494 some more. Copy some of the code from Ftry_completions.
6495 Remove special case code that dates back to initial revision when the
6496 slash was only added when necessary and that can't trigger nowadays.
6497
64982008-04-27 Kenichi Handa <handa@m17n.org>
6499
6500 * font.c (font_prop_validate): Signal `error' instead of `font'.
6501
65022008-04-29 Jason Rumney <jasonr@gnu.org>
6503
6504 * w32fns.c (Fw32_battery_status): New defun.
6505 (syms_of_w32fns): Defsubr it.
6506
65072008-04-28 Andreas Schwab <schwab@suse.de>
6508
6509 * dired.c (file_name_completion): Fix another mixing of encoded
6510 and decoded names.
6511
65122008-04-28 Juanma Barranquero <lekktu@gmail.com>
6513
6514 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
6515
65162008-04-27 Juanma Barranquero <lekktu@gmail.com>
6517
6518 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
6519
65202008-04-27 Andreas Schwab <schwab@suse.de>
6521
6522 * dired.c (file_name_completion): Fix inappropriate mixing of
6523 encoded and decoded names.
6524
6525 * xterm.c (XTread_socket): Fix use of uninitialized variable.
6526
6527 * puresize.h (BASE_PURESIZE): Increase to 1200000.
6528
65292008-04-26 Eli Zaretskii <eliz@gnu.org>
6530
6531 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
6532 2008-03-31, it's not needed anymore with `struct stat' definition
6533 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
6534 for the same reasons.
6535
65362008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
6537
6538 * m/sparc.h: Additional redefinitions for GNU/Linux.
6539
65402008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6541
6542 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
6543 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
6544 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
6545 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
6546 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
6547 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
6548 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
6549 Likewise.
6550
6551 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
6552 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
6553 (mac_ax_number_of_characters): Add externs.
6554 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
6555 [USE_MAC_TSM]: Likewise.
6556 (mac_handle_text_input_event) [MAC_OSX]:
6557 Handle kEventTextInputOffsetToPos for no active input area case.
6558 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
6559 (mac_handle_document_access_event)
6560 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
6561 (install_application_handler) [MAC_OSX]: Register handlers for
6562 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
6563 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
6564 Register mac_handle_document_access_event.
6565
6566 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
6567 Make functions non-static.
6568
65692008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
6570
6571 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
6572 (read_file_name_completion_ignore_case, insert_default_directory)
6573 (Qdefault_directory): Move to minibuffer.el.
6574 (Fread_file_name): Call the new `read-file-name' instead.
6575
65762008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6577
6578 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
6579 Make function non-static.
6580 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
6581 Remove function.
6582 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
6583 Move to mactoolbox.c.
6584 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
6585
6586 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
6587 (mac_rect_make): New macro.
6588
6589 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
6590 instead of float.
6591 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
6592 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
6593 (XSetBackground) [USE_CG_DRAWING]: Likewise.
6594 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
6595 CGRectMake.
6596 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
6597 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
6598 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
6599 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
6600 instead of WindowRef in argument type.
6601 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
6602 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
6603 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
6604 instead of DISPLAY. All uses changed.
6605 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
6606 (x_calc_absolute_position): Simplify so as not to use
6607 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
6608
6609 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
6610 instead of WindowRef in argument type.
6611 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
6612 [TARGET_API_MAC_CARBON]: Remove externs.
6613 (create_apple_event, mac_event_parameters_to_lisp)
6614 [TARGET_API_MAC_CARBON]: Add externs.
6615
6616 * mactoolbox.c (Vmac_ts_script_language_on_focus)
6617 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
6618 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
6619 is clicked.
6620 (x_activate_menubar): Remove extern for saved_menu_event_location.
6621 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
6622 Move from mac.c.
6623
66242008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6625
6626 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
6627 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
6628
66292008-04-23 Jason Rumney <jasonr@gnu.org>
6630
6631 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
6632 attributes only for local files.
6633
6634 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
6635 default to Qlocal.
6636
66372008-04-22 Juri Linkov <juri@jurta.org>
6638
6639 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
6640 read-buffer-to-switch instead of using the letter "B".
6641
66422008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
6643
6644 * fileio.c (Qdefault_directory): New variable.
6645 (Fread_file_name): Use it to pass `dir' to the completion functions.
6646
66472008-04-20 Chong Yidong <cyd@stupidchicken.com>
6648
6649 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
6650
66512008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
6652
6653 * keyboard.c (Vpre_help_message): Remove.
6654 (show_help_echo): Remove default C code.
6655
6656 * dired.c (directory_files_internal, file_name_completion):
6657 Only call ENCODE_FILE if the string is indeed decoded.
6658
66592008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
6660
6661 * Makefile.in (TOOLKIT_DEFINES): Remove.
6662 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
6663
66642008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6665
6666 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
6667 (mactoolbox.o): New target.
6668
6669 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
6670 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
6671
6672 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
6673 Use mac_set_frame_window_background instead of XSetWindowBackground.
6674 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
6675 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
6676 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
6677 instead of SetWindowTitleWithCFString.
6678 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
6679 Move function to mactoolbox.c.
6680 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
6681 Use mac_set_window_modified instead of SetWindowModified.
6682 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
6683 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
6684 (Fx_focus_frame): Use mac_front_non_floating_window instead of
6685 FrontNonFloatingWindow. Use mac_activate_window instead of
6686 ActivateWindow. Use mac_active_non_floating_window instead of
6687 ActiveNonFloatingWindow.
6688 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
6689 Use mac_show_hourglass and mac_hide_hourglass.
6690 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
6691 instead of GetGlobalMouse.
6692 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
6693 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
6694 Use mac_bring_window_to_front instead of BringToFront.
6695 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
6696 mactoolbox.c.
6697 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
6698 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
6699 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
6700 mactoolbox.c.
6701
6702 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
6703 (XtPointer): Move typedef from macmenu.c.
6704 (enum button_type): Move enum from macmenu.c.
6705 (widget_value): Move typedef from macmenu.c.
6706 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
6707 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
6708 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
6709 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
6710 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
6711 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
6712 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
6713 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
6714 (Selection): Move typedef from macselect.c.
6715 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
6716 macterm.c.
6717 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
6718 (mac_is_window_collapsed, mac_bring_window_to_front)
6719 (mac_send_window_behind, mac_hide_window, mac_show_window)
6720 (mac_collapse_window, mac_front_non_floating_window)
6721 (mac_active_non_floating_window, mac_activate_window)
6722 (mac_move_window_structure, mac_move_window, mac_size_window)
6723 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
6724
6725 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
6726 (enum mac_menu_kind): Move enum to mactoolbox.c.
6727 (min_menu_id): Move variable to mactoolbox.c.
6728 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
6729 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
6730 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
6731 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
6732 [TARGET_API_MAC_CARBON]: Likewise.
6733 (XtPointer): Move typedef to macgui.h.
6734 (enum button_type): Move enum to macgui.h.
6735 (widget_value): Move typedef to macgui.h.
6736 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
6737 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
6738 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
6739 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
6740 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
6741 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
6742 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
6743 (popup_activated_flag): Make variable non-static.
6744 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
6745 (add_menu_item, fill_menu, dispose_menus):
6746 Move functions to mactoolbox.c.
6747 (restore_show_help_function, menu_target_item_handler)
6748 (install_menu_target_item_handler, mac_handle_dialog_event)
6749 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
6750 [TARGET_API_MAC_CARBON]: Likewise.
6751 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
6752 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
6753 (find_and_call_menu_selection, name_is_separator): Make function
6754 non-static.
6755 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
6756 to mactoolbox.c.
6757 (set_frame_menubar): Don't call install_menu_quit_handler.
6758 (menu_item_selection): New variable.
6759 (mac_menu_show): Use create_and_show_popup_menu.
6760 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
6761 selection but set variable menu_item_selection. All uses changed.
6762 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
6763 Call install_menu_quit_handler. Move to mactoolbox.c.
6764
6765 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
6766 (Selection): Move typedef to macgui.h.
6767 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
6768 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
6769 Make variables non-static.
6770 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
6771 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
6772 Make functions non-static.
6773 (Vmac_service_selection) [MAC_OSX]: Likewise.
6774 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
6775 (mac_valid_selection_target_p, mac_clear_selection)
6776 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
6777 (mac_put_selection_value, mac_selection_has_target_p)
6778 (mac_get_selection_value, mac_get_selection_target_list)
6779 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
6780 Move functions to mactoolbox.c.
6781 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
6782 Likewise.
6783 (copy_scrap_flavor_data, mac_handle_service_event)
6784 (install_service_handler) [MAC_OSX]: Likewise.
6785 (syms_of_macselect) <Vmac_dnd_known_types>:
6786 Use mac_dnd_default_known_types.
6787
6788 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
6789 Move to mactoolbox.c.
6790 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
6791 (Fx_selection_owner_p): Add EXFUN.
6792 (install_window_handler, remove_window_handler, XSetWindowBackground):
6793 Remove externs.
6794 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
6795 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
6796 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
6797 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
6798 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
6799 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
6800 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
6801 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
6802 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
6803 (create_and_show_popup_menu, mac_get_selection_from_symbol)
6804 (mac_valid_selection_target_p, mac_clear_selection)
6805 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
6806 (mac_put_selection_value, mac_selection_has_target_p)
6807 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
6808 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
6809 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
6810 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
6811 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
6812 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
6813 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
6814 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
6815 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
6816
6817 * mactoolbox.c: New file.
6818
68192008-04-18 Jason Rumney <jasonr@gnu.org>
6820
6821 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
6822
68232008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
6824
6825 * character.c (Fmultibyte_char_to_unibyte):
6826 Return latin1 chars unchanged.
6827
6828 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
6829 relocated if it points to `name'.
6830
68312008-04-17 Kenichi Handa <handa@m17n.org>
6832
6833 * data.c (Faset): Allow setting a multibyte character in an
6834 ASCII-only unibyte string.
6835
6836 * lisp.h (STRING_SET_MULTIBYTE): New macro.
6837
68382008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
6839
6840 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
6841 done in config.h.
6842
68432008-04-16 Juanma Barranquero <lekktu@gmail.com>
6844
6845 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
6846 (Fchar_direction): Add usage in the docstring.
6847
68482008-04-15 Chong Yidong <cyd@stupidchicken.com>
6849
6850 * keyboard.c (read_key_sequence): Remove always-true checks.
6851
68522008-04-14 Jason Rumney <jasonr@gnu.org>
6853
6854 * w32font.c (w32font_open_internal): Set max_bounds.descent in
6855 compatibility struct, for better underline positioning.
6856
68572008-04-13 David Hansen <david.hansen@gmx.net>
6858
6859 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
6860 string.
6861
68622008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
6863
6864 * m/hp800.h (XUINT, XSET): Remove.
6865
68662008-04-12 Juanma Barranquero <lekktu@gmail.com>
6867
6868 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
6869 previous change.
6870
68712008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
6872
6873 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
6874 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
6875
68762008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
6877
6878 * keymap.h (map_keymap_canonical): Declare.
6879 * xmenu.c (single_keymap_panes): Use it.
6880
68812008-04-11 Glenn Morris <rgm@gnu.org>
6882
6883 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
6884 set the target's value to that of the alias.
6885
68862008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
6887
6888 * term.c (set_tty_color_mode): Left over typo.
6889
68902008-04-10 Michael Albinus <michael.albinus@gmx.de>
6891
6892 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
6893 only after check for file name handler functions. Signal, when
6894 native functionality is not supported.
6895 (syms_of_fileio): Declare it unconditionally.
6896
68972008-04-10 Jason Rumney <jasonr@gnu.org>
6898
6899 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
6900 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
6901
6902 * w32.c (logon_network_drive): Also logon to remote drives that
6903 are mapped to drive letters.
6904
69052008-04-10 Glenn Morris <rgm@gnu.org>
6906
6907 * xdisp.c (truncate-partial-width-windows): Doc fix.
6908
69092008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
6910
6911 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
6912 Move functions to minibuffer.el.
6913 (syms_of_fileio): Don't declare them.
6914
69152008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
6916
6917 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
6918 (syms_of_minibuf): Remove its initialization.
6919
6920 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
6921
69222008-04-09 Juanma Barranquero <lekktu@gmail.com>
6923
6924 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
6925
69262008-04-09 Jason Rumney <jasonr@gnu.org>
6927
6928 * makefile.w32-in (distclean): Delete makefile too.
6929 (maintainer-clean): New target.
6930
6931 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
6932
6933 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
6934 for new font backend and composite cases.
6935
69362008-04-09 Jan Djärv <jan.h.d@swipnet.se>
6937
6938 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
6939 Most of the code moved to run_timers.
6940 (do_pending_atimers): Call run_timers.
6941 (run_timers): New function.
6942
6943 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
6944 run atimers.
6945
6946 * process.c (wait_reading_process_output): The same as above.
6947
69482008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
6949
6950 * minibuf.c (last_exact_completion): Remove variable.
6951 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
6952 (complete_and_exit_1, complete_and_exit_2)
6953 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
6954 (Fdisplay_completion_list, display_completion_list_1)
6955 (Fminibuffer_completion_help, Fself_insert_and_exit)
6956 (Fexit_minibuffer, Fminibuffer_message): Move functions to
6957 minibuffer.el.
6958 (syms_of_minibuf): Remove corresponding initializations.
6959
6960 * keyboard.c (Qdeactivate_mark): New var.
6961 (command_loop_1): Use it to call `deactivate-mark'.
6962 (syms_of_keyboard): Initialize it.
6963
6964 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
6965 to another frame.
6966 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
6967 Don't call set_tty_color_mode.
6968 (store_frame_param): Reset previous_frame rather than call
6969 set_tty_color_mode.
6970 * term.c (set_tty_color_mode): Rewrite.
6971 * dispextern.h (set_tty_color_mode): New type.
6972 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
6973
69742008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
6975
6976 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
6977 for generic chars, which do not exist any more in emacs-unicode.
6978
69792008-04-08 Michael Albinus <michael.albinus@gmx.de>
6980
6981 * coding.c (detect_coding_emacs_mule)
6982 (Ffind_operation_coding_system): Fix typo.
6983
69842008-04-08 Jason Rumney <jasonr@gnu.org>
6985
6986 * w32uniscribe.c (SNAME): Extract only symbol name.
6987
6988 * w32font.h (struct w32_metric_cache): New struct.
6989 (w32font_info): Use it.
6990 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
6991 (CACHE_BLOCKSIZE): New constants.
6992
6993 * w32font.c (Qja, Qko, Qzh): New symbols.
6994 (syms_of_w32font): Initialise them.
6995 (font_matches_spec): Use them to filter by language.
6996 (recompute_cached_metrics): Remove function.
6997 (compute_metrics, clear_cached_metrics): New functions.
6998 (w32font_encode_char): Use them to manage metric cache.
6999 (w32font_text_extents): Cache metrics for all glyphs on demand.
7000 Delay converting glyph indices to WORD until needed.
7001 (w32font_open_internal): Initialize metric cache to empty.
7002 (registry_to_w32_charset): Charset should always be a symbol.
7003 (fill_in_logfont, list_all_matching_fonts): Family should
7004 always be a symbol.
7005
70062008-04-06 Jason Rumney <jasonr@gnu.org>
7007
7008 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
7009 Give up if glyph indices not supported. Use uniscribe obtained
7010 ABC widths for individual metrics. Map glyph clusters back to
7011 characters using fClusterStart flag. Return number of glyphs
7012 produced, not chars processed.
7013 (uniscribe_shape): Map char at FROM to current glyph.
7014
70152008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7016
7017 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
7018 Use SetMenuItemHierarchicalMenu.
7019
70202008-04-05 Jason Rumney <jasonr@gnu.org>
7021
7022 * image.c (pbm_load): Allow color values up to 65535.
7023 Throw an error if max_color_idx is outside the supported range.
7024 Report an error when image size is invalid.
7025 Read two bytes at a time when raw images have max_color_idx above 255.
7026
70272008-04-05 Eli Zaretskii <eliz@gnu.org>
7028
7029 * w32.c (readdir): If FindFirstFile/FindNextFile return in
7030 cFileName a file name that includes `?' characters, use the 8+3
7031 alias in cAlternateFileName instead.
7032
70332008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
7034
7035 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
7036 append "CCL: Quitted" when the CCL program is quitted.
7037 (setup_ccl_program): Initialize ccl->quit_silently to zero.
7038
7039 * ccl.h (struct ccl_program): New member quit_silently.
7040
70412008-04-05 Chong Yidong <cyd@stupidchicken.com>
7042
7043 * search.c (compile_pattern_1): Treat non-nil and non-string of
7044 search-spaces-regexp as nil.
7045
7046 * minibuf.c (Fassoc_string): Tweak docstring.
7047
70482008-04-05 Eli Zaretskii <eliz@gnu.org>
7049
7050 * dired.c (Ffile_attributes): Support inode numbers wider than 32
7051 bits. Remove ugly WINDOWSNT-specific kludge introduced on
7052 2008-03-14 to force inode be positive.
7053
7054 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
7055 _S_* ones, since we now use our own sys/stat.h.
7056 (stat, fstat): Don't mangle the inode number.
7057 (init_user_info): Don't restrict UID and GID to 0-60000 range.
7058
70592008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
7060
7061 * frame.h (struct frame): Give one more bit to `visible' since we use
7062 values larger than 1 to indicate obscured frames on ttys.
7063
7064 * keymap.c (Qkeymap_canonicalize): New var.
7065 (Fmap_keymap_internal): New fun.
7066 (describe_map): Use keymap-canonicalize.
7067
7068 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
7069 (Fundo_boundary): Set them.
7070 (syms_of_undo): Initialize them.
7071 (record_point): Use them instead of last_point_position*.
7072 (last_undo_buffer): Change type.
7073
70742008-04-04 Jason Rumney <jasonr@gnu.org>
7075
7076 * w32font.c (w32font_text_extents): Use font's ascent and descent.
7077 (recompute_cached_metrics): Don't set ascent and descent per char.
7078
7079 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
7080 (uniscribe_check_otf): Add GC protection before consing.
7081 Rearrange loop for counting features.
7082
70832008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
7084
7085 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
7086 buffer with byte-size of source buffer.
7087
70882008-04-03 Chong Yidong <cyd@stupidchicken.com>
7089
7090 * callint.c (Fcall_interactively): Handle temporary region even
7091 when shift-select-mode is off.
7092
70932008-04-03 Jason Rumney <jasonr@gnu.org>
7094
7095 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
7096
70972008-04-03 Kenichi Handa <handa@m17n.org>
7098
7099 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
7100 (CATEGORY_MASK_UTF_16): Likewise.
7101 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
7102 binary file.
7103 (detect_coding): Add null-byte detection for a binary file.
7104 (detect_coding_system): Likewise.
7105
71062008-04-03 Jason Rumney <jasonr@gnu.org>
7107
7108 * w32uniscribe.c: New file.
7109
7110 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
7111
7112 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
7113
7114 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
7115 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
7116 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
7117 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
7118 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
7119 (Qphonetic): New symbols.
7120 (syms_of_w32font): Initialize them.
7121 (font_supported_scripts): Use them.
7122 (w32font_list_family): List all charsets.
7123 (w32font_text_extents, recompute_cached_metrics): Fix metric
7124 calculations.
7125 (w32_enumfont_pattern_entity): Make full_type a DWORD.
7126 Give opentype fonts their own format.
7127 (font_matches_spec): New arguments backend and logfont.
7128 Handle :otf spec for uniscribe backend.
7129 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
7130 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
7131
7132 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
7133 font backend.
7134 (globals_of_w32fns): Initialize uniscribe font backend.
7135
7136 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
7137 dependencies.
7138 (w32uniscribe.$(O)): New file to build.
7139 (FONT_OBJ): Include w32uniscribe.$(O).
7140 (LIBS): Add uniscribe libraries.
7141
7142 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
7143
71442008-04-02 Chong Yidong <cyd@stupidchicken.com>
7145
7146 * callint.c (Vshift_select_mode): New var.
7147 (Finteractive): Document new ^ spec.
7148 (Fcall_interactively): Call handle-shift-selection if the ^ spec
7149 is present.
7150
7151 * keyboard.c (Vthis_command_keys_shift_translated): New var.
7152 (command_loop_1): Avoid running the direct display versions of
7153 forward-char and backward-char if shift-selection may occur.
7154 (read_key_sequence): Set Vthis_command_keys_shift_translated if
7155 shift-translation takes place.
7156
7157 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
7158 avoid clobbering by define-minor-mode.
7159
7160 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
7161 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
7162
7163 * syntax.c (Fforward_word): Add ^ interactive spec.
7164
7165 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
7166 (Fscroll_right): Add ^ interactive spec.
7167
71682008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
7169
7170 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
7171
7172 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
7173
7174 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
7175
71762008-03-31 Juri Linkov <juri@jurta.org>
7177
7178 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
7179
71802008-03-30 Jan Djärv <jan.h.d@swipnet.se>
7181
7182 * gtkutil.c (xg_set_geometry): Fix indentation.
7183 (xg_resize_outer_widget): Remove.
7184 (x_wm_size_hint_off): Fix indentation.
7185 (xg_frame_set_char_size): Call flush_and_sync after
7186 gtk_window_resize.
7187 (x_wm_set_size_hint): Pass NULL as geometry window to
7188 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
7189 Add menu bar and tool bar height to base height.
7190 (xg_update_frame_menubar, free_frame_menubar)
7191 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
7192 (update_frame_tool_bar, free_frame_tool_bar):
7193 Change xg_resize_outer_widget to xg_frame_set_char_size.
7194
71952008-03-30 Michael Albinus <michael.albinus@gmx.de>
7196
7197 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
7198 (Fdbus_call_method): New parameter TIMEOUT.
7199 (dbus-send-signal): Optimize UNGCPRO call.
7200
72012008-03-29 Juri Linkov <juri@jurta.org>
7202
7203 * window.c (Fdisplay_buffer): Move call to
7204 Vsplit_window_preferred_function out of conditions that check
7205 if window is eligible for vertical splitting.
7206 When Vsplit_window_preferred_function is non-nil, call it and use
7207 its non-nil return value as window. Otherwise, continue doing
7208 vertical splitting using Fsplit_window with arg horflag=nil.
7209 (syms_of_window) <Vsplit_window_preferred_function>: Change the
7210 default value from `split-window' to nil.
7211
72122008-03-29 Juri Linkov <juri@jurta.org>
7213
7214 * callint.c (Fcall_interactively): Revert 2008-03-16 change
7215 for interactive code letters 'b' and 'B'.
7216
72172008-03-29 Eli Zaretskii <eliz@gnu.org>
7218
7219 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
7220 multibyte string.
7221
72222008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
7223
7224 * keyboard.c (pending_funcalls): New var.
7225 (timer_check): Run it.
7226 (syms_of_keyboard): Initialize it.
7227 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
7228 (Vdelete_terminal_functions): New vars.
7229 (syms_of_terminal): Initialize them.
7230 (Fdelete_terminal): Run delete-terminal-functions.
7231 * xdisp.c (safe_eval): Rewrite.
7232 (safe_call2): New fun.
7233 * frame.c (Qdelete_frame_functions): New var.
7234 (syms_of_frame): Initialize it.
7235 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
7236 * lisp.h (safe_call2, pending_funcalls): Declare.
7237
72382008-03-28 Andreas Schwab <schwab@suse.de>
7239
7240 * indent.c (Fmove_to_column): Move declaration before statements.
7241
72422008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
7243
7244 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
7245 (struct frame): Use bit fields for boolean vars.
7246
7247 * process.c (server_accept_connection): Simplify naming.
7248 (emacs_get_tty_pgrp): Use SDATA.
7249
7250 * coding.c (decode_coding_object): Fix last change.
7251
72522008-03-27 Jason Rumney <jasonr@gnu.org>
7253
7254 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
7255
72562008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
7257
7258 * charset.c (Fdefine_charset_internal): Change the way of
7259 registering charsets in Vcharset_order_list.
7260 (syms_of_charset): Make the charset `eight-bit' supplementary.
7261
72622008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
7263
7264 * regex.c (EXTEND_BUFFER): Change order of pointer addition
7265 operations, to avoid having the difference between pointers
7266 overflow.
7267
72682008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
7269
7270 * indent.c (check_display_width): New fun.
7271 (scan_for_column): Use it.
7272
7273 * data.c (syms_of_data): Mark most-positive-fixnum and
7274 most-negative-fixnum as constants.
7275
7276 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
7277
7278 * indent.c (scan_for_column): Extract from current_column_1.
7279 Merge with the same code from Fmove_to_column.
7280 (current_column_1, Fmove_to_column): Use it.
7281
72822008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
7283
7284 * keymap.c (map_keymap_internal): New fun.
7285 (map_keymap): Use it.
7286 (Fmap_keymap_internal): New fun.
7287 (Fmap_keymap): Remove left-out test from before make_save_value.
7288
7289 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
7290
7291 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
7292 Use XCAR/XCDR.
7293
7294 * process.h (struct Lisp_Process): Remove filter_multibyte.
7295 * process.c (QCfilter_multibyte): Remove.
7296 (setup_process_coding_systems): Don't use filter_multibyte.
7297 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
7298 (read_process_output): Don't adjust multibyteness to filter_multibyte.
7299 (Fset_process_filter_multibyte): Change the coding-system to
7300 approximate the previous behavior.
7301 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
7302 coding-system.
7303
7304 * coding.c (decode_coding_object): When not decoding into a buffer,
7305 obey the coding system's preference of (uni|multi)byte.
7306
73072008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
7308
7309 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
7310 every char is changed and has a different byte-length.
7311 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
7312 Fix int -> EMACS_INT.
7313
73142008-03-23 David Hansen <david.hansen@gmx.net>
7315
7316 * dbusbind.c (xd_read_message): Remove extra copying of message
7317 strings. Check for NULL `interface' or `member'.
7318
73192008-03-22 Eli Zaretskii <eliz@gnu.org>
7320
7321 * w32.c (readdir): If FindFirstFile/FindNextFile return in
7322 cFileName a file name that includes `?' characters, use the 8+3
7323 alias in cAlternateFileName instead.
7324
73252008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
7326
7327 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
7328
73292008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
7330
7331 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
7332 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
7333 work on current_buffer only instead (that was already the case
7334 for some of the code anyway).
7335 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
7336 (temp_set_point, temp_set_point_both): Use EMACS_INT.
7337 (SET_PT, SET_PT_BOTH): Adjust.
7338 * intervals.h (set_point, temp_set_point, set_point_both)
7339 (temp_set_point_both): Remove redundant declarations.
7340
73412008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
7342
7343 * fileio.c (Finsert_file_contents):
7344 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
7345 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
7346 when buffer != current_buffer anyway.
7347
73482008-03-20 Andreas Schwab <schwab@suse.de>
7349
7350 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
7351 as default.
7352
73532008-03-19 Jason Rumney <jasonr@gnu.org>
7354
7355 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
7356 (syms_of_w32fns): Initialize them.
7357 (HOURGLASS_ID): New constant.
7358 (x_window_to_frame): Don't check hourglass_window.
7359 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
7360 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
7361 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
7362 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
7363 Only change the cursor if hourglass is not active.
7364 (Fx_create_frame): Initialize frame's current_cursor.
7365 (hourglass_atimer): Remove.
7366 (hourglass_started): New function.
7367 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
7368 (show_hourglass): Adapt to w32, changing argument to frame.
7369
7370 * w32term.h (struct w32_output): Remove hourglass_window.
7371 Add current_cursor.
7372
7373 * eval.c (call_debugger, Fsignal):
7374 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
7375 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
7376 (Fexecute_extended_command, cancel_hourglass_unwind):
7377 * minibuf.c (read_minibuf):
7378 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
7379
73802008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
7381
7382 * window.c (run_funs): New fun.
7383 (run_window_configuration_change_hook): Use it to run the buffer-local
7384 and the global part of the hook.
7385
7386 * xdisp.c (format_mode_line_unwind_data): Add window argument.
7387 (unwind_format_mode_line): Restore selected window.
7388 (x_consider_frame_title, Fformat_mode_line): Set selected window.
7389
73902008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
7391
7392 * editfns.c (Fchar_equal): Check they are valid characters.
7393
7394 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
7395
73962008-03-17 Andreas Schwab <schwab@suse.de>
7397
7398 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
7399 against a charset.
7400
7401 * lisp.h (Fbuffer_list): Declare.
7402
74032008-03-17 Jan Djärv <jan.h.d@swipnet.se>
d6c952f8 7404
aac0c6e3
MR
7405 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
7406 handlebox_widget is != 0.
7407
74082008-03-16 Juri Linkov <juri@jurta.org>
7409
7410 * callint.c (Fcall_interactively): For interactive code letters
7411 'b' and 'B' put the buffer list into the list of default "future"
7412 values of the minibuffer.
7413
74142008-03-16 Andreas Schwab <schwab@suse.de>
7415
7416 * keyboard.c (read_key_sequence): Fix downcasing of letters with
7417 modifiers.
7418
7419 * regex.c (re_match_2_internal): Correct matching of a charset
7420 against latin-1 characters.
7421
74222008-03-16 Kenichi Handa <handa@m17n.org>
7423
7424 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
7425 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
7426 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
7427 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
7428 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
7429 CHAR_STRING_ADVANCE.
7430 (produce_chars): Fix for the case that the source and the
7431 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
7432 instead of CHAR_STRING_ADVANCE.
7433 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
7434 STRING_CHAR_ADVANCE.
7435
74362008-03-15 Andreas Schwab <schwab@suse.de>
7437
7438 * regex.c (re_match_2_internal): Correct matching of eight bit
7439 characters in unibyte strings.
7440
74412008-03-15 Martin Rudalics <rudalics@gmx.at>
7442
7443 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
7444 at end of range when it coincides with the end of the buffer.
7445
74462008-03-14 Eli Zaretskii <eliz@gnu.org>
7447
7448 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
7449
7450 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
7451
74522008-03-14 Jason Rumney <jasonr@gnu.org>
7453
7454 * editfns.c (initial_tz): New variable.
7455 (syms_of_editfns): Initialize it.
7456 (Fset_time_zone_rule): Set it when first called.
7457 Use it when TZSTRING is nil.
7458
7459 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
7460 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
7461 (monitor_from_point_fn, get_monitor_info_fn): New globals.
7462 (globals_of_w32fns): Initialize them.
7463 (compute_tip_xy): Use them to position tooltips.
7464
74652008-03-14 Glenn Morris <rgm@gnu.org>
7466
7467 * emacs.c (main): Revert previous change.
7468 (standard_args): Revert -internal-script back to -scriptload,
7469 and remove the long-option form.
7470
74712008-03-13 Glenn Morris <rgm@gnu.org>
7472
7473 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
7474 Remove option -enable-font-backend.
7475
74762008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
7477
7478 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
7479
74802008-03-11 Jan Djärv <jan.h.d@swipnet.se>
7481
7482 * xterm.c (x_connection_closed): For GTK: If this is the last
7483 terminal just exit without closing the display.
7484
74852008-03-11 Jason Rumney <jasonr@gnu.org>
7486
7487 * w32font.c (w32font_full_name): Use floor to round.
7488
f0131492 74892008-03-10 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
aac0c6e3
MR
7490
7491 * sound.c (alsa_configure): Declare vol at beginning of block.
7492
7493 * fontset.c (Ffontset_info): Remove extra semicolon.
7494
74952008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
7496
7497 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
7498 size of resulting string.
7499
75002008-03-10 Jason Rumney <jasonr@gnu.org>
7501
7502 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
7503
75042008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7505
7506 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
7507 Don't pretend as if characters with display property haven't been
7508 consumed for string-replacing-string case.
7509
75102008-03-08 Kim F. Storm <storm@cua.dk>
7511
7512 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
7513 (get_next_display_element, next_element_from_string)
7514 (next_element_from_ellipsis, next_element_from_buffer): Use it.
7515
75162008-03-08 Andreas Schwab <schwab@suse.de>
7517
7518 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
7519
75202008-03-06 Jason Rumney <jasonr@gnu.org>
7521
7522 * w32font.c (w32_registry): Take font_type argument. Use ANSI
7523 when charset not specified. Only translate ANSI to unicode when
7524 font_type is truetype.
7525 (w32font_coverage_ok): New function.
7526 (add_font_entity_to_list): Use it to filter unsuitable fonts.
7527
75282008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
7529
7530 * lread.c (Fread_char): Resolve modifiers.
7531 (Fread_char_exclusive): Likewise.
7532
7533 * character.c (char_resolve_modifier_mask): New function.
7534 (char_string): Use char_resolve_modifier_mask.
7535 (Fchar_resolve_modifiers): New function.
7536 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
7537 function.
7538
75392008-03-04 Jason Rumney <jasonr@gnu.org>
7540
7541 * makefile.w32-in: Always include w32font.c in the build.
7542 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
7543
75442008-03-04 Andreas Schwab <schwab@suse.de>
7545
7546 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
7547 (versionclean): Likewise.
7548
75492008-03-04 Juanma Barranquero <lekktu@gmail.com>
7550
7551 * .cvsignore: Add oo.
7552
75532008-03-03 Andreas Schwab <schwab@suse.de>
7554
7555 * coding.c (decode_coding_object): Inhibit gap shrinking while
7556 decoding in place.
7557
75582008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
7559
7560 * w32term.c: Remove unused include "gnu.h".
7561 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
7562
7563 * gnu.h: Rename to ...
7564 * emacs-icon.h: ... this.
7565 * xterm.c: Use emacs-icon.h instead of gnu.h.
7566 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
7567
75682008-03-03 Juanma Barranquero <lekktu@gmail.com>
7569
7570 * w32font.c: Include math.h.
7571
75722008-03-03 Jason Rumney <jasonr@gnu.org>
7573
7574 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
7575 Compute options separately.
7576 (w32font_open_internal): Set glyph_idx before caching metrics.
7577
7578 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
7579 Define if system headers don't.
7580 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
7581 (w32font_encode_char): Don't declare here.
7582
7583 * w32font.c (Quniscribe, QCformat): New symbols.
7584 (syms_of_w32font): Define them.
7585 (w32font_has_char): Indicate uncertainty.
7586 (w32font_encode_char): Encode as glyph point. Make static.
7587 (recompute_cached_metrics): New function.
7588 (w32font_open_internal): Use it. Set font to use glyph points
7589 initially. Set format based on type of font.
7590 (w32font_text_extents, w32font_draw): Optionally use glyph points.
7591 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
7592 on it. Set format based on information available here.
7593 (add_font_entity_to_list): Identify backend based on opentype_only.
7594
75952008-03-02 Andreas Schwab <schwab@suse.de>
7596
7597 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
7598
7599 * coding.c (decode_coding_big5, produce_chars):
7600 Fix typos in last change.
7601
76022008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
7603
7604 * gnu.h: New icon.
7605
76062008-03-02 Kenichi Handa <handa@m17n.org>
7607
7608 * coding.c (decode_coding_utf_8): When eol-type of CODING is
7609 `dos', don't decode '\r' if that is the last in the source.
7610 (decode_coding_utf_16, decode_coding_emacs_mule)
7611 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
7612 (decode_coding_raw_text, decode_coding_charset): Likewise.
7613 (produce_chars): Don't decode EOL here. Use EMACS_INT.
7614
76152008-03-01 Jason Rumney <jasonr@gnu.org>
7616
7617 * w32font.c (w32font_full_name): Report point size for scalable fonts.
7618
76192008-03-01 Kim F. Storm <storm@cua.dk>
7620
7621 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
7622
76232008-03-01 Jason Rumney <jasonr@gnu.org>
7624
7625 * w32font.c (w32font_full_name): New function.
7626 (w32font_open_internal): Use it.
7627
76282008-03-01 Kim F. Storm <storm@cua.dk>
7629
7630 * dispnew.c (line_draw_cost): Fix invalid glyph check.
7631
76322008-03-01 Jason Rumney <jasonr@gnu.org>
7633
7634 * font.c (font_unparse_fcname): Increase len when style is a symbol.
7635
76362008-03-01 Jan Djärv <jan.h.d@swipnet.se>
7637
7638 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
7639 xg_frame_resized when the event is for the edit widget.
7640
7641 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
7642
7643 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
7644 set_char_size.
7645 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
7646 operations on widgets here. Just set frame size if needed.
7647 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
7648 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
7649 (x_wm_set_size_hint): Set size hints on the edit widget only, not
7650 the whole frame.
7651 (xg_create_tool_bar): Move attachment of the tool bar to
7652 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
7653 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
7654
76552008-03-01 Jason Rumney <jasonr@gnu.org>
7656
7657 * w32fns.c (w32_msg_pump): Disable debug code.
7658
76592008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7660
7661 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
7662
76632008-02-29 Chong Yidong <cyd@stupidchicken.com>
7664
7665 * xdisp.c (next_overlay_string): Don't set
7666 overlay_strings_at_end_processed_p if we're currently reading from
7667 a display string.
7668
76692008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
7670
7671 * xdisp.c (get_overlay_strings_1): Fix typo.
7672
76732008-02-29 Chong Yidong <cyd@stupidchicken.com>
7674
7675 * xdisp.c (get_overlay_strings_1): Add missing argument type.
7676
76772008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
7678
7679 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
7680
7681 * xdisp.c (display_mode_element): Cancel the previous change.
7682 (decode_mode_spec): Likewise.
7683 (handle_auto_composed_prop): Don't make composition if it->string
7684 is a string.
7685
76862008-02-27 Kim F. Storm <storm@cua.dk>
7687
7688 * lisp.h (GLYPH): Change type from int to struct with separate char
7689 and face_id members.
7690 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
7691 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
7692 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
7693 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
7694 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
7695 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
7696 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
7697 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
7698 handle new Lisp glyph code encoding, either an integer or a cons.
7699
7700 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
7701 (GLYPH_ALIAS): Delete.
7702 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
7703 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
7704 (GLYPH_FROM_CHAR): Replace macro by ...
7705 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
7706
7707 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
7708 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
7709 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
7710 (GLYPH_INVALID_P): New macro.
7711 (spec_glyph_lookup_face): Update prototype.
7712
7713 * dispnew.c (line_draw_cost): Adapt to new glyph type.
7714 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
7715 new glyph code encoding.
7716 (spec_glyph_lookup_face): No return value; update passed glyph instead.
7717 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
7718
7719 * xdisp.c (get_next_display_element, next_element_from_display_vector):
7720 Adapt to new glyph type and new glyph code encoding.
7721
7722 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
7723
7724 * indent.c (current_column, current_column_1, Fmove_to_column)
7725 (compute_motion): Adapt to new glyph code encoding.
7726
7727 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
7728
77292008-02-27 Chong Yidong <cyd@stupidchicken.com>
7730
7731 * process.c (wait_reading_process_output): Check for window
7732 changes caused by timers.
7733 Suggested by Johan Bockgård.
7734
77352008-02-27 Glenn Morris <rgm@gnu.org>
7736
7737 * emacs.c (USAGE1): Add `--disable-font-backend'.
7738
77392008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
7740
7741 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
7742 is made to the buffer.
7743
77442008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
7745
7746 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
7747 (face_at_string_position):
7748 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
7749 (face_at_string_position):
7750 * xdisp.c (display_string, next_overlay_change):
7751 * buffer.h (overlays_at):
7752 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
7753 Update callers.
7754
77552008-02-26 Chong Yidong <cyd@stupidchicken.com>
7756
7757 * editfns.c (Fformat): Doc fix.
7758
77592008-02-26 Juanma Barranquero <lekktu@gmail.com>
7760
7761 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
7762 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
7763 (Ffont_otf_alternates, Fquery_font): Doc fixes.
7764
77652008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
7766
7767 * buffer.c (Fbuffer_swap_text): New function.
7768 (syms_of_buffer): Defsubr it.
7769
77702008-02-25 Chong Yidong <cyd@stupidchicken.com>
7771
7772 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
7773
77742008-02-25 Jason Rumney <jasonr@gnu.org>
7775
7776 * w32font.c (w32font_draw): Draw one character at a time when padding.
7777
77782008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
7779
7780 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
7781 Handle a nil arg. Use run_window_configuration_change_hook.
7782 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
7783 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
7784 Use run_window_configuration_change_hook.
7785
77862008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
7787
7788 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
7789 1-pixel width.
7790
77912008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
7792
7793 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
7794 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
7795 if the glyph in the font is zero pixel with.
7796
7797 * dispextern.h (struct glyph_string): New member padding_p.
7798
7799 * w32font.c (w32font_draw): Pay attention to s->padding_p.
7800
7801 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
7802
7803 * xfont.c (xfont_draw): Pay attention to s->padding_p.
7804
7805 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
7806
7807 * font.c: If the font driver doesn't have `shape' function, return Qnil.
7808
78092008-02-25 Jason Rumney <jasonr@gnu.org>
7810
7811 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
7812
78132008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
7814
7815 Allow fine-grained image-cache flushing.
7816 * dispextern.h (struct image): Add `dependencies' field.
7817 (clear_image_caches): Change arg to Lisp_Object.
7818 * image.c (make_image): Initialize `dependencies' field.
7819 (clear_image_cache): Change arg to allow fine-grained flushing.
7820 Perform the flush even if image-cache-eviction-delay is nil.
7821 (clear_image_caches): Change arg to Lisp_Object.
7822 (Fclear_image_cache): Expand meaning of the argument.
7823 (mark_image): Mark `dependencies' field.
7824 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
7825 (lface_hash): Use XHASH rather than XFASTINT.
7826 (face_at_buffer_position): Fix int -> EMACS_INT position.
7827 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
7828 (select_frame_for_redisplay): Remove code duplication.
7829 (redisplay_internal): Adapt arg to call to clear_image_caches.
7830
78312008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
7832
7833 * s/vms4-0.h:
7834 * s/vms4-2.h:
7835 * s/vms4-4.h:
7836 * s/vms5-5.h: Remove, unused.
7837
7838 * s/irix5-2.h:
7839 * s/irix6-0.h:
7840 * s/riscos5.h:
7841 * s/mach-bsd4-3.h:
7842 * m/mips4.h: Remove files for obsolete systems.
7843
7844 * Makefile.in:
7845 * filelock.c:
7846 * unexmips.c:
7847 * m/hp9000s300.h:
7848 * m/iris4d.h:
7849 * s/aix3-1.h:
7850 * s/hpux.h:
7851 * s/msdos.h:
7852 * s/usg5-0.h:
7853 * s/usg5-2-2.h:
7854 * s/usg5-2.h:
7855 * s/usg5-3.h: Remove references to obsolete variables.
7856
7857 * s/irix5-0.h: Remove, move all the contents ...
7858 * s/irix6-5.h: ... here. Simplify.
7859 * config.in: Regenerate.
7860
78612008-02-24 Jason Rumney <jasonr@gnu.org>
7862
7863 * w32term.c (x_draw_glyph_string_background): Clear the background
7864 manually when cleartype is in use.
7865 (x_draw_glyph_string_foreground): Draw text transparently when
7866 cleartype is in use.
7867
7868 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
7869 a font into it unless we have to.
7870
78712008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
7872
7873 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
7874 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
d6c952f8 7875
aac0c6e3
MR
78762008-02-18 Jason Rumney <jasonr@gnu.org>
7877
7878 * w32fns.c (Fw32_shell_execute): Encode parameters.
7879
78802008-02-09 Eli Zaretskii <eliz@gnu.org>
7881
7882 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
7883
78842008-02-05 Juanma Barranquero <lekktu@gmail.com>
7885
7886 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
7887
78882008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
7889
7890 * xterm.c (x_set_offset): Don't change the gravity if
7891 CHANGE_GRAVITY is -1.
7892
78932008-02-23 Chong Yidong <cyd@stupidchicken.com>
7894
7895 * fileio.c (auto_save_error_occurred): New var.
7896 (auto_save_error): Set it.
7897 (Fdo_auto_save): Don't overwrite the error message if an auto-save
7898 error occurred.
7899
79002008-02-23 Eli Zaretskii <eliz@gnu.org>
7901
7902 * w32.c (globals_of_w32): Add initializations for
7903 g_b_init_get_sid_sub_authority and
7904 g_b_init_get_sid_sub_authority_count.
7905
79062008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
7907
7908 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
7909 (font_parse_xlfd): Use them for sanity check.
7910 (Finternal_set_font_style_table): Make sure the table is bijective.
7911
7912 Consolidate the image_cache to the terminal struct.
7913 * termhooks.h (P_): Remove redundant def.
7914 (struct terminal): New field `image_cache'.
7915 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
7916 of FRAME_X_IMAGE_CACHE.
7917 * xterm.h (struct x_display_info): Remove image_cache field.
7918 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7919 * w32term.h (struct w32_display_info): Remove image_cache field.
7920 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7921 * macterm.h (struct mac_display_info): Remove image_cache field.
7922 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7923 * xterm.c (x_term_init):
7924 * w32term.c (w32_term_init):
7925 * macterm.c (mac_term_init): Set the image_cache in the terminal.
7926 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
7927 Remove declarations.
7928 (clear_image_caches, mark_image_cache): New declarations.
7929 * xfaces.c (clear_face_cache):
7930 * xdisp.c (redisplay_internal): Use clear_image_caches.
7931 * image.c (clear_image_cache): Don't check that a frame is on
7932 a window-system before checking if it shares the same cache.
7933 (clear_image_caches): New function.
7934 (Fclear_image_cache): Use it.
7935 (mark_image): Move from allo.c.
7936 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
7937 * alloc.c (mark_image, mark_image_cache): Move to image.c.
7938 (mark_object): Don't call mark_image_cache for frames.
7939 (mark_terminals): Call mark_image_cache.
7940
7941 * lisp.h (Fdelete_terminal): Declare.
7942
7943 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
7944 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
7945 wrong_type_argument.
7946
79472008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
7948
7949 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
7950 malayalam.el, and tamil.el. Add sinhala.el.
7951
79522008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
7953
7954 * xterm.c (x_connection_closed): Consolidate identical tests.
7955 (x_delete_terminal): Don't crash if called via x_connection_closed.
7956
79572008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
7958
7959 * xdisp.c (decode_mode_spec): New arg string.
7960 (display_mode_element): Adjust for the above change.
7961
79622008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
7963
7964 * callint.c (Fcall_interactively): Use AREF.
7965
79662008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
7967
7968 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
7969
79702008-02-18 Jan Djärv <jan.h.d@swipnet.se>
7971
7972 * xfns.c (Fx_show_tip): Set string to " " if empty.
7973
79742008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
7975
7976 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
7977 with Qt.
7978
79792008-02-17 Kenichi Handa <handa@m17n.org>
7980
7981 * ftfont.c (ftfont_shape): Return Lispy number.
7982
7983 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
7984 for GCs.
7985 (Finternal_set_font_selection_order): Call font_update_sort_order
7986 only when enable_font_backend is set.
7987 (realize_x_face): Set face->font_info to that of default face only
7988 when enable_font_backend is set.
7989
7990 * xdisp.c (handle_composition_prop): Set it->c to the fist
7991 character of the composed region.
7992 (fill_composite_glyph_string): Set base_face->font_info to
7993 s->font_info. Get a face for ascii from base_face->ascii_face.
7994 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
7995 with a face already decided.
7996 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
7997 non-negative.
7998 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
7999 call font_prepare_composition unconditionally.
8000
8001 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
8002
8003 * xterm.h (struct x_display_info): New member font.
8004
8005 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
8006 (x_set_mouse_face_gc, x_new_font): Likewise.
8007 (x_term_init): Setup display_info->font.
8008 (x_delete_terminal): Free display_info->font.
8009
8010 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
8011
8012 * ftxfont.c (ftxfont_default_fid): Delete it.
8013 (ftxfont_open): Set xfont->fid to 0.
8014 (ftxfont_end_for_frame): Clear data specific to the frame and the
8015 font-driver.
8016
8017 * xftfont.c (xftfont_default_fid): Delete it.
8018 (xftfont_open): Set xfont->fid to 0.
8019
8020 * fontset.c (FONTSET_OBJLIST): New macro.
8021 (fontset_find_font): Update font-object list of the fontset.
8022 (free_realized_fontset): New function.
8023 (free_face_fontset): Call free_realized_fontset.
8024 (Ffont_info): Call font_close_object only when enable_font_backend
8025 is set.
8026
8027 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
8028 [HAVE_NTGUI]: Include w32term.h.
8029 [MAC_OS]: Include macterm.ch.
8030 (font_otf_ValueRecord): Use make_number.
8031 (font_finish_cache): Fix handling of reference count.
8032 (font_clear_cache): Update num_fonts.
8033 (font_open_entity): Update smallest_char_width and
8034 smallest_font_height of the frame.
8035 (font_close_object): Update num_fonts.
8036 (Fclear_font_cache): Fix finding the target cache data.
8037
80382008-02-16 Glenn Morris <rgm@gnu.org>
8039
8040 * fontset.c (Finternal_char_font): Fix compilation warning.
8041
80422008-02-16 Eli Zaretskii <eliz@gnu.org>
8043
8044 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
8045 instead of char arrays. Enlarge the size of array passed to
8046 get_token_information.
8047
8048 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
8049 warnings.
8050
80512008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
8052
8053 * .gdbinit: Don't set `args', it breaks gdb --args.
8054
80552008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
8056
8057 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
8058 within a narrowed buffer.
8059
80602008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
8061
8062 * coding.c (decode_coding_object, encode_coding_object):
8063 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
8064
80652008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
8066
8067 * coding.c (coding_set_destination): Use BEG_BYTE rather than
8068 hardcoding 1.
8069 (detect_coding_system):
8070 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
8071 (string_char_to_byte, string_byte_to_char, insert_from_gap):
8072 * insdel.c (insert_from_gap):
8073 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
8074 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
8075 (string_to_multibyte):
8076 * character.c (chars_in_text, multibyte_chars_in_text):
8077 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
8078
8079 * character.h (FETCH_STRING_CHAR_ADVANCE)
8080 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
8081 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
8082 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
8083
8084 * casefiddle.c (casify_region): Only call after-change and composition
8085 functions on the part of the region that was changed.
8086
8087 * keyboard.c (read_avail_input):
8088 * frame.c (Fdelete_frame): Call Fdelete_terminal.
8089
80902008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
8091
8092 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
8093 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
8094
80952008-02-11 Juanma Barranquero <lekktu@gmail.com>
8096
8097 * w32menu.c (push_submenu_start, push_submenu_end)
8098 (push_left_right_boundary, push_menu_pane, push_menu_item):
8099 * keyboard.c (read_key_sequence): Don't pass args with side effects
8100 to AREF, it fails when compiling with -DENABLE_CHECKING.
8101
81022008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
8103
8104 * Makefile.in (${lispsource}international/charprop.el):
8105 Delete this target.
8106
8107 * search.c (boyer_moore): Fix incorrect synching of the trunk and
8108 emacs-unicode-2.
8109
81102008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
8111
8112 * terminal.c (Fdelete_terminal): Clean up the `force' path.
8113
81142008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
8115
8116 * frame.c (Qnoelisp): New symbol.
8117 (syms_of_frame): Initialize it.
8118 (Fdelete_frame): Use it to distinguish a mere `force' passed from some
8119 harmless Elisp code, from a strong `force' from x_connection_closed.
8120 * frame.h (Qnoelisp): Declare.
8121 * xterm.c (x_connection_closed): Pass `noelisp'.
8122
8123 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
8124 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
8125 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
8126 rather than `int' for the type of `type'.
8127
81282008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
8129
8130 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
8131
8132 * Makefile.in (GNUC): Remove support for gcc-1.x.
8133
81342008-02-10 Richard Stallman <rms@gnu.org>
8135
8136 * lisp.h (ASET): Use AREF, not ASLOT.
8137
81382008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
8139
8140 * lisp.h (ASET): Check bounds.
8141
81422008-02-10 Glenn Morris <rgm@gnu.org>
8143
8144 * buffer.c (mode-name): Doc fix.
8145
81462008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
8147
8148 * Makefile.in:
8149 * emacs.c:
8150 * gmalloc.c:
8151 * keyboard.c:
8152 * lisp.h:
8153 * m/ibm370aix.h:
8154 * process.c:
8155 * regex.c:
8156 * s/hpux.h:
8157 * sysdep.c:
8158 * sysselect.h:
8159 * systty.h:
8160 * unexec.c:
8161 * w32term.c:
8162 * xsmfns.c:
8163 * xterm.c: Remove code that deals with obsolete variables.
8164
8165 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
8166
8167 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
8168 nothing else needs it anymore.
8169
81702008-02-09 Eli Zaretskii <eliz@gnu.org>
8171
8172 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
8173 instead of unibyte_char_to_multibyte.
8174
81752008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
8176
8177 * s/gnu-linux.h: Remove commented out code.
8178
8179 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
8180
8181 * Makefile.in: Update what RMS says about using autoconf.
8182 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
8183 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
8184 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
8185 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
8186
81872008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
8188
8189 * keymap.c (Fkey_description): Move side effect outside of macro call.
8190
8191 * xfaces.c (Finternal_make_lisp_face):
8192 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
8193
8194 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
8195 (syms_of_fontset): Use ASET.
8196
8197 * fns.c (concat): Move side effect outside of macro call.
8198 (hash_clear): Use ASET.
8199
82002008-02-08 Richard Stallman <rms@gnu.org>
8201
8202 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
8203 If FORCE, and frame has a surrogate minibuffer for another frame,
8204 delete the other frame first.
8205
82062008-02-07 Timo Savola <timo.savola@iki.fi>
8207
8208 * xterm.c (x_detect_focus_change): Handle embed client message.
8209 (handle_one_xevent): Ditto.
8210 (handle_one_xevent): If embedded and we get a button press/release,
8211 request focus.
8212 (xembed_set_info, xembed_send_message): New functions.
8213 (x_make_frame_visible): Call xembed_set_info if embedded.
8214 (x_make_frame_invisible): Call xembed_set_info if embedded.
8215 (x_term_init): Initialize Xatom_XEMBED.
8216 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
8217 (x_iconify_frame): Ditto.
8218
8219 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
8220 (enum xembed_info, enum xembed_message, enum xembed_focus)
8221 (enum xembed_modifier, enum xembed_accelerator): New.
8222 (xembed_set_info, xembed_send_message): Declare.
8223 (FRAME_X_EMBEDDED_P): New.
8224
8225 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
8226 gtk_plug_new.
8227
8228 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
8229 window ID of a frame.
8230 (x_window): Reparent frame if embedded.
8231 (Fx_create_frame): Don't set border width if embedded.
8232
8233 * emacs.c (USAGE3): Add --parent-id.
8234 (standard_args): Ditto.
8235
82362008-02-07 Jan Djärv <jan.h.d@swipnet.se>
8237
8238 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
8239
82402008-02-07 Jim Meyering <meyering@redhat.com>
8241
8242 Use "do...while (0)", not "if (1)...else" in macro definitions.
8243 The latter provokes a warning from gcc about the empty else, when
8244 followed by ";". Also, without that trailing semicolon, it would
8245 silently swallow up any following statement.
8246 * syntax.h (SETUP_SYNTAX_TABLE)
8247 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
8248 * buffer.h (DECODE_POSITION): Likewise.
8249 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
8250 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
8251 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
8252 (FETCH_CHAR_ADVANCE): Likewise.
8253 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
8254
82552008-02-07 Jim Meyering <meyering@redhat.com>
8256
8257 * lread.c [lint]: Don't include <sys/inode.h>.
8258
82592008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
8260
8261 * xselect.c (x_handle_dnd_message):
8262 * xmenu.c (digest_single_submenu, xmenu_show):
8263 * xdisp.c (with_echo_area_buffer_unwind_data)
8264 (format_mode_line_unwind_data, unwind_format_mode_line)
8265 (display_menu_bar):
8266 * eval.c (Ffetch_bytecode):
8267 * doc.c (store_function_docstring):
8268 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
8269 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
8270 * buffer.c (add_overlay_mod_hooklist): Use ASET.
8271
82722008-02-07 Kenichi Handa <handa@m17n.org>
8273
8274 * ftxfont.c (ftxfont_open): Don't set
8275 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
8276
8277 * ftfont.c (ftfont_open): Fix previous change.
8278
82792008-02-06 Jason Rumney <jasonr@gnu.org>
8280
8281 * w32font.c (w32font_text_extents): Fill in lbearing metric.
8282 Use cached metrics for ASCII characters.
8283 (w32font_open_internal): Don't set font's owning_frame.
8284 Cache metrics for ASCII characters.
8285
8286 * w32font.h (struct w32font_info): Add ascii_metrics.
8287 Remove owning_frame.
8288
82892008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
8290
8291 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
8292 to negative value.
8293
8294 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
8295
8296 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
8297
8298 * charset.c (syms_of_charset): Set QCtest and Qeq.
8299
83002008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
8301
8302 * process.c (Fstart_process):
8303 * callproc.c (Fcall_process): Handle the case where
8304 Funhandled_file_name_directory returns nil.
8305
8306 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
8307 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
8308 * font.c (check_gstring): Use them and AREF to access the vector before
8309 we know it's really a gstring.
8310 (Ffont_shape_text): Fix typo.
8311 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Oject mixups.
8312
8313 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
8314 Declare.
8315
8316 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
8317
83182008-02-05 Jason Rumney <jasonr@gnu.org>
8319
8320 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
8321 Set smallest_font_height and smallest_char_width in display info.
8322
83232008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
8324
8325 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
8326
83272008-02-05 Miles Bader <miles@gnu.org>
8328
8329 * xfaces.c (get_lface_attributes, merge_named_face)
8330 (lookup_named_face, lookup_derived_face, realize_named_face):
8331 Revert 2008-02-01 change by cyd@stupidchicken.com.
8332
83332008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
8334
8335 * fontset.c (Ffontset_info): Handle the case of inhibitting the
8336 fallback fonts.
8337 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
8338
83392008-02-04 Jason Rumney <jasonr@gnu.org>
8340
8341 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
8342 set full_name.
8343 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
8344
83452008-02-03 Jason Rumney <jasonr@gnu.org>
8346
8347 * makefile.w32-in (OBJ1): Include font.o here.
8348 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
8349
83502008-02-02 Jason Rumney <jasonr@gnu.org>
8351
8352 * makefile.w32-in (temacs): Bump EMHEAP to 21.
8353
83542008-02-01 Jason Rumney <jasonr@gnu.org>
8355
8356 * s/cygwin.h: Define VIRT_ADDR_VARIES.
8357
8358 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
8359
83602008-02-01 Andreas Schwab <schwab@suse.de>
8361
8362 * Makefile.in (shortlisp, lisp): Update for rename of
8363 ../lisp/language/myanmar.el.
8364
83652008-02-01 Chong Yidong <cyd@stupidchicken.com>
8366
8367 * xfaces.c (get_lface_attributes): Delete function.
8368 (merge_named_face, lookup_named_face, lookup_derived_face)
8369 (realize_named_face): Call lface_from_face_name directly, and use
8370 the fact that merge_face_vectors does not alter its FROM argument.
8371
83722008-02-01 Jason Rumney <jasonr@gnu.org>
8373
8374 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
8375 input in the default locale. Handle non-Unicode multibyte input.
8376
83772008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8378
8379 * fontset.c (reorder_font_vector): Exclude nil elements from the
8380 font group. Don't try multiple fonts.
8381 (fontset_font): Adjust for the above change.
8382 (Finternal_char_font): Return nil if the found font doesn't
8383 contain the character ch.
8384
8385 * Makefile.in (lisp, shortlisp): Add cham.el.
8386
83872008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8388
8389 * font.h (FONTP): Make it return 1 also for a font-object.
8390
8391 * .gdbinit (xfontset): New function.
8392
8393 * font.c (font_find_for_lface): Check if the character C is
8394 supported or not only for the first font.
8395
8396 * fontset.c (reorder_font_vector): Fix typo.
8397 (fontset_find_font): Don't add a font-spec specifying a script.
8398 Use 0 (not Qt) for the indication of empty font-group. Change the
8399 format of RFONT-DEF. Return Qt if no font in the font-group
8400 support the character.
8401 (fontset_font): Adjust for the above change. If no font was
8402 found the character, remember that.
8403 (face_for_char): Adjust for the change of RFONT-DEF.
8404 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
8405 no font for the target.
8406 (Finternal_char_font): Adjust for the change of RFONT-DEF.
8407
84082008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8409
8410 * font.c (font_load_for_face): Handle the case that the font in
8411 face->lface is a string.
8412
84132008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8414
8415 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
8416
84172008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8418
8419 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
8420 Fix previous change. If the frame is not on a window system,
8421 signal an error.
8422
84232008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8424
8425 * coding.c (decode_coding_object, encode_coding_object): Adjust
8426 marker positions after conversion.
8427
8428 * lisp.h (struct Lisp_Marker): New member need_adjustment.
8429
84302008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8431
8432 * font.c (font_find_for_lface): Fix the handling of the return
8433 value of font_has_char.
8434 (Ffont_shape_text): Fix previous change.
8435
8436 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
8437 (fontset_ref_and_range): Delete it.
8438 (fontset_find_font): Call char_table_ref_and_range instead of
8439 FONTSET_REF_AND_RANGE.
8440 (make_fontset): Don't setup font groups of Latin here.
8441 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
8442 (new_fontset_from_font): Make the specified font the default for
8443 all Latin characters.
8444
84452008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8446
8447 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
8448 is on a window system before accessing the fontset of the frame.
8449
84502008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8451
8452 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
8453
8454 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
8455 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
8456
8457 * font.c (Ffont_shape_text): If the font driver doesn't have a
8458 shaper function, make zero-width glyphs to have at least one-pixel
8459 width. Fix setting of `to' field of glyphs.
8460
84612008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8462
8463 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
8464 glyphs.
8465
8466 * font.h (struct font_driver): Improve docstring of member `shape'.
8467
84682008-02-01 Kenichi Handa <handa@m17n.org>
8469
8470 * composite.c (syms_of_composite): Fix docstring of
8471 auto-composition-function.
8472
8473 * font.h (LGLYPH_SIZE): New macro.
8474
8475 * font.c (Ffont_fill_gstring): Stop filling when a character not
8476 supported by the font is found.
8477 (Ffont_shape_text): When a shape callback function returns nil,
8478 try at most two more times with larger gstring.
8479 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
8480
8481 * xdisp.c (handle_auto_composed_prop): Change the argument to
8482 auto-composition-function.
8483
8484 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
8485 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
8486 Lispy glyph and store it in the lgstring.
8487
8488 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
8489
8490 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
8491
84922008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8493
8494 * font.c (Ffont_shape_text): Avoid unnecessary composition.
8495
8496 * fontset.c (Vfont_encoding_charset_alist): New variable.
8497 (syms_of_fontset): DEFVAR it.
8498 (reorder_font_vector, fontset_find_font): Optimize for the case of
8499 no need of reordering.
8500 (face_for_char): Map the charset property by
8501 Vfont_encoding_charset_alist.
8502
85032008-02-01 Jason Rumney <jasonr@gnu.org>
8504
8505 * w32font.c (logfonts_match): Don't check adstyle here.
8506 (font_matches_spec): Check here against physical font instead.
8507 (add_font_entity_to_list): Avoid some substitutions.
8508
8509 * font.c (font_parse_fcname): Default weight and slant to normal.
8510 (font_score): Prefer normal fonts if weight or slant unspecified.
8511 (font_score) [WINDOWSNT]: Scale weight difference down to closer
8512 match freetype scores.
8513
85142008-02-01 Jason Rumney <jasonr@gnu.org>
8515
8516 * w32font.c (w32font_text_extents): Don't use the frame stored in the
8517 font, as it may have been deleted.
8518 (w32_enumfont_pattern_entity): Map generic family to adstyle using
8519 most common hyphenless variation.
8520 (logfonts_match): Check generic family.
8521 (font_matches_spec): Don't check generic family here.
8522 (fill_in_logfont): Set generic family based on adstyle.
8523
8524 * w32font.h (w32font_get_cache): Update declaration.
8525
85262008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8527
8528 * ftfont.c (ftfont_get_cache): Adjust the argument type.
8529
8530 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
8531 If none of the new drivers are available, call font_update_drivers
8532 with the old drivers.
8533
8534 * w32font.c (w32font_get_cache): Adjust the argument type.
8535
8536 * xfont.c (xfont_get_cache): Adjust the argument type.
8537
8538 * font.h (struct font_driver): Change argument type of get_cache.
8539
8540 * xftfont.c (xftfont_start_for_frame): Delete prototype.
8541
8542 * font.c (Ffont_get): Fix arguments to Fassoc.
8543 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
8544 (font_clear_cache): New function.
8545 (font_list_entities, font_matching_entity): Use font_get_cache.
8546 (font_update_drivers): Call font_clear_cache when finishing a driver.
8547
8548 * fontset.c (fontset_find_font): Fix previous change.
8549
85502008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8551
8552 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
8553 dpyinfo->font_table.
8554 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
8555 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
8556
8557 * font.c (font_at): Handle the case that the arg C is negative.
8558 Handle the unibyte case.
8559 (Ffont_at): Call font_at with the arg C -1.
8560
8561 * xdisp.c (handle_auto_composed_prop): Don't get a character at
8562 the position here, and call font_at with the arg C -1.
8563 Don't check the range of the existing composition at the point.
8564
85652008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8566
8567 * fontset.c (fontset_add): New args charset_id and family.
8568 Change caller.
8569 (load_font_get_repertory, fontset_find_font): Assume that
8570 font_spec is always a font-spec object.
8571 (Fset_fontset_font): Always store a font-spec object in a fontset.
8572
8573 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
8574 instead of get_property_and_range.
8575
85762008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8577
8578 * xftfont.c (struct xftfont_info): Delete the member ft_face.
8579 (xftfont_open): Don't keep locking face.
8580 (xftfont_close): Don't unlock face.
8581 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
8582
8583 * fontset.c (fontset_find_font): Don't prefer a font of
8584 supplementary charset.
8585
85862008-02-01 Kenichi Handa <handa@m17n.org>
8587
8588 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
8589 script, langsys_tag to langsys, new member script.
8590 (OTF_TAG_STR): Terminate by '\0'.
8591 (ftfont_get_open_type_spec): If :otf prop is is spec, Limit the
8592 listing to the script specified in that property. Fix arg to
8593 OTF_check_features.
8594
85952008-02-01 Jason Rumney <jasonr@gnu.org>
8596
8597 * w32font.h: New file.
8598
8599 * w32font.c: Include it.
8600 (struct w32font_info): Add owning_frame field. Move to w32font.h.
8601 (w32font_open): Set owning_frame.
8602 (w32font_text_extents): Use owning_frame.
8603 (struct font_callback_data): Add opentype_only field.
8604 (add_font_entity_to_list): Use it to filter fonts.
8605 Don't check against full name.
8606 (w32font_list_internal): New function.
8607 (w32font_list): Use it.
8608 (w32font_match_internal): New function.
8609 (w32font_match): Use it.
8610 (w32font_open_internal): New function.
8611 (w32font_open): Use it.
8612 (w32font_get_cache, w32font_close, w32font_has_char)
8613 (w32font_encode_char, w32font_text_extents, w32font_draw):
8614 Make non-static.
8615
8616 * makefile.w32-in (w32font.o): Depend on w32font.h.
8617
86182008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8619
8620 * charset.c (Fdefine_charset_internal): Record a supplementary
8621 charset at the tail of Vcharset_order_list.
8622
8623 * font.c (Ffont_shape_text): Fix the return value.
8624
8625 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
8626
8627 * xdisp.c (handle_auto_composed_prop): Fix previous change.
8628
86292008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8630
8631 * ftfont.c (struct OpenTypeSpec): New struct.
8632 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
8633 (ftfont_get_open_type_spec): New function.
8634 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
8635
8636 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
8637
86382008-02-01 Jason Rumney <jasonr@gnu.org>
8639
8640 * w32font.c (add_font_entity_to_list): Compare only the beginning
8641 of full name.
8642
86432008-02-01 Kenichi Handa <handa@m17n.org>
8644
8645 * xdisp.c (handle_auto_composed_prop): Simplify the code.
8646 Never return HANDLED_RECOMPUTE_PROPS.
8647
86482008-02-01 Kenichi Handa <handa@m17n.org>
8649
8650 * font.c (font_gstring_produce): Delete it.
8651
8652 * composite.h (COMPOSITION_METHOD):
8653 Handle COMPOSITION_WITH_GLYPH_STRING.
8654
86552008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8656
8657 * xfont.c (Qx): Delete.
8658 (syms_of_xfont): Don't initialize Qx.
8659
8660 * composite.h (enum composition_method):
8661 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
8662
86632008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8664
8665 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
8666 (choose_face_font): Accept new form of font-spec.
8667
8668 * frame.h (font_driver_list): Declare it unconditionally.
8669 (struct frame): Define members font_driver_list and font_data_list
8670 unconditionally.
8671
8672 * fontset.c: Include "font.h" unconditionally.
8673 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
8674 (Fset_fontset_font): Accept a font-spec object.
8675
8676 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
8677 PIXEL_SIZE part a wild card.
8678
8679 * dispextern.h (struct glyph_string): Define members clip and
8680 num_clips unconditionally.
8681 (struct face): Define members font_info and extra unconditionally.
8682
8683 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
8684 ftfont_info only when HAVE_LIBOTF is defined.
8685
86862008-02-01 Andreas Schwab <schwab@suse.de>
8687
8688 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
8689 and end.
8690
86912008-02-01 Jason Rumney <jasonr@gnu.org>
8692
8693 * w32font.c (w32font_driver): Add new fields.
8694
86952008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8696
8697 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
8698 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
8699 (LIBES): Add @M17N_FLT_CFLAGS@.
8700
8701 * composite.c (compose_text): Don't treat the new style
8702 composition specially.
8703
8704 * emacs.c (main): Call syms_of_font unconditionally.
8705
8706 * font.h (FONT_ENTITY_NOT_LOADABLE)
8707 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
8708 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
8709 (struct font_driver): New member shape.
8710 (font_registry_charsets): Extern it.
8711 (font_find_for_lface, font_prepare_composition): Adjust prototype.
8712 (font_otf_capability, font_drive_otf): Delete their externs.
8713
8714 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
8715 (font_charset_alist, font_registry_charsets): Move from xfont.c
8716 and rename.
8717 (font_prop_validate_otf): New function.
8718 (font_property_table): Register it for QCotf.
8719 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
8720 (font_drive_otf): Delete.
8721 (font_prepare_composition): New arg F. Adjust for the change of
8722 lispy gstring.
8723 (font_find_for_lface): New arg C.
8724 (font_load_for_face): Adjust for the change of font_find_for_lface.
8725 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
8726 lispy gstring.
8727 (Ffont_shape_text): New function.
8728 (Fopen_font): If the font size is not given, use 12-pixel.
8729 (Ffont_at): New arg STRING.
8730 (syms_of_font): Initalize font_charset_alist.
8731 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
8732 conditionally.
8733
8734 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
8735 fonts of the same font-spec. Change the format of RFONT-DEF.
8736 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
8737 Adjust for the change of RFONT-DEF.
8738 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
8739
8740 * ftfont.h: New file.
8741
8742 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
8743 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
8744 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
8745 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
8746 font_otf_capability and font_drive_otf, set ftfont_shape.
8747 (ftfont_list): Adjust for the change of :otf property value.
8748 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
8749 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
8750 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
8751 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
8752 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
8753 (otf_gstring, gstring, m17n_flt_initialized): New variables.
8754
8755 * w32term.c (x_draw_composite_glyph_string_foreground):
8756 Adjust for the change of lispy gstring.
8757
8758 * xdisp.c (handle_composition_prop): Adjust for the change of
8759 lispy gstring. Call a function for auto-composition with the
8760 third arg it->window.
8761 (fill_composite_glyph_string): Adjust for the change of lispy string.
8762 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
8763
8764 * xfaces.c (set_font_frame_param): Adjust for the change of
8765 font_find_for_lface.
8766
8767 * xfont.c (x_font_charset_alist): Move to font.c and rename.
8768 (xfont_registry_charsets): Likewise. Change caller.
8769 (syms_of_xfont): Don't handle x_font_charset_alist.
8770
8771 * xftfont.c: Include "ftfont.h".
8772 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
8773 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
8774 (xftfont_close) [HAVE_LIBOTF]: Close otf.
8775 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
8776 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
8777 Set xftfont_driver.shape to xftfont_shape.
8778
8779 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
8780 the change of lispy gstring.
8781
87822008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8783
8784 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
8785
87862008-02-01 Jason Rumney <jasonr@gnu.org>
8787
8788 * w32font.c (w32font_draw): Fill background manually.
8789
87902008-02-01 Jason Rumney <jasonr@gnu.org>
8791
8792 * font.c (Qfontp): Remove unused symbol.
8793 (QCantialias): New symbol.
8794 (syms_of_font): Define it.
8795 (font_property_table): Set a validator for QCantialias.
8796
8797 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
8798 Define if not already.
8799 (QCfamily): Share with xfaces.c.
8800 (Qstandard, Qsubpixel, Qnatural): New symbols.
8801 (syms_of_w32font): Define them. Don't define QCfamily here.
8802 (w32_antialias_type, lispy_antialias_type): New functions.
8803 (w32_enumfont_pattern_entity): New arg requested_font.
8804 Set antialias parameter if non-default was requested.
8805 (fill_in_logfont): Fill in lfQuality if :antialias specified.
8806
88072008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8808
8809 * lread.c (read1): Undo the previous change.
8810
88112008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
8812
8813 * frame.c (Fdelete_frame): Call font_update_drivers only when
8814 USE_FONT_BACKEND is defined.
8815
88162008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8817
8818 * font.h (struct font_bitmap): New member bits_per_pixel.
8819 (struct font_driver): New members start_for_frame and end_for_frame.
8820 (struct font_data_list): New struct.
8821 (font_put_frame_data, font_get_frame_data): Extern them.
8822
8823 * frame.h (struct frame): New member font_data_list.
8824
8825 * font.c (font_update_drivers): Call driver->start_for_frame and
8826 driver->end_for_frame at proper timings.
8827 (font_put_frame_data, font_get_frame_data): New functions.
8828 (Ffont_spec): Add usage in the docstring.
8829
8830 * frame.c (make_frame): Initialize f->font_data_list to NULL.
8831 (Fdelete_frame): Call font_update_drivers.
8832
8833 * xftfont.c (struct xftface_info): Delete the member xft_draw.
8834 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
8835 (xftfont_get_xft_draw): New function.
8836 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
8837 (xftfont_end_for_frame): New function.
8838 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
8839
8840 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
8841 Change argument. Cache GCs in the per-frame data.
8842 (struct ftxfont_frame_data): New struct.
8843 (ftxfont_draw_bitmap): New arg gc_fore and flush.
8844 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
8845 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
8846 (ftxfont_end_for_frame): New function.
8847 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
8848
8849 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
8850
88512008-02-01 Kenichi Handa <handa@m17n.org>
8852
8853 * xselect.c (Vselection_coding_system)
8854 (Vnext_selection_coding_system): Delete them.
8855 (syms_of_xselect): Don't declare selection-coding-system and
8856 next-selection-coding-system. They are declared in select.el.
8857
88582008-02-01 Jason Rumney <jasonr@gnu.org>
8859
8860 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
8861
8862 * w32fns.c: Include imm.h.
8863 (get_composition_string_fn, get_ime_context_fn): New optional
8864 system functions.
8865 (globals_of_w32fns): Load them from imm32.dll.
8866 (ignore_ime_char): New flag.
8867 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
8868 WM_IME_ENDCOMPOSITION messages.
8869
8870 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
8871 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
8872
88732008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8874
8875 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
8876 (READCHAR_REPORT_MULTIBYTE): New macro.
8877 (readchar): New 2nd arg MULTIBYTE.
8878 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
8879 Make symbol's name multibyte according to the multibyteness of the
8880 source.
8881
88822008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8883
8884 * xfaces.c (face_for_overlay_string): Call lookup_face with
8885 correct arguments (fix of synching with the trunk).
8886
88872008-02-01 Kenichi Handa <handa@m17n.org>
8888
8889 * font.c (font_prop_validate_symbol, font_prop_validate_style)
8890 (font_prop_validate_non_neg, font_prop_validate_spacing):
8891 Delete argument prop_index.
8892 (font_property_table): Change arguments to validater. Change Callers.
8893 (font_lispy_object): Delete.
8894 (font_at): Use font_find_object instead fo font_lispy_object.
8895
88962008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8897
8898 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
8899 and file names.
8900
89012008-02-01 Jason Rumney <jasonr@gnu.org>
8902
8903 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
8904 (font_matches_spec): Remove debug output.
8905 (add_font_entity_to_list): Avoid using substituted fonts.
8906
89072008-02-01 Jason Rumney <jasonr@gnu.org>
8908
8909 * doc.c (Fsnarf_documentation):
8910 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
8911
89122008-02-01 Miles Bader <miles@gnu.org>
8913
8914 * dispextern.h (struct glyph_row): Only define "clip" field if
8915 HAVE_WINDOW_SYSTEM is defined.
8916
89172008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
8918
8919 Fix up multi-tty merge.
8920
8921 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
8922 and indentation.
8923
8924 * xfaces.c (free_realized_face, clear_face_gcs):
8925 Include font_done_for_face in the input_blocked section, just in case.
8926
8927 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
8928 (get_char_face_and_encoding): Undo last change and remove the *other*
8929 duplicate definition (i.e. keep the one that's better scoped and that
8930 includes code for the font-backend).
8931
8932 * terminal.c (create_terminal): Default keyboard_coding to
8933 `no-conversion' and terminal_coding to `undecided'.
8934
8935 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
8936
8937 * fontset.c (free_realized_fontsets): Check that the table entry does
8938 contain a fontset before trying to compare it to `base'.
8939
8940 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
8941 syms_of_charset, and syms_of_coding earlier because init_window_once
8942 now needs Vcoding_system_hash_table to be setup.
8943
8944 * coding.h (default_buffer_file_coding): Remove.
8945
8946 * coding.c (default_buffer_file_coding): Remove.
8947 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
8948 than ->symbol, and use the terminal-local coding system.
8949 (syms_of_coding): Don't setup the coding-systems that are not
8950 terminal-local.
8951 (Fdefine_coding_system_internal): Use XCAR/XCDR.
8952
8953 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
8954 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
8955
8956 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
8957 in chartab.c and were re-added here by mistake.
8958 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
8959
8960 * doc.c (Fsnarf_documentation):
8961 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
8962 src to etc.
8963
8964 * ChangeLog.10: Add mistakenly removed entry.
8965
89662008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
8967
8968 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
8969
89702008-02-01 Miles Bader <miles@gnu.org>
8971
8972 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
8973 Add extra args to FACE_FOR_CHAR.
8974
89752008-02-01 Kenichi Handa <handa@m17n.org>
8976
8977 * keymap.c (where_is_internal_1): If key is a cons, store the copy
8978 in sequence.
8979
8980 * chartab.c (map_sub_char_table, map_char_table): If the range
8981 contains just one character, call the function with that character
8982 even if the depth is not 3.
8983
89842008-02-01 Jason Rumney <jasonr@gnu.org>
8985
8986 * w32font.c (w32font_text_extents): Calculate metrics for the
8987 whole string.
8988
89892008-02-01 Jason Rumney <jasonr@gnu.org>
8990
8991 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
8992
89932008-02-01 Jason Rumney <jasonr@gnu.org>
8994
8995 * w32term.c (x_set_glyph_string_clipping): Use
8996 get_glyph_string_clip_rects.
8997 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
8998 Adjust for the change of struct glyph_string.
8999
9000 * w32font.c (w32font_draw): Do clipping here.
9001
90022008-02-01 Kenichi Handa <handa@m17n.org>
9003
9004 * xftfont.c (xftfont_draw): Adjust for the change of struct
9005 glyph_string.
9006
9007 * xterm.c (x_set_glyph_string_clipping): Use
9008 get_glyph_string_clip_rects.
9009 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
9010 Adjust for the change of struct glyph_string.
9011
9012 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
9013 the resulting clip(s}.
9014 (expose_overlaps): Add arg r. Change callers. Set it to
9015 row->clip temporarily.
9016 (expose_window): Redraw rows overlapping the exposed area.
9017
9018 * dispextern.h (struct glyph_row): New member clip.
9019 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
9020 clip_height, new member clip, and num_clips.
9021
90222008-02-01 Kenichi Handa <handa@m17n.org>
9023
9024 * data.c (Fchar_or_string_p): Fix docstring.
9025
90262008-02-01 Kenichi Handa <handa@m17n.org>
9027
9028 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
9029 create a temporary XftDraw object.
9030
90312008-02-01 Kenichi Handa <handa@m17n.org>
9032
9033 * font.c (Ffontp): Fix docstring.
9034
9035 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
9036 strong evidence of ISO-2022.
9037
90382008-02-01 Kenichi Handa <handa@m17n.org>
9039
9040 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
9041 SYNTAX_ENTRY_FOLLOW_PARENT.
9042
90432008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
9044
9045 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
9046 its type.
9047 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
9048 Update to the new type of weak_hash_tables and next_weak.
9049
9050 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
9051 a plain C pointer to Lisp_Hash_Table.
9052
9053 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
9054 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
9055 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
9056 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
9057 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
9058 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
9059 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
9060 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
9061 (GC_EQ): Remove since they've been identical to their non-GC_
9062 alter-egos ever since the markbit was eradicated.
9063
9064 * alloc.c:
9065 * buffer.c:
9066 * buffer.h:
9067 * data.c:
9068 * fileio.c:
9069 * filelock.c:
9070 * fns.c:
9071 * frame.h:
9072 * lisp.h:
9073 * macterm.c:
9074 * print.c:
9075 * process.c:
9076 * w32fns.c:
9077 * w32menu.c:
9078 * w32term.c:
9079 * xfns.c:
9080 * xmenu.c:
9081 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
9082
90832008-02-01 Kenichi Handa <handa@m17n.org>
9084
9085 * chartab.c (map_sub_char_table): Make it work for the top-level
9086 char-table. Fix handling of parent char-table.
9087 (map_char_table): Adjust for the above change.
9088
90892008-02-01 Jason Rumney <jasonr@gnu.org>
9090
9091 * w32font.c (Qgdi): Rename from Qw32.
9092
90932008-02-01 Jason Rumney <jasonr@gnu.org>
9094
9095 * w32bdf.c (get_quoted_string): Make function static.
9096
90972008-02-01 Kenichi Handa <handa@m17n.org>
9098
9099 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
9100 bigger ascent and descent than those of the font, use them as
9101 font's ascent and descent.
9102
91032008-02-01 Kenichi Handa <handa@m17n.org>
9104
9105 * Makefile.in (${lispsource}international/charprop.el): Move this
9106 target within "#ifdef HAVE_UNIDATA" and "#endif".
9107
91082008-02-01 Kenichi Handa <handa@m17n.org>
9109
9110 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
9111 (shortlisp): Add ../lisp/language/tai-viet.el.
9112
91132008-02-01 Ulrich Mueller <ulm@gentoo.org>
9114
9115 * Makefile.in (${lispsource}international/charprop.el): Depend on
9116 temacs${EXEEXT}.
9117
91182008-02-01 Jason Rumney <jasonr@gnu.org>
9119
9120 * w32font.c (w32font_close): Delete the GDI font object.
9121
9122 * w32menu.c: Include character.h.
9123
9124 * w32proc.c: Likewise.
9125
9126 * w32select.c: Likewise.
9127
9128 * makefile.w32-in (w32proc.o): Depend on character.h.
9129
91302008-02-01 Jason Rumney <jasonr@gnu.org>
9131
9132 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
9133
9134 * w32menu.c (syms_of_w32menu): Likewise.
9135
9136 * w32proc.c (syms_of_ntproc): Likewise.
9137
9138 * w32select.c (syms_of_w32select): Likewise.
9139
9140 * w32term.c (syms_of_w32term): Likewise.
9141
91422008-02-01 Jason Rumney <jasonr@gnu.org>
9143
9144 * w32font.c (w32font_draw): Delete brush after using it.
9145
91462008-02-01 Jason Rumney <jasonr@gnu.org>
9147
9148 * w32font.c (w32font_open): Don't set font_idx.
9149 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
9150 to font settings.
9151 (w32font_draw): Fill background explicitly.
9152
91532008-02-01 Jason Rumney <jasonr@gnu.org>
9154
9155 * w32term.c (w32_initialize): Don't call w32font_initialize.
9156
9157 * w32font.c (w32font_info): Remove subranges.
9158 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
9159 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
9160 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
9161 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
9162 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
9163 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
9164 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
9165 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
9166 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
9167 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
9168 New symbols.
9169 (font_callback_data): New struct.
9170 (w32font_list, w32font_match): Use it.
9171 (w32font_open): Don't populate subranges.
9172 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
9173 (w32font_encode_char): Always return unicode code-point as-is.
9174 (w32font_text_extents): Supply a transformation matrix to
9175 GetGlyphOutline. Never look up by glyph index. Avoid looping
9176 twice. Use unicode version of GetTexExtentPoint32 instead of
9177 glyph index version.
9178 (set_fonts_frame): Remove.
9179 (w32_enumfont_pattern_entity): Add frame parameter, use it to
9180 set frame parameter. Use backward compatible fake foundries.
9181 Save generic family in extra slot under QCfamily. Make width slot
9182 constant. Save QCspacing value. Save list of scripts instead of
9183 binary subranges.
9184 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
9185 (add_font_entity_to_list): Use font_callback_data struct. Filter
9186 unwanted fonts.
9187 (add_one_font_entity_to_list): Use font_callback_data struct.
9188 (w32_registry): Default to iso10646_1.
9189 (fill_in_logfont): Use dpi from extra slot. Don't bother with
9190 string font registries. Don't fill in font name if it is a generic
9191 family name, fill family instead. Use spacing, family and script
9192 extra info to fill pitch, family and charset fields.
9193 (list_all_matching_fonts): Use font_callback_data struct.
9194 (unicode_range_for_char): Remove.
9195 (font_supported_scripts): New function.
9196 (w32font_initialize): Remove.
9197 (syms_of_w32font): Update which symbols are defined.
9198
91992008-02-01 Jason Rumney <jasonr@gnu.org>
9200
9201 * font.c (font_pixel_size): Reverse assq_no_quit args.
9202
9203 * w32term.h (FONT_WIDTH): Report max width, not average.
9204 (FONT_MAX_WIDTH): Remove.
9205 (FONT_AVG_WIDTH): New macro.
9206
9207 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
9208 redefinition of FONT_WIDTH.
9209
9210 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
9211 (w32_cache_char_metrics): Use FONT_WIDTH.
9212
9213 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
9214
92152008-02-01 Jason Rumney <jasonr@gnu.org>
9216
9217 * w32font.c (w32font_open): Make lfHeight negative.
9218
9219 * w32fns.c (x_default_font_parameter): Use new style font name.
9220 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
9221
92222008-02-01 Jason Rumney <jasonr@gnu.org>
9223
9224 * w32font.c (QCsubranges): New symbol.
9225 (w32font_open, w32font_has_char): Get subranges from subproperty
9226 of extra.
9227 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
9228 (syms_of_w32font): Define :subranges symbol.
9229
9230 * font.c (font_put_extra): Expose externally.
9231
9232 * font.h (font_put_extra): Move declaration from font.c.
9233
9234 * font.c (Ffont_get): Use font driver to determine otf capability.
9235 (adjust_anchor): Check if driver defines anchor_point before using.
9236
9237 * w32font.c (w32font_open): Handle size, height and pixel_size better.
9238 (w32font_draw): Use options.
9239 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
9240 Fix detection of truetype fonts.
9241 (registry_to_w32_charset): Handle charsets other than iso8859-1
9242 expressed as lisp symbols.
9243 (w32_registry): Express charset as lisp symbol.
9244 (fill_in_logfont): Reverse pixel and point height logic.
9245 Don't set width here. Set quality to default.
9246
9247 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
9248 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
9249
9250 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
9251 Remove redundant loop and allocation.
9252
9253 * makefile.w32-in (font.o, w32font.o): New objects.
9254 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
9255 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
9256
9257 * xdisp.c (fill_composite_glyph_string): Make the first arg to
9258 STORE_XCHARB a valid l-value.
9259
9260 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
9261 calculations for non-Truetype fonts.
9262 (x_draw_glyph_string): Sync with xterm.c.
9263 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
9264 Remove redundant code.
9265 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
9266
9267 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
9268 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
9269
9270 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
9271 (x_to_w32_charset, w32_to_x_charset): Expose externally.
9272
9273 * w32font.c: New file for w32 font backend.
9274
92752008-02-01 Kenichi Handa <handa@m17n.org>
9276
9277 * term.c: Don't include "buffer.h" twice.
9278
92792008-02-01 Kenichi Handa <handa@m17n.org>
9280
9281 * character.c (Funibyte_string): New function.
9282 (syms_of_character): Defsubr it.
9283
92842008-02-01 Jason Rumney <jasonr@gnu.org>
9285
9286 * w32term.c [USE_FONT_BACKEND]:
9287 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
9288 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
9289 (x_draw_glyph_string, x_draw_glyph_string_foreground)
9290 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
9291 (x_free_frame_resources): Sync with xterm.c.
9292
92932008-02-01 Andreas Schwab <schwab@suse.de>
9294
9295 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
9296 char-table size.
9297
92982008-02-01 Kenichi Handa <handa@m17n.org>
9299
9300 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
9301
93022008-02-01 Kenichi Handa <handa@m17n.org>
9303
9304 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
9305 font_otf_gpos, add font_drive_otf.
9306
9307 * fontset.c (fontset_find_font): Pay attention to font size
9308 specified for a font.
9309 (reorder_font_vector): Check contents of font_def.
9310
9311 * font.c (struct otf_list): Delete it.
9312 (otf_list): Make it a lisp variable.
9313 (otf_open): Use lispy otf_list.
9314 (generate_otf_features): Rename from parse_gsub_gpos_spec.
9315 (check_otf_features): New function.
9316 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
9317 New functions.
9318 (font_drive_otf): New function merging font_otf_gsub and
9319 font_otf_gpos.
9320 (font_open_for_lface): New arg spec. Change argument order.
9321 (font_load_for_face): Adjust for the change of font_open_for_lface.
9322 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
9323 Ffont_otf_gpos.
9324 (syms_of_font): Staticpro otf_list. Delete defsubr of
9325 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
9326
9327 * xfaces.c (set_font_frame_param): Adjust for the change of
9328 font_open_for_lface.
9329
9330 * font.h (font_open_for_lface): Adjust prototype.
9331 (struct font_driver): Delete members otf_gsub and otf_gpos, add
9332 member otf_drive.
9333 (font_otf_gsub, font_otf_gpos): Delete externs.
9334 (font_drive_otf): Extern it.
9335
93362008-02-01 Kenichi Handa <handa@m17n.org>
9337
9338 * font.c (font_at): If the window W is not on a window system,
9339 return Qnil.
9340
9341 * coding.c (produce_chars, encode_coding): Don't call
9342 insert_from_gap if no characters to produce.
9343
93442008-02-01 Kenichi Handa <handa@m17n.org>
9345
9346 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
9347 Fclear_face_cache.
9348
9349 * xfaces.c (face_for_font): Check also face->font==font->font.font.
9350
93512008-02-01 Miles Bader <miles@gnu.org>
9352
9353 * emacs.c (main): Change default value of `enable_font_backend' to 1.
9354 Parse "--disable-font-backend" option.
9355 (standard_args): Add "--disable-font-backend" option.
9356
93572008-02-01 Kenichi Handa <handa@m17n.org>
9358
9359 * fontset.c (fontset_find_font): New function.
9360 (fontset_font): Use fontset_find_font.
9361 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
9362 Register the specified font for all Latin characters.
9363 (new_fontset_from_font): Register the specified font for all Latin
9364 characters.
9365 (dump_fontset): For a realized fontset, include the base fontset
9366 name in the returned vector.
9367
93682008-02-01 Kenichi Handa <handa@m17n.org>
9369
9370 * character.h (CHAR_STRING): Cast C to unsigned on calling
9371 char_string.
9372
9373 * character.c (char_string): Type of arg C changed to unsigned.
9374 Signal an error if C is an invalid character code.
9375
9376 * editfns.c (general_insert_function, Fchar_to_string):
9377 Use CHARACTERP, not INTEGERP.
9378
93792008-02-01 Kenichi Handa <handa@m17n.org>
9380
9381 * character.h (MIN_MULTIBYTE_LEADING_CODE)
9382 (MAX_MULTIBYTE_LEADING_CODE): New macros.
9383
9384 * regex.c (analyse_first): Fix for multibyte characters in "case
9385 charset:" and "case categoryspec:".
9386
93872008-02-01 Andreas Schwab <schwab@suse.de>
9388
9389 * Makefile.in (LIBES): Move standard libraries to the end.
9390
93912008-02-01 Kenichi Handa <handa@m17n.org>
9392
9393 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
9394 nonzero, don't shrink the buffer nextb.
9395
9396 * buffer.h (struct buffer_text): New member inhibit_shrinking.
9397
9398 * coding.c (coding_alloc_by_making_gap): New arg offset.
9399 (alloc_destination): Call coding_alloc_by_making_gap with the arg
9400 offset.
9401 (decode_coding_iso_2022): Update coding->safe_charsets.
9402 (decode_coding_gap): Temporarily set
9403 current_buffer->text->inhibit_shrinking to 1.
9404
94052008-02-01 Kenichi Handa <handa@m17n.org>
9406
9407 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
9408 indexing into elements of s->cmp and s->char2b.
9409
94102008-02-01 Juanma Barranquero <lekktu@gmail.com>
9411
9412 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
9413
94142008-02-01 Kenichi Handa <handa@m17n.org>
9415
9416 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
9417 target_multibyte instead of multibyte.
9418 (re_match_2_internal): Call bcmp_translate with target_multibyte.
9419 (bcmp_translate): Change the argument name from multibyte to
9420 target_multibyte.
9421
94222008-02-01 Kenichi Handa <handa@m17n.org>
9423
9424 These changes are to compile a regexp into a pattern that can be
9425 used both for multibyte and unibyte targets.
9426
9427 * Makefile.in (search.o): Depend on charset.h.
9428
9429 * character.c (multibyte_char_to_unibyte_safe): New function.
9430
9431 * search.c: Include "charset.h".
9432 (compile_pattern_1): Delete argument multibyte. Don't set
9433 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
9434 (compile_pattern): Don't compare cp->buf.target_multibyte.
9435 Compare cp->buf.charset_unibyte.
9436 (compile_pattern): Set cp->buf.target_multibyte.
9437
9438 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
9439
9440 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
9441
9442 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
9443 multibyte. Change callers.
9444 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
9445 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
9446 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
9447 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
9448 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
9449 (regex_compile): Make the compiled pattern usable both for
9450 multibyte and unibyte targets.
9451 (analyse_first): Make the fastmap usable both for multibyte and
9452 unibyte targets.
9453 (TRANSLATE_VIA_MULTIBYTE): Delete.
9454 (re_match_2_internal): Pay attention to the case that the
9455 multibyteness of bufp and target may be different.
9456
94572008-02-01 Kenichi Handa <handa@m17n.org>
9458
9459 * xdisp.c (x_produce_glyphs): When a font is not found, make the
9460 empty box occupy at least one column width.
9461
94622008-02-01 Miles Bader <miles@gnu.org>
9463
9464 * Makefile.in: Remove redundant HAVE_XFT clause.
9465
94662008-02-01 Kenichi Handa <handa@m17n.org>
9467
9468 * xrdb.c (x_load_resources): Setup the default fontSet X resource.
9469
94702008-02-01 Kenichi Handa <handa@m17n.org>
9471
9472 * fontset.c (Finternal_char_font): Fix for the case of POSITION
9473 being nil.
9474
94752008-02-01 Kenichi Handa <handa@m17n.org>
9476
9477 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
9478
94792008-02-01 Kenichi Handa <handa@m17n.org>
9480
9481 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
9482
94832008-02-01 Kenichi Handa <handa@m17n.org>
9484
9485 * search.c (simple_search): Fix previous change.
9486
94872008-02-01 Kenichi Handa <handa@m17n.org>
9488
9489 * xftfont.c (ftfont_font_format): Extern declaration.
9490
9491 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
9492
9493 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
9494 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
9495
9496 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
9497 (ftfont_font_format): Fix previous change.
9498
9499 * font.h (Ffont_xlfd_name): EXFUN it.
9500
9501 * font.c (font_parse_xlfd): Fix the array size of `f'.
9502 (register_font_driver): Use EQ to compare driver->type.
9503
9504 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
9505 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
9506 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
9507
95082008-02-01 Kenichi Handa <handa@m17n.org>
9509
9510 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
9511 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
9512
95132008-02-01 Kenichi Handa <handa@m17n.org>
9514
9515 * xfont.c (xfont_open): Set font->format.
9516
9517 * xftfont.c (xftfont_open): Set font->format.
9518
9519 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
9520 (ftfont_list): Include FC_FONTFORMAT in FcObject.
9521 (ftfont_open): Set font->format.
9522 (ftfont_font_format): New function.
9523
9524 * font.h (struct font): New member format.
9525
9526 * font.c (Qopentype): New variable.
9527 (syms_of_font): Defsym it.
9528 (Fquery_font): Change the format of the last element of the return
9529 value.
9530
95312008-02-01 Kenichi Handa <handa@m17n.org>
9532
9533 * xfns.c (xic_create_xfontset): Try the default fontset name as a
9534 last resort.
9535
95362008-02-01 Kenichi Handa <handa@m17n.org>
9537
9538 * coding.c (detect_coding_charset): Fix detection of multi-byte
9539 charset.
9540
95412008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
9542
9543 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
9544
95452008-02-01 Kenichi Handa <handa@m17n.org>
9546
9547 * xdisp.c (get_next_display_element): Set it->face_id for the
9548 first component of a composition.
9549 (x_produce_glyphs): Check if the font is changed or not for composition.
9550
95512008-02-01 Kenichi Handa <handa@m17n.org>
9552
9553 * fontset.c (Qlatin): New variable.
9554 (syms_of_fontset): Define it as a lisp symbol.
9555 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
9556
95572008-02-01 Kenichi Handa <handa@m17n.org>
9558
9559 * font.c (font_unparse_fcname): Pay attention to the case that
9560 some of font property is a null string.
9561
95622008-02-01 Kenichi Handa <handa@m17n.org>
9563
9564 * term.c: Include "composite.h".
9565 (encode_terminal_code): Output all components of composition.
9566 Check the size of encode_terminal_src.
9567 (produce_glyphs): For composition, call produce_composite_glyph.
9568 (append_composite_glyph, produce_composite_glyph): New functions.
9569
9570 * xdisp.c (x_produce_glyphs): In handling composition, if a font
9571 is not found, get font_info from the current ascii face.
9572
95732008-02-01 Kenichi Handa <handa@m17n.org>
9574
9575 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
9576 buffer-file-name to Qnil before calling insert_from_buffer.
9577
9578 * font.c (font_unparse_fcname): Pay attention to the case that
9579 foundry is a null string.
9580
95812008-02-01 Kenichi Handa <handa@m17n.org>
9582
9583 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
9584
9585 * font.c (Qunicode_sip): New variable.
9586 (syms_of_font): Declare it as a Lisp symbol.
9587
9588 * font.h (Qunicode_sip): Extern it.
9589
95902008-02-01 Kenichi Handa <handa@m17n.org>
9591
9592 * composite.c (get_composition_id): Pay attention to TAB component.
9593
9594 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
9595 TAB. Adjust for the change of s->char2b which always points to
9596 the first element of allocated memory.
9597
9598 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
9599
9600 * xdisp.c (handle_composition_prop): Set it->c to the first
9601 non-TAB component.
9602 (fill_composite_glyph_string): Change argument.
9603 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
9604 (x_produce_glyphs): Fix handling of left/right padding.
9605
96062008-02-01 Kenichi Handa <handa@m17n.org>
9607
9608 * coding.c (detect_coding_system): Fix for handling off
9609 inhibit_iso_escape_detection. Fix for the case that no coding
9610 system is defined for a specific coding category.
9611
96122008-02-01 Kenichi Handa <handa@m17n.org>
9613
9614 * font.c (font_matching_entity): Delete unused local var.
9615
9616 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
9617 opening a font.
9618
9619 * fileio.c (Finsert_file_contents): On recovering a file, assume
9620 Unix-like eol.
9621 (choose_write_coding_system): On auto-saving a file, force
9622 Unix-like eol.
9623
9624 * coding.c (setup_coding_system): Fix setting of
9625 coding->common_flags based on eol_type.
9626 (coding_inherit_eol_type): If PARENT is not nil, be sure to
9627 inherit from it.
9628
96292008-02-01 Kenichi Handa <handa@m17n.org>
9630
9631 * alloc.c (NSTATICS): Increas to 0x600.
9632
96332008-02-01 Kenichi Handa <handa@m17n.org>
9634
9635 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
9636 (ftfont_list): Don't check :name property.
9637 (ftfont_match): New function.
9638 (ftfont_pattern_entity): If the pattern doesn't contain
9639 FC_SPACING, don't assume FC_MONO.
9640
9641 * font.h (struct font_driver): New member `match'.
9642 (font_update_drivers): Adjust prototype.
9643
9644 * font.c (font_parse_fcname, font_parse_name): Don't change :name
9645 property of FONT.
9646 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
9647 them unconditionally.
9648 (font_matching_entity): New function.
9649 (font_open_by_name): Try font_matching_entity if exact match is
9650 not found.
9651 (font_update_drivers): Delete the arg FONT. Return a list of
9652 actually used backends. Don't free faces, font caches here.
9653 Don't store data in frame parameters. Don't call x_set_font.
9654 (Ffont_spec): Store :name property as is.
9655 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
9656 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
9657 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
9658 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
9659 Call font->driver->otf_gsub instead of font_otf_gsub.
9660
9661 * frame.c (x_set_font_backend): Do more works that were done in
9662 font_update_drivers before.
9663
9664 * xfont.c (xfont_match): New function.
9665 (xfont_driver): Set xfont_driver.match to xfont_match.
9666 (xfont_draw): Set font in GC if necessary.
9667
9668 * ftxfont.c (ftxfont_match): New function.
9669 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
9670
9671 * xftfont.c (xftfont_match): New function.
9672 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
9673
96742008-02-01 Kenichi Handa <handa@m17n.org>
9675
9676 * font.h (struct font): New member scalable.
9677 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
9678 (font_otf_gsub): Adjust prototype.
9679
9680 * font.c (font_otf_capability): Fix handling of the default langsys.
9681 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
9682 Check the contents of SPEC.
9683 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
9684 (check_gstring): New function.
9685 (REPLACEMENT_CHARACTER): New macro.
9686 (font_otf_gsub): New arg alternate_subst. Be sure to set all
9687 glyph codes of GSTRING.
9688 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
9689 (font_prepare_composition): Set cmp->glyph_len.
9690 (font_open_entity): Set font->scalable.
9691 (Ffont_get): Handle :otf property.
9692 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
9693 functions.
9694 (Fquery_font): Use font->font.full_name.
9695 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
9696 Sfont_otf_alternates.
9697
9698 * ftfont.c (ftfont_open): Set font->font.full_name and
9699 font->font.name properly. Fix calculation of font->font.height
9700 and font->min_width.
9701
9702 * ftxfont.c (ftxfont_create_gcs): New function.
9703 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
9704 (ftxfont_draw_backgrond): Fix filling region.
9705 (ftxfont_default_fid): New function.
9706 (ftxfont_open): Set xfont->fid to the return value of
9707 ftxfont_default_fid.
9708 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
9709 (ftxfont_done_face): Free only GCs that are created by
9710 ftxfont_create_gcs.
9711 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
9712
9713 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
9714 Clip to src->width, etc (not src->clip_XXX).
9715
9716 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
9717 FontBackend frame parameter.
9718
97192008-02-01 Kenichi Handa <handa@m17n.org>
9720
9721 * font.h (struct font_driver_list): New member `on'.
9722 (Fclear_font_cache): EXFUN it.
9723 (font_update_drivers): Extern it.
9724
9725 * font.c (font_unparse_fcname): Fix typo (swidth->width).
9726 (font_list_entities): Check driver_list->on.
9727 (register_font_driver): Initalize `on' member to 0.
9728 (font_update_drivers): New function.
9729 (Fclear_font_cache): Check driver_list->on.
9730
9731 * frame.h (Qfont_backend): Extern it.
9732 (x_set_font_backend): Extern it.
9733
9734 * frame.c (Qfont_backend): New variable.
9735 (frame_parms): New element for font-backend.
9736 (x_set_font_backend): New function.
9737
9738 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
9739 FontBackend frame parameter.
9740 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
9741 x_set_font_backend.
9742
9743 * xfont.c (xfont_list): Don't try listing by :name property if the
9744 name is not for XLFD.
9745
97462008-02-01 Kenichi Handa <handa@m17n.org>
9747
9748 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
9749 (LGLYPH_SET_TO): New macros.
9750 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
9751 element of G is vector or not.
9752 (font_at): Extern it.
9753
9754 * font.c: Include window.h.
9755 (font_lispy_object): New function.
9756 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
9757 end of valid glyph.
9758 (font_close_object): Fix getting (struct font *).
9759 (font_at): New function.
9760 (Ffont_get): If FONT is a font-object, get entity from it.
9761 (Ffont_make_gstring): Initialize elements of glyphs with nil.
9762 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
9763 range check.
9764 (Ffont_at): New function.
9765 (syms_of_font): Defsubr Sfont_at.
9766
9767 * xdisp.c (it_props): Move the entry for Qauto_composed to just
9768 before the entry for Qcomposition.
9769 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
9770 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
9771 the font in gstring.
9772 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
9773 LGLYPH_FORM (g) to detect the end of valid glyph.
9774 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
9775 we are composing with gstring.
9776
9777 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
9778 Check if adjustment is vector or not.
9779
9780 * Makefile.in (font.o): Make it depends on window.h.
9781
97822008-02-01 Kenichi Handa <handa@m17n.org>
9783
9784 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
9785 adjustment is vector or not.
9786
97872008-02-01 Miles Bader <miles@gnu.org>
9788
9789 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
9790
97912008-02-01 Kenichi Handa <handa@m17n.org>
9792
9793 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
9794 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
9795 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
9796
9797 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
9798 (DEVICE_DELTA): Fix typo.
9799 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
9800 LGLYPH format.
9801
9802 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
9803 the change of LGLYPH format.
9804
98052008-02-01 Kenichi Handa <handa@m17n.org>
9806
9807 * ftfont.c (ftfont_list): Fix typo.
9808 (ftfont_build_basic_charsets): Don't include letters with diacritics.
9809
98102008-02-01 Jan Djärv <jan.h.d@swipnet.se>
9811
9812 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
9813
9814 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
9815 xftface_info is non-NULL.
9816
98172008-02-01 Jan Djärv <jan.h.d@swipnet.se>
9818
9819 * ftfont.c (ftfont_list): Move misplaced #endif.
9820
98212008-02-01 Kenichi Handa <handa@m17n.org>
9822
9823 * ftfont.c (ftfont_list): Pay attention to the case that
9824 FC_CAPABILITY is not defined.
9825
98262008-02-01 Kenichi Handa <handa@m17n.org>
9827
9828 * xftfont.c (xftfont_open): Set charset related members to -1.
9829
9830 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
9831 QCname.
9832 (ftfont_open): Set charset related members to -1.
9833
9834 * fontset.c (Votf_script_alist): New variable.
9835 (syms_of_fontset): Initialize it.
9836 (fontset_font): Delete unused variable.
9837
9838 * fontset.h (Votf_script_alist): Extern it.
9839
9840 * font.c (font_find_for_lface): Optimize code.
9841
9842 * font.h (font_close_object, font_merge_old_spec): Extern them.
9843
98442008-02-01 Kenichi Handa <handa@m17n.org>
9845
9846 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
9847 (syms_of_font): Initialize them.
9848 (font_pixel_size): Allow float value in dpi.
9849 (font_prop_validate_type): Delete.
9850 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
9851 Change caller.
9852 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
9853 (font_prop_validate_extra): Delete.
9854 (font_prop_validate_spacing): New function.
9855 (font_property_table): Add elements for all known properties.
9856 (get_font_prop_index): Rename from check_font_prop_name. New
9857 argument FROM. Change caller.
9858 (font_prop_validate): Validate all known properties.
9859 (font_put_extra): Delete argument force. Change caller.
9860 (font_expand_wildcards): Make it static. Fix the way of shrinking
9861 the possible range.
9862 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
9863 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
9864 Change caller.
9865 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
9866 (font_parse_fcname): Delete argument merge. Fix parsing of point
9867 size. Don't validate properties values here. Change caller.
9868 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
9869 (font_open_by_name): Delete unused variable.
9870 (Ffont_spec): Likewise. Validate property values.
9871 (Ffont_match_p): New function.
9872
9873 * font.h (QCscalable): Extern it.
9874 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
9875
9876 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
9877
9878 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
9879 (xfont_list_pattern): New function.
9880 (xfont_list): Use xfont_list_pattern.
9881
98822008-02-01 Kenichi Handa <handa@m17n.org>
9883
9884 * font.h (Flist_fonts): EXFUN it.
9885
98862008-02-01 Jason Rumney <jasonr@gnu.org>
9887
9888 * w32term.c (w32_initialize): Add back smoothing_type and
9889 smoothing_enabled definitions.
9890
98912008-02-01 Kenichi Handa <handa@m17n.org>
9892
9893 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
9894 s->face->font on determining underline position.
9895
98962008-02-01 Kenichi Handa <handa@m17n.org>
9897
9898 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
9899 (font_has_char): Accept font-object too.
9900 (font_find_for_lface): Try at first with a size specified in face.
9901
99022008-02-01 Kenichi Handa <handa@m17n.org>
9903
9904 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
9905 font_open_by_name.
9906
99072008-02-01 Kenichi Handa <handa@m17n.org>
9908
9909 * font.h (QCspacing, QCdpi): Extern them.
9910 (enum font_spacing): New enum.
9911 (FONT_PIXEL_SIZE_QUANTUM): New macro.
9912
9913 * font.c (POINT_TO_PIXEL): Don't divide POINT by 10.
9914 (QCspacing, QCdpi): New variables.
9915 (syms_of_font): Initialize them.
9916 (font_pixel_size): New function.
9917 (font_put_extra): New function.
9918 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
9919 in FONT_EXTRA.
9920 (font_parse_fcname): Handle enumerated values (e.g. bold).
9921 Fix handling font size. Add QCname property that contains only
9922 unknown properties.
9923 (font_score): Change argument. Change caller. Pay attention to
9924 FONT_PIXEL_SIZE_QUANTUM.
9925 (font_sort_entites, font_list_entities, font_find_for_lface)
9926 (font_open_for_lface, font_open_by_name): Fix handling of font size.
9927 (Ffont_spec): Add QCname property that contains only unknown properties.
9928
9929 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
9930 include weight in listing pattern, instead check weight of each
9931 listed font. Don't include scalable in pattern. Pay attention to
9932 FONT_PIXEL_SIZE_QUANTUM.
9933
99342008-02-01 Kenichi Handa <handa@m17n.org>
9935
9936 * font.c (font_parse_fcname): Fix parsing of point-size.
9937 (font_unparse_fcname): Produce symbolic names for style properties.
9938 (font_list_entities): Handle float size correctly.
9939 (font_open_by_name): Prefer `normal' property values if the name
9940 doesn't specify them.
9941
9942 * fontset.c (Finternal_char_font): Use font_get_name, not
9943 Ffont_xlfd_name.
9944
9945 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
9946 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
9947 pattern. Don't force scalable.
9948
9949 * xftfont.c (xftfont_open): For generating a name, start from
9950 96-byte buffer.
9951
99522008-02-01 Jan Djärv <jan.h.d@swipnet.se>
9953
9954 * frame.h (x_new_fontset2): Fix prototype.
9955
99562008-02-01 Kenichi Handa <handa@m17n.org>
9957
9958 * font.h (struct font_driver): Delete member parse_name.
9959 (font_match_p, font_get_spec, font_parse_fcname)
9960 (font_unparse_fcname): Extern them.
9961 (font_get_name): Adjust prototype.
9962
9963 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
9964 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
9965 (font_expand_wildcards): Fix handling ENCODING field. Avoid
9966 unnecessary checks for weight, slant, and swidth.
9967 (font_parse_fcname): New function.
9968 (font_unparse_fcname): New function.
9969 (font_parse_name): New function.
9970 (font_match_p): New function.
9971 (font_get_name): Change return value to Lisp string.
9972 (font_get_spec): New function.
9973 (Qunspecified, Qignore_defface): Don't extern them.
9974 (font_find_for_lface): Assume that LFACE is fully specified.
9975 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
9976 object, use it for FACE.
9977 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
9978 driver->parse_name.
9979 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
9980
9981 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
9982 prototype.
9983
9984 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
9985 argument F. Don't call Fnew_fontset. Instead, directly call
9986 make_fontset.
9987
9988 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
9989
9990 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
9991 of x_new_fontset2.
9992
9993 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
9994 (Qsans__serif): New variables.
9995 (ftfont_generic_family_list): New variable.
9996 (syms_of_ftfont): Initialize the above variables.
9997 (ftfont_pattern_entity): Delete argument NAME.
9998 (ftfont_list_generic_family): New function.
9999 (ftfont_parse_name): Delete this function.
10000 (ftfont_list): Try generic family only when FcFontList found no font.
10001 (ftfont_list_family): Fix args to FcObjectSetBuild.
10002
10003 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
10004 object in attrs[LFACE_FONT_INDEX].
10005 (set_lface_from_font_name): Cancel all changes for font-backend.
10006 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
10007 function.
10008 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
10009 font object in QCfont attribute.
10010 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
10011 (realize_default_face) [USE_FONT_BACKEND]: Call
10012 set_lface_from_font_and_fontset.
10013
10014 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
10015 "fixed", and signal error here if no suitable font was found.
10016
10017 * xfont.c (xfont_parse_name): Delete this function.
10018
10019 * xftfont.c (xftfont_open): Change coding style of error
10020 handling. Generate fontconfig's fontname pattern.
10021
10022 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
10023 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
10024
10025 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
10026 Both args FONTSET and FONT_OBJECT must be existing ones.
10027
100282008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10029
10030 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
10031
100322008-02-01 Kenichi Handa <handa@m17n.org>
10033
10034 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
10035
10036 * font.h (struct font): Fix typo.
10037
10038 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
10039 XLFD_XXX_INDEX.
10040 (enum xlfd_field_mask): New enum.
10041 (intern_font_field): Changed argument. Change caller. If digits
10042 are followed by non-digits, return a symbol.
10043 (font_expand_wildcards): New function.
10044 (font_parse_xlfd): Fix wildcard handling.
10045 (Ffont_spec): If :name is specified, reflect the info in the other
10046 properties.
10047
10048 * ftfont.c (ftfont_pattern_entity): Fix typo.
10049 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
10050 locale.
10051
100522008-02-01 Kenichi Handa <handa@m17n.org>
10053
10054 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
10055
10056 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
10057 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
10058 registry doesn't specify encoding part.
10059 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
10060 (font_open_by_name): At first try parsing the name.
10061 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
10062 as Lisp symbols.
10063
10064 * fontset.c (reorder_font_vector): Pay attention to the case that
10065 the 3rd element of font_def is nil.
10066 (fontset_font): For the default fontset, append one more fontset
10067 elements for a script-based font specification. Don't add script
10068 attribute on finding a font.
10069 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
10070 font name.
10071 (fontset_ascii_font): If a font can't be opened, return nil.
10072
10073 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
10074 (ftfont_pattern_entity): New function.
10075 (ftfont_get_cache): Assume that freetype_font_cache is already
10076 initialized.
10077 (ftfont_list): Handle the case that a file is specified in font
10078 name. Use ftfont_pattern_entity to generate entities.
10079 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
10080 (syms_of_ftfont): Initialize freetype_font_cache.
10081
10082 * xftfont.c (xftfont_open): Make the font name fontconfig's
10083 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
10084 (xftfont_close): Free font->font.name if not NULL.
10085
10086 * xfont.c (xfont_list): If script is specified for a font, return
10087 null_vector.
10088 (xfont_list_family): Declare argument type.
10089
10090 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
10091 name, set LFACE_FONT (lface) to nil.
10092
10093 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
10094 return Qnil.
10095
100962008-02-01 Kenichi Handa <handa@m17n.org>
10097
10098 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
10099 (standard_args): Add "-enable-font-backend".
10100
101012008-02-01 Kenichi Handa <handa@m17n.org>
10102
10103 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
10104 (struct xftdraw_list, xftdraw_list): Delete them.
10105 (register_xftdraw, check_xftdraw): Delete them.
10106 (xftfont_prepare_face): Don't call register_xftdraw.
10107 (xftfont_done_face): Don't call check_xftdraw.
10108 (xftfont_draw): Get background color only when with_background is
10109 nonzero.
10110
10111 * xfont.c (xfont_encode_char): Fix calculation of char2b.
10112
101132008-02-01 Kenichi Handa <handa@m17n.org>
10114
10115 These changes are for the new font handling codes.
10116
10117 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
10118 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
10119 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
10120 (FONTSRC, FONTOBJ): New variables.
10121 (obj): Add $(FONTOBJ).
10122 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
10123 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
10124 @LIBOTF_LIBS@.
10125 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
10126 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
10127
10128 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
10129
10130 * character.h (Vscript_representative_chars): Extern it.
10131
10132 * character.c (Vscript_representative_chars): New variable.
10133 (syms_of_character): Declare it as a Lisp variable.
10134
10135 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
10136 enable_font_backend is nonzero, accept the composition method
10137 COMPOSITION_WITH_GLYPH_STRING.
10138
10139 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
10140 enumeration COMPOSITION_WITH_GLYPH_STRING.
10141
10142 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
10143 members clip_x, clip_y, clip_width, and clip_height.
10144 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
10145
10146 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
10147 --enable-font-backend. Call syms_of_font.
10148
10149 * fns.c (assoc_no_quit): New function.
10150
10151 * fontset.h (FONT_INFO_FROM_FACE): New macro.
10152 (face_for_font, new_fontset_from_font)
10153 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
10154
10155 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
10156 (fontset_font, fontset_ascii, face_for_char)
10157 (make_fontset_for_ascii_face, Ffont_info)
10158 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
10159 is nonzero, use font-backend mechanism.
10160 (find_font_encoding): Make it non-static.
10161 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
10162 New functions.
10163
10164 * frame.h (struct frame): New members resx and resy.
10165 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
10166 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
10167
10168 * frame.c [USE_FONT_BACKEND]: Include "font.h".
10169 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
10170
10171 * lisp.h (assoc_no_quit): Extern it.
10172
10173 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
10174 Through out the file, use FONT_INFO_FROM_FACE instead of
10175 FONT_INFO_FROM_ID, use get_per_char_metric instead of
10176 rif->per_char_metric.
10177 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
10178 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
10179 (get_glyph_face_and_encoding, fill_composite_glyph_string)
10180 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
10181 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
10182 nonzero, use font-backend mechanism.
10183 (get_per_char_metric): New function.
10184
10185 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
10186 (set_lface_from_font_name)
10187 (set_font_frame_param, free_realized_face)
10188 (prepare_face_for_display, clear_face_gcs)
10189 (Finternal_set_font_selection_order, realize_x_face)
10190 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
10191 font-backend mechanism.
10192 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
10193 (load_face_font) [USE_FONT_BACKEND]: Abort.
10194 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
10195 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
10196
10197 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
10198 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
10199 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
10200 nonzero, register all available font drivers. Call
10201 x_default_font_parameter for deciding a font.
10202 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
10203
10204 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
10205 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
10206 (x_set_glyph_string_clipping_exactly)
10207 (x_compute_glyph_string_overhangs)
10208 (x_draw_glyph_string_foreground)
10209 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
10210 (x_free_frame_resources) [USE_FONT_BACKEND]: If
10211 enable_font_backend is nonzero, use font-backend mechanism.
10212 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
10213
102142008-02-01 Kenichi Handa <handa@m17n.org>
10215
10216 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
10217 system_eol_type.
10218 (syms_of_coding): Initialize system_eol_type.
10219
10220 * process.c (Fset_process_coding_system): Inherit system's eol
10221 format if necessary.
10222
102232008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10224
10225 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
10226
102272008-02-01 Kenichi Handa <handa@m17n.org>
10228
10229 * coding.c (decode_eol): Pay attention to buffer relocation in
10230 del_range_2.
10231 (decode_coding): Call decode_eol before restoring undo_list.
10232
102332008-02-01 Kenichi Handa <handa@m17n.org>
10234
10235 * charset.c (Fdefine_charset_internal): Fix setting of
10236 emacs_mule_bytes.
10237
102382008-02-01 Kenichi Handa <handa@m17n.org>
10239
10240 * keyboard.c (read_char): Check if C is a character or not before
10241 looking up Vkeyboard_translate_table.
10242
102432008-02-01 Kenichi Handa <handa@m17n.org>
10244
10245 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
10246 condition to terminate the loop.
10247
102482008-02-01 Kenichi Handa <handa@m17n.org>
10249
10250 * coding.c (produce_composition): Compare charbuf[i] instead of
10251 args[i] against 0.
10252 (Fterminal_coding_system): Use EQ to compare Lisp objects.
10253
102542008-02-01 Kenichi Handa <handa@m17n.org>
10255
10256 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
10257 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
10258 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
10259 detect_coding.
10260 (emacs_mule_char): Handle old style (Emacs 20) component character
10261 of a composition.
10262 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
10263 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
10264 composition rule.
10265 (decode_coding_emacs_mule): Handle invalid bytes correctly.
10266
102672008-02-01 Kenichi Handa <handa@m17n.org>
10268
10269 * coding.c (encode_coding_ccl): Allocate destination dynamically
10270 when necessary.
10271
102722008-02-01 Kenichi Handa <handa@m17n.org>
10273
10274 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
10275 the loop. When quitted, show a proper error message.
10276
102772008-02-01 Kenichi Handa <handa@m17n.org>
10278
10279 * xterm.c (x_set_glyph_string_clipping_exactly): Set
10280 src->clip_head and src->clip_tail temporarily instead of src->hl.
10281
10282 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
10283 character sequence.
10284 (Fccl_execute_on_string): Use ASET, not XSET.
10285
102862008-02-01 Kenichi Handa <handa@m17n.org>
10287
10288 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
10289
102902008-02-01 Kenichi Handa <handa@m17n.org>
10291
10292 * coding.c (decode_coding): Fix the condition of terminating the
10293 decoding loop.
10294
102952008-02-01 Kenichi Handa <handa@m17n.org>
10296
10297 * data.c (Faset): On setting a character bigger than 255 in a
10298 unibyte string, signal an error instead of make the string multibyte.
10299
103002008-02-01 Kenichi Handa <handa@m17n.org>
10301
10302 * charset.c (map_charset_chars): Fix for ascii-compatible charset
10303 made by a mapping table.
10304
103052008-02-01 Kenichi Handa <handa@m17n.org>
10306
10307 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
10308 not.
10309 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
10310 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
10311
10312 * xterm.c (x_draw_composite_glyph_string_foreground): Check
10313 s->face is NULL or not.
10314
103152008-02-01 Kenichi Handa <handa@m17n.org>
10316
10317 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
10318 (x_draw_glyph_string): Fix drawing of right_overhang and
10319 left_overhang around/on cursor.
10320
10321 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
10322
103232008-02-01 Kenichi Handa <handa@m17n.org>
10324
10325 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
10326
103272008-02-01 Kenichi Handa <handa@m17n.org>
10328
10329 * coding.c (Fdefine_coding_system_internal)
10330 (Fdefine_coding_system_alias): Avoid a duplicated element in
10331 Vcoding_system_alist.
10332
103332008-02-01 Kenichi Handa <handa@m17n.org>
10334
10335 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
10336
10337 * coding.c (Qcoding_system_define_form): New variable.
10338 (syms_of_coding): Intern and staticpro it.
10339 (Fcoding_system_p): Check Qcoding_system_define_form.
10340 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
10341
10342 * coding.h (CODING_SYSTEM_P): If ID is not available, call
10343 Fcoding_system_p.
10344 (CHECK_CODING_SYSTEM): If ID is not available, call
10345 Fcheck_coding_system.
10346 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
10347 Try also Fcheck_coding_system.
10348
103492008-02-01 Kenichi Handa <handa@m17n.org>
10350
10351 * coding.c (code_conversion_restore): GCPRO arg.
10352
103532008-02-01 Kenichi Handa <handa@m17n.org>
10354
10355 * character.c (lisp_string_width): Check multibyteness of STRING.
10356
103572008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10358
10359 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
10360 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
10361 (decode_mac_font_name): Use decode_coding_c_string instead of
10362 decode_coding.
10363 (x_load_font): Initialize fontp->fontset to -1. Set
10364 fontp->encoding_type.
10365
103662008-02-01 Kenichi Handa <handa@m17n.org>
10367
10368 * search.c (search_buffer): Give up BM search on case-fold-search
10369 if one of a target character has a case-equivalence of different
10370 byte length even if that target charcter is an ASCII.
10371 (simple_search): Fix calculation of byte length of matched text.
10372 (boyer_moore): Fix handling of case-equivalent multibyte characters.
10373
103742008-02-01 Kenichi Handa <handa@m17n.org>
10375
10376 * coding.c (decode_coding): Fix handling of invalid bytes.
10377
103782008-02-01 Kenichi Handa <handa@m17n.org>
10379
10380 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
10381 Unicode characters.
10382
103832008-02-01 Kenichi Handa <handa@m17n.org>
10384
10385 * coding.c (encode_coding_object): If a pre-write-conversion
10386 function makes a new buffer, kill it.
10387
103882008-02-01 Kenichi Handa <handa@m17n.org>
10389
10390 * coding.c (QCascii_compatible_p): New variable.
10391 (syms_of_coding): Initialize it.
10392 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
10393 calling string_char.
10394 (record_conversion_result): Add `default:' case.
10395 (coding_charset_list): Delete unused variable `coding_type'.
10396 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
10397 property in the plist of the coding system.
10398 (Fcoding_system_put): Check QCascii_compatible_p.
10399
104002008-02-01 Miles Bader <miles@gnu.org>
10401
10402 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
10403 removed calculation of frame `f', as it's now used.
10404
104052008-02-01 Kenichi Handa <handa@m17n.org>
10406
10407 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
10408 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
10409 (UNIDATA): New variable.
10410 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
10411 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
10412 $(RUN_TEMACS) unconditionally.
10413
104142008-02-01 Kenichi Handa <handa@m17n.org>
10415
10416 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
10417 (admindir): New variable.
10418 ($(lispsource)international/charprop.el): New target.
10419
104202008-02-01 Miles Bader <miles@gnu.org>
10421
10422 * character.c (chars-in-region): Remove obsolete function.
10423 (syms_of_character): Remove its initialization.
10424
104252008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
10426
10427 * w32select.c (validate_coding_system)
10428 (setup_windows_coding_system): New functions.
10429 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
10430 setup_windows_coding_system.
10431 (setup_config, Fw32_get_clipboard_data): Use
10432 validate_coding_system.
10433 (Fx_selection_exists): Move call to setup_config to a place
10434 where signals are allowed.
10435
10436 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
10437 (Fcheck_coding_system): Add declarations.
10438
104392008-02-01 Kenichi Handa <handa@m17n.org>
10440
10441 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
10442
104432008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10444
10445 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
10446 string as the second argument for x_new_fontset.
10447
104482008-02-01 Kenichi Handa <handa@m17n.org>
10449
10450 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
10451 (encode_coding_object): Use safe_call instead of call2.
10452
104532008-02-01 Kenichi Handa <handa@m17n.org>
10454
10455 * fontset.c (Fset_fontset_font): Check family element of a given vector.
10456
10457 * Makefile.in (lisp): Include charprop.el.
10458
104592008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10460
10461 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
10462 Not sure if it's unnecessary.
10463
104642008-02-01 Steven Tamm <steventamm@mac.com>
10465
10466 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
10467 some possibly unnecessary fontset checking code that crashed
10468 when creating a new frame.
10469
104702008-02-01 Kenichi Handa <handa@m17n.org>
10471
10472 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
10473 lookup_face.
10474
10475 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
10476
10477 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
10478
104792008-02-01 Kenichi Handa <handa@m17n.org>
10480
10481 * coding.c: Cancel the change done in HEAD on 2008-02-01.
10482 (coding_charset_list): New function.
10483
10484 * coding.h (coding_charset_list): Extern it.
10485
104862008-02-01 Kenichi Handa <handa@m17n.org>
10487
10488 * fontset.c (Fset_fontset_font): Call find_font_encoding with
10489 concatenation of family and registry.
10490
104912008-02-01 Kenichi Handa <handa@m17n.org>
10492
10493 * character.h (BYTE8_STRING): Fix typo.
10494
10495 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
10496 string to multibyte (sync to HEAD).
10497
10498 * casefiddle.c (casify_region): Handle changes in byte-length
10499 using replace_range_2 (sync to HEAD).
10500
105012008-02-01 Andreas Schwab <schwab@suse.de>
10502
10503 * chartab.c (map_char_table): GCPRO table and arg.
10504
105052008-02-01 Kenichi Handa <handa@m17n.org>
10506
10507 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
10508 already at limit.
10509
105102008-02-01 Kenichi Handa <handa@m17n.org>
10511
10512 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
10513 instead of fast_c_string_match_ignore_case.
10514 (find_font_encoding): Change argument to Lisp_Object. Use
10515 fast_string_match_ignore_case instead of
10516 fast_c_string_match_ignore_case. Change caller.
10517
105182008-02-01 Kenichi Handa <handa@m17n.org>
10519
10520 * xdisp.c (get_next_display_element): In unibyte case, decide to
10521 display in octal form by checking a character by
10522 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
10523
10524 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
10525
10526 * character.c (unibyte_has_multibyte_table): New variable.
10527
10528 * character.h (unibyte_has_multibyte_table): Extern it.
10529 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
10530
105312008-02-01 Kenichi Handa <handa@m17n.org>
10532
10533 * coding.c (encode_coding_iso_2022): Fix handling of charset
10534 annotation.
10535
105362008-02-01 Kenichi Handa <handa@m17n.org>
10537
10538 * coding.c (setup_coding_system): If coding_system is nil, use
10539 Qundecided.
10540 (Fterminal_coding_system): Return nil if terminal coding system is
10541 `undecided'.
10542 (syms_of_coding): Define coding-system `undecided' here. Setup
10543 terminal_coding as `undecided'.
10544
105452008-02-01 Kenichi Handa <handa@m17n.org>
10546
10547 * xdisp.c (message_dolog, set_message_1): Call
10548 unibyte_char_to_multibyte with arg type int.
10549
10550 * lread.c (read1): Fix reading of a char-table.
10551
10552 * print.c (print_object): Include sub char-table in circularities
10553 detection.
10554
105552008-02-01 Kenichi Handa <handa@m17n.org>
10556
10557 * keymap.c (where_is_internal_2): Fix for the case that KEY is a cons.
10558 Append the found sequences in car of ARGS instead of prepending.
10559
105602008-02-01 Kenichi Handa <handa@m17n.org>
10561
10562 * fileio.c (report_file_error): Make a unibyte string from
10563 strerror (errorno).
10564 (Fsubstitute_in_file_name): Fix the arg to
10565 unibyte_char_to_multibyte. It is evaluated twice.
10566
105672008-02-01 Kenichi Handa <handa@m17n.org>
10568
10569 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
10570
105712008-02-01 Kenichi Handa <handa@m17n.org>
10572
10573 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
10574 BOM is not found.
10575 (detect_coding, detect_coding_system): Optimization for ISO-2022
10576 when no 8-bit data is found.
10577
105782008-02-01 Jason Rumney <jasonr@gnu.org>
10579
10580 * w32fns.c (x_to_w32_font): Update to use new coding struct.
10581
105822008-02-01 Kenichi Handa <handa@m17n.org>
10583
10584 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
10585 CHARS.
10586
105872008-02-01 Steven Tamm <steventamm@mac.com>
10588
10589 * macterm.c (mac_encode_char): Add charset argument and update
10590 to use encoding_type.
10591 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
10592 switch to pure fontset.
10593 (decode_mac_font_name): Temporarily remove decoding.
10594 (x_font_name_to_mac_font_name): Temporarily remove encoding.
10595 (x_load_font): Temporarily remove encoding.
10596
105972008-02-01 Kenichi Handa <handa@m17n.org>
10598
10599 * xfaces.c (Fface_font): If frame is not on a window system,
10600 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
10601 refer to face->font.
10602 (split_font_name_into_vector, build_font_name_from_vector)
10603 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
10604 when HAVE_WINDOW_SYSTEM is defined.
10605
106062008-02-01 Kenichi Handa <handa@m17n.org>
10607
10608 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
10609 (x_produce_glyphs): Fix setting of members of cmp in case
10610 cmp->glyph_len is zero.
10611
10612 * fontset.c (Fset_fontset_font): Fix docstring.
10613 (Ffontset_info): Make it backward compatible. New arg ALL.
10614
106152008-02-01 Kim F. Storm <storm@cua.dk>
10616
10617 * process.c (read_process_output): Grow decoding_buf when needed;
10618 this could cause a crash in allocate_string and compact_small_strings.
10619
106202008-02-01 Kenichi Handa <handa@m17n.org>
10621
10622 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
10623
106242008-02-01 Kenichi Handa <handa@m17n.org>
10625
10626 * coding.c (setup_coding_system): Set coding->common_flags
10627 correctly for raw-text.
10628 (consume_chars): On encoding unibyte text by raw-text, don't check
10629 multibyte form.
10630 (encode_coding): On encoding by raw-text, never use translation tables.
10631
10632 * fileio.c (e_write): Short cut for the case of no encoding.
10633
106342008-02-01 Kenichi Handa <handa@m17n.org>
10635
10636 * coding.c (detect_coding, detect_coding_system): Delete unused
10637 variables.
10638
106392008-02-01 Kenichi Handa <handa@m17n.org>
10640
10641 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
10642 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
10643
106442008-02-01 Kenichi Handa <handa@m17n.org>
10645
10646 * coding.c (Ffind_coding_systems_region_internal): Include
10647 raw-text and no-conversion in the result.
10648
106492008-02-01 Kenichi Handa <handa@m17n.org>
10650
10651 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
10652 (load_font_get_repertory): Delete unnecessary check of ENCODING of
10653 FONT_DEF.
10654 (font_def_arg, add_arg, from_arg, to_arg): New args.
10655 (set_fontset_font): Change argument.
10656 (Fset_fontset_font): Fix for the case that TARGET is a script
10657 name and charset name.
10658 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
10659
106602008-02-01 Kenichi Handa <handa@m17n.org>
10661
10662 * fontset.c (fontset_font): Rename from fontset_face. Change return
10663 value.
10664 (face_suitable_for_char_p, face_for_char): Adjust for the change
10665 of fontset_font.
10666 (make_fontset_for_ascii_face): Fix setting of the fontset element
10667 for ASCII.
10668 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
10669 to get a font name.
10670 (Ffontset_info): Adjust for the change of fontset_font.
10671
10672 * coding.c (emacs_mule_char): Check invalid code more rigidly.
10673
10674 * character.h (LEADING_CODE_LATIN_1_MIN)
10675 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
10676
106772008-02-01 Kenichi Handa <handa@m17n.org>
10678
10679 * editfns.c (check_translation): New function.
10680 (Ftranslate_region_internal): Handle M:N mapping.
10681
106822008-02-01 Kenichi Handa <handa@m17n.org>
10683
10684 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
10685
106862008-02-01 Kenichi Handa <handa@m17n.org>
10687
10688 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
10689 goto invalid_code.
10690 (decode_coding_iso_2022): Fix handling of invalid designation.
10691
10692 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
10693 after calling code_conversion_save.
10694
106952008-02-01 Kenichi Handa <handa@m17n.org>
10696
10697 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
10698
10699 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
10700
10701 * fontset.c: Include "intervals.h".
10702 (fontset_face): Fix comparing of Lisp_Objects.
10703 (free_face_fontset, new_fontset_from_font_name): Fix
10704 Lisp_Object/int mixup.
10705
10706 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
10707
10708 * coding.c: Add many prototypes for static functions.
10709 (get_translation_table): Allow max_lookup to be NULL.
10710 (decode_coding, Ffind_coding_systems_region_internal)
10711 (Funencodable_char_position, Fcheck_coding_systems_region): Call
10712 get_translation_table with max_lookup NULL.
10713
107142008-02-01 Kenichi Handa <handa@m17n.org>
10715
10716 * coding.c (get_translation_table): Declare it as Lisp_Object.
10717 (LOOKUP_TRANSLATION_TABLE): New macro.
10718 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
10719 instead of CHAR_TABLE_REF.
10720
107212008-02-01 Kenichi Handa <handa@m17n.org>
10722
10723 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
10724 annotation data format.
10725 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
10726 Change arguments FROM and TO to single argument NCHARS. Change caller.
10727 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
10728 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
10729 (decode_coding_ccl, decode_coding_charset): Pay attention to
10730 coding->charbuf_used.
10731 (get_translation): New function.
10732 (produce_chars): New arguments translation_table and last_block.
10733 Translate characters here. Return number of carryover chars.
10734 Change caller.
10735 (produce_composition): New argument pos. Change caller.
10736 Adjust for the change of annotation data format.
10737 (produce_charset, produce_annotation): Likewise.
10738 (decode_coding, encode_coding): Don't call translate_chars.
10739 (consume_chars): New arg translation_table. Change caller.
10740 (translate_chars): Delete.
10741 (syms_of_coding): Make translation-table's number of extra slots 2.
10742
107432008-02-01 Kenichi Handa <handa@m17n.org>
10744
10745 * search.c (simple_search): Fix setting this_pos_byte in backward
10746 search.
10747
10748 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
10749 byte sequence.
10750 (detect_coding_ccl): Fix setting of the variable valids.
10751
107522008-02-01 Kenichi Handa <handa@m17n.org>
10753
10754 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
10755
10756 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
10757
10758 * editfns.c (Ftranslate_region_internal): Rename from
10759 Ftranslate_region. Accept a char-table in TABLE.
10760 (syms_of_editfns): Defsubr Stranslate_region_internal.
10761
10762 * xfaces.c (set_lface_from_font_name): If a font is specified for
10763 a frame, generate a fontset from the font.
10764 (build_scalable_font_name): If the scalable font is requested for
10765 a specific size, don't change that size.
10766 (try_font_list): Try a scalable font also in the case that a
10767 pattern string is specified.
10768
107692008-02-01 Kenichi Handa <handa@m17n.org>
10770
10771 * xfaces.c (Fface_font): New optional arg CHARACTER.
10772
107732008-02-01 Kenichi Handa <handa@m17n.org>
10774
10775 * charset.h (CHARSET_OFFSET): New macro.
10776
107772008-02-01 Kenichi Handa <handa@m17n.org>
10778
10779 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
10780
10781 * fontset.c (fontset_face): Handle the case that repertory is a
10782 char-table.
10783 (find_font_encoding): Return nil for unknown encoding.
10784 (Fset_fontset_font): Ignore a font of unknown encoding.
10785
107862008-02-01 Kenichi Handa <handa@m17n.org>
10787
10788 * keymap.c (describe_vector): Handle default value of a char table.
10789
10790 * fontset.c (fontset_face): Handle fallback fonts correctly.
10791 (Ffontset_info): Return infomation about fallback fonts.
10792
107932008-02-01 Kenichi Handa <handa@m17n.org>
10794
10795 * fontset.c (FONTSET_DEFAULT): New macro.
10796 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
10797 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
10798 the case that it is nil.
10799 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
10800 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
10801
10802 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
10803 subset or superset.
10804
108052008-02-01 Kenichi Handa <handa@m17n.org>
10806
10807 * emacs.c (main): Call init_charset after syms_of_XXX.
10808
10809 * charset.c (Vcharset_map_directory): Delete.
10810 (Vcharset_map_path): New variable.
10811 (load_charset_map_from_file): Use Vcharset_map_path instead.
10812 (init_charset): Initialize Vcharset_map_path.
10813 (syms_of_charset): Delete declaration of "charset-map-directory",
10814 add declaration of "charset-map-path".
10815
108162008-02-01 Kenichi Handa <handa@m17n.org>
10817
10818 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
10819 ASCII only string.
10820
10821 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
10822
10823 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
10824 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
10825
108262008-02-01 Kenichi Handa <handa@m17n.org>
10827
10828 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
10829
10830 * coding.c (QCmnemonic, QCdefalut_char)
10831 (QCdecode_translation_table, QCencode_translation_table)
10832 (QCpost_read_conversion, QCpre_write_conversion): New variables.
10833 (get_translation_table): Return a list of translation tables if
10834 necessary.
10835 (decode_coding): Call get_translation_table with ENCODEP 0.
10836 (char_encodable_p): If translation_table is non-nil, always call
10837 translate_char.
10838 (Fdefine_coding_system_internal): Accept list of translation
10839 tables as :encode-translation-table and :decode-translation-table.
10840 (Fcoding_system_put): New function.
10841 (syms_of_coding): Declare new symbols. Defsubr
10842 Scoding_system_put.
10843 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
10844 typically JISX0212.
10845
10846 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
10847 when the charset is superset type.
10848
10849 * character.c (translate_char): Accept list of translation tables.
10850
108512008-02-01 Kenichi Handa <handa@m17n.org>
10852
10853 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
10854 (CODING_ATTR_TRANS_TBL): New macro.
10855
10856 * coding.c (get_translation_table): New function.
10857 (translate_chars): Fix the bug of skipping annotation data.
10858 (decode_coding, encode_coding): Utilize get_translation_table.
10859 (char_encodable_p, Funencodable_char_position): Translate char if
10860 necessary.
10861 (Ffind_coding_systems_region_internal)
10862 (Fcheck_coding_systems_region): Setup translation table for encode
10863 in a coding system attribute vector in advance.
10864 (Fdefine_coding_system_internal): Allow a symbol as translation
10865 table. For shift-jis type coding system, allow 4th charset.
10866
108672008-02-01 Kenichi Handa <handa@m17n.org>
10868
10869 * coding.c (decode_coding_sjis): Check the first byte rigidly.
10870
10871 * xdisp.c (get_next_display_element): Pass -1 as POS to
10872 FACE_FOR_CHAR if displaying a C-string.
10873
108742008-02-01 Kenichi Handa <handa@m17n.org>
10875
10876 * composite.c (get_composition_id): Handle xoff and yoff in a
10877 composition rule.
10878
10879 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
10880 (struct composition): New member lbearing and rbearing.
10881
10882 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
10883 (x_get_glyph_overhangs): Handle a composition glyph.
10884 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
10885
10886 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
10887 composition glyph.
10888
108892008-02-01 Kenichi Handa <handa@m17n.org>
10890
10891 * print.c: Include charset.h.
10892 (Vprint_charset_text_property): New variable.
10893 (Qdefault): Extern it.
10894 (PRINT_STRING_NON_CHARSET_FOUND)
10895 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
10896 (print_check_string_result): New variable.
10897 (print_check_string_charset_prop): New function.
10898 (print_prune_charset_plist): New variable.
10899 (print_prune_string_charset): New function.
10900 (print_object): Call print_prune_string_charset if
10901 Vprint_charset_text_property is not t.
10902 (print_interval): Print nothing if interval->plist is nil.
10903 (syms_of_print): Declare Vprint_charset_text_property as a lisp
10904 variable. Init and staticpro print_prune_charset_plist.
10905
109062008-02-01 Kenichi Handa <handa@m17n.org>
10907
10908 * fontset.c (new_fontset_from_font_name): Use the specified font
10909 for all characters in the new fontset.
10910
10911 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
10912 OBJECT args.
10913
10914 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
10915 OBJECT args for composition too.
10916
10917 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
10918 OBJECT args.
10919
109202008-02-01 Kenichi Handa <handa@m17n.org>
10921
10922 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
10923
10924 * fontset.c (reorder_font_vector): Adjust for the change of
10925 FONT_DEF format.
10926 (fontset_face): New arg id. Change caller.
10927 (face_for_char): New args pos and object.
10928 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
10929 (fs_query_fontset): Check NAME by Fassoc too.
10930 (Fset_fontset_font): Allow non-XLFD font name.
10931 (Ffontset_info): Adjust for the change of FONT_DEF format.
10932
10933 * fontset.h (face_for_char): Adjust prototype.
10934
10935 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
10936 (append_space, extend_face_to_end_of_line)
10937 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
10938 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
10939
10940 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
10941 POS and OBJECT args.
10942
10943 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
10944 POS and OBJECT args.
10945
109462008-02-01 Jason Rumney <jasonr@gnu.org>
10947
10948 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
10949 of GlobalAlloc'ed memory.
10950
109512008-02-01 Kenichi Handa <handa@m17n.org>
10952
10953 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
10954
10955 * charset.h (charset_table_used): Delete extern.
10956
10957 * charset.c (charset_table_used): Make it static.
10958 (map_charset_chars): Fix args to c_function with.
10959
10960 * chartab.c (map_sub_char_table_for_charset): Fix args to
10961 c_function with.
10962
10963 * coding.h (enum coding_result_code): Delete
10964 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
10965
10966 * coding.c (Qinsufficient_source, Qinconsistent_eol)
10967 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
10968 (Vlast_code_conversion_error): New variables.
10969 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
10970 (ONE_MORE_BYTE): Record error if any instead of signaling an
10971 error. If non-ASCII multibyte char is found, return the negative
10972 value of the code. All callers changed to check it.
10973 (ONE_MORE_BYTE_NO_CHECK): Likewise.
10974 (record_conversion_result): New function. Change all codes setting
10975 coding->result to call this function.
10976 (detect_coding_utf_8, decode_coding_utf_8)
10977 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
10978 Don't use the local variable incomplete.
10979 (emacs_mule_char): Change the second arg to `const'.
10980 (decode_coding): Fix of flushing out unprocessed data.
10981 (make_conversion_work_buffer): Fix making of a work buffer.
10982 (decode_coding_object): Return coding->dst_object.
10983
10984 * fontset.c (set_fontset_font): Fix args.
10985
10986 * lisp.h (CHARACTERBITS): Define as 22.
10987
10988 * process.c (send_process): Be sure to set coding->src_multibyte.
10989
10990 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
10991
109922008-02-01 Kenichi Handa <handa@m17n.org>
10993
10994 * xdisp.c (handle_auto_composed_prop): Give limit to
10995 Fnext_single_char_property_change.
10996
109972008-02-01 Kenichi Handa <handa@m17n.org>
10998
10999 * composite.c (syms_of_composite): Don't make the composition hash
11000 table weak.
11001
11002 * fontset.c (Fset_fontset_font): Fix docstring.
11003
11004 * lisp.h (detect_coding_system): Adjust prototype.
11005
11006 * fileio.c (kill_workbuf_unwind): Delete this function.
11007 (Finsert_file_contents): Adjust the call of detect_coding_system.
11008 Get conversion_buffer by code_conversion_save. Use the macro
11009 CODING_MAY_REQUIRE_DECODING. After decoding, update
11010 coding_system.
11011
11012 * coding.h (make_conversion_work_buffer): Delete extern.
11013 (code_conversion_save): Extern it.
11014
11015 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
11016 (CODING_GET_INFO): Delete argument eol_type. Change callers.
11017 (decode_coding_utf_8): Don't do eol converion.
11018 (detect_coding_utf_16): Check coding->src_chars, not
11019 coding->src_bytes. Add heuristics for those that have no signature.
11020 (decode_coding_emacs_mule, decode_coding_iso_2022)
11021 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
11022 Don't do eol converion.
11023 (adjust_coding_eol_type): Return a new coding system.
11024 (detect_coding): Don't detect eol. Fix for utf-16 detection.
11025 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
11026 each change.
11027 (decode_coding): Pay attention to undo_list. Do eol conversion for
11028 all types of coding-systems (if necessary).
11029 (Vcode_conversion_work_buf_list): Delete it.
11030 (Vcode_conversion_reused_workbuf): Rename from
11031 Vcode_conversion_reused_work_buf.
11032 (Vcode_conversion_workbuf_name): New variable.
11033 (reused_workbuf_in_use): New variable.
11034 (make_conversion_work_buffer): Delete the arg DEPTH.
11035 (code_conversion_restore): Change argument to cons.
11036 (code_conversion_save): Delete the argument BUFFER. Change callers.
11037 (detect_coding_system): New argument src_chars. Change callers.
11038 Fix for utf-16 detection.
11039 (init_coding_once): Don't use ISO_carriage_return.
11040 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
11041 reused_workbuf_in_use.
11042
110432008-02-01 Kenichi Handa <handa@m17n.org>
11044
11045 * keymap.c (store_in_keymap): Pay attention to the case that idx
11046 is a cons specifying a character range.
11047
110482008-02-01 Kenichi Handa <handa@m17n.org>
11049
11050 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
11051 HANDLED_RECOMPUTE_PROPS.
11052
11053 * coding.c (Fdefine_coding_system_internal): Fix checking of
11054 ascii compatibility.
11055
110562008-02-01 Kenichi Handa <handa@m17n.org>
11057
11058 * charset.c (find_charsets_in_text): Delete unused locale variable.
11059 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
11060
11061 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
11062 Resync charset_list to Vemacs_mule_charset_list.
11063
11064 * keymap.c (store_in_keymap): Pay attention to the case that idx
11065 is a cons specifying a character range.
11066
110672008-02-01 Kenichi Handa <handa@m17n.org>
11068
11069 * composite.c (update_compositions): Bind inhibit-read-only, etc
11070 to t before calling remove-list-of-text-properties.
11071
11072 * print.c (print_object): Always print ASCII chars as is.
11073
110742008-02-01 Kenichi Handa <handa@m17n.org>
11075
11076 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
11077
11078 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
11079 is a char table.
11080
110812008-02-01 Kenichi Handa <handa@m17n.org>
11082
11083 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
11084
110852008-02-01 Kenichi Handa <handa@m17n.org>
11086
11087 * xfaces.c (set_lface_from_font_name): Fix for the case that
11088 FONTNAME is not fontset name.
11089
110902008-02-01 Kenichi Handa <handa@m17n.org>
11091
11092 * fns.c (base64_encode_1): Fix previous change.
11093
110942008-02-01 Kenichi Handa <handa@m17n.org>
11095
11096 * fontset.c (set_fontset_font): New function.
11097 (Fset_fontset_font): If a font is specified for a charset, use
11098 map_charset_chars to store the font spec in a fontset.
11099
111002008-02-01 Kenichi Handa <handa@m17n.org>
11101
11102 * fontset.c (fontset_face): Create a fallback fontset on demand.
11103 (make_fontset): Don't create a fallback fontset here.
11104 (free_face_fontset): Free a fallback fontset (if any) too.
11105 (n_auto_fontsets): Delete this variable.
11106 (auto_fontset_alist): New variable.
11107 (new_fontset_from_font_name): Check auto_fontset_alist.
11108 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
11109 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
11110 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
11111 Defsubr Sfontset_list_all.
11112
111132008-02-01 Kenichi Handa <handa@m17n.org>
11114
11115 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
11116
111172008-02-01 Kenichi Handa <handa@m17n.org>
11118
11119 * fontset.c (Fnew_fontset): Check NAME more rigidly.
11120
111212008-02-01 Kenichi Handa <handa@m17n.org>
11122
11123 * editfns.c (Fgoto_char): Fix docstring.
11124
111252008-02-01 Kenichi Handa <handa@m17n.org>
11126
11127 * insdel.c (insert_from_gap): Adjust intervals correctly.
11128
111292008-02-01 Jason Rumney <jasonr@gnu.org>
11130
11131 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
11132 (pfnGetFontUnicodeRanges): New dynamically loaded function.
11133 (w32_initialize): Try to load it.
11134 (x_get_font_repertory): Use it if available.
11135 (w32_encode_char): Add shortcut for unicode output.
11136
11137 * w32fns.c (w32_load_system_font): Default charset to -1.
11138 (x_to_w32_charset): Match all fonts for unicode.
11139 (w32_to_x_charset): New parameter matching. Don't return partial
11140 or wildcard charsets.
11141 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
11142 (w32_codepage_for_font): Return CP_UNICODE for unicode.
11143 (w32_to_x_font): Match charset to real charset.
11144 (enum_font_cb2): Always list unicode versions.
11145
11146 * makefile.w32-in (temacs): Increase EMHEAP.
11147
111482008-02-01 Jason Rumney <jasonr@gnu.org>
11149
11150 * w32term.c (w32_encode_char): New charset parameter.
11151 font_info.encoding becomes encoding_type.
11152 (x_get_font_repertory): New function. Warning: stub only!
11153 (x_new_font): Return quickly if font already set.
11154 (x_new_fontset): fontsetname parameter is Lisp_Object.
11155 Use new fs_query_fontset. Try new_fontset_from_font_name.
11156 Use fontset_name for return value.
11157
11158 * w32term.h: Declare x_get_font_repertory.
11159
11160 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
11161 place of find_charset_in_text. Use encode_coding_object in place
11162 of encode_coding.
11163 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
11164 decode_coding.
11165
11166 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
11167 of x_new_fontset.
11168 (w32_load_system_font): Initialize charset as unicode.
11169 font_info.encoding becomes encoding_type.
11170 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
11171 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
11172 (syms_of_w32fns): Set get_font_repertory_func.
11173
11174 * w32console.c: Include character.h. Use terminal_encode_buffer
11175 from term.c.
11176 (write_glyphs): Use new version of encode_terminal_code. Use
11177 encode_coding_object in place of encode_coding.
11178
11179 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
11180 encoding becomes encoding_type.
11181
11182 * term.c (terminal_encode_buffer): Make externally visible.
11183
11184 * makefile.w32-in: Add character.h dependancies.
11185 (character.o, chartab.o): New targets.
11186
111872008-02-01 Kenichi Handa <handa@m17n.org>
11188
11189 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
11190 CODING_ID_EOL_TYPE.
11191
111922008-02-01 Andreas Schwab <schwab@suse.de>
11193
11194 * coding.c (produce_chars): Revert last change.
11195
111962008-02-01 Kenichi Handa <handa@m17n.org>
11197
11198 * charset.h (charset_unicode): Extern it.
11199
11200 * charset.c (string_xstring_p): Check by (C >= 0x100).
11201 (find_charsets_in_text): Change format of the arc CHARSETS. New
11202 arg MULTIBYTE.
11203 (Ffind_charset_region, Ffind_charset_string): Adjust for the
11204 change of find_charsets_in_text.
11205 (Fsplit_char): Fix doc. Never return unknown.
11206
11207 * chartab.c (char_table_translate): Use CHARACTERP, not INTEGERP.
11208
11209 * coding.c (Fdefine_coding_system_alias): Update
11210 Vcoding_system_list.
11211
11212 * fontset.c (load_font_get_repertory): Pay attention to the case
11213 that ENCODING of a font is specified by a char-table.
11214
11215 * xterm.c (x_get_font_repertory): Handle the case that the
11216 encoding of font is other than Unicode.
11217
112182008-02-01 Kenichi Handa <handa@m17n.org>
11219
11220 * term.c (encode_terminal_code): Don't handle glyph-table. Check
11221 if a character is encodable by the terminal coding system. If
11222 not, produces proper number of `?'s. Update
11223 terminal_encode_buffer and terminal_encode_buf_size if necessary.
11224 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
11225
112262008-02-01 Kenichi Handa <handa@m17n.org>
11227
11228 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
11229 variables.
11230 (encode_terminal_code): Change argument. Encode multiple
11231 characters at once. Store the result of encoding in
11232 terminal_encode_buffer.
11233 (write_glyphs, insert_glyphs): Adjust for the change of
11234 encode_terminal_code.
11235 (term_init): Initialize terminal_encode_buffer and
11236 terminal_encode_buf_size.
11237
11238 * coding.c (consume_chars): If coding->src_object is nil, don't
11239 check annotation.
11240
112412008-02-01 Kenichi Handa <handa@m17n.org>
11242
11243 * character.c (char_string): Use ASCII_CHAR_P instead of
11244 SINGLE_BYTE_CHAR_P.
11245
112462008-02-01 Kenichi Handa <handa@m17n.org>
11247
11248 * xdisp.c (handle_auto_composed_prop): Check if the last
11249 characters of auto-composed region is newly composed with the
11250 following characters.
11251 (handle_composition_prop): Fix checking of point being inside
11252 composition.
11253
112542008-02-01 Kenichi Handa <handa@m17n.org>
11255
11256 * fns.c (concat): Don't change multibyteness of the result by
11257 concatenating an 8-bit character.
11258
11259 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
11260 multibyteness of the result when newelt is an 8-bit character.
11261
112622008-02-01 Dave Love <fx@gnu.org>
11263
11264 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
11265 EMACS_INT.
11266
11267 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
11268
11269 * xfaces.c (face_numeric_value): Declare dim size_t.
11270 (Finternal_lisp_face_equal_p): Remove unused f.
11271
11272 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
11273 (MATRIX_ROW): Remove unused vars.
11274 (draw_glyphs, x_insert_glyphs, fast_find_position)
11275 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
11276 byte/char counts.
11277
11278 * regex.c (regex_compile): Remove unused var.
11279
11280 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
11281
11282 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
11283 (Faccessible_keymaps, where_is_internal): Remove unused vars.
11284
11285 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
11286
11287 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
11288
11289 * fileio.c (Fwrite_region): Remove unused var.
11290
11291 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
11292 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
11293
11294 * composite.c (Fremove_list_of_text_properties): Declare.
11295
11296 * coding.c (inhibit_pre_post_conversion): Remove (unused).
11297 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
11298 (coding_inherit_eol_type): Remove unused attrs.
11299 (detect_coding): Cast arg of detect_eol.
11300
11301 * charset.c (syms_of_charset): Remove unused var p.
11302 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
11303 byte/char counts.
11304
11305 * casetab.c (set_case_table): Remove unused var.
11306
11307 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
11308 unused vars.
11309
113102008-02-01 Dave Love <fx@gnu.org>
11311
11312 * xterm.c (x_bitmap_mask): Declare.
11313
113142008-02-01 Dave Love <fx@gnu.org>
11315
11316 * xterm.c (x_term_init): Fix type error.
11317
11318 * lisp.h: Add Funibyte_char_to_multibyte.
11319
11320 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
11321 (Fset_coding_system_priority): Doc fix.
11322
11323 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
11324
11325 * indent.c (check_composition): Make start and end EMACS_INT.
11326
11327 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
11328
11329 * xdisp.c (handle_composition_prop, check_point_in_composition):
11330 Make buffer positions EMACS_INT.
11331
11332 * composite.c (find_composition, run_composition_function)
11333 (update_compositions, Ffind_composition_internal): Make buffer
11334 positions EMACS_INT.
11335
11336 * composite.h (find_composition, update_compositions): Make
11337 position args EMACS_INT.
11338
11339 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
11340
11341 * intervals.c (get_property_and_range):
11342 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
11343
11344 * unexalpha.c: Don't include varargs.h.
11345
113462008-02-01 Dave Love <fx@gnu.org>
11347
11348 * coding.h (ENCODE_UTF_8): New.
11349
11350 * Makefile.in (gtkutil.o): Depend on coding.h.
11351
11352 * coding.c (Fset_coding_system_priority): Doc fix.
11353
113542008-02-01 Kenichi Handa <handa@m17n.org>
11355
11356 * fileio.c (Finsert_file_contents): Call setup_coding_system in
11357 the case of auto saving.
11358
113592008-02-01 Andreas Schwab <schwab@suse.de>
11360
11361 * chartab.c (map_char_table, map_char_table_for_charset): Protect
11362 `range' from GC.
11363
113642008-02-01 Kenichi Handa <handa@m17n.org>
11365
11366 * coding.c (decode_coding_sjis): Check bytes more rigidly.
11367
113682008-02-01 Kenichi Handa <handa@m17n.org>
11369
11370 * fileio.c (choose_write_coding_system): Return a decided coding system.
11371 (Fwrite_region): Set Vlast_coding_system_used to the return value
11372 of choose_write_coding_system.
11373
113742008-02-01 Kenichi Handa <handa@m17n.org>
11375
11376 * charset.c (Fset_charset_priority): Pay attention to duplicated
11377 arguments.
11378
11379 * coding.c (QCcategory): New variable.
11380 (syms_of_coding): Defsym it. Set all elements of
11381 Vcoding_category_table and their symbol values.
11382 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
11383 coding-category-XXX, and coding-category-list.
11384 (Fdefine_coding_system_internal): Add category in the plist.
11385
113862008-02-01 Kenichi Handa <handa@m17n.org>
11387
11388 * callproc.c (Fcall_process): Handle carryover correctly.
11389
11390 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
11391 (raw_text_coding_system): Check NILP (coding_system).
11392 (coding_inherit_eol_type): Check NILP (coding_system) and
11393 NILP (parent).
11394 (consume_chars): Fix for the case of raw-text.
11395
11396 * process.c (read_process_output): Handle carryover correctly.
11397
113982008-02-01 Dave Love <fx@gnu.org>
11399
11400 * regex.c (re_search_2): Fix last change.
11401
114022008-02-01 Kenichi Handa <handa@m17n.org>
11403
11404 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
11405 target_multibyte. Even in a unibyte case, return a converted
11406 multibyte char.
11407 (GET_CHAR_AFTER): New macro.
11408 (PATFETCH): Translate via multibyte char.
11409 (HANDLE_UNIBYTE_RANGE): Delete this macro.
11410 (SETUP_MULTIBYTE_RANGE): New macro.
11411 (regex_compile): Setup compiled code so that its multibyteness
11412 matches that of a target. Fix the handling of "[X-YZ]" using
11413 SETUP_MULTIBYTE_RANGE.
11414 (analyse_first) <charset>: For filling fastmap for all multibyte
11415 characters, don't check by BASE_LEADING_CODE_P.
11416 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
11417 the same as RE_MULTIBYTE_P (bufp) now.
11418 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
11419 (TARGET_CHAR_AND_LENGTH): Delete this macro.
11420 (TRANSLATE_VIA_MULTIBYTE): New macro.
11421 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
11422 It is the same as RE_MULTIBYTE_P (bufp) now.
11423 <exactn>: Translate via multibyte.
11424 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
11425 translate it.
11426 <charset, charset_not>: Fetch a character by
11427 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
11428 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
11429 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
11430 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
11431 by GET_CHAR_AFTER.
11432 (bcmp_translate): Likewise.
11433
11434 * search.c (compile_pattern): Check the member target_multibyte,
11435 not the member multibyte of buf.
11436
11437 * lread.c (read1): While reading a string, set force_singlebyte
11438 and force_multibyte correctly.
11439
11440 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
11441 up of unibyte_to_multibyte_table.
11442
114432008-02-01 Kenichi Handa <handa@m17n.org>
11444
11445 * coding.c (setup_coding_system): If coding has
11446 post-read-conversion or pre-write-conversion, set
11447 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
11448 respectively.
11449 (decode_coding_gap): Run post-read-conversion if any.
11450
11451 * fileio.c (Finsert_file_contents): Even if we read into a
11452 unibyte buffer, check if we must decode the result or not.
11453
114542008-02-01 Kenichi Handa <handa@m17n.org>
11455
11456 * coding.c (make_conversion_work_buffer): Change the work buffer
11457 name to the same one as that of Emacs 21.
11458
114592008-02-01 Kenichi Handa <handa@m17n.org>
11460
11461 * coding.h (make_conversion_work_buffer): Adjust prototype.
11462 (code_conversion_restore): Don't extern it.
11463
11464 * coding.c (detected_mask): Delete unused variable.
11465 (decode_coding_iso_2022): Pay attention to the byte sequence of
11466 CTEXT extended segment, and retain those bytes as is.
11467 (decode_coding_ccl): Delete unused variable `valids'.
11468 (setup_coding_system): Delete unused variable `category'.
11469 (consume_chars): Delete unused variable `category'. Make it work
11470 for non-multibyte case.
11471 (make_conversion_work_buffer): Change argument.
11472 (saved_coding): Delete unused variable.
11473 (code_conversion_restore): Don't check saved_coding->destination.
11474 (code_conversion_save): New function.
11475 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
11476 instead of record_unwind_protect.
11477 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
11478 (detect_coding_system): Delete unused variable `mask'.
11479 (Fdefine_coding_system_internal): Delete unused variable id.
11480
11481 * fileio.c (kill_workbuf_unwind): New function.
11482 (Finsert_file_contents): On replacing, call
11483 make_conversion_work_buffer with correct args, and call
11484 record_unwind_protect with the first arg kill_workbuf_unwind.
11485
11486 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
11487
114882008-02-01 Kenichi Handa <handa@m17n.org>
11489
11490 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
11491 (fontset_add): Fix for the case that TO is less than TO1.
11492 (Ffontset_info): Don't use fallback fontset on checking the
11493 default fontset.
11494 (dump_fontset): New function for debugging.
11495
11496 * coding.c (Fdefine_coding_system_internal): Fix for the case that
11497 coding_type is Qcharset.
11498
114992008-02-01 Kenichi Handa <handa@m17n.org>
11500
11501 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
11502 (map_char_table): Don't inherit the value from the parent on
11503 initializing VAL. Adjust for the above change.
11504
115052008-02-01 Kenichi Handa <handa@m17n.org>
11506
11507 * coding.c (Qsignature, Qendian): Delete these variables.
11508 (syms_of_coding): Don't initialize them.
11509 (CATEGORY_MASK_UTF_16_AUTO): New macro.
11510 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
11511 detect_info->found.
11512 (decode_coding_utf_16): Don't detect BOM here.
11513 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
11514 is NOT utf_16_without_bom.
11515 (setup_coding_system): For a coding system of type utf-16, check
11516 if the attribute :endian is Qbig or not (not nil or not), and set
11517 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
11518 (detect_coding): If coding type is utf-16 and BOM detection is
11519 required, detect it.
11520 (Fdefine_coding_system_internal): For a coding system of type
11521 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
11522
115232008-02-01 Kenichi Handa <handa@m17n.org>
11524
11525 * coding.c (coding_set_source): Fix for the case that the current
11526 buffer is different from coding->src_object.
11527 (decode_coding_object): Don't use the conversion work buffer if
11528 DST_OBJECT is a buffer.
11529
115302008-02-01 Dave Love <fx@gnu.org>
11531
11532 * lread.c (read_emacs_mule_char) [len==2]: Index
11533 emacs_mule_charset correctly.
11534
115352008-02-01 Dave Love <fx@gnu.org>
11536
11537 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
11538 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
11539 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
11540 treated specially.)
11541 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
11542 (detected_mask): Remove Big5 bits.
11543
115442008-02-01 Kenichi Handa <handa@m17n.org>
11545
11546 The following changes are to make the font rescaling facility
11547 compatible with Emacs 21.
11548
11549 * xfaces.c (Vface_font_rescale_alist): Rename from
11550 Vface_resizing_fonts.
11551 (struct font_name): Rename member resizing_ratio to rescale_ratio.
11552 (font_rescale_ratio): Rename from font_resizing_ratio.
11553 (split_font_name): Set font->rescale_ratio.
11554 (better_font_p): Pay attention to font->rescale_ratio.
11555 (build_scalable_font_name): Likewise. Change RESX, and RESY
11556 fields.
11557 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
11558
115592008-02-01 Kenichi Handa <handa@m17n.org>
11560
11561 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
11562 (Qutf_16_le): Remove these variables.
11563 (syms_of_coding): Don't DEFSYM them.
11564 (decode_coding_utf_16): Fix handling of BOM.
11565 (encode_coding_utf_16): Fix handling of BOM.
11566
115672008-02-01 Kenichi Handa <handa@m17n.org>
11568
11569 * fileio.c (Finsert_file_contents): On replacing, before decoding
11570 the file into the work buffer, set point of the work buffer to the end.
11571
115722008-02-01 Dave Love <fx@gnu.org>
11573
11574 * coding.c (Fcheck_coding_systems_region): Fix type errors.
11575
115762008-02-01 Dave Love <fx@gnu.org>
11577
11578 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
11579 and fix C types.
11580
115812008-02-01 Kenichi Handa <handa@m17n.org>
11582
11583 * xdisp.c (SKIP_GLYPHS): New macro.
11584 (set_cursor_from_row): Pay attention to string display properties.
11585
11586 * category.c (copy_category_entry): Fix for the case that RANGE
11587 is an integer.
11588
11589 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
11590
11591 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
11592
115932008-02-01 Kenichi Handa <handa@m17n.org>
11594
11595 * charset.c (Fcharset_id_internal): New function.
11596 (syms_of_charset): Defsubr it.
11597
11598 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
11599 with the last arg charset_list acquired from coding.
11600 (Fdefine_coding_system_internal): For ccl-based coding system, fix
11601 the attribute coding_attr_ccl_valids.
11602
11603 * coding.h (enum define_coding_ccl_arg_index): Set the first
11604 member coding_arg_ccl_decoder to coding_arg_max.
11605
11606 * ccl.h (ccl_driver): Adjust prototype.
11607
11608 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
11609 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
60612c8f 11610 of DECODE_CHAR, ENCODE_CHAR, CHAR_CHARSET.
aac0c6e3
MR
11611 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
11612 last arg Qnil.
11613
116142008-02-01 Kenichi Handa <handa@m17n.org>
11615
11616 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
11617 call encode_char.
11618
11619 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
11620
116212008-02-01 Dave Love <fx@gnu.org>
11622
11623 * composite.c (syms_of_composite): Make composition_hash_table weak.
11624
116252008-02-01 Kenichi Handa <handa@m17n.org>
11626
11627 * dispextern.h (check_face_attributes, generate_ascii_font_name)
11628 (font_name_registry): Don't extern them.
11629 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
11630
11631 * fontset.h (Qfontset): Don't extern it.
11632 (new_fontset_from_font_name): Extern it.
11633
11634 * fontset.c: Give 8 extra slots to fontset objects.
11635 (Qfontset_info): New variable.
11636 (syms_of_fontset): Defsym it.
11637 (FONTSET_FALLBACK): New macro.
11638 (fontset_face): Try also the default fontset.
11639 (make_fontset): Realize a fallback fontset from the default fontset.
11640 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
11641 using split_font_name_into_vector and build_font_name_from_vector.
11642 (Fset_fontset_font): Access the elements of font_spec by enum
11643 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
11644 name by using split_font_name_into_vector.
11645 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
11646 generate a proper font name from the fontset name. Update
11647 Vfontset_alias_alist.
11648 (n_auto_fontsets): New variable.
11649 (new_fontset_from_font_name): New function.
11650 (Ffont_info): Store the information about fonts generated from the
11651 default fontset in the first extra slot of the returned char-table.
11652
11653 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
11654 (font_name_registry): Delete function.
11655 (split_font_name_into_vector): New function.
11656 (build_font_name_from_vector): New function.
11657 (font_list): The argument REGISTRY is now a list of registry names.
11658 (choose_face_font): If we are choosing an ASCII font, and ATTRS
11659 specifies an explicit font name, return the name as is. Make a
11660 list of registy names.
11661
11662 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
11663 of x_new_fontset.
11664 (Fx_create_frame): Don't call x_new_fontset here. Just use
11665 x_list_fonts to check the existence of fonts.
11666
11667 * xterm.h (x_new_fontset): Adjust prototype.
11668
11669 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
11670 string. Use new_fontset_from_font_name to create a fontset from a
11671 font name.
11672
116732008-02-01 Kenichi Handa <handa@m17n.org>
11674
11675 * syntax.c (Vfind_word_boundary_function_table): New name for
11676 Vnext_word_boundary_function_table.
11677 (find-word-boundary-function-table): New name for
11678 next-word-boundary-function-table.
11679
116802008-02-01 Dave Love <fx@gnu.org>
11681
11682 * Makefile.in: Fix some dependencies.
11683
11684 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
11685 set it to nil before returning.
11686
11687 * composite.c (update_compositions): Fix type error.
11688
11689 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
11690
116912008-02-01 Kenichi Handa <handa@m17n.org>
11692
11693 * xterm.c (x_new_font): Optimize for the case that the font is
11694 already set for the frame.
11695
116962008-02-01 Kenichi Handa <handa@m17n.org>
11697
11698 * chartab.c (char_table_ascii): Check if the char table contents
11699 is sub-char-table or not.
11700 (char_table_set, char_table_set_range): Fix argument to
11701 char_table_ascii.
11702
11703 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
11704 (detect_coding_utf_8, detect_coding_utf_16)
11705 (detect_coding_emacs_mule, detect_coding_iso_2022)
11706 (detect_coding_sjis, detect_coding_big5)
11707 (detect_coding_ccl, detect_coding_charset): Change argument MASK
11708 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
11709 sequence is valid in this coding system. Change callers.
11710 (MAX_ANNOTATION_LENGTH): New macro.
11711 (ADD_ANNOTATION_DATA): New macro.
11712 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
11713 ADD_ANNOTATION_DATA. Change the format of annotation data.
11714 (ADD_CHARSET_DATA): New macro.
11715 (emacs_mule_char): New argument ID. Change callers.
11716 (decode_coding_emacs_mule, decode_coding_iso_2022)
11717 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
11718 Produce charset annotation data in coding->charbuf.
11719 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
11720 to charset annotation data in coding->charbuf.
11721 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
11722 coding->common_flags if the coding system is iso-2022 based and
11723 uses designation.
11724 (produce_composition): Adjust for the new annotation data format.
11725 (produce_charset): New function.
11726 (produce_annotation): Handle charset annotation.
11727 (handle_composition_annotation, handle_charset_annotation): New
11728 functions.
11729 (consume_chars): Handle charset annotation. Utilize the above two
11730 functions.
11731 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
11732 buffer, get the deleted text as a string and set
11733 coding->src_object to that string.
11734 (detect_coding, detect_coding_system): Use the new struct
11735 coding_detection_info.
11736
11737 * coding.h (struct coding_detection_info): New structure.
11738 (struct coding_system): Adjust prototype of the member `detector'.
11739 (CODING_ANNOTATE_CHARSET_MASK): New macro.
11740
117412008-02-01 Kenichi Handa <handa@m17n.org>
11742
11743 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
11744
117452008-02-01 Dave Love <fx@gnu.org>
11746
11747 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
11748 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
11749 to new local and nullify apropos_accumulate before returning.
11750 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
11751
117522008-02-01 Kenichi Handa <handa@m17n.org>
11753
11754 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
11755 correctly.
e3eea1fc 11756
aac0c6e3
MR
117572008-02-01 Dave Love <fx@gnu.org>
11758
11759 * fns.c (Flanginfo): Call synchronize_system_time_locale.
11760
117612008-02-01 Kenichi Handa <handa@m17n.org>
11762
11763 The following changes are to make character composition happen
11764 automatically on displaying.
11765
11766 * Makefile.in (lisp, shortlisp): Add composite.elc.
11767
11768 * composite.h (Qauto_composed, Vauto_composition_function)
11769 (Qauto_composition_function): Extern them.
11770
11771 * composite.c (Vcomposition_function_table)
11772 (Qcomposition_function_table): Delete variables.
11773 (Qauto_composed, Vauto_composition_function)
11774 (Qauto_composition_function): New variables.
11775 (run_composition_function): Don't call
11776 compose-chars-after-function.
11777 (update_compositions): Clear `auto-composed' text property.
11778 (compose_chars_in_text): Delete this function.
11779 (syms_of_composite): Staticpro Qauto_composed and
11780 Qauto_composition_function. Declare Vauto_composition_function as
11781 a Lisp variable.
11782
11783 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
11784
11785 * xdisp.c (it_props): Add an entry for Qauto_composed.
11786 (handle_auto_composed_prop): New function.
11787
11788 * xselect.c (selection_data_to_lisp_data): Don't call
11789 compose_chars_in_text.
11790
117912008-02-01 Dave Love <fx@gnu.org>
11792
11793 * keyboard.c (read_char): Modify checking around use of
11794 Vkeyboard_translate_table.
11795
11796 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
11797 and fix C types.
11798
117992008-02-01 Kenichi Handa <handa@m17n.org>
11800
11801 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
11802 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
11803 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
11804 the case that the last byte is '\r' correctly.
11805 (decode_coding): Flush out the unprocessed data correctly.
11806 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
11807
118082008-02-01 Dave Love <fx@gnu.org>
11809
11810 * xterm.c (XTread_socket): Fix changes for defined keysyms.
11811 Add XK_ISO... case.
11812 (xaw_scroll_callback): Revert last change.
11813
118142008-02-01 Kenichi Handa <handa@m17n.org>
11815
11816 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
11817
118182008-02-01 Kenichi Handa <handa@m17n.org>
11819
11820 * xfaces.c (Vface_resizing_fonts): New variable.
11821 (struct font_name): New member `resizing_ratio'.
11822 (font_resizing_ratio): New function.
11823 (split_font_name): Set font->resizing_ratio.
11824 (better_font_p): Pay attention to font->resizing_ratio.
11825 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
11826 RESX, and RESY fields.
11827 (try_alternative_families): Try scalable fonts if
11828 Vscalable_fonts_allowed is not Qt.
11829 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
11830
118312008-02-01 Dave Love <fx@gnu.org>
11832
11833 * xterm.c (xaw_scroll_callback): Cast correctly.
11834
118352008-02-01 Dave Love <fx@gnu.org>
11836
11837 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
11838 (lispy_kana_keys): Comment out.
11839 (make_lispy_event) [XK_kana_A]: Comment out.
11840
11841 * xterm.c (xaw_scroll_callback): Cast call_data.
11842 (XTread_socket): Deal with ASCII keysyms.
11843 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
11844
118452008-02-01 Dave Love <fx@gnu.org>
11846
11847 * xterm.c (Vx_keysym_table): New.
11848 (syms_of_xterm): Initialize it.
11849 (XTread_socket): Use it.
11850 From head: Eliminate incorrect optimization that tried to avoid
11851 decoding the output of X*LookupString.
11852 (x_get_font_repertory): Delete charset declaration.
11853
118542008-02-01 Kenichi Handa <handa@m17n.org>
11855
11856 * coding.c (detect_coding_charset): If only ASCII bytes are found,
11857 return 0.
11858 (Fdefine_coding_system_internal): Setup
11859 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
11860
118612008-02-01 Dave Love <fx@gnu.org>
11862
11863 * coding.c (Fcheck_coding_system): Doc fix.
11864
11865 * editfns.c (Finsert_byte): Return a proper value.
11866
118672008-02-01 Kenichi Handa <handa@m17n.org>
11868
11869 * coding.c (decode_coding): Fix args to translate_chars. Pay
11870 attention to Vstandard_translation_table_for_decode.
11871 (encode_coding): Fix args to translate_chars. Pay attention to
11872 Vstandard_translation_table_for_encode.
11873
11874 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
11875 SINGLE_BYTE_CHAR_P.
11876
11877 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
11878 not by SINGLE_BYTE_CHAR_P.
11879
11880 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
11881 SINGLE_BYTE_CHAR_P.
11882
11883 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
11884 SINGLE_BYTE_CHAR_P.
11885
11886 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
11887 by SINGLE_BYTE_CHAR_P.
11888
11889 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
11890 SINGLE_BYTE_CHAR_P.
11891
118922008-02-01 Dave Love <fx@gnu.org>
11893
11894 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
11895
118962008-02-01 Dave Love <fx@gnu.org>
11897
11898 * fns.c (Flanginfo): Fix typo.
11899
11900 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
11901
119022008-02-01 Kenichi Handa <handa@m17n.org>
11903
11904 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
11905 (detect_coding_emacs_mule, detect_coding_iso_2022)
11906 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
11907 incomplete byte sequence. Don't update *mask when correctly detected.
11908 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
11909 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
11910 (detect_coding, detect_coding_system): Adjust for the changes above.
11911
119122008-02-01 Kenichi Handa <handa@m17n.org>
11913
11914 * character.c (char_string): Rename from
11915 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
11916 (string_char): Rename from string_char.
11917
11918 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
11919 if C is greater than MAX_3_BYTE_CHAR.
11920 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
11921 string_char instead of string_char_with_unification.
11922
119232008-02-01 Dave Love <fx@gnu.org>
11924
11925 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
11926
119272008-02-01 Kenichi Handa <handa@m17n.org>
11928
11929 * keymap.c (push_key_description): Pay attention to force_multibyte.
11930
11931 * regex.c (re_search_2): Fix for the case of unibyte buffer.
11932
119332008-02-01 Dave Love <fx@gnu.org>
11934
11935 * charset.c (define_charset_internal): Rename `supprementary'.
11936
11937 * Makefile.in (lisp, shortlisp): Remove latin-N.
11938
119392008-02-01 Dave Love <fx@gnu.org>
11940
11941 * xfns.c (x_window, x_window): Use use_xim.
11942
11943 * xterm.c (use_xim): Initialize.
11944 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
11945 (x_term_init): Maybe set use_xim.
11946
11947 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
11948
119492008-02-01 Kenichi Handa <handa@m17n.org>
11950
11951 * search.c (search_buffer): Fix case-fold-search of multibyte
11952 characters.
11953 (boyer_moore): Rename the last argument to char_high_bits.
11954
119552008-02-01 Kenichi Handa <handa@m17n.org>
11956
11957 * xdisp.c (display_string): Fix for the case of zero width glyph.
11958
11959 * xfns.c (x_set_font): Change the error message of the case that
11960 x_new_fontset returns Qt.
11961
11962 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
11963 (Finternal_set_lisp_face_attribute): Use signal_error for the
11964 error of invalid fontset.
11965
11966 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
11967 fontset, return Qt.
11968
119692008-02-01 Dave Love <fx@gnu.org>
11970
11971 * unexelf.c (unexec): Make .got handling not SGI-specific.
11972
11973 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
11974
11975 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
11976
11977 * keyboard.c (read_key_sequence): Fix type error.
11978
11979 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
11980 type error.
11981
11982 * fontset.c (fontset_add): Return Lisp_Object.
11983
119842008-02-01 Dave Love <fx@gnu.org>
11985
11986 * charset.h (charset_ordered_list_tick): Declare extern.
11987
119882008-02-01 Kenichi Handa <handa@m17n.org>
11989
11990 The following changes (and some of 2008-02-01 changes of mine) are
11991 for handling syntax, category, and case conversion for unibyte
11992 characters by converting them to multibyte on the fly. With these
11993 changes, we don't have to setup syntax and case tables for unibyte
11994 characters in each language environment.
11995
11996 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
11997 multibyte if necessary.
11998
11999 * bytecode.c (Fbyte_code): Likewise.
12000
12001 * character.h (LEADING_CODE_LATIN_1_MIN)
12002 (LEADING_CODE_LATIN_1_MAX): New macros.
12003 (unibyte_to_multibyte_table): Extern it.
12004 (unibyte_char_to_multibyte): New macro.
12005 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
12006 (CHAR_LEADING_CODE): New macro.
12007 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
12008
12009 * character.c (unibyte_to_multibyte_table): New variable.
12010 (unibyte_char_to_multibyte): Move to character.h and define as macro.
12011 (multibyte_char_to_unibyte): If C is an eight-bit character,
12012 convert it to the corresponding byte value.
12013
12014 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
12015 not 1, signals an error. Update the elements of
12016 unibyte_to_multibyte_table.
12017 (init_charset_once): Initialize unibyte_to_multibyte_table.
12018 (syms_of_charset): Define the charset `iso-8859-1'.
12019
12020 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
12021 as is without converting it to unibyte. In a unibyte buffer,
12022 convert C to multibyte before checking the syntax.
12023
12024 * lisp.h (unibyte_char_to_multibyte): Delete extern.
12025
12026 * minibuf.c (Fminibuffer_complete_word): Use the macro
12027 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
12028
12029 * regex.h (struct re_pattern_buffer): New member target_multibyte.
12030
12031 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
12032 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
12033 that is zero, convert an eight-bit char to multibyte.
12034 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
12035 non-emacs case.
12036 (PATFETCH): Convert an eight-bit char to multibyte.
12037 (HANDLE_UNIBYTE_RANGE): New macro.
12038 (regex_compile): Setup the compiled pattern for multibyte chars
12039 even if the given regex string is unibyte. Use PATFETCH_RAW
12040 instead of PATFETCH in many places. To handle `charset'
12041 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
12042 only for ASCII chars.
12043 (analyse_first) <exactn>: Simplify because the compiled pattern
12044 is multibyte.
12045 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
12046 <charset>: Use CHAR_LEADING_CODE to get leading codes.
12047 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
12048 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
12049 multibyte always 1.
12050 (re_search_2): In emacs, set the locale variable multibyte to 1,
12051 otherwise to 0. New local variable target_multibyte. Check it
12052 to decide the multibyteness of STR1 and STR2. If
12053 target_multibyte is zero, convert unibyte chars to multibyte
12054 before translating and checking fastmap.
12055 (TARGET_CHAR_AND_LENGTH): New macro.
12056 (re_match_2_internal): In emacs, set the locale variable multibyte
12057 to 1, otherwise to 0. New local variable target_multibyte. Check
12058 it to decide the multibyteness of STR1 and STR2. Use
12059 TARGET_CHAR_AND_LENGTH to fetch a character from D.
12060 <charset, charset_not>: If multibyte is nonzero, check fastmap
12061 only for ASCII chars. Call bcmp_translate with
12062 target_multibyte, not with multibyte.
12063 <begline>: Declare the local variable C as `unsigned'.
12064 (bcmp_translate): Change the last arg name to target_multibyte.
12065
12066 * search.c (compile_pattern_1): Don't adjust the multibyteness of
12067 the regexp pattern and the matching target. Set cp->buf.multibyte
12068 to the multibyteness of the regexp pattern. Set
12069 cp->but.target_multibyte to the multibyteness of the matching target.
12070 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
12071 FETCH_STRING_CHAR_ADVANCE.
12072 (Freplace_match): Convert unibyte chars to multibyte.
12073
12074 * syntax.c (char_quoted, back_comment, scan_words)
12075 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
12076 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
12077 unibyte chars to multibyte.
12078 (skip_chars): Delete the arg syntaxp, and move the code for
12079 handling syntaxes to skip_syntaxes. Change callers.
12080 Fix the case that the multibyteness of STRING and the current
12081 buffer doesn't match.
12082 (skip_syntaxes): New function.
12083 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
12084 SINGLE_BYTE_CHAR_P.
12085
120862008-02-01 Kenichi Handa <handa@m17n.org>
12087
12088 * xfaces.c (QCfontset): New variable.
12089 (LFACE_FONTSET): New macro.
12090 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
12091 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
12092 (Finternal_set_lisp_face_attribute)
12093 (Finternal_get_lisp_face_attribute): Handle QCfontset.
12094 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
12095 check also LFACE_FONTSET_INDEX.
12096 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
12097 attrs[LFACE_FONT_INDEX].
12098 (syms_of_xfaces): Intern and staticpro QCfontset.
12099
12100 * dispextern.h (enum lface_attribute_index): New member
12101 LFACE_FONTSET_INDEX.
12102
12103 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
12104
121052008-02-01 Kenichi Handa <handa@m17n.org>
12106
12107 * coding.c (coding_set_destination): Fix coding->destination for
12108 the case converting a region.
12109 (encode_coding_utf_8): Encode eight-bit chars as single byte.
12110 (encode_coding_object): Fix coding->dst_pos and
12111 coding->dst_pos_byte for the case converting a region.
12112
12113 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
12114
12115 * character.h (BYTE8_STRING): New macro.
12116
12117 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
12118
121192008-02-01 Kenichi Handa <handa@m17n.org>
12120
12121 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
12122 characters by octal form.
12123
12124 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
12125
12126 * buffer.h (_fetch_multibyte_char_len): Delete extern.
12127 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
12128 _fetch_multibyte_char_len.
12129 (FETCH_CHAR_AS_MULTIBYTE): New macro.
12130
12131 * casetab.c (set_canon, set_identity, shuffle): Simplify.
12132
12133 * casefiddle.c (casify_object): Simplify. Handle the case that
12134 the case conversion change the byte length.
12135 (casify_region): Likewise.
12136
12137 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
12138
12139 * character.c (_fetch_multibyte_char_len): Delete this variable.
12140 (syms_of_character): Setup Vprintable_chars.
12141
12142 * editfns.c (Fchar_equal): Fix for the unibyte case.
12143 (Finsert_byte): New function.
12144 (syms_of_editfns): Defsubr it.
12145
12146 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
12147 of direct code 0x3ffff.
12148
12149 * search.c (Freplace_match): Fix for the unibyte case.
12150
121512008-02-01 Kenichi Handa <handa@m17n.org>
12152
12153 * lread.c (safe_to_load_p): Fix the logic.
12154
12155 * syntax.c (scan_words): Don't treat characters belonging to
12156 different scripts as constituting a word.
12157
12158 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12159
12160 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
12161
12162 * emacs.c (main): In the case of --unibyte, instead of aborting on
12163 finding non-empty buffer, make it unibyte.
12164
121652008-02-01 Kenichi Handa <handa@m17n.org>
12166
12167 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
12168 to create a fontset.
12169
121702008-02-01 Dave Love <fx@gnu.org>
12171
12172 * character.c (Funibyte_char_to_multibyte): Doc fix.
12173
12174 * xfns.c [HAVE_STDLIB_H]: Fix last change.
12175
121762008-02-01 Kenichi Handa <handa@m17n.org>
12177
12178 * fontset.c (fontset_add): Make the type `int'.
12179 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
12180
12181 * character.c (unibyte_char_to_multibyte)
12182 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
12183 charset_unibyte, not charset_primary.
12184
12185 * charset.h (charset_unibyte): Extern it instead of charset_primary.
12186
12187 * charset.c (charset_unibyte): Rename from charset_primary.
12188 (Funibyte_charset): Rename from Fprimary_charset.
12189 (Fset_unibyte_charset): Rename from Fset_primary_charset.
12190 (syms_of_charset): Adjust for the above changes.
12191
12192 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
12193 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
12194 it->multibyte_p is zero.
12195
12196 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
12197 Delete extern.
12198
121992008-02-01 Kenichi Handa <handa@m17n.org>
12200
12201 * coding.c (Fdefine_coding_system_internal): Fix category setting
12202 for a coding system of type iso-2022.
12203
122042008-02-01 Kenichi Handa <handa@m17n.org>
12205
12206 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
12207
122082008-02-01 Kenichi Handa <handa@m17n.org>
12209
12210 * syntax.c (Vnext_word_boundary_function_table): New variable.
12211 (next-word-boundary-function-table): Declare it as a Lisp variable
12212 in syms_of_syntax.
12213 (scan_words): Call functions in Vnext_word_boundary_function_table
12214 if any.
12215
12216 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
12217
12218 * fontset.c (fs_load_font): If fontp->charset is not negative,
12219 return fontp without setting its members.
12220
122212008-02-01 Dave Love <fx@gnu.org>
12222
12223 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
12224
12225 * m/sparc.h (HAVE_ALLOCA): Delete.
12226
12227 * s/irix6-5.h: Don't include strings.h.
12228 (bcopy, bzero, bcmp): Don't undef.
12229
12230 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
12231
12232 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
12233 (TIOCSIGSEND): Don't test IRIX6.
12234 (bcopy, bzero, bcmp): Define conditionally.
12235
122362008-02-01 Kenichi Handa <handa@m17n.org>
12237
12238 * buffer.c (Qas, Qmake, Qto): New variables.
12239 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
12240 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
12241
12242 * callproc.c (Fcall_process): Don't call insert_1_both directly if
12243 we are inserting a process output into a multibyte buffer.
12244
12245 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
12246 multibyte_char_to_unibyte.
12247
12248 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
12249 by the primary charset, make it eight-bit char.
12250 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
12251
12252 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
12253 (charset_8_bit__control, charset_8_bit_graphic)
12254 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
12255 (define_charset_internal): New function.
12256 (syms_of_charset): Call define_charset_internal for pre-defined
12257 charsets.
12258
12259 * charset.h (charset_8_bit): Extern it.
12260
12261 * coding.c (make_conversion_work_buffer): Adjust for the change
12262 of Fset_buffer_multibyte.
12263 (encode_coding_raw_text): Increment p0 in the loop.
12264
12265 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
12266
12267 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
12268 for the change of Fset_buffer_multibyte.
12269
12270 * fns.c (Fstring_to_multibyte): New function.
12271 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
12272
122732008-02-01 Dave Love <fx@gnu.org>
12274
12275 * xfns.c (x_put_x_image): Declare args.
12276
12277 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
12278 (try_font_list): Declare an arg.
12279
12280 * xdisp.c (message2_nolog, set_message): Declare an arg.
12281
12282 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
12283
12284 * syntax.c (scan_sexps_forward): Declare an arg.
12285
12286 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
12287 Declare an arg.
12288
12289 * lisp.h (Fnew_fontset): Declare.
12290
12291 * keymap.c (push_key_description): Call CHARACTERP correctly.
12292
12293 * fontset.c (fontset_add): Declare args. Call make_number correctly.
12294 (face_for_char): Delete unused vars.
12295 (Fset_fontset_font): Doc fix. Delete unused vars.
12296
12297 * doc.c (Fsubstitute_command_keys): Delete unused vars.
12298
12299 * composite.c (update_compositions): Declare arg.
12300
12301 * cm.c (calccost, cmgoto): Declare args.
12302
12303 * charset.c: Remove `emacs' conditional. Doc fixes.
12304 (map_char_table_for_charset): Declare.
12305
12306 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
12307
12308 * ccl.c: Remove `emacs' conditional.
12309
123102008-02-01 Kenichi Handa <handa@m17n.org>
12311
12312 The following changes are to allow specifying multiple font
12313 patterns for a character range (specified by script or charset).
12314
12315 * Makefile.in (abbrev.o): Depend on syntax.h.
12316 (xfaces.o): Depend on charset.h.
12317
12318 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
12319 SINGLE_BYTE_CHAR_P.
12320
12321 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
12322
12323 * character.h (Vchar_script_table): Extern it.
12324
12325 * character.c (Vscript_alist): Delete.
12326 (Vchar_script_table, Qchar_script_table): New variable.
12327 (syms_of_character): Declare Vchar_script_table as a lisp variable
12328 and initialize it.
12329
12330 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
12331 have property char-table-extra-slots, make no extra slot.
12332
12333 * dispextern.h (struct face): Delete member `charset'.
12334 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
12335 SINGLE_BYTE_CHAR_P.
12336 (choose_face_font, lookup_non_ascii_face, font_name_registry):
12337 Add prototypes.
12338 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
12339 (generate_ascii_font_name): Rename from generate_ascii_font.
12340
12341 * fontset.h (get_font_repertory_func): New prototype.
12342 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
12343 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
12344
12345 * fontset.c (Qprepend, Qappend): New variables.
12346 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
12347 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
12348 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
12349 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
12350 (fontset_ref_and_range, fontset_add, reorder_font_vector)
12351 (load_font_get_repertory): New functions.
12352 (fontset_set): Delete.
12353 (fontset_face): New arg FACE. Return face ID, not face.
12354 Complete re-write to handle new fontset structure. Change caller.
12355 (free_face_fontset): Use ASET istead of AREF (X) = Y.
12356 (face_for_char): Don't call lookup_face.
12357 (make_fontset_for_ascii_face): New arg FACE.
12358 (fs_load_font): New arg CHARSET_ID. Don't check
12359 Vfont_encoding_alist here.
12360 (find_font_encoding): New function.
12361 (list_fontsets): Use STRINGP, not ! NILP.
12362 (accumulate_script_ranges): New function.
12363 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
12364 re-written to handle new fontset structure.
12365 (Ffontset_font): Return a copy of element.
12366 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
12367 docstring of font-encoding-alist.
12368
12369 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
12370 (Fset_fotset_font): Fix arguments to 5.
12371
12372 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
12373
12374 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
12375 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12376 (highlight_trailing_whitespace): Adjust for the change of
12377 lookup_named_face.
12378
12379 * xfaces.c: Include charset.h.
12380 (load_face_font): Delete argument C. Change caller.
12381 (generate_ascii_font_name): Rename from generate_ascii_font.
12382 (font_name_registry): New function.
12383 (cache_face): Store ascii faces before non-ascii faces in buckets.
12384 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
12385 Lookup only ascii faces.
12386 (lookup_non_ascii_face): New function.
12387 (lookup_named_face): Delete argument C. Change caller.
12388 (lookup_derived_face): Delete argument C. Change caller.
12389 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
12390 a string, just call font_list with it.
12391 (choose_face_font): Delete arguments FACE and C. New arg
12392 FONT_SPEC. Change caller.
12393 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
12394 Change caller.
12395 (realize_non_ascii_face): New function.
12396 (realize_x_face): Call load_face_font here.
12397 (realize_tty_face): Delete argument C. Change caller.
12398 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
12399 get a face ID.
12400 (dump_realized_face): Don't print charset of FACE.
12401
12402 * xfns.c (x_set_font): Always call x_new_fontset and
12403 store_frame_parameter.
12404 (Fx_create_frame): Call x_new_fontset, not x_new_font.
12405 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
12406
12407 * xterm.h (x_get_font_repertory): Extern it.
12408
12409 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
12410 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
12411 it->multibyte_p is zero.
12412 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12413 (x_new_fontset): If FONTSETNAME doesn't match any existing
12414 fontsets, create a new one.
12415 (x_get_font_repertory): New function.
12416
124172008-02-01 Kenichi Handa <handa@m17n.org>
12418
12419 * coding.c (Ffind_coding_systems_region_internal): Detect an
12420 ASCII only string correctly.
12421
12422 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
12423 version is 0.
12424
124252008-02-01 Kenichi Handa <handa@m17n.org>
12426
12427 * lread.c: Include "coding.h".
12428 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
12429 (load_each_byte, unread_char): New variables.
12430 (readchar_backlog): Delete.
12431 (readchar): Return a character unless load_each_byte is nonzero.
12432 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
12433 cons. If unread_char is not -1, simply return it.
12434 (unreadchar): Handle the case that readcharfun is
12435 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
12436 (read_multibyte): Delete.
12437 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
12438 (read_emacs_mule_char): New functions.
12439 (Fload): Even if the file doesn't have the extension ".elc", if
12440 safe_to_load_p returns a positive version number, assume that the
12441 file contains bytecompiled code. If the version is less than 22,
12442 load the file while decoding multibyte sequences by emacs-mule.
12443 (readevalloop): Don't use readchar_backlog.
12444 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
12445 (Fread_from_string): Pay attention to the case that STREAM is a cons.
12446 (read_escape): Delete the arg BYTEREP.
12447 (read1): Set load_each_byte to 1 temporarily while handling
12448 #@NUMBER. Don't call read_multibyte.
12449 (read_vector): Call Fread with a cons. If readcharfun is
12450 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
12451 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
12452 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
12453 and Qload_force_doc_strings.
12454
124552008-02-01 Kenichi Handa <handa@m17n.org>
12456
12457 * xdisp.c (face_before_or_after_it_pos): Call
12458 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
12459
124602008-02-01 Kenichi Handa <handa@m17n.org>
12461
12462 * character.h (TRAILING_CODE_P): New macro.
12463 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
12464 (string_char_with_unification): Fix prototype.
12465 (Vscript_alist): Extern it.
12466
12467 * character.c (Vscript_alist): New variable.
12468 (string_char_with_unification, str_as_unibyte)
12469 (string_escape_byte8): Add `const' to local variables.
12470 (syms_of_character): Declare script-alist as a Lisp variable.
12471
12472 * charset.h (Vcharset_ordered_list): Extern it.
12473 (charset_ordered_list_tick): Extern it.
12474 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
12475 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
12476 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
12477 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
12478 (Funify_charset): Adjust for the change of Funify_charset.
12479
12480 * charset.c (charset_ordered_list_tick): New variable.
12481 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
12482 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
12483 deunify intead of unify a charset.
12484 (string_xstring_p): Add `const' to local variables.
12485 (find_charsets_in_text): Add `const' to arguments and local variables.
12486 (encode_char): Adjust for the change of Funify_charset. Fix
12487 detecting of invalid code.
12488 (Fset_charset_priority): Increment charset_ordered_list_tick.
12489 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
12490 and TO_CODE.
12491
12492 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
12493 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
12494 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
12495 (decode_coding_ccl, consume_chars)
12496 (Ffind_coding_systems_region_internal)
12497 (Fcheck_coding_systems_region): Add `const' to local variables.
12498
12499 * print.c (print_object): Use octal form for printing the
12500 contents of a bool vector.
12501
125022008-02-01 Dave Love <fx@gnu.org>
12503
12504 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
12505 <version == 20>: Refuse to load.
12506
125072008-02-01 Dave Love <fx@gnu.org>
12508
12509 * fns.c: Move coding.h.
12510 (Qcodeset, Qdays, Qmonths): New.
12511 (concat): Use CHARACTERP instead of INTEGERP.
12512 (Flocale_codeset): Delete.
12513 (Flanginfo): New function.
12514 (syms_of_fns): Change accordingly.
12515
12516 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
12517
125182008-02-01 Dave Love <fx@gnu.org>
12519
12520 * casetab.c (init_casetab_once, init_casetab_once): Fix
12521 CHAR_TABLE_SET call.
12522
12523 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
12524
12525 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
12526
12527 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
12528 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
12529 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
12530
12531 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
12532
12533 * coding.c (ENCODE_DESIGNATION, decode_eol)
12534 (make_conversion_work_buffer, code_conversion_restore)
12535 (Fdefine_coding_system_internal): Convert Lisp types.
12536 (code_conversion_restore): Use EQ, not ==.
12537 (Fencode_coding_string): Fix code_convert_string call.
12538
12539 * coding.h (code_convert_region): Fix prototype.
12540
12541 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
12542
12543 * fontset.c (fontset_ref, fontset_set, fs_load_font)
12544 (Ffontset_info): Convert Lisp types.
12545
12546 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
12547
12548 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
12549
12550 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
12551
12552 * chartab.c: Include "...h", not <...h> in some cases.
12553
12554 * callproc.c (Fcall_process): Remove unused variables.
12555
125562008-02-01 Dave Love <fx@gnu.org>
12557
12558 * coding.c (Fset_coding_system_priority): Allow null arg list.
12559
125602008-02-01 Dave Love <fx@gnu.org>
12561
12562 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
12563 (Fself_insert_and_exit): Use CHARACTERP.
12564
12565 * callproc.c (Fcall_process): Remove unused vars.
12566
12567 * xterm.c (XTread_socket): Add extra dead keysyms.
12568
12569 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
12570
12571 * dispextern.h: Remove prototypes for redraw_frame,
12572 redraw_garbaged_frames.
12573
12574 * cmds.c (Fself_insert_command): Use CHARACTERP.
12575
12576 * chartab.c (make_sub_char_table): Remove unused var.
12577 (Fset_char_table_default, Fmap_char_table): Doc fix.
12578
12579 * keymap.c (access_keymap): Remove generic char code.
12580 (push_key_description): Use CHARACTERP.
12581
125822008-02-01 Dave Love <fx@gnu.org>
12583
12584 * charset.c: Doc fixes.
12585 (Funify_charset): Extra checking.
12586
125872008-02-01 Dave Love <fx@gnu.org>
12588
12589 * lread.c: Remove some unused variables.
12590 (safe_to_load_p): If safe, return the magic number version byte.
12591 (Fload): Maybe use load-with-code-conversion.
12592
125932008-02-01 Kenichi Handa <handa@m17n.org>
12594
12595 * category.c (Fmodify_category_entry): Don't modify the contents
12596 of category_set for characters out of the range. Avoid
12597 unnecessary modification.
12598
12599 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
12600 Vchar_unify_table. The default value of the table is now nil.
12601
12602 * character.c (syms_of_character): Setup Vchar_width_table for
12603 eight-bit-control and raw-byte chars.
12604
12605 * charset.h (enum define_charset_arg_index): Delete
12606 charset_arg_parents and add charset_arg_subset and
12607 charset_arg_superset.
12608 (enum charset_attr_index): Delete charset_parents and add
12609 charset_subset and charset_superset.
12610 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
12611 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
12612 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
12613 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
12614 (CHARSET_SUPERSET): New macros.
12615 (charset_work): Extern it.
12616 (ENCODE_CHAR): Use charset_work.
12617 (CHAR_CHARSET_P): Adjust for the change of encoder format.
12618 (map_charset_chars): Extern it.
12619
12620 * charset.c (load_charset_map): Set the default value of encoder
12621 and deunifier char-tables to nil.
12622 (map_charset_chars): Change argument. Change callers. Use
12623 map_char_table_for_charset instead of map_char_table.
12624 (Fmap_charset_chars): New optional args from_code and to_code.
12625 (Fdefine_charset_internal): Adjust for the change of
12626 `define-charset' (:parents -> :subset or :superset).
12627 (charset_work): New variable.
12628 (encode_char, syms_of_charset): Adjust for the change of
12629 Fdefine_charset_internal.
12630 (Ffind_charset_string): Setup the vector `charsets' correctly.
12631
12632 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
12633 the previous change.
12634 (char_table_ref_and_range): Adjust for the above change.
12635 (map_sub_char_table_for_charset): New function.
12636 (map_char_table_for_charset): New function.
12637
12638 * keymap.c (describe_vector): Handle a char-table directly here.
12639 (describe_char_table): Delete.
12640
12641 * lisp.h (map_charset_chars): Delete.
12642
126432008-02-01 Dave Love <fx@gnu.org>
12644
12645 * fns.c (count_combining): Comment out (unused).
12646 (Flocale_codeset): New.
12647 (syms_of_fns): Defsubr it.
12648
12649 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
12650 (size_t): Remove.
12651
126522008-02-01 Dave Love <fx@gnu.org>
12653
12654 * Makefile.in (chartab.o): Depend on charset.h.
12655
126562008-02-01 Kenichi Handa <handa@m17n.org>
12657
12658 * character.c (syms_of_character): Set the default value of
12659 Vprintable_chars to Qnil.
12660
126612008-02-01 Dave Love <fx@gnu.org>
12662
12663 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
12664
126652008-02-01 Kenichi Handa <handa@m17n.org>
12666
12667 * charset.c (load_charset_map): Handle the case that from < to
12668 correctly.
12669
12670 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
12671 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
12672 Pay attention to raw-8-bit chars.
12673
126742008-02-01 Kenichi Handa <handa@m17n.org>
12675
12676 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
12677 It is not bytecompiled now.
12678
12679 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
12680 (charset_jisx0208): New variables.
12681 (Fdefine_charset_internal): Setup them if appropriate.
12682 (init_charset_once): Initialize them to -1.
12683
12684 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
12685 (charset_jisx0208): Extern them.
12686
12687 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
12688 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
12689 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
12690 (setup_iso_safe_charsets): Fix arguments to Fassq.
12691 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
12692 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
12693 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
12694 (encode_coding_iso_2022): Change the 1st arg to
12695 ENCODE_ISO_CHARACTER to a variable.
12696
126972008-02-01 Kenichi Handa <handa@m17n.org>
12698
12699 * charset.h (enum define_charset_arg_index): New enums
12700 charset_arg_min_code and charset_arg_max_code.
12701 (struct charset): New member char_index_offset.
12702
12703 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
12704 Take charset->char_index_offset into account.
12705 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
12706 args[charset_arg_max_code]. Setup charset.char_index_offset.
12707 (syms_of_charset): Fix args to Fdefine_charset_internal.
12708
127092008-02-01 Dave Love <fx@gnu.org>
12710
12711 * coding.c (decode_coding_utf_8): Reject overlong sequences.
12712
127132008-02-01 Dave Love <fx@gnu.org>
12714
12715 * coding.c: Doc fixes.
12716 (Fcoding_system_aliases): Fix return value.
12717 (Qmac): Remove (duplicated) definition.
12718
127192008-02-01 Dave Love <fx@gnu.org>
12720
12721 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
12722 functions.
12723
12724 * character.c (Fstring): Doc fix.
12725
12726 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
12727
12728 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
12729 ids.
12730 (font-encoding-alist): Doc fix.
12731
127322008-02-01 Dave Love <fx@gnu.org>
12733
12734 * term.c (costs_set): Declare static, non-initialized for pcc.
12735 (encode_terminal_code): Remove unused var.
12736
12737 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
12738 for K&R.
12739
12740 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
12741
12742 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
12743 (suffixes): Move out of make_subsidiaries for K&R.
12744
12745 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
12746
12747 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
12748
127492008-02-01 Dave Love <fx@gnu.org>
12750
12751 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
12752
12753 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
12754
127552008-02-01 Yong Lu <lyongu@asia-infonet.com>
12756
12757 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
12758
12759 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
12760
127612008-02-01 Kenichi Handa <handa@m17n.org>
12762
12763 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
12764 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
12765
127662008-02-01 Kenichi Handa <handa@m17n.org>
12767
12768 * coding.c (decode_coding_charset): Adjust for the change of
12769 Fdefine_coding_system_internal.
12770 (Fdefine_coding_system_internal): For a coding system of
12771 `charset' type, store a list of charset IDs in
12772 `charset_attr_charset_valids' element of coding attributes.
12773
127742008-02-01 Kenichi Handa <handa@m17n.org>
12775
12776 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
12777 (emacs_mule_char): New arg src. Delete arg `composition'. Change
12778 caller. Handle 2-byte and 3-byte charsets correctly.
12779 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
12780 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
12781 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
12782 (DECODE_EMACS_MULE_21_COMPOSITION): Call
12783 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
12784 sequence.
12785 (decode_coding_emacs_mule): Handle composition correctly. Rewind
12786 `src' and `consumed_chars' correctly before calling emacs_mule_char.
12787 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
12788 and alt&rule composition.
12789 (decode_coding_iso_2022): Handle composition correctly.
12790 (init_coding_once): Setup emacs_mule_bytes for private charsets.
12791
12792 * charset.c (Fdefine_charset_internal): Fix bug for the case of
12793 re-defining a charset. If the charset has :emacs-mule-id, setup
12794 emacs_mule_bytes.
12795 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
12796
127972008-02-01 Kenichi Handa <handa@m17n.org>
12798
12799 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
12800 (encode_coding_big5, encode_coding_charset): If coding requires safe
12801 encoding, produce a character specified by
12802 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
12803
128042008-02-01 Dave Love <fx@gnu.org>
12805
12806 * xterm.c (XSetIMValues): Declare.
12807
12808 * process.c: Conditionally include sys/wait.h, pty.h.
12809
12810 * print.c (print_object): Fix print format for 64-bit systems.
12811
12812 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
12813
12814 * buffer.c (emacs_strerror): Declare.
12815
12816 * fontset.c (Fclear_face_cache): Declare.
12817 (accumulate_font_info): Comment-out (unused).
12818 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
12819 variables.
12820
12821 * character.h (string_escape_byte8): Declare.
12822
12823 * charset.c (load_charset_map, load_charset_map_from_file): Remove
12824 unused vars.
12825 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
12826 (Fmap_charset_chars): Doc fix.
12827
12828 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
12829 (Fset_coding_system_priority, Fset_coding_system_priority)
12830 (Fdefine_coding_system_internal): Doc fix.
12831
128322008-02-01 Dave Love <fx@gnu.org>
12833
12834 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
12835
128362008-02-01 Kenichi Handa <handa@m17n.org>
12837
12838 * character.c (string_escape_byte8): Make multibyte string with
12839 correct size.
12840
12841 * charset.c (Fmake_char): Delete unnecessary code.
12842
128432008-02-01 Kenichi Handa <handa@m17n.org>
12844
12845 * xfns.c (x_encode_text): Allocate coding.destination here, and
12846 call encode_coding_object with dst_object Qnil.
12847
12848 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
12849 multibyte form correctly.
12850
12851 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
12852 against Vfont_encoding_alist.
12853
12854 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
12855 handling of charset list.
12856 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
12857 (decode_coding_object): Move point to coding->dst_pos before
12858 calling post-read-conversion function.
12859 (encode_coding_object): Give correct arguments to
12860 pre-write-conversion. Ignore the return value of
12861 pre-write-conversion function. Pay attention to the case that
12862 pre-write-conversion changes the current buffer. If dst_object is
12863 Qt, even if coding->src_bytes is zero, allocate at least one byte
12864 to coding->destination.
12865
12866 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
12867
12868 * charset.c (Fmake_char): Make it more backward compatible.
12869 (Fmap_charset_chars): Fix docstring.
12870
128712008-02-01 Dave Love <fx@gnu.org>
12872
12873 * coding.c: Doc fixes.
12874 (Fdefine_coding_system_alias): Use names, not symbols, in
12875 coding-system-alist.
12876
128772008-02-01 Kenichi Handa <handa@m17n.org>
12878
12879 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
12880 of calling free_realized_face.
12881
128822008-02-01 Yong Lu <lyongu@asia-infonet.com>
12883
12884 * charset.c (read_hex): Don't treat SPC as a comment starter.
12885 (decode_char): If CODE_POINT_TO_INDEX returns -1, always return -1.
12886 (Fdecode_char): Fix typo.
12887
128882008-02-01 Kenichi Handa <handa@m17n.org>
12889
12890 * charset.h (struct charset): New member `code_space_mask'.
12891
12892 * coding.c (coding_set_source): Delete the local variable beg_byte.
12893 (encode_coding_charset, Fdefine_coding_system_internal):
12894 Delete the local variable charset.
12895 (Fdefine_coding_system_internal): Setup
12896 attrs[coding_attr_charset_valids] correctly.
12897
12898 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
12899 member to check if CODE is valid or not.
12900 (Fdefine_charset_internal): Initialize `code_space_mask' member.
12901 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
12902 is within the range of charset->min_code and carset->max_code.
12903
129042008-02-01 Dave Love <fx@gnu.org>
12905
12906 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
12907
12908 * dispextern.h (generate_ascii_font): Fix return type.
12909
12910 * xfaces.c (generate_ascii_font): Fix arg declaration.
12911
12912 * coding.c (coding_inherit_eol_type)
12913 (Fset_terminal_coding_system_internal)
12914 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
12915
129162008-02-01 Kenichi Handa <handa@m17n.org>
12917
12918 * coding.c (decode_coding_charset, encode_coding_charset): Handle
12919 multiple charsets correctly.
12920
129212008-02-01 Kenichi Handa <handa@m17n.org>
12922
12923 * search.c (boyer_moore): Fix handling of multibyte character
12924 translation.
12925
12926 * xdisp.c (display_mode_element): When the variable `elt' is
12927 changed, update `this' and `lisp_string'.
12928
129292008-02-01 Kenichi Handa <handa@m17n.org>
12930
12931 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
12932
12933 * callproc.c (Fcall_process): Be sure to give the current buffer
12934 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
12935
12936 * charset.c (struct charset_map_entries): New struct.
12937 (load_charset_map): Rename from parse_charset_map. New args
12938 entries and n_entries. Change caller.
12939 (load_charset_map_from_file): Rename from load_charset_map.
12940 Change caller. New arg control_flag. Call load_charset_map at
12941 the tail.
12942 (load_charset_map_from_vector): New function.
12943 (Fdefine_charset_internal): Setup charset.compact_codes_p.
12944 (encode_char): If the charset is compact, change a character index
12945 to a code point.
12946
12947 * coding.c (coding_alloc_by_making_gap): Check the case that the
12948 source and destination are the same correctly.
12949 (decode_coding_raw_text): Set coding->consumed_char and
12950 coding->consumed to 0.
12951 (produce_chars): If coding->chars_at_source is nonzero, update
12952 coding->consumed_char and coding->consumed before calling
12953 alloc_destination.
12954 (Fdefine_coding_system_alias): Register ALIAS in
12955 Vcoding_system_alist.
12956 (syms_of_coding): Define `no-conversion' coding system at the tail.
12957
12958 * fileio.c (Finsert_file_contents): Set coding_system instead of
12959 val. If the current buffer is multibyte, always call
12960 decode_coding_gap.
12961
12962 * xfaces.c (try_font_list): Give higher priority to fontset's
12963 family than face's family.
12964
129652008-02-01 Kenichi Handa <handa@m17n.org>
12966
12967 * callproc.c (Fcall_process): Be sure to give the current buffer
12968 to decode_coding_c_string.
12969
12970 * xfaces.c (try_font_list): Give a family specified in a fontset
12971 higher priority than a family specified in a face.
12972
129732008-02-01 Kenichi Handa <handa@m17n.org>
12974
12975 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
12976 Fix arguments to insert_from_buffer.
12977
12978 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
12979
129802008-02-01 Kenichi Handa <handa@m17n.org>
12981
12982 * coding.c (produce_chars): Set the variable `multibytep' correctly.
12983 (decode_coding_gap): Set coding->dst_multibyte correctly.
12984
129852008-02-01 Kenichi Handa <handa@m17n.org>
12986
12987 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
12988 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
12989 (encode_coding_utf_16): Substitute coding->default_char for
12990 non-Unicode characters.
12991 (decode_coding): Don't call record_insert here.
12992 (setup_coding_system): Initialize `surrogate' of
12993 coding->spec.utf_16 to 0.
12994 (EMIT_ONE_BYTE): Fix for multibyte case.
12995
12996 * insdel.c (insert_from_gap): Call record_insert.
12997
129982008-02-01 Kenichi Handa <handa@m17n.org>
12999
13000 * casefiddle.c (casify_region): Fix multibyte case.
13001
13002 * character.c (c_string_width): Add return type `int'.
13003 (char_string_with_unification): Delete arg ADVANCED.
13004
13005 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
13006 (CHAR_STRING): Adjust for the change of char_string_with_unification.
13007 (CHAR_STRING_ADVANCE): Make it do-while statement.
13008
13009 * chartab.c (sub_char_table_set_range): Optimize for the case
13010 DEPTH == 3. Add workaround code for a GCC optimization bug.
13011
13012 * charset.c (parse_charset_map): Remove an unused variable.
13013
13014 * coding.c: Delete unused variables.
13015
13016 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
13017 earlier. If inserted is zero and the coding system doesn't
13018 require flushing, don't call decode_coding_gap.
13019
13020 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
13021
130222008-02-01 Kenichi Handa <handa@m17n.org>
13023
13024 The following changes are for using Unicode as an internal
13025 character model, and use UTF-8 format for buffer/string
13026 representation.
13027
13028 * .gdbinit (xchartable): Adjust for the change of char table structure.
13029 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
13030
13031 * Makefile.in (obj): Add character.o and chartab.o.
13032 (lisp, shortlisp): Remove utf-8.elc.
13033 (*.o): For many files, change dependency on charset.h to
13034 character.h, and add dependency on character.h.
13035 (character.o, chartab.o): New targets.
13036
13037 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
13038 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
13039 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
13040 of "charset.h".
13041
13042 * dired.c, filelock.c: Include "character.h".
13043
13044 * alloc.c: Include "character.h" instead of "charset.h".
13045 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
13046 (syms_of_alloc): Remove defsubr for Smake_char_table.
13047
13048 * buffer.c: Include "character.h" instead of "charset.h", don't
13049 include "coding.h".
13050 (Fset_buffer_multibyte): Adjust for UTF-8.
13051
13052 * buffer.h: EXFUN Fbuffer_live_p.
13053
13054 * callproc.c: Include "character.h" instead of "charset.h".
13055 (Fcall_process): Big change for the new code-conversion APIs.
13056
13057 * casetab.c: Include "character.h" instead of "charset.h".
13058 (set_canon, set_identity, shuffle): Adjust for the new
13059 map_char_table spec.
13060 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
13061 accessing the char table structure.
13062
13063 * chartab.c: New file that implements char table.
13064
13065 * category.c: Include "character.h".
13066 (copy_category_entry): New function.
13067 (copy_category_table): Call map_char_table and copy_category_entry.
13068 (Fmake_category_table): Initialize all top-level slots.
13069 (char_category_set): New function.
13070 (modify_lower_category_set): Delete.
13071 (Fmodify_category_entry): Call char_table_ref_and_range.
13072
13073 * category.h (CATEGORY_SET): Just call char_category_set.
13074
13075 * ccl.c: Include "character.h".
13076 (Qccl, Qcclp): New variables.
13077 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
13078 it's less than 256.
13079 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
13080 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
13081 and DST type.
13082 (ccl_driver): Change types of argument, adjust code accordingly.
13083 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
13084 ccl_driver.
13085 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
13086
13087 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
13088 New members src_multibyte, dst_multibyte, consumed, and produced.
13089 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
13090 (CODING_SPEC_CCL_PROGRAM): New macro.
13091 (ccl_driver): Update prototype.
13092 (Qccl, Qcclp, Fccl_program_p): Extern them.
13093 (CHECK_CCL_PROGRAM): New macro.
13094
13095 * character.c, character.h, chartab.c: New files.
13096
13097 * charset.c: Mostly re-written. Move character and multibyte sequence
13098 handling codes to character.c.
13099
13100 * charset.h: Mostly re-written. Move character and multibyte sequence
13101 handling codes to character.h.
13102
13103 * coding.c, coding.h: Mostly re-written.
13104
13105 * composite.c: Include "character.h" instead of "charset.h".
13106 (CHAR_WIDTH): Move to character.h.
13107 (HASH_KEY, HASH_VALUE): Delete.
13108
13109 * composite.h (enum composition_method): Change order of enumeration
13110 symbols.
13111
13112 * data.c: Include "character.h" instead of "charset.h".
13113 (Faref): Call CHAR_TABLE_REF for a char table.
13114 (Faset): Call CHAR_TABLE_SET for a char table.
13115
13116 * dispextern.h (free_realized_face, check_face_attribytes)
13117 (generate_ascii_font): Extern them.
13118 (free_realized_multibyte_face): Delete extern.
13119
13120 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
13121 table structure.
13122
13123 * editfns.c: Include "character.h" instead of "charset.h".
13124 (Fchar_to_string): Always call CHAR_STRING.
13125
13126 * emacs.c (main): Call init_charset_once, init_charset,
13127 syms_of_chartab, and syms_of_character.
13128
13129 * fileio.c: Include "character.h" instead of "charset.h".
13130 (Finsert_file_contents): Big change for the new code-conversion API.
13131 (choose_write_coding_system, Fwrite_region): Likewise.
13132 (build_annotations_2): Delete.
13133 (e_write): Big change for the new code-conversion API.
13134
13135 * fns.c: Include "character.h" instead of "charset.h".
13136 (copy_sub_char_table): Move to chartab.c.
13137 (Fcopy_sequence): Call copy_char_table for a char table.
13138 (concat): Delete codes calling count_multibyte.
13139 (string_char_to_byte, string_byte_to_char): Adjust for the new
13140 multibyte form.
13141 (internal_equal): Adjust for the change of char table structure.
13142 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
13143 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
13144 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
13145 (char_table_translate, optimize_sub_char_table)
13146 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
13147 chartab.c.
13148 (char_table_ref_and_index): Delete.
13149 (HASH_KEY, HASH_VALUE): Move to lisp.h.
13150 (Fmd5): Call preferred_coding_system instead of accessing
13151 Vcoding_category_list. Adjust for the new code-conversion API.
13152 (syms_of_fns): Move defsubr for char table related functions to
13153 chartab.c.
13154
13155 * fontset.c: Mostly re-written.
13156
13157 * fontset.h (struct font_info): Change type of the member encoding_type.
13158 (enum FONT_SPEC_INDEX): New enum.
13159 (fontset_font_pattern, fs_load_font): Update prototype.
13160 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
13161
13162 * indent.c: Include "character.h" instead of "charset.h".
13163 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
13164
13165 * insdel.c: Include "character.h" instead of "charset.h".
13166 (copy_text): Don't refer to Vnonascii_translation_table.
13167 (insert_from_gap): New function.
13168
13169 * keyboard.c: Include "character.h" instead of "charset.h".
13170 (command_loop_1): Never call direct_output_forward_char before
13171 a non-ASCII character.
13172 (read_char): If Vkeyboard_translate_table is a char table, always
13173 translate a character.
13174
13175 * keymap.c: Include "character.h".
13176 (store_in_keymap): Handle the case that IDX is a cons.
13177 (Fdefine_key): Handle the case that KEY is a cons and the car part
13178 is also a cons (range).
13179 (push_key_description): Adjust for the new character code.
13180 (describe_vector): Call describe_char_table for a char table.
13181 (describe_char_table): New function.
13182
13183 * keymap.h (describe_char_table): Extern it.
13184
13185 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
13186 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
13187 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
13188 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
13189 Delete.
13190 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
13191 structure.
13192 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
13193 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
13194 (CHARTAB_SIZE_BITS_3): New macros.
13195 (chartab_size): Extern it.
13196 (struct Lisp_Char_Table): Re-design.
13197 (struct Lisp_Sub_Char_Table): New structure.
13198 (HASH_KEY, HASH_VALUE): Move from fns.c.
13199 (CHARACTERBITS): Define as 22.
13200 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
13201 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
13202 (GC_SUB_CHAR_TABLE_P): New macro.
13203 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
13204 (code_convert_string_norecord): Deleted extern.
13205 (init_character_once, syms_of_character, init_charset)
13206 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
13207
13208 * lread.c: Include "character.h".
13209 (read_multibyte): New arg NBYTES.
13210 (read_escape): Change the meaning of returned *BYTEREP.
13211 (to_multibyte): Delete.
13212 (read1): Adjust the handling of char table and string.
13213
13214 * print.c: Include "character.h" instead of "charset.h".
13215 (print_string): Convert 8-bit raw bytes to octal form by
13216 string_escape_byte8.
13217 (print_object): Adjust for the new multibyte form. Print 8-bit
13218 raw bytes always in octal form. Handle sub char table correctly.
13219
13220 * process.c: Include "character.h" instead of "charset.h".
13221 (read_process_output, send_process): Adjust for the new
13222 code-conversion API.
13223
13224 * puresize.h (BASE_PURESIZE): Increase.
13225
13226 * regex.c: Include "character.h" instead of "charset.h".
13227 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
13228 (regex_compile): Accept a range whose starting and ending
13229 character have different leading bytes.
13230 (analyse_first): Adjust for the above change.
13231
13232 * search.c: Include "character.h" instead of "charset.h".
13233 (search_buffer, boyer_moore): Adjust for the new multibyte form.
13234 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
13235
13236 * syntax.c: Include "character.h" instead of "charset.h".
13237 (syntax_parent_lookup): Delete.
13238 (Fmodify_syntax_entry): Accept a cons as CHAR.
13239 (skip_chars): Adjust for the new multibyte form.
13240 (init_syntax_once): Call char_table_set_range instead of directly
13241 accessing the structure of a char table.
13242
13243 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
13244 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
13245 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
13246 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
13247
13248 * term.c: Include "buffer.h" and "character.h".
13249 (encode_terminal_code, write_glyphs): Adjust for the new
13250 code-conversion API.
13251 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
13252
13253 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
13254
13255 * xdisp.c: Include "character.h".
13256 (get_next_display_element): Adjust for the new multibyte form.
13257 (disp_char_vector): Adjust for the new char table structure.
13258 (decode_mode_spec_coding): Adjust for the new structure of
13259 coding system.
13260 (decode_mode_spec): Adjust for the new code-conversion API.
13261
13262 * xfaces.c: Include "character.h" instead of "charset.h".
13263 (load_face_font): Adjust for the change of choose_face_font and
13264 FS_LOAD_FONT.
13265 (generate_ascii_font): New function.
13266 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
13267 (set_font_frame_param): Adjust for the change of choose_face_font.
13268 (free_realized_face): Make it public.
13269 (free_realized_faces_for_fontset): Rename from
13270 free_realized_multibyte_face. Free also faces realized for ASCII.
13271 (choose_face_font): Change arguments. Adjust for the change of
13272 fontset_font_pattern and FS_LOAD_FONT.
13273
13274 * xfns.c: Include "character.h".
13275 (x_encode_text): Adjust for the new code-conversion API.
13276
13277 * xselect.c: Don't include "charset.h".
13278 (selection_data_to_lisp_data): Adjust for the new code conversion API.
13279
13280 * xterm.c: Include "character.h".
13281 (x_encode_char): New argument CHARSET. Change caller.
13282 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
13283 Call ENCODE_CHAR instead of SPLIT_CHAR.
13284 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
13285 CHAR_WIDTH instead of CHARSET_WIDTH.
13286 (XTread_socket): Adjust for the new code-conversion API.
13287 (x_new_font): Adjust for the change of FS_LOAD_FONT.
13288 (x_load_font): Adjust for the change of struct font.
13289
132902008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
13291
13292 * xfaces.c (face_at_buffer_position): Remove unused vars.
13293
132942008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
13295
13296 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
13297 Fix overflow checking.
13298
132992008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
13300
13301 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
13302 Cancel previous change.
13303
133042008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
13305
13306 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
13307 ccl->eight_bit_control. Fix check for buffer overflow.
13308 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
13309 (ccl_driver): Initialize extra_bytes to 0.
13310
133112008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
13312
13313 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
13314 return it ORed with ctrl_modifier.
13315
133162008-01-29 Miles Bader <miles@gnu.org>
13317
13318 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
13319
133202008-01-28 Jason Rumney <jasonr@gnu.org>
13321
13322 * w32.c (stat): Don't double check for networked drive.
13323
133242008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
13325
13326 * window.c (run_window_configuration_change_hook): New function.
13327 Code extracted from set_window_buffer. Set the selected frame.
13328 (set_window_buffer): Use it.
13329 * window.h (run_window_configuration_change_hook): Declare.
13330 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
13331
13332 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
13333
133342008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
13335
13336 * Makefile.in: Remove references to unused macros.
13337
133382008-01-26 Eli Zaretskii <eliz@gnu.org>
13339
13340 * w32.c (g_b_init_get_sid_sub_authority)
13341 (g_b_init_get_sid_sub_authority_count): New static variables.
13342 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
13343 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
13344 (init_user_info): Use them to retrieve uid and gid.
13345 Use 500/513, the Windows defaults, as Administrator's uid/gid.
13346 (fstat): Use pw_uid and pw_gid from the_passwd structure for
13347 st_uid and st_gid of the file.
13348
133492008-01-26 Jason Rumney <jasonr@gnu.org>
13350
13351 * w32.c (logon_network_drive): New function.
13352 (stat): Use it.
13353
133542008-01-26 Chong Yidong <cyd@stupidchicken.com>
13355
13356 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
13357 invisible text covered with an ellipsis.
13358
133592008-01-25 Richard Stallman <rms@gnu.org>
13360
13361 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
13362 jump back to beginning. Move some other initializations after that.
13363 (Qwindow_text_change_functions, Vwindow_text_change_functions):
13364 New variables.
13365 (syms_of_xdisp): Init them.
13366
13367 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
13368
13369 * buffer.c (reset_buffer_local_variables):
13370 Implement `permanent-local-hook'.
13371 (Qpermanent_local_hook): New variable.
13372 (syms_of_buffer): Init and staticpro it.
13373
133742008-01-25 Michael Albinus <michael.albinus@gmx.de>
13375
13376 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
13377
133782008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
13379
13380 * fns.c (Fclrhash): Return TABLE.
13381
133822008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13383
13384 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
13385 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
13386 is set even without positional changes.
13387 (x_scroll_bar_clear): Set bar->redraw_needed_p.
13388
13389 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
13390
133912008-01-23 Jason Rumney <jasonr@gnu.org>
13392
13393 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
13394
13395 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
13396 the unicode range available in MULE by locale-coding-system.
13397 Improve dbcs lead byte detection. Set event timestamp and modifiers
13398 earlier.
13399
134002008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13401
13402 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
13403 [MAC_OSX] (init_mac_osx_environment): Initialize it.
13404 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
13405 when used on child processes.
13406
134072008-01-21 Michael Albinus <michael.albinus@gmx.de>
13408
13409 * dbusbind.c (Fdbus_method_return_internal): Rename from
13410 Fdbus_method_return.
13411 (Fdbus_unregister_object): Move to dbus.el.
13412 (Fdbus_call_method, Fdbus_method_return_internal)
13413 (Fdbus_send_signal): Improve debug messages.
13414
134152008-01-20 Martin Rudalics <rudalics@gmx.at>
13416
13417 * undo.c (undo_inhibit_record_point): New variable.
13418 (syms_of_undo): Initialize it.
13419 (record_point): Don't record point when undo_inhibit_record_point
13420 is set.
13421
134222008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
13423
13424 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
13425
13426 * xdisp.c (Qauto_hscroll_mode): New var.
13427 (syms_of_xdisp): Initialize it.
13428 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
13429 window's buffer.
13430 (hscroll_windows): Don't check automatic_hscrolling_p here.
13431
13432 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
13433 vscroll if we're setting window-buffer to the value it already has.
13434
134352008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
13436
13437 * m/intel386.h: Remove references to XENIX.
13438
134392008-01-17 Andreas Schwab <schwab@suse.de>
13440
13441 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
13442 instead of HAVE_X86_64_LIB64_DIR.
13443 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
13444
134452008-01-17 Glenn Morris <rgm@gnu.org>
13446
13447 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
13448 to HAVE_X86_64_LIB64_DIR.
13449
134502008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
13451
13452 * s/irix3-3.h:
13453 * s/irix4-0.h:
13454 * s/386-ix.h:
13455 * s/domain.h:
13456 * s/hpux9-x11r4.h:
13457 * s/hpux9shxr4.h: Remove files for systems no longer supported.
13458
13459 * sysdep.c: Remove code containing references to symbols defined
13460 by unsupported systems.
13461
134622008-01-16 Glenn Morris <rgm@gnu.org>
13463
13464 * coding.c (select-safe-coding-system-function): Doc fix.
13465
134662008-01-15 Glenn Morris <rgm@gnu.org>
13467
13468 * config.in: Revert 2008-01-13 change: this is a generated file.
13469
134702008-01-13 Tom Tromey <tromey@redhat.com>
13471
13472 * lisp.h: Fix typo.
13473
134742008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
13475
13476 * m/sequent-ptx.h:
13477 * m/sequent.h:
13478 * s/ptx.h:
13479 * s/ptx4-2.h:
13480 * s/ptx4.h: Remove files for systems no longer supported.
13481
13482 * callproc.c (Fcall_process): Fix previous change.
13483
134842008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
13485
13486 * unexsunos4.c: Remove file, system not supported anymore.
13487
13488 * m/mips.h:
13489 * m/intel386.h:
13490 * callproc.c:
13491 * config.in:
13492 * ecrt0.c:
13493 * emacs.c:
13494 * fileio.c:
13495 * frame.c:
13496 * getpagesize.h:
13497 * keyboard.c:
13498 * lread.c:
13499 * process.c:
13500 * puresize.h:
13501 * sysdep.c:
13502 * systty.h:
13503 * syswait.h:
13504 * unexec.c:
13505 * xdisp.c:
13506 * alloc.c: Remove code containing references to symbols defined by
13507 unsupported systems.
13508
135092008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
13510
13511 * coding.c (detect_coding_mask): Fix previous change.
13512
135132008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
13514
13515 * coding.c (detect_coding_iso2022): New arg
13516 latin_extra_code_state. Allow Latin extra codes only
13517 when *latin_extra_code_state is nonzero.
13518 (detect_coding_mask): If there is a NULL byte, detect the encoding
13519 as UTF-16 or binary. If Latin extra codes exist, detect the
13520 encoding as ISO-2022 only when there's no other proper encoding is
13521 found.
13522
135232008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13524
13525 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
13526 #ifdef MAC_OS.
13527
135282008-01-08 Richard Stallman <rms@gnu.org>
13529
13530 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
13531
135322008-01-06 Nick Roberts <nickrob@snap.net.nz>
13533
13534 * keyboard.c (parse_menu_item): Don't enclose key bindings on
13535 menu bar in parentheses.
13536
135372008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
13538
13539 * m/7300.h:
13540 * m/acorn.h:
13541 * m/alliant-2800.h:
13542 * m/alliant.h:
13543 * m/alliant1.h:
13544 * m/alliant4.h:
13545 * m/altos.h:
13546 * m/amdahl.h:
13547 * m/apollo.h:
13548 * m/att3b.h:
13549 * m/aviion-intel.h:
13550 * m/aviion.h:
13551 * m/celerity.h:
13552 * m/clipper.h:
13553 * m/cnvrgnt.h:
13554 * m/convex.h:
13555 * m/cydra5.h:
13556 * m/delta88k.h:
13557 * m/dpx2.h:
13558 * m/dual.h:
13559 * m/elxsi.h:
13560 * m/f301.h:
13561 * m/gould-np1.h:
13562 * m/gould.h:
13563 * m/i860.h:
13564 * m/ibmps2-aix.h:
13565 * m/ibmrt-aix.h:
13566 * m/ibmrt.h:
13567 * m/irist.h:
13568 * m/is386.h:
13569 * m/isi-ov.h:
13570 * m/mega68.h:
13571 * m/mg1.h:
13572 * m/news-r6.h:
13573 * m/news-risc.h:
13574 * m/news.h:
13575 * m/nh3000.h:
13576 * m/nh4000.h:
13577 * m/ns16000.h:
13578 * m/ns32000.h:
13579 * m/nu.h:
13580 * m/orion.h:
13581 * m/orion105.h:
13582 * m/paragon.h:
13583 * m/pfa50.h:
13584 * m/plexus.h:
13585 * m/pyramid.h:
13586 * m/pyrmips.h:
13587 * m/sh3el.h:
13588 * m/sps7.h:
13589 * m/sr2k.h:
13590 * m/stride.h:
13591 * m/sun1.h:
13592 * m/sun2.h:
13593 * m/sun3-68881.h:
13594 * m/sun3-fpa.h:
13595 * m/sun3-soft.h:
13596 * m/sun3.h:
13597 * m/sun386.h:
13598 * m/symmetry.h:
13599 * m/tad68k.h:
13600 * m/tahoe.h:
13601 * m/targon31.h:
13602 * m/tek4300.h:
13603 * m/tekxd88.h:
13604 * m/tower32.h:
13605 * m/tower32v3.h:
13606 * m/ustation.h:
13607 * m/wicat.h:
13608 * m/xps100.h:
13609 * s/cxux.h:
13610 * s/cxux7.h:
13611 * s/dgux.h:
13612 * s/dgux4.h:
13613 * s/dgux5-4-3.h:
13614 * s/dgux5-4r2.h:
13615 * s/esix.h:
13616 * s/esix5r4.h:
13617 * s/hiuxmpp.h:
13618 * s/hiuxwe2.h:
13619 * s/iris3-5.h:
13620 * s/iris3-6.h:
13621 * s/isc2-2.h:
13622 * s/isc3-0.h:
13623 * s/isc4-0.h:
13624 * s/isc4-1.h:
13625 * s/newsos5.h:
13626 * s/newsos6.h:
13627 * s/osf1.h:
13628 * s/osf5-0.h:
13629 * s/riscix1-1.h:
13630 * s/riscix12.h:
13631 * s/sco4.h:
13632 * s/sco5.h:
13633 * s/sunos4-0.h:
13634 * s/sunos4-1.h:
13635 * s/sunos413.h:
13636 * s/sunos4shr.h:
13637 * s/umax.h:
13638 * s/unipl5-2.h:
13639 * s/xenix.h:
13640 * cxux-crt0.s:
13641 * unexapollo.c:
13642 * unexconvex.c:
13643 * unexenix.c:
13644 * unexsni.c: Remove files for systems no longer supported.
13645
13646 * m/intel386.h: Remove references to unsupported systems.
13647
13648 * w32.c (get_emacs_configuration): Remove reference to i860.
13649
13650 * sysdep.c: Remove dead code.
13651
136522008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
13653
13654 * s/rtu.h:
13655 * m/masscomp.h: Remove files. Platform is obsolete.
13656
136572008-01-04 Michael Albinus <michael.albinus@gmx.de>
13658
13659 * dbusbind.c (Fdbus_method_return): New function.
13660 (xd_read_message): Add the serial number to the event.
13661 (Fdbus_register_method): Activate the function.
13662
136632008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
13664
13665 * keyboard.c (read_key_sequence): Fix typo.
13666
136672008-01-03 Michael Albinus <michael.albinus@gmx.de>
13668
13669 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
13670 (xd_signature, xd_append_arg): Handle element type detection for
13671 empty arrays.
13672 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
13673 SDATA () calls; this must be solved more general.
13674 (Fdbus_register_signal): Use SBYTES instead of strlen.
13675
136762008-01-03 Magnus Henoch <magnus@zemdatav>
13677
13678 * dbusbind.c (xd_append_arg): Use unsigned char instead of
13679 unsigned int for byte values (necessary for big-endian platform).
13680 (Fdbus_call_method): Handle the case of no returned arguments.
13681
136822007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
13683
13684 * dbusbind.c (xd_read_message): Use non-static input_event struct.
13685
136862007-12-31 Magnus Henoch <mange@freemail.hu>
13687
13688 * dbusbind.c (xd_signature): Signature of variant is just "v".
13689
136902007-12-30 Michael Albinus <michael.albinus@gmx.de>
13691
13692 * dbusbind.c: Fix several errors and compiler warnings.
13693 Reported by Tom Tromey <tromey@redhat.com>.
13694 (XD_ERROR, XD_DEBUG_MESSAGE)
13695 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
13696 (xd_append_arg): Part for basic D-Bus types rewritten.
13697 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
13698 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
13699 appropriate.
13700 (xd_read_message): Return Qnil. Don't signal an error; it is not
13701 useful during event reading.
13702 (Fdbus_register_signal): Signal an error if the check for
13703 FUNCTIONP fails.
13704 (Fdbus_register_method): New function. The implementation is not
13705 complete, the call of the function signals an error therefore.
13706 (Fdbus_unregister_object): New function, renamed from
13707 Fdbus_unregister_signal. The initial check signals an error, if
13708 the object is not well formed.
13709
137102007-12-30 Richard Stallman <rms@gnu.org>
13711
13712 * textprop.c (get_char_property_and_overlay):
13713 Signal error if POSITION is out of range in a buffer.
13714
137152007-12-29 Martin Rudalics <rudalics@gmx.at>
13716
13717 * w32fns.c (Fx_create_frame): Make copy of frame parameters
13718 because the original parameters are in pure storage now.
13719
137202007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13721
13722 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
13723
137242007-12-22 Eli Zaretskii <eliz@gnu.org>
13725
13726 * callint.c (syms_of_callint) <command-history>: Add reference to
13727 history-length in the doc string.
13728
137292007-12-17 Jason Rumney <jasonr@gnu.org>
13730
13731 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
13732 before passing as wParam.
13733
137342007-12-22 Michael Albinus <michael.albinus@gmx.de>
13735
13736 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
13737 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
13738 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
13739 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
13740 as number.
13741 (Fdbus_call_method): Fix docstring.
13742
137432007-12-21 Michael Albinus <michael.albinus@gmx.de>
13744
13745 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
13746 New macros.
13747 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
13748 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
13749 Simplify.
13750 (xd_signature): New function.
13751 (xd_append_arg): Compute also signatures. Major rewrite.
13752 (xd_retrieve_arg): Make debug messages friendly.
13753 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
13754 Check for signatures of arguments.
13755
137562007-12-19 Michael Albinus <michael.albinus@gmx.de>
13757
13758 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
13759 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
13760 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
13761 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
13762 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
13763 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
13764 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
13765 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
13766 (xd_retrieve_value): Remove. Functionality included in ...
13767 (xd_append_arg): New function.
13768 (Fdbus_call_method, Fdbus_send_signal): Apply it.
13769
137702007-12-16 Michael Albinus <michael.albinus@gmx.de>
13771
13772 * dbusbind.c (top): Include <stdio.h>.
13773 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
13774 dbus_message_new_method_call and dbus_message_new_signal.
13775 (Fdbus_register_signal): Rename unique_name to uname.
13776 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
13777 non-existing unique name. Fix typos in matching rule. Return an
13778 object which is useful in Fdbus_unregister_signal.
13779 (Fdbus_unregister_signal): Reimplementation, in order to remove
13780 only the corresponding entry.
13781 (Vdbus_registered_functions_table): Change the order of entries.
13782 Apply these changes in xd_read_message and Fdbus_register_signal.
13783
137842007-12-16 Andreas Schwab <schwab@suse.de>
13785
13786 * fileio.c (Finsert_file_contents): Fix overflow check to not
13787 depend on undefined integer overflow.
13788
137892007-12-14 Jason Rumney <jasonr@gnu.org>
13790
13791 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
13792 for characters above 127.
13793
137942007-12-13 Jason Rumney <jasonr@gnu.org>
13795
13796 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
13797 before dereferencing array.
13798 (lookup_vk_code): Remove zero comparison.
13799
138002007-12-14 Michael Albinus <michael.albinus@gmx.de>
13801
13802 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
13803 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
13804 Use `unsigned int' instead of `uint'.
13805 (xd_read_message, Fdbus_register_signal): Split expressions into
13806 multiple lines before operators "&&" and "||", according to the
13807 GNU Coding Standards.
13808
138092007-12-14 Eli Zaretskii <eliz@gnu.org>
13810
13811 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
13812
138132007-12-12 Juri Linkov <juri@jurta.org>
13814
13815 * buffer.c (Frename_buffer): In interactive spec replace
13816 `read-buffer' with `read-string' that uses `buffer-name-history'
13817 as history, and the current buffer's name as default.
13818
138192007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
13820
13821 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
13822 manipulating the backtrace manually.
13823 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
13824 (struct backtrace, backtrace_list): Remove.
13825 (command_loop_1): Remove dead var `no_direct'.
13826
13827 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
13828 preserve non-built-in buffer-local variables.
13829 (Fkill_all_local_variables): Don't re-create&re-set permanent
13830 buffer-local variables.
13831
138322007-12-09 Juri Linkov <juri@jurta.org>
13833
13834 * buffer.c (Frename_buffer): Change interactive spec from "s" to
13835 Lisp code that uses `read-buffer' with current buffer as default.
13836
138372007-12-08 Michael Albinus <michael.albinus@gmx.de>
13838
13839 * dbusbind.c (xd_read_message): Generate an event for every
13840 registered handler. There might be several handlers registered
13841 for the same signal.
13842 (Fdbus_register_signal): Don't overwrite a registration for the
13843 same signal. Add a new registration if handlers are different.
13844 (Vdbus_registered_functions_table): Rework doc string.
13845
138462007-12-07 Michael Albinus <michael.albinus@gmx.de>
13847
13848 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
13849 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
13850 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
13851 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
13852 Unify argument lists.
13853 (xd_read_message, Fdbus_register_signal): Reorder and extend event
13854 arguments and hash table keys. Use unique name for service.
13855 (Fdbus_unregister_signal): Remove checks.
13856 (Vdbus_registered_functions_table): Fix doc string.
13857
138582007-12-05 Magnus Henoch <mange@freemail.hu>
13859
13860 * process.c (make_process): Initialize pty_flag to 0.
13861
138622007-12-05 Jason Rumney <jasonr@gnu.org>
13863
13864 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
13865 specified XBMs.
13866
138672007-12-05 Richard Stallman <rms@gnu.org>
13868
13869 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
13870
138712007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13872
13873 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
13874 New variable.
13875 (mac_try_close_socket) [MAC_OSX]: New function.
13876 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
13877 Update cfsockets_for_select. Replace invalid CFRunLoop source.
13878
13879 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
13880 Use mac_try_close_socket.
13881
138822007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13883
13884 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
13885 reloc_base.
13886 (copy_dysymtab): Compute relocation base here.
13887 (rebase_reloc_address) [__ppc64__]: New function.
13888 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
13889 changed.
13890
138912007-12-05 Jason Rumney <jasonr@gnu.org>
13892
13893 * w32proc.c (sys_spawnve): Quote args with wildcards.
13894
138952007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13896
13897 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
13898 __objc_* sections.
13899 (unrelocate) [_LP64]: Set relocation base to address of data segment.
13900
139012007-12-05 Michael Albinus <michael.albinus@gmx.de>
13902
13903 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
13904 Move check for Vdbus_registered_functions_table to
13905 xd_read_queued_messages.
13906 (xd_read_queued_messages): Protect xd_read_message calls by
13907 internal_condition_case_1.
13908
139092007-12-04 Michael Albinus <michael.albinus@gmx.de>
13910
13911 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
13912 Qdbus_system_bus and Qdbus_session_bus, respectively.
13913 (Vdbus_intern_symbols): Remove.
13914 (Vdbus_registered_functions_table): New hash table.
13915 (XD_SYMBOL_INTERN_SYMBOL): Remove.
13916 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
13917 Rewrite in order to manage registered functions by hash table
13918 Vdbus_registered_functions_table.
13919
139202007-12-03 Jan Djärv <jan.h.d@swipnet.se>
13921
13922 * xterm.c: Update URL to Window Manager Specification in comment.
13923
139242007-12-02 Michael Albinus <michael.albinus@gmx.de>
13925
13926 * config.in (HAVE_DBUS): Add.
13927
13928 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
13929 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
13930 (obj): Add $(DBUS_OBJ).
13931 (LIBES): Add $(DBUS_LIBS).
13932 (dbusbind.o): New target.
13933
13934 * dbusbind.c: New file.
13935
13936 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
13937
13938 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
13939 (Qdbus_event): New Lisp symbol.
13940 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
13941 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
b97439ce 13942 (keys_of_keyboard): Define dbus-event.
aac0c6e3
MR
13943
13944 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
13945
139462007-12-01 Richard Stallman <rms@gnu.org>
13947
13948 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
13949
139502007-11-30 Jason Rumney <jasonr@gnu.org>
13951
13952 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
13953 (w32con_reset_terminal_modes): Clear screen buffer.
13954 (w32_face_attributes): Don't use color indexes that are out of range.
13955 Only reverse the default colors.
13956
13957 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
13958 WINDOWSNT.
13959
13960 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
13961
139622007-11-29 Jason Rumney <jasonr@gnu.org>
13963
13964 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
13965 (w32_face_attributes): Use Vtty_defined_color_alist to determine
13966 if the terminal colors are initialized.
13967 (unspecified_fg, unspecified_bg): Remove unused declarations.
13968
139692007-11-29 Andreas Schwab <schwab@suse.de>
13970
13971 * keyboard.c (apply_modifiers): Fix typo.
13972
139732007-11-29 Richard Stallman <rms@gnu.org>
13974
13975 * keymap.c (Fcurrent_local_map): Doc fix.
13976
139772007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
13978
13979 * s/gnu-kfreebsd.h: New file.
13980
139812007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
13982
13983 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
13984 Don't cast redundantly.
13985
13986 * keyboard.c (KEY_TO_CHAR): New macro.
13987 (parse_modifiers, apply_modifiers): Accept integer arguments.
13988 (read_key_sequence): Use them to unify the "shift->unshift" mapping
13989 for chars and symbol keys.
13990 After doing such remapping, apply function-key-map again.
13991
139922007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
13993
13994 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
13995 compiled anymore.
13996
139972007-11-26 Andreas Schwab <schwab@suse.de>
13998
13999 * process.c (list_processes_1): Fix indentation level of the
14000 command column.
14001
140022007-11-23 Andreas Schwab <schwab@suse.de>
14003
14004 * editfns.c (Fformat): Handle %c specially since it requires the
14005 argument to be of type int.
14006
140072007-11-23 Markus Triska <markus.triska@gmx.at>
14008
14009 * emacs.c (main): Call init_editfns before init_process, since
14010 init_process sets Vprocess_connection_type depending on OS release.
14011
140122007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
14013
14014 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
14015 (find_symbol_value): Use do_symval_forwarding.
14016
14017 * data.c (set_internal): Set the value in the `cons-cell' (for
14018 Buffer_Local_values) not only for frame-local variables.
14019
140202007-11-22 Andreas Schwab <schwab@suse.de>
14021
14022 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
14023 values to sprintf.
14024 * keymap.c (Fsingle_key_description): Likewise.
14025 * print.c (print_object): Likewise.
14026
140272007-11-22 Jan Djärv <jan.h.d@swipnet.se>
14028
14029 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
14030 file for image is nil.
14031
140322007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
14033
14034 * term.c: Include stdarg.h.
14035 (fatal): Implement using varargs.
14036 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
14037
140382007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
14039
14040 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
14041 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
14042 Update call to buffer_slot_type_mismatch.
14043 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
14044 (buffer_slot_type_mismatch): Update.
14045 * buffer.c (buffer_local_types): Remove.
14046 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
14047 (defvar_per_buffer): Set the type in the buffer_objfwd.
14048
140492007-11-21 Jason Rumney <jasonr@gnu.org>
14050
14051 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
14052 CreateFileMapping returns NULL on failure.
14053
140542007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
14055
14056 * search.c (Fset_match_data): Remove the `evaporate' feature.
14057 (unwind_set_match_data): Don't use the `evaporate' feature.
14058
140592007-11-21 Jason Rumney <jasonr@gnu.org>
14060
14061 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
14062
14063 * w32console.c (w32con_write_glyphs): Remove unused variables.
14064
140652007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
14066
14067 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
14068
14069 * s/darwin.h (MULTI_KBOARD): Remove.
14070
14071 * macfns.c (x_create_tip_frame, Fx_create_frame)
14072 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
14073
140742007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
14075
14076 * buffer.c (Fbuffer_local_value): Remove redundant test.
14077 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
14078 than in `current-buffer' to match the comment.
14079 Do the swap using swap_in_global_binding.
14080
14081 * data.c (store_symval_forwarding, set_internal):
14082 * eval.c (specbind): Remove dead code.
14083
14084 * coding.c (detect_coding, Fupdate_coding_systems_internal):
14085 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
14086 Since we do not want to see internal Lisp_*fwd objects here.
14087
140882007-11-18 Jan Djärv <jan.h.d@swipnet.se>
14089
14090 * sysdep.c (init_system_name): Use getaddrinfo if available.
14091
14092 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
14093 (x_scroll_bar_note_movement): start, end, with, height in struct
14094 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
14095
140962007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
14097
14098 * puresize.h (BASE_PURESIZE): Increase to 1190000.
14099
141002007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
14101
14102 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
14103 This undoes Richard's change of 14-Oct-2002.
14104
14105 * alloc.c (allocate_other_vector):
14106 * lisp.h (allocate_other_vector): Remove.
14107
14108 * window.c (struct save_window_data): Move non-lisp data to the end
14109 and make it `int' rather than Lisp_Object.
14110 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
14111 Done wrap/unwrap integer values.
14112 (Fset_window_configuration, compare_window_configurations):
14113 Update use of fields to their new types.
14114
14115 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
14116 Turn integer fields into `int'. Merge x_window_low and x_window_high.
14117 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
14118 (SET_SCROLL_BAR_X_WINDOW): Remove.
14119 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
14120 Access the new x_window field directly.
14121 * xterm.c (x_scroll_bar_create): Use a pseudovector.
14122 Don't wrap/unwrap integers into Lisp_Objects.
14123 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
14124 (x_scroll_bar_report_motion):
14125 Don't wrap/unwrap integers into Lisp_Objects.
14126 (x_term_init): Use SDATA.
14127 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
14128 (x_scroll_bar_set_handle, x_scroll_bar_remove)
14129 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
14130 (x_scroll_bar_report_motion, x_scroll_bar_clear):
14131 * xfns.c (x_set_background_color):
14132 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
14133 Access the new x_window field directly.
14134
14135 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
14136 (allocate_pseudovector): Make non-static.
14137
14138 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
14139 (allocate_pseudovector): Declare.
14140 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
14141
141422007-11-15 Andreas Schwab <schwab@suse.de>
14143
14144 * editfns.c (Fformat): Correctly format EMACS_INT values.
14145 Also take precision into account when formatting an integer.
14146
14147 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
14148
141492007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
14150
14151 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
14152 (syms_of_keyboard): Defsubr it.
14153
14154 * data.c (swap_in_global_binding): Fix longstanding bug where
14155 store_symval_forwarding was not called with the right second argument,
14156 thus causing objfwd-ing from being dropped.
14157
141582007-11-14 Juanma Barranquero <lekktu@gmail.com>
14159
14160 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
14161 (Fx_display_pixel_height, Fx_display_planes)
14162 (Fx_display_color_cells, Fx_server_max_request_size)
14163 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
14164 (Fx_display_visual_class, Fx_display_save_under):
14165 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
14166 (Fx_display_pixel_height, Fx_display_planes)
14167 (Fx_display_color_cells, Fx_server_max_request_size)
14168 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
14169 (Fx_display_mm_height, Fx_display_mm_width)
14170 (Fx_display_backing_store, Fx_display_visual_class)
14171 (Fw32_select_font, Fx_display_save_under):
14172 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
14173 (Fx_display_pixel_height, Fx_display_planes)
14174 (Fx_display_color_cells, Fx_server_max_request_size)
14175 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
14176 (Fx_display_save_under): Fix typos in docstrings.
14177
141782007-11-14 Juanma Barranquero <lekktu@gmail.com>
14179
14180 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
14181 corresponding to deleted entries; they are an implementation detail.
14182 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
14183 Remove variables.
14184 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
14185 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
14186 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
14187 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
14188 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
14189 (Fw32_define_rgb_color, Fw32_load_color_file)
14190 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
14191 Fix typos in docstrings.
14192 (Fx_server_version): Reflow docstring.
14193 (Fw32_shell_execute): Doc fixes.
14194
141952007-11-13 Juanma Barranquero <lekktu@gmail.com>
14196
14197 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
14198 if w32_parse_hot_key returned nil.
14199
142002007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
14201
14202 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
14203
142042007-11-09 Jason Rumney <jasonr@gnu.org>
d6c952f8 14205
aac0c6e3
MR
14206 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
14207
14208 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
14209
14210 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
14211 Remove W32_SCROLL_BAR_CLICK_EVENT.
14212
14213 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
14214 Add MULTIMEDIA_KEY_EVENT.
14215
14216 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
14217 (lispy_multimedia_keys) [WINDOWSNT]: New array.
14218 (make_lispy_event) [WINDOWSNT]: Use it to translate
14219 MULTIMEDIA_KEY_EVENT.
14220
14221 * w32term.h (WM_APPCOMMAND): Define if not already.
14222 (GET_APPCOMMAND_LPARAM): Likewise.
14223
14224 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
14225 WM_APPCOMMAND.
14226
14227 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
14228 (syms_of_w32fns): Export and initialize it.
14229 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
14230
142312007-11-09 Chong Yidong <cyd@stupidchicken.com>
14232
14233 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
14234 twice.
14235
14236 * xdisp.c (handle_face_prop): Fix last change.
14237
142382007-11-09 Richard Stallman <rms@gnu.org>
14239
14240 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
14241 not just for after-strings and before-strings.
14242 Call face_for_overlay_string and pass the overlay to it.
14243 (handle_display_prop): Determine whether property came from an overlay.
14244 Pass OVERLAY arg to handle_single_display_spec.
14245 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
14246 (load_overlay_strings): Fill in it->string_overlays.
14247 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
14248
14249 * xfaces.c (face_for_overlay_string): Function renamed from
14250 face_at_buffer_position_no_overlays, and add arg OVERLAY.
14251
14252 * dispextern.h (struct it): New elt string_overlays.
14253 New elt from_overlay, also in stack.
14254 Rearrange a few elements.
14255 (face_for_overlay_string): Decl renamed from
14256 face_at_buffer_position_no_overlays, and add argument.
14257
142582007-11-09 Richard Stallman <rms@gnu.org>
14259
14260 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
14261 to get the base face for an overlay string.
14262
14263 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
14264
14265 * xfaces.c (face_at_buffer_position_no_overlays): New function.
14266
14267 * xdisp.c (handle_stop): Move some code out of loop.
14268
142692007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14270
14271 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
14272 Fix conversion from Lisp object to ATSUFontID.
14273
142742007-11-09 Jason Rumney <jasonr@gnu.org>
14275
14276 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
14277
142782007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14279
14280 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
14281 Don't assume regions are aligned to page boundary.
14282 (print_load_command_name): Add LC_UUID if defined.
14283
142842007-11-09 Richard Stallman <rms@gnu.org>
14285
14286 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
14287
142882007-11-07 Jason Rumney <jasonr@gnu.org>
14289
14290 * s/windows95.h: Remove.
14291
142922007-11-06 Jan Djärv <jan.h.d@swipnet.se>
14293
14294 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
14295 abort with a message on unhandled store_type values.
14296
142972007-11-01 Jan Djärv <jan.h.d@swipnet.se>
14298
14299 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
14300 Remove HAVE_X11R5 and HAVE_X11R4.
14301
143022007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
14303
14304 * Makefile.in: Remove references to sunfns.c and sunfns.o.
14305
143062007-11-01 Johan Bockgård <bojohan@gnu.org>
14307
14308 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
14309 Don't set s->stippled_p here, since it has already been set by
14310 x_set_glyph_string_gc from x_draw_glyph_string.
14311
143122007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
14313
14314 * sunfns.c: Remove file.
14315
14316 * m/sun386.h:
14317 * m/sun2.h:
14318 * m/sparc.h: Remove Sun windows code.
14319
143202007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
14321
14322 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
14323 (init_keyboard): Set current_kboard's window-system to nil.
14324 (tty_read_avail_input): Typo.
14325 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
14326
143272007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
14328
14329 * s/usg5-4.h:
14330 * s/usg5-3.h:
14331 * s/ptx.h:
14332 * m/is386.h:
14333 * m/ibmps2-aix.h:
14334 * Makefile.in: Remove all mentions of X10.
14335
14336 * dispnew.c (syms_of_display): Don't mention version 10.
14337
143382007-10-28 Juanma Barranquero <lekktu@gmail.com>
14339
14340 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
14341 ($(BLD)/abbrev.$(O)): Remove.
14342
143432007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
14344
14345 Rewrite abbrev.c in Elisp.
14346 * image.c (Qcount): Don't declare as extern.
14347 (syms_of_image): Initialize and staticpro `Qcount'.
14348 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
14349 * emacs.c (main): Don't call syms_of_abbrev.
14350 * Makefile.in (obj): Remove abbrev.o.
14351 (abbrev.o): Remove.
14352 * abbrev.c: Remove.
14353
143542007-10-26 Martin Rudalics <rudalics@gmx.at>
14355
14356 * window.c (window_min_size_2): Don't count header-line.
14357
143582007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
14359
14360 * frame.h (struct frame): Move all bit fields after the first bit
14361 field to take advantage of the available space. Group all the
14362 chars together to reduce wasted space due to padding.
14363
143642007-10-26 Juanma Barranquero <lekktu@gmail.com>
14365
14366 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
14367
14368 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
14369 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
14370 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
14371 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
14372 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
14373 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
14374 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
14375 (last_marked, mark_object_loop_halt): Make static.
14376
14377 * frame.c (syms_of_frame) <delete-frame-functions>:
14378 Fix typo in docstring.
14379
143802007-10-25 Juanma Barranquero <lekktu@gmail.com>
14381
14382 * w32.c (init_environment): Fix tiny memory leak.
14383 (w32_get_resource): Remove unused variable `ok'.
14384
143852007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
14386
14387 Make `window-system' into a keyboard-local variable (rather than
14388 frame-local as done originally by multi-tty).
14389
14390 * keyboard.h (struct kboard): Add Vwindow_system.
14391 * keyboard.c (init_kboard): Set a default for Vwindow_system.
14392 (mark_kboards): Mark Vwindow_system.
14393
14394 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
14395 (init_display): Don't set the obsolete `window-system' frame-param.
14396
14397 * xterm.c (x_term_init):
14398 * w32term.c (w32_create_terminal):
14399 * term.c (init_tty): Set Vwindow_system.
14400 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
14401 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
14402
14403 * xfns.c (Fx_create_frame, x_create_tip_frame):
14404 * w32fns.c (Fx_create_frame, x_create_tip_frame):
14405 * macfns.c (Fx_create_frame):
14406 Don't set the obsolete `window-system' frame-param.
14407
14408 * frame.h (Qwindow_system): Remove.
14409 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
14410 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
14411
144122007-10-24 Richard Stallman <rms@gnu.org>
14413
14414 * frame.c (x_figure_window_size): For fullscreen case,
14415 set USPosition | PPosition without clobbering rest of window_prompting.
14416
14417 * keyboard.c (Fcurrent_idle_time): Doc fix.
14418
14419 * print.c (Fwith_output_to_temp_buffer): Doc fix.
14420
144212007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
14422
14423 * process.c (unwind_request_sigio): Only define if __ultrix__.
14424
14425 * callproc.c (child_setup): Remove spurious *.
14426
14427 * lisp.h (Fget_text_property): Declare.
14428 (have_menus_p): Declare it here rather than in sys-dep header files.
14429 * macterm.h (have_menus_p):
14430 * msdos.h (have_menus_p):
14431 * xterm.h (have_menus_p): Remove.
14432
14433 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
14434 (Fmake_variable_frame_local): Just check the variable's const-ness
14435 rather than checking nil or t.
14436
144372007-10-22 Jason Rumney <jasonr@gnu.org>
14438
14439 * w32fns.c: Include math.h.
14440 (w32_abort): Declaration moved to nt/config.nt.
14441
14442 * s/ms-w32.h (HAVE_STDLIB_H): Define.
14443 (abort): Redefinition moved to nt/config.nt.
14444
14445 * m/windowsnt.h: Remove.
14446
144472007-10-22 Juanma Barranquero <lekktu@gmail.com>
14448
14449 * emacs.c (Fdump_emacs): Fix typo in message.
14450 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
14451 <installation-directory>: Reflow docstring.
14452
144532007-10-22 Juri Linkov <juri@jurta.org>
14454
14455 * minibuf.c: Allow minibuffer default to be a list of default values.
14456 With empty input use the first element of this list as returned default.
14457 (string_to_object)
14458 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
14459 (read_minibuf): If defalt is cons, set histstring to its car.
14460 (Fread_string): If default_value is cons, set val to its car.
14461 (Fread_buffer): If def is cons, use its car.
14462 (Fcompleting_read): If defalt is cons, set val to its car.
14463
144642007-10-21 Michael Albinus <michael.albinus@gmx.de>
14465
14466 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
14467
144682007-10-20 Juanma Barranquero <lekktu@gmail.com>
14469
14470 * doc.c (Fdocumentation): Check for advice in all cases.
14471
144722007-10-19 Chong Yidong <cyd@stupidchicken.com>
14473
14474 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
14475
144762007-10-19 Richard Stallman <rms@gnu.org>
14477
14478 * doc.c (Fdocumentation): Check for and handle an advised function.
14479
144802007-10-19 Juanma Barranquero <lekktu@gmail.com>
14481
14482 * process.c (Fset_process_filter): Doc fix.
14483
144842007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
14485
14486 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
14487 which caused key-translation-map to applied repeatedly (thus breaking
14488 double-mode).
14489
144902007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
14491
14492 * xselect.c (x_own_selection, x_handle_selection_clear)
14493 (x_clear_frame_selections):
14494 * w32menu.c (list_of_panes, list_of_items):
14495 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
14496 * textprop.c (validate_plist, interval_has_all_properties)
14497 (interval_has_some_properties, interval_has_some_properties_list)
14498 (add_properties, text_property_list):
14499 * process.c (Fget_buffer_process, list_processes_1, status_notify):
14500 * minibuf.c (Fassoc_string):
14501 * macselect.c (x_own_selection, x_clear_frame_selections)
14502 (Fx_disown_selection_internal):
14503 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
14504 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
14505
145062007-10-17 Chong Yidong <cyd@stupidchicken.com>
14507
14508 * process.c: Link to libs for calling res_init() if available.
14509 (Fmake_network_process): Call res_init() before getaddrinfo or
14510 gethostbyname, if possible.
14511
145122007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
14513
14514 * lread.c (read1): Set pvectype for char_tables.
14515
14516 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
14517 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
14518 Add type checks.
14519 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
14520
14521 * alloc.c (free_misc): Use XMISCTYPE.
14522 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
14523
145242007-10-17 Glenn Morris <rgm@gnu.org>
14525
14526 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
14527 (syms_of_minibuf): Add Qcompletion_ignore_case.
14528 * dired.c (Qcompletion_ignore_case): Change to external.
14529 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
14530 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
14531 (Fread_file_name): Use it rather than intern'ing.
14532
14533 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
14534 (Fread_coding_system): Ignore case of user input.
14535
145362007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14537
14538 * xdisp.c (handle_display_prop): Ignore display specs after
14539 replacing one when string text is being replaced.
14540 (handle_single_display_spec): Pretend as if characters with display
14541 property haven't been consumed only when buffer text is being replaced.
14542
145432007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
14544
14545 * xfns.c (Fx_create_frame, Fx_display_list):
14546 * window.c (window_fixed_size_p, enlarge_window)
14547 (shrink_window_lowest_first):
14548 * macterm.c (init_font_name_table):
14549 * macfns.c (Fx_create_frame, Fx_display_list):
14550 * lread.c (close_load_descs):
14551 * keyboard.c (read_char_x_menu_prompt):
14552 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
14553 * coding.c (code_convert_region_unwind): Test the type of an object
14554 rather than just !NILP before extracting data from it.
14555
14556 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
14557
14558 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
14559 (XMISCANY): New macro.
14560 (XMISCTYPE): Use it.
14561 (struct Lisp_Misc_Any): New type.
14562 (union Lisp_Misc): Use it.
14563 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
14564 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
14565 (find_symbol_value, set_internal, default_value, Fset_default)
14566 (Fmake_variable_buffer_local, Fmake_local_variable)
14567 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
14568 (Flocal_variable_if_set_p, Fvariable_binding_locus):
14569 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
14570 * alloc.c (allocate_buffer): Set the size and tag.
14571 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
14572 Use XMISCANY.
14573 (die): Follow the GNU convention for error messages.
14574 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
14575 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
14576 tag any more.
14577 (set_buffer_internal_1):
14578 * frame.c (store_frame_param):
14579 * eval.c (specbind):
14580 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
14581
14582 * doc.c (Fsnarf_documentation): Simplify.
14583
145842007-10-14 Juanma Barranquero <lekktu@gmail.com>
14585
14586 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
14587 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
14588
145892007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
14590
14591 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
14592
145932007-10-14 Juanma Barranquero <lekktu@gmail.com>
14594
14595 * eval.c (do_autoload): Don't save autoloads.
14596
14597 * data.c (Ffset): Save autoload of the function being set.
14598
145992007-10-07 John Paul Wallington <jpw@pobox.com>
14600
14601 * xfns.c (x_create_tip_frame): Set the `display-type' frame
14602 parameter before setting up faces.
14603
146042007-10-13 Eli Zaretskii <eliz@gnu.org>
14605
14606 * ccl.c (Fregister_code_conversion_map):
14607 * keyboard.c (append_tool_bar_item): Reformat last change.
14608
14609 * lisp.h (eabs): Rename from `abs'. All callers changed.
14610
146112007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
14612
14613 * buffer.c (add_overlay_mod_hooklist):
14614 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
14615 * fontset.c (make_fontset):
14616 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
14617 (append_tool_bar_item):
14618 * macmenu.c (grow_menu_items):
14619 * w32menu.c (grow_menu_items):
14620 * xmenu.c (grow_menu_items): Use larger_vector.
14621
146222007-10-13 Eli Zaretskii <eliz@gnu.org>
14623
14624 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
14625 selected frame'' on MSDOS).
14626
146272007-10-12 Martin Rudalics <rudalics@gmx.at>
14628
14629 * frame.c (Qexplicit_name): New variable.
14630 (x_report_frame_params): Report it in parameter alist.
14631 (syms_of_frame): Intern and staticpro it.
14632
146332007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
14634
14635 * macfns.c (x_create_tip_frame): Set terminal for frame.
14636
146372007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
14638
14639 * frame.c (Qenvironment): Remove.
14640 (syms_of_frame) <Qenvironment>: Don't initialize.
14641 (Fdelete_frame): Don't treat the `environment' param specially.
14642 * frame.h (Qenvironment): Don't declare.
14643 * callproc.c (set_initial_environment): Don't set unused frame param.
14644
14645 * frame.c (Fframe_with_environment): Remove.
14646 (syms_of_frame) <Sframe_with_environment>: Don't declare.
14647
14648 * lisp.h (Fframe_with_environment): Don't declare.
14649
146502007-10-10 Juanma Barranquero <lekktu@gmail.com>
14651
14652 * indent.c (indent_tabs_mode, last_known_column)
14653 (last_known_column_modified): Make static.
14654 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
14655
146562007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
14657
14658 * puresize.h (BASE_PURESIZE): Increase to 1170000.
14659
146602007-10-09 Jason Rumney <jasonr@gnu.org>
14661
14662 * w32term.c (x_set_window_size): Disable code that attempts to tell
14663 Lisp code about a size change before it actually happens.
14664
146652007-10-09 Richard Stallman <rms@gnu.org>
14666
14667 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
14668 return HANDLED_RETURN.
14669
146702007-10-08 Martin Rudalics <rudalics@gmx.at>
14671
14672 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
14673 when there's an unread command event.
14674
14675 * frame.c (focus_follows_mouse): Move here from frame.el to allow
14676 window autoselection act appropriately when leaving selected frame.
14677 (syms_of_frame): Initialize focus_follows_mouse.
14678 * frame.h (focus_follows_mouse): Extern it.
14679 * macterm.c (XTread_socket): When focus_follows_mouse is nil
14680 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
14681 * msdos.c (dos_rawgetc): Likewise.
14682 * w32term.c (w32_read_socket): Likewise.
14683 * xterm.c (handle_one_xevent): Likewise.
14684 * xdisp.c (syms_of_xdisp): In doc-string of
14685 mouse-autoselect-window mention focus-follows-mouse.
14686
146872007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14688
14689 * macterm.c (mac_load_query_font): Fix missing return value.
14690 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
14691 Add BLOCK_INPUT.
14692
146932007-10-08 Richard Stallman <rms@gnu.org>
14694
14695 * xdisp.c (get_window_cursor_type): Implement documented behavior
14696 for cursor-in-non-selected-windows = t.
14697
146982007-10-08 Jason Rumney <jasonr@gnu.org>
14699
14700 * w32.c (w32_get_resource): Always close registry keys.
14701
147022007-10-08 Jason Rumney <jasonr@gnu.org>
14703
14704 * makefile.w32-in (LIBS): Add COMCTL32.
14705
14706 * w32fns.c (globals_of_w32fns): Init common controls.
14707
147082007-10-08 Richard Stallman <rms@gnu.org>
14709
14710 * image.c (our_memory_buffer): Rename from omfib_buffer.
14711
147122007-10-08 Richard Stallman <rms@gnu.org>
14713
14714 * buffer.c (Foverlays_at): Doc fix.
14715
147162007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
14717
14718 * fns.c (Fplist_put): Preserve uneven tail data.
14719
147202007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
14721
14722 * termhooks.h (enum event_kind): Remove trailing comma.
14723
14724 * frame.h (enum): Remove trailing comma.
14725
147262007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
14727
14728 * w32proc.c (delete_child): Don't terminate threads of zombies.
14729
147302007-10-08 Martin Rudalics <rudalics@gmx.at>
14731
14732 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
14733
14734 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
14735 last-repeatable-command.
14736 (init_kboard): Initialize Vlast_repeatable_command.
14737 (command_loop_1): Set it to real_this_command unless that was
14738 bound to an input event.
14739 (mark_kboards): Mark it.
14740
147412007-10-08 Richard Stallman <rms@gnu.org>
14742
14743 * eval.c (condition-case): Doc fix.
14744
147452007-10-08 Masatake YAMATO <jet@gyve.org>
14746
14747 * xfaces.c (tty_supports_face_attributes_p): Fix code
14748 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
14749 was copied and not edited.
14750
147512007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
14752
14753 Add new `input-decode-map' keymap and use it for terminal
14754 escape sequences.
14755 * keyboard.h (struct kboard): Add Vinput_decode_map.
14756 Remove Vlocal_key_translation_map.
14757 * keyboard.c (read_key_sequence): Add support for input-decode-map.
14758 (init_kboard): Init input-decode-map.
14759 Replace local-key-translation-map back with key-translation-map.
14760 (syms_of_keyboard): Declare input-decode-map.
14761 Remove local-key-translation-map. Update docstrings.
14762 (mark_kboards): Mark Vinput_decode_map.
14763 Don't mark Vlocal_key_translation_map.
14764 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
14765 Replace local-key-translation-map back with key-translation-map.
14766 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
14767 Bind in input-decode-map rather than function-key-map.
14768
14769 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
14770 This was made redundant by the previous introduction of XSETPVECTYPE.
14771
147722007-10-09 Richard Stallman <rms@gnu.org>
14773
14774 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
14775
147762007-09-29 Richard Stallman <rms@gnu.org>
14777
14778 * eval.c (internal_condition_case_2, internal_condition_case_1)
14779 (internal_condition_case): Reenable abort if x_catching_errors ()
14780 to see if that really happens and why.
14781
147822007-10-06 Andreas Schwab <schwab@suse.de>
14783
14784 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
14785
147862007-10-04 Juanma Barranquero <lekktu@gmail.com>
14787
14788 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
14789
147902007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
14791
14792 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
14793
147942007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
14795
14796 * window.h (struct window):
14797 * window.c (struct save_window_data, struct saved_window):
14798 * termhooks.h (struct terminal):
14799 * process.h (struct Lisp_Process):
14800 * frame.h (struct frame):
14801 * buffer.h (struct buffer):
14802 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
14803 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
14804 The size field of (pseudo)vectors is now unsigned.
14805 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
14806
14807 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
14808 Turn `count' into an integer.
14809
14810 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
14811 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
14812 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
14813 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
14814 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
14815
14816 * alloc.c (allocate_pseudovector): New fun.
14817 (ALLOCATE_PSEUDOVECTOR): New macro.
14818 (allocate_window, allocate_terminal, allocate_frame)
14819 (allocate_process): Use it.
14820 (mark_vectorlike): New function.
14821 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
14822 (mark_terminals): Use it.
14823 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
14824 (Fmake_byte_code): Use XSETPVECTYPE.
14825
14826 * frame.c (Fframe_parameters): Minor simplification.
14827
14828 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
14829
14830 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
14831
14832 * buffer.c (Fget_buffer_create, init_buffer_once):
14833 * lread.c (defsubr):
14834 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
14835
14836 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
14837 defined differently in the m/*.h files.
14838 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
14839 (XSETPVECTYPE): New macro.
14840 (XSETPSEUDOVECTOR): Use it.
14841
14842 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
14843 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
14844
14845 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
14846 * lread.c (defvar_per_buffer):
14847 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
14848
14849 * window.c (candidate_window_p): Only consider as visible frames that
14850 are on the same terminal.
14851
14852 * m/ibms390x.h (MARKBIT): Remove unused macro.
14853
148542007-10-01 Juanma Barranquero <lekktu@gmail.com>
14855
14856 * lread.c (Fload): Fix typo in docstring.
14857
148582007-10-01 Michaël Cadilhac <michael@cadilhac.name>
14859
14860 * floatfns.c (Fexpt): Manually check for overflows, so that a power
14861 of a non-zero value can't yield zero.
14862
148632007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
14864
14865 * term.c (term_clear_mouse_face, term_mouse_highlight)
14866 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
14867
14868 * print.c (safe_debug_print): Use XHASH.
14869
14870 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
14871 Lisp elements such as tags.
14872 (XHASH): New macro.
14873 (EQ): Use it.
14874 (SREF, SSET, STRING_COPYIN): Use SDATA.
14875 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
14876
14877 * alloc.c (mark_terminal): Remove left-over declaration.
14878 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
14879 (allocate_vectorlike): Remove type argument. Adjust callers.
14880 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
14881 Only handle the one remaining MEM_TYPE_VECTORLIKE.
14882
14883 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
14884 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
14885 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
14886 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
14887 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
14888 Use them.
14889
14890 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
14891 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
14892 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
14893
148942007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
14895
14896 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
14897 loaded by default.
14898
148992007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
14900
14901 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
14902 on this tty.
14903 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
14904
14905 * term.c (mouse_face_window): Rename from Qmouse_face_window.
14906 Update all users.
14907 (handle_one_term_event): Use Gpm_DrawPointer.
14908 (Fgpm_mouse_start): Rename from Fterm_open_connection.
14909 Signal errors instead of returning nil. Always return nil.
14910 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
14911 Make it a noop if gpm-mouse was not activated.
14912 (syms_of_term): Update names.
14913
149142007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
14915
14916 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
14917 (init_sys_modes): Check that gpm_tty is the current tty.
14918
14919 * alloc.c (allocate_terminal): Set the vector size to only count the
14920 lisp fields. Initialize those to nil.
14921 (mark_object): Don't treat terminals specially.
14922 (mark_terminal): Remove.
14923 (mark_terminals): Use mark_object instead.
14924
14925 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
14926 the GC to the beginning.
14927
14928 * indent.h:
14929 * indent.c: Use EMACS_INT for ints coming from Elisp data.
14930
14931 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
14932
149332007-09-25 Jason Rumney <jasonr@gnu.org>
14934
14935 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
14936
14937 * w32console.c (create_w32cons_output): Remove.
14938
14939 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
14940
14941 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
14942 (reset_sys_modes): Use reset_terminal_modes_hook.
14943
149442007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
14945
14946 * eval.c (do_autoload): Don't output any message.
14947
149482007-09-24 Juri Linkov <juri@jurta.org>
14949
14950 * emacs.c (standard_args): Change priority of "--no-splash"
14951 from 40 to 3. Add "--no-desktop" with the same priority.
14952
149532007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
14954
14955 * alloc.c (gc_sweep): Check cons cell mark bits word by word
14956 and optimize the case where they are all 1.
14957
149582007-09-23 Johannes Weiner <hannes@saeurebad.de>
14959
14960 * lisp.h (abs): Define if not defined.
14961 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
14962 Don't define `abs', since it's defined in lisp.h.
14963
149642007-09-22 Eli Zaretskii <eliz@gnu.org>
14965
14966 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
14967 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
14968 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
14969 (init_tty): Use DEV_TTY instead of "/dev/tty".
14970 [WINDOWSNT]: No need to protect from NAME arg being null.
14971
149722007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
14973
14974 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
14975 up the tty state.
14976
149772007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
14978
14979 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
14980 (gpm_tty): Change its type.
14981 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
14982 (gpm_tty): Change its type and initialize it.
14983 (Fterm_open_connection): Check the frame is indeed a tty.
14984 Use the new gpm_tty.
14985 (Fterm_close_connection): Use the new gpm_tty.
14986 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
14987 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
14988
149892007-09-21 Juanma Barranquero <lekktu@gmail.com>
14990
14991 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
14992 underline_color, to draw strike-through.
14993
149942007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
14995
14996 * lisp.h (allocate_terminal): Declare.
14997
14998 * window.c (candidate_window_p): Consider frames that are being placed
14999 by the user as somewhere between visible and iconified.
15000 (window_loop): Prefer windows on the current frame.
15001 (Fselect_window): Move the use of select-frame to the beginning so we
15002 can just delegate all the work (it'll call us back anyway).
15003
15004 * frame.c (Qdisplay_environment_variable):
15005 * frame.h (Qdisplay_environment_variable): Delete.
15006
15007 * .gdbinit (xbacktrace): Print the arg's address rather than the value
15008 of the first arg, since that value may be a union.
15009
15010 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
15011 parameter rather than Qdisplay_environment_variable. If all else
15012 fails, look for DISPLAY in initial-environment.
15013
150142007-09-21 Glenn Morris <rgm@gnu.org>
15015
15016 * Makefile.in (emacstool): Remove target.
15017 (lisp, shortlisp): Remove termdev.elc.
15018
150192007-09-21 Markus Triska <markus.triska@gmx.at>
15020
15021 * xterm.c (x_delete_display): Compile session management conditionally.
15022
150232007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
15024
15025 * callproc.c (getenv_internal_1): New function.
15026 (getenv_internal): Use it.
15027 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
15028
15029 * terminal.c (get_terminal): Don't accept ints to represent terminals.
15030 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
15031 (Fset_terminal_parameter): Work with dead terminals as well.
15032 (Fmodify_terminal_parameters): Remove.
15033
15034 * terminal.c (get_terminal): Handle terminals.
15035 Make sure the terminal returned is live.
15036 (create_terminal): Use allocate_terminal.
15037 (mark_terminals): Move to alloc.c.
15038 (delete_terminal): Use terminal->name as liveness status.
15039 NULL out fields after freeing their contents.
15040 Don't deallocate the object.
15041 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
15042 rather than an int.
15043 (Fterminal_live_p): Accept non-integer arguments.
15044 (Fterminal_list): Return terminal objects rather than an ints.
15045
15046 * alloc.c (enum mem_type): New member for `terminal' objects.
15047 (allocate_terminal): New function.
15048 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
15049 Handle terminals.
15050 (mark_terminal): New fun.
15051 (mark_terminals): Move from terminal.c.
15052
15053 * term.c (get_tty_terminal): Don't treat output_initial specially.
15054 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
15055 (delete_tty): Use terminal->name as liveness status.
15056
15057 * termhooks.h (struct terminal): Make it into a pseudovector.
15058 Remove `deleted' replaced by checking `name's nullness.
15059
15060 * print.c (print_object): Handle terminals.
15061
15062 * lisp.h (enum pvec_type): New `terminal' pseudovector.
15063 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
15064
15065 * frame.c (make_terminal_frame):
15066 * keyboard.c (tty_read_avail_input):
15067 * w32term.c (x_delete_terminal):
15068 * xfns.c (Fx_create_frame, x_create_tip_frame):
15069 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
15070
150712007-09-20 Glenn Morris <rgm@gnu.org>
15072
15073 * process.c (Fmake_network_process): Doc fix.
15074
150752007-09-19 Jason Rumney <jasonr@gnu.org>
15076
15077 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
15078
150792007-09-19 Michaël Cadilhac <michael@cadilhac.name>
15080
15081 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
15082 Fix a C warning regarding variable constness.
15083
15084 * xterm.c (handle_one_xevent): Fix a C warning.
15085
150862007-09-18 Jason Rumney <jasonr@gnu.org>
15087
15088 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
15089
150902007-09-17 Jan Djärv <jan.h.d@swipnet.se>
15091
15092 * gtkutil.c (gdpy_def): New variable.
15093 (xg_initialize): Initialize gdpy_def.
15094 (xg_display_close): If no other display exists, set gdpy_def to a
15095 new connection.
15096
150972007-09-16 Jan Djärv <jan.h.d@swipnet.se>
15098
15099 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
15100 when we have no file name for the icon.
15101 (xg_tool_bar_expose_callback): Remove.
15102 (xg_create_tool_bar): Don't connect expose signal to
15103 xg_tool_bar_expose_callback.
15104 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
15105
151062007-09-16 Andreas Schwab <schwab@suse.de>
15107
15108 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
15109 values instead of zapping them.
15110
151112007-09-14 Glenn Morris <rgm@gnu.org>
15112
15113 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
15114 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
15115 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
15116 scope and rename to omfib_buffer for clarity.
15117 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
15118
151192007-09-14 Kenichi Handa <handa@m17n.org>
15120
15121 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
15122
151232007-09-13 Jason Rumney <jasonr@gnu.org>
15124
15125 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
15126
15127 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
15128
15129 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
15130 (mac_term_init): Call here instead, passing rif.
15131
151322007-09-13 Glenn Morris <rgm@gnu.org>
15133
15134 * s/hpux.h: No longer define `static' as nothing.
15135
151362007-09-13 Johan Bockgård <bojohan@gnu.org>
15137
15138 * callint.c (Fcall_interactively): Remove unused var `fun'.
15139
151402007-09-12 Romain Francoise <romain@orebokech.com>
15141
15142 * window.c (prefer_window_split_horizontally, display_buffer):
15143 Revert 2007-09-08 change.
15144
151452007-09-12 Glenn Morris <rgm@gnu.org>
15146
15147 * alloca.c: Remove file.
15148 * Makefile.in (alloca): Do not undef.
15149 (allocaobj, alloca.o): Remove.
15150 (otherobj): Remove allocaobj.
15151 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
15152 * regex.c (C_ALLOCA): Remove all references and code that was only
15153 used when this was defined.
15154 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
15155 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
15156 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
15157
15158 * Makefile.in (SOURCES, unlock, relock): Delete.
15159
15160 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
15161 (menu_grab_callback): All uses changed.
15162
15163 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
15164 (x_reply_selection_request): All uses changed.
15165
151662007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
15167
15168 * lread.c (load_warn_old_style_backquotes): Change message to look
15169 better when it appears in the middle of byte-compiler messages.
15170
151712007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
15172
15173 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
15174
15175 * xterm.c (x_create_terminal): Add comment.
15176
15177 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
15178
151792007-09-10 Richard Stallman <rms@gnu.org>
15180
15181 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
15182
151832007-09-10 Michaël Cadilhac <michael@cadilhac.name>
15184
15185 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
15186 (DEFUN): Document `intspec', use it instead of `prompt'.
15187
15188 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
15189
15190 * data.c (Finteractive_form): If the interactive specification starts
15191 with a `(', use it as a Lisp form.
15192
15193 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
15194 name and file modes.
15195
15196 * callint.c (Fcall_interactively): Comment fixes.
15197
151982007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
15199
15200 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
15201 and compiled functions.
15202
152032007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
15204
15205 * window.c (prefer_window_split_horizontally): New variable.
15206 (display_buffer): Consider splitting window horizontally depending
15207 on prefer_window_split_horizontally.
15208
152092007-09-08 Eli Zaretskii <eliz@gnu.org>
15210
15211 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
15212
152132007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
15214
15215 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
15216
15217 * frame.c (x_set_frame_parameters): Check number is positive before
15218 using XFASTINT.
15219
15220 * window.c (freeze_window_start): Don't presume selected_window holds
15221 a window object.
15222 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
15223
152242007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
15225
15226 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
15227
152282007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
15229
15230 * window.c (Vsplit_window_preferred_function): New var.
15231 (Fdisplay_buffer): Use it.
15232 (syms_of_window): Export, and initialize it.
15233
152342007-09-06 Pixel <pixel@mandriva.com> (tiny change)
15235
15236 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
15237
152382007-09-06 Glenn Morris <rgm@gnu.org>
15239
15240 * gtkutil.c (menu_grab_callback) <cnt>:
15241 * xselect.c (x_reply_selection_request) <cnt>: Move static
15242 variable to file scope.
15243
152442007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
15245
15246 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
15247 consistent values of selected_frame and selected_window.
15248
152492007-09-04 Jason Rumney <jasonr@gnu.org>
15250
15251 * w32console.c (initialize_w32_display): Zero unused hooks.
15252
152532007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
15254
15255 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
15256 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
15257
152582007-09-04 Jason Rumney <jasonr@gnu.org>
15259
15260 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
15261 in w32console.c. Set up input. Remove XXX comments that have been
15262 confirmed as correct.
15263
15264 * s/ms-w32.h (MULTI_KBOARD): Define.
15265
15266 * w32console.c (one_and_only_w32cons): Remove.
15267 (initialize_w32_display): Take terminal argument.
15268
15269 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
15270 initialize_w32_display.
15271 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
15272
15273 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
15274
15275 * keyboard.c (discard_mouse_events): Discard it.
15276 (make_lispy_event): Translate it to a lisp event.
15277 (lispy_wheel_names): Add wheel-left and right events.
15278 (syms_of_keyboard): Enlarge wheel_syms.
15279
15280 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
15281 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
15282
15283 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
15284
15285 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
15286 from WM_MOUSEHWHEEL.
15287 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
15288
15289 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
15290 terminal.
15291
15292 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
15293 keyboard for the terminal.
15294
152952007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
15296
15297 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
15298 (Vresume_tty_hook): Rename from Vresume_tty_functions.
15299 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
15300 and resume-tty-function to resume-tty-hook.
15301 (Fsuspend_tty, Fresume_tty): Use new names.
15302
153032007-09-02 Jan Djärv <jan.h.d@swipnet.se>
15304
15305 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
15306 if it starts with "n:".
15307
153082007-08-31 Jan Djärv <jan.h.d@swipnet.se>
15309
15310 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
15311
153122007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
15313
15314 * frame.h:
15315 * frame.c (Qterm_environment_variable): Remove.
15316 (syms_of_frame): Don't init and staticpro it.
15317
15318 * callproc.c (getenv_internal): Remove special case for $TERM.
15319
15320 * callproc.c (Vinitial_environment): New variable.
15321 (set_initial_environment): Initialize it.
15322 (syms_of_callproc): Declare it.
15323 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
15324 TERM under which a process runs is never related to the TERM in which
15325 Emacs is running.
15326
153272007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
15328
15329 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
15330 * s/darwin.h: ... do it here.
15331
153322007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
15333
15334 * lisp.h (set_initial_environment): Rename from set_global_environment.
15335
15336 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
15337 removed by mistake on the multi-tty branch.
15338
15339 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
15340 (Fmodify_frame_parameters): Return a value.
15341
15342 * image.c (png_load): Comment-out var only used in commented-out code.
15343
15344 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
15345 before passing it to mark_object.
15346
15347 * xfaces.c (internal_resolve_face_name): Return a value.
15348 (internal_resolve_face_name, resolve_face_name_error): Comment out.
15349
15350 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
15351 (x_icon): Comment-out var only used in commented-out code.
15352
153532007-08-29 Romain Francoise <romain@orebokech.com>
15354
15355 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
15356 QUIT hasn't been provided.
15357
153582007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
15359
15360 * callproc.c (child_setup, getenv_internal): Use the
15361 display-environment-variable and term-environment-variable frame params.
15362 (set_initial_environment): Initialise Vprocess_environment.
15363
15364 * config.in: Disable multi-keyboard support on a mac.
15365
15366 * frame.c (Qterm_environment_variable)
15367 (Qdisplay_environment_variable): New variables.
15368 (syms_of_frame): Intern and staticpro them.
15369 (Fmake_terminal_frame): Disable output method test.
15370
15371 * frame.h: Declare them here.
15372
15373 * macfns.c (x_set_mouse_color): Get rif from the frame.
15374 (x_set_tool_bar_lines): Don't use updating_frame.
15375 (mac_window): Add 2 new parameters for consistency with other systems.
15376 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
15377 frame parameters following what is done in X11 and w32. Don't use
15378 FRAME_MAC_DISPLAY_INFO.
15379 (Fx_open_connection, start_hourglass): Remove window-system check.
15380 (x_create_tip_frame): Get the keyboard from the terminal.
15381
15382 * macmenu.c: Reorder includes.
15383 (Fx_popup_menu): Use terminal specific mouse_position_hook.
15384
15385 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
15386 terminal parameter.
15387 (x_clear_frame): Add a frame parameter.
15388 (note_mouse_movement): Get rif from the frame.
15389 (mac_term_init): Initialize the terminal.
15390 (mac_initialize): Make static and move terminal initialization ...
15391 (mac_create_terminal): ... to this new function.
15392
15393 * macterm.h (struct mac_display_info): Add terminal.
15394 (mac_initialize): Delete declaration.
15395
15396 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
15397
15398 * sysdep.c: Comment out text after #endif.
15399
15400 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
15401 is defined. Better initialize ttys in windows. Use terminal
15402 specific mouse_position_hook.
15403
15404 * termhooks.h (union display_info): Add mac_display_info.
15405
15406 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
15407 Set the default minibuffer frame, window_system and the rest of the
15408 frame parameters following what is done in X11.
15409
15410 * w32term.c (w32_initialize): Make static.
15411
15412 * xselect.c (x_handle_selection_clear): Only access
15413 terminal->kboard when MULTI_KBOARD is defined.
15414
15415 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
15416 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
15417
154182007-08-29 Jason Rumney <jasonr@gnu.org>
15419
15420 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
15421 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
15422
15423 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
15424 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
15425
15426 * keyboard.c (restore_kboard_configuration): Only define when
15427 MULTI_KBOARD defined.
15428
15429 * makefile.w32-in: Update dependancies from Makefile.in.
15430 (OBJ1): Add terminal.$(O)
15431
15432 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
15433 Don't define function body.
15434 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
15435
15436 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
15437
15438 * w32.c (request_sigio, unrequest_sigio): Remove.
15439
15440 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
15441 (w32con_clear_frame, w32con_clear_end_of_line)
15442 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
15443 (w32con_delete_glyphs, w32con_set_terminal_window)
15444 (scroll_line, w32_sys_ring_bell): Add frame arg.
15445 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
15446 Add terminal arg.
15447 (PICK_FRAME): Remove.
15448 (w32con_write_glyphs): Use frame specific terminal coding.
15449 (one_and_only_w32cons): New global variable.
15450 (initialize_w32_display): Use it for storing hooks.
15451 (create_w32cons_output): New function.
15452
15453 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
15454 arg a frame.
15455
15456 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
15457 Set window_system.
15458 (x_set_tool_bar_lines): Don't use updating_frame.
15459 (Fx_create_frame): Set terminal and ref count.
15460 (Fx_open_connection): Remove window-system check.
15461
15462 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
15463
15464 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
15465 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
15466 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
15467 Add frame arg.
15468 (x_delete_terminal, w32_create_terminal): New functions.
15469 (w32_term_init): Create a terminal.
15470 (w32_initialize): Move terminal specific initialization to
15471 w32_create_terminal.
15472
15473 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
15474 (w32_clear_rect, w32_clear_area): Use background from frame.
15475 (w32_display_info): Add terminal.
15476 (w32_sys_ring_bell, x_delete_display): Declare here.
15477
15478 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
15479
15480 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
15481
154822007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
15483
15484 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
15485 Fix get_named_tty calls for the controlling tty.
15486
154872007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
15488
15489 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
15490
154912007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
15492
15493 * term.c (tty_insert_glyphs): Add missing first parameter.
15494
154952007-08-29 Károly Lőrentey <karoly@lorentey.hu>
15496
15497 * buffer.c (Fbuffer_list, Fbury_buffer):
15498 Take frame->buried_buffer_list into account.
15499
15500 * cm.c (current_tty): New variable, for cmputc().
15501 (cmputc): Use it.
15502 (cmcheckmagic): Add tty parameter, look up terminal streams there.
15503 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
15504 (cmgoto): Add tty parameter. Pass it on to calccost().
15505 Use emacs_tputs() instead of tputs().
15506
15507 * cm.h (emacs_tputs): New macro to set current_tty, and then call
15508 tputs().
15509 (current_tty): New variable, for cmputc().
15510 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
15511
15512 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
15513 (internal_condition_case, internal_condition_case_1)
15514 (internal_condition_case_2): Don't abort when x_catching_errors.
15515
15516 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
15517 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
15518 prevent crashes caused by bogus longjmps in read_char.
15519
15520 * keymap.h (Fset_keymap_parent): Add EXFUN.
15521
15522 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
15523 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
15524 Remove redundant definition.
15525
15526 * macfns.c (x_set_mouse_color, x_make_gc):
15527 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15528
15529 * w32term.c (x_free_frame_resources):
15530 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15531 (w32_initialize): Use the accessor macros for terminal characteristics.
15532
15533 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
15534 Use the accessor macros for terminal characteristics.
15535 * msdos.c (internal_terminal_init): Use the accessor macros for
15536 terminal characteristics.
15537 (ScreenVisualBell, internal_terminal_init):
15538 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15539
15540 * termopts.h (no_redraw_on_reenter): Declare.
15541
15542 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
15543 (mark_terminals, mark_ttys): Declare.
15544 (Fgarbage_collect): Call them.
15545 (mark_object): Mark buried_buffer_list.
15546
15547 * prefix-args.c: Include stdlib.h for exit.
15548
15549 * syssignal.h: Add comment.
15550
15551 * indent.c: Include stdio.h.
15552
15553 * window.h (Vinitial_window_system): Declare.
15554 (Vwindow_system): Delete declaration.
15555
15556 * fontset.c (Finternal_char_font): Use FRAME_RIF.
15557
15558 * image.c (lookup_image): Don't initialize `c' until the xasserts
15559 have been run.
15560
15561 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
15562 FRAME_FOREGROUND_PIXEL.
15563
15564 * print.c (print_preprocess): Don't lose print_depth levels while
15565 iterating.
15566
15567 * widget.c (update_from_various_frame_slots):
15568 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15569
15570 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
15571 frames.
15572 (window_internal_height): Remove bogus make_number call.
15573 (init_window_once): Call make_terminal_frame with two zero parameters.
15574
15575 * fileio.c (Fread_file_name): Update comment.
15576
15577 * callint.c (Fcall_interactively):
15578 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
15579 Make sure it is correctly unwound.
15580
15581 * xsmfns.c (x_session_close): New function.
15582
15583 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
15584 Delete declarations.
15585
15586 * xterm.h: Remove declaration for x_fully_uncatch_errors.
15587 (x_output): Remove background_pixel and foreground_pixel fields.
15588 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
15589 (x_delete_device, x_session_close): Declare.
15590
15591 * lread.c: Include setjmp.h. Update declaration of `read_char'.
15592 (read_filtered_event): Call `read_char' with a local
15593 `wrong_kboard_jmpbuf'.
15594
15595 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
15596 Don't call single_kboard_state. Use FRAME_RIF.
15597
15598 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
15599 systems.
15600
15601 * lisp.h (set_process_environment): Rename to `set_global_environment'.
15602 (Fframe_with_environment, Fset_input_meta_mode)
15603 (Fset_quit_char): EXFUN.
15604 (x_create_device, tty_output, terminal, tty_display_info): Declare.
15605 (init_sys_modes, reset_sys_modes): Update prototypes.
15606 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
15607
15608 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
15609 Vlocal_key_translation_map, and Vkeyboard_translate_table.
15610 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
15611 Delete declarations.
15612 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
15613 (temporarily_switch_to_single_kboard, tty_read_avail_input):
15614 New declarations.
15615
15616 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
15617 already does that during init_display(). Call syms_of_keymap
15618 before syms_of_keyboard. Call `syms_of_terminal'.
15619 Call set_initial_environment, not set_process_environment.
15620 (shut_down_emacs): Call reset_all_sys_modes() instead of
15621 reset_sys_modes().
15622
15623 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
15624 (internal_resolve_face_name, resolve_face_name_error): New functions.
15625 (resolve_face_name): Protect against loops and errors thrown by Fget.
15626 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
15627 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
15628
15629 * scroll.c: Replace CURTTY() with local variables throughout the
15630 file (where applicable).
15631 (calculate_scrolling, calculate_direct_scrolling)
15632 (scrolling_1, scroll_cost): Use the accessor macros for terminal
15633 characteristics.
15634
15635 * keymap.c (Vfunction_key_map): Remove.
15636 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
15637 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
15638 (Vkey_translation_map): Remove.
15639 (syms_of_keymap): Remove DEFVAR for key-translation-map.
15640 (Fdescribe_buffer_bindings)
15641 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
15642 Update for terminal-local key-translation-map.
15643
15644 * Makefile.in (callproc.o): Update dependencies.
15645 (lisp, shortlisp): Add termdev.elc.
15646 (obj): Add terminal.o.
15647 (terminal.o): Add dependencies.
15648 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
15649 (data.o, fns.o): Add termhooks.h dependency.
15650 (SOME_MACHINE_LISP): Add dnd.elc.
15651 (minibuf.o): Fix typo.
15652 Update dependencies.
15653
15654 * data.c (do_symval_forwarding, store_symval_forwarding)
15655 (find_symbol_value): Use the selected frame's keyboard, not
15656 current_kboard.
15657
15658 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
15659 Vwindow_system.
15660
15661 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
15662 Fmenu_bar_open.
15663 (syms_of_xmenu): Update defsubr.
15664 (mouse_position_for_popup, Fx_popup_menu)
15665 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
15666 (set_frame_menubar, free_frame_menubar)
b97439ce 15667 (create_and_show_popup_menu, xmenu_show)
aac0c6e3
MR
15668 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
15669 an X frame.
15670
15671 * xselect.c (x_own_selection): Abort if not an X frame.
15672 (some_frame_on_display): Check if it is an X frame.
15673 (x_handle_selection_clear): Deal with MULTI_KBOARD.
15674
15675 * coding.c: Include frame.h and termhooks.h.
15676 (terminal_coding, keyboard_coding): Delete.
15677 (Fset_terminal_coding_system_internal)
15678 (Fset_keyboard_coding_system_internal)
15679 (Fkeyboard_coding_system)
15680 (Fterminal_coding_system): Add a terminal parameter.
15681 Get terminal_coding from the terminal.
15682 (init_coding_once): Don't call setup_coding_system here.
15683
15684 * dispextern.h (set_scroll_region, turn_off_insert)
15685 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
15686 (tty_clear_end_of_line, tty_setup_colors)
15687 (delete_tty, updating_frame)
15688 (produce_special_glyphs, produce_glyphs, write_glyphs)
15689 (insert_glyphs): Remove.
15690 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
15691 (tty_turn_off_highlight, get_tty_size): Add declaration.
15692 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
15693
15694 * frame.h (enum output_method): Add output_initial.
15695 (struct x_output): Delete.
15696 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
15697 Access foreground_pixel and background_pixel directly from the frame.
15698 (tty_display): Delete.
15699 (struct frame): Add buried_buffer_list, foreground_pixel,
15700 background_pixel and terminal. Delete kboard.
15701 (union output_data): Add tty.
15702 (FRAME_KBOARD): Get the kboard from the terminal.
15703 (FRAME_INITIAL_P): New macro.
15704 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
15705 (Qterm_environment_variable, Qdisplay_environment_variable)
15706 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
15707 New declarations.
15708
15709 * termchar.h (tty_output, tty_display_info): New structures.
15710 (tty_list): Declare.
15711 (FRAME_TTY, CURTTY): New macros.
15712 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
15713 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
15714 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
15715 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
15716
15717 * callproc.c: Include frame.h and termhooks.h, for terminal
15718 parameters.
15719 (add_env): New function.
15720 (child_setup): Use it.
15721 (child_setup, getenv_internal): Handle the new Vprocess_environment.
15722 (getenv_internal): Fix get_terminal_param call.
15723 (Fgetenv_internal, egetenv): Update doc.
15724 (syms_of_callproc): Initialize Vprocess_environment to nil.
15725 Register and initialize them. Remove obsolete defvars. Update doc
15726 strings.
15727 (child_setup): Handle Vlocal_environment_variables.
15728 (getenv_internal): Add terminal parameter.
15729 Handle Vlocal_environment_variables.
15730 (Fgetenv_internal): Add terminal parameter.
15731 (child_setup, getenv_internal, Fgetenv_internal): Store the local
15732 environment in a frame (not terminal) parameter. Update doc strings.
15733 (set_initial_environment): Rename from set_global_environment.
15734 Store Emacs environment in initial frame parameter.
15735
15736 * xdisp.c (redisplay_internal): Update references to
15737 `previous_terminal_frame'.
15738 (display_mode_line, Fformat_mode_line): Replace calls to
15739 `push_frame_kboard' with `push_kboard'.
15740 (get_glyph_string_clip_rects): Add extra parentheses and
15741 braces to prevent compiler warnings.
15742 (calc_pixel_width_or_height): Add xassert to check that the
15743 frame is alive. Don't call `lookup_image' on a termcap frame.
15744 (message2_nolog, message3_nolog, redisplay_internal)
15745 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
15746 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
15747 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
15748 (Fx_display_pixel_width, Fx_display_pixel_height)
15749 (Fx_display_planes, Fx_display_color_cells)
15750 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
15751 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
15752 (Fx_display_backing_store, Fx_display_visual_class)
15753 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
15754 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
15755
15756 * xfns.c (x_set_foreground_color x_set_background_color)
15757 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
15758 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15759 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
15760 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
15761 terminal that is being deleted.
15762 (Fx_create_frame): Use `store_frame_param' to set `window-system'
15763 frame parameter, and make sure it overrides any user-supplied setting.
15764 (Fx_close_connection, Fx_synchronize): Unify argument names with
15765 the rest of the DEFUNs.
15766
15767 * dispnew.c (Fsend_string_to_terminal): Update call to
15768 `get_tty_terminal'.
15769 (Fredraw_frame, Fsend_string_to_terminal)
15770 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
15771 FRAME_TERMCAP_P and FRAME_TTY.
15772 (window_change_signal): Don't believe width/height values that are
15773 impossibly small.
15774 (Vinitial_window_system): Rename from Vwindow_system.
15775 (termscript, Wcm, rif): Delete.
15776
15777 * termhooks.h (struct terminal): New struct containing the
15778 previously global text display hooks and new members NAME,
15779 DELETED and PARAM_ALIST.
15780 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
15781 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
15782 (FRAME_RIF): New macros.
15783 (get_terminal_param, get_device): New declarations.
15784 (termscript): Delete declaration.
15785
15786 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
15787 (XTflash, x_free_frame_resources, x_scroll_bar_create)
15788 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
15789 FRAME_FOREGROUND_PIXEL.
15790 (x_fully_uncatch_errors): Disable definition.
15791 (x_scroll_bar_expose): Fix reference to foreground pixel.
15792 (XTread_socket): Disable loop on all X displays.
15793 (x_delete_terminal): Don't set terminal->deleted and let
15794 delete_terminal delete the frames on the terminal.
15795 (x_delete_display): Doc update to reflect changes in
15796 delete_terminal.
15797 (x_display_info) <terminal>: Move member earlier in the struct.
15798 (deleting_tty): Remove old variable.
15799 (Fsuspend_tty): Call clear_tty_hooks.
15800 (Fresume_tty, init_tty): Call set_tty_hooks.
15801 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
15802 errors on X frames.
15803 (x_catch_errors_unwind): Abort if x_error_message is NULL.
15804 (handle_one_xevent): Initialize `f' to NULL.
15805 (x_delete_terminal, x_create_terminal): New functions.
15806 (XTset_terminal_modes, XTreset_terminal_modes)
15807 (XTread_socket, x_connection_closed, x_term_init)
15808 (x_term_init, x_delete_display): Add terminal parameter.
15809 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
15810 X connections.
15811
15812 * frame.c: Include termchar.h.
15813 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
15814 (Qwindow_system, Qenvironment, Qterm_environment_variable)
15815 (Qdisplay_environment_variable): New vars.
15816 (Fframep): Deal with output_initial.
15817 (Fframe-live-p): Doc fix.
15818 (Fwindow-system): New function.
15819 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
15820 (make_terminal_frame): Don't create frames on a terminal that is
15821 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15822 (store_frame_param): Check for found_for_frame before calling XFRAME.
15823 (Fmake_terminal_frame): Handle NULL tty names correctly.
15824 (syms_of_frame): Enhance doc string of `default-frame-alist'.
15825 (Fdelete_frame): Remove unused variable `count'. Don't allow other
15826 frames to refer to a deleted frame in their 'environment parameter.
15827 (Fframe_with_environment): New function.
15828 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
15829 (get_future_frame_param): New function.
15830 (Fmake_terminal_frame): Use it.
15831 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
15832
15833 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
15834 * sysdep.c (reset_sys_modes): Update for renames.
15835
15836 * keyboard.c (tty_read_avail_input): New function.
15837 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
15838 (syms_of_keyboard): Defsubr them.
15839 (Fset_input_meta_mode, Fset_quit_char): New functions.
15840 (Fset_input_mode): Split to above functions.
15841 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
15842 parameter. Use it in call to `read_char'.
15843 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
15844 Set wrong_kboard_jmpbuf correctly in recursive calls.
15845 Use current_kboard to access Vkeyboard_translate_table.
15846 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
15847 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
15848 Update longjmp invocations. Remember the original current_kboard,
15849 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
15850 changes it. Comment out unnecessary calls to
15851 `record_single_kboard_state' and `any_kboard_state'.
15852 Update recursive calls.
15853 (wrong_kboard_jmpbuf): Remove global variable.
15854 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
15855 Handle deleted interrupted_kboards correctly; that is a legal
15856 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
15857 and read_char calls. Abort if interrupted_kboard died in read_char.
15858 (any_kboard_state, single_kboard_state)
15859 (push_frame_kboard): Remove function.
15860 (pop_kboard): Switch out of single_kboard mode if the kboard has
15861 been deleted. Remove unused variable. Help debugging by not
15862 changing current_kboard unnecessarily. Set current_kboard to the
15863 kboard of the selected frame when the stored kboard object has
15864 been deleted before pop_kboard.
15865 (temporarily_switch_to_single_kboard): Change first parameter to a
15866 frame pointer. Throw an error when caller wants to change kboards
15867 while in single_kboard mode. Don't push_kboard if we weren't in
15868 single kboard state. Don't pop_kboard if we popped into any
15869 kboard state.
15870 (restore_kboard_configuration): Abort if pop_kboard changed the
15871 kboard in single_kboard mode. Call pop_kboard only after setting
15872 up single_kboard mode.
15873 (Frecursive_edit): Switch to single_kboard mode only in nested
15874 command loops.
15875 (cmd_error, command_loop, command_loop_1, timer_check):
15876 Comment out unnecessary call to `any_kboard_state' and
15877 `record_single_kboard_state'.
15878 (delete_kboard): Exit single_kboard mode if we have just deleted
15879 that kboard. Use FRAME_KBOARD.
15880 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
15881 `fatal_error_signal'.
15882 (record_single_kboard_state): Don't push_kboard if we weren't in
15883 single kboard state. Don't pop_kboard if we popped into any
15884 kboard state.
15885 (push_frame_kboard): Rename to push_kboard.
15886 (kbd_buffer_get_event): Use FRAME_TERMINAL.
15887 (read_avail_input): Read input from all terminals.
15888 (mark_kboards): Also mark Vkeyboard_translate_table.
15889 (kbd_buffer_store_event_hold): Simplify condition.
15890 (read_key_sequence): Reinitialize fkey and keytran at each replay.
15891 (Vkeyboard_translate_table): Move to struct kboard.
15892 (init_kboard): Initialize Vkeyboard_translate_table.
15893 (syms_of_keyboard): Use DEFVAR_KBOARD to define
15894 Vkeyboard_translate_table. Update doc strings. Update docs of
15895 local-function-key-map and function-key-map.
15896
15897 * terminal.c: New file.
15898
15899 * term.c: Include errno.h.
15900 (Vring_bell_function, device_list, initial_device)
15901 (next_device_id, ring_bell, update_begin, update_end)
15902 (set_terminal_window, cursor_to, raw_cursor_to)
15903 (clear_to_end, clear_frame, clear_end_of_line)
15904 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
15905 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
15906 (syms_of_term): Move their initialization to terminal.c.
15907 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
15908 (Ftty_display_color_cells)
15909 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
15910 (clear_tty_hooks, set_tty_hooks)
15911 (init_tty, maybe_fatal): New functions.
15912 (Ftty_type): Return nil if terminal is not on a tty instead of
15913 throwing an error. Doc update.
15914 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
15915 Doc update. Initialize new subrs and variables.
15916 (delete_tty): Use terminal->deleted.
15917 (tty_set_terminal_modes): Rename from set_terminal_modes.
15918 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
15919 (set_scroll_region): Rename to `tty_set_scroll_region'.
15920 (turn_on_insert): Rename to `tty_turn_on_insert'.
15921 (turn_off_insert): Rename to `tty_turn_off_insert'.
15922 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
15923 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
15924 (toggle_highligh): Rename to `tty_toggle_highlight'.
15925 (background_highlight): Rename to `tty_background_highlight'.
15926 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
15927 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
15928 (tty_set_scroll_region, tty_background_highlight)
15929 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
15930 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
15931 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
15932 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
15933 Add static modifier.
15934 (tty_reset_terminal_modes, tty_set_terminal_window)
15935 (tty_set_scroll_region, tty_background_highlight)
15936 (tty_highlight_if_desired, tty_cursor_to)
15937 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
15938 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
15939 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
15940 renames.
15941
159422007-08-28 Jan Djärv <jan.h.d@swipnet.se>
15943
15944 * keyboard.c: Qrtl is new.
15945 (parse_tool_bar_item): Handle :rtl keyword.
15946 (syms_of_keyboard): Intern :rtl keyword.
15947
15948 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
15949
15950 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
15951 so no Lisp code is executed.
15952 (file_for_image, find_rtl_image): New functions.
15953 (xg_get_image_for_pixmap): Use file_for_image.
15954 (update_frame_tool_bar): If direction is RTL, use RTL image if
15955 defined. Use Gtk stock images if defined.
15956
159572007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15958
15959 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
15960 for nonexistent or zero-width glyph in composition glyph.
15961
159622007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
15963
15964 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
15965
15966 * xdisp.c (Finvisible_p): New function.
15967 (syms_of_xdisp): defsubr it.
15968
159692007-08-24 Juanma Barranquero <lekktu@gmail.com>
15970
15971 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
15972 Doc fixes.
15973
159742007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15975
15976 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
15977
159782007-08-24 Martin Rudalics <rudalics@gmx.at>
15979
15980 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
15981 whether decoding has modified buffer contents.
15982
159832007-08-24 Jason Rumney <jasonr@gnu.org>
15984
15985 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
15986 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
15987 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
15988 (init_svg_functions) [HAVE_NTGUI]: New function.
15989 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
15990 (svg_load_image): Use them.
15991 (svg_load_image) [HAVE_NTGUI]: Implement background.
15992
159932007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15994
15995 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
15996 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
15997 (LIBX): Remove @RSVG_LIBS@.
15998 (LIBES): Add $(RSVG_LIBS).
15999
16000 * image.c (svg_load_image): Blend with specified background if exists.
16001 Use IMAGE_BACKGROUND. Add Mac OS Support.
16002
16003 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
16004 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
16005 Remove macros.
16006 [MAC_OSX] (socket_callback): Do nothing.
16007 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
16008 ReceiveNextEvent.
16009 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
16010 socket_callback.
16011 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
16012
160132007-08-22 Glenn Morris <rgm@gnu.org>
16014
16015 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
16016
160172007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
16018
16019 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
16020
16021 * image.c: Add support for SVG images. Some additional comments
16022 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
16023 (svg_image_p): New function to test for SVG image.
16024 (svg_load): New function to load SVG image.
16025 (svg_load_image): New function, helper for svg_load.
16026 (Qsvg): New Lisp_object.
16027 (svg_keyword_index): New enum.
16028 (svg_format): New static `image_keyword' struct.
16029 (svg_type): New static `image_type' struct.
16030 (librsvg/rsvg.h): Include it.
16031
160322007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
16033
16034 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
16035
160362007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
16037
16038 * lread.c (Qold_style_backquotes): New var.
16039 (syms_of_lread): Init and staticpro it.
16040 (load_warn_old_style_backquotes): New fun.
16041 (Fload): Use them to warn about old style backquotes.
16042 (end_of_file_error, Fload): Remove unused vars.
16043
16044 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
16045
16046 * lread.c (Vold_style_backquotes): New var.
16047 (syms_of_lread): Init and export it to Elisp.
16048 (read1): Set it when we find an old-style (back)quote.
16049
160502007-08-22 Jason Rumney <jasonr@gnu.org>
16051
16052 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
16053
160542007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
16055
16056 * puresize.h (BASE_PURESIZE): Increase to 1140000.
16057
160582007-08-19 Richard Stallman <rms@gnu.org>
16059
16060 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
16061
160622007-08-19 Andreas Schwab <schwab@suse.de>
16063
16064 * alloc.c (pure): Round PURESIZE up.
16065
160662007-08-17 Jan Djärv <jan.h.d@swipnet.se>
16067
16068 * xterm.c (handle_one_xevent): Remove check that mouse click is in
16069 active frame.
16070
160712007-08-16 Richard Stallman <rms@gnu.org>
16072
16073 * eval.c (Fcommandp): Add parens to clarify.
16074
16075 * minibuf.c (Fall_completions): Use enum for type of table.
16076
16077 * emacs.c (USAGE2): Improve text.
16078
160792007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
16080
16081 * term.c (tty_default_color_capabilities): Declare static
16082 variables in file scope, to avoid HPUX compiler problem.
16083
160842007-08-13 Jan Djärv <jan.h.d@swipnet.se>
16085
16086 * gtkutil.c (update_frame_tool_bar): Use -1 as index
16087 to gtk_toolbar_insert.
16088
160892007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
16090
16091 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
16092
16093 * insdel.c (reset_var_on_error): New fun.
16094 (signal_before_change, signal_after_change):
16095 Use it to reset (after|before)-change-functions to nil in case of error.
16096 Bind inhibit-modification-hooks to t.
16097 Don't bind (after|before)-change-functions to nil while they run.
16098
160992007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16100
16101 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
16102 filling pixmap with stippled background.
16103
161042007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16105
16106 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
16107 Don't use invisible frame as parent window for repositioning.
16108
161092007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
16110
16111 * print.c (new_backquote_output): Rename from old_backquote_output.
16112 (print): Inverse its logic (according to its name) so as to match the
16113 behavior of new_backquote_flag in lread.c.
16114
161152007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16116
16117 * gmalloc.c (posix_memalign): New function.
16118
16119 * macterm.c (frame_highlight, frame_unhighlight): Don't call
16120 ActivateControl/DeactivateControl here.
16121 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
16122 frame-notice-user-settings is non-nil.
16123 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
16124 for kEventParamFMFontStyle.
16125 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
16126 mac_pass_command_to_system and mac_pass_control_to_system here.
16127 (XTread_socket): Call ActivateControl/DeactivateControl here.
16128 (XTread_socket) [TARGET_API_MAC_CARBON]:
16129 Check mac_pass_command_to_system and mac_pass_control_to_system here.
16130 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
16131 for window repositioning.
16132
161332007-08-08 Glenn Morris <rgm@gnu.org>
16134
16135 * Replace `iff' in doc-strings and comments.
16136
161372007-08-07 Chong Yidong <cyd@stupidchicken.com>
16138
16139 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
16140
161412007-08-07 Martin Rudalics <rudalics@gmx.at>
16142
16143 * fileio.c (Finsert_file_contents): Run format-decode and
16144 after_insert_file_functions on entire buffer when REPLACE is
16145 non-nil and inhibit modification_hooks and point_motion_hooks.
16146 For consistency, run after_insert_file_functions iff something
16147 got inserted. Move signal_after_change and update_compositions
16148 after code running after_insert_file_functions. Make sure that
16149 undo_list doesn't record intermediate steps of the decoding process.
16150
161512007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16152
16153 * emacs.c (main)
16154 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
16155 Call malloc_enable_thread on interactive startup.
16156
16157 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
16158 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
16159 [USE_PTHREAD]: Conditionalize with it.
16160 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
16161 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
16162 New functions.
16163
161642007-08-06 Chong Yidong <cyd@stupidchicken.com>
16165
16166 * xdisp.c (redisplay_window): When restoring original buffer
16167 position, make sure it is still valid.
16168
16169 * image.c (png_load): Ignore png-supplied background color.
16170
161712007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16172
16173 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
16174 Use kCFAbsoluteTimeIntervalSince1970.
16175
16176 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
16177 New variable.
16178 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
16179 event loop should be quit.
16180 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
16181 Quit dialog event loop if quit_dialog_event_loop is set.
16182
16183 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
16184 (Selection): New typedef. Use instead of ScrapRef.
16185 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
16186 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
16187 (mac_clear_selection): Rename from clear_scrap.
16188 (get_flavor_type_from_symbol): New argument SEL and subsume function of
16189 scrap_has_target_type. All uses changed.
16190 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
16191 (mac_selection_has_target_p): New functions.
16192 (mac_put_selection_value): Rename from put_scrap_string.
16193 (mac_get_selection_value): Rename from get_scrap_string.
16194 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
16195 (put_scrap_private_timestamp, scrap_has_target_type)
16196 (get_scrap_private_timestamp): Remove functions.
16197 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
16198 (x_own_selection, x_get_local_selection):
16199 Use mac_valid_selection_value_p.
16200 (x_own_selection): Don't use put_scrap_private_timestamp.
16201 Record OWNERSHIP-INFO into Vselection_alist instead.
16202 (x_get_local_selection): Don't check type if request is local.
16203 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
16204 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
16205
162062007-08-04 Jan Djärv <jan.h.d@swipnet.se>
16207
16208 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
16209 add comment explaining why.
16210
162112007-08-03 Richard Stallman <rms@gnu.org>
16212
16213 * fileio.c (Fvisited_file_modtime): Use make_time.
16214
162152007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
16216
16217 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
16218 build.
16219
162202007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
16221
16222 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
16223
162242007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
16225
16226 * puresize.h (BASE_PURESIZE): Increase to 1130000.
16227
162282007-07-30 Richard Stallman <rms@gnu.org>
16229
16230 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
16231
162322007-07-29 Jan Djärv <jan.h.d@swipnet.se>
16233
16234 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
16235
162362007-07-28 Nick Roberts <nickrob@snap.net.nz>
16237
16238 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
16239 remote default-directory.
16240
16241 * buffer.c (mode-line-format): Update doc string.
16242
162432007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16244
16245 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
16246 scroll bar gap.
16247 (x_scroll_bar_create): Set bar->fringe_extended_p.
16248 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
16249 on frame edge. Check fringe background extension. Don't clear
16250 extended fringe background area.
16251
16252 * w32term.h (struct scroll_bar): New member fringe_extended_p.
16253 (w32_fill_area): Enclose multiple statements with do ... while (0).
16254
16255 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
16256 Extend fringe background to scroll bar gap.
16257 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
16258 Set bar->fringe_extended_p.
16259 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
16260 Put leftmost/rightmost scroll bars on frame edge. Check fringe
16261 background extension. Don't clear extended fringe background area.
16262
16263 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
16264 New member fringe_extended_p.
16265
162662007-07-25 Glenn Morris <rgm@gnu.org>
16267
16268 * Relicense all FSF files to GPLv3 or later.
16269
16270 * COPYING: Switch to GPLv3.
16271
162722007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
16273
16274 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
16275
16276 * data.c (Finteractive_form): Check for the presence of an
16277 `interactive-form' symbol property more thoroughly.
16278
16279 * data.c (Finteractive_form): Use an `interactive-form' property if
16280 present, analogous to the function-documentation property.
16281
162822007-07-24 Jason Rumney <jasonr@gnu.org>
16283
16284 * w32fns.c (x_real_positions): Get real position from OS instead of
16285 calculating it.
16286
162872007-07-23 Jason Rumney <jasonr@gnu.org>
16288
16289 * filelock.c (current_lock_owner): Allow for @ sign in username.
16290
162912007-07-22 Nick Roberts <nickrob@snap.net.nz>
16292
16293 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
16294 remote default-directory.
16295
16296 * buffer.c (mode-line-format): Describe above case in doc string.
16297
162982007-07-20 Eli Zaretskii <eliz@gnu.org>
16299
16300 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
16301 Define if not defined.
16302
163032007-07-18 Jason Rumney <jasonr@gnu.org>
16304
16305 * w32proc.c (w32_executable_type): Handle 64 bit executables.
16306
163072007-07-18 Richard Stallman <rms@gnu.org>
16308
16309 * data.c (Fsetq_default): Doc fix.
16310
16311 * eval.c (Fsetq): Doc fix.
16312
163132007-07-18 Juanma Barranquero <lekktu@gmail.com>
16314
16315 * coding.c (Ffind_operation_coding_system):
16316 * eval.c (For, Fand): Doc fixes.
16317 Reported by Johan Bockgård.
16318
163192007-07-18 Jan Djärv <jan.h.d@swipnet.se>
16320
16321 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
16322
16323 * xterm.h: Declare x_ewmh_activate_frame.
16324
16325 * xterm.c (x_ewmh_activate_frame): New function.
16326 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
16327
163282007-07-17 Martin Rudalics <rudalics@gmx.at>
16329
16330 * window.c (Fdisplay_buffer): If largest or LRU window is the
16331 only window, split it even if it is not eligible for splitting.
16332 This restores the original behavior broken by the 2007-07-15
16333 change.
16334
163352007-07-17 Glenn Morris <rgm@gnu.org>
16336
16337 * abbrev.c (abbrev_check_chars): New function.
16338 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
16339 Call abbrev_check_chars to check abbrev characters are word
16340 constituents. Doc fix.
16341
163422007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
16343
16344 * process.c (Fstart_process, Fmake_network_process)
16345 (read_process_output): Fix up last changes.
16346
163472007-07-16 Eli Zaretskii <eliz@gnu.org>
16348
16349 * makefile.w32-in (clean): Don't delete *~.
16350
163512007-07-16 Andreas Schwab <schwab@suse.de>
16352
16353 * window.c (Fdisplay_buffer): Use NILP.
16354 (Fset_window_scroll_bars): Likewise.
16355
163562007-07-15 Martin Rudalics <rudalics@gmx.at>
16357
16358 * window.c (window_min_size_2): New function.
16359 (window_min_size_1, size_window, Fdisplay_buffer)
16360 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
16361 windows without mode- or header-lines when window-min-height is
16362 too small.
16363 (size_window): Reset nodelete_p after testing it, following an
16364 earlier note by Kim F. Storm.
16365 (display_buffer): Do not set split_height_threshold to twice the
16366 value of window_min_height to avoid changing the value of a
16367 customizable variable. Rather explicitly check whether the
16368 height of the window that shall be splitted is at least as large
16369 as split_height_threshold.
16370 (Fwindow_full_width_p): New defun.
16371 (syms_of_window): Defsubr it.
16372
16373 * window.h: Add EXFUN for Fwindow_full_width_p.
16374
163752007-07-14 Jason Rumney <jasonr@gnu.org>
16376
16377 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
16378
163792007-07-14 Richard Stallman <rms@gnu.org>
16380
16381 * eval.c (maybe_call_debugger): New function.
16382 (find_handler_clause): Use maybe_call_debugger.
16383 Call it when the handler says `debug'.
16384 Eliminate DEBUGGER_VALUE_PTR.
16385 (Fsignal): Eliminate debugger_value.
16386 (Qdebug): New variable.
16387 (syms_of_eval): Initialize it.
16388
163892007-07-14 Juanma Barranquero <lekktu@gmail.com>
16390
16391 * eval.c (Fprogn):
16392 * keyboard.c (Ftrack_mouse):
16393 * print.c (Fwith_output_to_temp_buffer):
16394 * window.c (Fsave_window_excursion): Doc fix.
16395
163962007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
16397
16398 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
16399
164002007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
16401
16402 * process.h (struct Lisp_Process): Turn slots infd, outfd,
16403 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
16404 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
16405 read_output_delay, and read_output_skip from Lisp_Objects to ints.
16406 Remove unused encoding_carryover.
16407 * process.c: Adjust all functions accordingly.
16408
164092007-07-12 Richard Stallman <rms@gnu.org>
16410
16411 * term.c: Include unistd.h only if HAVE_UNISTD_H.
16412
164132007-07-11 Jason Rumney <jasonr@gnu.org>
16414
16415 * makefile.w32-in (LIBS): Include OLE32.
16416
16417 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
16418 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
16419
164202007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
16421
16422 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
16423 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
16424 from a Lisp_Object into a bare pointer.
16425 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
16426 Adjust the code correspondingly.
16427
16428 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
16429
16430 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
16431 (term_show_mouse_face): Remove unused var `j'.
16432 (handle_one_term_event): Remove unused vars `i' and `j'.
16433 Don't cast return value of ttyname since it's not necessary.
16434
164352007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
16436
16437 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
16438 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
16439
16440 * fns.c (map_char_table): Use an array of int for `indices' rather than
16441 an array of Lisp_Objects (which are only ever integers anyway).
16442 (Fmap_char_table): Update caller.
16443 * lisp.h: Update prototype.
16444 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
16445 * fontset.c (Ffontset_info):
16446 * casetab.c (set_case_table): Update callers.
16447
16448 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
16449
16450 * keymap.c (struct accessible_keymaps_data)
16451 (struct where_is_internal_data): New structures.
16452 (accessible_keymaps_1, where_is_internal_1): Use them to change
16453 interface to adhere to the one used by map_keymap.
16454 (Faccessible_keymaps, where_is_internal): Use map_keymap.
16455 (accessible_keymaps_char_table, where_is_internal_2): Remove.
16456
16457 * keymap.h (map_keymap_function_t): More informative prototype.
16458
164592007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
16460
16461 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
16462 (looking_at_1): Don't change search_regs and last_thing_searched
16463 if `inhibit-changing-match-data' is non-nil.
16464 (string_match_1, search_buffer, set_search_regs): Likewise.
16465 (syms_of_search): Add Lisp level definition for
16466 `inhibit-changing-match-data' and set it to nil.
16467 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
16468 start and end of the match, instead of using values in search_regs.
16469
164702007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
16471
16472 * minibuf.c (Fcompleting_read): New value `confirm-only'
16473 for `require-match'.
16474
164752007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
16476
16477 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
16478 part of the 2007-06-27 change to syms_of_fileio.
16479
164802007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16481
16482 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
16483 Check WINDOWP before using XWINDOW. Consolidate return statements.
16484
164852007-06-27 Richard Stallman <rms@gnu.org>
16486
16487 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
16488
164892007-06-27 Juanma Barranquero <lekktu@gmail.com>
16490
16491 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
16492
164932007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16494
16495 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
16496 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
16497 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
16498 (_free_internal, memalign): Use them.
16499 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
16500 Initialize to PTHREAD_MUTEX_INITIALIZER.
16501 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
16502 (morecore_nolock): Rename from morecore. All uses changed.
16503 Use only nolock versions of internal allocation functions.
16504 (_malloc_internal_nolock, _realloc_internal_nolock)
16505 (_free_internal_nolock): New functions created from
16506 _malloc_internal, _realloc_internal, and _free_internal.
16507 (_malloc_internal, _realloc_internal, _free_internal): Use them.
16508 Copy hook value to automatic variable before its use.
16509 (memalign): Copy hook value to automatic variable before its use.
16510
165112007-06-26 Kenichi Handa <handa@m17n.org>
16512
16513 * coding.c (Ffind_operation_coding_system): Docstring improved.
16514 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
16515
165162007-06-25 David Kastrup <dak@gnu.org>
16517
16518 * keymap.c (Fcurrent_active_maps): Add `position' argument.
16519 (Fwhere_is_internal): Adjust call to `current-active-maps' to
16520 cater for additional parameter.
16521
16522 * keymap.h: Adjust number of parameters to `current-active-maps'.
16523
16524 * doc.c (Fsubstitute_command_keys): Adjust call of
16525 `current-active-maps'.
16526
165272007-06-25 David Kastrup <dak@gnu.org>
16528
16529 * callint.c (Fcall_interactively): Make the parsing of interactive
16530 specs somewhat more readable.
16531
165322007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16533
16534 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
16535 to scroll bar gap also when bitmap fills fringe. Draw only foreground
16536 if extended background has already been filled.
16537
165382007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16539
16540 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
16541 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
16542
16543 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
16544 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
16545 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
16546 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
16547 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
16548 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
16549 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
16550 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
16551 Run timers during dialog popup.
16552 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
16553
165542007-06-21 Jason Rumney <jasonr@gnu.org>
16555
16556 * image.c (convert_mono_to_color_image): Swap fore and background.
16557
165582007-06-20 Jason Rumney <jasonr@gnu.org>
16559
16560 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
16561 (w32_free_bdf_font): Unmap memory not handle.
16562
165632007-06-20 Sam Steingold <sds@gnu.org>
16564
16565 * gmalloc.c (__morecore): Fix the declaration to comply with the
16566 definition.
16567
165682007-06-20 Juanma Barranquero <lekktu@gmail.com>
16569
16570 * w32term.c (w32_delete_display): Remove leftover declaration.
16571 (w32_define_cursor, w32_initialize): Make static.
16572
16573 * w32.c (_wsa_errlist): Fix typo in error message.
16574 (init_environment): Ignore any environment variable from the
16575 registry having a null value.
16576
165772007-06-20 Glenn Morris <rgm@gnu.org>
16578
16579 * Makefile.in (LIBGIF): Default to -lgif.
16580
165812007-06-17 Jason Rumney <jasonr@gnu.org>
16582
16583 * w32menu.c (add_menu_item): Don't use multibyte string functions on
16584 unicode strings.
16585
165862007-06-16 Juanma Barranquero <lekktu@gmail.com>
16587
16588 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
16589 Fix typo in docstring.
16590
165912007-06-16 Eli Zaretskii <eliz@gnu.org>
16592
16593 * w32menu.c (add_menu_item): Escape `&' characters in menu items
16594 and their keybindings.
16595
165962007-06-15 Chong Yidong <cyd@stupidchicken.com>
16597
16598 * composite.c (update_compositions): Fix last fix.
16599
166002007-06-14 Jason Rumney <jasonr@gnu.org>
16601
16602 * w32.c (get_process_times_fn): New function pointer.
16603 (globals_of_w32): Intialize it if present in kernel32.dll.
16604 (w32_get_internal_run_time): New function.
16605
16606 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
16607
166082007-06-14 Kenichi Handa <handa@etlken.m17n.org>
16609
16610 * composite.c (update_compositions): Check the validness of
16611 compositions.
16612
166132007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16614
16615 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
16616 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
16617
16618 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
16619 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
16620
16621 * macgui.h (USE_MAC_TOOLBAR): New define.
16622
16623 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
16624 Return immediately unless popup is activated.
16625
16626 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
16627 background to scroll bar gap.
16628 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
16629 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
16630 scroll bars on frame edge. Check fringe background extension.
16631 Don't clear extended fringe background area.
16632 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
16633 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
16634 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
16635 [USE_MAC_TOOLBAR]: New macros.
16636 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
16637 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
16638 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
16639 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
16640 [USE_MAC_TOOLBAR]: New functions.
16641 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
16642 manually if previous repositioning has failed.
16643 (mac_handle_keyboard_event): Use precomputed event kind.
16644 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
16645 as tool bar item click. Handle mouse movement over tool bar items.
16646
16647 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
16648 toolbar_win_gravity.
16649 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
16650 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
16651 Add externs.
16652
16653 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
16654 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
16655
166562007-06-14 Chong Yidong <cyd@stupidchicken.com>
16657
16658 * image.c (search_image_cache): Remove unused variable.
16659
166602007-06-13 Chong Yidong <cyd@stupidchicken.com>
16661
16662 * xfns.c, xmenu.c: Link to xaw3d if available.
16663
166642007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16665
16666 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
16667 frame_foreground and frame_background.
16668
16669 * image.c (lookup_image): Save frame foreground and background colors.
16670 (search_image_cache): Check if saved and current frame colors match.
16671
166722007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
16673
16674 * regex.c (regex_compile): Remove the `regnum' counter.
16675 Use bufp->re_nsub instead. Add support for \(?N:RE\).
16676
166772007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
16678
16679 * term.c: Include intervals.h to declare Fget_text_property.
16680
166812007-06-10 Jason Rumney <jasonr@gnu.org>
16682
16683 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
16684
166852007-06-08 Juanma Barranquero <lekktu@gmail.com>
16686
16687 * callint.c (Fcall_interactively):
16688 * editfns.c (Fdelete_and_extract_region):
16689 * fileio.c (Fread_file_name):
16690 * fns.c (Fmapconcat):
16691 * keyboard.c (cmd_error_internal):
16692 * keymap.c (Fkey_description):
16693 * lread.c (openp):
16694 * minibuf.c (read_minibuf):
16695 * search.c (wordify):
16696 * sunfns.c (sel_read):
16697 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
16698 * xfns.c (x_default_scroll_bar_color_parameter):
16699 * xmenu.c (menu_help_callback):
16700 * xselect.c (Fx_get_atom_name):
16701 * xterm.c (x_term_init): Use empty_unibyte_string.
16702
167032007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
16704
16705 * alloc.c (init_strings): Initialize canonical empty strings.
16706 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
16707 canonical empty string when the requested size is 0.
16708
16709 * emacs.c (empty_unibyte_string): Rename from empty_string.
16710 (empty_multibyte_string): New canonical empty string.
16711 (syms_of_emacs): Don't initialize empty_string.
16712
16713 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
16714 string, if appropriate.
16715 (empty_unibyte_string, empty_multibyte_string): New externs.
16716 (empty_string): Remove extern.
16717
16718 * lread.c (syms_of_lread): Use empty_unibyte_string.
16719
167202007-06-07 Jason Rumney <jasonr@gnu.org>
16721
16722 * s/ms-w32.h: Don't define HAVE_TZNAME.
16723
16724 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
16725
167262007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16727
16728 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
16729
16730 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
16731 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
16732
16733 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
16734 Don't call next handler.
16735 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
16736 Remove argument. Install handler to application.
16737 (set_frame_menubar): Don't change deep_p.
16738 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
16739 FRAME_OUTER_TO_INNER_DIFF_Y.
16740 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
16741 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
16742 [HAVE_DIALOGS]: New macros.
16743 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
16744 Use them.
16745 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
16746
16747 * macselect.c [MAC_OSX] (install_service_handler): Rename from
16748 init_service_handler. All callers changed. Return OSStatus value.
16749
16750 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
16751 All callers changed so as not to call SetPortWindowPort.
16752 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
16753 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
16754 mac_draw_string_common.
16755 (mac_draw_image_string_qd): Likewise.
16756 (mac_draw_string_common): Use them. Add INLINE.
16757 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
16758 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
16759 GetGlobalMouse.
16760 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
16761 and FRAME_OUTER_TO_INNER_DIFF_Y.
16762 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
16763 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
16764 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
16765 repositioning window to mac_handle_window_event.
16766 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
16767 saving window location to mac_handle_window_event
16768 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
16769 (install_menu_target_item_handler): Remove argument in extern.
16770 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
16771 Also accept command events.
16772 (do_keystroke): New function created from XTread_socket.
16773 (init_command_handler): Remove functions.
16774 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
16775 and save window location by kEventWindowShowing and kEventWindowHiding
16776 handlers here. Don't call next handler for window state change and
16777 focus events.
16778 (mac_handle_application_event, mac_handle_keyboard_event)
16779 [TARGET_API_MAC_CARBON]: New functions.
16780 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
16781 kEventWindowShowing and kEventWindowHiding events. Move installation
16782 of mouse, font, text input and menu target item handlers to
16783 install_application_handler.
16784 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
16785 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
16786 New function.
16787 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
16788 Register it.
16789 (XTread_socket) [TARGET_API_MAC_CARBON]:
16790 Consolidate SendEventToEventTarget calls.
16791 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
16792 Move application activation handler to mac_handle_application_event.
16793 Move keyboard handler to mac_handle_keyboard_event.
16794 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
16795 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
16796 init_command_handler. Call install_application_handler.
16797
16798 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
16799 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
16800
168012007-06-07 Glenn Morris <rgm@gnu.org>
16802
16803 * emacs.c (main): Use `emacs-copyright' in --version output.
16804
168052007-06-06 Chong Yidong <cyd@stupidchicken.com>
16806
16807 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
16808
168092007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16810
16811 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
16812
16813 * macgui.h: Replace WindowPtr with WindowRef.
16814
16815 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
16816 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
16817 Replace ControlHandle with ControlRef.
16818 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
16819
16820 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
16821 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
16822 Replace ControlHandle with ControlRef.
16823 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
16824 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
16825
16826 * macterm.h (struct scroll_bar): Rename member control_handle_low
16827 and control_handle_high to control_ref_low and control_ref_high.
16828 All uses changed.
16829 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
16830 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
16831 respectively. All uses changed.
16832 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
16833 (install_window_handler, remove_window_handler): Replace WindowPtr
16834 with WindowRef in externs.
16835
168362007-06-05 Juanma Barranquero <lekktu@gmail.com>
16837
16838 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
16839
168402007-06-03 Nick Roberts <nickrob@snap.net.nz>
16841
16842 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
16843
16844 * frame.c (Fmouse_position, Fmouse_pixel_position):
16845 Condition on HAVE_GPM too.
16846
16847 * term.c (term_mouse_highlight): Remove unused variables.
16848 (Fterm_open_connection): Set gpm_zerobased to 1.
16849 (term_mouse_movement, term_mouse_click, handle_one_term_event):
16850 Use zero based co-ordinates.
16851 (handle_one_term_event): Report a drag as mouse movement too.
16852
16853 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
16854
168552007-06-03 Chong Yidong <cyd@stupidchicken.com>
16856
16857 * image.c (search_image_cache): New function. Require background
16858 color match if background color is unspecified in the image spec.
16859 (uncache_image, lookup_image): Use it.
16860
168612007-06-01 Juanma Barranquero <lekktu@gmail.com>
16862
16863 * window.c (Fshrink_window): Reflow docstring.
16864
168652007-06-02 Chong Yidong <cyd@stupidchicken.com>
16866
16867 * Version 22.1 released.
16868
168692007-06-01 Richard Stallman <rms@gnu.org>
16870
16871 * xfns.c (x_encode_text): Add GCPRO.
16872
168732007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16874
16875 * xfns.c (x_set_name_internal): Save encoded name before
16876 x_encode_text in case string data is relocated.
16877
168782007-05-31 Richard Stallman <rms@gnu.org>
16879
16880 * buffer.c (syms_of_buffer): Doc fix.
16881
168822007-05-30 Nick Roberts <nickrob@snap.net.nz>
16883
16884 * sysdep.c (init_sys_modes): Add rather than replace with
16885 O_NONBLOCK.
16886
16887 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
16888 term_mouse_moveto.
16889
16890 * termhooks.h (term_mouse_moveto): New extern.
16891
16892 * term.c (mouse_face_window): Rename...
16893 (Qmouse_face_window): ...to this.
16894 (term_show_mouse_face, term_clear_mouse_face)
16895 (term_mouse_highlight): Use Qmouse_face_window.
16896 (term_mouse_moveto): New function.
16897 (term_mouse_position): Make it work.
16898 (syms_of_term): Uncomment assignment to mouse_position_hook.
16899 Staticpro Qmouse_face_window.
16900
169012007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16902
16903 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
16904 around current_column call.
16905
169062007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
16907
16908 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
16909 * xdisp.c (next_element_from_buffer):
16910 * window.c (delete_window):
16911 * term.c (term_mouse_highlight):
16912 * msdos.c (getdefdir):
16913 * macterm.c (mac_create_bitmap_from_bitmap_data)
16914 (init_font_name_table):
16915 * fns.c (Fsxhash):
16916 * data.c (Fmake_local_variable):
16917 * ccl.c (ccl_driver): Likewise.
16918
169192007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16920
16921 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
16922 Call mac_wakeup_from_rne on window size change.
16923
169242007-05-25 Chong Yidong <cyd@stupidchicken.com>
16925
16926 * image.c (uncache_image): Fix typo.
16927
169282007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
16929
16930 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
16931
169322007-05-22 Richard Stallman <rms@gnu.org>
16933
16934 * xterm.c (x_connection_closed): Remove NO_RETURN.
16935
169362007-05-22 Martin Rudalics <rudalics@gmx.at>
16937
16938 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
16939
169402007-05-21 Chong Yidong <cyd@stupidchicken.com>
16941
16942 * image.c (uncache_image): New function.
16943 (Fimage_refresh): New function.
16944
169452007-05-20 Jan Djärv <jan.h.d@swipnet.se>
16946
16947 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
16948
169492007-05-20 Nick Roberts <nickrob@snap.net.nz>
16950
16951 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
16952 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
16953
169542007-05-20 Nick Roberts <nickrob@snap.net.nz>
16955
16956 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
16957 conditional on [HAVE_GPM_H].
16958
169592007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
16960
16961 * syntax.c (skip_chars): Update syntax-table only after we checked that
16962 the new location is valid.
16963
169642007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16965
16966 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
16967 mac_get_window_bounds.
16968
169692007-05-20 Nick Roberts <nickrob@snap.net.nz>
16970
16971 * Makefile.in (LIBGPM): Allow it to be set from configure.
16972 If set then link Emacs with it.
16973
16974 * config.in: Regenerate.
16975
16976 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
16977 New externs.
16978
16979 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
16980 Include gpm.h.
16981 (handle_one_term_event, term_gpm): New externs.
16982
16983 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
16984 and allow it to be interrupted by SIGIO.
16985
16986 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
16987 (wait_reading_process_output): Wait on gpm_fd too.
16988 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
16989 (add_gpm_wait_descriptor_called_flag): New variable.
16990 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
16991
16992 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
16993 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
16994 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
16995 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
16996 (make_lispy_event): Add case GPM_CLICK_EVENT.
16997 (read_avail_input): Handle mouse input.
16998
16999 * term.c (write_glyphs_with_face): New function.
17000 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
17001 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
17002 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
17003 (mouse_face_face_id, term_gpm, pos_x, pos_y)
17004 (last_mouse_x, last_mouse_y): New variables.
17005 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
17006 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
17007 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
17008 (Fterm_close_connection): New functions.
17009 (term_init): Initialise mouse_face_window.
17010
170112007-05-19 Chong Yidong <cyd@stupidchicken.com>
17012
17013 * xdisp.c (redisplay_window): If first window line is a
17014 continuation line, recompute the new window start instead of
17015 recentering.
17016
170172007-05-18 Glenn Morris <rgm@gnu.org>
17018
17019 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
17020 Suggested by Alfred M. Szmidt <ams@gnu.org>.
17021
170222007-05-17 Glenn Morris <rgm@gnu.org>
17023
17024 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
17025
170262007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17027
17028 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
17029 dead key repeat and up events.
17030
170312007-05-14 Chong Yidong <cyd@stupidchicken.com>
17032
17033 * image.c (pbm_load): Check image size for monochrome pbm.
17034
170352007-05-13 Chong Yidong <cyd@stupidchicken.com>
17036
17037 * xterm.c (XTread_socket): Revert last change.
17038
170392007-05-12 Chong Yidong <cyd@stupidchicken.com>
17040
17041 * image.c (pbm_load): Correctly check image size for greyscale pbm.
17042
17043 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
17044
170452007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
17046
17047 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
17048 mixup (YAILOM).
17049
170502007-05-07 Andreas Schwab <schwab@suse.de>
17051
17052 * keymap.c (Flookup_key): Fix typo in last change.
17053
170542007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
17055
17056 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
17057 mapping for unibyte strings.
17058
170592007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17060
17061 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
17062 (Fx_popup_dialog) [MAC_OSX]: Likewise.
17063
170642007-04-29 Richard Stallman <rms@gnu.org>
17065
17066 * insdel.c (replace_range): For undo, record insertion first.
17067
170682007-04-29 Andreas Schwab <schwab@suse.de>
17069
17070 * lisp.h (VECSIZE): Use OFFSETOF.
17071
170722007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17073
17074 * xdisp.c (try_window_reusing_current_matrix): Fix number of
17075 disabled lines.
17076
170772007-04-28 Richard Stallman <rms@gnu.org>
17078
17079 * lread.c (read_escape): In a string, \s is always space.
17080
170812007-04-27 Jan Djärv <jan.h.d@swipnet.se>
17082
17083 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
17084
17085 * gtkutil.c (xg_update_menubar, create_menus): Create empty
17086 submenu for menu bar items.
17087
17088See ChangeLog.10 for earlier changes.
17089
17090;; Local Variables:
17091;; coding: utf-8
17092;; add-log-time-zone-rule: t
17093;; bug-reference-url-format: "http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=%s"
17094;; End:
17095
76b6f707 17096 Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
aac0c6e3
MR
17097
17098 This file is part of GNU Emacs.
17099
17100 GNU Emacs is free software: you can redistribute it and/or modify
17101 it under the terms of the GNU General Public License as published by
17102 the Free Software Foundation, either version 3 of the License, or
17103 (at your option) any later version.
17104
17105 GNU Emacs is distributed in the hope that it will be useful,
17106 but WITHOUT ANY WARRANTY; without even the implied warranty of
17107 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17108 GNU General Public License for more details.
17109
17110 You should have received a copy of the GNU General Public License
17111 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
17112
17113;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40