* tramp.texi (all): Harmonize usage of "external method",
[bpt/emacs.git] / src / ChangeLog
CommitLineData
cbe0b5bf
AR
12009-01-21 Adrian Robert <Adrian.B.Robert@gmail.com>
2
3 * nsmenu.m (NSMENUPROFILE): Change #if style.
4c7077c3 4
6049d3a0
AR
5 * nsterm.h (EmacsPrefsController): Add -setPanelFromDefaultValues.
6
7 * nsterm.m (x_set_frame_alpha): Add prototype.
a9b4df69
AR
8 (ns_fake_keydown, EmacsView-keyUp:): New variable and function to
9 handle Ctrl-tab. (Bug#1841)
10 (ns_get_color): Use unsigned long long for scanned hex string value.
11 (ns_term_shutdown): Abort on non SIGTERM signals.
e889fa06 12 (EmacsPrefsController-setDefaultFont:,-setColors:): Raise the frame.
6049d3a0
AR
13 (EmacsPrefsController-setPanelFromDefaultValues) New function.
14 (EmacsPrefsController-resetToDefaults:): Use it. (Bug#1801)
cbe0b5bf 15
4c7077c3
AR
16 * nsimage.m (EmacsImage+allocInitFromFile:): Set to ignore DPI.
17 (Bug#1316)
18
e301e634
CY
192009-01-19 Chong Yidong <cyd@stupidchicken.com>
20
7f82490b
CY
21 * xfaces.c (Finternal_set_lisp_face_attribute, Fx_list_fonts):
22 Check return value of font_spec_from_name.
23 (Fx_list_fonts): Doc fix.
24
25 * font.c (font_spec_from_name): Return Qnil if font name could not
26 be parsed.
27 (font_parse_name): Treat a `?' character as part of an XLFD.
28
e301e634
CY
29 * fns.c (Fsubstring): Doc fix.
30
1c0db158
KH
312009-01-19 Kenichi Handa <handa@m17n.org>
32
33 * ftfont.c (ftfont_lookup_cache): Check the return value of
34 FcFontList.
35 (ftfont_list): Likewise.
36
acf20901
JB
372009-01-18 Juanma Barranquero <lekktu@gmail.com>
38
fff4e459
JB
39 * dbusbind.c (Fdbus_register_signal):
40 * process.c (conv_sockaddr_to_lisp):
41 * w32fns.c (Fw32_battery_status): Use empty_unibyte_string.
42
acf20901
JB
43 * callproc.c (Fgetenv_internal): Doc fix.
44
e7abcdfb
CY
452009-01-16 Chong Yidong <cyd@stupidchicken.com>
46
47 * xfns.c (x_make_gc): Don't allocate stipple member for gc_values;
48 it is not even used.
49
b60861e6
GM
502009-01-16 Glenn Morris <rgm@gnu.org>
51
52 * font.c (Ffont_variation_glyphs): Silence compiler.
53
8db52afe
JB
542009-01-15 Juanma Barranquero <lekktu@gmail.com>
55
56 * sound.c (SOUND_WARNING): Use _snprintf, for MSVC compatibility.
57 Reported by David Robinow <drobinow@gmail.com>.
58
4cddb209
KH
592009-01-15 Kenichi Handa <handa@m17n.org>
60
61 * coding.c (detect_coding_system): Fix handling of
62 null_byte_found.
63
f247f67b
JR
642009-01-14 Jason Rumney <jasonr@gnu.org>
65
66 * frame.c (x_set_font): Always store a font to the font parameter,
fff4e459 67 never a fontset. (Bug#1562)
f247f67b 68
f56a4450
KH
692009-01-14 Kenichi Handa <handa@m17n.org>
70
71 * coding.c (TWO_MORE_BYTES): New macro.
fff4e459 72 (detect_coding_utf_16): Use TWO_MORE_BYTES instead of ONE_MORE_BYTE.
f56a4450 73
4e99855e
CY
742009-01-13 Chong Yidong <cyd@stupidchicken.com>
75
76 * font.c (font_clear_prop): If clearing the family, clear the font
77 width index too.
78
fff4e459 79 * xfaces.c (Finternal_set_lisp_face_attribute): Revert last change.
4e99855e 80
24f01470
JB
812009-01-12 Juanma Barranquero <lekktu@gmail.com>
82
83 * sound.c [WINDOWSNT] (SOUND_WARNING): New macro.
84 (do_play_sound): Use it. Don't pass a hardcoded buffer size to mci
85 functions, use sizeof.
86
a41240a3
MR
872009-01-12 Martin Rudalics <rudalics@gmx.at>
88
89 * keyboard.c (read_char): Fix case where last_nonmenu_event
90 returned a bad value with submenus. (Bug#447)
91
944636b8
CY
922009-01-12 Chong Yidong <cyd@stupidchicken.com>
93
94 * xfaces.c (Finternal_set_lisp_face_attribute): If setting the
95 family, clear the font width index too.
96
0dad7c6f
JR
972009-01-11 Jason Rumney <jasonr@gnu.org>
98
99 * keyboard.c (cmd_error_internal): Exit when errors occur before
100 frame creation and not in daemon mode. (Bug#1836)
101
7c2363af
CY
1022009-01-10 Chong Yidong <cyd@stupidchicken.com>
103
104 * xdisp.c (pos_visible_p): When iterator stops on the last glyph
105 of a display vector, backtrack.
106 (try_window_reusing_current_matrix): Check glyph type before
107 referencing charpos member.
108
97b1b294
EZ
1092009-01-10 Eli Zaretskii <eliz@gnu.org>
110
111 Fix Bug #876:
112
113 * coding.c (inhibit_null_byte_detection): New variable.
114 (detect_coding, detect_coding_system): Don't pay attention to null
115 bytes if inhibit_null_byte_detection is non-zero.
116 (syms_of_coding) <inhibit-null-byte-detection>: Declare and
117 document.
118 <inhibit-iso-escape-detection>: Doc fix.
119
4624b6e3
JR
1202009-01-09 Jason Rumney <jasonr@gnu.org>
121
122 * w32font.c (add_font_entity_to_list): Don't report unknown
fff4e459 123 Windows charset as any unrecognized registry. (Bug#1548)
4624b6e3
JR
124 Only report Unicode Plane 2 fonts as unicode-sip.
125
323b840c
CY
1262009-01-09 Chong Yidong <cyd@stupidchicken.com>
127
128 * xfaces.c (Fx_font_family_list): Function deleted. Compatibility
129 version moved to faces.el.
130
131 * font.c (Ffont_family_list): Return a list of strings, not
132 symbols.
133
eba7400d
MR
1342009-01-09 Martin Rudalics <rudalics@gmx.at>
135
136 * frame.c (x_set_frame_parameters): Remember requested value for
137 fullscreen before it's reset by the parameter handler.
138
4b09796d
GM
1392009-01-09 Glenn Morris <rgm@gnu.org>
140
141 * keyboard.c (last_command_char): For clarity, rename to...
142 (last_command-event): ... and update all users.
143 (last_input_char): For clarity, rename to...
144 (last_input_event): ... and update all users.
145 (last-command-char, last-input-char): Move to subr.el as aliases.
146 * cmds.c, commands.h: Update for last_command_char rename.
147
14ccea62
CY
1482009-01-08 Chong Yidong <cyd@stupidchicken.com>
149
150 * font.c (font_open_for_lface): Handle unspecified height
151 attribute.
152
5f004711
JR
1532009-01-08 Jason Rumney <jasonr@gnu.org>
154
155 * w32fns.c (Vx_pointer_shape, Vx_nontext_pointer_shape)
156 (Vx_mode_pointer_shape, Vx_window_horizontal_drag_shape)
157 (Vx_hourglass_pointer_shape, Vx_sensitive_text_pointer_shape):
158 Don't declare.
fff4e459 159 (syms_of_w32fns): Don't define x-pointer-shape variable. (Bug#1485)
5f004711
JR
160 (x_create_tip_frame) [GLYPH_DEBUG]: Enable image debugging code.
161
b71f6f73
KH
1622009-01-07 Kenichi Handa <handa@m17n.org>
163
50b06221 164 * fileio.c (Finsert_file_contents): In the case of replace,
f56a4450 165 remember the coding system used for decoding in
50b06221
KH
166 coding_system (Bug#1039).
167
b71f6f73 168 * coding.c (decode_coding_utf_8): Check byte_after_cr before
79a97217 169 breaking the loop. (Bug#870)
b71f6f73
KH
170 (decode_coding_utf_16, decode_coding_emacs_mule)
171 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
172 (decode_coding_charset): Likewise.
173
56f668f7
MR
1742009-01-05 Martin Rudalics <rudalics@gmx.at>
175
176 * frame.c (x_set_frame_parameters): Make sure height (width) get
177 applied when fullwidth (fullheight) is set. (Bug#1522)
178
5da9424d
JB
1792009-01-04 Juanma Barranquero <lekktu@gmail.com>
180
181 * w32.c: Use 64-bit arithmetic to do FILETIME conversions. (Bug#1766)
182 (utc_base): Declare as ULONGLONG, not long double.
183 (convert_time_raw): Delete.
184 (FILETIME_TO_U64, U64_TO_LISP_TIME): New macros.
185 (initialize_utc_base): New function.
186 (convert_time): Use FILETIME_TO_U64, initialize_utc_base.
187 (convert_from_time_t): Use initialize_utc_base; compute result with
188 64-bit arithmetic.
189 (process_times): Use FILETIME_TO_U64, U64_TO_LISP_TIME.
190
c4605e09
EZ
1912009-01-03 Eli Zaretskii <eliz@gnu.org>
192
9acef61c 193 * process.c (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess)
c4605e09
EZ
194 (Qttname, Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime)
195 (Qcutime, Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs)
196 (Quser, Qgroup, Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime)
197 [!subprocesses]: Define.
198 (syms_of_process) [!subprocesses]: Intern and staticpro them.
199 (Flist_system_processes, Fsystem_process_attributes)
200 [!subprocesses]: Call list_system_processes and
201 system_process_attributes instead of returning Qnil.
202
9acef61c
JB
203 * dosfns.c (system_process_attributes, list_system_processes):
204 New functions.
c4605e09
EZ
205
206 * vm-limit.c (ret_lim_data) [MSDOS]: New function.
207
208 * sysdep.c (list_system_processes, system_process_attributes) [MSDOS]:
209 Don't use the default (no-op) implementation.
210
8b7d0a16
JR
2112009-01-03 Jason Rumney <jasonr@gnu.org>
212
a6d46bc1
JR
213 * keyboard.c (parse_modifiers_uncached): Wheel events are
214 clicks (bug#687).
215
8b7d0a16
JR
216 * w32term.c (x_query_colors, x_query_color): New functions.
217
218 * image.c (x_to_xcolors, png_load): Eliminate W32 specific code.
219 (svg_load_image): Cast returned pointers from dynamically loaded
220 functions. Eliminate W32 specific code.
221
bfe11752
DN
2222009-01-02 Dan Nicolaescu <dann@ics.uci.edu>
223
89e2438a
DN
224 * nsfns.m (x_set_foreground_color, x_set_background_color)
225 (x_set_cursor_color, x_set_icon_name, x_explicitly_set_name)
226 (x_set_title, x_set_icon_type, x_set_cursor_type): Rename to use
227 x_ prefix instead of ns_. Update references.
228 (syms_of_nsfns): Add a FIXME comment.
229
230 * nsterm.m (x_set_cursor_type): New prototype.
231 (setValuesFromPanel): Use it instead of the old ns_ prefixed name.
232
bfe11752
DN
233 * sysdep.c (system_process_attributes): Provide Qtime and Qctime
234 for Solaris instead of incorrectly providing Qutime and Qcutime.
235
031da700
EZ
2362009-01-02 Eli Zaretskii <eliz@gnu.org>
237
238 * w32.c (process_times): Compute sum of utime and stime.
239 (system_process_attributes): Add Qtime to the alist.
240
241 * sysdep.c (system_process_attributes): Compute Qtime and Qctime
242 and add them to the alist.
243
244 * process.c (top level) <Qtime, Qctime>: New variables.
245 (syms_of_process): staticpro them.
246 (Fsystem_process_attributes): Add their documentation to the doc
247 string.
248
249 * process.h: Declare Qtime and Qctime.
250
df23bf08
JR
2512009-01-02 Jason Rumney <jasonr@gnu.org>
252
9acef61c 253 * image.c (Qgobject): New symbol.
df23bf08
JR
254 (syms_of_image): Initialize it.
255 (init_svg_functions): Load some functions from gobject library.
256
5bbdf7aa
DN
2572009-01-01 Dan Nicolaescu <dann@ics.uci.edu>
258
259 * frame.c (make_terminal_frame): Remove redundant code and useless
260 block.
261
63136da6
AS
2622009-01-01 Andreas Schwab <schwab@suse.de>
263
264 * process.c (conv_sockaddr_to_lisp): Add workaround for
265 getsockname bug on BSD.
266
9ef69046
CY
2672009-01-01 Chong Yidong <cyd@stupidchicken.com>
268
d6fafbe0
CY
269 * xfns.c (x_create_tip_frame): Set border width of the X window.
270
9ef69046
CY
271 * xfaces.c (Finternal_set_lisp_face_attribute): Improve error
272 message.
273
f9c34147
JR
2742009-01-01 Jason Rumney <jasonr@gnu.org>
275
9acef61c 276 * w32term.c (x_new_font): Return font object, not fontset. (Bug#119)
f9c34147
JR
277 Don't block input, as per earlier xterm.c changes.
278
f5497e45
AR
2792008-12-31 Adrian Robert <Adrian.B.Robert@gmail.com>
280
281 * nsfns.m (ns_appkit_version_str): Rename from ns_appkit_version.
282 (ns_appkit_version_int): New function.
283 (x-server-version): Use ns_appkit_version_int and follow 21+
284 convention of returning 3 integers.
285
c19cab20
KH
2862008-12-30 Kenichi Handa <handa@m17n.org>
287
288 * character.h (CHAR_VARIATION_SELECTOR_P): New macro.
289 (CHAR_SURROGATE_PAIR_P): New macro.
290
291 * font.h (struct font_driver): New member get_variation_glyphs.
292
9acef61c 293 * font.c (font_range): Don't require a font for a variation selector.
c19cab20
KH
294 (Ffont_variation_glyphs): New function.
295 (syms_of_font): Defsubr it.
296
297 * ftfont.c (ftfont_driver): Set the member get_variation_glyphs to
298 ftfont_variation_glyphs.
299 (setup_otf_gstring): New function.
300 (ftfont_drive_otf): Use it.
301 (ftfont_shape_by_flt): Handle variation selector.
302 (ftfont_variation_glyphs): New function.
303
28cd591f
MR
3042008-12-30 Martin Rudalics <rudalics@gmx.at>
305
306 * frame.c (Vemacs_iconified): Remove.
307
7f714baf
JR
3082008-12-30 Jason Rumney <jasonr@gnu.org>
309
310 * frame.c (store_frame_param, x_get_arg): Enable newer code on
9acef61c 311 WINDOWSNT too, as related changes have already been synced. (Bug#117)
7f714baf 312
9d2d22ab
CY
3132008-12-30 Chong Yidong <cyd@stupidchicken.com>
314
315 * indent.c (Fvertical_motion): Don't advance iterator if we have
316 reseated to the desired position.
317
318 * xdisp.c (move_it_to): Handle GET_FROM_STRETCH method when
319 checking for pos match.
320
545312c2
KH
3212008-12-30 Kenichi Handa <handa@m17n.org>
322
1ede3eb6
KH
323 * insdel.c (copy_text): To convert a non-ASCII char to unibyte,
324 just get the low 8-bit of the code.
325
545312c2
KH
326 * font.c (font_intern_prop): Validate str as multibyte.
327
bd7bbf29
DN
3282008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
329
31e0750e
DN
330 * dispextern.h (struct face): Move lface and hash from the middle
331 of bitfields.
332
bd7bbf29
DN
333 * Makefile.in (INTERVALS_H): Rename from INTERVAL_SRC, update all users.
334
b5672e7c
DN
3352008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
336
337 * Makefile.in (INTERVAL_SRC): Also depend on dispextern.h.
338 (coding.o, dispnew.o, keymap.o, msdos.o): Depend on INTERVAL_SRC
339 instead of intervals.h.
340
d704470f
AS
3412008-12-26 Andreas Schwab <schwab@suse.de>
342
343 * keymap.c (map_keymap_char_table_item): Make a copy of KEY if it is a
344 cons.
345
54b33868
MR
3462008-12-26 Martin Rudalics <rudalics@gmx.at>
347
348 * textprop.c (Qminibuffer_prompt): New variable.
349 (syms_of_textprop): Initialize it.
350 * callint.c (Fcall_interactively): For `c', `k', and `K' prompt
351 in minibuffer-prompt face. (Bug#1662)
352
40b615d6
JR
3532008-12-25 Jason Rumney <jasonr@gnu.org>
354
355 * buffer.c (Fbuffer_swap_text): Use POINTER_TYPE.
356
baae5c2d
JR
3572008-12-24 Jason Rumney <jasonr@gnu.org>
358
359 * ralloc.c (r_alloc_reset_variable): New function.
360
361 * buffer.c (Fbuffer_swap_text) [REL_ALLOC]: Reset ralloc's internal
9acef61c 362 record of what points where. (Bug#716)
baae5c2d 363
a9051c88
DN
3642008-12-22 Dan Nicolaescu <dann@ics.uci.edu>
365
366 * minibuf.c (read_minibuf): Follow the non-interactive case when
367 running as a daemon, before detaching.
368
8b146312
AS
3692008-12-22 Andreas Schwab <schwab@suse.de>
370
371 * buffer.c (init_buffer): Use realloc instead of xrealloc.
372 * gtkutil.c (free_widget_value): Use xfree instead of free.
373
56f2de10
MR
3742008-12-22 Martin Rudalics <rudalics@gmx.at>
375
376 * frame.c (delete_frame): New function derived from
377 Fdelete_frame to handle Qnoelisp value for FORCE argument.
378 Delete last frame iff FORCE equals Qnoelisp. (Bug#1450)
379 (Fdelete_frame): Call delete_frame. Remove line from doc-string
380 saying that FORCE non-nil doesn't run `delete-frame-functions'.
381 * frame.h: Extern delete_frame.
382 * window.c (window_loop):
383 * terminal.c (delete_terminal):
384 * xterm.c (x_connection_closed):
385 * xfns.c (Fx_hide_tip):
9acef61c 386 * w32fns.c (Fx_hide_tip): Call delete_frame instead of Fdelete_frame.
56f2de10 387
1fc200d6
JR
3882008-12-21 Jason Rumney <jasonr@gnu.org>
389
390 * w32uniscribe.c (uniscribe_encode_char): Return FONT_INVALID_CHAR
391 when character maps to .notdef character.
392
5e252df2
SM
3932008-12-21 Stefan Monnier <monnier@iro.umontreal.ca>
394
395 * keyboard.c (cmd_error_internal): Don't exit in daemon mode, bug#1310.
396
99b72cc4
JR
3972008-12-20 Jason Rumney <jasonr@gnu.org>
398
399 * frame.c (Fmake_terminal_frame): Raise an error when called from
9acef61c 400 a graphical frame on Windows. (Bug#1325)
99b72cc4 401
acc49a52
JD
4022008-12-20 Jan Djärv <jan.h.d@swipnet.se>
403
404 * frame.c (Fdelete_frame): Set f->menu_bar_vector to Qnil.
405
6ea15123
CY
4062008-12-20 Chong Yidong <cyd@stupidchicken.com>
407
408 * minibuf.c (Fread_buffer): Doc fix.
409
b2dab6c8
JR
4102008-12-20 Jason Rumney <jasonr@gnu.org>
411
54ea0c87 412 * fileio.c (Fexpand_file_name): Do not allow ../ to go beyond the
9acef61c 413 server name in UNC paths. (Bug#719)
54ea0c87 414
b2dab6c8 415 * coding.c (decode_coding): Clear chars_at_source flag when using
9acef61c 416 charbuf. (Bug#1035)
b2dab6c8 417
6d1921be
DN
4182008-12-19 Daniel Engeler <engeler@gmail.com>
419
420 * sysdep.c (serial_configure): Fix typo.
421
53934c98
DN
4222008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
423
424 * sysdep.c: Include alloca.h.
f4f634e8
DN
425 (system_process_attributes): Add implementation for Solaris.
426
427 * s/sol2-10.h (HAVE_PROCFS, _STRUCTURED_PROC): New defines.
53934c98 428
06e111a6
DN
4292008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
430
431 Reorganize implementation of Flist_system_processes and
432 Fsystem_process_attributes. No functional changes.
433 * process.c: Don't #include pwd.h, grp.h and limits.h.
434 (Flist_system_processes): Just call list_system_processes.
435 (Fsystem_process_attributes): Just call system_process_attributes.
436 (procfs_list_system_processes, time_from_jiffies)
437 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
438 (procfs_get_total_memory, procfs_system_process_attributes): Move ...
439
440 * sysdep.c: ... here. Include pwd.h, grp.h and limits.h.
441 (list_system_processes): Rename from
442 procfs_list_system_processes. Enclose in #ifdef HAVE_PROCFS.
443 Provide a do nothing implementation.
444 (system_process_attributes): Rename from
445 procfs_list_system_processes.
446 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
9acef61c 447 (procfs_get_total_memory): Enclose in #ifdef GNU_LINUX.
06e111a6
DN
448
449 * w32.c (list_system_processes): Rename from
450 w32_list_system_processes.
451 (system_process_attributes): Rename from
452 w32_system_process_attributes.
453
454 * s/gnu-linux.h (LISTPROC, PROCATTR): Remove.
455
456 * process.h (w32_list_system_processes)
457 (w32_system_process_attributes): Remove.
458 (list_system_processes, system_process_attributes): New
459 prototypes.
460
6a705b23
KH
4612008-12-19 Kenichi Handa <handa@m17n.org>
462
463 * xfont.c (xfont_decode_coding_xlfd): New function.
464 (xfont_encode_coding_xlfd): New function.
465 (xfont_list_pattern): Decode XLFD by iso-8859-1.
466 (xfont_list): Decode and encode XLFD by iso-8859-1.
467 (xfont_match): Likewise.
468 (xfont_list_family): Likewise.
469 (xfont_open): Likewise.
470
d66c0241 471 * ftfont.c (ftfont_open): Generate a multibyte string if given
6a705b23
KH
472 names are utf-8.
473
d66c0241 474 * xftfont.c (xftfont_open): Generate a multibyte string if given
6a705b23
KH
475 names are utf-8.
476
5a130941
JD
4772008-12-18 Jan Djärv <jan.h.d@swipnet.se>
478
479 * gtkutil.c (xg_frame_resized): Remove check if rows/columns have
480 changed.
bfd20325
JD
481 (xg_tool_bar_proxy_callback): Put focus on the frame after we have
482 clicked on a detached tool bar button.
5a130941 483
fd95644b
DN
4842008-12-18 Dan Nicolaescu <dann@ics.uci.edu>
485
486 * emacs.c (main): Print and error and exit when no data is read
487 from the pipe.
488
e6eee6ae
JR
4892008-12-17 Jason Rumney <jasonr@gnu.org>
490
491 * w32font.c (w32font_has_char): Always return -1.
492
a35dd56b
KH
4932008-12-16 Kenichi Handa <handa@m17n.org>
494
495 * font.c (font_open_entity): Fix previous change.
496
0e3635c2
DN
4972008-12-16 Dan Nicolaescu <dann@ics.uci.edu>
498
499 * process.c: Include <limits.h>.
500
d4835507 5012008-12-16 Chetan Pandya <pandyacus@sbcglobal.net> (tiny change)
b5356c39
CY
502
503 * font.c (font_update_drivers): Fix mistake in reconstructing the
504 driver list.
505
5062008-12-16 Chong Yidong <cyd@stupidchicken.com>
507
508 * font.c (font_clear_cache): Fix format of font cache data.
509
e2cbc401
CY
5102008-12-15 Chong Yidong <cyd@stupidchicken.com>
511
512 * xftfont.c (xftfont_open): Free Xft font pattern if
513 XftFontOpenPattern fails.
514
515 * xterm.c (x_free_frame_resources): Remove extraneous call to
516 free_frame_faces.
517
b131d535
CY
5182008-12-13 Chong Yidong <cyd@stupidchicken.com>
519
520 * xterm.c (x_delete_display): Move xim_close_dpy call to
521 x_delete_terminal.
522 (x_delete_terminal): Call xim_close_dpy.
523
e6df5336
JR
5242008-12-13 Jason Rumney <jasonr@gnu.org>
525
526 * w32font.c (intern_font_name): New function.
527 (add_font_name_to_list, w32_enumfont_pattern_entity): Use it.
528 (w32font_open_internal, Fx_select_font): Decode font name.
529 (fill_in_logfont, list_all_matching_fonts): Encode font name.
530
531 * w32font.h (intern_font_name): Declare new function.
532
533 * w32uniscribe.c (add_opentype_font_name_to_list):
534 Use intern_font_name.
535
20d68145
CY
5362008-12-13 Chong Yidong <cyd@stupidchicken.com>
537
9f2554de
CY
538 * frame.c (Fdelete_frame): Call free_font_driver_list.
539
3d9bec9a
CY
540 * font.c (free_font_driver_list): Implement missing function.
541
20d68145
CY
542 * w32term.c (w32_term_init): Don't initialize the image cache
543 here; it will be done in init_frame_faces.
544
545 * xterm.h (struct xim_inst_t): Definition moved from xterm.c.
546 (struct x_display_info): Remove unused member null_pixel. New
547 member xim_callback_data.
548
549 * xterm.c (struct xim_inst_t): Definition moved to xterm.h.
550 (xim_initialize): Save pointer to callback function data.
551 (xim_close_dpy): Free callback function data. Call XCloseIM,
552 reverting 2008-11-04 change by David Smith.
553 (x_term_init): Don't initialize the image cache here; it will be
554 done in init_frame_faces. Remove ancient "null_pixel" cruft.
555 (x_delete_display): Free x_dnd_atoms member.
556
96f9306b
KH
5572008-12-13 Kenichi Handa <handa@m17n.org>
558
6dec9044
JB
559 * font.c (font_rescale_ratio): Moved from xfaces.c.
560 Argument type changed. Handle a font-spec too.
96f9306b 561 (font_score): Check Vface_font_rescale_alist.
6dec9044 562 (font_open_entity): Likewise. (Bug#1547)
96f9306b
KH
563
564 * xfaces.c (font_rescale_ratio): Moved to font.c.
565
8d5b4964
CY
5662008-12-13 Chong Yidong <cyd@stupidchicken.com>
567
568 * xfns.c (Fx_wm_set_size_hint): Check if the frame is an X frame.
569
e6df5336
JR
5702008-12-12 Jason Rumney <jasonr@gnu.org>
571
572 * w32fns.c (x_display_info_for_name, Fx_open_connection): Set
573 Vwindow_system_version to the real w32 major version.
574
97c6058a
DN
5752008-12-12 Dan Nicolaescu <dann@ics.uci.edu>
576
577 * term.c (init_tty): Move setting the terminal name before the
578 potential user: maybe_fatal.
579
ec4e88d7
CY
5802008-12-11 Chong Yidong <cyd@stupidchicken.com>
581
d4835507
JB
582 * term.c (tty_free_frame_resources): Renamed from delete_tty_output;
583 all callers changed. Call free_frame_faces to free the face cache.
ec4e88d7 584
b4233ec9
JR
5852008-12-11 Jason Rumney <jasonr@gnu.org>
586
8ec71e23 587 * w32font.c (fill_in_logfont): Don't assume symbol script means
9acef61c 588 SYMBOL_CHARSET. (Bug#547)
8ec71e23 589
b4233ec9 590 * w32uniscribe.c (uniscribe_encode_char): Increase glyph buffer
9acef61c 591 size for surrogates. (Bug#1096, bug#872)
b4233ec9 592
011a0143
JB
5932008-12-11 Juanma Barranquero <lekktu@gmail.com>
594
595 * w32proc.c (Fw32_get_locale_info): Decode long form of locale name.
596
3c309f34
JB
5972008-12-11 Juanma Barranquero <lekktu@gmail.com>
598
599 * process.c (Fsystem_process_attributes, syms_of_process):
600 Fix typo in name of Ssystem_process_attributes.
601 Reported by Ulrich Mueller <ulm@kph.uni-mainz.de>.
602
fedc6ab5
JB
6032008-12-11 Juanma Barranquero <lekktu@gmail.com>
604
605 * syntax.c (Fmodify_syntax_entry): Doc fix.
606
ba3de0e8
JB
6072008-12-10 Juanma Barranquero <lekktu@gmail.com>
608
609 * font.c (Ffont_spec): Move usage to end of docstring.
610
174f1c74
JR
6112008-12-10 Jason Rumney <jasonr@gnu.org>
612
613 * w32font.c (Qcham): New symbol.
614 (font_supported_scripts): Add cham, and comments for other new
615 scripts in bitfield from OpenType spec.
9d32f818
JR
616 (add_font_entity_to_list): Limit unicode-sip fonts to those that
617 contain characters beyond the bmp.
174f1c74 618
7b649478
KH
6192008-12-10 Kenichi Handa <handa@m17n.org>
620
621 * ftfont.c (fc_charset_table): Add "unicode-sip".
2ae37cf0 622 (ftfont_spec_pattern): Lookup fc_charset_table for the registry
7b649478
KH
623 Qunicode_sip.
624
2133e2d1
JB
6252008-12-10 Juanma Barranquero <lekktu@gmail.com>
626
627 * coding.c (QCdefault_char): Rename from QCdefalut_char.
628 (Fcoding_system_put): Use QCdefault_char.
629 (syms_of_coding): Set QCdefault_char, not QCdefalut_char.
630
9af886ee
CY
6312008-12-09 Chong Yidong <cyd@stupidchicken.com>
632
74d819eb
CY
633 * xftfont.c (syms_of_xftfont): Fix typo.
634
4ccfa1c0 635 * buffer.c (Fbuffer_swap_text): Signal error if swapping a dead buffer.
9af886ee 636
7c19d3ae
DN
6372008-12-08 Dan Nicolaescu <dann@ics.uci.edu>
638
639 * emacs.c (main): Close daemon_pipe on exec.
640
567826bb
CY
6412008-12-08 Chong Yidong <cyd@stupidchicken.com>
642
643 * termchar.h (struct tty): New members termcap_term_buffer and
644 termcap_strings_buffer.
645
646 * term.c (encode_terminal_code): Free any previous memory blocks
4ccfa1c0 647 before calling xmalloc for encode_terminal_src or encode_terminal_dst.
567826bb
CY
648 (maybe_fatal): Buffer argument deleted. Don't free buffer here.
649 All callers changed.
650 (init_tty): Store termcap data and string buffers in new struct
651 tty members termcap_term_buffer and termcap_strings_buffer.
652 (delete_tty): Free them.
4ccfa1c0 653 (syms_of_term): Initialize encode_terminal_src and encode_terminal_dst.
567826bb 654
aa96c42b
SZ
6552008-12-07 Seiji Zenitani <zenitani@mac.com>
656
657 * nsfns.m (ns_set_background_color): Remove code duplication.
4ccfa1c0 658 It was a substitute for face-transparency on OS X 10.3.
aa96c42b 659
b7e1d896
CY
6602008-12-06 Chong Yidong <cyd@stupidchicken.com>
661
662 * coding.c (make_conversion_work_buffer): Disable buffer
663 modification hooks in the work buffer.
664
b5ec91a5
EZ
6652008-12-05 Eli Zaretskii <eliz@gnu.org>
666
667 * process.c (procfs_system_process_attributes): If `nread' has a
668 negative value, assign zero to it.
669
a5d2a52b
CY
6702008-12-05 Chong Yidong <cyd@stupidchicken.com>
671
68c5540b 672 * eval.c (Vdebug_on_error): Doc fix.
a5d2a52b 673
7bf1bb21
KH
6742008-12-05 Kenichi Handa <handa@m17n.org>
675
676 * ftfont.c (ftfont_shape_by_flt): Use "combining" flt if the
677 second character is a combining character.
678
2fdc7d00
EZ
6792008-12-05 Eli Zaretskii <eliz@gnu.org>
680
681 * process.c (procfs_system_process_attributes): Don't use cmd,
682 cmdsize, and q without initializing them first.
683
bf6bfba8
JR
6842008-12-04 Jason Rumney <jasonr@gnu.org>
685
686 * w32font.c (w32font_draw): Initialize orig_clip before getting
687 it, and delete it when finished.
688
a3b1a468
DN
6892008-12-04 Dan Nicolaescu <dann@ics.uci.edu>
690
691 * keyboard.c (kbd_buffer_get_event): Follow the non-interactive
692 case when running as a daemon before detaching.
693
8b8be8eb
JB
6942008-12-03 Juanma Barranquero <lekktu@gmail.com>
695
805f2638 696 * w32.c (init_environment): Don't unload library shell32.dll.
8b8be8eb 697
b1bde622
KH
6982008-12-03 Kenichi Handa <handa@m17n.org>
699
e500c47d
KH
700 * font.c (font_at): Set `multibyte' at first.
701
ca516334
KH
702 * coding.c (decode_coding_charset): Check type of an element of
703 vector VALIDS.
7bf1bb21 704 (encode_coding_emacs_mule): Be sure to set `code'.
ca516334 705
4ccfa1c0 706 * fontset.c (face_for_char): Handle invalid charset property correctly.
b1bde622
KH
707 (font_for_char): Likewise.
708
1e5ecd37
CY
7092008-12-03 Chong Yidong <cyd@stupidchicken.com>
710
d5b01609 711 * font.c (Fopen_font): Compute pixel size correctly.
ba207571
CY
712 (font_update_lface): Handle fonts with corrupted size specs,
713 i.e. non-int and non-float.
d5b01609 714
11e3a6e4 715 * ftfont.c (ftfont_match): Initialize entity variable.
9a48c8cb 716 (ftfont_resolve_generic_family): Avoid using uninitialized var.
8adb3a3b 717 (ftfont_list_family): Initialize list var earlier.
11e3a6e4 718
ab06788b
CY
719 * xselect.c (Fx_get_cut_buffer_internal): Fix memory leak.
720
1e5ecd37 721 * xterm.c (x_draw_glyph_string): Fall back on
0cff82ab 722 underline_minimum_offset for underline position.
1e5ecd37 723
63c125ab
DN
7242008-12-03 Dan Nicolaescu <dann@ics.uci.edu>
725
726 * keyboard.c (read_char_help_form_unwind): Specify the type for ARG.
727
728 * character.c (c_string_width): Specify the type for LEN.
729
3a8406e1
KH
7302008-12-03 Kenichi Handa <handa@m17n.org>
731
4ccfa1c0 732 * coding.c (decode_coding_utf_16): Initialize consumed_chars_base to 0.
453b38f0 733 (decode_coding_utf_8): Likewise.
4ccfa1c0 734 (detect_coding_system): Initialize utf_16_le_eol to -1, val to Qnil.
4533845d 735 (produce_chars): Initialize consumed_chars to 0.
3a8406e1 736
651df7d9
CY
7372008-12-02 Chong Yidong <cyd@stupidchicken.com>
738
739 * keyboard.c (make_lispy_position): Only use PT if the selected
740 window is current.
741
1f625c6c
AS
7422008-12-02 Andreas Schwab <schwab@suse.de>
743
f7741ce9
AS
744 * font.c (font_unparse_fcname): Fix use of uninitialized variable.
745
1f625c6c
AS
746 * doprnt.c (doprnt1): Fix size of charbuf.
747
92bc2678
CY
7482008-12-02 Chong Yidong <cyd@stupidchicken.com>
749
750 * keyboard.c (timer_check): Revert last change.
751
93b9e8cc
JB
7522008-12-02 Juanma Barranquero <lekktu@gmail.com>
753
754 * makefile.w32-in ($(BLD)/w32console.$(O)): Fix silly, silly typo.
755
fd7a37d5
JB
7562008-12-01 Juanma Barranquero <lekktu@gmail.com>
757
758 * makefile.w32-in: Update dependencies.
759 (CONFIG_H): Add $(EMACS_ROOT)/nt/inc/sys/time.h.
760
c115043b
AS
7612008-12-01 Andreas Schwab <schwab@suse.de>
762
763 * font.c (register_font_driver): Use xmalloc.
764 (font_put_frame_data): Likewise.
765
f5668d2a
CY
7662008-12-01 Chong Yidong <cyd@stupidchicken.com>
767
860d96be
CY
768 * xfaces.c (realize_x_face): Make abort condition clearer.
769
f5668d2a
CY
770 * gtkutil.c (update_frame_tool_bar): Initialize variable.
771
379c17e7
CY
7722008-11-30 Chong Yidong <cyd@stupidchicken.com>
773
774 * keyboard.c (timer_check): After a timer runs, ensure that the
775 selected window's buffer is current.
776
35f36d65
JB
7772008-11-30 Juanma Barranquero <lekktu@gmail.com>
778
f952c61c
JB
779 * makefile.w32-in ($(BLD)/abbrev.$(O)): Remove.
780 It was accidentally restored by the Unicode merge.
781
35f36d65
JB
782 * w32proc.c (Fw32_get_locale_info): Fix typo in docstring.
783
b23077df
JB
7842008-11-29 Juanma Barranquero <lekktu@gmail.com>
785
786 * w32proc.c: Include "coding.h".
787 (Fw32_short_file_name): Encode filename passed to Windows API.
788 (Fw32_long_file_name): Encode filename passed to Windows API and
789 decode back the result. (Bug#1433)
790
b8ebe9dd
KH
7912008-11-29 Kenichi Handa <handa@m17n.org>
792
8cc53f96
KH
793 * charset.h (CHAR_CHARSET_P): Check if the encoder is loaded or
794 not before accessing it.
795
b8ebe9dd
KH
796 * charset.c (Fdefine_charset_internal): After calculating
797 min_char, max_char, and fastmap, copy the charset structure again.
798 (encode_char): Fix the previous change.
799
59bc82c0
SZ
8002008-11-28 Seiji Zenitani <zenitani@mac.com>
801
802 * frame.c (x_set_alpha) [NS_IMPL_COCOA]: Call x_set_frame_alpha.
803
804 * nsfns.m (ns_frame_parm_handlers): Set alpha handler.
805
806 * nsterm.m (x_set_frame_alpha): New function.
807
32247e3d
EZ
8082008-11-27 Eli Zaretskii <eliz@gnu.org>
809
810 * xfaces.c (Fx_font_family_list, syms_of_xfaces): Fix last change.
811
b003e5ff
JB
8122008-11-27 Juanma Barranquero <lekktu@gmail.com>
813
814 * w32font.c (add_font_entity_to_list): Pass the right LOGFONT
815 pointer to check_face_name.
816
708550f5
KH
8172008-11-27 Kenichi Handa <handa@m17n.org>
818
819 * category.h (SET_CATEGORY_SET): Call set_category_set.
820 (set_category_set): Extern it.
821
822 * category.c (hash_get_category_set): New function.
823 (Fmodify_category_entry): Adjusted for the change of
824 char_table_ref_and_range. Call hash_get_category_set to get a
825 category set to store in the table.
826
827 * character.h (MAYBE_UNIFY_CHAR): Call maybe_unify_char instead of
828 Funify_charset.
829
2ae37cf0 830 * charset.h (enum charset_method): Delete CHARSET_METHOD_MAP_DEFERRED.
708550f5
KH
831 (DECODE_CHAR): Check if the decoder vector is ready.
832 (ENCODE_CHAR): Check if the encoder char-table is ready.
833 (maybe_unify_char): Extern it.
834
835 * charset.c (Vchar_unified_charset_table): Delete it.
836 (inhibit_load_charset_map): New variable.
837 (temp_charset_work): New variable.
838 (SET_TEMP_CHARSET_WORK_ENCODER, GET_TEMP_CHARSET_WORK_ENCODER)
839 (SET_TEMP_CHARSET_WORK_DECODER, GET_TEMP_CHARSET_WORK_DECODER):
840 New macros.
841 (load_charset_map): Meaning of control_flag changed. If
842 inhibit_load_charset_map is nonzero, setup a table in
843 temp_charset_work.
844 (load_charset): New argument control_flag.
845 (map_charset_for_dump): New function.
846 (map_charset_chars): If inhibit_load_charset_map is nonzero, use
847 map_charset_for_dump.
848 (Fdefine_charset_internal): If the charset method is MAP, load
849 mapping tables by calling load_charset.
850 (Funify_charset): Don't load a mapping table but directly set
851 Vchar_unify_table.
852 (maybe_unify_char): New function.
853 (decode_char): Don't handle the deleted method MAP_DEFERRED.
854 Handle the case of inhibit_load_charset_map being nonzero.
855 (encode_char): Don't handle the deleted method MAP_DEFERRED.
856 Handle the case of inhibit_load_charset_map being nonzero.
857 (Fclear_charset_maps): Just free temp_charset_work.
858 (syms_of_charset): Make `inhibit-load-charset-map' a Lisp
859 variable.
860
861 * chartab.c (sub_char_table_ref_and_range): Adjusted for the
862 change of char_table_ref_and_range.
863 (char_table_ref_and_range): Change the meaning of argument FROM
864 and TO. Now the caller must provide initial values for *FROM
865 and *TO.
866
867 * fontset.c (fontset_add): Adjusted for the change of
868 char_table_ref_and_range.
869 (fontset_get_font_group): Likewise.
870 (Ffontset_info): Likewise.
871
872 * keymap.c (describe_vector): Adjusted for the change of
873 char_table_ref_and_range. For char-table, put boundary between
874 non-ASCII and 8-bit characters.
875
876 * print.c (print_object): For bool-vector, delete unnecessary
877 check of ASCII_BYTE_P.
878
9196133b
JR
8792008-11-26 Jason Rumney <jasonr@gnu.org>
880
881 * w32font.c (w32font_open_internal): Don't include external
9acef61c 882 leading in font height. (Bug#879)
9196133b 883
9f688acf
GM
8842008-11-26 Glenn Morris <rgm@gnu.org>
885
886 * xfaces.c (Fx_font_family_list): Replace lisp/term/pc-win.el
887 redefinition with ifdef. (Bug#1383)
888
90d19aff
AR
8892008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
890
891 * nsterm.m (ns_get_color): Handle long hex strings (fixes bug #1044).
892
4ccfa1c0 8932008-11-24 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
90d19aff
AR
894
895 * nsterm.m (-otherMouseDown:, -otherMouseUp:, -otherMouseDragged):
896 New EmacsView methods.
897 (EV_UDMODIFIERS, EV_BUTTON): Add OtherMouse constants.
898 Fixes bug #1048,1357,1414.
899
9002008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
901
902 Fix bug #1362.
903 * image.c (x_clear_image_1): Do not free background under HAVE_NS, it
904 is not an indexed color.
905 * nsterm.m (free_indexed_color): Add argument checking.
906 * nsfns.m: Move config.h to before system includes (advised by Dan N.).
907
e7d5ecb3
CY
9082008-11-24 Chong Yidong <cyd@stupidchicken.com>
909
910 * minibuf.c (Fcompleting_read, Vminibuffer_completion_confirm):
911 Document confirm-after-completion value for
912 minibuffer-completion-confirm.
913
c285743c
JR
9142008-11-24 Jason Rumney <jasonr@gnu.org>
915
916 * w32font.c (check_face_name): Use xstrcasecmp. Avoid compiler
917 warning.
918
b0857706
JR
9192008-11-23 Jason Rumney <jasonr@gnu.org>
920
921 * w32uniscribe.c (uniscribe_encode_char): Ensure context is
922 restored before returning.
923
924 * w32font.c (check_face_name): New function.
925 (add_font_entity_to_list): Use it to filter out common substituted
9acef61c 926 fonts. (Bug#642)
b0857706 927
ee50ff07
MR
9282008-11-22 Martin Rudalics <rudalics@gmx.at>
929
930 * buffer.c (Fswitch_to_buffer): Reword and mention new option
931 confirm-nonexistent-file-or-buffer in doc-string.
932
b8ff72fa
SM
9332008-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
934
935 * buffer.c (Fbuffer_swap_text): Remove redundant marker manipulation.
936 Fix copy/paste typo. Add checks.
937
cee53ed4
KH
9382008-11-21 Kenichi Handa <handa@m17n.org>
939
940 * coding.c (detect_coding_iso_2022): Reject invalid composition
941 sequence.
942 (DECODE_COMPOSITION_START): If the current source is the last
943 block, and the current composition doesn't end, regard this
944 sequence as invalid.
945 (decode_coding_iso_2022): Handle invalid composition sequence.
946
f6ef1e65
MR
9472008-11-20 Martin Rudalics <rudalics@gmx.at>
948
949 * window.c (coordinates_in_window): Don't return
950 ON_VERTICAL_BORDER for the rightmost position of a mode/header
951 line when the window is not the rightmost one. (Bug#1372)
952
e08b1705
MR
9532008-11-16 Ben North <ben@redfrontdoor.org> (tiny change)
954
955 * buffer.c (syms_of_buffer): Fix doc-string of cursor-type.
956
ad98e89f
EZ
9572008-11-15 Eli Zaretskii <eliz@gnu.org>
958
959 * msdos.c (run_msdos_command): Don't call dos_ttcooked, dos_ttraw,
960 and bright_bg if noninteractive is non-zero.
961
fb098a4b
CY
9622008-11-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
963
964 * xterm.c (x_draw_glyph_string): For stretch glyphs, don't call
965 x_draw_glyph_string_background.
966
967 * w32term.c (x_draw_glyph_string): Likewise.
968
ce952b6e
CY
9692008-11-15 Chong Yidong <cyd@stupidchicken.com>
970
971 * xterm.c (x_draw_glyph_string): Stop drawing the background of
972 the next glyph string once past the overhang width.
973
974 * nsterm.m (ns_draw_glyph_string): Likewise.
975
976 * w32term.c (x_draw_glyph_string): Likewise.
977
26ea7079
CY
9782008-11-14 Fabrice Popineau <fabrice.popineau@supelec.fr> (tiny change)
979
980 * fileio.c (Finsert_file_contents): Decrement specpdl_ptr to avoid
981 double file close.
982
1c33c906
MR
9832008-11-14 Martin Rudalics <rudalics@gmx.at>
984
985 * window.c (window_loop): In DELETE_BUFFER_WINDOWS case, reset
986 dedicated status of window before attempting to display another
987 buffer in it.
988
8fc29035
JB
9892008-11-14 Juanma Barranquero <lekktu@gmail.com>
990
991 * msdos.c (Fmsdos_long_file_names):
992 (syms_of_msdos) <dos-unsupported-char-glyph>:
993 * dosfns.c (Fint86): Fix typos in docstrings.
994
55fb4286
EZ
9952008-11-14 Eli Zaretskii <eliz@gnu.org>
996
997 * makefile.w32-in (OBJ1, WIN32OBJ): Fix whitespace.
998
3fda0315
KY
9992008-11-14 Katsumi Yamaoka <yamaoka@jpl.org>
1000
1001 * puresize.h (BASE_PURESIZE): Increase to 1260000.
1002
7e849c17
CY
10032008-11-12 Michal Nazarewicz <mina86@tlen.pl> (tiny change)
1004
1005 * frame.c (x_set_alpha): Set alpha to -1 if nil given.
1006
1007 * frame.h: Negative alpha means "don't touch".
1008
1009 * w32term.c (x_set_frame_alpha): Do nothing if alpha is negative.
1010
1011 * xterm.c (x_set_frame_alpha): Do nothing if alpha is negative.
1012
b9fd67bd
DN
10132008-11-12 Dan Nicolaescu <dann@ics.uci.edu>
1014
1015 * hftctl.c:
1016 * chpdef.h:
1017 * acldef.h: Remove files used only for systems no longer supported.
1018
1019 * Makefile.in: Fix .o alphabetical ordering.
1020 (hftctl.o): Remove dependency, file removed.
1021 (keymap.o, print.o): Depend on charset.h.
1022
d5998e03
KH
10232008-11-10 Kenichi Handa <handa@m17n.org>
1024
2ae37cf0 1025 * character.c (Fget_byte): Fix and make it faster for unibyte target.
d5998e03 1026
be70e183
CY
10272008-11-08 Chong Yidong <cyd@stupidchicken.com>
1028
1029 * dired.c (file_name_completion): If completion_ignore_case is
1030 enabled, ignore case when checking completion-regexp-list.
1031
7cf94eac
EZ
10322008-11-08 Eli Zaretskii <eliz@gnu.org>
1033
1034 * vm-limit.c (get_lim_data): Fix last change.
1035
ee107a89
KH
10362008-11-08 Kenichi Handa <handa@m17n.org>
1037
1038 * character.c (Fget_byte): New function.
1039 (syms_of_character): Defsubr Fget_byte.
1040
5fd15622
CY
10412008-11-07 Chong Yidong <cyd@stupidchicken.com>
1042
1043 * xdisp.c (try_window_reusing_current_matrix): Ensure that window
1044 cursor position is valid after scrolling.
1045
13d62fad
JB
10462008-11-06 Juanma Barranquero <lekktu@gmail.com>
1047
1048 * fns.c (Frandom): Rename arg N to LIMIT to match the docs; doc fix.
1049
a1dd2936
GM
10502008-11-06 Glenn Morris <rgm@gnu.org>
1051
1052 * xterm.c (handle_one_xevent): Don't let popup menus cause
1053 mouse-autoselect-window related window switching. (Bug#1261)
1054
860cd236
CY
10552008-11-04 David Smith <davidsmith@acm.org> (tiny change)
1056
1057 * xterm.c (xim_close_dpy): Avoid double-free on X11R6 XIM.
1058
653a3150
AS
10592008-11-04 Andreas Schwab <schwab@suse.de>
1060
1061 * xfns.c (Fx_wm_set_size_hint): Add missing return value.
1062
870f5cac
CY
10632008-11-03 Chong Yidong <cyd@stupidchicken.com>
1064
1065 * xfns.c (Fx_wm_set_size_hint): New function.
1066
1e02f3cb
MR
10672008-11-03 Martin Rudalics <rudalics@gmx.at>
1068
1069 * textprop.c (Fprevious_single_char_property_change): Return 0
1070 when there's no change in a string. (Bug#1301)
1071
e630dfc6
MR
10722008-11-02 Martin Rudalics <rudalics@gmx.at>
1073
1074 * frame.c (do_switch_frame): New argument NORECORD passed to
1075 Fselect_window.
1076 (Fselect_frame): New argument NORECORD passed to
1077 do_switch_frame.
1078 (Fset_frame_selected_window): New argument NORECORD passed to
1079 Fselect_frame.
1080 (Fhandle_switch_frame, Fdelete_frame): Handle NORECORD argument
1081 in call of do_switch_frame.
1082 (Fset_mouse_position, Fset_mouse_pixel_position, Fraise_frame):
1083 Handle NORECORD argument in call of Fselect_frame.
1084 * lisp.h (do_switch_frame, Fselect_frame)
1085 (Fset_frame_selected_window): Adjust declarations.
1086 * window.c (select_frame_norecord): New function.
1087 (run_window_configuration_change_hook): Use it and call
1088 Fselect_frame with NORECORD set.
1089 (Fselect_window): Pass NORECORD to Fselect_frame.
1090 (Fset_window_configuration): Handle NORECORD argument in call of
1091 do_switch_frame.
1092 * minibuf.c (choose_minibuf_frame): Handle NORECORD in call of
1093 Fset_frame_selected_window.
1094 * keyboard.c (command_loop_1): Handle NORECORD in call of
1095 Fselect_frame (currently ifdefd).
1096
9020b223
GM
10972008-11-02 Ulrich Mueller <ulm@kph.uni-mainz.de>
1098
1099 * emacs.c (USAGE2): Untabify.
1100
793ffee8
SM
11012008-11-01 Stefan Monnier <monnier@iro.umontreal.ca>
1102
1103 * composite.c (fill_gstring_header): Fix copy/paste typo.
1104
ab6d1131
MR
11052008-10-31 Martin Rudalics <rudalics@gmx.at>
1106
1107 * window.c (Fnext_window, Fprevious_window): Rewrite doc-string.
1108 (Fother_window): Rename argument and rewrite doc-string.
1109 (select_window_norecord): Fix return value. (Bug#1276)
1110
601a9cf1
JB
11112008-10-30 Juanma Barranquero <lekktu@gmail.com>
1112
1113 * w32fns.c (x_create_tip_frame): Prevent default foreground color for
1114 new frames overriding foreground for tooltips. Based on similar patch
1115 from Martin Rudalics <rudalics@gmx.at>. (Bug#1032)
1116
813b0652
CY
11172008-10-29 Chong Yidong <cyd@stupidchicken.com>
1118
1119 * emacs.c (Fdaemon_initialized): Initialize nfd.
1120
4414f58f
MR
11212008-10-29 Martin Rudalics <rudalics@gmx.at>
1122
1123 * window.c (Fwindow_height, Fdelete_window, set_window_buffer)
1124 (Fwindow_text_height): Clarify doc-strings.
1125 * xdisp.c (syms_of_xdisp): Mention set-window-buffer in
1126 doc-string of window-scroll-functions.
1127
ecdcaa09
RS
11282008-10-28 Reiner Steib <Reiner.Steib@gmx.de>
1129
1130 * category.c (syms_of_category): Fix typo in docstring.
1131
23fe745a
JB
11322008-10-28 Juanma Barranquero <lekktu@gmail.com>
1133
1134 * window.c (Fwindowp, Fwindow_live_p, Fwindow_minibuffer_p)
1135 (Fcoordinates_in_window_p, Fscroll_left, Fscroll_right):
1136 Fix typos in docstrings.
1137
ff808935
DN
11382008-10-28 Dan Nicolaescu <dann@ics.uci.edu>
1139
1140 * emacs.c (daemon_pipe): Make non-static.
1141 (IS_DAEMON): Move definition ...
1142 * lisp.h (IS_DAEMON): ... here.
1143 (daemon_pipe): Declare.
1144 (is_daemon): Remove.
1145 * dispnew.c (init_display): Use IS_DAEMON.
1146
fc012771
SM
11472008-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
1148
1149 * xdisp.c (pos_visible_p, redisplay_internal, message3_nolog)
1150 (message2_nolog): Check FRAME_INITIAL_P instead of noninteractively.
1151
1152 * emacs.c (is_daemon): Remove.
1153 (main): Don't set is_daemon.
1154 (IS_DAEMON): New macro.
1155 (Fdaemonp, Fdaemon_initialized): Use it.
601a9cf1 1156 (Fdaemon_initialized): Write a char into the pipe to make sure the
fc012771
SM
1157 parent exits.
1158 (syms_of_emacs): Explicitly initialize daemon_pipe[1].
1159
d8bdbe6f
CY
11602008-10-27 Chong Yidong <cyd@stupidchicken.com>
1161
d1a072bf
CY
1162 * nsterm.m (ns_draw_window_cursor): When hbar cursor is on
1163 over-sized glyph, draw it with the default glyph width.
1164
e2e325aa
CY
1165 * w32term.c (x_draw_bar_cursor): When hbar cursor is on over-sized
1166 glyph, draw it with the default glyph width.
1167
1168 * xterm.c (x_draw_bar_cursor): When hbar cursor is on over-sized
1169 glyph, draw it with the default glyph width.
1170
d8bdbe6f
CY
1171 * xdisp.c (try_scrolling): When computing the distance from the
1172 scroll margin to PT, try moving some distance past the window
1173 bottom before giving up.
1174
7bfac547
MR
11752008-10-27 Martin Rudalics <rudalics@gmx.at>
1176
1177 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p)
1178 (Fset_window_buffer): Explain in doc-string that a window can be
1179 "strongly" dedicated to its buffer.
1180
4ff029f6
DN
11812008-10-27 Dan Nicolaescu <dann@ics.uci.edu>
1182
1183 * emacs.c (daemon_name): New variable.
1184 (main): Deal with --daemon=SERVER_NAME.
1185 (Fdaemonp): Return a name if one was passed to --daemon.
1186
5790ef40
DN
11872008-10-26 Romain Francoise <romain@orebokech.com>
1188
f9bd0df9 1189 * emacs.c (daemon_pipe): New variable.
5790ef40
DN
1190 (main): Create a pipe before forking, make the parent exit only after
1191 the child has closed its end of the pipe. Move closing the
1192 descriptors ...
1193 (Fdaemon_initialized): ... here. New function.
1194
f5385255
SM
11952008-10-26 Stefan Monnier <monnier@iro.umontreal.ca>
1196
4d632321
SM
1197 * chartab.c (Foptimize_char_table): Make sure `ascii' doesn't point to
1198 the previous unoptimized table.
1199
f5385255
SM
1200 * window.c (Fset_window_buffer): Undo 2008-10-18 change to re-instate
1201 the distinction between non-nil and non-t value of `dedicated'.
1202
6c56a0f3
CY
12032008-10-25 Chong Yidong <cyd@stupidchicken.com>
1204
1205 * keyboard.c (read_char_minibuf_menu_prompt): Ensure that
f5385255 1206 read_char_minibuf_menu_text is large enough to hold the menu string.
6c56a0f3 1207
fec89261
MR
12082008-10-25 Martin Rudalics <rudalics@gmx.at>
1209
1210 * window.c (Fget_buffer_window, Fdelete_windows_on)
1211 (Freplace_buffer_in_windows): Make buffer argument optional and
1212 rename to buffer_or_name.
1213
34fcddd0
CY
12142008-10-24 Chong Yidong <cyd@stupidchicken.com>
1215
f5385255
SM
1216 * xdisp.c (handle_single_display_spec, handle_display_prop):
1217 Undo 2005-05-16 change.
34fcddd0
CY
1218 (handle_stop): Pop iterator if it's loaded with an empty string.
1219 (get_overlay_strings_1): Don't save iterator if it's loaded with
1220 an empty string (bug#1201).
1221
064766f2
KH
12222008-10-24 Kenichi Handa <handa@m17n.org>
1223
1224 * ftfont.c (ftfont_otf_features): Fix previous change.
1225 (ftfont_otf_capability): Check FeatureList.FeatureCount before
1226 calling ftfont_otf_features.
1227
f9bd0df9 12282008-10-24 Kenichi Handa <handa@m17n.org>
064766f2
KH
1229
1230 * font.c (font_match_p): Fix for the case that a vector of
1231 characters is in script-representative-chars.
1232
1dae9197
MA
12332008-10-24 Michael Albinus <michael.albinus@gmx.de>
1234
1235 * dbusbind.c (xd_in_read_queued_messages): New variable.
f5385255 1236 (XD_SIGNAL1, XD_SIGNAL2, XD_SIGNAL3): New macros. Throw Qdbus_error.
1dae9197
MA
1237 (xd_read_queued_messages): Catch Qdbus_error from the macros.
1238 (all): Replace xsignal1, xsignal2, xsignal3 by the respective
1239 macro. (Bug#1186).
1240
f9bd0df9 12412008-10-23 Ali Bahrami <ali_gnu@emvision.com> (tiny change)
9b3362b8
DN
1242
1243 * s/sol2-10.h: New file.
1244
878a4584
JB
12452008-10-23 Juanma Barranquero <lekktu@gmail.com>
1246
1247 * xdisp.c (fill_glyph_string): Fix typo in source (though the
1248 poor beast has survived 9+ years and the jump from xterm.c!).
1249
cd265ca6
MR
12502008-10-23 Martin Rudalics <rudalics@gmx.at>
1251
1252 * buffer.c (Fget_buffer_create): Rename arg to buffer_or_name.
1253 Reword doc-string.
f5385255 1254 (Fbury_buffer): In doc-string say what happens to the buffer's window.
cd265ca6 1255
472a4dc9
JB
12562008-10-23 Juanma Barranquero <lekktu@gmail.com>
1257
1258 * character.c (syms_of_character) <script-representative-chars>:
1259 <unicode-category-table>: Doc fixes.
1260
159bd5a2
NF
12612008-10-23 Noah Friedman <friedman@splode.com>
1262
1263 * coding.c (make_conversion_work_buffer): Check that
1264 Vcode_conversion_reused_workbuf is a live buffer, otherwise call
1265 Fget_buffer_create.
1266
49f9c344
KH
12672008-10-23 Kenichi Handa <handa@m17n.org>
1268
1269 * font.c (font_add_log): Check the values of extra properties.
1270
12bb3111
MR
12712008-10-22 Martin Rudalics <rudalics@gmx.at>
1272
1273 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
1274 Reword doc-string.
1275 (Fset_window_parameter): Use NILP.
1276 (Fscroll_up, Fscroll_down, Fminibuffer_selected_window)
f5385255 1277 (Frecenter): Use "selected" instead of "current" window in doc-strings.
12bb3111 1278
bbeb4e99
JB
12792008-10-22 Juanma Barranquero <lekktu@gmail.com>
1280
1281 * xdisp.c (next_element_from_buffer): Remove bogus xassert condition.
1282
12832008-10-22 Adrian Robert <Adrian.B.Robert@gmail.com>
cb83c00b
AR
1284
1285 * nsfns.m (ns_appkit_version): New function.
1286 (x-server-version): Use it.
1287 (syms_of_nsfns): Define ns-version-string here, not nsterm.m.
1288 (x-server-vendor): Don't check_ns().
1289
1290 * nsterm.m (syms_of_nsterm): Drop ns-version-string.
1291
a9b555d3
JB
12922008-10-22 Juanma Barranquero <lekktu@gmail.com>
1293
1294 * w32fns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert.
1295 Copied from 2005-02-03 change to xfns.c by Kim F. Storm.
1296
4626499f
KH
12972008-10-22 Kenichi Handa <handa@m17n.org>
1298
e3681952
KH
1299 * syntax.c (scan_words): Call word_boundary_p instead of comparing
1300 scripts.
1301
4626499f
KH
1302 * category.c (word_boundary_p): Check scripts instead of charset.
1303 Handle nil value in word-separating-categories and
1304 word-combining-categories.
1305 (syms_of_category): Fix docstrings of word-separating-categories
1306 and word-combining-categories.
1307
1560f91a
EZ
13082008-10-21 Eli Zaretskii <eliz@gnu.org>
1309
1310 * coding.c (Fencode_coding_region, Fdecode_coding_region)
1311 (Fdecode_coding_string, Fencode_coding_string): Doc fix.
1312
f4668441
MR
13132008-10-21 Martin Rudalics <rudalics@gmx.at>
1314
1315 * buffer.c (Fget_buffer, Fbury_buffer, switch_to_buffer_1):
1316 Rename arg "buffer" to "buffer_or_name".
1317 (Fkill_buffer): Rename arg "buffer" to "buffer_or_name" and make
1318 it optional.
1319 (no_switch_window): Remove since the return value is not used.
a9b555d3 1320 (Fswitch_to_buffer): Rename arg "buffer" to "buffer_or_name".
f4668441
MR
1321 Consider window as dedicated when Fwindow_dedicated_p returns a
1322 non-nil value.
1323 * lisp.h: Remove prototype for no_switch_window.
1324
fd75ddb2
JD
13252008-10-21 Jan Djärv <jan.h.d@swipnet.se>
1326
1327 * emacs.c (main): Unconditionally set PER_LINUX32 and exec
2ae37cf0 1328 temacs when dumping if HAVE_PERSONALITY_LINUX32 is defined.
fd75ddb2 1329
07295713
KH
13302008-10-21 Kenichi Handa <handa@m17n.org>
1331
1332 * coding.c (detect_coding_charset): For iso-8859-* coding systems,
1333 check Vlatin_extra_code_table.
1334
712adc82
EZ
13352008-10-20 Eli Zaretskii <eliz@gnu.org>
1336
1337 * fileio.c (Fset_file_modes): Doc fix.
1338
f549eb0b
MA
13392008-10-19 Michael Albinus <michael.albinus@gmx.de>
1340
1341 * dbusbind.c (XD_OBJECT_TO_DBUS_TYPE): Handle simple type symbols
1342 in arrays.
1343
aac0c6e3
MR
13442008-10-19 Martin Rudalics <rudalics@gmx.at>
1345
1346 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
1347 Mention kill-buffer in doc-string.
1348 (Fset_window_buffer): Reinsert tem check removed in last commit.
1349 (Fenlarge_window, Fshrink_window): Have argument names and
1350 doc-string follow Elisp manual more closely.
1351
13522008-10-18 Eli Zaretskii <eliz@gnu.org>
1353
1354 * fileio.c (Fset_file_modes): Doc fix.
1355
13562008-10-18 Martin Rudalics <rudalics@gmx.at>
1357
1358 * window.c (Fwindow_width, Fset_window_start)
1359 (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter)
f5385255
SM
1360 (Fdelete_windows_on, Freplace_buffer_in_windows):
1361 Make doc-strings follow code and Elisp manual more closely.
aac0c6e3
MR
1362 (Fwindow_dedicated_p): Make window argument optional.
1363 (Fset_window_dedicated_p): Rename argument "arg" to "flag".
1364 (Fset_window_buffer): Respect any non-nil dedicated value for
1365 window. Rename "buffer" argument to "buffer_or_name".
1366
13672008-10-18 Ulrich Mueller <ulm@gentoo.org>
1368
1369 * m/sh3.h: New file, machine description for SuperH.
1370
13712008-10-17 Martin Rudalics <rudalics@gmx.at>
1372
1373 * window.c (Fsplit_window): Rename arg horflag to horizontal.
1374
13752008-10-17 Kenichi Handa <handa@m17n.org>
1376
1377 * ftfont.c (ftfont_otf_features): Fix indexing
1378 gsub_gpos->FeatureList.Feature. Check the validity of indices.
1379
13802008-10-16 Magnus Henoch <mange@freemail.hu>
1381
1382 * dbusbind.c (Fdbus_call_method): Unbreak usage line.
1383 (Fdbus_call_method_asynchronously): Ditto.
1384 This change makes C-h f display the argument list.
1385
13862008-10-16 Chong Yidong <cyd@stupidchicken.com>
1387
1388 * fileio.c (Fexpand_file_name): Doc fix.
1389
1390 * xfaces.c (Finternal_set_lisp_face_attribute): Make null values
1391 of :foreground and :background equivalent to unspecified (20.x
1392 compatibility).
1393
13942008-10-15 Eli Zaretskii <eliz@gnu.org>
1395
1396 * buffer.c (syms_of_buffer): Doc fix.
1397
13982008-10-14 Kenichi Handa <handa@m17n.org>
1399
1400 * font.c (font_clear_prop): When clearing font width, clear the
1401 average width field too.
1402
14032008-10-12 Andreas Schwab <schwab@suse.de>
1404
1405 * ftfont.c (ftfont_shape_by_flt): Make static.
1406 * ftfont.h (ftfont_shape_by_flt): Don't declare.
1407
1408 * font.c: Don't include <m17n-flt.h>.
1409
14102008-10-10 Eli Zaretskii <eliz@gnu.org>
1411
1412 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Decrease to 10000.
1413
14142008-10-09 Eli Zaretskii <eliz@gnu.org>
1415
1416 * frame.c (make_terminal_frame) [MSDOS]: Remove unused #ifdef'ed
1417 away code.
1418
14192008-10-09 Chong Yidong <cyd@stupidchicken.com>
1420
1421 * dispnew.c (update_text_area): Avoid looping due to large glyph
1422 overhangs (bug#1070).
1423
14242008-10-09 Kenichi Handa <handa@m17n.org>
1425
1426 * fontset.c (face_for_char): If face->fontset is negative, just
1427 return ascii_face.
1428
f5385255
SM
1429 * font.c (font_delete_unmatched): Fix previous change.
1430 Don't reject an entity if DPI and AVGWIDTH of an entity are 0.
aac0c6e3
MR
1431
14322008-10-09 Martin Rudalics <rudalics@gmx.at>
1433
1434 * frame.c (Fraise_frame): On text-only terminals select frame in
1435 order to make it visible. (Bug#1061)
1436
14372008-10-08 Chong Yidong <cyd@stupidchicken.com>
1438
1439 * fontset.c (fontset_find_font): Check frame validity.
1440
14412008-10-07 Chong Yidong <cyd@stupidchicken.com>
1442
a9b555d3 1443 * gtkutil.c (xg_display_open): Reset default display if none exists.
aac0c6e3
MR
1444 (xg_display_close): Allow Emacs to close all displays (bug#985).
1445
14462008-10-06 Andreas Schwab <schwab@suse.de>
1447
f5385255 1448 * sysdep.c (sys_signal): Always set SA_RESTART when noninteractively.
aac0c6e3
MR
1449
14502008-10-06 Chong Yidong <cyd@stupidchicken.com>
1451
f5385255 1452 * emacs.c (Vbefore_init_time, Vafter_init_time): Move from startup.el.
aac0c6e3 1453
a9b555d3 1454 * lisp.h (Vbefore_init_time, Vafter_init_time): Declare.
aac0c6e3
MR
1455
1456 * gtkutil.c (x_wm_set_size_hint): Return immediately if called
1457 during initialization.
1458
14592008-10-04 Eli Zaretskii <eliz@gnu.org>
1460
1461 * xdisp.c (redisplay_internal): If frame switched, redisplay the
1462 whole thing on MSDOS frames as well as on a TTY.
1463
1464 * dispnew.c (update_frame): Flush termscript for MSDOS frames as
1465 well as for TTY.
1466 (Fopen_termscript): Allow opening a termscript on MSDOS frames as
1467 well as on a TTY.
1468
1469 * sysdep.c (init_sys_modes): Set FRAME_GARBAGED_P for MSDOS frames
1470 as well as for TTY.
1471
1472 * systime.h (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
1473
1474 * dispnew.c (change_frame_size_1): Set FrameRows and FrameCols for
1475 MSDOS frames as well.
1476
14772008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
1478
1479 * image.c (x_clear_image_1): Under NS, call ns_free_indexed_color with
1480 correct arguments.
1481 * menu.c (find_and_return_menu_selection) Add cast.
1482
14832008-10-03 Glenn Morris <rgm@gnu.org>
1484
1485 * emacs.c (USAGE1): Add --daemon.
1486
14872008-10-02 Eli Zaretskii <eliz@gnu.org>
1488
1489 * process.c (procfs_system_process_attributes): Multiply `pcpu' by
1490 100, so it's in percents as advertised.
1491
14922008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
1493
1494 * nsterm.h (ns_cursor_types, ns_output.desired_cursor_color)
1495 (ns_output.current_cursor, ns_output.desired_cursor)
1496 (ns_output.last_inactive, FRAME_CURSOR, FRAME_NEW_CURSOR)
1497 (FRAME_NEW_CURSOR_COLOR): Remove.
1498
1499 * nsfns.m (ns_set_cursor_color): Use FRAME_CURSOR_COLOR.
a9b555d3 1500 (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp): Use core Emacs
aac0c6e3
MR
1501 enumeration (HOLLOW_BOX_CURSOR, etc.).
1502
1503 * nsterm.m (ns_frame_rehighlight): Remove commented code.
1504 (draw_window_cursor): Simplify code.
f5385255
SM
1505 (EmacsView-windowDidBecomeKey:,-windowDidResignKey:):
1506 Don't change cursor type. In latter, call rehighlight instead of doing
aac0c6e3 1507 updates manually.
a9b555d3
JB
1508 (EmacsPrefsController-setPanelFromValues,-setValuesFromPanel):
1509 Use core Emacs cursor types.
aac0c6e3 1510
b8ff72fa 1511 * xdisp.c (draw_glyphs): Don't call notice_overwritten_cursor under NS.
aac0c6e3
MR
1512
15132008-10-02 Martin Rudalics <rudalics@gmx.at>
1514
1515 * process.c (Faccept_process_output): Fix doc-string.
1516
15172008-10-02 Dan Nicolaescu <dann@ics.uci.edu>
1518
1519 * gmalloc.c (__sbrk): Also define for uClibc.
1520
1521 * s/gnu-linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Add definition
1522 for uClibc.
1523
15242008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1525
1526 * nsfont.m (nsfont_spec_to_traits): Use UnXX masks only for non-normal
1527 styles.
1528 (nsfont_open): Reenable the cache.
1529
15302008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1531
1532 * font.c (font_matching_entity): Reflect ATTRS in font selection.
1533 (font_find_for_lface) [HAVE_NS]: Don't ignore case.
1534
15352008-09-30 Stefan Monnier <monnier@iro.umontreal.ca>
1536
1537 * dispnew.c (Fsend_string_to_terminal): Don't try to send a string to
1538 a suspended terminal.
1539
15402008-09-30 Michael Albinus <michael.albinus@gmx.de>
1541
1542 * dbusbind.c (xd_signature): Use strcat instead of sprintf.
1543
15442008-09-30 Eli Zaretskii <eliz@gnu.org>
1545
1546 * Makefile.in (MSDOS_SUPPORT): Remove ccl.elc and codepage.elc.
1547
15482008-09-30 Chong Yidong <cyd@stupidchicken.com>
1549
1550 * xdisp.c (move_it_to): Don't advance the iterator if the last tab
1551 in a continued line coincides with a line beginning.
1552
15532008-09-29 Adrian Robert <Adrian.B.Robert@gmail.com>
1554
1555 * nsfont.m (nsfont_trait_distance): Fix bug.
1556 (nsfont_list): Return a list rather than a vector (syncs with Handa
1557 changes of 2008-05-14).
1558 (nsfont_open): Improve logging.
1559
15602008-09-29 Andreas Schwab <schwab@suse.de>
1561
1562 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
1563
15642008-09-28 Martin Rudalics <rudalics@gmx.at>
1565
1566 * character.c (Fchar_resolve_modifiers): Rewrite Elisp function
1567 name as char-resolve-modifiers.
1568 Reported by: Markus Triska <markus.triska@gmx.at>
1569
15702008-09-28 Dan Nicolaescu <dann@ics.uci.edu>
1571
1572 * dispnew.c (init_display): Return earlier when running as a daemon.
1573
15742008-09-27 Adrian Robert <Adrian.B.Robert@gmail.com>
1575
1576 * nsfont.m (nsfont_draw): Fix up composition rendering (cmp_from, ...).
1577
15782008-09-27 Eli Zaretskii <eliz@gnu.org>
1579
1580 * composite.c (Fcomposition_get_gstring)
1581 (Fcompose_region_internal, Fcompose_string_internal)
1582 (Ffind_composition_internal): Doc fix.
1583 (syms_of_composite) <compose-chars-after-function>: Doc fix.
1584 (syms_of_composite) <auto-composition-function>: Doc fix.
1585 (syms_of_composite) <composition-function-table>: Doc fix.
1586
15872008-09-25 Chong Yidong <cyd@stupidchicken.com>
1588
1589 * search.c (wordify): New argument for lax word-ends.
1590 (Fword_search_forward_lax, Fword_search_backward_lax): New funs.
1591
15922008-09-24 Dan Nicolaescu <dann@ics.uci.edu>
1593
1594 * lisp.h (is_daemon): Declare.
1595 * dispnew.c (init_display): Do not try to initialize the terminal
1596 when running as a daemon.
1597
15982008-09-22 Chong Yidong <cyd@stupidchicken.com>
1599
1600 * nsfns.m (compute_tip_xy): Use x_display_pixel_width and
1601 x_display_pixel_height.
1602
16032008-09-22 Martin Rudalics <rudalics@gmx.at>
1604
1605 * undo.c (record_point): Don't call Fundo_boundary for first
1606 change. (Bug#731)
1607
16082008-09-22 Juanma Barranquero <lekktu@gmail.com>
1609
1610 * emacs.c (Fdaemonp): Doc fix.
1611
16122008-09-22 Dan Nicolaescu <dann@ics.uci.edu>
1613
1614 * emacs.c (main): Place #ifdef in the proper place.
1615
16162008-09-21 Dan Nicolaescu <dann@ics.uci.edu>
1617
1618 * emacs.c (standard_args): Add --daemon.
1619 (main): Disconnect from the terminal when --daemon is passed.
1620 (is_daemon): New variable.
1621 (Fdaemonp): New function.
1622 (syms_of_emacs): Defsubr it.
1623
16242008-09-20 Chong Yidong <cyd@stupidchicken.com>
1625
1626 * xdisp.c (get_next_display_element): Handle string display
1627 correctly when checking for the end of a box run.
1628
16292008-09-20 Glenn Morris <rgm@gnu.org>
1630
1631 * fileio.c (Qdelete_by_moving_to_trash): New Lisp_Object.
1632 (syms_of_fileio): Add Qdelete_by_moving_to_trash.
1633 (Frename_file): Avoid copying to trash if a rename involves
1634 a delete. (Bug#964).
1635
16362008-09-20 Eli Zaretskii <eliz@gnu.org>
1637
1638 * keyboard.c (Fset_quit_char, Fset_input_meta_mode)
1639 (Fset_output_flow_control, Fcurrent_input_mode): Support MSDOS
1640 frames as well as termcap frames.
1641 (handle_interrupt): Remove "#ifndef MSDOS" around the call to
1642 get_named_tty.
1643
16442008-09-19 Eli Zaretskii <eliz@gnu.org>
1645
1646 * process.c (procfs_system_process_attributes): Fix cmdline in
1647 case /proc/PID/cmdline is empty.
1648
1649 * xterm.c (x_wm_set_size_hint): Use x_display_pixel_width and
1650 x_display_pixel_height.
1651
16522008-09-19 Juanma Barranquero <lekktu@gmail.com>
1653
1654 * frame.c (x_fullscreen_adjust): Declare var as Display_Info.
1655
1656 * w32fns.c (Fx_display_pixel_width, Fx_display_pixel_height)
1657 (compute_tip_xy): Use x_display_pixel_width, x_display_pixel_height.
1658
16592008-09-19 Dan Nicolaescu <dann@ics.uci.edu>
1660
1661 * dispextern.h (struct it): Move line_wrap away from the middle of
1662 bitfields. Move voffset in struct iterator_stack_entry after the
1663 bitfields. Move tab_width near after another short.
1664
16652008-09-18 Dan Nicolaescu <dann@ics.uci.edu>
1666
1667 * frame.h (struct frame): Move alpha from the middle of bitfields.
1668
1669 * window.h (struct window): Move frozen_window_start_p after the
1670 rest of the bitfields to reduce padding.
1671
16722008-09-18 Chong Yidong <cyd@stupidchicken.com>
1673
1674 * xterm.h (x_display_info): Remove `height' and `width' members.
1675
1676 * nsterm.h (ns_display_info): Remove `height' and `width' members.
1677
1678 * w32term.h (w32_display_info): Remove `height', `width',
1679 `height_in', and `width_in' members.
1680
b8ff72fa
SM
1681 * xterm.c (x_display_pixel_height, x_display_pixel_width):
1682 New functions.
aac0c6e3
MR
1683 (x_calc_absolute_position): Use them.
1684 (x_term_init): Omit removed `height' and `width' members.
1685
b8ff72fa
SM
1686 * w32term.c (x_display_pixel_height, x_display_pixel_width):
1687 New functions.
aac0c6e3
MR
1688 (w32_read_socket, x_calc_absolute_position): Use them.
1689 (w32_initialize_display_info, w32_term_init): Omit removed members
1690 of w32_display_info.
1691
b8ff72fa
SM
1692 * nsterm.m (x_display_pixel_height, x_display_pixel_width):
1693 New functions.
1694 (ns_initialize_display_info): Omit removed members of ns_display_info.
aac0c6e3 1695
b8ff72fa
SM
1696 * xterm.c (x_display_pixel_height, x_display_pixel_width):
1697 New functions.
aac0c6e3
MR
1698 (x_calc_absolute_position): Use them.
1699 (x_term_init): Omit removed `height' and `width' members.
1700
1701 * xfns.c (Fx_display_pixel_width, Fx_display_pixel_height)
b8ff72fa
SM
1702 (compute_tip_xy):
1703 * frame.c (x_fullscreen_adjust):
aac0c6e3
MR
1704 * xmenu.c (menu_position_func): Use x_display_pixel_height and
1705 x_display_pixel_width.
1706
17072008-09-18 Kenichi Handa <handa@m17n.org>
1708
1709 * composite.c (fill_gstring_header): Don't check FROM and TO here.
1710 (composition_compute_stop_pos): Fix handling of static composition.
1711 (Fcomposition_get_gstring): Check FROM and TO at first.
1712
17132008-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
1714
1715 * composite.c (Fcomposition_get_gstring): Yet another int/Lisp_Oject
1716 mixup (YAILOM).
1717
17182008-09-17 Chong Yidong <cyd@stupidchicken.com>
1719
1720 * indent.c (Fvertical_motion): Use position reported by iterator
1721 instead of PT for determining screen motion (bug#943).
1722
17232008-09-17 Romain Francoise <romain@orebokech.com>
1724
1725 * composite.c (composition_adjust_point): Fix int/EMACS_INT mixup.
1726
17272008-09-17 Kenichi Handa <handa@m17n.org>
1728
1729 * ftfont.c (ftfont_shape_by_flt): Downcase family name.
1730
1731 * composite.c (Fcomposition_get_gstring): Make bigger gstring_work
1732 if necessary.
1733
17342008-09-16 Kenichi Handa <handa@m17n.org>
1735
1736 * coding.c (make_conversion_work_buffer): Avoid calling
1737 Fget_buffer_create if it is not necessary.
1738
17392008-09-15 Martin Rudalics <rudalics@gmx.at>
1740
1741 * window.c (Fselect_window): Don't update window_select_count and
1742 use_time when norecord is not nil.
1743
17442008-09-14 Kenichi Handa <handa@m17n.org>
1745
1746 * fileio.c (Finsert_file_contents): Delete incorrect decrement of
1747 specpdl_ptr.
1748
17492008-09-12 Kenichi Handa <handa@m17n.org>
1750
1751 * indent.c (scan_for_column): Don't handle automatic composition
1752 if the current buffer is not associated with a window.
1753
1754 * composite.c (composition_reseat_it): If the current buffer is
1755 not associated with a window, ignore the automatic composition.
1756 (find_automatic_composition): Likewise.
1757
17582008-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
1759
1760 * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
1761 (Fgpm_mouse_stop): Use it.
1762 * termhooks.h (close_gpm): Declare.
1763 * keyboard.c (tty_read_avail_input): Forcefully close the gpm
1764 connection if Gpm_GetEvent fails.
1765
1766 * window.c (set_window_buffer): Always preserve current-buffer.
1767
17682008-09-12 Glenn Morris <rgm@gnu.org>
1769
1770 * charset.c (init_charset): Warn if etc/charsets not found. (Bug#909)
1771
17722008-09-11 Glenn Morris <rgm@gnu.org>
1773
1774 * charset.c (charset-map-path): Doc fix.
1775
17762008-09-10 Kenichi Handa <handa@m17n.org>
1777
1778 * xdisp.c (handle_composition_prop): Set it->cmp_it.ch to -1.
1779
1780 * font.c (Ffont_shape_gstring): Make glyphs of non-nil adjustment
1781 compose a grapheme cluster with the preceding base glyph.
1782
1783 * composite.c (composition_compute_stop_pos): Fix previous change.
1784 Reset cmp_it->id to -1 at first.
1785
17862008-09-10 Glenn Morris <rgm@gnu.org>
1787
1788 * Makefile.in (character.o, chartab.o): Fix config.h typo.
1789
17902008-09-09 Chong Yidong <cyd@stupidchicken.com>
1791
1792 * keyboard.c (read_key_sequence): Reapply translation maps when
1793 switching keyboards.
1794
17952008-09-09 Kenichi Handa <handa@m17n.org>
1796
1797 * ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII
1798 characters.
1799
1800 * composite.c (FORWARD_CHAR): Fix calculation
1801 of (POSITION).pos_byte.
1802 (composition_compute_stop_pos): Limit the search of composition to
1803 at most 500 characters ahead. If we reach the limit or find a
1804 newline, set cmp_it->ch to -2 and return 0.
1805 (composition_reseat_it): Handle the case that cmp_it->ch is -2.
1806
18072008-09-08 Kenichi Handa <handa@m17n.org>
1808
1809 * indent.c (Fvertical_motion): Be sure to set
1810 it_overshoot_expected if it.cmp_it.id is non-negative.
1811
18122008-09-07 Andreas Schwab <schwab@suse.de>
1813
1814 * callproc.c (Fcall_process): Don't hold references to string data
1815 across garbage collection. Move initialisation of new_argv down
1816 to avoid compiler bug.
1817
18182008-09-07 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
1819
1820 * process.c (Fsystem_process_attributes): Doc fix.
1821
18222008-09-07 Chong Yidong <cyd@stupidchicken.com>
1823
1824 * callproc.c (Fcall_process): Canonicalize current directory name.
1825
1826 * xdisp.c (move_it_to): When moving by vpos, ensure that the
1827 iterator advances to the next line if the current line ends in a
1828 continued tab.
1829
18302008-09-07 Teodor Zlatanov <tzz@lifelogs.com>
1831
1832 * nsfont.m (nsfont_draw): Fix the references to missing gidx data
1833 member to point to cmp_from.
1834
1835 * xdisp.c: Doc fix for references to gidx data member.
1836
18372008-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
1838
1839 * buffer.c (Fbuffer_swap_text): Reset window->point markers.
1840
18412008-09-07 Kenichi Handa <handa@m17n.org>
1842
1843 * composite.c (FORWARD_CHAR): Check STOP after
1844 incrementing (POSITION).pos.
1845
18462008-09-06 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
1847
1848 * process.c (Fsystem_process_attributes): Doc fix.
1849
18502008-09-06 Chong Yidong <cyd@stupidchicken.com>
1851
1852 * keyboard.c (Ftop_level): Doc fix.
1853
18542008-09-06 Eli Zaretskii <eliz@gnu.org>
1855
1856 * xmenu.c (xmenu_show) [!HAVE_X_WINDOWS]: If frame has a
1857 minibuffer, don't let lower part of menu invade the echo area.
1858
1859 * msdos.c (IT_menu_display): Use STRING_CHAR_ADVANCE instead of a
1860 "char *q" to access menu text and advance through it. Revert the
1861 change that displayed ">" instead of ASCII character 0x10.
1862
18632008-09-05 Eli Zaretskii <eliz@gnu.org>
1864
1865 * menu.c (single_menu_item) [!HAVE_BOXES]: Enable emulation of
1866 toggle boxes and radio buttons on MS-DOS as well.
1867
18682008-09-05 Kenichi Handa <handa@m17n.org>
1869
1870 * composite.c (autocmp_chars): Check lookback count.
1871 (composition_compute_stop_pos): Set cmp_it->lookback.
1872 (composition_reseat_it): Check lookback count.
1873 (struct position_record): New struct.
1874 (FORWARD_CHAR, BACKWARD_CHAR, CHAR_COMPOSABLE_P): New macros.
1875 (find_automatic_composition): New function.
1876 (composition_adjust_point): Use find_automatic_composition.
1877
1878 * dispextern.h (struct composition_it): New member lookback.
1879
18802008-09-02 Chong Yidong <cyd@stupidchicken.com>
1881
1882 * indent.c (Fvertical_motion): Don't call move_it_by_lines again
1883 if moving by a single line.
1884
18852008-09-02 Andreas Schwab <schwab@suse.de>
1886
1887 * xterm.c (x_delete_display): Fix merge error.
1888
1889 * fileio.c (Fexpand_file_name): Remove unused variables.
1890
18912008-09-02 Eli Zaretskii <eliz@gnu.org>
1892
1893 * fileio.c (Fexpand_file_name): Copy argument `name' into local
1894 storage on all platforms, not just on DOS_NT.
1895
18962008-09-02 Jason Rumney <jasonr@gnu.org>
1897
b8ff72fa
SM
1898 * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show):
1899 Ensure mouse is not grabbed after menu is finished.
aac0c6e3
MR
1900
19012008-09-01 Chong Yidong <cyd@stupidchicken.com>
1902
1903 * xfaces.c (Finternal_set_alternative_font_family_alist)
1904 (Finternal_set_alternative_font_registry_alist): Properly copy
1905 entire alist structure.
1906
19072008-09-01 Kenichi Handa <handa@m17n.org>
1908
d66c0241 1909 * ftfont.c (ftfont_spec_pattern): Don't create a charset if the
aac0c6e3 1910 representative chars of the script is a vector.
d66c0241
JB
1911 (ftfont_list): Handle the case where the representative chars of
1912 the script is a vector.
aac0c6e3
MR
1913
1914 * character.c (syms_of_character): Docstring of
1915 script-representative-chars fixed.
1916
19172008-08-31 Eli Zaretskii <eliz@gnu.org>
1918
1919 * msdos.c (BUILD_CHAR_GLYPH): New macro.
1920 (IT_menu_display): Use it instead of SET_CHAR_GLYPH to construct
1921 the menu. Allocate larger buffer for `text', to account for
1922 possible ^C characters.
1923
19242008-08-31 Martin Rudalics <rudalics@gmx.at>
1925
1926 * xdisp.c (prepare_menu_bars): Don't call
1927 Vwindow_size_change_functions with arg Qt.
1928
19292008-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
1930
1931 * font.h (font_range):
1932 * fileio.c (report_file_error):
1933 * composite.c (composition_update_it): Yet another int/Lisp_Oject mixup.
1934
19352008-08-30 Glenn Morris <rgm@gnu.org>
1936
1937 * data.c (Fmake_variable_frame_local): Doc fix.
1938
1939 * frame.c (Fmodify_frame_parameters): Doc fix.
1940
19412008-08-30 Eli Zaretskii <eliz@gnu.org>
1942
1943 * w32.c (init_user_info): Allocate buf[] with xmalloc using the size
1944 needed by GetTokenInformation.
1945 (w32_system_process_attributes): Check return values of all system
1946 APIs.
1947
1948 * msdos.c (IT_display_cursor): Write "CURSOR ON/OFF" to termscript
1949 only when the state changes.
1950 (IT_update_begin, IT_update_end): Add termscript trace.
1951
1952 * w16select.c (Fw16_set_clipboard_data): Don't encode text if
1953 clipboard is unavailable. Set dst to NULL if it doesn't point to
1954 malloc'ed data.
1955 (Fw16_get_clipboard_data): Initialize htext to NULL, to avoid
1956 passing random values to xfree.
1957
1958 * dispnew.c (init_display): Set `tty's association in frame's
b8ff72fa 1959 parameters alist to the name of the terminal device, if that is known.
aac0c6e3
MR
1960
19612008-08-29 Jason Rumney <jasonr@gnu.org>
1962
1963 * w32uniscribe.c (uniscribe_check_otf): Don't fallback on DFLT script.
1964
19652008-08-29 Eli Zaretskii <eliz@gnu.org>
1966
1967 * composite.c (fill_gstring_body): Avoid compiler warnings.
1968
1969 * font.c (font_fill_lglyph_metrics): Use EMACS_INT in
1970 LGLYPH_SET_CODE to avoid compiler warnings.
1971
2ae37cf0 1972 * makefile.w32-in ($(BLD)/w32uniscribe.$(O)): Depend on composite.h.
aac0c6e3
MR
1973
1974 * composite.h (LGLYPH_SET_CODE): Cast `val' to EMACS_INT.
1975
1976 * w32uniscribe.c (uniscribe_shape): Shut up compiler warning in
1977 LGLYPH_SET_CODE.
1978
19792008-08-29 Kenichi Handa <handa@m17n.org>
1980
1981 * fileio.c (report_file_error): Don't downcase the first character
1982 of errstring if it is still unibyte.
1983
19842008-08-29 Kenichi Handa <handa@m17n.org>
1985
1986 These changes are to re-implement the automatic composition so
1987 that it doesn't use text properties.
1988
1989 * Makefile.in (ftfont.o): Depend on composite.h.
1990 (composite.o): Depend dispextern.h, font.h, frame, and window.h.
1991
1992 * character.h (Vunicode_category_table): Extern it.
1993
1994 * character.c (Vunicode_category_table): New variable.
1995 (syms_of_character): DEFVAR_LISP Vunicode_category_table.
1996
1997 * chartab.c (optimize_sub_char_table): Perform more greedy
1998 optimization.
1999
b8ff72fa
SM
2000 * composite.h (enum composition_method):
2001 Delete COMPOSITION_WITH_GLYPH_STRING.
aac0c6e3
MR
2002 (COMPOSITION_METHOD): Don't check COMPOSITION_WITH_GLYPH_STRING.
2003 (Vcomposition_function_table): Extern it.
2004 (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h.
2005 (composition_gstring_put_cache, composition_gstring_from_id)
2006 (composition_gstring_p, composition_gstring_width)
2007 (composition_compute_stop_pos, composition_reseat_it)
2008 (composition_update_it, composition_adjust_point): Extern them.
2009 (Fcomposition_get_gstring): EXFUN it.
2010
d66c0241 2011 * composite.c: Include window.h, frame.h, dispextern.h, font.h.
aac0c6e3
MR
2012 (Vcomposition_function_table)
2013 (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING.
b8ff72fa
SM
2014 (gstring_hash_table, gstring_work, gstring_work_headers):
2015 New variables.
aac0c6e3
MR
2016 (gstring_lookup_cache, composition_gstring_put_cache)
2017 (composition_gstring_from_id, composition_gstring_p)
2018 (composition_gstring_width, fill_gstring_header)
2019 (fill_gstring_body, autocmp_chars, composition_compute_stop_pos)
2020 (composition_reseat_it, composition_update_it)
b8ff72fa 2021 (composition_adjust_point, Fcomposition_get_gstring): New functions.
aac0c6e3
MR
2022 (syms_of_composite): Initialize gstring_hash_table, gstrint_work,
2023 and gstring_work_headers. DEFVAR_LISP composition-function-table.
2024 Defsubr compostion_get_gstring.
2025
2026 * dispextern.h (struct glyph): New union u.cmp. Delete the member
2027 cmp_id.
2028 (struct glyph_string): Delete the member gidx. New members
2029 cmp_id, cmp_from, and cmp_to.
2030 (enum it_method): Delete GET_FROM_COMPOSITION.
2031 (struct composition_it): New struct.
2032 (struct it): New member cmp_it, and iterator_stack_entry.cmp_it.
2033 Delete c, len, cmp_id, cmp_len in u.comp.
2034
2035 * font.h (enum lgstring_indices): Delete it.
b8ff72fa 2036 (LGSTRING_XXX, LGLYPH_XXX): Move these macros to composite.h.
aac0c6e3 2037 (enum lglyph_indices): Likewise.
b8ff72fa 2038 (font_range): Adjust extern.
aac0c6e3
MR
2039 (font_fill_lglyph_metrics): Extern it.
2040
2041 * font.c (QCf): New variable.
2042 (check_gstring): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
2043 (font_prepare_composition): Delete this function.
2044 (font_range): Type and arguments changed.
2045 (Ffont_make_gstring, Ffont_fill_gstring): Delete them.
2046 (font_fill_lglyph_metrics): New function.
b8ff72fa 2047 (Ffont_shape_text): Rename to Ffont_shape_gstring and change arguments.
aac0c6e3 2048 (syms_of_font): DEFSYM QCf. Delete defsubr for
b8ff72fa
SM
2049 Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text.
2050 Defsubr Sfont_shape_gstring.
aac0c6e3
MR
2051
2052 * fontset.h (font_for_char): Extern it.
2053
2054 * fontset.c (font_for_char): New function.
2055
2056 * ftfont.c: Include composite.h.
2057 (ftfont_resolve_generic_family): Add langset "en" to pattern.
b8ff72fa 2058 (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
aac0c6e3
MR
2059
2060 * indent.c: Include composite.h and dispextern.h.
2061 (check_composition): Delete this function.
2062 (scan_for_column): Handle composition by
2063 composition_compute_stop_pos, composition_reseat_it, and
2064 composition_update_it.
2065 (compute_motion): Likewise.
2066 (Fvertical_motion): Fix checking of composition.
2067
2068 * keyboard.c (adjust_point_for_property): Check composition by
2069 composition_adjust_point.
2070
b8ff72fa 2071 * nsterm.m (ns_draw_glyph_string): Adjust for the change of
aac0c6e3
MR
2072 struct glyph_string.
2073
b8ff72fa
SM
2074 * term.c (encode_terminal_code): Adjust for the change of struct glyph.
2075 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3
MR
2076 struct glyph.
2077 (produce_composite_glyph): Likewise.
2078
b8ff72fa
SM
2079 * w32term.c (x_draw_composite_glyph_string_foreground):
2080 Adjust for the change of struct glyph_string.
aac0c6e3
MR
2081 (x_draw_glyph_string): Likewise.
2082
2083 * w32uniscribe.c (struct uniscribe_font_info): Include composite.h.
2084 (uniscribe_shape): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
2085
2086 * xdisp.c: Include font.h.
2087 (it_props): Delete the entry for Qauto_composed.
2088 (init_iterator): Initialize it->cmp_it.id to -1.
2089 (compute_stop_pos): Call composition_compute_stop_pos.
b8ff72fa 2090 (face_before_or_after_it_pos): Adjust for the change of struct it.
aac0c6e3
MR
2091 (handle_auto_composed_prop): Delete it.
2092 (handle_composition_prop): Handle only static composition.
2093 (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION
2094 from xassert. Initialize it->cmp_it.stop_pos.
b8ff72fa 2095 (push_it): Adjust for the change of struct it.
aac0c6e3
MR
2096 (pop_it): Likewise.
2097 (get_next_element): Delete next_element_from_composition.
2098 (CHAR_COMPOSED_P): New macro.
2099 (get_next_display_element): For automatic composition, get a face
2100 from the font in the glyph-string.
2101 (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING,
b8ff72fa 2102 check composition by it->cmp_it.id. Delete GET_FROM_COMPOSITION case.
aac0c6e3
MR
2103 (next_element_from_string): Check if the character at the current
2104 position is composed by CHAR_COMPOSED_P.
2105 (next_element_from_buffer): Likewise.
d66c0241
JB
2106 (next_element_from_composition): Adjust for the change of struct it.
2107 Update it->cmp_it.
b8ff72fa
SM
2108 (dump_glyph): Adjust for the change of struct glyph.
2109 (fill_composite_glyph_string): Adjust for the change of struct
aac0c6e3
MR
2110 it and struct glyph. Don't handle automatic composition here.
2111 (fill_gstring_glyph_string): New function.
2112 (x_get_glyph_overhangs): Handle automatic composition.
b8ff72fa 2113 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the change of struct glyph.
aac0c6e3
MR
2114 (BUILD_GSTRING_GLYPH_STRING): New macro.
2115 (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for
2116 automatic composition.
b8ff72fa 2117 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3 2118 struct glyph.
b8ff72fa 2119 (x_produce_glyphs): Adjust for the change of struct it.
aac0c6e3 2120
b8ff72fa 2121 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aac0c6e3
MR
2122 the change of struct glyph_string.
2123 (x_draw_glyph_string): Likewise.
2124
21252008-08-29 Glenn Morris <rgm@gnu.org>
2126
2127 * buffer.c (word-wrap): Doc fix.
2128 * xdisp.c (truncate-partial-width-windows): Doc fix.
2129 Increase default to 50.
2130
21312008-08-29 Chong Yidong <cyd@stupidchicken.com>
2132
2133 * xdisp.c (update_tool_bar_unwind): New function.
2134 (update_tool_bar): Temporarily set selected frame before building
2135 tool-bar items.
2136
21372008-08-28 Michael Albinus <michael.albinus@gmx.de>
2138
2139 * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and
2140 snprintf, respectively.
2141 (xd_append_arg): Convert strings with Fstring_make_unibyte.
2142
21432008-08-28 Chong Yidong <cyd@stupidchicken.com>
2144
2145 * Makefile.in: Revert (undocumented) 2008-08-20 change adding
2146 LDFLAGS to GNUstep CC invocation.
2147
21482008-08-27 Chong Yidong <cyd@stupidchicken.com>
2149
2150 * indent.c (Fvertical_motion): Revert last change. Handle the
2151 general case where we are moving forward, and PT spans multiple
2152 screen lines.
2153
2154 * eval.c (find_handler_clause): Temporarily increase
2155 max-lisp-eval-depth while printing the backtrace buffer, to
2156 guarantee that help-mode code can run.
2157
21582008-08-27 Eli Zaretskii <eliz@gnu.org>
2159
2160 * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame
2161 colors under -rv.
2162 (IT_set_frame_parameters): Don't swap foreground and background
2163 colors if `(reverse . t)' is present in the frame properties.
2164 (internal_terminal_init): Call init_frame_faces only for the
2165 initial frame.
2166
21672008-08-27 Andreas Schwab <schwab@suse.de>
2168
2169 * dired.c (Ffile_attributes): Avoid compiler warning in bitshift.
2170
21712008-08-27 Andreas Schwab <schwab@suse.de>
2172
2173 * search.c (search_buffer): Set char_base to zero only at the end.
2174
21752008-08-27 Kenichi Handa <handa@m17n.org>
2176
b8ff72fa 2177 * fileio.c (report_file_error): Fix handling of multibyte error string.
aac0c6e3
MR
2178
21792008-08-27 Andreas Seltenreich <seltenreich@gmx.de>
2180
2181 * xterm.c (x_term_init): Temporarily hide the partially
2182 initialized terminal while calling vendor-specific-keysyms.
2183
21842008-08-26 Eli Zaretskii <eliz@gnu.org>
2185
2186 * msdos.c (internal_terminal_init): Most initializations done only
2187 once, especially initial_screen_colors[] and termscript open.
2188
21892008-08-26 Chong Yidong <cyd@stupidchicken.com>
2190
2191 * eval.c (Fcondition_case): Doc fix.
2192
2193 * widgetprv.h (EmacsFramePart): Change font member to the new font
2194 struct.
2195
2196 * widget.c: Include character.h and font.h for XSETFONT.
2197 (setup_frame_gcs): Compute X font id from font struct, just once.
2198
21992008-08-26 Eli Zaretskii <eliz@gnu.org>
2200
2201 * term.c (get_named_tty): Fix last change.
2202
22032008-08-26 Chong Yidong <cyd@stupidchicken.com>
2204
2205 * indent.c (Fvertical_motion): If moving forward starting from a
b8ff72fa 2206 multi-line string, move the iterator to the last line of that string.
aac0c6e3
MR
2207
22082008-08-25 Eli Zaretskii <eliz@gnu.org>
2209
2210 * frame.c (do_switch_frame): Mark previously displayed frame as
2211 obscured for FRAME_MSDOS_P frames as well.
2212
22132008-08-24 Eli Zaretskii <eliz@gnu.org>
2214
2215 * frame.c (make_terminal_frame): Initialize f->terminal,
2216 f->terminal->reference_count, and scroll bars on MS-DOS as well.
2217 Set the top frame to newly created frame.
2218 (Fmake_terminal_frame): Reuse the_only_display_info.
2219
2220 * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of
2221 estimating available memory.
2222
b97439ce 22232008-08-23 David Reitter <david.reitter@gmail.com>
aac0c6e3
MR
2224
2225 * nsterm.m (ns_draw_window_cursor): Don't call
2226 NSDisableScreenUpdates and NSEnableScreenUpdates on
2227 non-NS_IMPL_COCOA systems.
2228
22292008-08-23 Andreas Schwab <schwab@suse.de>
2230
2231 * process.c (procfs_system_process_attributes): Fix use of
2232 uninitialized variables.
2233
22342008-08-23 Eli Zaretskii <eliz@gnu.org>
2235
2236 * emacs.c (main) [MSDOS]: Call syms_of_xmenu.
2237
2238 * dispnew.c (init_display): Remove MS-DOS specific conditions for
2239 calling tty-set-up-initial-frame-faces.
2240
b8ff72fa
SM
2241 * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show):
2242 Allow MSDOS frames along with X frames.
aac0c6e3
MR
2243
2244 * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in
2245 addition to output_termcap.
2246
2247 * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode.
2248
2249 * termchar.h (FRAME_TTY): Support output_msdos_raw.
2250 (struct tty_display_info) [MSDOS]: Add fields related to mouse
2251 highlight.
2252
2253 * process.c [!subprocesses]: Define QCname.
2254 (syms_of_process): Intern and staticpro it.
2255
2256 * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
b8ff72fa
SM
2257 Adjust for changes in encoding/decoding routines.
2258 Use encode_coding_object and decode_coding_object instead of
aac0c6e3
MR
2259 encode_coding and decode_coding.
2260
b8ff72fa 2261 * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as argument.
aac0c6e3
MR
2262
2263 * dosfns.c: Include frame.h before termhooks.h.
2264 (dos_cleanup): Use CURTTY ()->termscript instead of a global
2265 variable termscript.
2266
2267 * s/msdos.h (USER_FULL_NAME): Define.
2268 (SYSTEM_PURESIZE_EXTRA): Bump up to 100K.
2269
2270 * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined.
2271 (Fuser_full_name): Use USER_FULL_NAME instead of a literal
2272 pw->pw_gecos.
2273
2274 * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with
2275 SELECTED_FRAME as additional (1st) argument.
2276 (tty_read_avail_input): Handle output_msdos_raw in
2277 addition to output_termcap.
2278
2279 * msdos.c: Include frame.h before termhooks.h.
2280 (mouse_on, mouse_off, mouse_moveto, mouse_init)
2281 (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs)
2282 (show_mouse_face, IT_clear_end_of_line, IT_clear_screen)
2283 (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto)
2284 (IT_set_terminal_modes, IT_reset_terminal_modes)
2285 (IT_set_frame_parameters): Use tty->termscript instead of a global
2286 variable termscript.
2287 (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a
2288 global variable terminal_coding. Don't refer to
2289 Vnonascii_translation_table.
2290 (internal_terminal_init): Set Vwindow_system in current_kboard.
2291 Don't use TTY_CHAR_INS_DEL_OK. Set Vinitial_window_system.
2292 Announce date and time of session start, if termscript is open.
2293 Don't zero out the_only_display_info (it is done in
b8ff72fa
SM
2294 term.c:init_tty). Open termscript only of not already open.
2295 Log "SCREEN SAVED" here, instead of IT_set_terminal_modes. Init mouse
aac0c6e3
MR
2296 here instead of dos_ttraw. Don't initialize display if this is an
2297 initial tty. Don't set FRAME_FONT.
2298 (Vwindow_system_version): Bump to 23.
2299 (dos_ttraw): Accept a TTY argument; all callers fixed. If mouse
2300 is available, set up mouse_position_hook.
2301 (dos_ttraw, IT_set_terminal_modes): If called with initial
2302 terminal, do nothing.
2303 (IT_set_frame_parameters): Handle the Qtty_type frame
2304 parameter by calling internal_terminal_init.
2305 (dos_set_window_size, show_mouse_face)
2306 (clear_mouse_face, IT_note_mode_line_highlight)
2307 (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date)
2308 (dos_rawgetc): Use tty_display_info instead of x_display_info.
2309 (initialize_msdos_display): New function.
2310 (IT_cursor_to, IT_clear_to_end, IT_clear_screen)
2311 (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs)
2312 (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes)
2313 (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin):
b8ff72fa 2314 Accept additional argument: a pointer to a frame. Update all callers.
aac0c6e3
MR
2315 (request_sigio, unrequest_sigio): Don't define, now defined on
2316 sysdep.c.
2317 (IT_write_glyphs): Rewrite to use encode_terminal_code.
2318
2319 * term.c [MSDOS]: Include msdos.h.
2320 (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch. Change cpp
2321 conditional to DOS_NT. Allow only one call to this function in a
2322 session. Don't allocate a new struct tty_display_info; instead,
2323 reuse the_only_display_info. Call get_tty_size to get screen
2324 dimensions. Call init_baud_rate to set bad_rate.
2325 (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body.
2326 (Fsuspend_tty) [MSDOS]: Don't close input and output.
b8ff72fa 2327 (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use stdin/stdout.
aac0c6e3
MR
2328 (get_tty_terminal, get_named_tty, Ftty_type)
2329 (Fcontrolling_tty_p): Handle output_msdos_raw in addition to
2330 output_termcap.
b8ff72fa
SM
2331 (Fresume_tty, Fsuspend_tty, init_tty, delete_tty):
2332 Call add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor
2ae37cf0 2333 only when subprocesses are supported.
aac0c6e3
MR
2334
2335 * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of
2336 f->output_data.x.
2337 (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new
2338 terminal devices.
2339
5582fbc7 2340 * msdos.h: Remove definition of struct x_display_info and struct
aac0c6e3
MR
2341 x_output.
2342 (FRAME_FONT): Use output_data.tty.
2343 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define.
b8ff72fa
SM
2344 (struct x_display_info): Rename from display_info. Update all users in
2345 msdos.c.
aac0c6e3 2346 (struct x_output): Remove background_pixel and foreground_pixel.
b8ff72fa 2347 (the_only_display_info): Rename from the_only_x_display.
aac0c6e3
MR
2348 (dos_ttraw): Update prototype.
2349
2350 * Makefile.in (MSDOS_OBJ): Add xmenu.o.
2351 (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc.
2352
23532008-08-23 Jason Rumney <jasonr@gnu.org>
2354
2355 * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword.
2356 (fn_TIFFSetDirectory): New library function used.
2357 (init_tiff_functions) [HAVE_NTGUI]: Initialize it.
2358 (tiff_load): Use :index to select among multiple images. Set count
2359 property when multiple images exist.
2360 (gif_format): Use :index, not :image.
2361
23622008-08-23 Chong Yidong <cyd@stupidchicken.com>
2363
2364 * xdisp.c (try_scrolling): Check INT_MAX instead of
2365 MOST_POSITIVE_FIXNUM for maximum integer value. Include limits.h
2366 to obtain INT_MAX.
2367
23682008-08-21 İsmail Dönmez <ismail@namtrac.org> (tiny change)
2369
2370 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+.
2371
23722008-08-21 Christian Faulhammer <opfer@gentoo.org> (tiny change)
2373
2374 * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate
2375 GNUstep library location.
2376
23772008-08-21 Chong Yidong <cyd@stupidchicken.com>
2378
2379 * xfaces.c (x_update_menu_appearance): Check validity of menu font
2380 before using it.
2381
2382 * puresize.h (BASE_PURESIZE): Increase to 1250000.
2383
23842008-08-20 Adrian Robert <Adrian.B.Robert@gmail.com>
2385
2386 * nsfns.m (ns-read-file-name): Add casts to avoid warning.
2387 (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly.
2388 * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil.
2389 * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration.
2390 (EmacsApp-cursor_blink_handler): Remove declaration.
2391 * nsterm.m (ns_draw_glyph_string): Update first conditional body to
2392 match 01 Feb 2008 changes in xterm.c.
2393 (ns_read_socket): Add cast to avoid warning.
2394 (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on
2395 GNUstep.
2396
23972008-08-20 Chong Yidong <cyd@stupidchicken.com>
2398
2399 * xselect.c (x_get_foreign_selection): Return nil if desired
2400 selection could not be obtained, instead of signalling an error.
2401
24022008-08-20 David Reitter <david.reitter@gmail.com>
2403
2404 * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c.
2405 * nsterm.m: Remove ns-specific code for cursor blinking.
2406 (ns_draw_window_cursor): Clear cursor properly rather than
2407 redrawing the area. Respect width of bar cursors.
2408 These changes enable the use of generic blink-cursor-mode and
2409 generic cursor types in NS and support smooth cursor movements (do
2410 not blink off after command).
2411 * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on
2412 Nextstep, too.
2413
24142008-08-19 Kenichi Handa <handa@m17n.org>
2415
2416 * font.c (Vfont_log_deferred): New variable.
2417 (font_add_log): Check Vfont_log_deferred.
2418 (font_deferred_log): New function.
2419
2420 * font.h (font_deferred_log): Extern it.
2421
2422 * fontset.c (reorder_font_vector): Use encoding charset of fonts
2423 for sorting.
2424 (face_for_char): Use deferred log.
2425
24262008-08-18 Kenichi Handa <handa@m17n.org>
2427
2428 * fontset.c (face_for_char): Add font log.
2429
2430 * font.c (font_add_log): Add the font properties :script, :lang,
2431 and :otf in the log.
2432
24332008-08-17 Chong Yidong <cyd@stupidchicken.com>
2434
2435 * xdisp.c: Remove dead code.
2436 (handle_invisible_prop, next_overlay_string): Defer call to
2437 setup_for_ellipsis.
2438 (handle_stop, set_iterator_to_next): Call setup_for_ellipsis.
2439
24402008-08-15 Chong Yidong <cyd@stupidchicken.com>
2441
2442 * xfaces.c (lookup_derived_face): Properly handle possible zero
2443 return value of get_lface_attributes.
2444 (merge_faces): Don't tell lookup_derived_face to signal an error
2445 if face is not found.
2446
2447 * dired.c (Fdirectory_files): Doc fix.
2448
2449 * process.c (make_process): Initialize kill_without_query struct
2450 member.
2451
24522008-08-15 Eli Zaretskii <eliz@gnu.org>
2453
2454 * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]:
2455 Alternative calculation of totphys for Visual Studio 6.
2456
2457 * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR.
2458
2459 * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX):
2460 Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX.
2461 All users changed.
2462 (stat): Only root directory passed to GetDriveType. Allow RAM
2463 disk as well as local fixed disk when w32-get-true-file-attributes
2464 is set to `local'.
2465 (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs.
2466 (equal_sid, get_length_sid, copy_sid): New wrapper functions.
2467 (w32_cached_id, w32_add_to_cache): New functions.
2468 (get_name_and_id): Look account names in the cache before calling
2469 lookup_account_sid.
2470 (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid):
2471 New initialization flags.
2472 (globals_of_w32): Initialize them to zero.
2473 (w32_system_process_attributes): Use w32_cached_id and
2474 w32_add_to_cache.
2475
24762008-08-14 Lawrence Mitchell <wence@gmx.li>
2477
2478 * lread.c (Fread_char, Fread_char_exclusive): If no character
2479 event is read before timeout is reached, return nil, rather than
2480 converting to a number.
2481
24822008-08-14 Chong Yidong <cyd@stupidchicken.com>
2483
2484 * fns.c (use_dialog_box): Doc fix.
2485
2486 * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful
2487 on OS X.
2488
24892008-08-13 Chong Yidong <cyd@stupidchicken.com>
2490
2491 * frame.c (Qns_parse_geometry): New var.
2492 (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry.
2493
24942008-08-11 Chong Yidong <cyd@stupidchicken.com>
2495
2496 * xdisp.c (x_produce_glyphs): Handle the case when font has no
2497 space character in calculating tabs.
2498
24992008-08-11 Dan Nicolaescu <dann@ics.uci.edu>
2500
2501 * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case.
2502
25032008-08-10 Glenn Morris <rgm@gnu.org>
2504
2505 * process.c (procfs_system_process_attributes): Use EMACS_INTs to
2506 silence gcc "limited range of data type" warnings in some
2507 make_fixnum_or_float calls.
2508
25092008-08-09 Eli Zaretskii <eliz@gnu.org>
2510
2511 * w32.c (w32_system_process_attributes): If the process does not
2512 exist, return nil.
2513
2514 * w32.c: Include thelp32.h, psapi.h and coding.h.
2515 (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct
2516 declarations.
2517 (CreateToolhelp32Snapshot_Proc, Process32First_Proc)
2518 (Process32Next_Proc): New typedefs.
2519 (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first)
2520 (g_b_init_process32_next, g_b_init_open_thread_token)
2521 (g_b_init_impersonate_self, g_b_init_revert_to_self)
2522 (g_b_init_get_process_memory_info, g_b_init_global_memory_status)
2523 (g_b_init_get_process_working_set_size)
2524 (g_b_init_global_memory_status_ex): New static variables.
2525 (globals_of_w32): Initialize them.
2526 (create_toolhelp32_snapshot, process32_first, process32_next)
2527 (open_thread_token, impersonate_self, revert_to_self)
2528 (get_process_memory_info, get_process_working_set_size)
2529 (global_memory_status, global_memory_status_ex): New wrapper
2530 functions.
2531 (w32_list_system_processes, w32_system_process_attributes)
2532 (enable_privilege, restore_privilege, ltime, process_times):
2533 New functions.
2534 (convert_time_raw): New function.
2535 (convert_time): Remove conversion of FILETIME into time in 100
2536 nsec units, call convert_time_raw instead.
2537
2538 * process.h (w32_list_system_processes, w32_system_process_attributes):
2539 Add prototypes.
2540 (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname)
2541 (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime)
2542 (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup)
2543 (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations.
2544
2545 * process.c (Fsystem_process_attributes): Doc fix.
2546
25472008-08-08 Chong Yidong <cyd@stupidchicken.com>
2548
2549 * xdisp.c (move_it_to): When stopping at a charpos, check if that's
2550 a continued multi-char glyph; if so, advance to the actual glyph.
2551
25522008-08-07 Dan Nicolaescu <dann@ics.uci.edu>
2553
2554 * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in.
2555
2556 * Makefile.in (ALL_OBJC_CFLAGS): New variable.
2557 (.m.o): Use it.
2558 * config.in: Regenerate.
2559
25602008-08-07 Chong Yidong <cyd@stupidchicken.com>
2561
2562 * xdisp.c (redisplay_window): Revert last change.
2563 (try_window): Check bottom scroll margin too.
2564
25652008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
2566
2567 * config.in: Regenerate.
2568
2569 * Makefile.in (emacs): Remove ifndef NS conditional for 'emacs
2570 -list-load-path-shadows'.
2571 (nsgui.h): Reduce number of things depending on it.
2572
25732008-08-06 Chong Yidong <cyd@stupidchicken.com>
2574
2575 * xdisp.c (try_scrolling): Use iterator to find the scroll margin,
2576 instead of window-end which does the wrong thing at eob.
2577 (try_cursor_movement): Minor optimization.
2578 (redisplay_window): If scroll margin is defined, don't assume
2579 window doesn't need scrolling.
2580
25812008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
2582
2583 * config.in: Regenerate.
2584
2585 * Makefile.in: Move nsXXX.m dependencies into big alphabetical list.
2586 (mostlyclean): Don't delete *.d under NS.
2587
2588 * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER.
2589
25902008-08-06 Kenichi Handa <handa@m17n.org>
2591
2592 * xfont.c (xfont_list_family): Return a list of symbols, not strings.
2593
25942008-08-06 Andreas Schwab <schwab@suse.de>
2595
2596 * config.in: Regenerate.
2597
25982008-08-05 Chong Yidong <cyd@stupidchicken.com>
2599
2600 * xdisp.c (redisplay_window): Don't enforce scroll-margin when
2601 forcing a window start.
2602
2603 * fileio.c (Vauto_save_list_file_name): Move here from file.el.
2604 (auto_save_1): Update modtime when auto-save-list-file-name is on.
2605
26062008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2607
2608 * emacs.c (main): Under NS, set working dir to HOME when get a "psn"
2609 argument.
2610
26112008-08-05 Juanma Barranquero <lekktu@gmail.com>
2612
2613 * buffer.c (syms_of_buffer) <scroll-up-aggressively>:
2614 <scroll-down-aggressively, before-change-functions>:
2615 <after-change-functions>: Reflow docstrings.
2616
26172008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2618 Ken Raeburn <raeburn@gnu.org>
2619
2620 Dock menu customization, based on a patch by Ken Raeburn, plus some
2621 other fixes.
2622 * nsmenu.m (dockMenu): New variable.
2623 (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17.
2624
2625 * nsterm.h (dockMenu): Declare.
2626
2627 * nsterm.m (KEY_NS_NEW_FRAME): New definition.
2628 (ns_term_init): Initialize dockMenu.
2629 (EmacsApp -newFrame:, -applicationDockMenu:): New methods.
2630 (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame
2631 left.
2632
2633 * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA.
2634
26352008-08-04 Chong Yidong <cyd@stupidchicken.com>
2636
2637 * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it.
2638
2639 * config.in: Regenerate.
2640
26412008-08-04 Seiji Zenitani <zenitani@mac.com>
2642
2643 * nsfns.m (x-create-frame): Set the frame parameter alpha to nil.
2644
26452008-08-04 Chong Yidong <cyd@stupidchicken.com>
2646
2647 * nsterm.h (find_and_call_menu_selection): Fix prototype.
2648
26492008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2650
2651 * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS.
2652
2653 * keyboard.h: Comment an #endif.
2654
2655 * lisp.h (have_menus_p): Adjust comment.
2656
2657 * menu.c (find_and_return_menu_selection): Fix comparison with
2658 client_data.
2659
2660 * nsmenu.m (popup_activated_flag): New variable.
2661 (popup_activated): New function.
2662 (menu-or-popup-active-p): New exported lisp definition.
2663 (ns_popup_menu): Set popup_activated_flag. Call discard_menu_items()
2664 when popup done.
2665 (ns_popup_dialog): Set popup_activated_flag.
2666
2667 * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger
2668 version for GNUstep (handled by conditional typedef in nsterm.m).
2669 (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now
2670 in rgb.txt).
2671
2672 * process.c (init_process): Use DARWIN_OS, not DARWIN.
2673
2674 * sysselect.h: Conditionalize init_process undef on DARWIN_OS.
2675
2676 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS.
2677
2678 * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS,
2679 shortcircuit if popup_activated like GTK and X toolkit.
2680
2681 * m/inter386.h: Change DARWIN to DARWIN_OS.
2682
2683 * s/darwin.h: Add #define DARWIN_OS. Get rid of C_SWITCH_SYSTEM def.
2684 Change LIBS_MACGUI to LIBS_NSGUI. Move temacs-conditionalized defs
2685 closer to C_SWITCH_SYSTEM_TEMACS so usage is understood. Expand
2686 comment on NO_SOCK_SIGIO.
2687
26882008-08-03 Chong Yidong <cyd@stupidchicken.com>
2689
2690 * nsterm.m (windowDidResize): Remove stopModal call.
2691
26922008-08-03 Andreas Schwab <schwab@suse.de>
2693
2694 * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define.
2695 (check_memory_limits): Don't handle HAVE_GETRLIMIT here.
2696
26972008-08-02 Chong Yidong <cyd@stupidchicken.com>
2698
2699 * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin.
2700 Don't use uninitialized pointer variable when using getrlimit.
2701
27022008-08-02 Jason Rumney <jasonr@gnu.org>
2703
2704 * w32font.c (compute_metrics): Don't mess with glyph_idx setting here.
2705
27062008-08-02 Eli Zaretskii <eliz@gnu.org>
2707
2708 * alloc.c (NSTATICS): Bump to 0x640.
2709
2710 * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
2711
2712 * lisp.h: Add prototype for directory_files_internal.
2713
2714 * process.c (Fsystem_processes_list, Fsystem_process_attributes):
2715 New functions.
2716 (syms_of_process): Defsubr them. Add initializations for various
2717 Q* symbols used in procfs_system_process_attributes.
2718 (procfs_list_system_processes, procfs_system_process_attributes)
2719 [HAVE_PROCFS]: New functions.
2720 (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname)
2721 (procfs_get_total_memory): New functions.
2722
27232008-08-01 Juanma Barranquero <lekktu@gmail.com>
2724
2725 * xfaces.c (Fx_load_color_file): Fix previous change;
2726 it is #ifdef WINDOWSNT, not WINDOWS_NT.
2727
27282008-08-01 Michael Albinus <michael.albinus@gmx.de>
2729
2730 * dbusbind.c (xd_read_message): Handle D-Bus error messages.
2731
27322008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2733
2734 * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard.
2735
27362008-08-01 Chong Yidong <cyd@stupidchicken.com>
2737
2738 * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha.
2739
2740 * nsterm.m (EmacsApp -application:openFiles:): GNUstep does not
2741 define NSApplicationDelegateReplySuccess.
2742 (EmacsView -converstationIdentifier): Use long instead of
2743 NSInteger for GNUstep, since it doesn't have NSInteger.
2744
2745 * xmenu.c: Revert last change.
2746
2747 * keyboard.h: Fix last change.
2748
27492008-08-01 Juanma Barranquero <lekktu@gmail.com>
2750
2751 * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting
2752 on Windows.
2753
27542008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2755
2756 Warning clearing and clean-up in NS port.
2757 * keyboard.h (xmalloc_widget_value, digest_single_submenu):
2758 Add prototypes.
2759 * nsgui.h (FACE_DEFAULT): Remove, unused.
2760 (XGCValues): Change colors to unsigned long.
2761 * nsterm.h (EmacsApp): Add declaration of all methods implemented in
2762 nsterm.m.
2763 (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class.
2764 (ns_list_fonts): Remove, unused.
2765 (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes.
2766 * nsfns.m (interpret_services_menu): Use NSMenuItem class.
2767 * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc.
2768 (nsfont_draw): Compare face colors to 0, not nil.
2769 * nsmenu.m (struct widget_value): Drop unneeded declaration.
2770 (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:)
2771 (-addSubmenuWithTitle:): Use NSMenuItem class.
2772 (ns_popup_menu): Use NO, not NULL, for enabled setting.
2773 * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0.
2774 (ns_clip_to_row): Make gc arg a BOOL.
2775 (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in
2776 ns_clip_to_row() call.
2777 (ns_draw_glyph_string): Drop face comparison to ~0 (no longer
2778 used). Cast FRAME_FONT assignments.
2779 (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:.
2780 (ns_string_to_lispmod): Change arg to const char.
2781 (ns_term_init): Use NSMenuItem class.
2782 (EmacsApp -openFile:): Move to different section of file.
2783 (EmacsApp -application:openFiles:): Don't return a value, call
2784 -replyToOpenOrPrint:.
2785 (EmacsView -keyDown:): Fix up cast.
2786 (EmacsView -converstationIdentifier): Use NSInteger instead of long.
2787 (EmacsView -menuDown:): Cast tag in call to
2788 find_and_call_menu_selection().
2789 (ns_list_fonts): Remove, unused.
2790 (ns_font_to_xlfd): Make static. Cast result of UTF8String.
2791 (ns_fontname_to_xlfd): Make static.
2792 * w32menu.c (xmalloc_widget_value, digest_single_submenu):
2793 Remove prototypes (now in keyboard.h).
2794 (next_menubar_widget_id): Remove, unused.
2795 * xmenu.c (xmalloc_widget_value, digest_single_submenu):
2796 Remove prototypes (now in keyboard.h).
2797 * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused.
2798
27992008-08-01 Dan Nicolaescu <dann@ics.uci.edu>
2800
2801 * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o)
2802 (floatfns.o): Depend on syssignal.h.
2803 (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC).
2804
2805 * systty.h: Fix previous change that removed BSD_TERMIOS.
2806 Add comments to #ifdefs.
2807
28082008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2809
2810 * w32fns.c (w32-load-color-file): Remove.
2811 (x-open-connection): Use renamed Fx_load_color_file.
2812 * xfaces.c (x-load-color-file): Add.
2813 * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of
2814 Emacs.clr.
2815 (hide_hourglass): BLOCK_INPUT before UNBLOCK.
2816
28172008-07-31 Michael Albinus <michael.albinus@gmx.de>
2818
2819 * dbusbind.c (Fdbus_call_method_asynchronously)
2820 (Fdbus_method_error_internal): New defuns.
2821 (xd_read_message): Handle also reply messages.
2822 (Vdbus_registered_functions_table): Extend docstring.
2823
28242008-07-31 Juanma Barranquero <lekktu@gmail.com>
2825
2826 * keyboard.c (gobble_input): Fix previous change.
2827
28282008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
2829
2830 * bitmaps/README:
2831 * xfns.c:
2832 * termcap.c:
2833 * term.c:
2834 * syswait.h:
2835 * systty.h:
2836 * systime.h:
2837 * syssignal.h:
2838 * sysdep.c:
2839 * process.h:
2840 * process.c:
2841 * print.c:
2842 * ndir.h:
2843 * lread.c:
2844 * keyboard.c:
2845 * getpagesize.h:
2846 * floatfns.c:
2847 * fileio.c:
2848 * emacs.c:
2849 * doc.c:
2850 * dispnew.c:
2851 * dired.c:
2852 * data.c:
2853 * callproc.c:
2854 * buffer.c:
2855 * README:
2856 * Makefile.in:
2857 * s/template.h:
2858 * s/msdos.h:
2859 * m/vax.h: Remove VMS support.
2860 * s/vms.h:
2861 * vlimit.h:
2862 * uaf.h:
2863 * temacs.opt:
2864 * param.h:
2865 * ioctl.h: Remove file.
2866
28672008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
2868
2869 * s/ms-w32.h (MULTI_KBOARD): Remove.
2870 * xterm.c:
2871 * xselect.c:
2872 * xfns.c:
2873 * window.c:
2874 * w32term.c:
2875 * w32fns.c:
2876 * terminal.c:
2877 * termhooks.h:
2878 * term.c:
2879 * sysdep.c:
2880 * keyboard.h:
2881 * keyboard.c:
2882 * frame.h:
2883 * frame.c:
2884 * frame.c: Remove references to MULTI_KBOARD, it is now the default.
2885 * config.in: Regenerate.
2886
28872008-07-30 Jason Rumney <jasonr@gnu.org>
2888
2889 * w32font.h (struct w32font_info): Use unicode version of textmetrics.
2890
2891 * w32font.c (w32font_encode_char): Leave as unicode if in range.
2892 (w32font_open_internal): Get unicode version of textmetrics.
2893 Don't enable or disable glyph indices here.
2894 (w32font_open): Disable use of glyph indices.
2895
2896 * w32uniscribe.c (uniscribe_open): Enable use of glyph indices.
2897
28982008-07-30 Chong Yidong <cyd@stupidchicken.com>
2899
2900 * minibuf.c (Vread_buffer_function): Doc fix.
2901
29022008-07-30 John Paul Wallington <jpw@pobox.com>
2903
2904 * minibuf.c (read_buffer_completion_ignore_case): New var.
2905 (Fread_buffer): Use it.
2906
29072008-07-30 Dan Nicolaescu <dann@ics.uci.edu>
2908
2909 * systty.h (sensemode): Remove empty #if. Remove reference to
2910 BSD_TERMIOS, unused.
2911
2912 * sysdep.c: Remove reference to DGUX.
2913 (closedir): Remove reference to BROKEN_CLOSEDIR, unused.
2914
2915 * config.in: Regenerate.
2916
29172008-07-30 Jason Rumney <jasonr@gnu.org>
2918
2919 * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size.
2920
29212008-07-29 Jason Rumney <jasonr@gnu.org>
2922
2923 * w32uniscribe.c (uniscribe_shape): Avoid using context if cache
2924 is populated.
2925 (uniscribe_encode_char): Always use uniscribe.
2926 Avoid using context if cache is populated.
2927
29282008-07-29 Jan Djärv <jan.h.d@swipnet.se>
2929
2930 * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to
2931 open menu.
2932
2933 * gtkutil.c (menu_nav_ended): Remove.
2934 (create_menus): Remove signal connect for menu_nav_ended.
2935
29362008-07-28 Chong Yidong <cyd@stupidchicken.com>
2937
2938 * xdisp.c (redisplay_window): Check return value of
2939 compute_window_start_on_continuation_line before forcing a window
2940 start.
2941
29422008-07-28 Jason Rumney <jasonr@gnu.org>
2943
2944 * w32font.c (w32font_text_extents): Use w32_metric_cache consistently.
2945
2946 * w32term.c (w32_enable_unicode_output, cleartype_active):
2947 Remove obsolete display options.
2948 (x_draw_glyph_string_background): Don't use old cleartype_active
2949 workaround.
2950 (w32_initialize): Remove cleartype_active initialization.
2951 (syms_of_w32term): Remove w32_enable_unicode_output initialization.
2952
29532008-07-28 Andreas Schwab <schwab@suse.de>
2954
2955 * lisp.h (init_weak_hash_tables, syms_of_font)
2956 (xd_read_queued_messages, syms_of_dbusbind): Declare.
2957 (remove_hash_entry): Don't declare.
2958 * eval.c (maybe_call_debugger): Make static and move before use.
2959 * gtkutil.c: Include <X11/Xft/Xft.h> if HAVE_XFT.
2960 * xdisp.c: Include "gtkutil.h" if USE_GTK.
2961 * xterm.h (x_set_frame_alpha): Declare.
2962
29632008-07-28 Jan Djärv <jan.h.d@swipnet.se>
2964
2965 * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24.
2966 (create_menus): Connect selection-done to menu_nav_ended.
2967
29682008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
2969
2970 * nsfns.m (x-create-frame): Add copy of parms argument to beginning.
2971 Set Vx_resource_name to a fallback. Replace read of 'buffered'
2972 parameter with read of 'alpha' one.
2973 (Qns_frame_parameter): Remove.
5582fbc7 2974 * nsselect.m (selection-coding-system)
aac0c6e3
MR
2975 (next-selection-coding-system, Vselection_coding_system)
2976 (Vnext_selection_coding_system): Drop.
2977
29782008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
2979
2980 * nsfns.m (do-applescript, do_applescript): Rename to
2981 ns-do-applescript, ns_do_applescript, and move within file.
2982
29832008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
2984
2985 Remove support for Mac Carbon.
2986 * mactoolbox.c:
2987 * macterm.h:
2988 * macterm.c:
2989 * macselect.c:
2990 * macmenu.c:
2991 * macgui.h:
2992 * macfns.c:
2993 * mac.c: Remove file.
2994 * s/darwin.h:
2995 * m/intel386.h:
2996 * xfaces.c:
2997 * xdisp.c:
2998 * window.c:
2999 * tparam.c:
3000 * termhooks.h:
3001 * termcap.c:
3002 * term.c:
3003 * syssignal.h:
3004 * sysselect.h:
3005 * sysdep.c:
3006 * process.c:
3007 * lread.c:
3008 * lisp.h:
3009 * keyboard.c:
3010 * image.c:
3011 * fringe.c:
3012 * frame.h:
3013 * frame.c:
3014 * fontset.c:
3015 * font.h:
3016 * font.c:
3017 * fns.c:
3018 * fileio.c:
3019 * emacs.c:
3020 * dispnew.c:
3021 * dispextern.h:
3022 * config.in:
3023 * atimer.c:
2ae37cf0 3024 * Makefile.in: Remove code for Carbon.
aac0c6e3 3025
f0131492 30262008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aac0c6e3
MR
3027
3028 * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.
3029
30302008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3031
3032 * macterm.h (kCGBitmapByteOrder32Host): New define for
3033 non-universal SDKs.
3034
3035 * image.c (mac_create_cg_image_from_image, image_load_image_io)
3036 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
3037
3038 * macterm.c (XDrawLine, XCreatePixmapFromBitmapData)
3039 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
3040
30412008-07-26 David Robinow <drobinow@gmail.com> (tiny change)
3042
3043 * w32inevt.c: Include dispextern.h.
3044
30452008-07-26 Andreas Schwab <schwab@suse.de>
3046
3047 * print.c (print_object): Fix off-by-one in last change.
3048
30492008-07-25 Juanma Barranquero <lekktu@gmail.com>
3050
3051 * term.c (syms_of_term): Don't initialize default_orig_pair,
3052 default_set_foreground and default_set_background on Windows.
3053
30542008-07-25 Jason Rumney <jasonr@gnu.org>
3055
3056 * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to
3057 ScriptItemize. Clean up return value checking. Remove unused
3058 variables.
3059 (uniscribe_encode_char): Encode non-BMP characters with uniscribe
3060 shaping engine.
3061
3062 * w32font.c (w32font_has_char): Handle the case where we can't
3063 determine the script for a character.
3064
30652008-07-25 Chong Yidong <cyd@stupidchicken.com>
3066
3067 * term.c (syms_of_term): Initialize default_orig_pair,
3068 default_set_foreground, and default_set_background.
3069
3070 * getloadavg.c (nl): Rename to name_list to avoid ncurses.h
3071 clash (bug#86).
3072 (getloadavg): Callers changed.
3073
3074 * image.c (svg_load_image): Fix last change.
3075 (svg_load_image): Use rsvg_handle_get_dimensions to check that
3076 image size is valid. Use g_object_unref instead of deprecated
3077 rsvg_handle_free to free rsvg handle.
3078 (x_from_xcolors): Don't initialize pixmap (silence compiler).
3079
30802008-07-25 Jason Rumney <jasonr@gnu.org>
3081
3082 * w32font.c (w32font_encode_char): Encode characters outside BMP as
3083 surrogates before looking up glyph index.
3084 (w32font_text_extents): Encode as surrogates if falling back to
3085 functions that need UTF-16 wide chars.
3086
3087 * w32uniscribe.c (uniscribe_encode_char): Encode characters outside
3088 BMP as surrogates before looking up glyph index.
3089
30902008-07-25 Chong Yidong <cyd@stupidchicken.com>
3091
3092 * image.c (svg_load_image): Check for failure in return value of
3093 rsvg_handle_get_pixbuf. Free rsvg handle when done.
3094
30952008-07-25 Jason Rumney <jasonr@gnu.org>
3096
3097 * w32font.c (Fx_select_font): Reverse sense of second arg.
3098
30992008-07-24 Stefan Monnier <monnier@iro.umontreal.ca>
3100
3101 * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos)
3102 (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions.
3103
3104 * puresize.h (PURESIZE_CHECKING_RATIO): New macro.
3105 (PURESIZE): Use it.
3106
31072008-07-24 Dan Nicolaescu <dann@ics.uci.edu>
3108
3109 * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs.
3110 * m/alpha.h (TEXT_END):
3111 * m/ibmrs6000.h (TEXT_END):
3112 * m/macppc.h (TEXT_END):
3113 * s/darwin.h (TEXT_END):
3114 * s/msdos.h (TEXT_END): Remove, unused.
3115 * s/gnu-linux.h (BSD_PGRPS): Add a comment.
3116 * s/cygwin.h: Remove comment.
3117
3118 * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused.
3119 (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES.
3120 * m/intel386.h (DOT_GLOBAL_START):
3121 * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES.
3122 (USG): Remove, file not used on USG platforms.
3123
3124 * Makefile.in (HAVE_X11): Remove empty #else.
3125
31262008-07-24 Andreas Schwab <schwab@suse.de>
3127
3128 * fileio.c (Finsert_file_contents): Properly adjust undo list
3129 after format conversion.
3130
31312008-07-24 Jan Djärv <jan.h.d@swipnet.se>
3132
3133 * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG.
3134 (menu_nav_ended): Remove.
3135 (create_menus): Remove signal connect for menu_nav_ended.
3136 (xg_update_menubar): Also take deactivate_cb as parameter, pass it to
3137 create_menus.
3138 (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar.
3139
31402008-07-23 Jason Rumney <jasonr@gnu.org>
3141
3142 * w32font.c (w32_enumfont_pattern_entity): Return height consistent
3143 with opened font.
3144 (w32font_open): Set font type to gdi.
3145
3146 * w32uniscribe.c (uniscribe_open): Set font type to uniscribe.
3147
31482008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
3149
3150 * s/usg5-4.h (ADDR_CORRECT): Remove, unused.
3151 * unexaix.c (ADDR_CORRECT): Remove conditional, the only user
3152 defines it.
3153 * unexec.c (ADDR_CORRECT): Define unconditionally.
3154
3155 * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove.
3156
3157 * unexec.c: Remove code depending on !COFF and USG, the file is
3158 not used for such systems.
3159
3160 * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
3161 * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused.
3162 (LD_SWITCH_SYSTEM_1): Remove, update users.
3163
3164 * s/darwin.h (DATA_END):
3165 * m/intel386.h (DATA_END):
3166 * m/ibmrs6000.h (DATA_END):
3167 * m/alpha.h (DATA_END): Remove, unused.
3168
3169 * config.in: Regenerate.
3170 * s/ms-w32.h (subprocesses): Define unconditionally.
3171 * s/template.h (subprocesses): Update comment.
3172 * s/vms.h (subprocesses):
3173 * s/usg5-4.h (subprocesses):
3174 * s/hpux10-20.h (subprocesses):
3175 * s/gnu-linux.h (subprocesses):
3176 * s/cygwin.h (subprocesses):
3177 * s/bsd-common.h (subprocesses):
3178 * s/aix4-2.h (subprocesses):
3179 * s/darwin.h (subprocesses): Do not define, defined by default now.
3180
3181 * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused.
3182 Remove all references.
3183 (temacs): Add GNUstep specific ld flags.
3184
3185 * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing,
3186 similarly to what X does.
3187
31882008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
3189
3190 * nsfns.m (x-list-fonts): Remove.
3191 (syms_of_nsfns): Drop the x-list-fonts declaration.
3192 * nsterm.m: Get rid of remaining "//" comments.
3193
31942008-07-22 Chong Yidong <cyd@stupidchicken.com>
3195
3196 * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
3197
3198 * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p)
3199 (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal)
3200 (Fns_own_selection_internal, Fx_disown_selection_internal)
3201 (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal):
3202
3203 * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /*
3204 ... */' style of docstrings. Doc fixes.
3205
32062008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
3207
3208 * terminfo.c (UP, BC, PC): Undo previous change.
3209
3210 * nsfns.m: Rename ns prefixed functions/variables to the
3211 corresponding x versions. Update references.
3212
32132008-07-22 Stefan Monnier <monnier@iro.umontreal.ca>
3214
3215 * syntax.c (char_quoted): Check "charpos > beg" before decrementing.
3216
32172008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
3218
3219 * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):
3220 Remove forwarding functions.
3221 (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make
3222 non-static.
3223 (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make
3224 non-static.
3225 (ns_frame_parm_handlers): Use the new names.
3226 (syms_of_nsfns): Move to the end of file.
3227
3228 * nsterm.m (syms_of_nsterm): Move to the end of file.
3229
3230 * dispnew.c (init_display): Remove code for X10.
3231
32322008-07-22 Jason Rumney <jasonr@gnu.org>
3233
3234 * w32proc.c (Fw32_long_file_name): Don't append dir separator to
3235 bare drive.
3236
32372008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
3238
3239 * nsterm.m (syms_of_nsterm): Remove debugging println.
3240
32412008-07-22 David Reitter <david.reitter@gmail.com>
3242
3243 * nsfns.m (do_applescript, F_do_applescript): NS version of the
3244 Carbon implementation of the same functionality: execute arbitrary
3245 AppleScript code.
3246
32472008-07-21 Adrian Robert <Adrian.B.Robert@gmail.com>
3248
3249 * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
3250 (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
3251 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
3252 (Fx_display_mm_height, Fx_display_mm_width)
3253 (Fx_display_backing_store, Fx_display_visual_class)
3254 (Fx_display_save_under, Fx_open_connection)
3255 (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
3256 (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
3257 (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
3258 (Fx_display_pixel_width, Fx_display_pixel_height)
3259 (Fx_display_usable_bounds, Fx_display_planes)
3260 (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
3261 ... */' style of docstrings.
3262
32632008-07-21 Dan Nicolaescu <dann@ics.uci.edu>
3264
3265 * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
3266 on this platform.
3267 (mips):
3268 * m/iris4d.h (mips): Do not define.
3269 * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
3270
3271 * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
3272
3273 * image.c:
3274 * nsfns.m:
3275 * nsselect.m:
3276 * nsterm.h:
3277 * nsterm.m: Rename ns prefixed functions/variables to the
3278 corresponding x versions. Update references.
3279
3280 * m/ibms390x.h (NO_REMAP): Do not undefine.
3281
3282 * m/amdx86-64.h: Use SOLARIS2 instead of sun.
3283
32842008-07-21 Chong Yidong <cyd@stupidchicken.com>
3285
3286 * nsfns.m: Change NS to Nextstep in docstrings and error messages.
3287 (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
3288 (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
3289 (Fns_server_vendor, Fns_server_version, Fns_display_screens)
3290 (Fns_display_mm_height, Fns_display_mm_width)
3291 (Fns_display_backing_store, Fns_display_visual_class)
3292 (Fns_display_save_under, Fns_open_connection)
3293 (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
3294 (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
3295 (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
3296 (Fns_display_pixel_width, Fns_display_pixel_height)
3297 (Fns_display_usable_bounds, Fx_display_planes)
3298 (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
3299
33002008-07-21 Ami Fischman <ami@fischman.org> (tiny change)
3301
3302 * print.c (print_object): Check print_depth before searching for
3303 circularities.
3304
33052008-07-21 Michael Albinus <michael.albinus@gmx.de>
3306
3307 * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
3308 only sprintf.
3309
33102008-07-21 Kenichi Handa <handa@m17n.org>
3311
3312 * ftfont.c (adjust_anchor): Check if DeltaValue is not NULL.
3313
33142008-07-20 Andreas Schwab <schwab@suse.de>
3315
3316 * syntax.c (find_start_pos, find_start_value)
3317 (find_start_value_byte, find_start_begv, find_defun_start)
3318 (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions.
3319
33202008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
3321
3322 * s/sol2-3.h: Insert contents of s/sol2.h.
3323 (LD_SWITCH_SYSTEM): Remove redundant definition.
3324 * s/sol2.h: Remove, unused.
3325
33262008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
3327
3328 * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV.
3329
33302008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
3331
3332 * Makefile.in (ns_appdir): Fix typo in find command.
3333
33342008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
3335
3336 * m/intel386.h (NO_REMAP): Do no define for USG, not used.
3337
3338 * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
3339 added not supported anymore.
3340
3341 * s/usg5-4-2.h (LIBS_SYSTEM):
3342 * s/sol2.h (LIBS_SYSTEM): Do not undefine.
3343
3344 * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
3345 * s/lynxos.h (GETPGRP_NO_ARG):
3346 * s/hpux10-20.h (NO_SIOCTL_H):
3347 * s/gnu.h (GETPGRP_NO_ARG):
3348 * s/gnu-linux.h (NO_SIOCTL_H):
3349 * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
3350 * s/cygwin.h (GETPGRP_NO_ARG):
3351 * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
3352 (C_DEBUG_SWITCH): Remove duplicate definition.
3353
3354 * m/ibms390.h: Remove boilerplate comments.
3355
3356 * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
3357
3358 * process.c (HAVE_SERIAL): Consolidate ifdefs.
3359 (wait_reading_process_output): Remove code for SunOS, platform not
3360 supported anymore. Use SOLARIS2 instead of sun.
3361
33622008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3363
3364 * font.c (font_open_by_name): Under NS, default lface height to zero.
3365 (font_open_for_lface): Under NS, set size based on frame fontsize.
3366 * nsterm.m (EmacsView-changeFont:): Remove some commented code.
3367 * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
3368
33692008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3370
3371 * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
3372 (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
3373 DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
3374 YES/NO.
3375 * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
3376 * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
3377 * Makefile.in (clean): Clear out build destination dir.
3378
33792008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3380
3381 * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
3382 xterm, xselect.
3383 * lisp.h: Remove declaration of hash_remove.
3384 * nsgui.h: Remove redefinitions of hash_remove.
3385 * fns.c (hash_remove): Rename to hash_remove_from_table.
3386
33872008-07-19 Seiji Zenitani <zenitani@mac.com>
3388
3389 * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
3390 strdup() the family UTF8String before modifying it.
3391
33922008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3393
3394 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
3395 NS_FACE_BACKGROUND with 0 instead of nil.
3396 * nsfont.m (nsfont_draw): Same.
3397
33982008-07-19 Chong Yidong <cyd@stupidchicken.com>
3399
3400 * nsfns.m (ns_set_background_color): Fix crash.
3401
34022008-07-18 Chong Yidong <cyd@stupidchicken.com>
3403
3404 * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
3405
34062008-07-18 Dan Nicolaescu <dann@ics.uci.edu>
3407
3408 * puresize.h (BASE_PURESIZE): Increase to 1240000.
3409
34102008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3411
3412 * gtkutil.c: Include <config.h> instead of "config.h".
3413
3414 * lisp.h (Foverlay_buffer): Add EXFUN.
3415
3416 * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
3417 child process to complete child_setup. Undo 2005-09-21 change.
3418
3419 * s/darwin.h: Mention setsid after vfork.
3420
34212008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3422
3423 * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
3424 Depend on macgui.h.
3425
3426 * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
3427 gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
3428
3429 * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
3430 and f19.
3431 [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
3432
3433 * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
3434 (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
3435 Remove enumerators.
3436
3437 * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
3438 Check if FACE_FROM_ID returns NULL.
3439
34402008-07-17 David Robinow <drobinow@gmail.com> (tiny change)
3441
3442 * w32inevt.c (change_frame_size): Remove extern declaration.
3443 (resize_event, maybe_generate_resize_event): Pass SAFE arg to
3444 change_frame_size.
3445
34462008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
3447
3448 * getloadavg.c: Revert last change (2008-07-15).
3449
34502008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
3451
3452 * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
3453 set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc) set
3454 from configure.
3455
34562008-07-17 Dan Nicolaescu <dann@ics.uci.edu>
3457
3458 * s/sol2.h:
3459 * s/sol2-4.h: Reorganize conditionals.
3460
3461 * ecrt0.c: Remove code depending on m68000, not used anymore.
3462
3463 * fns.c (hash_remove): Make static.
3464 * lisp.h (hash_remove): Don't prototype.
3465
3466 * m/ibmrs6000.h:
3467 * m/ibms390x.h:
3468 * m/macppc.h: Remove boilerplate comments.
3469
3470 * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
3471 Solaris, which does not need them.
3472
3473 * m/vax.h: Remove comments about unsupported systems.
3474
3475 * s/darwin.h: Reorganize ifdefs.
3476
34772008-07-17 Andreas Schwab <schwab@suse.de>
3478
3479 * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
3480
34812008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
3482
3483 Use SDATA. Follow coding convention of placing operators at
3484 beginning of next line rather than end of previous line, and placing
3485 spaces around infix operators.
3486
3487 * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
3488 in case it was defined already.
3489 USE @GNUSTEP_MAKEFILES@ rather than envvars.
3490 * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
3491 ns_default.
3492 (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
3493 Lisp_Objects.
3494 * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
3495 (ns_defined_color, ns_color_to_lisp): Declare.
3496 * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
3497 (Fns_own_selection_internal): Make the big ugly hack more explicit, so
3498 it's accepted even with USE_LISP_UNION_TYPE.
3499 * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
3500 (update_frame_tool_bar): Remove apparently obsolete tests for
3501 non-integerness of f->tool_bar_lines.
3502 (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
3503 hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
3504 * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
3505 (nsfont_open): Don't confuse NULL for Qnil.
3506 * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
3507 * menu.h (find_and_call_menu_selection):
3508 * menu.c (find_and_call_menu_selection): Use just int for vector size.
3509 (find_and_return_menu_selection): Always return something.
3510 * frame.h: Include dispextern.h for Display_Info.
3511 (display_x_get_resource): Declare.
3512
35132008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
3514
3515 * syntax.c: Remove stdio.h include accidentally introduced in
3516 Emacs.app commit.
3517 * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
3518 NS_IMPL_COCOA.
3519 * keyboard.c (handle_async_input, input_available_signal): Remove
3520 BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
3521
35222008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
3523
3524 * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
3525 (ns_lisp_to_color): Don't mess with internal Lisp data fields.
3526 (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
3527 Use SDATA.
3528
3529 * keymap.c: Remove all NS-specific code.
3530 (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
3531 (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
3532 where_is_preferred_modifier, return a different value depending on how
3533 preferred is the binding.
3534 (where_is_internal): Adjust accordingly.
3535 (Fwhere_is_internal): Refresh where_is_preferred_modifier.
3536 Adjust to new preferred_sequence_p.
3537 (syms_of_keymap): Declare `where-is-preferred-modifier'.
3538 * keyboard.c (parse_solitary_modifier): Not static any more.
3539 * keyboard.h (parse_solitary_modifier): Declare.
3540
35412008-07-16 Andreas Schwab <schwab@suse.de>
3542
3543 * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
3544 of easymenu.
3545
35462008-07-16 Chong Yidong <cyd@stupidchicken.com>
3547
3548 * xdisp.c (move_it_in_display_line): Account for word wrap, so
3549 that we don't move off the line.
3550
35512008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
3552
3553 * keyboard.c (Qsuper): Remove.
3554 (parse_menu_item): Don't call where_is_internal specially for NS.
3555
35562008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
3557
3558 * s/gnu-linux.h: Remove boilerplate comments.
3559
3560 * m/alpha.h (__ELF__): Consolidate conditions.
3561
3562 * m/m68k.h (linux): Use GNU_LINUX instead.
3563 Remove boilerplate comments.
3564
3565 * m/intel386.h: Undo refactoring from previous change.
3566 (LIB_STANDARD): All systems that define USG define LIB_STANDARD
3567 too, remove dead code.
3568 (linux): Use GNU_LINUX instead.
3569
35702008-07-16 Jason Rumney <jasonr@gnu.org>
3571
3572 * w32gui.h: Repeat 26 June changes lost by last change.
3573
35742008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
3575
3576 * systty.h: Remove code for Aix on 386, unsupported platform.
3577
3578 * s/ms-w32.h: Remove boilerplate comments.
3579 (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
3580
3581 * s/gnu-linux.h (TERM): Remove support.
3582 (HAVE_SYSVIPC): Remove, unused.
3583 (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
3584 for this system.
3585
3586 * process.c: Remove support for IRIS, unused.
3587 Remove support for TERM, not relevant anymore.
3588
3589 * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
3590 used with the definition.
3591
3592 * s/aix4-2.h (static): Do not undef.
3593
3594 * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
3595 only used on Aix.
3596 (HAVE_SYSVIPC): Remove, unused.
3597
3598 * m/hp800.h (CANNOT_DUMP): Do not undef.
3599
3600 * m/alpha.h: Fix comment.
3601
3602 * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
3603 (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
3604 used by this configuration.
3605 * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
3606 * unexec.c: Remove code depending on HPUX and
3607 USG_SHARED_LIBRARIES, not used with this file. Remove code
3608 depending on IRIS, unused. Remove if 0-ed code.
3609
3610 * s/template.h: Remove comments about static.
3611
3612 * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
3613 Remove if 0-ed code.
3614 (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
3615 were the same as the default.
3616 * s/vms.h (BAUD_CONVERT): Remove, same as the default.
3617 Remove boilerplate comments.
3618 * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
3619 (HAVE_SYSVIPC): Remove, unused.
3620 (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
3621
3622 * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
3623 Remove boilerplate comments.
3624 * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
3625 Remove boilerplate comments.
3626 * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
3627 Remove boilerplate comments.
3628 * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
3629
3630 * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
3631 USG systems which do not use DATA_SEG_BITS.
3632 Refactor code. Remove boilerplate comments.
3633
3634 * m/ibms390.h:
3635 * m/m68k.h:
3636 * s/bsd-common.h:
3637 * s/cygwin.h:
3638 * s/darwin.h:
3639 * s/freebsd.h:
3640 * s/gnu.h:
3641 * s/msdos.h: Remove boilerplate comments.
3642
3643 * m/iris4d.h: Remove boilerplate comments and code for systems that
3644 do not use this file.
3645 (IRIS_4D): Remove, unused.
3646
3647 * m/mips.h: Remove boilerplate comments and code for systems that
3648 do not use this file.
3649 (SIGN_EXTEND_CHAR):
3650 * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
3651 * unexmips.c: Remove file, unused.
3652
3653 * editfns.c (Fuser_full_name): Replace the only use of
3654 USER_FULL_NAME with its value.
3655 * config.in: Regenerate.
3656
36572008-07-16 David Reitter <david.reitter@gmail.com>
3658
3659 * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
3660 easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
3661
36622008-07-16 Glenn Morris <rgm@gnu.org>
3663
3664 * emacs.c (system-type): Doc fix.
3665
36662008-07-15 Stefan Monnier <monnier@iro.umontreal.ca>
3667
3668 * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
3669 If the cache doesn't work, let's fix it, rather than work around it.
3670
36712008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
3672
3673 * Makefile.in: Correct additions for nsfont.o in last commit.
3674 * nsfont.m: New file (forgot last commit).
3675
36762008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
3677
3678 * callproc.c (set_initial_environment): Initialize
3679 Vprocess_environment under CANNOT_DUMP (fixes crash when
3680 batch-compiling for bootstrap).
3681
36822008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
3683 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3684
3685 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
3686 fix crash due to different init order.
3687
36882008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
3689
3690 Changes and additions for NeXTstep windowing system (Cocoa and
3691 GNUstep) support.
3692
3693 * Makefile.in:
3694 * config.in: Support defines and build commands for NS port.
3695 * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
3696 (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
3697 * dispextern.h: Include nsgui.h and add needed typedefs under NS
3698 windowing.
3699 (struct face): Add synth_ital field.
3700 * dispnew.c: Include nsterm.h when compiling under NS windowing.
3701 (init_display): Initialize Vinitial_window_system to "ns" when so
3702 compiled.
3703 * emacs.c: Include GSConfig.h when compiling under GNUstep.
3704 (display_arg): Use under NS.
3705 (main): Under NS, allocate autorelease pool and handle command line
3706 args. Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
3707 (standard_args): Add NS-specific args.
3708 (shut_down_emacs): Shut down NS terminal if compiled under NS.
3709 * font.c (DEFAULT_ENCODING): New variable.
3710 (font_find_for_lface): Use it.
3711 (syms_of_font): Load syms_of_nsfont under NS.
3712 * font.h: Declare nsfont_driver when compiled under NS.
3713 * fontset.c: When compiling under NS, include nsterm.h.
3714 (fontset_from_font): Autoconstruct fontset under NS.
3715 * frame.c (various): Under NS, include nsterm.h, add Qns window system
3716 symbol, document and use it.
3717 (do_switch_frame): When for_deletion under Cocoa, add
3718 Fraise_frame(Qnil).
3719 (x_set_frame_parameters): Ensure font attribute changes are picked up.
3720 (x_get_arg): Allow "yes" and "no" as boolean values.
3721 (syms_of_frame): Declare Qns. Init Vdefault_frame_scroll_bars to
3722 Qright under Cocoa.
3723 (focus-follows-mouse): Default to 0 under NS.
3724 * frame.h (enum output_method): Add output_ns.
3725 (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
3726 (FRAME_EXTERNAL_MENU_BAR): Use under NS.
3727 (FRAME_WINDOW_P): NS-specific definition.
3728 * fringe.c (max_used_fringe_bitmap): Make public.
3729 * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
3730 (getloadavg): Use NeXT code under descendant OS's.
3731 * image.c (includes and header section, x_create_bitmap_from_data)
3732 (x_create_bitmap_from_file, free_bitmap_record, image_background)
3733 (image_background_transparent, x_clear_image_1)
3734 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
3735 (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
3736 (x_to_xcolors, x_from_xcolors, x_disable_image)
3737 (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
3738 other GUIs, including XPM support using code originally written for
3739 Carbon GUI.
3740 (png_load, jpeg_load, tiff_load, gif_load): Add implementations
3741 using NS API.
3742 (image_ascent): Use font metrics macros instead of direct struct field
3743 access.
3744 * keyboard.c (includes): Add nsterm.h when compiling under NS.
3745 (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
3746 Also, handle NS as GTK for menu bar purposes.
3747 (make_lispy_event): Handle NS as other GUI windowing systems, and as X
3748 toolkit where they differ.
3749 (parse_menu_item): Prefer keybindings using 'super' modifier. Also,
3750 use cachelist, still needed under NS.
3751 * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
3752 (struct widget_value): Define it here for menu.c.
3753 * keymap.c (includes): Include modifier internals.
3754 (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
3755 NS.
3756 (where_is_internal, Fwhere_is_internal): When compiled under NS, add
3757 support for preferring sequences using certain modifiers, specified by
3758 the FIRSTONLY argument.
3759 * lisp.h (hash_remove): Rename to avoid name clash when compiling
3760 under NS GNUstep implementation.
3761 (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
3762 * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
3763 * menu.c: Include nsterm.h under NS.
3764 (single_menu_item, parse_single_submenu, xmalloc_widget_value)
3765 (free_menubar_widget_tree_value, update_submenu_strings)
3766 (find_and_call_menu_selection): Treat NS as X and NT.
3767 (find_and_return_menu_selection): New function, used for popup menus.
3768 * nsgui.h:
3769 * nsterm.h:
3770 * nsfns.m:
3771 * nsimage.m:
3772 * nsmenu.m:
3773 * nsselect.m:
3774 * nsterm.m: New files.
3775 * process.c (wait_reading_process_output): Under NS, call ns_select()
3776 instead of plain select().
3777 * syntax.c (char_quoted): Under NS, avoid a crash when called near
3778 beginning of buffer.
3779 * sysselect.h (init_process): Rename when compiling under Cocoa to
3780 avoid name conflict.
3781 * termhooks.h (display_info): Add ns_display_info to union.
3782 * terminal.c (Fterminal_live_p): Add ns to terminal types.
3783 * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
3784 COCOA environment.
3785 * unexnext.c: Update to work with mach API on Mac OS X, and to use new
3786 unexec() signature. (Note, this will dump, but the resulting file
3787 crashes; unexosx is used instead; keeping around for reference and
3788 possible aid in getting dump working under GNUstep.)
3789 * w32gui.h (button_type, widget_value): Remove definitions (now in
3790 keyboard.h).
3791 * window.c: Include nsterm.h when compiling under NS.
3792 * xdisp.c (includes): Include nsterm.h when compiling under NS.
3793 (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
3794 other GUI windowing systems.
3795 (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
3796 GTK.
3797 (x_consider_frame_title): Under NS, set icon type and frame
3798 modified-state indicator; use ns_set_name_as_filename() when using
3799 formatted title.
3800 (update_window_cursor): Make public when compiling under NS.
3801 (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
3802 (hourglass_atimer, Vhourglass_delay
3803 * xfaces.c (header section, init_frame_faces, clear_font_table)
3804 (defined_color, unload_color, x_face_list_fonts)
3805 (prepare_face_for_display): Add NS support parallel to other GUIs.
3806 Emulate GCs like other non-X GUIs.
3807 (split_font_name): Don't lowercase font name under NS.
3808 (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
3809 under NS.
3810 * s/darwin.h: Add support for compilation under NS.
3811
38122008-07-15 Jason Rumney <jasonr@gnu.org>
3813
3814 * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
3815 (w32_show_hourglass): Rename from show_hourglass.
3816 (w32_hide_hourglass): Rename from hide_hourglass.
3817 (DEFAULT_HOURGLASS_DELAY): Revert from last change.
3818 (Vhourglass_delay): Declare extern.
3819 (hourglass_started): Remove.
3820
3821 * xdisp.c (Vhourglass_delay): Remove static.
3822 (hourglass_started, start_hourglass, cancel_hourglass):
3823 Don't include these versions on WINDOWSNT.
3824
38252008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
3826
3827 * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
3828 variables (formerly in xfns.c).
3829 (show_hourglass, hide_hourglass): New prototypes (same).
3830 * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
3831 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
3832 in xfns.c).
3833 (syms_of_xdisp): Declare/initialize display-hourglass,
3834 hourglass-delay. Initialize hourglass_atimer, hourglass_shown_p.
3835 (hourglass_started, start_hourglass, cancel_hourglass): New functions,
3836 formerly in xfns.c.
3837 * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
3838 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
3839 (start_hourglass, cancel_hourglass): Remove.
3840 (show_hourglass, hide_hourglass): Remove prototypes and static
3841 modifiers.
3842 (syms_of_xfns): Remove display-hourglass, hourglass-delay,
3843 hourglass_atimer, hourglass_shown_p declaration/initialization.
3844 * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
3845 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
3846 (start_hourglass, cancel_hourglass): Remove.
3847 (show_hourglass, hide_hourglass): Remove prototypes and static
3848 modifiers.
3849 (syms_of_macfns): Remove display-hourglass, hourglass-delay,
3850 hourglass_atimer, hourglass_shown_p declaration/initialization.
3851 * w32fns.c (display_hourglass_p, Vhourglass_delay)
3852 (DEFAULT_HOURGLASS_DELAY): Remove.
3853 (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
3854 hourglass_shown_p declaration/initialization.
3855
38562008-07-14 Jason Rumney <jasonr@gnu.org>
3857
3858 * w32fns.c (w32_get_arg): Remove wrapper function.
3859 (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
3860 directly.
3861 (Fx_create_frame): Sync with xfns.c. Use x_get_arg directly.
3862
38632008-07-14 Kenichi Handa <handa@m17n.org>
3864
3865 * xfont.c (xfont_open): Add workaround for X's bug.
3866
38672008-07-14 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
3868
3869 * fontset.c: Include <stdio.h> unconditionally.
3870
38712008-07-13 Michael Albinus <michael.albinus@gmx.de>
3872
3873 * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
3874 for filtering.
3875
38762008-07-13 Dan Nicolaescu <dann@ics.uci.edu>
3877
3878 * s/vms.h: Use __GNUC__ instead of _GNUC_.
3879
3880 * m/macppc.h:
3881 * m/alpha.h: Use GNU_LINUX instead of LINUX. Reorganize conditionals.
3882
3883 * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
3884 (SPECIAL_EMACS_INT):
3885 * m/ia64.h (SPECIAL_EMACS_INT):
3886 * m/amdx86-64.h (SPECIAL_EMACS_INT):
3887 * s/gnu.h (NLIST_STRUCT):
3888 * s/aix4-2.h (X11R5_INHIBIT_I18N):
3889 * s/gnu-linux.h (LINUX):
3890 * s/msdos.h (HAVE_FACES):
3891 * s/ms-w32.h (HAVE_FACES): Don't define, unused.
3892
3893 * systty.h:
3894 * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
3895 anymore.
3896
38972008-07-12 Dan Nicolaescu <dann@ics.uci.edu>
3898
3899 * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was
3900 always defined as int.
3901
3902 * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
3903 * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
3904 * s/gnu-linux.h (HAVE_WAIT_HEADER):
3905 * s/freebsd.h (HAVE_WAIT_HEADER):
3906 * s/bsd-common.h (HAVE_UNION_WAIT):
3907 * s/aix4-2.h (HAVE_WAIT_HEADER):
3908 * m/mips.h (HAVE_UNION_WAIT):
3909 * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
3910 (COFF, static): Do not define, they are undefined later in the file.
3911
3912 * process.c (update_status): Don't use a union.
3913 (status_convert):
3914 (sigchld_handler): Use int instead of WAITTYPE.
3915
39162008-07-12 Chong Yidong <cyd@stupidchicken.com>
3917
3918 * indent.c (Fvertical_motion): Restore hscroll before moving to
3919 goal column.
3920
39212008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
3922
3923 * lisp.h: Remove left over code.
3924
39252008-07-11 Andreas Schwab <schwab@suse.de>
3926
3927 * lisp.h: Fix logic in last change.
3928
3929 * menu.h: New file.
3930 * menu.c: Include it.
3931 * xmenu.c: Likewise.
3932 * Makefile.in: Update dependencies.
3933
39342008-07-11 Kenichi Handa <handa@m17n.org>
3935
3936 * fontset.c (fontset_from_font): Cancel the previous change.
3937
39382008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
3939
3940 * lisp.h:
3941 * w32heap.c:
3942 * emacs.c:
3943 * alloc.c: Replace all references of NO_UNION_TYPE with
3944 USE_LISP_UNION_TYPE.
3945
3946 * m/xtensa.h (NO_UNION_TYPE):
3947 * m/vax.h (NO_UNION_TYPE):
3948 * m/template.h (NO_UNION_TYPE):
3949 * m/sparc.h (NO_UNION_TYPE):
3950 * m/mips.h (NO_UNION_TYPE):
3951 * m/macppc.h (NO_UNION_TYPE):
3952 * m/m68k.h (NO_UNION_TYPE):
3953 * m/iris4d.h (NO_UNION_TYPE):
3954 * m/intel386.h (NO_UNION_TYPE):
3955 * m/ibms390x.h (NO_UNION_TYPE):
3956 * m/ibms390.h (NO_UNION_TYPE):
3957 * m/ibmrs6000.h (NO_UNION_TYPE):
3958 * m/ia64.h (NO_UNION_TYPE):
3959 * m/hp800.h (NO_UNION_TYPE):
3960 * m/arm.h (NO_UNION_TYPE):
3961 * m/amdx86-64.h (NO_UNION_TYPE):
3962 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
3963 defining it the same.
3964
39652008-07-10 Chong Yidong <cyd@stupidchicken.com>
3966
3967 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
3968
39692008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
3970
3971 * fileio.c:
3972 * sysdep.c
3973 * systty.h:
3974 * m/ibmrs6000.h:
3975 * m/iris4d.h:
3976 * s/aix4-2.h:
3977 * s/freebsd.h:
3978 * s/gnu-linux.h:
3979 * s/hpux10-20.h:
3980 * s/hpux11.h:
3981 * s/netbsd.h:
3982 * s/sol2-3.h:
3983 * s/sol2-4.h:
3984 * s/sol2.h:
3985 * s/usg5-4.h:
3986 * s/vms.h: Remove references to unused variables.
3987
39882008-07-10 Andreas Schwab <schwab@suse.de>
3989
3990 * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
3991 pattern before matching the generic family.
3992
39932008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
3994
3995 * unexec.c:
3996 * s/vms.h:
3997 * s/usg5-4-2.h:
3998 * s/sol2-5.h:
3999 * s/freebsd.h:
4000 * s/darwin.h: Remove dead code.
4001
4002 * m/template.h:
4003 * m/sparc.h:
4004 * m/mips.h:
4005 * m/m68k.h:
4006 * m/iris4d.h:
4007 * m/intel386.h:
4008 * m/ibms390x.h:
4009 * m/ibms390.h:
4010 * m/ia64.h:
4011 * m/hp800.h:
4012 * m/arm.h:
4013 * m/amdx86-64.h: Remove dead code and references to unused
4014 and compiler defined symbols.
4015
4016 * unexmips.c:
4017 * unexelf.c: Remove references to desupported systems.
4018
4019 * m/powermac.h: Remove file, it is now identical to m/macppc.h.
4020
4021 * m/powermac.h: Remove boilerplate comments.
4022 (NO_REMAP): Remove unused definition.
4023
4024 * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
4025 define them.
4026
40272008-07-10 Kenichi Handa <handa@m17n.org>
4028
4029 * xfont.c (xfont_open): Log the reason of failure.
4030
40312008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
4032
4033 * fontset.c (fontset_get_font_group):
4034 * font.c (font_check_otf): Specify argument types.
4035
40362008-07-09 Kenichi Handa <handa@m17n.org>
4037
4038 * coding.c (detect_coding_utf_8): Set detect_info->found only when
4039 non-ASCII char is found.
4040
4041 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
4042 (reorder_font_vector): Change the arg preferred_family to font.
4043 Prefer the spec matching with font.
4044 (fontset_get_font_group): New function.
4045 (fontset_find_font): Change the format of an element of a realized
4046 fontset. Use fontset_get_font_group.
4047 (fontset_font): Try the current fontset, the default fontset, the
4048 fallbacks of the current fontset, and the fallbacks of the default
4049 fontset in this order.
4050 (face_for_char): Delete the shortcut to use the current font.
4051 (fontset_from_font): Don't set fonts for Latin in the fontset.
4052
4053 * font.h (font_make_object, font_match_p): Adjust prototypes.
4054
4055 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
4056
4057 * font.c (font_make_object): New arg entity and pixelsize.
4058 (font_check_otf_features, font_check_otf): New functions.
4059 (font_match_p): Check :lang, :script, and :otf properties.
4060
4061 * xfont.c (xfont_open): Adjust it for the change of
4062 font_make_object.
4063 (xfont_text_extents): Fix initial setting of metrics.
4064
4065 * ftfont.c (struct ftfont_info): New member index, delete member
4066 fc_charset_idx. Make the member order compatible with struct
4067 xftfont_info.
4068 (fc_charset_table): Change charset names to registry names.
4069 (ftfont_pattern_entity): Delete the args registry and
4070 fc_charset_idx. Change the value of :font-entity property
4071 to (FONTNAME . INDEX). Always set :registry property to
4072 `iso10646-1'.
4073 (struct ftfont_cache_data): New struct.
4074 (ftfont_lookup_cache): New arg for_face.
4075 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
4076 (ftfont_driver): Set the member otf_capability.
4077 (ftfont_get_charset): Adjust it for the change of
4078 fc_charset_table.
4079 (OTF_TAG_SYM): New macro.
4080 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
4081 for the change of fc_charset_table.
4082 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
4083 ftfont_pattern_entity. Add FC_INDEX to objset.
4084 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
4085 and ftfont_pattern_entity.
4086 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
4087 font_make_object, struct ftfont_info.
4088 (ftfont_has_char): Use ftfont_get_fc_charset.
4089 (ftfont_otf_features, ftfont_otf_capability): New functions.
4090 (ftfont_shape): Use ftfont_get_otf.
4091 (ftfont_text_extents): Fix initial setting of metrics.
4092
4093 * xftfont.c (struct xftfont_info): New member ft_size. Make the
4094 member order compatible with struct ftfont_info.
4095 (xftfont_open): Add FC_CHARSET to the pattern. Set
4096 xftfont_info->ft_size. Don't unlock the face. Check BDF
4097 properties if appropriate.
4098 (xftfont_close): Unlock the face.
4099 (xftfont_anchor_point, xftfont_shape): Deleted.
4100 (syms_of_xftfont): Don't set members anchor_point and shape of
4101 xftfont_driver.
4102
4103 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
4104 font_make_object.
4105
4106 * w32font.c (w32font_open): Adjust it for the change of
4107 font_make_object.
4108 (w32font_open_internal): Don't set properties of font_object here.
4109
41102008-07-08 Chong Yidong <cyd@stupidchicken.com>
4111
4112 * macfns.c (x_create_tip_frame):
4113 * w32fns.c (x_create_tip_frame):
4114 * xfns.c (x_create_tip_frame): Pass parameter argument to
4115 face-set-after-frame-default.
4116
4117 * xfaces.c (Finternal_merge_in_global_face): Save merged
4118 attributes for the default face back into the face vector.
4119
41202008-07-08 Andreas Schwab <schwab@suse.de>
4121
4122 * fontset.h: Declare fontset_from_font. Don't declare
4123 new_fontset_from_font and fontset_from_font_name.
4124 * xterm.c: Include "fontset.h".
4125 * Makefile.in (xterm.o): Update dependencies.
4126
41272008-07-08 Glenn Morris <rgm@gnu.org>
4128
4129 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
4130 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
4131
41322008-07-07 Chong Yidong <cyd@stupidchicken.com>
4133
4134 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
4135 (x_set_frame_parameters): Don't bind it.
4136
41372008-07-07 Juanma Barranquero <lekktu@gmail.com>
4138
4139 * w32fns.c (map_w32_filename): Declare extern.
4140
41412008-07-07 Jason Rumney <jasonr@gnu.org>
4142
4143 * w32term.c (WS_EX_LAYERED): Define if not already.
4144
41452008-07-06 Chong Yidong <cyd@stupidchicken.com>
4146
4147 * xfaces.c (set_font_frame_param): Don't try to set the font
4148 parameter if it is still unspecified in the lface.
4149
41502008-07-05 Chong Yidong <cyd@stupidchicken.com>
4151
4152 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
4153 face if it didn't already exist.
4154
4155 * xdisp.c (try_window_id): Give up if word-wrapping is on.
4156
41572008-07-05 Andreas Schwab <schwab@suse.de>
4158
4159 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
4160
41612008-07-05 Chong Yidong <cyd@stupidchicken.com>
4162
4163 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
4164 word-wrapping.
4165 (IT_DISPLAYING_WHITESPACE): New macro.
4166 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
4167 when word-wrapping. Simplify word-wrapping logic. Use correct
4168 pixel positions when saving copies of the iterator.
4169 (display_line): Use proper wrap point if the last character on a
4170 line was preceded by whitespace.
4171
41722008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
4173
4174 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
4175
41762008-07-04 Kenichi Handa <handa@m17n.org>
4177
4178 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
4179
4180 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
4181
41822008-07-02 Jason Rumney <jasonr@gnu.org>
4183
4184 * xfns.c (syms_of_xfns): Only define x-select-font when both
2ae37cf0 4185 HAVE_FREETYPE and USE_GTK.
aac0c6e3
MR
4186
4187 * xdisp.c (next_element_from_display_vector): Move assignment out
4188 of if statement.
4189
41902008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
4191
4192 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
4193
4194 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
4195 (syms_of_fileio): Initialize and export them.
4196 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
4197
4198 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
4199 (Fsystem_move_file_to_trash): New function.
4200 (syms_of_w32fns): Export it to lisp.
4201
42022008-07-01 Jason Rumney <jasonr@gnu.org>
4203
4204 * w32font.c (w32font_text_extents): Don't count overhang as part
4205 of width.
4206
42072008-06-30 Miles Bader <miles@gnu.org>
4208
4209 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
4210 Add `avoid_cursor_p' field.
4211
4212 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
4213 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
4214 (append_glyph, append_composite_glyph, produce_image_glyph)
4215 (append_stretch_glyph): Initialize avoid_cursor_p.
4216 (get_it_property): Rename from `get_line_height_property'.
4217 (x_produce_glyphs): Use get_it_property.
4218 (handle_line_prefix, push_display_prop): New functions.
4219 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
4220 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
4221 New variables.
4222 (syms_of_xdisp): Initialize them.
4223
42242008-06-30 Kenichi Handa <handa@m17n.org>
4225
4226 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
4227 XftDefaultSubstitute (they are called in XftFontMatch).
4228 (xftfont_open): Fix args to ftfont_font_format.
4229
4230 * ftfont.c (fc_charset_table): New member lang.
4231 (ftfont_resolve_generic_family): New arg pattern.
60612c8f 4232 (ftfont_spec_pattern): Check fc_charset_table[]->lang.
aac0c6e3
MR
4233 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
4234 (ftfont_open): Fix args to ftfont_font_format.
4235 (ftfont_font_format): New arg filename.
4236
42372008-06-30 Chong Yidong <cyd@stupidchicken.com>
4238
4239 * xfaces.c (Finternal_merge_in_global_face): If default face was
4240 modified, realize it again. Update the font face attribute.
4241
42422008-06-29 Jason Rumney <jasonr@gnu.org>
4243
4244 * w32term.c (x_set_frame_alpha): Fix logic.
4245
42462008-06-29 Kenichi Handa <handa@m17n.org>
4247
4248 * fontset.c (Finternal_char_font): Return font-object instead of
4249 font-name.
4250
4251 * composite.c (get_composition_id): Fix the width calculation for TAB.
4252
42532008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
4254
4255 * indent.c (Fvertical_motion): Properly handle float column arg.
4256
42572008-06-28 Jason Rumney <jasonr@gnu.org>
4258
4259 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
4260 (pfnSetLayeredWindowAttributes): New function pointer.
4261 (w32_initialize): Initialize it when supported.
4262 (x_set_frame_alpha): New function.
4263
4264 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
4265 (w32_frame_parm_handlers): Set alpha handler.
4266
4267 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
4268
42692008-06-27 Jason Rumney <jasonr@gnu.org>
4270
4271 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
4272 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
4273 (w32_to_x_charset, x_to_w32_charset)
4274 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
4275 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
4276 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
4277 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
4278 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
4279 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
4280 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
4281 (Qw32_charset_unicode): Remove.
4282 (syms_of_w32fns): Update for above changes.
4283
4284 * w32font.c (w32_to_x_charset, x_to_w32_charset)
4285 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
4286 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
4287 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
4288 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
4289 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
4290 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
4291 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
4292 (syms_of_w32font): Update for above changes.
4293
42942008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
4295
4296 * s/usg5-4.h: Fix previous change: keep the correct branch of a
4297 removed #if.
4298 (USG_SHARED_LIBRARIES): Remove duplicate definition.
4299
43002008-06-26 Juanma Barranquero <lekktu@gmail.com>
4301 Eli Zaretskii <eliz@gnu.org>
4302
4303 * makefile.w32-in (LOCAL_FLAGS):
4304 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
4305
4306 * sysdep.c (_spawnlp, _getpid):
4307 Declare with explicit _cdecl instead of _CRTAPI1.
4308
4309 * editfns.c (Fget_internal_run_time):
4310 Check for WINDOWSNT with #ifdef, not #if.
4311
43122008-06-26 Jason Rumney <jasonr@gnu.org>
4313
4314 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
4315
4316 * w32term.c (x_draw_glyph_string_foreground)
4317 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
4318 Use FONT_HANDLE macro.
4319 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
4320
4321 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
4322 (uniscribe_encode_char): Use FONT_HANDLE macro.
4323
4324 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
4325 (w32font_text_extents): Use precast w32_font.
4326 (w32font_close): Free cached metrics.
4327 (w32font_open_internal): Allocate space for name on stack.
4328
43292008-06-26 Chong Yidong <cyd@stupidchicken.com>
4330
4331 * xdisp.c (extend_face_to_end_of_line): Fix last change.
4332
43332008-06-26 Jason Rumney <jasonr@gnu.org>
4334
4335 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
4336 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
4337
43382008-06-26 Juanma Barranquero <lekktu@gmail.com>
4339
4340 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
4341
43422008-06-26 Jason Rumney <jasonr@gnu.org>
4343
4344 * w32bdf.c, w32bdf.h: Remove obsolete files.
4345
4346 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
4347
4348 * w32gui.h: Don't include w32bdf.h.
4349 (XCharStruct, enum w32_char_font_type, W32FontStruct):
4350 Remove obsolete font support.
4351
4352 * w32font.h (struct w32font_info): Remove compat_w32_font.
4353 Add hfont member.
4354 (FONT_COMPAT): Remove obsolete macro.
4355
4356 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
4357 (w32font_encode_char, w32font_text_extents): Use new hfont member.
4358 (w32font_open_internal): Remove compat code. Set new hfont member.
4359 (Fx_select_font): Use new hfont member.
4360
4361 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
4362 (uniscribe_encode_char): Use new hfont member.
4363
4364 * w32term.c (x_draw_glyph_string_foreground)
4365 (x_draw_composite_glyph_string_foreground): Use new hfont member.
4366 (x_draw_glyph_string): Use metrics in w32font_info.
4367
43682008-06-26 Kenichi Handa <handa@m17n.org>
4369
4370 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
4371
43722008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
4373
4374 * unexnext.c:
4375 * m/ews4800.h:
4376 * m/hp9000s300.h:
4377 * m/ibm370aix.h:
4378 * m/mips-siemens.h:
4379 * m/ncr386.h:
4380 * m/next.h:
4381 * m/pmax.h:
4382 * m/powerpcle.h:
4383 * m/tandem-s2.h:
4384 * s/386bsd.h:
4385 * s/bsd386.h:
4386 * s/bsd4-1.h:
4387 * s/bsd4-2.h:
4388 * s/bsdos2-1.h:
4389 * s/bsdos2.h:
4390 * s/bsdos3.h:
4391 * s/bsdos4.h:
4392 * s/nextstep.h:
4393 * s/ultrix4-3.h:
4394 * s/usg5-0.h:
4395 * s/usg5-2-2.h:
4396 * s/usg5-2.h:
4397 * s/usg5-4-3.h:
4398 * s/ux4800.h:
4399 * s/uxpds.h:
4400 * s/uxpv.h: Remove support for obsolete systems.
4401 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
8f3a3ac2 4402 Remove, insert contents in s/hpux10-20.h.
aac0c6e3
MR
4403 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
4404 Remove, insert contents in s/aix4-2.h.
4405 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
4406 * s/bsd4-3.h: Rename to ...
4407 * s/bsd-common.h: ... this.
4408 * data.c:
4409 * doc.c:
4410 * ecrt0.c:
4411 * emacs.c:
4412 * fileio.c:
4413 * floatfns.c:
4414 * keyboard.c:
4415 * mem-limits.h:
4416 * print.c:
4417 * process.c:
4418 * sysdep.c:
4419 * syssignal.h:
4420 * systty.h:
4421 * syswait.h:
4422 * term.c:
4423 * unexec.c:
4424 * unexelf.c:
4425 * unexhp9k800.c:
4426 * m/hp800.h:
4427 * m/ibmrs6000.h:
4428 * m/mips.h:
4429 * m/vax.h:
4430 * s/darwin.h:
4431 * s/freebsd.h:
4432 * s/gnu.h:
4433 * s/ms-w32.h:
4434 * s/msdos.h:
4435 * s/netbsd.h:
4436 * s/template.h: Remove references to obsolete variables.
4437
4438 * Makefile.in: Add dependencies for all unexec files.
4439 (admindir): Remove unused variable.
4440 (UNEXEC_SRC): Remove references.
4441
44422008-06-25 Chong Yidong <cyd@stupidchicken.com>
4443
4444 * xfns.c (x_default_font_parameter): If Xft is available, first
4445 try Monospace-12 for the default font.
4446
44472008-06-25 Jason Rumney <jasonr@gnu.org>
4448
4449 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
4450
44512008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
4452
4453 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
4454
4455 * buffer.c (syms_of_buffer): Remove default-word-wrap.
4456
44572008-06-25 Juanma Barranquero <lekktu@gmail.com>
4458
4459 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
4460 <scroll-conservatively>: Fix typo in docstring.
4461
4462 * xselect.c (Fx_send_client_event): Doc fix.
4463
44642008-06-25 Kenichi Handa <handa@m17n.org>
4465
4466 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
4467
4468 * font.c (font_parse_fcname): Remove unused variables.
4469 (font_sort_entites): Delete the arg SPEC. Caller changed.
4470 Fix for the case of ! best_only.
4471 (font_delete_unmatched): Check DPI and AVGWIDTH too.
4472
4473 * lisp.h (Fstring_to_unibyte): EXFUN it.
4474
4475 * character.h (str_to_unibyte): Extern it.
4476
4477 * character.c (str_to_unibyte): New function.
4478
4479 * fns.c (Fstring_to_unibyte): New function.
4480 (syms_of_fns): Defsubr it.
4481
44822008-06-24 Kenichi Handa <handa@m17n.org>
4483
4484 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
4485 DPI too.
4486 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
4487
44882008-06-24 Andreas Schwab <schwab@suse.de>
4489
4490 * Makefile.in (${lispsource}loaddefs.el): Rename from
4491 ../lisp/loaddefs.el.
4492 (bootstrap-clean): Do what distclean does but don't remove
4493 Makefile.
4494 (distclean): Depend on bootstrap-clean and remove Makefile.
4495
44962008-06-24 Chong Yidong <cyd@stupidchicken.com>
4497
4498 * buffer.h (struct buffer): New member word_wrap.
4499
4500 * buffer.c (syms_of_buffer): New variables default-word-wrap and
4501 word-wrap.
4502 (init_buffer_once): Initialize them.
4503
4504 * dispextern.h (struct it): Replace bool truncate_lines_p with a
4505 line_wrap enum possessing three possible values.
4506
4507 * termopts.h: Replace truncate_partial_width_windows with
4508 Vtruncate_partial_width_windows.
4509
4510 * dispnew.c (direct_output_for_insert): Avoid direct output when
4511 inserting a space with word wrap on.
4512
4513 * indent.c (compute_motion): Obey integer values of
4514 truncate-partial-width-windows.
4515
4516 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
4517 replacing truncate_partial_width_windows.
4518 (init_iterator): If Vtruncate_partial_width_windows is an integer,
4519 truncate only if the window width is below that integer.
4520 (start_display, resize_mini_window, produce_stretch_glyph)
4521 (display_string, move_it_in_display_line_to): Use line_wrap.
4522 (back_to_previous_visible_line_start, reseat_1): Reset
4523 string_from_display_prop_p.
4524 (display_line): Extend default face to end of line when wrapping.
4525
45262008-06-24 Kim F. Storm <storm@cua.dk>
4527
4528 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
4529 to wrap continued lines at word boundaries.
4530
45312008-06-24 Jason Rumney <jasonr@gnu.org>
4532
4533 * font.c (Ffont_face_attributes): Multiply pixel size before point
4534 conversion to avoid multiplying rounding error.
4535
45362008-06-23 Jason Rumney <jasonr@gnu.org>
4537
4538 * w32term.c (x_draw_glyph_string_background)
4539 (x_draw_glyph_string): Remove old bdf font code.
4540
4541 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
4542
45432008-06-22 Kenichi Handa <handa@m17n.org>
4544
4545 * font.c (font_find_for_lface): Try the adstyle specified in
4546 the property of LFACE_FONT of LFACE (if any).
4547
45482008-06-21 Seiji Zenitani <zenitani@mac.com>
4549 Ryo Yoshitake <ryo@shiftmode.net>
4550
4551 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
4552
45532008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
4554
4555 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
4556 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
4557 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
4558 (witness-emacs): Remove.
4559 (lisp, shortlisp): Move loaddefs.el earlier.
4560 (mostlyclean): Forget about witness-emacs.
4561
45622008-06-22 Glenn Morris <rgm@gnu.org>
4563
4564 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
4565 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
4566
45672008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
4568
4569 * Makefile.in (PRECOMP): Remove.
4570 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
4571 (witness-emacs): Run `compile-first'.
4572 (.el.elc): Use the new compile-onefile target.
4573
45742008-06-21 Kenichi Handa <handa@m17n.org>
4575
4576 * xftfont.c (xftfont_open): Handle QCembolden only when
4577 FC_EMBOLDEN is defined.
4578
45792008-06-21 Andreas Schwab <schwab@suse.de>
4580
4581 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
4582 (.el.elc): Likewise.
4583
45842008-06-21 Miles Bader <miles@gnu.org>
4585
4586 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
4587 build dir, not the lisp source dir.
4588
45892008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
4590
4591 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
4592 (bootstrapclean): Remove.
4593 (.el.elc): New rule.
4594 (PRECOMP): New var.
4595 (../lisp/subdirs.el): Remove.
4596 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
4597 (witness-emacs): New target.
4598 (mostlyclean): Remove witness-emacs as well.
4599 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
4600 Add witness-emacs dependency.
4601
46022008-06-20 Chong Yidong <cyd@stupidchicken.com>
4603
4604 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
4605 defined by the font.
4606
46072008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
4608
4609 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
4610 (bootstrap-clean): New target that keeps TAGS around.
4611 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
4612 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
4613
46142008-06-20 Jason Rumney <jasonr@gnu.org>
4615
4616 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
4617 Remove obsolete font code.
4618
4619 * w32font.c (font_matches_spec): Use csb bitfield from font signature
4620 to determine language support.
4621
46222008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
4623
4624 * sysdep.c (cfsetspeed): New fun extracted from the code.
4625 (cfmakeraw): Move before first use.
4626
46272008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
4628
4629 * sysdep.c (cfmakeraw): Provide fallback implementation.
4630 (serial_configure): Provide fallback implementation of cfsetspeed.
4631
46322008-06-20 Kenichi Handa <handa@m17n.org>
4633
4634 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
4635 the pattern.
4636
4637 * fontset.c (fontset_from_font): Copy font_spec before changing
4638 the elements.
4639
4640 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
4641
46422008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
4643
4644 * w32fns.c, xfns.c (x_default_font_parameter): Only set `font-param'
4645 for explicit `font' parameters.
4646
4647 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
4648
46492008-06-19 Kenichi Handa <handa@m17n.org>
4650
4651 * frame.c: Include <ctype.h>.
4652 (x_set_font_backend): Allow spacing characters in the X resource
4653 for FontBackend.
4654
46552008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
4656
4657 * w32fns.c, xfns.c (Qfont_param): New var.
4658 (syms_of_w32fns): Initialize it.
4659 (x_default_font_parameter): Record explicit `font' into
4660 `font-parameter'.
4661
46622008-06-18 Kenichi Handa <handa@m17n.org>
4663
4664 * font.c (font_parse_xlfd): Fix previous change.
4665 (font_parse_fcname): Don't use :fc-unknown-spec.
4666 (FRAME_X_DISPLAY_INFO): Be sure to have at least 1 pixel height.
4667 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
4668 (font_add_log): Prepend the driver name to the resulting fonts.
4669
4670 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
4671 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
4672 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
4673
4674 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
4675 (QCembolden): New variables.
4676 (syms_of_xftfont): DEFSYM them.
4677 (xftfont_open): Call XftFontMatch. Don't trust the result of
4678 XftTextExtents8 if the pixel_size is less than 5.
4679
46802008-06-18 Andreas Schwab <schwab@suse.de>
4681
4682 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
4683 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
4684
46852008-06-18 Jason Rumney <jasonr@gnu.org>
4686
4687 * w32font.c (w32font_list, w32font_match): Add logging.
4688
4689 * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging.
4690
46912008-06-17 Chong Yidong <cyd@stupidchicken.com>
4692
4693 * font.c (font_parse_fcname): Store divider characters for
4694 unknown-spec list. For known key symbols, intern using correct
4695 symbol name.
4696
46972008-06-17 Kenichi Handa <handa@m17n.org>
4698
4699 * xfaces.c (realize_default_face): If the frame is not on window
4700 system, set the fontset of face to nil.
4701
47022008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
4703
4704 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
4705
47062008-06-16 Juanma Barranquero <lekktu@gmail.com>
4707
4708 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
4709 (build_font_name_from_vector): Delete externs.
4710
4711 * xfaces.c (struct font_name): Don't declare.
4712
47132008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
4714
4715 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
4716
47172008-06-16 Chong Yidong <cyd@stupidchicken.com>
4718
4719 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
4720
47212008-06-16 Juanma Barranquero <lekktu@gmail.com>
4722
4723 * font.c (Ffont_spec): Fix usage in docstring.
4724 (Ffont_face_attributes): Doc fix.
4725
47262008-06-16 Andreas Schwab <schwab@suse.de>
4727
4728 * font.c (Ffont_face_attributes): Fix definition.
4729
47302008-06-16 Jason Rumney <jasonr@gnu.org>
4731
4732 * font.h (font_style_symbolic_from_value): Remove.
4733
4734 * font.c (font_style_symbolic_from_value): Remove.
4735 (font_style_symbolic): Revert to pre 2008-06-13 version.
4736
4737 * w32font.c (w32_to_fc_weight): New function.
4738 (w32font_full_name, logfont_to_fcname): Use it.
4739
47402008-06-16 Kenichi Handa <handa@m17n.org>
4741
4742 * font.c (font_check_object): Delete it.
4743 (font_clear_cache): Check if a font-object is alive.
4744 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
4745 font-object to nil.
4746 (font_close_object): Don't check FONT_CLOSE_OBJECT.
4747 (font_at): Don't call font_check_object.
4748 (Ffont_get): Return a symbol for :weight, :slant, and :width.
4749
47502008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
4751
4752 * puresize.h (BASE_PURESIZE): Increase to 1230000.
4753
47542008-06-16 Chong Yidong <cyd@stupidchicken.com>
4755
4756 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
4757
47582008-06-15 Chong Yidong <cyd@stupidchicken.com>
4759
4760 * font.c (font_parse_fcname): Only one decimal point.
4761 (font_unparse_fcname): Handle data in family and foundry indices
4762 as symbols, not strings.
4763 (font_unparse_gtkname, Ffont_face_attributes): New functions.
4764
4765 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
4766
4767 * font.h (font_unparse_gtkname): Add prototype.
4768
47692008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
4770
4771 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
4772
47732008-06-15 Andreas Schwab <schwab@suse.de>
4774
4775 * font.c (font_update_drivers): Fix crash when no drivers match.
4776
47772008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
4778
4779 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
4780 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
4781
47822008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
4783
4784 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
4785
47862008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
4787
4788 * process.c (Fserial_process_configure, Fprocess_send_eof):
4789 Use EQ to compare Lisp_Objects.
4790
47912008-06-13 Jason Rumney <jasonr@gnu.org>
4792
4793 * w32fns.c (Fw32_select_font): Remove old font API function.
4794
4795 * w32font.c (logfont_to_fcname): New function.
4796 (Fx_select_font): New font dialog function compatible with
4797 GTK/fontconfig version.
4798
4799 * font.c (font_style_symbolic_from_value): New function.
4800 (font_style_symbolic): Use it.
4801
4802 * font.h (font_style_symbolic_from_value): Declare new function.
4803
48042008-06-13 Juanma Barranquero <lekktu@gmail.com>
4805
4806 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
4807 <font-width-table>: Fix typos in docstrings.
4808
48092008-06-13 Daniel Engeler <engeler@gmail.com>
4810
4811 These changes add serial port access.
4812 * process.c: Add HAVE_SERIAL.
4813 (Fdelete_process, Fprocess_status, Fset_process_buffer)
4814 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
4815 (list_processes_1, select_wrapper, Fstop_process)
4816 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
4817 (status_notify): Modify to handle serial processes.
4818 [HAVE_SERIAL] (Fserial_process_configure)
4819 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
4820 New functions.
4821 * process.h (struct Lisp_Process): Add `type'.
4822 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
4823 New functions.
4824 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
4825 serial ports.
4826 (serial_open, serial_configure) New functions.
4827 * w32.h: Add FILE_SERIAL.
4828 (struct _child_process): Add ovl_read, ovl_write.
4829
48302008-06-13 Kenichi Handa <handa@m17n.org>
4831
4832 * dispextern.h (enum lface_attribute_index): New member
4833 LFACE_FOUNDRY_INDEX.
4834
4835 * font.c (font_score): Delete arg alternate_families. Check only
4836 weight, slant, width, and size. Ignore the difference of alias
4837 style symbols.
4838 (font_sort_entites): Adjust for the above change. Reflect the
4839 order of font-driver to scores.
4840 (font_list_entities): Don't check alternate_familes here.
4841 (font_clear_prop): Handle foundry.
4842 (font_update_lface): Don't parse "foundry-family" form here.
4843 Handle FONT_FOUNDRY_INDEX.
4844 (font_find_for_lface): Likewise. Handle alternate families here.
4845 If registry is nil, try iso8859-1 and ascii-0.
4846 (font_open_for_lface): Pay attention to size in ENTITY.
4847 (font_open_by_name): Simplify by calling font_load_for_lface.
4848 (free_font_driver_list): Delete it.
4849 (font_update_drivers): Preserve the order of backends.
4850 (syms_of_font): Setting of sort_shift_bits adjusted for the change
4851 of font_score and font_sort_entites.
4852 (font_update_sort_order): Likewise.
4853
4854 * xfaces.c (LFACE_FOUNDRY): New macro.
4855 (check_lface_attrs): Check foundry.
4856 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
4857 (merge_face_vectors): Check foundry.
4858 (merge_face_ref): Likewise.
4859 (Finternal_set_lisp_face_attribute): Likewise.
4860 (x_update_menu_appearance): Likewise.
4861 (Finternal_get_lisp_face_attribute): Likewise.
4862 (lface_hash): Likewise.
4863 (lface_same_font_attributes_p): Likewise.
4864 (x_supports_face_attributes_p): Likewise.
4865 (tty_supports_face_attributes_p): Likewise.
4866 (Finternal_set_alternative_font_family_alist): Intern strings.
4867 (Finternal_set_alternative_font_registry_alist): Downcase strings.
4868 (realize_default_face): Set LFACE_FOUNDRY (lface).
4869
4870 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
4871 font-driver at first.
4872
4873 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
4874
48752008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
4876
4877 * lread.c (Fload): Use xfree, not free on saved_doc_string.
4878
48792008-06-12 Jim Meyering <meyering@redhat.com>
4880
4881 Make unexec_free handle NULL the same way free does.
4882 * unexmacosx.c (unexec_free): Ignore a NULL argument.
4883
48842008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
4885
4886 * character.h (CHAR_TO_BYTE_SAFE): New macro.
4887 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
4888 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
4889 (WEAK_ALIAS): Simplify.
4890 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
4891 when searching a unibyte buffer.
4892
48932008-06-12 Chong Yidong <cyd@stupidchicken.com>
4894
4895 * xfns.c (Fx_select_font): Rename from x-font-dialog.
4896
48972008-06-12 Juanma Barranquero <lekktu@gmail.com>
4898
4899 * w32font.c: Include ctype.h.
4900
49012008-06-11 Jason Rumney <jasonr@gnu.org>
4902
4903 * w32font.c (w32font_encode_char): Detect missing glyphs that are
4904 misreported as space.
4905 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
4906 as aliases for registry iso10646-1.
4907
49082008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
4909
4910 * buffer.c (clone_per_buffer_values): Skip `name'.
4911
49122008-06-11 Chong Yidong <cyd@stupidchicken.com>
4913
4914 * font.c (font_parse_fcname): Fix last change; accept decimal
4915 points in font size.
4916
49172008-06-10 Jason Rumney <jasonr@gnu.org>
4918
4919 * w32uniscribe.c (add_opentype_font_name_to_list):
4920 Skip non unicode fonts.
4921
49222008-06-10 Chong Yidong <cyd@stupidchicken.com>
4923
4924 * xfns.c (Fx_font_dialog): New function.
4925
4926 * gtkutil.c (xg_dialog_response_cb): Rename from
4927 xg_file_response_callback.
4928 (pop_down_dialog): Rename from pop_down_file_dialog.
4929 (xg_get_file_name): Callers changed.
4930 (xg_get_font_name): New function.
4931
4932 * gtkutil.h (xg_get_font_name): Insert prototype.
4933
49342008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
4935
4936 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
4937 x_underline_minimum_display_offset.
4938 (syms_of_xdisp): Declare it here rather than in xterm.c.
4939 * dispextern.h (underline_minimum_offset): Declare it.
4940 * w32term.c (x_draw_glyph_string): Use it.
4941 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
4942 (syms_of_xterm): Don't declare it any more.
4943 (x_draw_glyph_string): Adjust to the new name.
4944
49452008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
4946
4947 * xterm.c (x_underline_minimum_display_offset): New var.
4948 (x_draw_glyph_string): Use it.
4949 (syms_of_xterm): Declare it.
4950
49512008-06-10 Chong Yidong <cyd@stupidchicken.com>
4952
4953 * font.c (font_parse_fcname): Accept GTK-style font names too.
4954
49552008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
4956
4957 * dired.c (file_name_completion): Don't return t if the match is exact
4958 but with different capitalization.
4959 * minibuf.c (Ftry_completion): Simplify.
4960
4961 * window.c (Vwindow_point_insertion_type): New var.
4962 (set_window_buffer): Use it.
4963 (syms_of_window): Init and export it to Lisp.
4964
49652008-06-10 Kenichi Handa <handa@m17n.org>
4966
4967 * font.h (font_intern_prop): Prototype adjusted.
4968
4969 * font.c (font_intern_prop): New arg force_symbol.
4970 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
4971 Adjust for the change of font_intern_prop.
4972
4973 * ftfont.c (ftfont_pattern_entity):
4974 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
4975 (w32_registry):
4976 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
4977 the change of font_intern_prop.
4978
49792008-06-09 Juanma Barranquero <lekktu@gmail.com>
4980
4981 * w32menu.c (digest_single_submenu): Declare extern.
4982
49832008-06-09 Jason Rumney <jasonr@gnu.org>
4984
4985 * w32term.c (x_make_frame_visible): Use alternate restore flags.
4986
4987 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
4988 (parse_single_submenu): Remove.
4989 (digest_single_submenu): Remove.
4990 (syms_of_w32menu): Don't initialise variables that have moved
4991 to menu.c.
4992 (set_frame_menubar): Sync with version in xmenu.c.
4993 (w32_menu_show): Sync with xmenu_show in xmenu.c.
4994
4995 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
4996 Make static again.
4997
49982008-06-09 Jason Rumney <jasonr@gnu.org>
4999
5000 Changes to w32 files related to the move of common menu code
5001 to menu.c on 2008-06-08 by Chong Yidong.
5002
5003 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
5004 defs to w32gui.h.
5005 (single_keymap_panes, push_menu_item, push_menu_pane):
5006 Make globally visible.
5007
5008 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
5009 (local_free, malloc_widget_value, free_widget_value)
5010 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
5011 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
5012 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
5013 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
5014 (menu_items, menu_items_allocated, menu_items_used)
5015 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
5016 (init_menu_items, finish_menu_items, discard_menu_items)
5017 (grow_menu_items, push_submenu_start, push_submenu_end)
5018 (push_left_right_boundary, push_menu_pane, push_menu_item)
5019 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
5020 (free_menubar_widget_tree_value, parse_single_submenu)
5021 (update_submenu_strings): Remove functions.
5022 (xmalloc_widget_value): Remove and declare extern.
5023
5024 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
5025 (OBJ1): Build it.
5026
5027 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
5028 (local_heap, local_alloc, local_free, malloc_widget_value)
5029 (free_widget_value): Define here.
5030
50312008-06-09 Kenichi Handa <handa@m17n.org>
5032
5033 * font.h (Qascii_0): Extern it.
5034
5035 * font.c (Qascii_0): New variable.
5036 (syms_of_font): DEFSYM it.
5037 (font_open_by_name): If the registry "iso8859-1" fails, try also
5038 "ascii-0".
5039
5040 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
5041
50422008-06-08 Kenichi Handa <handa@m17n.org>
5043
5044 * .gdbinit (xfont): New command.
5045
50462008-06-08 Andreas Schwab <schwab@suse.de>
5047
5048 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
5049 * Makefile.in (menu.o): Update dependencies.
5050
5051 * Makefile.in (obj): Always add menu.o.
5052 * emacs.c (main): Always call syms_of_menu.
5053 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
5054
50552008-06-08 Chong Yidong <cyd@stupidchicken.com>
5056
5057 * Makefile.in: Compile menu.c.
5058
5059 * lisp.h: Declare syms_of_menu.
5060
5061 * emacs.c (main): Call syms_of_menu.
5062
5063 * keyboard.h: Relocate platform-independent menu definitions from
5064 xmenu.c.
5065
5066 * menu.c: New file. Relocate platform-independent menu
5067 definitions from xmenu.c. Suggested by Adrian Robert.
5068
5069 * xmenu.c: Remove platform-independent menu definitions.
5070 (menu_items menu_items_inuse, menu_items_allocated)
5071 (menu_items_used, menu_items_n_panes)
5072 (menu_items_submenu_depth): Move to keyboard.h.
5073 (init_menu_items, finish_menu_items, unuse_menu_items)
5074 (discard_menu_items, restore_menu_items, save_menu_items)
5075 (grow_menu_items, push_submenu_start, push_submenu_end)
5076 (push_left_right_boundary, push_menu_pane, push_menu_item)
5077 (keymap_panes, single_keymap_panes, single_menu_item)
5078 (list_of_panes, list_of_items, find_and_call_menu_selection)
5079 (xmalloc_widget_value, free_menubar_widget_value_tree)
5080 (parse_single_submenu, digest_single_submenu)
5081 (update_submenu_strings): Move to menu.c.
5082
50832008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
5084
5085 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
5086
50872008-06-06 Miles Bader <miles@gnu.org>
5088
5089 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
5090 face, not frame default.
5091
50922008-06-05 Martin Rudalics <rudalics@gmx.at>
5093
5094 * window.c (pop_up_windows, pop_up_frames)
5095 (display_buffer_reuse_frames, Vpop_up_frame_function)
5096 (Vdisplay_buffer_function, Veven_window_heights)
5097 (Vspecial_display_buffer_names, Vspecial_display_regexps)
5098 (Vspecial_display_function, Vsame_window_buffer_names)
5099 (Vsame_window_regexps, split_height_threshold)
5100 (Vsplit_window_preferred_function): Move those vars to window.el.
5101 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
5102 (Fdisplay_buffer): Move those functions to window.el.
5103 (syms_of_window): Remove corresponding declarations.
5104 (display_buffer): New function.
5105 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
5106 * dispnew.c (Flast_nonminibuf_frame): New function.
5107 * buffer.c (Fpop_to_buffer): Move to window.el.
5108
51092008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5110
5111 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
5112
51132008-06-05 Kenichi Handa <handa@m17n.org>
5114
5115 * coding.c (detect_coding): Fix previous change.
5116 (detect_coding_system): Likewise.
5117
51182008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5119
5120 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
5121
5122 * keymap.c (Vminibuffer_local_filename_must_match_map):
5123 Rename from Vminibuffer_local_must_match_filename_map.
5124 (syms_of_keymap):
5125 * minibuf.c (Fcompleting_read): Adjust accordingly.
5126 * commands.h: Rename declaration as well.
5127
51282008-06-05 Kenichi Handa <handa@m17n.org>
5129
5130 * font.c (Ffont_spec): Don't use font_parse_family_registry for
5131 family name.
5132 (Ffont_put): Likewise.
5133
5134 * fontset.c (fontset_find_font): Call font_open_for_lface with the
5135 current font-spec.
5136
5137 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
5138 is unspecified.
5139
5140 * xfaces.c (realize_x_face): If the font-related face attributes
5141 are the same as those of default face, realize a new fontset from
5142 default->fontset.
5143 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
5144
51452008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5146
5147 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
5148 (move_it_in_display_line): New wrapper.
5149
5150 * window.c (window_scroll_pixel_based_preserve_x)
5151 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
5152 (window_scroll_pixel_based, window_scroll_line_based):
5153 Use them to preserve column positions.
5154 (syms_of_window): Initialize them.
5155
5156 * indent.c (Fvertical_motion): Extend first arg to allow passing an
5157 (HPOS . VPOS) pair.
5158
5159 * dispextern.h (move_it_in_display_line): Declare.
5160
51612008-06-05 Juanma Barranquero <lekktu@gmail.com>
5162
5163 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
5164 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
5165 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
5166
51672008-06-04 Juanma Barranquero <lekktu@gmail.com>
5168
5169 * window.c (Fset_window_parameter): Doc fix.
5170 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
5171
51722008-06-04 Joakim Verona <joakim@verona.se>
5173
5174 * window.h (struct window): Add new member window_parameters.
5175
5176 * window.c (Fwindow_parameters, Fwindow_parameter)
5177 (Fset_window_parameter): New defuns.
5178 (syms_of_window): Defsubr the new defuns.
5179 (make_window): Initialize window_parameters to nil.
5180
51812008-06-04 John Paul Wallington <jpw@pobox.com>
5182
5183 * eval.c (Fdefmacro): Doc fix.
5184
51852008-06-04 Kenichi Handa <handa@m17n.org>
5186
5187 * coding.c (detect_coding): Fix handling of coding->head_ascii.
5188 Be sure to call setup_coding_system when we find a proper coding system.
5189 (detect_coding_system): Fix handling of coding->head_ascii.
5190
51912008-06-03 Andreas Schwab <schwab@suse.de>
5192
5193 * font.c (font_prop_validate_spacing): Fix last change.
5194
51952008-06-03 Kenichi Handa <handa@m17n.org>
5196
5197 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
5198 (font_parse_fcname): Fix handling of unknown key.
5199
5200 * xfont.c (xfont_list): Try an alias.
5201
5202 * charset.c (char_charset): Return NULL if the arg charset_list is
5203 specified and C doesn't belong to any of them.
5204
52052008-06-02 Chip Coldwell <coldwell@redhat.com>
5206
5207 * font.c (font_pixel_size): Don't take cdr of an integer.
5208
52092008-06-02 Jim Meyering <meyering@redhat.com>
5210
5211 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
5212 * alloc.c (xfree): Return right away for a NULL arg.
5213 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
5214 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
5215 * mac.c (create_apple_event_from_event_ref): Likewise.
5216 (create_apple_event_from_drag_ref, cfstring_create_normalized):
5217 Likewise.
5218 * doprnt.c (doprnt1): Likewise.
5219 * frame.c (frame): Likewise.
5220 * keyboard.c (wipe_kboard): Likewise.
5221 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
5222 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
5223 * term.c (tty_default_color_capabilities, maybe_fatal)
5224 (delete_tty): Likewise.
5225 * w16select.c (string): Likewise.
5226 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
5227 * w32bdf.c (w32_free_bdf_font): Likewise.
5228 * w32fns.c (w32_unload_font): Likewise.
5229 * w32font.c (w32font_close): Likewise.
5230 * window.c (size_window): Likewise.
5231 * xselect.c (receive_incremental_selection): Likewise.
5232 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
5233 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
5234 * w32.c (stat): Likewise.
5235
5236 Remove useless if-before-free tests.
5237 * editfns.c (Fset_time_zone_rule): Likewise.
5238 * lread.c (nosuffix): Likewise.
5239 * ralloc.c (get_bloc): Likewise.
5240 * regex.c (reg_free): Likewise.
5241 * xftfont.c (xftfont_open, xftfont_close): Likewise.
5242 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
5243 * xsmfns.c (smc_save_yourself_CB): Likewise.
5244
52452008-06-02 Kenichi Handa <handa@m17n.org>
5246
5247 * font.c (font_find_for_lface): Handle float font size.
5248 (font_open_for_lface): Likewise.
5249
5250 * xfaces.c (x_supports_face_attributes_p): Check face->font before
5251 comparing the properties.
5252
52532008-06-01 Jason Rumney <jasonr@gnu.org>
5254
5255 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
5256 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
5257 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
5258 Don't add empty script list.
5259 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
5260
52612008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
5262
5263 * Makefile.in (dot, dotdot): Remove, update users.
5264 ".." has been used elsewhere in the file for a long time.
5265 (LIBXT_STATIC): Remove conditional based on unused variable.
5266
52672008-06-01 Miles Bader <miles@gnu.org>
5268
5269 * xfaces.c (Vface_remapping_alist): New variable.
5270 (syms_of_xfaces): Initialize it.
5271 (enum named_merge_point_kind): New type.
5272 (struct named_merge_point): Add `named_merge_point_kind' field.
5273 (push_named_merge_point): Make cycle detection respect different
5274 named-merge-point kinds.
5275 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
5276 Remove face-name alias resolution.
5277 (lface_from_face_name): New definition using
5278 `lface_from_face_name_no_resolve'.
5279 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
5280 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
5281 (get_lface_attributes): New definition that layers face-remapping on
5282 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
5283 (lookup_basic_face): New function.
5284 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
5285 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
5286 `get_lface_attributes'.
5287 (face_at_buffer_position): Use `lookup_basic_face' to lookup
5288 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
5289 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
5290
5291 * xdisp.c (init_iterator): Pass base_face_id through
5292 `lookup_basic_face' when we actually use it as a face-id.
5293 (handle_single_display_prop): Use `lookup_basic_face' to lookup
5294 DEFAULT_FACE_ID.
5295
5296 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
5297 lookup the initial face-id.
5298
5299 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
5300
53012008-06-01 Juanma Barranquero <lekktu@gmail.com>
5302
5303 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
5304 (Fremove_text_properties): Fix typos in docstrings.
5305
53062008-05-31 Kenichi Handa <handa@m17n.org>
5307
5308 * font.c (font_list_entities): Fix the car part of data to be
5309 stored in the cache.
5310
5311 * ftfont.c (ftfont_font_format): Don't use strcasestr.
5312
53132008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
5314
5315 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
5316 Add a `test' argument so another predicate than `equal' can be used.
5317 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
5318 (map_char_table): Remove unused vars `c' and `i'.
5319 * lisp.h (Foptimize_char_table): Adjust declaration.
5320 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
5321
53222008-05-30 Kenichi Handa <handa@m17n.org>
5323
5324 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
5325 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
5326 defined.
5327
53282008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
5329
5330 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
5331 (Fmake_variable_frame_local): Disallow mixing buffer-local and
5332 frame-local settings for the same variable.
5333
53342008-05-30 Kenichi Handa <handa@m17n.org>
5335
5336 * fontset.c (Ffont_info): Move to font.c.
5337 (syms_of_fontset): Delete defsubr of Sfont_info.
5338
5339 * font.c (font_style_to_value, font_score): Delete casting of the
5340 args to xstcasecmp.
5341 (register_font_driver): Increment num_font_drivers only when
5342 registering the driver globally.
5343 (Ffont_info): Move from fontset.c. Handle a font object too.
5344 (syms_of_font): Defsubr Sfont_info.
5345
53462008-05-29 Kenichi Handa <handa@m17n.org>
5347
5348 * coding.h (enum define_coding_utf8_arg_index): New enum.
5349 (enum coding_attr_index): Change coding_attr_utf_16_bom to
5350 coding_attr_utf_bom.
5351 (enum utf_bom_type): Rename from utf_16_bom_type.
5352 (struct utf_16_spec): Adjust for the above change.
5353 (struct coding_system): Add utf_8_bom in `spec' union.
5354
5355 * coding.c (CODING_UTF_8_BOM): New macro.
5356 (enum coding_category): Delete coding_category_utf_8, add
5357 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
5358 coding_category_utf_8_sig.
5359 (CATEGORY_MASK_UTF_8): Delete it.
5360 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
5361 (CATEGORY_MASK_UTF_8_SIG): New macros.
5362 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
5363 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
5364 CATEGORY_MASK_UTF_8_SIG.
5365 (CATEGORY_MASK_UTF_8): New macro.
5366 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
5367 (detect_coding_utf_8): Check BOM.
5368 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
5369 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
5370 (encode_coding_utf_16): Likewise.
5371 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
5372 (detect_coding, detect_coding_system): Handle utf-8-auto.
5373 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
5374 (syms_of_coding): Fix setting up of Vcoding_category_table.
5375
53762008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
5377
5378 * process.c (Faccept_process_output): If `millisec' is non-nil,
5379 `seconds' default to 0.
5380 (wait_reading_process_output): Also return non-nil if we read output
5381 from a non-running process.
5382
53832008-05-29 Jason Rumney <jasonr@gnu.org>
5384
5385 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
5386 `raster' specified.
5387 (add_font_entity_to_list): Allow non-opentype truetype fonts back
5388 in the uniscribe backend, but disallow any font that has no
5389 unicode subrange support.
5390
53912008-05-29 Juanma Barranquero <lekktu@gmail.com>
5392
5393 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
5394 Fix typos in docstrings.
5395
53962008-05-29 Kenichi Handa <handa@m17n.org>
5397
5398 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
5399 (Fx_family_fonts): Set frame correctly.
5400
54012008-05-28 Jason Rumney <jasonr@gnu.org>
5402
5403 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
5404
54052008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
5406
5407 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
5408 calling build_annotations.
5409
54102008-05-28 Juanma Barranquero <lekktu@gmail.com>
5411
5412 * coding.c (Fdecode_coding_region, Fencode_coding_region)
5413 (Fencode_coding_string):
5414 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
5415 <latin-extra-code-table>: Fix typos in docstrings.
5416 (syms_of_coding) <coding-system-alist>: Doc fix.
5417 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
5418
54192008-05-28 Kenichi Handa <handa@m17n.org>
5420
5421 * fontset.c (Ffont_info): Don't call font_close_object.
5422
5423 * font.c (font_parse_family_registry): Use Ffont_put to validate
5424 foundry and family.
5425 (font_delete_unmatched): Don't check spacing.
5426 (font_list_entities): Add spacing to the spec to list fonts.
5427
5428 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
5429 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
5430
5431 * coding.c (encode_coding_raw_text): Fix previous change.
5432 (encode_coding_object): When the dst_object is a buffer and is
5433 different from src_object, move gap to PT.
5434
54352008-05-27 Chong Yidong <cyd@stupidchicken.com>
5436
5437 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
5438
54392008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
5440
5441 * coding.c (encode_coding_raw_text): Set coding->produced_char for
5442 all branches. Compute it differently.
5443
5444 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
5445
54462008-05-27 Juanma Barranquero <lekktu@gmail.com>
5447
5448 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
5449 into "else if () ... else ...".
5450
54512008-05-27 Jason Rumney <jasonr@gnu.org>
5452
5453 * w32font.c (w32font_open_internal): Determine if glyph indices
5454 are likely to work here.
5455
54562008-05-27 Chong Yidong <cyd@stupidchicken.com>
5457
5458 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
5459 draw overlap glyphs with appropriate highlighting.
5460
54612008-05-27 Kenichi Handa <handa@m17n.org>
5462
5463 * xfont.c (xfont_open): Fix calculation of font->average_width.
5464
54652008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
5466
5467 * casefiddle.c (casify_object): Try to guess better whether the
5468 argument is a byte or a char.
5469
54702008-05-26 Andreas Schwab <schwab@suse.de>
5471
5472 * xselect.c (x_reply_selection_request): Properly handle format == 32.
5473 Always send multiples of format size.
5474
5475 * xterm.c (x_set_frame_alpha): Fix type mismatch.
5476
54772008-05-26 Jason Rumney <jasonr@gnu.org>
5478
5479 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
5480 (compute_metrics): Don't set failure if we just cleared the cache.
5481 (w32_weight_table): Remove unused variable.
5482 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
5483 backwards compatibility.
5484
54852008-05-25 Kenichi Handa <handa@m17n.org>
5486
5487 * w32term.c (x_draw_glyph_string):
5488 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
5489
5490 * xfaces.c: Delete unused function prototypes.
5491 (xstrlwr, font_frame): Delete them.
5492 (clear_face_cache): Delete unused variable.
5493
5494 * xftfont.c (xftfont_open): Delete unused variable.
5495 If underline_thickness is not 1, adjust underline_position.
5496
5497 * ftxfont.c (ftxfont_open): Delete unused variable.
5498
5499 * fontset.c (face_for_char): Optimize for the case of no charset
5500 property.
5501
5502 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
5503 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
5504 (otf_open, font_otf_capability, generate_otf_features)
5505 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
5506 Comment out by surrounding "#if 0" and "#endif" for the moment.
5507 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
5508 (syms_of_font): Codes for accessing above commented out.
5509
55102008-05-24 Eli Zaretskii <eliz@gnu.org>
5511
5512 * w32proc.c: Include dispextern.h.
5513
5514 * w32.c: Include dispextern.h.
5515
55162008-05-23 Juanma Barranquero <lekktu@gmail.com>
5517
5518 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
5519 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
5520 Fix typos in docstrings.
5521
55222008-05-23 Jason Rumney <jasonr@gnu.org>
5523
5524 * xsmfns.c: Remove includes that are already included by config.h.
5525
55262008-05-23 Kenichi Handa <handa@m17n.org>
5527
5528 * charset.c (Qemacs, charset_emacs): New variables.
5529 (char_charset): Fix for non-Unicode characters.
5530 (syms_of_charset): Define charset_emacs.
5531
5532 * w32term.c (x_draw_glyph_string): Be sure to update
5533 s->underline_thickness and s->underline_position. Be sure to draw
5534 underline within the current line area.
5535
5536 * xterm.c (x_draw_glyph_string): Be sure to update
5537 s->underline_thickness and s->underline_position. Be sure to draw
5538 underline within the current line area.
5539
5540 * fontset.c: Delete unused variables and add casting for char *
5541 throughout the file.
5542 (fontset_font): Try the fallback fonts of the current fontset
5543 before consulting the default fontset.
5544
5545 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
5546
5547 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
5548
55492008-05-22 Jason Rumney <jasonr@gnu.org>
5550
5551 * font.c: Don't include strings.h.
5552
5553 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
5554
5555 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
5556 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
5557 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
5558 to call xstrcasecmp.
5559
5560 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
5561
5562 * fontset.c (fs_query_fontset): Use xstrcasecmp.
5563
5564 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
5565
5566 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
5567
55682008-05-22 Kenichi Handa <handa@m17n.org>
5569
5570 * puresize.h (BASE_PURESIZE): Increase to 1220000.
5571
5572 * font.c (font_prop_validate_style): Adjust for the format
5573 change of font_style_table.
5574
5575 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
5576 two args.
5577
5578 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
5579 two args.
5580
55812008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
5582
5583 * minibuf.c (keys_of_minibuf): Delete.
5584 * lisp.h (keys_of_minibuf): Delete.
5585 * emacs.c (main): Don't call keys_of_minibuf.
5586
55872008-05-22 Kenichi Handa <handa@m17n.org>
5588
5589 * ftfont.c (ftfont_resolve_generic_family): Rename from
5590 ftfont_list_generic_family. Return a single family for each
5591 generic family.
5592 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
5593 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
5594 Call font_add_log.
5595 (ftfont_match): Call font_add_log.
5596
5597 * font.h (Ffont_xlfd_name): EXFUN adjusted.
5598 (FONT_DEBUG): Define it.
5599 (font_add_log): Extern it.
5600 (font_assert): Rename from xassert.
5601
5602 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
5603 (xfont_list_family): Call font_add_log.
5604 (xfont_match): Likewise.
5605 (memq_no_quit): Delete.
5606
5607 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
5608 call of Ffont_xlfd_name.
5609
5610 * xfaces.c (struct table_entry, slant_table, weight_table)
5611 (swidth_table): Move to font.c.
5612
5613 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
5614 xassert are changed to font_assert. Delete many unused variables.
5615 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
5616 New variables.
5617 (struct table_entry): Move from xfaces.c and modified.
5618 (weight_table, slant_table, width_table): Move from xfaces.c and
5619 contents adjusted for the change of struct table_entry.
5620 (font_style_to_value, font_style_symbolic): Adjust for the
5621 format change of font_style_table.
5622 (font_parse_family_registry): Don't overwrite existing foundry and
5623 family of font_spec.
5624 (font_score): Fix calculation of diff for sizes.
5625 (font_sort_entites): Call font_add_log.
5626 (font_delete_unmatched): Return a newly created list.
5627 (font_list_entities): Fix previous change. Call font_add_log.
5628 (font_matching_entity, font_open_entity, font_close_entity):
5629 Call font_add_log.
5630 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
5631 (Finternal_set_font_style_table): Delete.
5632 (BUILD_STYLE_TABLE): New macro.
5633 (build_style_table): New function.
5634 (Vfont_log, font_log_env_checked): New variables.
5635 (font_add_log): New function.
5636 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
5637 Declare Lisp variables "font-weight-table", "font-slant-table",
5638 "font-width-table", and "font-log". Initialize font_style_table.
5639
56402008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
5641
5642 * xterm.c (x_set_frame_alpha): Move declarations before statements.
5643
56442008-05-21 Seiji Zenitani <zenitani@mac.com>
5645 Ryo Yoshitake <ryo@shiftmode.net>
5646
5647 * frame.c (Qalpha): Add a new frame parameter `alpha'.
5648 (Vframe_alpha_lower_limit): New variable.
5649 (x_set_alpha): New function.
5650
5651 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
5652
5653 * xfns.c (x-create-frame, Qalpha):
5654 Initialize the frame parameter `alpha'.
5655 * xterm.c (OPAQUE, OPACITY): New.
5656 (x_set_frame_alpha): New function.
5657 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
5658
5659 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
5660 * w32fns.c (w32_frame_parm_handlers): Likewise.
5661
56622008-05-20 Jason Rumney <jasonr@gnu.org>
5663
5664 * w32font.c (add_font_entity_to_list): Don't add non-opentype
5665 truetype fonts to opentype list.
5666
56672008-05-20 Juanma Barranquero <lekktu@gmail.com>
5668
5669 * fontset.c (Ffontset_info): Doc fix.
5670 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
5671 <ignore-relative-composition>: Fix typos in docstrings.
5672
5673 * font.c (syms-of-font) <font-encoding-alist>:
5674 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
5675 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
5676 (Ffont_otf_alternates): Doc fixes.
5677
56782008-05-20 Kenichi Handa <handa@m17n.org>
5679
5680 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
5681 font.h through out the file.
5682 (FONT_DRIVERS): Rename from FONTOBJ.
5683 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
5684 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
5685
5686 * emacs.c (main): Call syms_of_font unconditionally.
5687
5688 * font.h (find_font_encoding): Extern it.
5689
5690 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
5691 fontset.c.
5692 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
5693 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
5694 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
5695 only when HAVE_WINDOW_SYSTEM is defined.
5696 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
5697 when HAVE_WINDOW_SYSTEM is defined.
5698
5699 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
5700 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
5701
5702 * xfaces.c: Include font.h unconditionally.
5703 (merge_face_ref, merge_face_vectors)
5704 (Finternal_set_lisp_face_attribute): Cancel the previous change.
5705
57062008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
5707
5708 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
5709 indirect_variable.
5710 * eval.c (lisp_indirect_variable): New fun.
5711 (Fuser_variable_p): Use it.
5712
57132008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
5714
5715 * lisp.h (indirect_variable):
5716 * data.c (indirect_variable, let_shadows_buffer_binding_p):
5717 Use Lisp_Symbol pointers rather than Lisp_Object.
5718 Adjust callers.
5719 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
5720 To this end, change calling-convention.
5721
5722 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
5723 if some non-hidden buffers are selected by string&pred.
5724
57252008-05-19 Chong Yidong <cyd@stupidchicken.com>
5726
5727 * process.c (wait_reading_process_output): Always check status
5728 when in batch mode.
5729
57302008-05-19 Kenichi Handa <handa@m17n.org>
5731
5732 * font.c (font_list_entities): Fix handling of cache.
5733 (font_matching_entity): Likewise.
5734
5735 * ftfont.c (cs_iso8859_1): Delete.
5736 (ft_face_cache): New variable.
5737 (struct ftfont_info): New member fc_charset_idx.
5738 (ftfont_build_basic_charsets): Delete.
5739 (fc_charset_table): New variable.
5740 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
5741 . FC_CHARSET_IDX) as :font-entity property in the font entity.
5742 Callers changed.
5743 (ftfont_lookup_cache, ftfont_get_charset): New functions.
5744 (ftfont_spec_pattern): New argument fc_charset_idx.
5745 Check registry more rigidly. Change callers.
5746 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
5747 change of :font-entity property of the font.
5748
5749 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
5750 property of the font.
5751
57522008-05-18 Juanma Barranquero <lekktu@gmail.com>
5753
5754 * coding.c (Fcoding_system_p): Rename argument to match docstring.
5755 (Funencodable_char_position, Fcheck_coding_systems_region)
5756 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
5757 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
5758 (Ffind_operation_coding_system, Fset_coding_system_priority)
5759 (Fcoding_system_eol_type): Doc fixes.
5760
57612008-05-17 Glenn Morris <rgm@gnu.org>
5762
5763 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
5764
57652008-05-16 Eli Zaretskii <eliz@gnu.org>
5766
5767 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
5768 and st_gid.
5769
5770 * frame.c (Fdelete_frame): Don't call font_update_drivers if
5771 HAVE_WINDOW_SYSTEM is not defined.
5772
5773 * xfaces.c (merge_face_ref, merge_face_vectors)
5774 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
5775 HAVE_WINDOW_SYSTEM is defined.
5776 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
5777
57782008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
5779
5780 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
5781
57822008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5783
5784 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
5785
57862008-05-15 Kenichi Handa <handa@m17n.org>
5787
5788 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
5789 preference.
5790
57912008-05-15 Glenn Morris <rgm@gnu.org>
5792
5793 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
5794
57952008-05-15 Chong Yidong <cyd@stupidchicken.com>
5796
5797 * fns.c (init_fns): Don't initialize weak_hash_tables here.
5798 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
5799
5800 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
5801
58022008-05-15 Kenichi Handa <handa@m17n.org>
5803
5804 * ftfont.c (ftfont_list): Downcase family name to check generic
5805 families.
5806
5807 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
5808 font-spec for QCfont value.
5809
5810 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
5811 buffer. Check the return value of it.
5812
58132008-05-14 Jason Rumney <jasonr@gnu.org>
5814
5815 * w32term.c (w32_get_glyph_overhangs): Remove.
5816 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
5817
58182008-05-14 Kenichi Handa <handa@m17n.org>
5819
5820 * font.c (font_prop_validate): Make nil a valid value.
5821 (font_clear_cache): Check if the cached vector of entities is nil
5822 or not.
5823
58242008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5825
5826 * emacs.c (main_thread): Conditionalize on
5827 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
5828 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
5829
5830 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
5831 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
5832 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
5833
58342008-05-14 Kenichi Handa <handa@m17n.org>
5835
5836 * coding.c (detect_coding_iso_2022): Ignore a coding category that
5837 has no corresponding coding system.
5838
58392008-05-14 Jason Rumney <jasonr@gnu.org>
5840
5841 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
5842
5843 * w32font.h (w32font_open_internal): Update declaration.
5844
5845 * w32font.c (w32font_open_internal): Change last argument from
5846 w32font_info struct to font object. Fill in font object from
5847 font_entity. Get Outline metrics if possible. Use them to
5848 calculate underline position and thickness. Use xlfd name as name
5849 property. Don't set codepage.
5850 (w32font_open): Pass font_object to w32font_open_internal. Don't
5851 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
5852 (w32font_draw): Use s->font.
5853 (clear_cached_metrics): Don't clear non-existent blocks.
5854
5855 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
5856 font was not found.
5857 (x_draw_glyph_string): Use underline position and thickness from font.
5858
5859 * w32uniscribe.c (uniscribe_open): Pass font_object to
5860 w32font_open_internal.
5861
58622008-05-14 Kenichi Handa <handa@m17n.org>
5863
5864 These changes are to delete all legacy font-handling codes, and
5865 make Emacs use only font-backends.
5866
5867 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
5868 (frame.o, image.o, print.o): Depend on $(FONTSRC).
5869
5870 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
5871
5872 * charset.h (Vcharset_non_preferred_head)
5873 (Vcurrent_iso639_language): Extern them.
5874
5875 * charset.c (Vcharset_non_preferred_head): New variable.
5876 (Vcurrent_iso639_language): New variable.
5877 (syms_of_charset): Declare it as a Lisp variable.
5878 (char_charset): Don't check non preferred charsets. As a last
5879 resort, return charset_unicode.
5880 (Fset_charset_priority): Update Vcharset_non_preferred_head.
5881
5882 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
5883 conditionals. Don't check enable_font_backend. Delete all codes
5884 used only when USE_FONT_BACKEND is not defined.
5885
5886 * dispextern.h (struct glyph_string): Change type of `font' to
5887 `struct font *'.
5888 (struct glyph_string): New member underline_position and
5889 underline_thickness.
5890 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
5891 (struct face): Change type of `font' to `struct font *'. Remove
5892 members `font_name', `font_info_id'.
5893 (per_char_metric, encode_char): Delete externs.
5894 (calc_pixel_width_or_height): Adjust the prototype.
5895
5896 * emacs.c (enable_font_backend): Delete extern.
5897 (main): Don't set enable_font_backend. Don't check the command
5898 line argument "-disable-font-backend".
5899
5900 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
5901 (enum font_property_index): New members FONT_DPI_INDEX,
5902 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
5903 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
5904 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
5905 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
5906 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
5907 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
5908 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
5909 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
5910 (struct font_spec, struct font_entity): New structs.
5911 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
5912 (struct font): Many members from old "struct font_info" moved to
5913 here. Members font and entity deleted.
5914 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
5915 the new font-related objects.
5916 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
5917 (CHECK_FONT_GET_OBJECT): Likewise.
5918 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
5919 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
5920 (struct font_driver): New members case_sensitive anc check. Type
5921 of the member list and open changed.
5922 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
5923 (font_symbolic_width, font_find_object, font_get_spec)
5924 (font_set_lface_from_name): Delete extern.
5925 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
5926
5927 * font.c: Include <strings.h>.
5928 (enable_font_backend): Delete it.
5929 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
5930 (CHECK_VALIDATE_FONT_SPEC): Delete it.
5931 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
5932 (null_string): Delete it.
5933 (null_vector): Make it static.
5934 (font_family_alist): Delete it.
5935 (Qnormal): Extern it.
5936 (QCextra, QClanguage): Delete it.
5937 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
5938 (font_make_spec, font_make_entity, font_make_object)
5939 (font_intern_prop): Renamed from intern_downcase. Don't downcase
5940 the string. Callers changed.
5941 (font_pixel_size): Adjusted for the format change of font-related
5942 objects.
5943 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
5944 (font_style_to_value, font_style_symbolic): New function.
5945 (build_font_family_alist): Delete it.
5946 (font_registry_charsets): Use Fassoc_string instead of
5947 assq_no_quit.
5948 (font_prop_validate_symbol): Don't return null_string.
5949 (font_prop_validate_style): Adjusted for the change of
5950 style-related values in a font vector.
5951 (font_property_table): Delete entries for QClanguage and
5952 QCantialias, add entries for QCavgwidth.
5953 (get_font_prop_index): Delete the 2nd argument FROM.
5954 (font_prop_validate): Arguments changed.
5955 (font_put_extra): Adjusted for the change of font-related objects.
5956 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
5957 (font_parse_fcname, font_unparse_fcname)
5958 (font_prepare_composition): Likewise.
5959 (font_parse_family_registry): Renamed from font_merge_old_spec.
5960 (otf_open): Delete the 1st arg entity.
5961 (font_otf_capability): Adjusted for the above change.
5962 (font_score): New arg alternate_families. Adjusted for the change
5963 of font-related objects.
5964 (font_sort_entites): New arg best_only.
5965 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
5966 Delete them.
5967 (font_match_p): Check alternate families.
5968 (font_find_object): Delete it.
5969 (font_check_object): New function.
5970 (font_clear_cache): Adjusted for the change of font-related objects.
5971 (font_delete_unmatched): New arg.
5972 (font_list_entities): Call font_driver->list with a spec that
5973 doesn't specify style-related properties.
5974 (font_matching_entity): Arguments changed. Caller changed.
5975 (font_open_entity): Adjusted for the change of font-related objects.
5976 (font_close_object, font_has_char, font_encode_char)
5977 (font_get_name, font_get_spec): Likewise.
5978 (font_spec_from_name, font_clear_prop, font_update_lface):
5979 New functions.
5980 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
5981 (font_prepare_for_face, font_done_for_face, font_open_by_name)
5982 (font_at): Adjusted for the change of font-related objects.
5983 (font_range): New function.
5984 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
5985 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
5986 (Fcopy_font_spec, Fmerge_font_spec): New function.
5987 (Ffont_family_list): Renamed from list-families.
5988 (Finternal_set_font_style_table): Arguments changed.
5989 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
5990 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
5991 change of font-related objects.
5992 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
5993
5994 * fontset.h (struct font_info): Delete it. Most members go to
5995 struct font.
5996 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
5997 (enum FONT_SPEC_INDEX): Delete it.
5998 (font_info, list_fonts_func, load_font_func, query_font_func)
5999 (set_frame_fontset_func, find_ccl_program_func)
6000 (get_font_repertory_func, new_fontset_from_font_name): Delete
6001 externs.
6002 (fontset_from_font_name): Extern it.
6003 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
6004 (FONT_INFO_FROM_FACE): Deleted.
6005 (face_for_font): Adjust prototype.
6006
6007 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
6008 conditionals. Don't check enable_font_backend. Delete all codes
6009 used only when USE_FONT_BACKEND is not defined.
6010 (get_font_info_func, list_font_func, load_font_func)
6011 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
6012 (get_font_repertory_func): Delete them.
6013 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
6014 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
6015 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
6016 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
6017 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
6018 (fontset_compare_rfontdef): New function.
6019 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
6020 rfont-defs by qsort. Adjusted for the change of font-group vector.
6021 (load_font_get_repertory): Deleted.
6022 (fontset_find_font): Use new macros to ref/set elements of
6023 font-def and rfont-def.
6024 (fontset_font): Fix the timing of remembering that no font for C.
6025 (free_face_fontset): Do nothing if the face has no fontset.
6026 (face_suitable_for_char_p): Use new macros to ref/set elements of
6027 rfont-def.
6028 (face_for_char): Likewise. Call face_for_char with font_object.
6029 (fs_load_font): Delete. Delete #pragma surrounding it.
6030 (fs_query_fontset): Use strcasecmp instead of strcmp.
6031 (generate_ascii_font_name): Adjusted for the format change of
6032 font-spec.
6033 (Fset_fontset_font): Likewise. Use new macros to set elements of
6034 font-def.
6035 (Fnew_fontset): Use font_unparse_xlfd to generate
6036 FONTSET_ASCII (fontset).
6037 (new_fontset_from_font_name): Deleted.
6038 (fontset_from_font): Renamed from new_fontset_from_font. Check if
6039 a fontset is already created for the font. FIx updating of
6040 Vfontset_alias_alist.
6041 (fontset_ascii_font): Deleted.
6042 (Ffont_info): Adjusted for the format change of font-spec.
6043 (Finternal_char_font): Likewise.
6044 (Ffontset_info): Likewise.
6045 (syms_of_fontset): Don't check load_font_func.
6046
6047 * fns.c (internal_equal): Handle PREV_FONT.
6048
6049 * frame.h: Delete USE_FONT_BACKEND conditional.
6050
6051 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
6052 conditionals. Don't check enable_font_backend. Delete all codes
6053 used only when USE_FONT_BACKEND is not defined.
6054 (x_set_font): Call x_new_font, not x_new_fontset2.
6055 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
6056 already set for the frame.
6057
6058 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
6059 a font-entity by font_make_entity. Use font_intern_prop instead
6060 of intern_downcase. Use FONT_SET_STYLE to set a style-related
6061 font property. If a font is scalable, set avgwidth property to 0.
6062 Set font-entity property by font_put_extra.
6063 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
6064 (ffont_driver): Adjusted for the change of struct font_driver.
6065 (ftfont_spec_pattern): New function.
6066 (ftfont_list): Return a list, not vector.
6067 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
6068 (ftfont_list_family): Don't downcase names.
6069 (ftfont_free_entity): Deleted.
6070 (ftfont_open): Return a font-object. Adjusted for the change of
6071 struct font. Get underline_thickness and underline_position from
6072 font property. Don't update dpyinfo->smallest_font_height and
6073 dpyinfo->smallest_char_width.
6074 (ftfont_close): Don't free `struct font'.
6075 (ftfont_has_char): Adjusted for the format change of font-entity.
6076 (ftfont_encode_char, ftfont_text_extents): Likewise.
6077
6078 * ftxfont.c (ftxfont_list): Return a list, not vector.
6079 (ftxfont_open): Return a font-object. Adjusted for the change of
6080 struct font. Get underline_thickness and underline_position from
6081 font property. Don't update dpyinfo->smallest_font_height and
6082 dpyinfo->smallest_char_width.
6083 (ftxfont_close): Don't decrease FRAME_X_DISPLAY_INFO (f)->n_fonts.
6084 (ftxfont_draw): Adjusted for the change of struct font.
6085
6086 * image.c (image_ascent): Don't include "charset.h". Include
6087 "character.h" and "font.h".
6088
6089 * lisp.h (enum pvec_type): New member PREV_FONT.
6090 (Fassoc_string): EXFUN it.
6091
6092 * print.c: Include font.h.
6093 (print_object): Handle font-related objects.
6094
6095 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
6096 conditionals. Don't check enable_font_backend. Delete all codes
6097 used only when USE_FONT_BACKEND is not defined.
6098 (handle_auto_composed_prop): Do nothing if it->f is not on a
6099 window system. Check how many following characters can be
6100 displayed by the same font.
6101 (calc_pixel_width_or_height): Type of the 4th arg is changed to
6102 'struct font *'.
6103 (get_char_face_and_encoding): Assign the whole encoding task to
6104 the `encode-char' method of a font driver.
6105 (fill_composite_glyph_string): Adjusted for the change of `struct
6106 face' and `struct glyph_string'.
6107 (fill_glyph_string): Likewise.
6108 (get_per_char_metric): Arguments changed.
6109 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
6110 and `struct glyph_string'.
6111 (produce_stretch_glyph, calc_line_height_property)
6112 (x_produce_glyphs): Likewise.
6113
6114 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
6115 conditionals. Don't check enable_font_backend. Delete all codes
6116 used only when USE_FONT_BACKEND is not defined. Use
6117 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
6118 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
6119 (Qp): Extern them.
6120 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
6121 Deleted.
6122 (struct font_name): Deleted.
6123 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
6124 (compare_fonts_by_sort_order): New function.
6125 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
6126 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
6127 Deleted.
6128 (Fx_family_fonts): Use font_list_entities, and sort fonts by
6129 compare_fonts_by_sort_order.
6130 (Fx_font_family_list): Call Ffont_family_list.
6131 (face_numeric_value, face_numeric_weight, face_numeric_slant)
6132 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
6133 (face_symbolic_slant, face_symbolic_swidth)
6134 (split_font_name_into_vector, build_font_name_from_vector)
6135 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
6136 (font_rescale_ratio, split_font_name, build_font_name)
6137 (free_font_names, sort_fonts, x_face_list_fonts)
6138 (face_font_available_p, sorted_font_list, cmp_font_names)
6139 (font_list_1, concat_font_list, font_list, remove_duplicates):
6140 Deleted.
6141 (Fx_list_fonts): Use Ffont_list.
6142 (LFACE_AVGWIDTH): Deleted.
6143 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
6144 by FONTP.
6145 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
6146 (set_lface_from_font_name): Delete it.
6147 (set_lface_from_font): Renamed from
6148 set_lface_from_font_and_fontset. Caller changed. Don't set
6149 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
6150 for face.
6151 (merge_face_vectors): Copy font-spec if necessary.
6152 Clear properties of the font-spec if necessary.
6153 (merge_face_ref): Clear properties of the font-spec if necessary.
6154 (Finternal_set_lisp_face_attribute): Likewise.
6155 (set_font_frame_param): Use font_load_for_lface to load a
6156 font-object, and call Fmodify_frame_parameters with it.
6157 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
6158 font name by Ffont_xlfd_name.
6159 (Finternal_lisp_face_attribute_values): Don't check QCweight,
6160 QCslant, and QCwidth.
6161 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
6162 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
6163 Compare fonts by EQ.
6164 (lookup_non_ascii_face): Deleted.
6165 (face_for_font): The 2nd argument changed.
6166 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
6167 Check atomic font properties by case insensitive.
6168 (realize_non_ascii_face): Set face->overstrike correctly.
6169 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
6170 (dump_realized_face): Get font name from
6171 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
6172
6173 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
6174 conditionals. Don't check enable_font_backend. Delete all codes
6175 used only when USE_FONT_BACKEND is not defined.
6176 (xic_create_xfontset): Original code deleted and renamed from
6177 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
6178 (x_make_gc): Don't set GCFont in GCs.
6179 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
6180 opened by "fixed".
6181 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
6182 find_ccl_program_func, query_font_func, set_frame_fontset_func,
6183 get_font_repertory_func.
6184
6185 * xfont.c: Include <stdlib.h> and "ccl.h".
6186 (struct xfont_info): New structure.
6187 (xfont_query_font): Deleted.
6188 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
6189 moved from xterm.c.
6190 (xfont_driver): Adjusted for the change of struct font_driver.
6191 (compare_font_names): New function.
6192 (xfont_list_pattern): Sort font names case insensitively. Make
6193 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
6194 (xfont_list): Return a list, not vector.
6195 (xfont_match): If the font doesn't have QCname property, generate
6196 a name from the other font properties.
6197 (xfont_open): Return a font-object. Adjusted for the change of
6198 struct font. Get underline_thickness and underline_position from
6199 font property. Don't update dpyinfo->smallest_font_height and
6200 dpyinfo->smallest_char_width.
6201 (xfont_close): Don't free struct font.
6202 (xfont_prepare_face): Adjusted for the change of struct font.
6203 (xfont_done_face): Deleted.
6204 (xfont_has_char): Adjusted for the change of struct font.
6205 (xfont_encode_char, xfont_draw): Likewise.
6206 (xfont_check): New function.
6207
6208 * xftfont.c (xftfont_list): Adjusted for the change of `list'
6209 callback function.
6210 (xftfont_match): Adjusted for the format change of font-entity.
6211 (xftfont_open): Adjusted for the format change of font-entity and
6212 font-object. Adjusted for the change of struct font. Return a
6213 font-object. Don't update dpyinfo->smallest_font_height and
6214 dpyinfo->smallest_char_width.
6215 (xftfont_close): Block input while calling XftFontClose.
6216 (xftfont_prepare_face): Don't block input while calling
6217 xftfont_get_colors. Adjusted for the change of struct font.
6218 (xftfont_shape): Return value of error case fixed.
6219
6220 * xrdb.c (x_load_resources): Don't setup a fontset resource.
6221
6222 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
6223 conditionals.
6224 (FONT_WIDTH): Return (f)->max_width.
6225 (struct x_display_info): Delete member `font'.
6226 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
6227 (x_find_ccl_program, x_get_font_repertory): Delete externs.
6228 (struct x_output): Change type of `font' to `struct font *'.
6229
6230 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
6231 conditionals. Don't check enable_font_backend. Delete all codes
6232 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
6233 (x_per_char_metric, x_encode_char): Deleted.
6234 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
6235 (x_compute_glyph_string_overhangs): Adjusted for the change of
6236 `struct face'.
6237 (x_draw_glyph_string_foreground)
6238 (x_draw_composite_glyph_string_foreground): Likewise.
6239 (x_draw_glyph_string): Likewise. Use font->underline_position and
6240 font->underline_thickness.
6241 (x_new_font): Renamed from x_new_fontset2.
6242 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
6243 (x_check_font): Call `check' method of a font driver.
6244 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
6245 (x_query_font, x_get_font_repertory): Deleted.
6246 (x_find_ccl_program): Renamed and moved to xfont.c.
6247 (x_redisplay_interface): Adjusted for the change of `struct
6248 redisplay_interface'.
6249
6250 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
6251 conditionals. Don't check enable_font_backend. Delete all codes
6252 used only when USE_FONT_BACKEND is not defined. Surround non-used
6253 code by "#ifdef OLD_FONT" and "endif".
6254 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
6255
6256 * w32font.h (struct w32font_info): New member.
6257 (FONT_COMPAT): New macro.
6258 (w32font_open_internal): Prototype adjusted.
6259
6260 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
6261 OLD_FONT" and "endif".
6262
6263 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
6264 conditionals. Don't check enable_font_backend. Delete all codes
6265 used only when USE_FONT_BACKEND is not defined.
6266 (w32font_open): Return a font-object. Make a font-object by
6267 font_make_object. Adjusted for the change of struct w32font_info.
6268 (w32font_close): Don't free struct font. Adjusted for the change
6269 of struct w32font_info.
6270 (w32font_encode_char, w32font_text_extents, w32font_draw):
6271 Adjusted for the change of struct w32font_info.
6272 (w32font_draw): Likewise.
6273 (w32font_list_internal): Return a list, not vector.
6274 (w32font_open_internal): Change the 4th arg to font-object.
6275 Adjusted for the change of struct w32font_info and font-object format.
6276 (add_font_name_to_list): Don't downcase names.
6277 (w32_enumfont_pattern_entity): Make a font-entity by
6278 font_make_entity. Adjusted for the format change of font-entity.
6279 Use FONT_SET_STYLE to set a style-related font property. If a
6280 font is scalable, set avgwidth property to 0. Set font-entity
6281 property by font_put_extra.
6282 (font_matches_spec): Adjusted for the format change of font-entity.
6283 (w32_weight_table, w32_decode_weight): New variables.
6284 (w32_encode_weight): New function.
6285 (fill_in_logfont): Adjusted for the format change of font-spec.
6286 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
6287 weight value.
6288 (w32font_driver): Adjusted for the change of struct font_driver.
6289
6290 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
6291 conditionals. Don't check enable_font_backend. Surround non-used
6292 code by "#ifdef OLD_FONT" and "endif".
6293 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
6294 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
6295
6296 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
6297 conditionals. Don't check enable_font_backend. Delete all codes
6298 used only when USE_FONT_BACKEND is not defined. Surround non-used
6299 code by "#ifdef OLD_FONT" and "endif".
6300
6301 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
6302 (uniscribe_open): Return value changed to font-object.
6303 Adjusted for the format change of font-object.
6304 (uniscribe_otf_capability): Adjusted for the change of struct font.
6305 (add_opentype_font_name_to_list): Don't downcase names.
6306 (uniscribe_font_driver): Adjusted for the change of struct
6307 font_driver.
6308
63092008-05-13 Chong Yidong <cyd@stupidchicken.com>
6310
6311 * dispnew.c (update_frame_1): Check if tty output is still valid
6312 before flushing it.
6313
63142008-05-13 Jan Djärv <jan.h.d@swipnet.se>
6315
6316 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
6317 to Gtk+ menus.
6318
63192008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
6320
6321 * dired.c (file_name_completion): Tweak the code so as to always do it
6322 in a single pass. Tighten the scope of some variables.
6323
6324 * dired.c (Qdefault_directory): New var.
6325 (file_name_completion): Use it instead of Fexpand_file_name.
6326 (syms_of_dired): Initialize it.
6327
63282008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
6329
6330 * fileio.c (double_dollars): Remove dead code.
6331
63322008-05-10 Eli Zaretskii <eliz@gnu.org>
6333
6334 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
6335 Mention w32-get-true-file-attributes in doc string.
6336
6337 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
6338
63392008-05-09 Glenn Morris <rgm@gnu.org>
6340
6341 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
6342 2008-04-23.
6343
63442008-05-09 Eli Zaretskii <eliz@gnu.org>
6345
6346 Support for reporting owner and group of each file on MS-Windows:
6347 * dired.c (stat_uname, stat_gname): New functions, with special
6348 implementation for w32.
6349 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
6350
6351 * w32.c: Rename the_passwd_* to dflt_passwd_*.
6352 (dflt_group_name): New static variable.
6353 (dflt_group): Rename from the_group.
6354 (init_user_info): Init dflt_group fields. Get user's group name
6355 from LookupAccountSid.
6356 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
6357 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
6358 New initialization states.
6359 (globals_of_w32): Initialize them to zero. Initialize the default
6360 group name to "None".
6361 (GetFileSecurity_Name): New global var, the name of the function
6362 to call for GetFileSecurity.
6363 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
6364 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
6365 (get_file_security, get_security_descriptor_owner)
6366 (get_security_descriptor_group, is_valid_sid)
6367 (get_file_security_desc, get_rid, get_name_and_id)
6368 (get_file_owner_and_group): New functions.
6369 (stat): Use get_file_security_desc and get_file_owner_and_group to
6370 report the owner and primary group of each file. Don't ignore the
6371 high 32 bits of file's size, now that st_size is 64-bit wide.
6372 Fix test when to get true file attributes.
6373 (init_user_info): Use get_rid instead of equivalent inline code.
6374 (fstat): Don't ignore the high 32 bits of file's size.
6375
63762008-05-09 Chong Yidong <cyd@stupidchicken.com>
6377
6378 * image.c (png_load): Use correct bit-depth for setting background
6379 color.
6380
63812008-05-08 Eli Zaretskii <eliz@gnu.org>
6382
6383 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
6384 epa-hook.elc.
6385
63862008-05-08 Juanma Barranquero <lekktu@gmail.com>
6387
6388 * font.c (Ffont_match_p): Don't use `iff' in docstring.
6389
63902008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
6391
6392 * macfns.c (Fx_create_frame): Make a copy of frame parameters
6393 because the original parameters are in pure storage now.
6394 (mac_window): Remove unused params. Update callers.
6395
63962008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
6397
6398 * lread.c (substitute_object_recurse): Use lower-level primitives.
6399 Don't signal errors when traversing sub-char-tables.
6400 Don't loop over all the possible characters when traversing char-tables.
6401
6402 * print.c (print_preprocess): Add sub-char-tables to the print-table,
6403 just like we do in print.c.
6404
64052008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
6406
6407 * minibuf.c (Ftry_completion): Remove code left over from when we used
6408 scmp instead of Fcompare_strings.
6409
64102008-05-04 Juanma Barranquero <lekktu@gmail.com>
6411
6412 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
6413
64142008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6415
6416 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
6417 Create bitmap context in native byte order.
6418
6419 * macterm.c (XDrawLine)
6420 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
6421 context in native byte order.
6422
64232008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6424
6425 * config.in: Regenerate.
6426
6427 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
6428 New definitions for Image I/O support.
6429 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
6430 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
6431 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
6432 (mac_data_provider_release_data, image_load_image_io)
6433 [USE_MAC_IMAGE_IO]: New functions.
6434 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
6435 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
6436 (init_image_func_pointer) [MAC_OSX]: Remove function.
6437 (image_load_quartz2d) [MAC_OSX]: Check availability of
6438 CGImageCreateWithPNGDataProvider at compile time.
6439 Use lowercase `false' for boolean constant.
6440 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
6441 Use image_load_image_io.
6442 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
6443 Don't check MyCGImageCreateWithPNGDataProvider.
6444 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
6445 Don't call init_image_func_pointer.
6446
6447 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
6448
6449 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
6450 Make variable non-static.
6451 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
6452 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
6453
6454 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
6455 (RED_FROM_ULONG): Mask off higher bits.
6456 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
6457
6458 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
6459 Include AvailabilityMacros.h.
6460 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
6461 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
6462
64632008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
6464
6465 * chartab.c (Fset_char_table_range): If range is t, really set all
6466 chars to that value.
6467
64682008-05-03 Eli Zaretskii <eliz@gnu.org>
6469
6470 * dired.c (Ffile_attributes): Don't allow the device number become
6471 negative.
6472
64732008-05-02 Daiki Ueno <ueno@unixuser.org>
6474
6475 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
6476
64772008-05-02 Juri Linkov <juri@jurta.org>
6478
6479 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
6480 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
6481 DEFAULT argument as a list of default values in docstrings.
6482
64832008-05-01 Chong Yidong <cyd@stupidchicken.com>
6484
6485 * puresize.h (BASE_PURESIZE): Increase to 1210000.
6486
64872008-05-01 Martin Rudalics <rudalics@gmx.at>
6488
6489 * dispnew.c (change_frame_size_1): Preserve small windows when
6490 shrinking frames by calling set_window_height|width with third
6491 arg 2.
6492
6493 * window.h (struct window): Replace field too_small_ok by field
6494 resize_proportionally.
6495
6496 * window.c (make_window): Initialize resize_proportionally.
6497 (enlarge_window): Temporarily set resize_proportionally to make
6498 sure that shrink_windows does scale the window proportionally.
6499 (shrink_windows): When window has resize_proportionally set try
6500 to shrink it proportionally by stealing from other windows.
6501 (struct saved_window, Fset_window_configuration)
6502 (compare_window_configurations): Handle resize_proportionally.
6503 (WINDOW_TOTAL_SIZE): New macro.
6504 (window_min_size, shrink_windows, size_window): Use it.
6505 (check_min_window_sizes): Remove. Invalid values of
6506 window-min-height|width are handled by window_min_size_2 now.
6507 (size_window, Fsplit_window, enlarge_window)
6508 (adjust_window_trailing_edge, grow_mini_window): Don't call
6509 check_min_window_sizes.
6510 (window_min_size_2, window_min_size_1, window_min_size):
6511 New argument safe_p for retrieving "safe" minimum sizes.
6512 (Fdisplay_buffer, Fsplit_window, enlarge_window)
6513 (adjust_window_trailing_edge, grow_mini_window):
6514 Adjust arguments of window_min_size... functions.
6515 (shrink_windows): Argument min_size removed. New argument
6516 safe_p allows shrinking windows to their safe minimum sizes.
6517 Calculate minimum size and decide whether a window shall be
6518 deleted for each window individually.
6519 (size_window): When nodelete_p equals 2, tell shrink_windows to
6520 delete windows only if their new minimum size is no more safe.
6521 (shrink_window_lowest_first): Call window_min_size_1 to make
6522 sure to preserve modeline of bottom-most window when resizing
6523 the minibuffer.
6524 (Fset_window_configuration, Fcurrent_window_configuration)
6525 (compare_window_configurations): Do not handle
6526 window-min-height|width any more.
6527 (syms_of_window): Clarify window-min-height|width doc-strings.
6528
65292008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
6530
6531 * dired.c (file_name_completion): Fix up the encoding/decoding issue
6532 some more. Copy some of the code from Ftry_completions.
6533 Remove special case code that dates back to initial revision when the
6534 slash was only added when necessary and that can't trigger nowadays.
6535
65362008-04-27 Kenichi Handa <handa@m17n.org>
6537
6538 * font.c (font_prop_validate): Signal `error' instead of `font'.
6539
65402008-04-29 Jason Rumney <jasonr@gnu.org>
6541
6542 * w32fns.c (Fw32_battery_status): New defun.
6543 (syms_of_w32fns): Defsubr it.
6544
65452008-04-28 Andreas Schwab <schwab@suse.de>
6546
6547 * dired.c (file_name_completion): Fix another mixing of encoded
6548 and decoded names.
6549
65502008-04-28 Juanma Barranquero <lekktu@gmail.com>
6551
6552 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
6553
65542008-04-27 Juanma Barranquero <lekktu@gmail.com>
6555
6556 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
6557
65582008-04-27 Andreas Schwab <schwab@suse.de>
6559
6560 * dired.c (file_name_completion): Fix inappropriate mixing of
6561 encoded and decoded names.
6562
6563 * xterm.c (XTread_socket): Fix use of uninitialized variable.
6564
6565 * puresize.h (BASE_PURESIZE): Increase to 1200000.
6566
65672008-04-26 Eli Zaretskii <eliz@gnu.org>
6568
6569 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
6570 2008-03-31, it's not needed anymore with `struct stat' definition
6571 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
6572 for the same reasons.
6573
65742008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
6575
6576 * m/sparc.h: Additional redefinitions for GNU/Linux.
6577
65782008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6579
6580 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
6581 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
6582 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
6583 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
6584 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
6585 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
6586 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
6587 Likewise.
6588
6589 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
6590 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
6591 (mac_ax_number_of_characters): Add externs.
6592 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
6593 [USE_MAC_TSM]: Likewise.
6594 (mac_handle_text_input_event) [MAC_OSX]:
6595 Handle kEventTextInputOffsetToPos for no active input area case.
6596 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
6597 (mac_handle_document_access_event)
6598 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
6599 (install_application_handler) [MAC_OSX]: Register handlers for
6600 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
6601 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
6602 Register mac_handle_document_access_event.
6603
6604 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
6605 Make functions non-static.
6606
66072008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
6608
6609 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
6610 (read_file_name_completion_ignore_case, insert_default_directory)
6611 (Qdefault_directory): Move to minibuffer.el.
6612 (Fread_file_name): Call the new `read-file-name' instead.
6613
66142008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6615
6616 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
6617 Make function non-static.
6618 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
6619 Remove function.
6620 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
6621 Move to mactoolbox.c.
6622 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
6623
6624 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
6625 (mac_rect_make): New macro.
6626
6627 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
6628 instead of float.
6629 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
6630 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
6631 (XSetBackground) [USE_CG_DRAWING]: Likewise.
6632 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
6633 CGRectMake.
6634 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
6635 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
6636 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
6637 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
6638 instead of WindowRef in argument type.
6639 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
6640 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
6641 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
6642 instead of DISPLAY. All uses changed.
6643 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
6644 (x_calc_absolute_position): Simplify so as not to use
6645 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
6646
6647 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
6648 instead of WindowRef in argument type.
6649 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
6650 [TARGET_API_MAC_CARBON]: Remove externs.
6651 (create_apple_event, mac_event_parameters_to_lisp)
6652 [TARGET_API_MAC_CARBON]: Add externs.
6653
6654 * mactoolbox.c (Vmac_ts_script_language_on_focus)
6655 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
6656 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
6657 is clicked.
6658 (x_activate_menubar): Remove extern for saved_menu_event_location.
6659 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
6660 Move from mac.c.
6661
66622008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6663
6664 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
6665 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
6666
66672008-04-23 Jason Rumney <jasonr@gnu.org>
6668
6669 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
6670 attributes only for local files.
6671
6672 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
6673 default to Qlocal.
6674
66752008-04-22 Juri Linkov <juri@jurta.org>
6676
6677 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
6678 read-buffer-to-switch instead of using the letter "B".
6679
66802008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
6681
6682 * fileio.c (Qdefault_directory): New variable.
6683 (Fread_file_name): Use it to pass `dir' to the completion functions.
6684
66852008-04-20 Chong Yidong <cyd@stupidchicken.com>
6686
6687 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
6688
66892008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
6690
6691 * keyboard.c (Vpre_help_message): Remove.
6692 (show_help_echo): Remove default C code.
6693
6694 * dired.c (directory_files_internal, file_name_completion):
6695 Only call ENCODE_FILE if the string is indeed decoded.
6696
66972008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
6698
6699 * Makefile.in (TOOLKIT_DEFINES): Remove.
6700 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
6701
67022008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6703
6704 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
6705 (mactoolbox.o): New target.
6706
6707 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
6708 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
6709
6710 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
6711 Use mac_set_frame_window_background instead of XSetWindowBackground.
6712 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
6713 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
6714 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
6715 instead of SetWindowTitleWithCFString.
6716 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
6717 Move function to mactoolbox.c.
6718 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
6719 Use mac_set_window_modified instead of SetWindowModified.
6720 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
6721 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
6722 (Fx_focus_frame): Use mac_front_non_floating_window instead of
6723 FrontNonFloatingWindow. Use mac_activate_window instead of
6724 ActivateWindow. Use mac_active_non_floating_window instead of
6725 ActiveNonFloatingWindow.
6726 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
6727 Use mac_show_hourglass and mac_hide_hourglass.
6728 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
6729 instead of GetGlobalMouse.
6730 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
6731 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
6732 Use mac_bring_window_to_front instead of BringToFront.
6733 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
6734 mactoolbox.c.
6735 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
6736 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
6737 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
6738 mactoolbox.c.
6739
6740 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
6741 (XtPointer): Move typedef from macmenu.c.
6742 (enum button_type): Move enum from macmenu.c.
6743 (widget_value): Move typedef from macmenu.c.
6744 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
6745 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
6746 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
6747 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
6748 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
6749 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
6750 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
6751 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
6752 (Selection): Move typedef from macselect.c.
6753 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
6754 macterm.c.
6755 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
6756 (mac_is_window_collapsed, mac_bring_window_to_front)
6757 (mac_send_window_behind, mac_hide_window, mac_show_window)
6758 (mac_collapse_window, mac_front_non_floating_window)
6759 (mac_active_non_floating_window, mac_activate_window)
6760 (mac_move_window_structure, mac_move_window, mac_size_window)
6761 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
6762
6763 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
6764 (enum mac_menu_kind): Move enum to mactoolbox.c.
6765 (min_menu_id): Move variable to mactoolbox.c.
6766 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
6767 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
6768 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
6769 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
6770 [TARGET_API_MAC_CARBON]: Likewise.
6771 (XtPointer): Move typedef to macgui.h.
6772 (enum button_type): Move enum to macgui.h.
6773 (widget_value): Move typedef to macgui.h.
6774 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
6775 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
6776 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
6777 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
6778 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
6779 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
6780 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
6781 (popup_activated_flag): Make variable non-static.
6782 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
6783 (add_menu_item, fill_menu, dispose_menus):
6784 Move functions to mactoolbox.c.
6785 (restore_show_help_function, menu_target_item_handler)
6786 (install_menu_target_item_handler, mac_handle_dialog_event)
6787 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
6788 [TARGET_API_MAC_CARBON]: Likewise.
6789 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
6790 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
6791 (find_and_call_menu_selection, name_is_separator): Make function
6792 non-static.
6793 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
6794 to mactoolbox.c.
6795 (set_frame_menubar): Don't call install_menu_quit_handler.
6796 (menu_item_selection): New variable.
6797 (mac_menu_show): Use create_and_show_popup_menu.
6798 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
6799 selection but set variable menu_item_selection. All uses changed.
6800 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
6801 Call install_menu_quit_handler. Move to mactoolbox.c.
6802
6803 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
6804 (Selection): Move typedef to macgui.h.
6805 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
6806 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
6807 Make variables non-static.
6808 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
6809 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
6810 Make functions non-static.
6811 (Vmac_service_selection) [MAC_OSX]: Likewise.
6812 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
6813 (mac_valid_selection_target_p, mac_clear_selection)
6814 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
6815 (mac_put_selection_value, mac_selection_has_target_p)
6816 (mac_get_selection_value, mac_get_selection_target_list)
6817 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
6818 Move functions to mactoolbox.c.
6819 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
6820 Likewise.
6821 (copy_scrap_flavor_data, mac_handle_service_event)
6822 (install_service_handler) [MAC_OSX]: Likewise.
6823 (syms_of_macselect) <Vmac_dnd_known_types>:
6824 Use mac_dnd_default_known_types.
6825
6826 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
6827 Move to mactoolbox.c.
6828 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
6829 (Fx_selection_owner_p): Add EXFUN.
6830 (install_window_handler, remove_window_handler, XSetWindowBackground):
6831 Remove externs.
6832 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
6833 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
6834 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
6835 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
6836 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
6837 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
6838 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
6839 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
6840 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
6841 (create_and_show_popup_menu, mac_get_selection_from_symbol)
6842 (mac_valid_selection_target_p, mac_clear_selection)
6843 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
6844 (mac_put_selection_value, mac_selection_has_target_p)
6845 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
6846 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
6847 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
6848 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
6849 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
6850 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
6851 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
6852 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
6853 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
6854
6855 * mactoolbox.c: New file.
6856
68572008-04-18 Jason Rumney <jasonr@gnu.org>
6858
6859 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
6860
68612008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
6862
6863 * character.c (Fmultibyte_char_to_unibyte):
6864 Return latin1 chars unchanged.
6865
6866 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
6867 relocated if it points to `name'.
6868
68692008-04-17 Kenichi Handa <handa@m17n.org>
6870
6871 * data.c (Faset): Allow setting a multibyte character in an
6872 ASCII-only unibyte string.
6873
6874 * lisp.h (STRING_SET_MULTIBYTE): New macro.
6875
68762008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
6877
6878 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
6879 done in config.h.
6880
68812008-04-16 Juanma Barranquero <lekktu@gmail.com>
6882
6883 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
6884 (Fchar_direction): Add usage in the docstring.
6885
68862008-04-15 Chong Yidong <cyd@stupidchicken.com>
6887
6888 * keyboard.c (read_key_sequence): Remove always-true checks.
6889
68902008-04-14 Jason Rumney <jasonr@gnu.org>
6891
6892 * w32font.c (w32font_open_internal): Set max_bounds.descent in
6893 compatibility struct, for better underline positioning.
6894
68952008-04-13 David Hansen <david.hansen@gmx.net>
6896
6897 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
6898 string.
6899
69002008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
6901
6902 * m/hp800.h (XUINT, XSET): Remove.
6903
69042008-04-12 Juanma Barranquero <lekktu@gmail.com>
6905
6906 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
6907 previous change.
6908
69092008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
6910
6911 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
6912 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
6913
69142008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
6915
6916 * keymap.h (map_keymap_canonical): Declare.
6917 * xmenu.c (single_keymap_panes): Use it.
6918
69192008-04-11 Glenn Morris <rgm@gnu.org>
6920
6921 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
6922 set the target's value to that of the alias.
6923
69242008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
6925
6926 * term.c (set_tty_color_mode): Left over typo.
6927
69282008-04-10 Michael Albinus <michael.albinus@gmx.de>
6929
6930 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
6931 only after check for file name handler functions. Signal, when
6932 native functionality is not supported.
6933 (syms_of_fileio): Declare it unconditionally.
6934
69352008-04-10 Jason Rumney <jasonr@gnu.org>
6936
6937 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
6938 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
6939
6940 * w32.c (logon_network_drive): Also logon to remote drives that
6941 are mapped to drive letters.
6942
69432008-04-10 Glenn Morris <rgm@gnu.org>
6944
6945 * xdisp.c (truncate-partial-width-windows): Doc fix.
6946
69472008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
6948
6949 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
6950 Move functions to minibuffer.el.
6951 (syms_of_fileio): Don't declare them.
6952
69532008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
6954
6955 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
6956 (syms_of_minibuf): Remove its initialization.
6957
6958 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
6959
69602008-04-09 Juanma Barranquero <lekktu@gmail.com>
6961
6962 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
6963
69642008-04-09 Jason Rumney <jasonr@gnu.org>
6965
6966 * makefile.w32-in (distclean): Delete makefile too.
6967 (maintainer-clean): New target.
6968
6969 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
6970
6971 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
6972 for new font backend and composite cases.
6973
69742008-04-09 Jan Djärv <jan.h.d@swipnet.se>
6975
6976 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
6977 Most of the code moved to run_timers.
6978 (do_pending_atimers): Call run_timers.
6979 (run_timers): New function.
6980
6981 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
6982 run atimers.
6983
6984 * process.c (wait_reading_process_output): The same as above.
6985
69862008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
6987
6988 * minibuf.c (last_exact_completion): Remove variable.
6989 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
6990 (complete_and_exit_1, complete_and_exit_2)
6991 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
6992 (Fdisplay_completion_list, display_completion_list_1)
6993 (Fminibuffer_completion_help, Fself_insert_and_exit)
6994 (Fexit_minibuffer, Fminibuffer_message): Move functions to
6995 minibuffer.el.
6996 (syms_of_minibuf): Remove corresponding initializations.
6997
6998 * keyboard.c (Qdeactivate_mark): New var.
6999 (command_loop_1): Use it to call `deactivate-mark'.
7000 (syms_of_keyboard): Initialize it.
7001
7002 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
7003 to another frame.
7004 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
7005 Don't call set_tty_color_mode.
7006 (store_frame_param): Reset previous_frame rather than call
7007 set_tty_color_mode.
7008 * term.c (set_tty_color_mode): Rewrite.
7009 * dispextern.h (set_tty_color_mode): New type.
7010 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
7011
70122008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
7013
7014 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
7015 for generic chars, which do not exist any more in emacs-unicode.
7016
70172008-04-08 Michael Albinus <michael.albinus@gmx.de>
7018
7019 * coding.c (detect_coding_emacs_mule)
7020 (Ffind_operation_coding_system): Fix typo.
7021
70222008-04-08 Jason Rumney <jasonr@gnu.org>
7023
7024 * w32uniscribe.c (SNAME): Extract only symbol name.
7025
7026 * w32font.h (struct w32_metric_cache): New struct.
7027 (w32font_info): Use it.
7028 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
7029 (CACHE_BLOCKSIZE): New constants.
7030
7031 * w32font.c (Qja, Qko, Qzh): New symbols.
7032 (syms_of_w32font): Initialise them.
7033 (font_matches_spec): Use them to filter by language.
7034 (recompute_cached_metrics): Remove function.
7035 (compute_metrics, clear_cached_metrics): New functions.
7036 (w32font_encode_char): Use them to manage metric cache.
7037 (w32font_text_extents): Cache metrics for all glyphs on demand.
7038 Delay converting glyph indices to WORD until needed.
7039 (w32font_open_internal): Initialize metric cache to empty.
7040 (registry_to_w32_charset): Charset should always be a symbol.
7041 (fill_in_logfont, list_all_matching_fonts): Family should
7042 always be a symbol.
7043
70442008-04-06 Jason Rumney <jasonr@gnu.org>
7045
7046 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
7047 Give up if glyph indices not supported. Use uniscribe obtained
7048 ABC widths for individual metrics. Map glyph clusters back to
7049 characters using fClusterStart flag. Return number of glyphs
7050 produced, not chars processed.
7051 (uniscribe_shape): Map char at FROM to current glyph.
7052
70532008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7054
7055 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
7056 Use SetMenuItemHierarchicalMenu.
7057
70582008-04-05 Jason Rumney <jasonr@gnu.org>
7059
7060 * image.c (pbm_load): Allow color values up to 65535.
7061 Throw an error if max_color_idx is outside the supported range.
7062 Report an error when image size is invalid.
7063 Read two bytes at a time when raw images have max_color_idx above 255.
7064
70652008-04-05 Eli Zaretskii <eliz@gnu.org>
7066
7067 * w32.c (readdir): If FindFirstFile/FindNextFile return in
7068 cFileName a file name that includes `?' characters, use the 8+3
7069 alias in cAlternateFileName instead.
7070
70712008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
7072
7073 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
7074 append "CCL: Quitted" when the CCL program is quitted.
7075 (setup_ccl_program): Initialize ccl->quit_silently to zero.
7076
7077 * ccl.h (struct ccl_program): New member quit_silently.
7078
70792008-04-05 Chong Yidong <cyd@stupidchicken.com>
7080
7081 * search.c (compile_pattern_1): Treat non-nil and non-string of
7082 search-spaces-regexp as nil.
7083
7084 * minibuf.c (Fassoc_string): Tweak docstring.
7085
70862008-04-05 Eli Zaretskii <eliz@gnu.org>
7087
7088 * dired.c (Ffile_attributes): Support inode numbers wider than 32
7089 bits. Remove ugly WINDOWSNT-specific kludge introduced on
7090 2008-03-14 to force inode be positive.
7091
7092 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
7093 _S_* ones, since we now use our own sys/stat.h.
7094 (stat, fstat): Don't mangle the inode number.
7095 (init_user_info): Don't restrict UID and GID to 0-60000 range.
7096
70972008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
7098
7099 * frame.h (struct frame): Give one more bit to `visible' since we use
7100 values larger than 1 to indicate obscured frames on ttys.
7101
7102 * keymap.c (Qkeymap_canonicalize): New var.
7103 (Fmap_keymap_internal): New fun.
7104 (describe_map): Use keymap-canonicalize.
7105
7106 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
7107 (Fundo_boundary): Set them.
7108 (syms_of_undo): Initialize them.
7109 (record_point): Use them instead of last_point_position*.
7110 (last_undo_buffer): Change type.
7111
71122008-04-04 Jason Rumney <jasonr@gnu.org>
7113
7114 * w32font.c (w32font_text_extents): Use font's ascent and descent.
7115 (recompute_cached_metrics): Don't set ascent and descent per char.
7116
7117 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
7118 (uniscribe_check_otf): Add GC protection before consing.
7119 Rearrange loop for counting features.
7120
71212008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
7122
7123 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
7124 buffer with byte-size of source buffer.
7125
71262008-04-03 Chong Yidong <cyd@stupidchicken.com>
7127
7128 * callint.c (Fcall_interactively): Handle temporary region even
7129 when shift-select-mode is off.
7130
71312008-04-03 Jason Rumney <jasonr@gnu.org>
7132
7133 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
7134
71352008-04-03 Kenichi Handa <handa@m17n.org>
7136
7137 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
7138 (CATEGORY_MASK_UTF_16): Likewise.
7139 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
7140 binary file.
7141 (detect_coding): Add null-byte detection for a binary file.
7142 (detect_coding_system): Likewise.
7143
71442008-04-03 Jason Rumney <jasonr@gnu.org>
7145
7146 * w32uniscribe.c: New file.
7147
7148 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
7149
7150 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
7151
7152 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
7153 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
7154 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
7155 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
7156 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
7157 (Qphonetic): New symbols.
7158 (syms_of_w32font): Initialize them.
7159 (font_supported_scripts): Use them.
7160 (w32font_list_family): List all charsets.
7161 (w32font_text_extents, recompute_cached_metrics): Fix metric
7162 calculations.
7163 (w32_enumfont_pattern_entity): Make full_type a DWORD.
7164 Give opentype fonts their own format.
7165 (font_matches_spec): New arguments backend and logfont.
7166 Handle :otf spec for uniscribe backend.
7167 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
7168 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
7169
7170 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
7171 font backend.
7172 (globals_of_w32fns): Initialize uniscribe font backend.
7173
7174 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
7175 dependencies.
7176 (w32uniscribe.$(O)): New file to build.
7177 (FONT_OBJ): Include w32uniscribe.$(O).
7178 (LIBS): Add uniscribe libraries.
7179
7180 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
7181
71822008-04-02 Chong Yidong <cyd@stupidchicken.com>
7183
7184 * callint.c (Vshift_select_mode): New var.
7185 (Finteractive): Document new ^ spec.
7186 (Fcall_interactively): Call handle-shift-selection if the ^ spec
7187 is present.
7188
7189 * keyboard.c (Vthis_command_keys_shift_translated): New var.
7190 (command_loop_1): Avoid running the direct display versions of
7191 forward-char and backward-char if shift-selection may occur.
7192 (read_key_sequence): Set Vthis_command_keys_shift_translated if
7193 shift-translation takes place.
7194
7195 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
7196 avoid clobbering by define-minor-mode.
7197
7198 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
7199 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
7200
7201 * syntax.c (Fforward_word): Add ^ interactive spec.
7202
7203 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
7204 (Fscroll_right): Add ^ interactive spec.
7205
72062008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
7207
7208 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
7209
7210 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
7211
7212 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
7213
72142008-03-31 Juri Linkov <juri@jurta.org>
7215
7216 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
7217
72182008-03-30 Jan Djärv <jan.h.d@swipnet.se>
7219
7220 * gtkutil.c (xg_set_geometry): Fix indentation.
7221 (xg_resize_outer_widget): Remove.
7222 (x_wm_size_hint_off): Fix indentation.
7223 (xg_frame_set_char_size): Call flush_and_sync after
7224 gtk_window_resize.
7225 (x_wm_set_size_hint): Pass NULL as geometry window to
7226 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
7227 Add menu bar and tool bar height to base height.
7228 (xg_update_frame_menubar, free_frame_menubar)
7229 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
7230 (update_frame_tool_bar, free_frame_tool_bar):
7231 Change xg_resize_outer_widget to xg_frame_set_char_size.
7232
72332008-03-30 Michael Albinus <michael.albinus@gmx.de>
7234
7235 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
7236 (Fdbus_call_method): New parameter TIMEOUT.
7237 (dbus-send-signal): Optimize UNGCPRO call.
7238
72392008-03-29 Juri Linkov <juri@jurta.org>
7240
7241 * window.c (Fdisplay_buffer): Move call to
7242 Vsplit_window_preferred_function out of conditions that check
7243 if window is eligible for vertical splitting.
7244 When Vsplit_window_preferred_function is non-nil, call it and use
7245 its non-nil return value as window. Otherwise, continue doing
7246 vertical splitting using Fsplit_window with arg horflag=nil.
7247 (syms_of_window) <Vsplit_window_preferred_function>: Change the
7248 default value from `split-window' to nil.
7249
72502008-03-29 Juri Linkov <juri@jurta.org>
7251
7252 * callint.c (Fcall_interactively): Revert 2008-03-16 change
7253 for interactive code letters 'b' and 'B'.
7254
72552008-03-29 Eli Zaretskii <eliz@gnu.org>
7256
7257 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
7258 multibyte string.
7259
72602008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
7261
7262 * keyboard.c (pending_funcalls): New var.
7263 (timer_check): Run it.
7264 (syms_of_keyboard): Initialize it.
7265 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
7266 (Vdelete_terminal_functions): New vars.
7267 (syms_of_terminal): Initialize them.
7268 (Fdelete_terminal): Run delete-terminal-functions.
7269 * xdisp.c (safe_eval): Rewrite.
7270 (safe_call2): New fun.
7271 * frame.c (Qdelete_frame_functions): New var.
7272 (syms_of_frame): Initialize it.
7273 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
7274 * lisp.h (safe_call2, pending_funcalls): Declare.
7275
72762008-03-28 Andreas Schwab <schwab@suse.de>
7277
7278 * indent.c (Fmove_to_column): Move declaration before statements.
7279
72802008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
7281
7282 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
7283 (struct frame): Use bit fields for boolean vars.
7284
7285 * process.c (server_accept_connection): Simplify naming.
7286 (emacs_get_tty_pgrp): Use SDATA.
7287
7288 * coding.c (decode_coding_object): Fix last change.
7289
72902008-03-27 Jason Rumney <jasonr@gnu.org>
7291
7292 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
7293
72942008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
7295
7296 * charset.c (Fdefine_charset_internal): Change the way of
7297 registering charsets in Vcharset_order_list.
7298 (syms_of_charset): Make the charset `eight-bit' supplementary.
7299
73002008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
7301
7302 * regex.c (EXTEND_BUFFER): Change order of pointer addition
7303 operations, to avoid having the difference between pointers
7304 overflow.
7305
73062008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
7307
7308 * indent.c (check_display_width): New fun.
7309 (scan_for_column): Use it.
7310
7311 * data.c (syms_of_data): Mark most-positive-fixnum and
7312 most-negative-fixnum as constants.
7313
7314 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
7315
7316 * indent.c (scan_for_column): Extract from current_column_1.
7317 Merge with the same code from Fmove_to_column.
7318 (current_column_1, Fmove_to_column): Use it.
7319
73202008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
7321
7322 * keymap.c (map_keymap_internal): New fun.
7323 (map_keymap): Use it.
7324 (Fmap_keymap_internal): New fun.
7325 (Fmap_keymap): Remove left-out test from before make_save_value.
7326
7327 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
7328
7329 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
7330 Use XCAR/XCDR.
7331
7332 * process.h (struct Lisp_Process): Remove filter_multibyte.
7333 * process.c (QCfilter_multibyte): Remove.
7334 (setup_process_coding_systems): Don't use filter_multibyte.
7335 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
7336 (read_process_output): Don't adjust multibyteness to filter_multibyte.
7337 (Fset_process_filter_multibyte): Change the coding-system to
7338 approximate the previous behavior.
7339 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
7340 coding-system.
7341
7342 * coding.c (decode_coding_object): When not decoding into a buffer,
7343 obey the coding system's preference of (uni|multi)byte.
7344
73452008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
7346
7347 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
7348 every char is changed and has a different byte-length.
7349 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
7350 Fix int -> EMACS_INT.
7351
73522008-03-23 David Hansen <david.hansen@gmx.net>
7353
7354 * dbusbind.c (xd_read_message): Remove extra copying of message
7355 strings. Check for NULL `interface' or `member'.
7356
73572008-03-22 Eli Zaretskii <eliz@gnu.org>
7358
7359 * w32.c (readdir): If FindFirstFile/FindNextFile return in
7360 cFileName a file name that includes `?' characters, use the 8+3
7361 alias in cAlternateFileName instead.
7362
73632008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
7364
7365 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
7366
73672008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
7368
7369 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
7370 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
7371 work on current_buffer only instead (that was already the case
7372 for some of the code anyway).
7373 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
7374 (temp_set_point, temp_set_point_both): Use EMACS_INT.
7375 (SET_PT, SET_PT_BOTH): Adjust.
7376 * intervals.h (set_point, temp_set_point, set_point_both)
7377 (temp_set_point_both): Remove redundant declarations.
7378
73792008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
7380
7381 * fileio.c (Finsert_file_contents):
7382 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
7383 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
7384 when buffer != current_buffer anyway.
7385
73862008-03-20 Andreas Schwab <schwab@suse.de>
7387
7388 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
7389 as default.
7390
73912008-03-19 Jason Rumney <jasonr@gnu.org>
7392
7393 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
7394 (syms_of_w32fns): Initialize them.
7395 (HOURGLASS_ID): New constant.
7396 (x_window_to_frame): Don't check hourglass_window.
7397 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
7398 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
7399 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
7400 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
7401 Only change the cursor if hourglass is not active.
7402 (Fx_create_frame): Initialize frame's current_cursor.
7403 (hourglass_atimer): Remove.
7404 (hourglass_started): New function.
7405 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
7406 (show_hourglass): Adapt to w32, changing argument to frame.
7407
7408 * w32term.h (struct w32_output): Remove hourglass_window.
7409 Add current_cursor.
7410
7411 * eval.c (call_debugger, Fsignal):
7412 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
7413 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
7414 (Fexecute_extended_command, cancel_hourglass_unwind):
7415 * minibuf.c (read_minibuf):
7416 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
7417
74182008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
7419
7420 * window.c (run_funs): New fun.
7421 (run_window_configuration_change_hook): Use it to run the buffer-local
7422 and the global part of the hook.
7423
7424 * xdisp.c (format_mode_line_unwind_data): Add window argument.
7425 (unwind_format_mode_line): Restore selected window.
7426 (x_consider_frame_title, Fformat_mode_line): Set selected window.
7427
74282008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
7429
7430 * editfns.c (Fchar_equal): Check they are valid characters.
7431
7432 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
7433
74342008-03-17 Andreas Schwab <schwab@suse.de>
7435
7436 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
7437 against a charset.
7438
7439 * lisp.h (Fbuffer_list): Declare.
7440
74412008-03-17 Jan Djärv <jan.h.d@swipnet.se>
d6c952f8 7442
aac0c6e3
MR
7443 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
7444 handlebox_widget is != 0.
7445
74462008-03-16 Juri Linkov <juri@jurta.org>
7447
7448 * callint.c (Fcall_interactively): For interactive code letters
7449 'b' and 'B' put the buffer list into the list of default "future"
7450 values of the minibuffer.
7451
74522008-03-16 Andreas Schwab <schwab@suse.de>
7453
7454 * keyboard.c (read_key_sequence): Fix downcasing of letters with
7455 modifiers.
7456
7457 * regex.c (re_match_2_internal): Correct matching of a charset
7458 against latin-1 characters.
7459
74602008-03-16 Kenichi Handa <handa@m17n.org>
7461
7462 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
7463 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
7464 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
7465 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
7466 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
7467 CHAR_STRING_ADVANCE.
7468 (produce_chars): Fix for the case that the source and the
7469 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
7470 instead of CHAR_STRING_ADVANCE.
7471 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
7472 STRING_CHAR_ADVANCE.
7473
74742008-03-15 Andreas Schwab <schwab@suse.de>
7475
7476 * regex.c (re_match_2_internal): Correct matching of eight bit
7477 characters in unibyte strings.
7478
74792008-03-15 Martin Rudalics <rudalics@gmx.at>
7480
7481 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
7482 at end of range when it coincides with the end of the buffer.
7483
74842008-03-14 Eli Zaretskii <eliz@gnu.org>
7485
7486 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
7487
7488 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
7489
74902008-03-14 Jason Rumney <jasonr@gnu.org>
7491
7492 * editfns.c (initial_tz): New variable.
7493 (syms_of_editfns): Initialize it.
7494 (Fset_time_zone_rule): Set it when first called.
7495 Use it when TZSTRING is nil.
7496
7497 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
7498 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
7499 (monitor_from_point_fn, get_monitor_info_fn): New globals.
7500 (globals_of_w32fns): Initialize them.
7501 (compute_tip_xy): Use them to position tooltips.
7502
75032008-03-14 Glenn Morris <rgm@gnu.org>
7504
7505 * emacs.c (main): Revert previous change.
7506 (standard_args): Revert -internal-script back to -scriptload,
7507 and remove the long-option form.
7508
75092008-03-13 Glenn Morris <rgm@gnu.org>
7510
7511 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
7512 Remove option -enable-font-backend.
7513
75142008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
7515
7516 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
7517
75182008-03-11 Jan Djärv <jan.h.d@swipnet.se>
7519
7520 * xterm.c (x_connection_closed): For GTK: If this is the last
7521 terminal just exit without closing the display.
7522
75232008-03-11 Jason Rumney <jasonr@gnu.org>
7524
7525 * w32font.c (w32font_full_name): Use floor to round.
7526
f0131492 75272008-03-10 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
aac0c6e3
MR
7528
7529 * sound.c (alsa_configure): Declare vol at beginning of block.
7530
7531 * fontset.c (Ffontset_info): Remove extra semicolon.
7532
75332008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
7534
7535 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
7536 size of resulting string.
7537
75382008-03-10 Jason Rumney <jasonr@gnu.org>
7539
7540 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
7541
75422008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7543
7544 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
7545 Don't pretend as if characters with display property haven't been
7546 consumed for string-replacing-string case.
7547
75482008-03-08 Kim F. Storm <storm@cua.dk>
7549
7550 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
7551 (get_next_display_element, next_element_from_string)
7552 (next_element_from_ellipsis, next_element_from_buffer): Use it.
7553
75542008-03-08 Andreas Schwab <schwab@suse.de>
7555
7556 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
7557
75582008-03-06 Jason Rumney <jasonr@gnu.org>
7559
7560 * w32font.c (w32_registry): Take font_type argument. Use ANSI
7561 when charset not specified. Only translate ANSI to unicode when
7562 font_type is truetype.
7563 (w32font_coverage_ok): New function.
7564 (add_font_entity_to_list): Use it to filter unsuitable fonts.
7565
75662008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
7567
7568 * lread.c (Fread_char): Resolve modifiers.
7569 (Fread_char_exclusive): Likewise.
7570
7571 * character.c (char_resolve_modifier_mask): New function.
7572 (char_string): Use char_resolve_modifier_mask.
7573 (Fchar_resolve_modifiers): New function.
7574 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
7575 function.
7576
75772008-03-04 Jason Rumney <jasonr@gnu.org>
7578
7579 * makefile.w32-in: Always include w32font.c in the build.
7580 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
7581
75822008-03-04 Andreas Schwab <schwab@suse.de>
7583
7584 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
7585 (versionclean): Likewise.
7586
75872008-03-04 Juanma Barranquero <lekktu@gmail.com>
7588
7589 * .cvsignore: Add oo.
7590
75912008-03-03 Andreas Schwab <schwab@suse.de>
7592
7593 * coding.c (decode_coding_object): Inhibit gap shrinking while
7594 decoding in place.
7595
75962008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
7597
7598 * w32term.c: Remove unused include "gnu.h".
7599 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
7600
7601 * gnu.h: Rename to ...
7602 * emacs-icon.h: ... this.
7603 * xterm.c: Use emacs-icon.h instead of gnu.h.
7604 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
7605
76062008-03-03 Juanma Barranquero <lekktu@gmail.com>
7607
7608 * w32font.c: Include math.h.
7609
76102008-03-03 Jason Rumney <jasonr@gnu.org>
7611
7612 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
7613 Compute options separately.
7614 (w32font_open_internal): Set glyph_idx before caching metrics.
7615
7616 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
7617 Define if system headers don't.
7618 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
7619 (w32font_encode_char): Don't declare here.
7620
7621 * w32font.c (Quniscribe, QCformat): New symbols.
7622 (syms_of_w32font): Define them.
7623 (w32font_has_char): Indicate uncertainty.
7624 (w32font_encode_char): Encode as glyph point. Make static.
7625 (recompute_cached_metrics): New function.
7626 (w32font_open_internal): Use it. Set font to use glyph points
7627 initially. Set format based on type of font.
7628 (w32font_text_extents, w32font_draw): Optionally use glyph points.
7629 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
7630 on it. Set format based on information available here.
7631 (add_font_entity_to_list): Identify backend based on opentype_only.
7632
76332008-03-02 Andreas Schwab <schwab@suse.de>
7634
7635 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
7636
7637 * coding.c (decode_coding_big5, produce_chars):
7638 Fix typos in last change.
7639
76402008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
7641
7642 * gnu.h: New icon.
7643
76442008-03-02 Kenichi Handa <handa@m17n.org>
7645
7646 * coding.c (decode_coding_utf_8): When eol-type of CODING is
7647 `dos', don't decode '\r' if that is the last in the source.
7648 (decode_coding_utf_16, decode_coding_emacs_mule)
7649 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
7650 (decode_coding_raw_text, decode_coding_charset): Likewise.
7651 (produce_chars): Don't decode EOL here. Use EMACS_INT.
7652
76532008-03-01 Jason Rumney <jasonr@gnu.org>
7654
7655 * w32font.c (w32font_full_name): Report point size for scalable fonts.
7656
76572008-03-01 Kim F. Storm <storm@cua.dk>
7658
7659 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
7660
76612008-03-01 Jason Rumney <jasonr@gnu.org>
7662
7663 * w32font.c (w32font_full_name): New function.
7664 (w32font_open_internal): Use it.
7665
76662008-03-01 Kim F. Storm <storm@cua.dk>
7667
7668 * dispnew.c (line_draw_cost): Fix invalid glyph check.
7669
76702008-03-01 Jason Rumney <jasonr@gnu.org>
7671
7672 * font.c (font_unparse_fcname): Increase len when style is a symbol.
7673
76742008-03-01 Jan Djärv <jan.h.d@swipnet.se>
7675
7676 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
7677 xg_frame_resized when the event is for the edit widget.
7678
7679 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
7680
7681 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
7682 set_char_size.
7683 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
7684 operations on widgets here. Just set frame size if needed.
7685 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
7686 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
7687 (x_wm_set_size_hint): Set size hints on the edit widget only, not
7688 the whole frame.
7689 (xg_create_tool_bar): Move attachment of the tool bar to
7690 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
7691 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
7692
76932008-03-01 Jason Rumney <jasonr@gnu.org>
7694
7695 * w32fns.c (w32_msg_pump): Disable debug code.
7696
76972008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7698
7699 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
7700
77012008-02-29 Chong Yidong <cyd@stupidchicken.com>
7702
7703 * xdisp.c (next_overlay_string): Don't set
7704 overlay_strings_at_end_processed_p if we're currently reading from
7705 a display string.
7706
77072008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
7708
7709 * xdisp.c (get_overlay_strings_1): Fix typo.
7710
77112008-02-29 Chong Yidong <cyd@stupidchicken.com>
7712
7713 * xdisp.c (get_overlay_strings_1): Add missing argument type.
7714
77152008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
7716
7717 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
7718
7719 * xdisp.c (display_mode_element): Cancel the previous change.
7720 (decode_mode_spec): Likewise.
7721 (handle_auto_composed_prop): Don't make composition if it->string
7722 is a string.
7723
77242008-02-27 Kim F. Storm <storm@cua.dk>
7725
7726 * lisp.h (GLYPH): Change type from int to struct with separate char
7727 and face_id members.
7728 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
7729 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
7730 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
7731 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
7732 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
7733 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
7734 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
7735 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
7736 handle new Lisp glyph code encoding, either an integer or a cons.
7737
7738 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
7739 (GLYPH_ALIAS): Delete.
7740 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
7741 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
7742 (GLYPH_FROM_CHAR): Replace macro by ...
7743 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
7744
7745 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
7746 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
7747 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
7748 (GLYPH_INVALID_P): New macro.
7749 (spec_glyph_lookup_face): Update prototype.
7750
7751 * dispnew.c (line_draw_cost): Adapt to new glyph type.
7752 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
7753 new glyph code encoding.
7754 (spec_glyph_lookup_face): No return value; update passed glyph instead.
7755 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
7756
7757 * xdisp.c (get_next_display_element, next_element_from_display_vector):
7758 Adapt to new glyph type and new glyph code encoding.
7759
7760 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
7761
7762 * indent.c (current_column, current_column_1, Fmove_to_column)
7763 (compute_motion): Adapt to new glyph code encoding.
7764
7765 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
7766
77672008-02-27 Chong Yidong <cyd@stupidchicken.com>
7768
7769 * process.c (wait_reading_process_output): Check for window
7770 changes caused by timers.
7771 Suggested by Johan Bockgård.
7772
77732008-02-27 Glenn Morris <rgm@gnu.org>
7774
7775 * emacs.c (USAGE1): Add `--disable-font-backend'.
7776
77772008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
7778
7779 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
7780 is made to the buffer.
7781
77822008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
7783
7784 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
7785 (face_at_string_position):
7786 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
7787 (face_at_string_position):
7788 * xdisp.c (display_string, next_overlay_change):
7789 * buffer.h (overlays_at):
7790 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
7791 Update callers.
7792
77932008-02-26 Chong Yidong <cyd@stupidchicken.com>
7794
7795 * editfns.c (Fformat): Doc fix.
7796
77972008-02-26 Juanma Barranquero <lekktu@gmail.com>
7798
7799 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
7800 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
7801 (Ffont_otf_alternates, Fquery_font): Doc fixes.
7802
78032008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
7804
7805 * buffer.c (Fbuffer_swap_text): New function.
7806 (syms_of_buffer): Defsubr it.
7807
78082008-02-25 Chong Yidong <cyd@stupidchicken.com>
7809
7810 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
7811
78122008-02-25 Jason Rumney <jasonr@gnu.org>
7813
7814 * w32font.c (w32font_draw): Draw one character at a time when padding.
7815
78162008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
7817
7818 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
7819 Handle a nil arg. Use run_window_configuration_change_hook.
7820 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
7821 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
7822 Use run_window_configuration_change_hook.
7823
78242008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
7825
7826 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
7827 1-pixel width.
7828
78292008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
7830
7831 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
7832 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
7833 if the glyph in the font is zero pixel with.
7834
7835 * dispextern.h (struct glyph_string): New member padding_p.
7836
7837 * w32font.c (w32font_draw): Pay attention to s->padding_p.
7838
7839 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
7840
7841 * xfont.c (xfont_draw): Pay attention to s->padding_p.
7842
7843 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
7844
7845 * font.c: If the font driver doesn't have `shape' function, return Qnil.
7846
78472008-02-25 Jason Rumney <jasonr@gnu.org>
7848
7849 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
7850
78512008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
7852
7853 Allow fine-grained image-cache flushing.
7854 * dispextern.h (struct image): Add `dependencies' field.
7855 (clear_image_caches): Change arg to Lisp_Object.
7856 * image.c (make_image): Initialize `dependencies' field.
7857 (clear_image_cache): Change arg to allow fine-grained flushing.
7858 Perform the flush even if image-cache-eviction-delay is nil.
7859 (clear_image_caches): Change arg to Lisp_Object.
7860 (Fclear_image_cache): Expand meaning of the argument.
7861 (mark_image): Mark `dependencies' field.
7862 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
7863 (lface_hash): Use XHASH rather than XFASTINT.
7864 (face_at_buffer_position): Fix int -> EMACS_INT position.
7865 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
7866 (select_frame_for_redisplay): Remove code duplication.
7867 (redisplay_internal): Adapt arg to call to clear_image_caches.
7868
78692008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
7870
7871 * s/vms4-0.h:
7872 * s/vms4-2.h:
7873 * s/vms4-4.h:
7874 * s/vms5-5.h: Remove, unused.
7875
7876 * s/irix5-2.h:
7877 * s/irix6-0.h:
7878 * s/riscos5.h:
7879 * s/mach-bsd4-3.h:
7880 * m/mips4.h: Remove files for obsolete systems.
7881
7882 * Makefile.in:
7883 * filelock.c:
7884 * unexmips.c:
7885 * m/hp9000s300.h:
7886 * m/iris4d.h:
7887 * s/aix3-1.h:
7888 * s/hpux.h:
7889 * s/msdos.h:
7890 * s/usg5-0.h:
7891 * s/usg5-2-2.h:
7892 * s/usg5-2.h:
7893 * s/usg5-3.h: Remove references to obsolete variables.
7894
7895 * s/irix5-0.h: Remove, move all the contents ...
7896 * s/irix6-5.h: ... here. Simplify.
7897 * config.in: Regenerate.
7898
78992008-02-24 Jason Rumney <jasonr@gnu.org>
7900
7901 * w32term.c (x_draw_glyph_string_background): Clear the background
7902 manually when cleartype is in use.
7903 (x_draw_glyph_string_foreground): Draw text transparently when
7904 cleartype is in use.
7905
7906 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
7907 a font into it unless we have to.
7908
79092008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
7910
7911 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
7912 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
d6c952f8 7913
aac0c6e3
MR
79142008-02-18 Jason Rumney <jasonr@gnu.org>
7915
7916 * w32fns.c (Fw32_shell_execute): Encode parameters.
7917
79182008-02-09 Eli Zaretskii <eliz@gnu.org>
7919
7920 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
7921
79222008-02-05 Juanma Barranquero <lekktu@gmail.com>
7923
7924 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
7925
79262008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
7927
7928 * xterm.c (x_set_offset): Don't change the gravity if
7929 CHANGE_GRAVITY is -1.
7930
79312008-02-23 Chong Yidong <cyd@stupidchicken.com>
7932
7933 * fileio.c (auto_save_error_occurred): New var.
7934 (auto_save_error): Set it.
7935 (Fdo_auto_save): Don't overwrite the error message if an auto-save
7936 error occurred.
7937
79382008-02-23 Eli Zaretskii <eliz@gnu.org>
7939
7940 * w32.c (globals_of_w32): Add initializations for
7941 g_b_init_get_sid_sub_authority and
7942 g_b_init_get_sid_sub_authority_count.
7943
79442008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
7945
7946 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
7947 (font_parse_xlfd): Use them for sanity check.
7948 (Finternal_set_font_style_table): Make sure the table is bijective.
7949
7950 Consolidate the image_cache to the terminal struct.
7951 * termhooks.h (P_): Remove redundant def.
7952 (struct terminal): New field `image_cache'.
7953 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
7954 of FRAME_X_IMAGE_CACHE.
7955 * xterm.h (struct x_display_info): Remove image_cache field.
7956 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7957 * w32term.h (struct w32_display_info): Remove image_cache field.
7958 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7959 * macterm.h (struct mac_display_info): Remove image_cache field.
7960 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7961 * xterm.c (x_term_init):
7962 * w32term.c (w32_term_init):
7963 * macterm.c (mac_term_init): Set the image_cache in the terminal.
7964 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
7965 Remove declarations.
7966 (clear_image_caches, mark_image_cache): New declarations.
7967 * xfaces.c (clear_face_cache):
7968 * xdisp.c (redisplay_internal): Use clear_image_caches.
7969 * image.c (clear_image_cache): Don't check that a frame is on
7970 a window-system before checking if it shares the same cache.
7971 (clear_image_caches): New function.
7972 (Fclear_image_cache): Use it.
7973 (mark_image): Move from allo.c.
7974 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
7975 * alloc.c (mark_image, mark_image_cache): Move to image.c.
7976 (mark_object): Don't call mark_image_cache for frames.
7977 (mark_terminals): Call mark_image_cache.
7978
7979 * lisp.h (Fdelete_terminal): Declare.
7980
7981 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
7982 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
7983 wrong_type_argument.
7984
79852008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
7986
7987 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
7988 malayalam.el, and tamil.el. Add sinhala.el.
7989
79902008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
7991
7992 * xterm.c (x_connection_closed): Consolidate identical tests.
7993 (x_delete_terminal): Don't crash if called via x_connection_closed.
7994
79952008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
7996
7997 * xdisp.c (decode_mode_spec): New arg string.
7998 (display_mode_element): Adjust for the above change.
7999
80002008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
8001
8002 * callint.c (Fcall_interactively): Use AREF.
8003
80042008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
8005
8006 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
8007
80082008-02-18 Jan Djärv <jan.h.d@swipnet.se>
8009
8010 * xfns.c (Fx_show_tip): Set string to " " if empty.
8011
80122008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
8013
8014 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
8015 with Qt.
8016
80172008-02-17 Kenichi Handa <handa@m17n.org>
8018
8019 * ftfont.c (ftfont_shape): Return Lispy number.
8020
8021 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
8022 for GCs.
8023 (Finternal_set_font_selection_order): Call font_update_sort_order
8024 only when enable_font_backend is set.
8025 (realize_x_face): Set face->font_info to that of default face only
8026 when enable_font_backend is set.
8027
8028 * xdisp.c (handle_composition_prop): Set it->c to the fist
8029 character of the composed region.
8030 (fill_composite_glyph_string): Set base_face->font_info to
8031 s->font_info. Get a face for ascii from base_face->ascii_face.
8032 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
8033 with a face already decided.
8034 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
8035 non-negative.
8036 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
8037 call font_prepare_composition unconditionally.
8038
8039 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
8040
8041 * xterm.h (struct x_display_info): New member font.
8042
8043 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
8044 (x_set_mouse_face_gc, x_new_font): Likewise.
8045 (x_term_init): Setup display_info->font.
8046 (x_delete_terminal): Free display_info->font.
8047
8048 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
8049
8050 * ftxfont.c (ftxfont_default_fid): Delete it.
8051 (ftxfont_open): Set xfont->fid to 0.
8052 (ftxfont_end_for_frame): Clear data specific to the frame and the
8053 font-driver.
8054
8055 * xftfont.c (xftfont_default_fid): Delete it.
8056 (xftfont_open): Set xfont->fid to 0.
8057
8058 * fontset.c (FONTSET_OBJLIST): New macro.
8059 (fontset_find_font): Update font-object list of the fontset.
8060 (free_realized_fontset): New function.
8061 (free_face_fontset): Call free_realized_fontset.
8062 (Ffont_info): Call font_close_object only when enable_font_backend
8063 is set.
8064
8065 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
8066 [HAVE_NTGUI]: Include w32term.h.
8067 [MAC_OS]: Include macterm.ch.
8068 (font_otf_ValueRecord): Use make_number.
8069 (font_finish_cache): Fix handling of reference count.
8070 (font_clear_cache): Update num_fonts.
8071 (font_open_entity): Update smallest_char_width and
8072 smallest_font_height of the frame.
8073 (font_close_object): Update num_fonts.
8074 (Fclear_font_cache): Fix finding the target cache data.
8075
80762008-02-16 Glenn Morris <rgm@gnu.org>
8077
8078 * fontset.c (Finternal_char_font): Fix compilation warning.
8079
80802008-02-16 Eli Zaretskii <eliz@gnu.org>
8081
8082 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
8083 instead of char arrays. Enlarge the size of array passed to
8084 get_token_information.
8085
8086 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
8087 warnings.
8088
80892008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
8090
8091 * .gdbinit: Don't set `args', it breaks gdb --args.
8092
80932008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
8094
8095 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
8096 within a narrowed buffer.
8097
80982008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
8099
8100 * coding.c (decode_coding_object, encode_coding_object):
8101 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
8102
81032008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
8104
8105 * coding.c (coding_set_destination): Use BEG_BYTE rather than
8106 hardcoding 1.
8107 (detect_coding_system):
8108 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
8109 (string_char_to_byte, string_byte_to_char, insert_from_gap):
8110 * insdel.c (insert_from_gap):
8111 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
8112 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
8113 (string_to_multibyte):
8114 * character.c (chars_in_text, multibyte_chars_in_text):
8115 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
8116
8117 * character.h (FETCH_STRING_CHAR_ADVANCE)
8118 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
8119 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
8120 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
8121
8122 * casefiddle.c (casify_region): Only call after-change and composition
8123 functions on the part of the region that was changed.
8124
8125 * keyboard.c (read_avail_input):
8126 * frame.c (Fdelete_frame): Call Fdelete_terminal.
8127
81282008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
8129
8130 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
8131 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
8132
81332008-02-11 Juanma Barranquero <lekktu@gmail.com>
8134
8135 * w32menu.c (push_submenu_start, push_submenu_end)
8136 (push_left_right_boundary, push_menu_pane, push_menu_item):
8137 * keyboard.c (read_key_sequence): Don't pass args with side effects
8138 to AREF, it fails when compiling with -DENABLE_CHECKING.
8139
81402008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
8141
8142 * Makefile.in (${lispsource}international/charprop.el):
8143 Delete this target.
8144
8145 * search.c (boyer_moore): Fix incorrect synching of the trunk and
8146 emacs-unicode-2.
8147
81482008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
8149
8150 * terminal.c (Fdelete_terminal): Clean up the `force' path.
8151
81522008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
8153
8154 * frame.c (Qnoelisp): New symbol.
8155 (syms_of_frame): Initialize it.
8156 (Fdelete_frame): Use it to distinguish a mere `force' passed from some
8157 harmless Elisp code, from a strong `force' from x_connection_closed.
8158 * frame.h (Qnoelisp): Declare.
8159 * xterm.c (x_connection_closed): Pass `noelisp'.
8160
8161 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
8162 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
8163 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
8164 rather than `int' for the type of `type'.
8165
81662008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
8167
8168 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
8169
8170 * Makefile.in (GNUC): Remove support for gcc-1.x.
8171
81722008-02-10 Richard Stallman <rms@gnu.org>
8173
8174 * lisp.h (ASET): Use AREF, not ASLOT.
8175
81762008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
8177
8178 * lisp.h (ASET): Check bounds.
8179
81802008-02-10 Glenn Morris <rgm@gnu.org>
8181
8182 * buffer.c (mode-name): Doc fix.
8183
81842008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
8185
8186 * Makefile.in:
8187 * emacs.c:
8188 * gmalloc.c:
8189 * keyboard.c:
8190 * lisp.h:
8191 * m/ibm370aix.h:
8192 * process.c:
8193 * regex.c:
8194 * s/hpux.h:
8195 * sysdep.c:
8196 * sysselect.h:
8197 * systty.h:
8198 * unexec.c:
8199 * w32term.c:
8200 * xsmfns.c:
8201 * xterm.c: Remove code that deals with obsolete variables.
8202
8203 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
8204
8205 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
8206 nothing else needs it anymore.
8207
82082008-02-09 Eli Zaretskii <eliz@gnu.org>
8209
8210 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
8211 instead of unibyte_char_to_multibyte.
8212
82132008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
8214
8215 * s/gnu-linux.h: Remove commented out code.
8216
8217 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
8218
8219 * Makefile.in: Update what RMS says about using autoconf.
8220 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
8221 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
8222 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
8223 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
8224
82252008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
8226
8227 * keymap.c (Fkey_description): Move side effect outside of macro call.
8228
8229 * xfaces.c (Finternal_make_lisp_face):
8230 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
8231
8232 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
8233 (syms_of_fontset): Use ASET.
8234
8235 * fns.c (concat): Move side effect outside of macro call.
8236 (hash_clear): Use ASET.
8237
82382008-02-08 Richard Stallman <rms@gnu.org>
8239
8240 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
8241 If FORCE, and frame has a surrogate minibuffer for another frame,
8242 delete the other frame first.
8243
82442008-02-07 Timo Savola <timo.savola@iki.fi>
8245
8246 * xterm.c (x_detect_focus_change): Handle embed client message.
8247 (handle_one_xevent): Ditto.
8248 (handle_one_xevent): If embedded and we get a button press/release,
8249 request focus.
8250 (xembed_set_info, xembed_send_message): New functions.
8251 (x_make_frame_visible): Call xembed_set_info if embedded.
8252 (x_make_frame_invisible): Call xembed_set_info if embedded.
8253 (x_term_init): Initialize Xatom_XEMBED.
8254 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
8255 (x_iconify_frame): Ditto.
8256
8257 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
8258 (enum xembed_info, enum xembed_message, enum xembed_focus)
8259 (enum xembed_modifier, enum xembed_accelerator): New.
8260 (xembed_set_info, xembed_send_message): Declare.
8261 (FRAME_X_EMBEDDED_P): New.
8262
8263 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
8264 gtk_plug_new.
8265
8266 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
8267 window ID of a frame.
8268 (x_window): Reparent frame if embedded.
8269 (Fx_create_frame): Don't set border width if embedded.
8270
8271 * emacs.c (USAGE3): Add --parent-id.
8272 (standard_args): Ditto.
8273
82742008-02-07 Jan Djärv <jan.h.d@swipnet.se>
8275
8276 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
8277
82782008-02-07 Jim Meyering <meyering@redhat.com>
8279
8280 Use "do...while (0)", not "if (1)...else" in macro definitions.
8281 The latter provokes a warning from gcc about the empty else, when
8282 followed by ";". Also, without that trailing semicolon, it would
8283 silently swallow up any following statement.
8284 * syntax.h (SETUP_SYNTAX_TABLE)
8285 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
8286 * buffer.h (DECODE_POSITION): Likewise.
8287 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
8288 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
8289 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
8290 (FETCH_CHAR_ADVANCE): Likewise.
8291 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
8292
82932008-02-07 Jim Meyering <meyering@redhat.com>
8294
8295 * lread.c [lint]: Don't include <sys/inode.h>.
8296
82972008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
8298
8299 * xselect.c (x_handle_dnd_message):
8300 * xmenu.c (digest_single_submenu, xmenu_show):
8301 * xdisp.c (with_echo_area_buffer_unwind_data)
8302 (format_mode_line_unwind_data, unwind_format_mode_line)
8303 (display_menu_bar):
8304 * eval.c (Ffetch_bytecode):
8305 * doc.c (store_function_docstring):
8306 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
8307 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
8308 * buffer.c (add_overlay_mod_hooklist): Use ASET.
8309
83102008-02-07 Kenichi Handa <handa@m17n.org>
8311
8312 * ftxfont.c (ftxfont_open): Don't set
8313 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
8314
8315 * ftfont.c (ftfont_open): Fix previous change.
8316
83172008-02-06 Jason Rumney <jasonr@gnu.org>
8318
8319 * w32font.c (w32font_text_extents): Fill in lbearing metric.
8320 Use cached metrics for ASCII characters.
8321 (w32font_open_internal): Don't set font's owning_frame.
8322 Cache metrics for ASCII characters.
8323
8324 * w32font.h (struct w32font_info): Add ascii_metrics.
8325 Remove owning_frame.
8326
83272008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
8328
8329 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
8330 to negative value.
8331
8332 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
8333
8334 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
8335
8336 * charset.c (syms_of_charset): Set QCtest and Qeq.
8337
83382008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
8339
8340 * process.c (Fstart_process):
8341 * callproc.c (Fcall_process): Handle the case where
8342 Funhandled_file_name_directory returns nil.
8343
8344 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
8345 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
8346 * font.c (check_gstring): Use them and AREF to access the vector before
8347 we know it's really a gstring.
8348 (Ffont_shape_text): Fix typo.
8349 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Oject mixups.
8350
8351 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
8352 Declare.
8353
8354 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
8355
83562008-02-05 Jason Rumney <jasonr@gnu.org>
8357
8358 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
8359 Set smallest_font_height and smallest_char_width in display info.
8360
83612008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
8362
8363 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
8364
83652008-02-05 Miles Bader <miles@gnu.org>
8366
8367 * xfaces.c (get_lface_attributes, merge_named_face)
8368 (lookup_named_face, lookup_derived_face, realize_named_face):
8369 Revert 2008-02-01 change by cyd@stupidchicken.com.
8370
83712008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
8372
8373 * fontset.c (Ffontset_info): Handle the case of inhibitting the
8374 fallback fonts.
8375 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
8376
83772008-02-04 Jason Rumney <jasonr@gnu.org>
8378
8379 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
8380 set full_name.
8381 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
8382
83832008-02-03 Jason Rumney <jasonr@gnu.org>
8384
8385 * makefile.w32-in (OBJ1): Include font.o here.
8386 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
8387
83882008-02-02 Jason Rumney <jasonr@gnu.org>
8389
8390 * makefile.w32-in (temacs): Bump EMHEAP to 21.
8391
83922008-02-01 Jason Rumney <jasonr@gnu.org>
8393
8394 * s/cygwin.h: Define VIRT_ADDR_VARIES.
8395
8396 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
8397
83982008-02-01 Andreas Schwab <schwab@suse.de>
8399
8400 * Makefile.in (shortlisp, lisp): Update for rename of
8401 ../lisp/language/myanmar.el.
8402
84032008-02-01 Chong Yidong <cyd@stupidchicken.com>
8404
8405 * xfaces.c (get_lface_attributes): Delete function.
8406 (merge_named_face, lookup_named_face, lookup_derived_face)
8407 (realize_named_face): Call lface_from_face_name directly, and use
8408 the fact that merge_face_vectors does not alter its FROM argument.
8409
84102008-02-01 Jason Rumney <jasonr@gnu.org>
8411
8412 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
8413 input in the default locale. Handle non-Unicode multibyte input.
8414
84152008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8416
8417 * fontset.c (reorder_font_vector): Exclude nil elements from the
8418 font group. Don't try multiple fonts.
8419 (fontset_font): Adjust for the above change.
8420 (Finternal_char_font): Return nil if the found font doesn't
8421 contain the character ch.
8422
8423 * Makefile.in (lisp, shortlisp): Add cham.el.
8424
84252008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8426
8427 * font.h (FONTP): Make it return 1 also for a font-object.
8428
8429 * .gdbinit (xfontset): New function.
8430
8431 * font.c (font_find_for_lface): Check if the character C is
8432 supported or not only for the first font.
8433
8434 * fontset.c (reorder_font_vector): Fix typo.
8435 (fontset_find_font): Don't add a font-spec specifying a script.
8436 Use 0 (not Qt) for the indication of empty font-group. Change the
8437 format of RFONT-DEF. Return Qt if no font in the font-group
8438 support the character.
8439 (fontset_font): Adjust for the above change. If no font was
8440 found the character, remember that.
8441 (face_for_char): Adjust for the change of RFONT-DEF.
8442 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
8443 no font for the target.
8444 (Finternal_char_font): Adjust for the change of RFONT-DEF.
8445
84462008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8447
8448 * font.c (font_load_for_face): Handle the case that the font in
8449 face->lface is a string.
8450
84512008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8452
8453 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
8454
84552008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8456
8457 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
8458 Fix previous change. If the frame is not on a window system,
8459 signal an error.
8460
84612008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8462
8463 * coding.c (decode_coding_object, encode_coding_object): Adjust
8464 marker positions after conversion.
8465
8466 * lisp.h (struct Lisp_Marker): New member need_adjustment.
8467
84682008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8469
8470 * font.c (font_find_for_lface): Fix the handling of the return
8471 value of font_has_char.
8472 (Ffont_shape_text): Fix previous change.
8473
8474 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
8475 (fontset_ref_and_range): Delete it.
8476 (fontset_find_font): Call char_table_ref_and_range instead of
8477 FONTSET_REF_AND_RANGE.
8478 (make_fontset): Don't setup font groups of Latin here.
8479 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
8480 (new_fontset_from_font): Make the specified font the default for
8481 all Latin characters.
8482
84832008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8484
8485 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
8486 is on a window system before accessing the fontset of the frame.
8487
84882008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8489
8490 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
8491
8492 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
8493 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
8494
8495 * font.c (Ffont_shape_text): If the font driver doesn't have a
8496 shaper function, make zero-width glyphs to have at least one-pixel
8497 width. Fix setting of `to' field of glyphs.
8498
84992008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8500
8501 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
8502 glyphs.
8503
8504 * font.h (struct font_driver): Improve docstring of member `shape'.
8505
85062008-02-01 Kenichi Handa <handa@m17n.org>
8507
8508 * composite.c (syms_of_composite): Fix docstring of
8509 auto-composition-function.
8510
8511 * font.h (LGLYPH_SIZE): New macro.
8512
8513 * font.c (Ffont_fill_gstring): Stop filling when a character not
8514 supported by the font is found.
8515 (Ffont_shape_text): When a shape callback function returns nil,
8516 try at most two more times with larger gstring.
8517 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
8518
8519 * xdisp.c (handle_auto_composed_prop): Change the argument to
8520 auto-composition-function.
8521
8522 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
8523 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
8524 Lispy glyph and store it in the lgstring.
8525
8526 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
8527
8528 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
8529
85302008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8531
8532 * font.c (Ffont_shape_text): Avoid unnecessary composition.
8533
8534 * fontset.c (Vfont_encoding_charset_alist): New variable.
8535 (syms_of_fontset): DEFVAR it.
8536 (reorder_font_vector, fontset_find_font): Optimize for the case of
8537 no need of reordering.
8538 (face_for_char): Map the charset property by
8539 Vfont_encoding_charset_alist.
8540
85412008-02-01 Jason Rumney <jasonr@gnu.org>
8542
8543 * w32font.c (logfonts_match): Don't check adstyle here.
8544 (font_matches_spec): Check here against physical font instead.
8545 (add_font_entity_to_list): Avoid some substitutions.
8546
8547 * font.c (font_parse_fcname): Default weight and slant to normal.
8548 (font_score): Prefer normal fonts if weight or slant unspecified.
8549 (font_score) [WINDOWSNT]: Scale weight difference down to closer
8550 match freetype scores.
8551
85522008-02-01 Jason Rumney <jasonr@gnu.org>
8553
8554 * w32font.c (w32font_text_extents): Don't use the frame stored in the
8555 font, as it may have been deleted.
8556 (w32_enumfont_pattern_entity): Map generic family to adstyle using
8557 most common hyphenless variation.
8558 (logfonts_match): Check generic family.
8559 (font_matches_spec): Don't check generic family here.
8560 (fill_in_logfont): Set generic family based on adstyle.
8561
8562 * w32font.h (w32font_get_cache): Update declaration.
8563
85642008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8565
8566 * ftfont.c (ftfont_get_cache): Adjust the argument type.
8567
8568 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
8569 If none of the new drivers are available, call font_update_drivers
8570 with the old drivers.
8571
8572 * w32font.c (w32font_get_cache): Adjust the argument type.
8573
8574 * xfont.c (xfont_get_cache): Adjust the argument type.
8575
8576 * font.h (struct font_driver): Change argument type of get_cache.
8577
8578 * xftfont.c (xftfont_start_for_frame): Delete prototype.
8579
8580 * font.c (Ffont_get): Fix arguments to Fassoc.
8581 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
8582 (font_clear_cache): New function.
8583 (font_list_entities, font_matching_entity): Use font_get_cache.
8584 (font_update_drivers): Call font_clear_cache when finishing a driver.
8585
8586 * fontset.c (fontset_find_font): Fix previous change.
8587
85882008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8589
8590 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
8591 dpyinfo->font_table.
8592 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
8593 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
8594
8595 * font.c (font_at): Handle the case that the arg C is negative.
8596 Handle the unibyte case.
8597 (Ffont_at): Call font_at with the arg C -1.
8598
8599 * xdisp.c (handle_auto_composed_prop): Don't get a character at
8600 the position here, and call font_at with the arg C -1.
8601 Don't check the range of the existing composition at the point.
8602
86032008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8604
8605 * fontset.c (fontset_add): New args charset_id and family.
8606 Change caller.
8607 (load_font_get_repertory, fontset_find_font): Assume that
8608 font_spec is always a font-spec object.
8609 (Fset_fontset_font): Always store a font-spec object in a fontset.
8610
8611 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
8612 instead of get_property_and_range.
8613
86142008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8615
8616 * xftfont.c (struct xftfont_info): Delete the member ft_face.
8617 (xftfont_open): Don't keep locking face.
8618 (xftfont_close): Don't unlock face.
8619 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
8620
8621 * fontset.c (fontset_find_font): Don't prefer a font of
8622 supplementary charset.
8623
86242008-02-01 Kenichi Handa <handa@m17n.org>
8625
8626 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
8627 script, langsys_tag to langsys, new member script.
8628 (OTF_TAG_STR): Terminate by '\0'.
8629 (ftfont_get_open_type_spec): If :otf prop is is spec, Limit the
8630 listing to the script specified in that property. Fix arg to
8631 OTF_check_features.
8632
86332008-02-01 Jason Rumney <jasonr@gnu.org>
8634
8635 * w32font.h: New file.
8636
8637 * w32font.c: Include it.
8638 (struct w32font_info): Add owning_frame field. Move to w32font.h.
8639 (w32font_open): Set owning_frame.
8640 (w32font_text_extents): Use owning_frame.
8641 (struct font_callback_data): Add opentype_only field.
8642 (add_font_entity_to_list): Use it to filter fonts.
8643 Don't check against full name.
8644 (w32font_list_internal): New function.
8645 (w32font_list): Use it.
8646 (w32font_match_internal): New function.
8647 (w32font_match): Use it.
8648 (w32font_open_internal): New function.
8649 (w32font_open): Use it.
8650 (w32font_get_cache, w32font_close, w32font_has_char)
8651 (w32font_encode_char, w32font_text_extents, w32font_draw):
8652 Make non-static.
8653
8654 * makefile.w32-in (w32font.o): Depend on w32font.h.
8655
86562008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8657
8658 * charset.c (Fdefine_charset_internal): Record a supplementary
8659 charset at the tail of Vcharset_order_list.
8660
8661 * font.c (Ffont_shape_text): Fix the return value.
8662
8663 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
8664
8665 * xdisp.c (handle_auto_composed_prop): Fix previous change.
8666
86672008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8668
8669 * ftfont.c (struct OpenTypeSpec): New struct.
8670 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
8671 (ftfont_get_open_type_spec): New function.
8672 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
8673
8674 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
8675
86762008-02-01 Jason Rumney <jasonr@gnu.org>
8677
8678 * w32font.c (add_font_entity_to_list): Compare only the beginning
8679 of full name.
8680
86812008-02-01 Kenichi Handa <handa@m17n.org>
8682
8683 * xdisp.c (handle_auto_composed_prop): Simplify the code.
8684 Never return HANDLED_RECOMPUTE_PROPS.
8685
86862008-02-01 Kenichi Handa <handa@m17n.org>
8687
8688 * font.c (font_gstring_produce): Delete it.
8689
8690 * composite.h (COMPOSITION_METHOD):
8691 Handle COMPOSITION_WITH_GLYPH_STRING.
8692
86932008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8694
8695 * xfont.c (Qx): Delete.
8696 (syms_of_xfont): Don't initialize Qx.
8697
8698 * composite.h (enum composition_method):
8699 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
8700
87012008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8702
8703 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
8704 (choose_face_font): Accept new form of font-spec.
8705
8706 * frame.h (font_driver_list): Declare it unconditionally.
8707 (struct frame): Define members font_driver_list and font_data_list
8708 unconditionally.
8709
8710 * fontset.c: Include "font.h" unconditionally.
8711 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
8712 (Fset_fontset_font): Accept a font-spec object.
8713
8714 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
8715 PIXEL_SIZE part a wild card.
8716
8717 * dispextern.h (struct glyph_string): Define members clip and
8718 num_clips unconditionally.
8719 (struct face): Define members font_info and extra unconditionally.
8720
8721 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
8722 ftfont_info only when HAVE_LIBOTF is defined.
8723
87242008-02-01 Andreas Schwab <schwab@suse.de>
8725
8726 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
8727 and end.
8728
87292008-02-01 Jason Rumney <jasonr@gnu.org>
8730
8731 * w32font.c (w32font_driver): Add new fields.
8732
87332008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8734
8735 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
8736 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
8737 (LIBES): Add @M17N_FLT_CFLAGS@.
8738
8739 * composite.c (compose_text): Don't treat the new style
8740 composition specially.
8741
8742 * emacs.c (main): Call syms_of_font unconditionally.
8743
8744 * font.h (FONT_ENTITY_NOT_LOADABLE)
8745 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
8746 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
8747 (struct font_driver): New member shape.
8748 (font_registry_charsets): Extern it.
8749 (font_find_for_lface, font_prepare_composition): Adjust prototype.
8750 (font_otf_capability, font_drive_otf): Delete their externs.
8751
8752 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
8753 (font_charset_alist, font_registry_charsets): Move from xfont.c
8754 and rename.
8755 (font_prop_validate_otf): New function.
8756 (font_property_table): Register it for QCotf.
8757 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
8758 (font_drive_otf): Delete.
8759 (font_prepare_composition): New arg F. Adjust for the change of
8760 lispy gstring.
8761 (font_find_for_lface): New arg C.
8762 (font_load_for_face): Adjust for the change of font_find_for_lface.
8763 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
8764 lispy gstring.
8765 (Ffont_shape_text): New function.
8766 (Fopen_font): If the font size is not given, use 12-pixel.
8767 (Ffont_at): New arg STRING.
8768 (syms_of_font): Initalize font_charset_alist.
8769 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
8770 conditionally.
8771
8772 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
8773 fonts of the same font-spec. Change the format of RFONT-DEF.
8774 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
8775 Adjust for the change of RFONT-DEF.
8776 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
8777
8778 * ftfont.h: New file.
8779
8780 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
8781 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
8782 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
8783 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
8784 font_otf_capability and font_drive_otf, set ftfont_shape.
8785 (ftfont_list): Adjust for the change of :otf property value.
8786 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
8787 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
8788 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
8789 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
8790 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
8791 (otf_gstring, gstring, m17n_flt_initialized): New variables.
8792
8793 * w32term.c (x_draw_composite_glyph_string_foreground):
8794 Adjust for the change of lispy gstring.
8795
8796 * xdisp.c (handle_composition_prop): Adjust for the change of
8797 lispy gstring. Call a function for auto-composition with the
8798 third arg it->window.
8799 (fill_composite_glyph_string): Adjust for the change of lispy string.
8800 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
8801
8802 * xfaces.c (set_font_frame_param): Adjust for the change of
8803 font_find_for_lface.
8804
8805 * xfont.c (x_font_charset_alist): Move to font.c and rename.
8806 (xfont_registry_charsets): Likewise. Change caller.
8807 (syms_of_xfont): Don't handle x_font_charset_alist.
8808
8809 * xftfont.c: Include "ftfont.h".
8810 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
8811 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
8812 (xftfont_close) [HAVE_LIBOTF]: Close otf.
8813 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
8814 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
8815 Set xftfont_driver.shape to xftfont_shape.
8816
8817 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
8818 the change of lispy gstring.
8819
88202008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8821
8822 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
8823
88242008-02-01 Jason Rumney <jasonr@gnu.org>
8825
8826 * w32font.c (w32font_draw): Fill background manually.
8827
88282008-02-01 Jason Rumney <jasonr@gnu.org>
8829
8830 * font.c (Qfontp): Remove unused symbol.
8831 (QCantialias): New symbol.
8832 (syms_of_font): Define it.
8833 (font_property_table): Set a validator for QCantialias.
8834
8835 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
8836 Define if not already.
8837 (QCfamily): Share with xfaces.c.
8838 (Qstandard, Qsubpixel, Qnatural): New symbols.
8839 (syms_of_w32font): Define them. Don't define QCfamily here.
8840 (w32_antialias_type, lispy_antialias_type): New functions.
8841 (w32_enumfont_pattern_entity): New arg requested_font.
8842 Set antialias parameter if non-default was requested.
8843 (fill_in_logfont): Fill in lfQuality if :antialias specified.
8844
88452008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8846
8847 * lread.c (read1): Undo the previous change.
8848
88492008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
8850
8851 * frame.c (Fdelete_frame): Call font_update_drivers only when
8852 USE_FONT_BACKEND is defined.
8853
88542008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8855
8856 * font.h (struct font_bitmap): New member bits_per_pixel.
8857 (struct font_driver): New members start_for_frame and end_for_frame.
8858 (struct font_data_list): New struct.
8859 (font_put_frame_data, font_get_frame_data): Extern them.
8860
8861 * frame.h (struct frame): New member font_data_list.
8862
8863 * font.c (font_update_drivers): Call driver->start_for_frame and
8864 driver->end_for_frame at proper timings.
8865 (font_put_frame_data, font_get_frame_data): New functions.
8866 (Ffont_spec): Add usage in the docstring.
8867
8868 * frame.c (make_frame): Initialize f->font_data_list to NULL.
8869 (Fdelete_frame): Call font_update_drivers.
8870
8871 * xftfont.c (struct xftface_info): Delete the member xft_draw.
8872 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
8873 (xftfont_get_xft_draw): New function.
8874 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
8875 (xftfont_end_for_frame): New function.
8876 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
8877
8878 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
8879 Change argument. Cache GCs in the per-frame data.
8880 (struct ftxfont_frame_data): New struct.
8881 (ftxfont_draw_bitmap): New arg gc_fore and flush.
8882 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
8883 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
8884 (ftxfont_end_for_frame): New function.
8885 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
8886
8887 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
8888
88892008-02-01 Kenichi Handa <handa@m17n.org>
8890
8891 * xselect.c (Vselection_coding_system)
8892 (Vnext_selection_coding_system): Delete them.
8893 (syms_of_xselect): Don't declare selection-coding-system and
8894 next-selection-coding-system. They are declared in select.el.
8895
88962008-02-01 Jason Rumney <jasonr@gnu.org>
8897
8898 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
8899
8900 * w32fns.c: Include imm.h.
8901 (get_composition_string_fn, get_ime_context_fn): New optional
8902 system functions.
8903 (globals_of_w32fns): Load them from imm32.dll.
8904 (ignore_ime_char): New flag.
8905 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
8906 WM_IME_ENDCOMPOSITION messages.
8907
8908 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
8909 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
8910
89112008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8912
8913 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
8914 (READCHAR_REPORT_MULTIBYTE): New macro.
8915 (readchar): New 2nd arg MULTIBYTE.
8916 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
8917 Make symbol's name multibyte according to the multibyteness of the
8918 source.
8919
89202008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8921
8922 * xfaces.c (face_for_overlay_string): Call lookup_face with
8923 correct arguments (fix of synching with the trunk).
8924
89252008-02-01 Kenichi Handa <handa@m17n.org>
8926
8927 * font.c (font_prop_validate_symbol, font_prop_validate_style)
8928 (font_prop_validate_non_neg, font_prop_validate_spacing):
8929 Delete argument prop_index.
8930 (font_property_table): Change arguments to validater. Change Callers.
8931 (font_lispy_object): Delete.
8932 (font_at): Use font_find_object instead fo font_lispy_object.
8933
89342008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8935
8936 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
8937 and file names.
8938
89392008-02-01 Jason Rumney <jasonr@gnu.org>
8940
8941 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
8942 (font_matches_spec): Remove debug output.
8943 (add_font_entity_to_list): Avoid using substituted fonts.
8944
89452008-02-01 Jason Rumney <jasonr@gnu.org>
8946
8947 * doc.c (Fsnarf_documentation):
8948 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
8949
89502008-02-01 Miles Bader <miles@gnu.org>
8951
8952 * dispextern.h (struct glyph_row): Only define "clip" field if
8953 HAVE_WINDOW_SYSTEM is defined.
8954
89552008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
8956
8957 Fix up multi-tty merge.
8958
8959 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
8960 and indentation.
8961
8962 * xfaces.c (free_realized_face, clear_face_gcs):
8963 Include font_done_for_face in the input_blocked section, just in case.
8964
8965 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
8966 (get_char_face_and_encoding): Undo last change and remove the *other*
8967 duplicate definition (i.e. keep the one that's better scoped and that
8968 includes code for the font-backend).
8969
8970 * terminal.c (create_terminal): Default keyboard_coding to
8971 `no-conversion' and terminal_coding to `undecided'.
8972
8973 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
8974
8975 * fontset.c (free_realized_fontsets): Check that the table entry does
8976 contain a fontset before trying to compare it to `base'.
8977
8978 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
8979 syms_of_charset, and syms_of_coding earlier because init_window_once
8980 now needs Vcoding_system_hash_table to be setup.
8981
8982 * coding.h (default_buffer_file_coding): Remove.
8983
8984 * coding.c (default_buffer_file_coding): Remove.
8985 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
8986 than ->symbol, and use the terminal-local coding system.
8987 (syms_of_coding): Don't setup the coding-systems that are not
8988 terminal-local.
8989 (Fdefine_coding_system_internal): Use XCAR/XCDR.
8990
8991 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
8992 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
8993
8994 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
8995 in chartab.c and were re-added here by mistake.
8996 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
8997
8998 * doc.c (Fsnarf_documentation):
8999 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
9000 src to etc.
9001
9002 * ChangeLog.10: Add mistakenly removed entry.
9003
90042008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
9005
9006 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
9007
90082008-02-01 Miles Bader <miles@gnu.org>
9009
9010 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
9011 Add extra args to FACE_FOR_CHAR.
9012
90132008-02-01 Kenichi Handa <handa@m17n.org>
9014
9015 * keymap.c (where_is_internal_1): If key is a cons, store the copy
9016 in sequence.
9017
9018 * chartab.c (map_sub_char_table, map_char_table): If the range
9019 contains just one character, call the function with that character
9020 even if the depth is not 3.
9021
90222008-02-01 Jason Rumney <jasonr@gnu.org>
9023
9024 * w32font.c (w32font_text_extents): Calculate metrics for the
9025 whole string.
9026
90272008-02-01 Jason Rumney <jasonr@gnu.org>
9028
9029 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
9030
90312008-02-01 Jason Rumney <jasonr@gnu.org>
9032
9033 * w32term.c (x_set_glyph_string_clipping): Use
9034 get_glyph_string_clip_rects.
9035 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
9036 Adjust for the change of struct glyph_string.
9037
9038 * w32font.c (w32font_draw): Do clipping here.
9039
90402008-02-01 Kenichi Handa <handa@m17n.org>
9041
9042 * xftfont.c (xftfont_draw): Adjust for the change of struct
9043 glyph_string.
9044
9045 * xterm.c (x_set_glyph_string_clipping): Use
9046 get_glyph_string_clip_rects.
9047 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
9048 Adjust for the change of struct glyph_string.
9049
9050 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
9051 the resulting clip(s}.
9052 (expose_overlaps): Add arg r. Change callers. Set it to
9053 row->clip temporarily.
9054 (expose_window): Redraw rows overlapping the exposed area.
9055
9056 * dispextern.h (struct glyph_row): New member clip.
9057 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
9058 clip_height, new member clip, and num_clips.
9059
90602008-02-01 Kenichi Handa <handa@m17n.org>
9061
9062 * data.c (Fchar_or_string_p): Fix docstring.
9063
90642008-02-01 Kenichi Handa <handa@m17n.org>
9065
9066 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
9067 create a temporary XftDraw object.
9068
90692008-02-01 Kenichi Handa <handa@m17n.org>
9070
9071 * font.c (Ffontp): Fix docstring.
9072
9073 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
9074 strong evidence of ISO-2022.
9075
90762008-02-01 Kenichi Handa <handa@m17n.org>
9077
9078 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
9079 SYNTAX_ENTRY_FOLLOW_PARENT.
9080
90812008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
9082
9083 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
9084 its type.
9085 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
9086 Update to the new type of weak_hash_tables and next_weak.
9087
9088 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
9089 a plain C pointer to Lisp_Hash_Table.
9090
9091 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
9092 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
9093 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
9094 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
9095 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
9096 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
9097 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
9098 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
9099 (GC_EQ): Remove since they've been identical to their non-GC_
9100 alter-egos ever since the markbit was eradicated.
9101
9102 * alloc.c:
9103 * buffer.c:
9104 * buffer.h:
9105 * data.c:
9106 * fileio.c:
9107 * filelock.c:
9108 * fns.c:
9109 * frame.h:
9110 * lisp.h:
9111 * macterm.c:
9112 * print.c:
9113 * process.c:
9114 * w32fns.c:
9115 * w32menu.c:
9116 * w32term.c:
9117 * xfns.c:
9118 * xmenu.c:
9119 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
9120
91212008-02-01 Kenichi Handa <handa@m17n.org>
9122
9123 * chartab.c (map_sub_char_table): Make it work for the top-level
9124 char-table. Fix handling of parent char-table.
9125 (map_char_table): Adjust for the above change.
9126
91272008-02-01 Jason Rumney <jasonr@gnu.org>
9128
9129 * w32font.c (Qgdi): Rename from Qw32.
9130
91312008-02-01 Jason Rumney <jasonr@gnu.org>
9132
9133 * w32bdf.c (get_quoted_string): Make function static.
9134
91352008-02-01 Kenichi Handa <handa@m17n.org>
9136
9137 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
9138 bigger ascent and descent than those of the font, use them as
9139 font's ascent and descent.
9140
91412008-02-01 Kenichi Handa <handa@m17n.org>
9142
9143 * Makefile.in (${lispsource}international/charprop.el): Move this
9144 target within "#ifdef HAVE_UNIDATA" and "#endif".
9145
91462008-02-01 Kenichi Handa <handa@m17n.org>
9147
9148 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
9149 (shortlisp): Add ../lisp/language/tai-viet.el.
9150
91512008-02-01 Ulrich Mueller <ulm@gentoo.org>
9152
9153 * Makefile.in (${lispsource}international/charprop.el): Depend on
9154 temacs${EXEEXT}.
9155
91562008-02-01 Jason Rumney <jasonr@gnu.org>
9157
9158 * w32font.c (w32font_close): Delete the GDI font object.
9159
9160 * w32menu.c: Include character.h.
9161
9162 * w32proc.c: Likewise.
9163
9164 * w32select.c: Likewise.
9165
9166 * makefile.w32-in (w32proc.o): Depend on character.h.
9167
91682008-02-01 Jason Rumney <jasonr@gnu.org>
9169
9170 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
9171
9172 * w32menu.c (syms_of_w32menu): Likewise.
9173
9174 * w32proc.c (syms_of_ntproc): Likewise.
9175
9176 * w32select.c (syms_of_w32select): Likewise.
9177
9178 * w32term.c (syms_of_w32term): Likewise.
9179
91802008-02-01 Jason Rumney <jasonr@gnu.org>
9181
9182 * w32font.c (w32font_draw): Delete brush after using it.
9183
91842008-02-01 Jason Rumney <jasonr@gnu.org>
9185
9186 * w32font.c (w32font_open): Don't set font_idx.
9187 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
9188 to font settings.
9189 (w32font_draw): Fill background explicitly.
9190
91912008-02-01 Jason Rumney <jasonr@gnu.org>
9192
9193 * w32term.c (w32_initialize): Don't call w32font_initialize.
9194
9195 * w32font.c (w32font_info): Remove subranges.
9196 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
9197 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
9198 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
9199 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
9200 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
9201 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
9202 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
9203 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
9204 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
9205 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
9206 New symbols.
9207 (font_callback_data): New struct.
9208 (w32font_list, w32font_match): Use it.
9209 (w32font_open): Don't populate subranges.
9210 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
9211 (w32font_encode_char): Always return unicode code-point as-is.
9212 (w32font_text_extents): Supply a transformation matrix to
9213 GetGlyphOutline. Never look up by glyph index. Avoid looping
9214 twice. Use unicode version of GetTexExtentPoint32 instead of
9215 glyph index version.
9216 (set_fonts_frame): Remove.
9217 (w32_enumfont_pattern_entity): Add frame parameter, use it to
9218 set frame parameter. Use backward compatible fake foundries.
9219 Save generic family in extra slot under QCfamily. Make width slot
9220 constant. Save QCspacing value. Save list of scripts instead of
9221 binary subranges.
9222 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
9223 (add_font_entity_to_list): Use font_callback_data struct. Filter
9224 unwanted fonts.
9225 (add_one_font_entity_to_list): Use font_callback_data struct.
9226 (w32_registry): Default to iso10646_1.
9227 (fill_in_logfont): Use dpi from extra slot. Don't bother with
9228 string font registries. Don't fill in font name if it is a generic
9229 family name, fill family instead. Use spacing, family and script
9230 extra info to fill pitch, family and charset fields.
9231 (list_all_matching_fonts): Use font_callback_data struct.
9232 (unicode_range_for_char): Remove.
9233 (font_supported_scripts): New function.
9234 (w32font_initialize): Remove.
9235 (syms_of_w32font): Update which symbols are defined.
9236
92372008-02-01 Jason Rumney <jasonr@gnu.org>
9238
9239 * font.c (font_pixel_size): Reverse assq_no_quit args.
9240
9241 * w32term.h (FONT_WIDTH): Report max width, not average.
9242 (FONT_MAX_WIDTH): Remove.
9243 (FONT_AVG_WIDTH): New macro.
9244
9245 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
9246 redefinition of FONT_WIDTH.
9247
9248 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
9249 (w32_cache_char_metrics): Use FONT_WIDTH.
9250
9251 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
9252
92532008-02-01 Jason Rumney <jasonr@gnu.org>
9254
9255 * w32font.c (w32font_open): Make lfHeight negative.
9256
9257 * w32fns.c (x_default_font_parameter): Use new style font name.
9258 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
9259
92602008-02-01 Jason Rumney <jasonr@gnu.org>
9261
9262 * w32font.c (QCsubranges): New symbol.
9263 (w32font_open, w32font_has_char): Get subranges from subproperty
9264 of extra.
9265 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
9266 (syms_of_w32font): Define :subranges symbol.
9267
9268 * font.c (font_put_extra): Expose externally.
9269
9270 * font.h (font_put_extra): Move declaration from font.c.
9271
9272 * font.c (Ffont_get): Use font driver to determine otf capability.
9273 (adjust_anchor): Check if driver defines anchor_point before using.
9274
9275 * w32font.c (w32font_open): Handle size, height and pixel_size better.
9276 (w32font_draw): Use options.
9277 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
9278 Fix detection of truetype fonts.
9279 (registry_to_w32_charset): Handle charsets other than iso8859-1
9280 expressed as lisp symbols.
9281 (w32_registry): Express charset as lisp symbol.
9282 (fill_in_logfont): Reverse pixel and point height logic.
9283 Don't set width here. Set quality to default.
9284
9285 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
9286 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
9287
9288 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
9289 Remove redundant loop and allocation.
9290
9291 * makefile.w32-in (font.o, w32font.o): New objects.
9292 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
9293 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
9294
9295 * xdisp.c (fill_composite_glyph_string): Make the first arg to
9296 STORE_XCHARB a valid l-value.
9297
9298 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
9299 calculations for non-Truetype fonts.
9300 (x_draw_glyph_string): Sync with xterm.c.
9301 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
9302 Remove redundant code.
9303 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
9304
9305 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
9306 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
9307
9308 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
9309 (x_to_w32_charset, w32_to_x_charset): Expose externally.
9310
9311 * w32font.c: New file for w32 font backend.
9312
93132008-02-01 Kenichi Handa <handa@m17n.org>
9314
9315 * term.c: Don't include "buffer.h" twice.
9316
93172008-02-01 Kenichi Handa <handa@m17n.org>
9318
9319 * character.c (Funibyte_string): New function.
9320 (syms_of_character): Defsubr it.
9321
93222008-02-01 Jason Rumney <jasonr@gnu.org>
9323
9324 * w32term.c [USE_FONT_BACKEND]:
9325 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
9326 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
9327 (x_draw_glyph_string, x_draw_glyph_string_foreground)
9328 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
9329 (x_free_frame_resources): Sync with xterm.c.
9330
93312008-02-01 Andreas Schwab <schwab@suse.de>
9332
9333 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
9334 char-table size.
9335
93362008-02-01 Kenichi Handa <handa@m17n.org>
9337
9338 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
9339
93402008-02-01 Kenichi Handa <handa@m17n.org>
9341
9342 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
9343 font_otf_gpos, add font_drive_otf.
9344
9345 * fontset.c (fontset_find_font): Pay attention to font size
9346 specified for a font.
9347 (reorder_font_vector): Check contents of font_def.
9348
9349 * font.c (struct otf_list): Delete it.
9350 (otf_list): Make it a lisp variable.
9351 (otf_open): Use lispy otf_list.
9352 (generate_otf_features): Rename from parse_gsub_gpos_spec.
9353 (check_otf_features): New function.
9354 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
9355 New functions.
9356 (font_drive_otf): New function merging font_otf_gsub and
9357 font_otf_gpos.
9358 (font_open_for_lface): New arg spec. Change argument order.
9359 (font_load_for_face): Adjust for the change of font_open_for_lface.
9360 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
9361 Ffont_otf_gpos.
9362 (syms_of_font): Staticpro otf_list. Delete defsubr of
9363 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
9364
9365 * xfaces.c (set_font_frame_param): Adjust for the change of
9366 font_open_for_lface.
9367
9368 * font.h (font_open_for_lface): Adjust prototype.
9369 (struct font_driver): Delete members otf_gsub and otf_gpos, add
9370 member otf_drive.
9371 (font_otf_gsub, font_otf_gpos): Delete externs.
9372 (font_drive_otf): Extern it.
9373
93742008-02-01 Kenichi Handa <handa@m17n.org>
9375
9376 * font.c (font_at): If the window W is not on a window system,
9377 return Qnil.
9378
9379 * coding.c (produce_chars, encode_coding): Don't call
9380 insert_from_gap if no characters to produce.
9381
93822008-02-01 Kenichi Handa <handa@m17n.org>
9383
9384 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
9385 Fclear_face_cache.
9386
9387 * xfaces.c (face_for_font): Check also face->font==font->font.font.
9388
93892008-02-01 Miles Bader <miles@gnu.org>
9390
9391 * emacs.c (main): Change default value of `enable_font_backend' to 1.
9392 Parse "--disable-font-backend" option.
9393 (standard_args): Add "--disable-font-backend" option.
9394
93952008-02-01 Kenichi Handa <handa@m17n.org>
9396
9397 * fontset.c (fontset_find_font): New function.
9398 (fontset_font): Use fontset_find_font.
9399 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
9400 Register the specified font for all Latin characters.
9401 (new_fontset_from_font): Register the specified font for all Latin
9402 characters.
9403 (dump_fontset): For a realized fontset, include the base fontset
9404 name in the returned vector.
9405
94062008-02-01 Kenichi Handa <handa@m17n.org>
9407
9408 * character.h (CHAR_STRING): Cast C to unsigned on calling
9409 char_string.
9410
9411 * character.c (char_string): Type of arg C changed to unsigned.
9412 Signal an error if C is an invalid character code.
9413
9414 * editfns.c (general_insert_function, Fchar_to_string):
9415 Use CHARACTERP, not INTEGERP.
9416
94172008-02-01 Kenichi Handa <handa@m17n.org>
9418
9419 * character.h (MIN_MULTIBYTE_LEADING_CODE)
9420 (MAX_MULTIBYTE_LEADING_CODE): New macros.
9421
9422 * regex.c (analyse_first): Fix for multibyte characters in "case
9423 charset:" and "case categoryspec:".
9424
94252008-02-01 Andreas Schwab <schwab@suse.de>
9426
9427 * Makefile.in (LIBES): Move standard libraries to the end.
9428
94292008-02-01 Kenichi Handa <handa@m17n.org>
9430
9431 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
9432 nonzero, don't shrink the buffer nextb.
9433
9434 * buffer.h (struct buffer_text): New member inhibit_shrinking.
9435
9436 * coding.c (coding_alloc_by_making_gap): New arg offset.
9437 (alloc_destination): Call coding_alloc_by_making_gap with the arg
9438 offset.
9439 (decode_coding_iso_2022): Update coding->safe_charsets.
9440 (decode_coding_gap): Temporarily set
9441 current_buffer->text->inhibit_shrinking to 1.
9442
94432008-02-01 Kenichi Handa <handa@m17n.org>
9444
9445 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
9446 indexing into elements of s->cmp and s->char2b.
9447
94482008-02-01 Juanma Barranquero <lekktu@gmail.com>
9449
9450 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
9451
94522008-02-01 Kenichi Handa <handa@m17n.org>
9453
9454 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
9455 target_multibyte instead of multibyte.
9456 (re_match_2_internal): Call bcmp_translate with target_multibyte.
9457 (bcmp_translate): Change the argument name from multibyte to
9458 target_multibyte.
9459
94602008-02-01 Kenichi Handa <handa@m17n.org>
9461
9462 These changes are to compile a regexp into a pattern that can be
9463 used both for multibyte and unibyte targets.
9464
9465 * Makefile.in (search.o): Depend on charset.h.
9466
9467 * character.c (multibyte_char_to_unibyte_safe): New function.
9468
9469 * search.c: Include "charset.h".
9470 (compile_pattern_1): Delete argument multibyte. Don't set
9471 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
9472 (compile_pattern): Don't compare cp->buf.target_multibyte.
9473 Compare cp->buf.charset_unibyte.
9474 (compile_pattern): Set cp->buf.target_multibyte.
9475
9476 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
9477
9478 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
9479
9480 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
9481 multibyte. Change callers.
9482 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
9483 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
9484 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
9485 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
9486 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
9487 (regex_compile): Make the compiled pattern usable both for
9488 multibyte and unibyte targets.
9489 (analyse_first): Make the fastmap usable both for multibyte and
9490 unibyte targets.
9491 (TRANSLATE_VIA_MULTIBYTE): Delete.
9492 (re_match_2_internal): Pay attention to the case that the
9493 multibyteness of bufp and target may be different.
9494
94952008-02-01 Kenichi Handa <handa@m17n.org>
9496
9497 * xdisp.c (x_produce_glyphs): When a font is not found, make the
9498 empty box occupy at least one column width.
9499
95002008-02-01 Miles Bader <miles@gnu.org>
9501
9502 * Makefile.in: Remove redundant HAVE_XFT clause.
9503
95042008-02-01 Kenichi Handa <handa@m17n.org>
9505
9506 * xrdb.c (x_load_resources): Setup the default fontSet X resource.
9507
95082008-02-01 Kenichi Handa <handa@m17n.org>
9509
9510 * fontset.c (Finternal_char_font): Fix for the case of POSITION
9511 being nil.
9512
95132008-02-01 Kenichi Handa <handa@m17n.org>
9514
9515 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
9516
95172008-02-01 Kenichi Handa <handa@m17n.org>
9518
9519 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
9520
95212008-02-01 Kenichi Handa <handa@m17n.org>
9522
9523 * search.c (simple_search): Fix previous change.
9524
95252008-02-01 Kenichi Handa <handa@m17n.org>
9526
9527 * xftfont.c (ftfont_font_format): Extern declaration.
9528
9529 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
9530
9531 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
9532 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
9533
9534 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
9535 (ftfont_font_format): Fix previous change.
9536
9537 * font.h (Ffont_xlfd_name): EXFUN it.
9538
9539 * font.c (font_parse_xlfd): Fix the array size of `f'.
9540 (register_font_driver): Use EQ to compare driver->type.
9541
9542 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
9543 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
9544 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
9545
95462008-02-01 Kenichi Handa <handa@m17n.org>
9547
9548 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
9549 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
9550
95512008-02-01 Kenichi Handa <handa@m17n.org>
9552
9553 * xfont.c (xfont_open): Set font->format.
9554
9555 * xftfont.c (xftfont_open): Set font->format.
9556
9557 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
9558 (ftfont_list): Include FC_FONTFORMAT in FcObject.
9559 (ftfont_open): Set font->format.
9560 (ftfont_font_format): New function.
9561
9562 * font.h (struct font): New member format.
9563
9564 * font.c (Qopentype): New variable.
9565 (syms_of_font): Defsym it.
9566 (Fquery_font): Change the format of the last element of the return
9567 value.
9568
95692008-02-01 Kenichi Handa <handa@m17n.org>
9570
9571 * xfns.c (xic_create_xfontset): Try the default fontset name as a
9572 last resort.
9573
95742008-02-01 Kenichi Handa <handa@m17n.org>
9575
9576 * coding.c (detect_coding_charset): Fix detection of multi-byte
9577 charset.
9578
95792008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
9580
9581 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
9582
95832008-02-01 Kenichi Handa <handa@m17n.org>
9584
9585 * xdisp.c (get_next_display_element): Set it->face_id for the
9586 first component of a composition.
9587 (x_produce_glyphs): Check if the font is changed or not for composition.
9588
95892008-02-01 Kenichi Handa <handa@m17n.org>
9590
9591 * fontset.c (Qlatin): New variable.
9592 (syms_of_fontset): Define it as a lisp symbol.
9593 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
9594
95952008-02-01 Kenichi Handa <handa@m17n.org>
9596
9597 * font.c (font_unparse_fcname): Pay attention to the case that
9598 some of font property is a null string.
9599
96002008-02-01 Kenichi Handa <handa@m17n.org>
9601
9602 * term.c: Include "composite.h".
9603 (encode_terminal_code): Output all components of composition.
9604 Check the size of encode_terminal_src.
9605 (produce_glyphs): For composition, call produce_composite_glyph.
9606 (append_composite_glyph, produce_composite_glyph): New functions.
9607
9608 * xdisp.c (x_produce_glyphs): In handling composition, if a font
9609 is not found, get font_info from the current ascii face.
9610
96112008-02-01 Kenichi Handa <handa@m17n.org>
9612
9613 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
9614 buffer-file-name to Qnil before calling insert_from_buffer.
9615
9616 * font.c (font_unparse_fcname): Pay attention to the case that
9617 foundry is a null string.
9618
96192008-02-01 Kenichi Handa <handa@m17n.org>
9620
9621 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
9622
9623 * font.c (Qunicode_sip): New variable.
9624 (syms_of_font): Declare it as a Lisp symbol.
9625
9626 * font.h (Qunicode_sip): Extern it.
9627
96282008-02-01 Kenichi Handa <handa@m17n.org>
9629
9630 * composite.c (get_composition_id): Pay attention to TAB component.
9631
9632 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
9633 TAB. Adjust for the change of s->char2b which always points to
9634 the first element of allocated memory.
9635
9636 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
9637
9638 * xdisp.c (handle_composition_prop): Set it->c to the first
9639 non-TAB component.
9640 (fill_composite_glyph_string): Change argument.
9641 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
9642 (x_produce_glyphs): Fix handling of left/right padding.
9643
96442008-02-01 Kenichi Handa <handa@m17n.org>
9645
9646 * coding.c (detect_coding_system): Fix for handling off
9647 inhibit_iso_escape_detection. Fix for the case that no coding
9648 system is defined for a specific coding category.
9649
96502008-02-01 Kenichi Handa <handa@m17n.org>
9651
9652 * font.c (font_matching_entity): Delete unused local var.
9653
9654 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
9655 opening a font.
9656
9657 * fileio.c (Finsert_file_contents): On recovering a file, assume
9658 Unix-like eol.
9659 (choose_write_coding_system): On auto-saving a file, force
9660 Unix-like eol.
9661
9662 * coding.c (setup_coding_system): Fix setting of
9663 coding->common_flags based on eol_type.
9664 (coding_inherit_eol_type): If PARENT is not nil, be sure to
9665 inherit from it.
9666
96672008-02-01 Kenichi Handa <handa@m17n.org>
9668
9669 * alloc.c (NSTATICS): Increas to 0x600.
9670
96712008-02-01 Kenichi Handa <handa@m17n.org>
9672
9673 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
9674 (ftfont_list): Don't check :name property.
9675 (ftfont_match): New function.
9676 (ftfont_pattern_entity): If the pattern doesn't contain
9677 FC_SPACING, don't assume FC_MONO.
9678
9679 * font.h (struct font_driver): New member `match'.
9680 (font_update_drivers): Adjust prototype.
9681
9682 * font.c (font_parse_fcname, font_parse_name): Don't change :name
9683 property of FONT.
9684 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
9685 them unconditionally.
9686 (font_matching_entity): New function.
9687 (font_open_by_name): Try font_matching_entity if exact match is
9688 not found.
9689 (font_update_drivers): Delete the arg FONT. Return a list of
9690 actually used backends. Don't free faces, font caches here.
9691 Don't store data in frame parameters. Don't call x_set_font.
9692 (Ffont_spec): Store :name property as is.
9693 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
9694 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
9695 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
9696 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
9697 Call font->driver->otf_gsub instead of font_otf_gsub.
9698
9699 * frame.c (x_set_font_backend): Do more works that were done in
9700 font_update_drivers before.
9701
9702 * xfont.c (xfont_match): New function.
9703 (xfont_driver): Set xfont_driver.match to xfont_match.
9704 (xfont_draw): Set font in GC if necessary.
9705
9706 * ftxfont.c (ftxfont_match): New function.
9707 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
9708
9709 * xftfont.c (xftfont_match): New function.
9710 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
9711
97122008-02-01 Kenichi Handa <handa@m17n.org>
9713
9714 * font.h (struct font): New member scalable.
9715 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
9716 (font_otf_gsub): Adjust prototype.
9717
9718 * font.c (font_otf_capability): Fix handling of the default langsys.
9719 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
9720 Check the contents of SPEC.
9721 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
9722 (check_gstring): New function.
9723 (REPLACEMENT_CHARACTER): New macro.
9724 (font_otf_gsub): New arg alternate_subst. Be sure to set all
9725 glyph codes of GSTRING.
9726 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
9727 (font_prepare_composition): Set cmp->glyph_len.
9728 (font_open_entity): Set font->scalable.
9729 (Ffont_get): Handle :otf property.
9730 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
9731 functions.
9732 (Fquery_font): Use font->font.full_name.
9733 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
9734 Sfont_otf_alternates.
9735
9736 * ftfont.c (ftfont_open): Set font->font.full_name and
9737 font->font.name properly. Fix calculation of font->font.height
9738 and font->min_width.
9739
9740 * ftxfont.c (ftxfont_create_gcs): New function.
9741 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
9742 (ftxfont_draw_backgrond): Fix filling region.
9743 (ftxfont_default_fid): New function.
9744 (ftxfont_open): Set xfont->fid to the return value of
9745 ftxfont_default_fid.
9746 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
9747 (ftxfont_done_face): Free only GCs that are created by
9748 ftxfont_create_gcs.
9749 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
9750
9751 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
9752 Clip to src->width, etc (not src->clip_XXX).
9753
9754 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
9755 FontBackend frame parameter.
9756
97572008-02-01 Kenichi Handa <handa@m17n.org>
9758
9759 * font.h (struct font_driver_list): New member `on'.
9760 (Fclear_font_cache): EXFUN it.
9761 (font_update_drivers): Extern it.
9762
9763 * font.c (font_unparse_fcname): Fix typo (swidth->width).
9764 (font_list_entities): Check driver_list->on.
9765 (register_font_driver): Initalize `on' member to 0.
9766 (font_update_drivers): New function.
9767 (Fclear_font_cache): Check driver_list->on.
9768
9769 * frame.h (Qfont_backend): Extern it.
9770 (x_set_font_backend): Extern it.
9771
9772 * frame.c (Qfont_backend): New variable.
9773 (frame_parms): New element for font-backend.
9774 (x_set_font_backend): New function.
9775
9776 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
9777 FontBackend frame parameter.
9778 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
9779 x_set_font_backend.
9780
9781 * xfont.c (xfont_list): Don't try listing by :name property if the
9782 name is not for XLFD.
9783
97842008-02-01 Kenichi Handa <handa@m17n.org>
9785
9786 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
9787 (LGLYPH_SET_TO): New macros.
9788 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
9789 element of G is vector or not.
9790 (font_at): Extern it.
9791
9792 * font.c: Include window.h.
9793 (font_lispy_object): New function.
9794 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
9795 end of valid glyph.
9796 (font_close_object): Fix getting (struct font *).
9797 (font_at): New function.
9798 (Ffont_get): If FONT is a font-object, get entity from it.
9799 (Ffont_make_gstring): Initialize elements of glyphs with nil.
9800 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
9801 range check.
9802 (Ffont_at): New function.
9803 (syms_of_font): Defsubr Sfont_at.
9804
9805 * xdisp.c (it_props): Move the entry for Qauto_composed to just
9806 before the entry for Qcomposition.
9807 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
9808 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
9809 the font in gstring.
9810 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
9811 LGLYPH_FORM (g) to detect the end of valid glyph.
9812 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
9813 we are composing with gstring.
9814
9815 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
9816 Check if adjustment is vector or not.
9817
9818 * Makefile.in (font.o): Make it depends on window.h.
9819
98202008-02-01 Kenichi Handa <handa@m17n.org>
9821
9822 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
9823 adjustment is vector or not.
9824
98252008-02-01 Miles Bader <miles@gnu.org>
9826
9827 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
9828
98292008-02-01 Kenichi Handa <handa@m17n.org>
9830
9831 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
9832 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
9833 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
9834
9835 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
9836 (DEVICE_DELTA): Fix typo.
9837 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
9838 LGLYPH format.
9839
9840 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
9841 the change of LGLYPH format.
9842
98432008-02-01 Kenichi Handa <handa@m17n.org>
9844
9845 * ftfont.c (ftfont_list): Fix typo.
9846 (ftfont_build_basic_charsets): Don't include letters with diacritics.
9847
98482008-02-01 Jan Djärv <jan.h.d@swipnet.se>
9849
9850 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
9851
9852 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
9853 xftface_info is non-NULL.
9854
98552008-02-01 Jan Djärv <jan.h.d@swipnet.se>
9856
9857 * ftfont.c (ftfont_list): Move misplaced #endif.
9858
98592008-02-01 Kenichi Handa <handa@m17n.org>
9860
9861 * ftfont.c (ftfont_list): Pay attention to the case that
9862 FC_CAPABILITY is not defined.
9863
98642008-02-01 Kenichi Handa <handa@m17n.org>
9865
9866 * xftfont.c (xftfont_open): Set charset related members to -1.
9867
9868 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
9869 QCname.
9870 (ftfont_open): Set charset related members to -1.
9871
9872 * fontset.c (Votf_script_alist): New variable.
9873 (syms_of_fontset): Initialize it.
9874 (fontset_font): Delete unused variable.
9875
9876 * fontset.h (Votf_script_alist): Extern it.
9877
9878 * font.c (font_find_for_lface): Optimize code.
9879
9880 * font.h (font_close_object, font_merge_old_spec): Extern them.
9881
98822008-02-01 Kenichi Handa <handa@m17n.org>
9883
9884 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
9885 (syms_of_font): Initialize them.
9886 (font_pixel_size): Allow float value in dpi.
9887 (font_prop_validate_type): Delete.
9888 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
9889 Change caller.
9890 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
9891 (font_prop_validate_extra): Delete.
9892 (font_prop_validate_spacing): New function.
9893 (font_property_table): Add elements for all known properties.
9894 (get_font_prop_index): Rename from check_font_prop_name. New
9895 argument FROM. Change caller.
9896 (font_prop_validate): Validate all known properties.
9897 (font_put_extra): Delete argument force. Change caller.
9898 (font_expand_wildcards): Make it static. Fix the way of shrinking
9899 the possible range.
9900 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
9901 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
9902 Change caller.
9903 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
9904 (font_parse_fcname): Delete argument merge. Fix parsing of point
9905 size. Don't validate properties values here. Change caller.
9906 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
9907 (font_open_by_name): Delete unused variable.
9908 (Ffont_spec): Likewise. Validate property values.
9909 (Ffont_match_p): New function.
9910
9911 * font.h (QCscalable): Extern it.
9912 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
9913
9914 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
9915
9916 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
9917 (xfont_list_pattern): New function.
9918 (xfont_list): Use xfont_list_pattern.
9919
99202008-02-01 Kenichi Handa <handa@m17n.org>
9921
9922 * font.h (Flist_fonts): EXFUN it.
9923
99242008-02-01 Jason Rumney <jasonr@gnu.org>
9925
9926 * w32term.c (w32_initialize): Add back smoothing_type and
9927 smoothing_enabled definitions.
9928
99292008-02-01 Kenichi Handa <handa@m17n.org>
9930
9931 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
9932 s->face->font on determining underline position.
9933
99342008-02-01 Kenichi Handa <handa@m17n.org>
9935
9936 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
9937 (font_has_char): Accept font-object too.
9938 (font_find_for_lface): Try at first with a size specified in face.
9939
99402008-02-01 Kenichi Handa <handa@m17n.org>
9941
9942 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
9943 font_open_by_name.
9944
99452008-02-01 Kenichi Handa <handa@m17n.org>
9946
9947 * font.h (QCspacing, QCdpi): Extern them.
9948 (enum font_spacing): New enum.
9949 (FONT_PIXEL_SIZE_QUANTUM): New macro.
9950
9951 * font.c (POINT_TO_PIXEL): Don't divide POINT by 10.
9952 (QCspacing, QCdpi): New variables.
9953 (syms_of_font): Initialize them.
9954 (font_pixel_size): New function.
9955 (font_put_extra): New function.
9956 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
9957 in FONT_EXTRA.
9958 (font_parse_fcname): Handle enumerated values (e.g. bold).
9959 Fix handling font size. Add QCname property that contains only
9960 unknown properties.
9961 (font_score): Change argument. Change caller. Pay attention to
9962 FONT_PIXEL_SIZE_QUANTUM.
9963 (font_sort_entites, font_list_entities, font_find_for_lface)
9964 (font_open_for_lface, font_open_by_name): Fix handling of font size.
9965 (Ffont_spec): Add QCname property that contains only unknown properties.
9966
9967 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
9968 include weight in listing pattern, instead check weight of each
9969 listed font. Don't include scalable in pattern. Pay attention to
9970 FONT_PIXEL_SIZE_QUANTUM.
9971
99722008-02-01 Kenichi Handa <handa@m17n.org>
9973
9974 * font.c (font_parse_fcname): Fix parsing of point-size.
9975 (font_unparse_fcname): Produce symbolic names for style properties.
9976 (font_list_entities): Handle float size correctly.
9977 (font_open_by_name): Prefer `normal' property values if the name
9978 doesn't specify them.
9979
9980 * fontset.c (Finternal_char_font): Use font_get_name, not
9981 Ffont_xlfd_name.
9982
9983 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
9984 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
9985 pattern. Don't force scalable.
9986
9987 * xftfont.c (xftfont_open): For generating a name, start from
9988 96-byte buffer.
9989
99902008-02-01 Jan Djärv <jan.h.d@swipnet.se>
9991
9992 * frame.h (x_new_fontset2): Fix prototype.
9993
99942008-02-01 Kenichi Handa <handa@m17n.org>
9995
9996 * font.h (struct font_driver): Delete member parse_name.
9997 (font_match_p, font_get_spec, font_parse_fcname)
9998 (font_unparse_fcname): Extern them.
9999 (font_get_name): Adjust prototype.
10000
10001 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
10002 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
10003 (font_expand_wildcards): Fix handling ENCODING field. Avoid
10004 unnecessary checks for weight, slant, and swidth.
10005 (font_parse_fcname): New function.
10006 (font_unparse_fcname): New function.
10007 (font_parse_name): New function.
10008 (font_match_p): New function.
10009 (font_get_name): Change return value to Lisp string.
10010 (font_get_spec): New function.
10011 (Qunspecified, Qignore_defface): Don't extern them.
10012 (font_find_for_lface): Assume that LFACE is fully specified.
10013 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
10014 object, use it for FACE.
10015 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
10016 driver->parse_name.
10017 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
10018
10019 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
10020 prototype.
10021
10022 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
10023 argument F. Don't call Fnew_fontset. Instead, directly call
10024 make_fontset.
10025
10026 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
10027
10028 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
10029 of x_new_fontset2.
10030
10031 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
10032 (Qsans__serif): New variables.
10033 (ftfont_generic_family_list): New variable.
10034 (syms_of_ftfont): Initialize the above variables.
10035 (ftfont_pattern_entity): Delete argument NAME.
10036 (ftfont_list_generic_family): New function.
10037 (ftfont_parse_name): Delete this function.
10038 (ftfont_list): Try generic family only when FcFontList found no font.
10039 (ftfont_list_family): Fix args to FcObjectSetBuild.
10040
10041 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
10042 object in attrs[LFACE_FONT_INDEX].
10043 (set_lface_from_font_name): Cancel all changes for font-backend.
10044 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
10045 function.
10046 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
10047 font object in QCfont attribute.
10048 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
10049 (realize_default_face) [USE_FONT_BACKEND]: Call
10050 set_lface_from_font_and_fontset.
10051
10052 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
10053 "fixed", and signal error here if no suitable font was found.
10054
10055 * xfont.c (xfont_parse_name): Delete this function.
10056
10057 * xftfont.c (xftfont_open): Change coding style of error
10058 handling. Generate fontconfig's fontname pattern.
10059
10060 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
10061 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
10062
10063 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
10064 Both args FONTSET and FONT_OBJECT must be existing ones.
10065
100662008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10067
10068 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
10069
100702008-02-01 Kenichi Handa <handa@m17n.org>
10071
10072 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
10073
10074 * font.h (struct font): Fix typo.
10075
10076 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
10077 XLFD_XXX_INDEX.
10078 (enum xlfd_field_mask): New enum.
10079 (intern_font_field): Changed argument. Change caller. If digits
10080 are followed by non-digits, return a symbol.
10081 (font_expand_wildcards): New function.
10082 (font_parse_xlfd): Fix wildcard handling.
10083 (Ffont_spec): If :name is specified, reflect the info in the other
10084 properties.
10085
10086 * ftfont.c (ftfont_pattern_entity): Fix typo.
10087 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
10088 locale.
10089
100902008-02-01 Kenichi Handa <handa@m17n.org>
10091
10092 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
10093
10094 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
10095 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
10096 registry doesn't specify encoding part.
10097 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
10098 (font_open_by_name): At first try parsing the name.
10099 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
10100 as Lisp symbols.
10101
10102 * fontset.c (reorder_font_vector): Pay attention to the case that
10103 the 3rd element of font_def is nil.
10104 (fontset_font): For the default fontset, append one more fontset
10105 elements for a script-based font specification. Don't add script
10106 attribute on finding a font.
10107 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
10108 font name.
10109 (fontset_ascii_font): If a font can't be opened, return nil.
10110
10111 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
10112 (ftfont_pattern_entity): New function.
10113 (ftfont_get_cache): Assume that freetype_font_cache is already
10114 initialized.
10115 (ftfont_list): Handle the case that a file is specified in font
10116 name. Use ftfont_pattern_entity to generate entities.
10117 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
10118 (syms_of_ftfont): Initialize freetype_font_cache.
10119
10120 * xftfont.c (xftfont_open): Make the font name fontconfig's
10121 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
10122 (xftfont_close): Free font->font.name if not NULL.
10123
10124 * xfont.c (xfont_list): If script is specified for a font, return
10125 null_vector.
10126 (xfont_list_family): Declare argument type.
10127
10128 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
10129 name, set LFACE_FONT (lface) to nil.
10130
10131 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
10132 return Qnil.
10133
101342008-02-01 Kenichi Handa <handa@m17n.org>
10135
10136 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
10137 (standard_args): Add "-enable-font-backend".
10138
101392008-02-01 Kenichi Handa <handa@m17n.org>
10140
10141 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
10142 (struct xftdraw_list, xftdraw_list): Delete them.
10143 (register_xftdraw, check_xftdraw): Delete them.
10144 (xftfont_prepare_face): Don't call register_xftdraw.
10145 (xftfont_done_face): Don't call check_xftdraw.
10146 (xftfont_draw): Get background color only when with_background is
10147 nonzero.
10148
10149 * xfont.c (xfont_encode_char): Fix calculation of char2b.
10150
101512008-02-01 Kenichi Handa <handa@m17n.org>
10152
10153 These changes are for the new font handling codes.
10154
10155 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
10156 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
10157 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
10158 (FONTSRC, FONTOBJ): New variables.
10159 (obj): Add $(FONTOBJ).
10160 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
10161 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
10162 @LIBOTF_LIBS@.
10163 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
10164 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
10165
10166 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
10167
10168 * character.h (Vscript_representative_chars): Extern it.
10169
10170 * character.c (Vscript_representative_chars): New variable.
10171 (syms_of_character): Declare it as a Lisp variable.
10172
10173 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
10174 enable_font_backend is nonzero, accept the composition method
10175 COMPOSITION_WITH_GLYPH_STRING.
10176
10177 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
10178 enumeration COMPOSITION_WITH_GLYPH_STRING.
10179
10180 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
10181 members clip_x, clip_y, clip_width, and clip_height.
10182 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
10183
10184 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
10185 --enable-font-backend. Call syms_of_font.
10186
10187 * fns.c (assoc_no_quit): New function.
10188
10189 * fontset.h (FONT_INFO_FROM_FACE): New macro.
10190 (face_for_font, new_fontset_from_font)
10191 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
10192
10193 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
10194 (fontset_font, fontset_ascii, face_for_char)
10195 (make_fontset_for_ascii_face, Ffont_info)
10196 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
10197 is nonzero, use font-backend mechanism.
10198 (find_font_encoding): Make it non-static.
10199 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
10200 New functions.
10201
10202 * frame.h (struct frame): New members resx and resy.
10203 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
10204 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
10205
10206 * frame.c [USE_FONT_BACKEND]: Include "font.h".
10207 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
10208
10209 * lisp.h (assoc_no_quit): Extern it.
10210
10211 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
10212 Through out the file, use FONT_INFO_FROM_FACE instead of
10213 FONT_INFO_FROM_ID, use get_per_char_metric instead of
10214 rif->per_char_metric.
10215 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
10216 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
10217 (get_glyph_face_and_encoding, fill_composite_glyph_string)
10218 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
10219 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
10220 nonzero, use font-backend mechanism.
10221 (get_per_char_metric): New function.
10222
10223 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
10224 (set_lface_from_font_name)
10225 (set_font_frame_param, free_realized_face)
10226 (prepare_face_for_display, clear_face_gcs)
10227 (Finternal_set_font_selection_order, realize_x_face)
10228 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
10229 font-backend mechanism.
10230 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
10231 (load_face_font) [USE_FONT_BACKEND]: Abort.
10232 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
10233 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
10234
10235 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
10236 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
10237 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
10238 nonzero, register all available font drivers. Call
10239 x_default_font_parameter for deciding a font.
10240 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
10241
10242 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
10243 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
10244 (x_set_glyph_string_clipping_exactly)
10245 (x_compute_glyph_string_overhangs)
10246 (x_draw_glyph_string_foreground)
10247 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
10248 (x_free_frame_resources) [USE_FONT_BACKEND]: If
10249 enable_font_backend is nonzero, use font-backend mechanism.
10250 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
10251
102522008-02-01 Kenichi Handa <handa@m17n.org>
10253
10254 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
10255 system_eol_type.
10256 (syms_of_coding): Initialize system_eol_type.
10257
10258 * process.c (Fset_process_coding_system): Inherit system's eol
10259 format if necessary.
10260
102612008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10262
10263 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
10264
102652008-02-01 Kenichi Handa <handa@m17n.org>
10266
10267 * coding.c (decode_eol): Pay attention to buffer relocation in
10268 del_range_2.
10269 (decode_coding): Call decode_eol before restoring undo_list.
10270
102712008-02-01 Kenichi Handa <handa@m17n.org>
10272
10273 * charset.c (Fdefine_charset_internal): Fix setting of
10274 emacs_mule_bytes.
10275
102762008-02-01 Kenichi Handa <handa@m17n.org>
10277
10278 * keyboard.c (read_char): Check if C is a character or not before
10279 looking up Vkeyboard_translate_table.
10280
102812008-02-01 Kenichi Handa <handa@m17n.org>
10282
10283 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
10284 condition to terminate the loop.
10285
102862008-02-01 Kenichi Handa <handa@m17n.org>
10287
10288 * coding.c (produce_composition): Compare charbuf[i] instead of
10289 args[i] against 0.
10290 (Fterminal_coding_system): Use EQ to compare Lisp objects.
10291
102922008-02-01 Kenichi Handa <handa@m17n.org>
10293
10294 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
10295 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
10296 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
10297 detect_coding.
10298 (emacs_mule_char): Handle old style (Emacs 20) component character
10299 of a composition.
10300 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
10301 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
10302 composition rule.
10303 (decode_coding_emacs_mule): Handle invalid bytes correctly.
10304
103052008-02-01 Kenichi Handa <handa@m17n.org>
10306
10307 * coding.c (encode_coding_ccl): Allocate destination dynamically
10308 when necessary.
10309
103102008-02-01 Kenichi Handa <handa@m17n.org>
10311
10312 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
10313 the loop. When quitted, show a proper error message.
10314
103152008-02-01 Kenichi Handa <handa@m17n.org>
10316
10317 * xterm.c (x_set_glyph_string_clipping_exactly): Set
10318 src->clip_head and src->clip_tail temporarily instead of src->hl.
10319
10320 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
10321 character sequence.
10322 (Fccl_execute_on_string): Use ASET, not XSET.
10323
103242008-02-01 Kenichi Handa <handa@m17n.org>
10325
10326 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
10327
103282008-02-01 Kenichi Handa <handa@m17n.org>
10329
10330 * coding.c (decode_coding): Fix the condition of terminating the
10331 decoding loop.
10332
103332008-02-01 Kenichi Handa <handa@m17n.org>
10334
10335 * data.c (Faset): On setting a character bigger than 255 in a
10336 unibyte string, signal an error instead of make the string multibyte.
10337
103382008-02-01 Kenichi Handa <handa@m17n.org>
10339
10340 * charset.c (map_charset_chars): Fix for ascii-compatible charset
10341 made by a mapping table.
10342
103432008-02-01 Kenichi Handa <handa@m17n.org>
10344
10345 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
10346 not.
10347 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
10348 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
10349
10350 * xterm.c (x_draw_composite_glyph_string_foreground): Check
10351 s->face is NULL or not.
10352
103532008-02-01 Kenichi Handa <handa@m17n.org>
10354
10355 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
10356 (x_draw_glyph_string): Fix drawing of right_overhang and
10357 left_overhang around/on cursor.
10358
10359 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
10360
103612008-02-01 Kenichi Handa <handa@m17n.org>
10362
10363 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
10364
103652008-02-01 Kenichi Handa <handa@m17n.org>
10366
10367 * coding.c (Fdefine_coding_system_internal)
10368 (Fdefine_coding_system_alias): Avoid a duplicated element in
10369 Vcoding_system_alist.
10370
103712008-02-01 Kenichi Handa <handa@m17n.org>
10372
10373 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
10374
10375 * coding.c (Qcoding_system_define_form): New variable.
10376 (syms_of_coding): Intern and staticpro it.
10377 (Fcoding_system_p): Check Qcoding_system_define_form.
10378 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
10379
10380 * coding.h (CODING_SYSTEM_P): If ID is not available, call
10381 Fcoding_system_p.
10382 (CHECK_CODING_SYSTEM): If ID is not available, call
10383 Fcheck_coding_system.
10384 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
10385 Try also Fcheck_coding_system.
10386
103872008-02-01 Kenichi Handa <handa@m17n.org>
10388
10389 * coding.c (code_conversion_restore): GCPRO arg.
10390
103912008-02-01 Kenichi Handa <handa@m17n.org>
10392
10393 * character.c (lisp_string_width): Check multibyteness of STRING.
10394
103952008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10396
10397 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
10398 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
10399 (decode_mac_font_name): Use decode_coding_c_string instead of
10400 decode_coding.
10401 (x_load_font): Initialize fontp->fontset to -1. Set
10402 fontp->encoding_type.
10403
104042008-02-01 Kenichi Handa <handa@m17n.org>
10405
10406 * search.c (search_buffer): Give up BM search on case-fold-search
10407 if one of a target character has a case-equivalence of different
10408 byte length even if that target charcter is an ASCII.
10409 (simple_search): Fix calculation of byte length of matched text.
10410 (boyer_moore): Fix handling of case-equivalent multibyte characters.
10411
104122008-02-01 Kenichi Handa <handa@m17n.org>
10413
10414 * coding.c (decode_coding): Fix handling of invalid bytes.
10415
104162008-02-01 Kenichi Handa <handa@m17n.org>
10417
10418 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
10419 Unicode characters.
10420
104212008-02-01 Kenichi Handa <handa@m17n.org>
10422
10423 * coding.c (encode_coding_object): If a pre-write-conversion
10424 function makes a new buffer, kill it.
10425
104262008-02-01 Kenichi Handa <handa@m17n.org>
10427
10428 * coding.c (QCascii_compatible_p): New variable.
10429 (syms_of_coding): Initialize it.
10430 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
10431 calling string_char.
10432 (record_conversion_result): Add `default:' case.
10433 (coding_charset_list): Delete unused variable `coding_type'.
10434 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
10435 property in the plist of the coding system.
10436 (Fcoding_system_put): Check QCascii_compatible_p.
10437
104382008-02-01 Miles Bader <miles@gnu.org>
10439
10440 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
10441 removed calculation of frame `f', as it's now used.
10442
104432008-02-01 Kenichi Handa <handa@m17n.org>
10444
10445 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
10446 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
10447 (UNIDATA): New variable.
10448 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
10449 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
10450 $(RUN_TEMACS) unconditionally.
10451
104522008-02-01 Kenichi Handa <handa@m17n.org>
10453
10454 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
10455 (admindir): New variable.
10456 ($(lispsource)international/charprop.el): New target.
10457
104582008-02-01 Miles Bader <miles@gnu.org>
10459
10460 * character.c (chars-in-region): Remove obsolete function.
10461 (syms_of_character): Remove its initialization.
10462
104632008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
10464
10465 * w32select.c (validate_coding_system)
10466 (setup_windows_coding_system): New functions.
10467 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
10468 setup_windows_coding_system.
10469 (setup_config, Fw32_get_clipboard_data): Use
10470 validate_coding_system.
10471 (Fx_selection_exists): Move call to setup_config to a place
10472 where signals are allowed.
10473
10474 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
10475 (Fcheck_coding_system): Add declarations.
10476
104772008-02-01 Kenichi Handa <handa@m17n.org>
10478
10479 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
10480
104812008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10482
10483 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
10484 string as the second argument for x_new_fontset.
10485
104862008-02-01 Kenichi Handa <handa@m17n.org>
10487
10488 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
10489 (encode_coding_object): Use safe_call instead of call2.
10490
104912008-02-01 Kenichi Handa <handa@m17n.org>
10492
10493 * fontset.c (Fset_fontset_font): Check family element of a given vector.
10494
10495 * Makefile.in (lisp): Include charprop.el.
10496
104972008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10498
10499 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
10500 Not sure if it's unnecessary.
10501
105022008-02-01 Steven Tamm <steventamm@mac.com>
10503
10504 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
10505 some possibly unnecessary fontset checking code that crashed
10506 when creating a new frame.
10507
105082008-02-01 Kenichi Handa <handa@m17n.org>
10509
10510 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
10511 lookup_face.
10512
10513 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
10514
10515 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
10516
105172008-02-01 Kenichi Handa <handa@m17n.org>
10518
10519 * coding.c: Cancel the change done in HEAD on 2008-02-01.
10520 (coding_charset_list): New function.
10521
10522 * coding.h (coding_charset_list): Extern it.
10523
105242008-02-01 Kenichi Handa <handa@m17n.org>
10525
10526 * fontset.c (Fset_fontset_font): Call find_font_encoding with
10527 concatenation of family and registry.
10528
105292008-02-01 Kenichi Handa <handa@m17n.org>
10530
10531 * character.h (BYTE8_STRING): Fix typo.
10532
10533 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
10534 string to multibyte (sync to HEAD).
10535
10536 * casefiddle.c (casify_region): Handle changes in byte-length
10537 using replace_range_2 (sync to HEAD).
10538
105392008-02-01 Andreas Schwab <schwab@suse.de>
10540
10541 * chartab.c (map_char_table): GCPRO table and arg.
10542
105432008-02-01 Kenichi Handa <handa@m17n.org>
10544
10545 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
10546 already at limit.
10547
105482008-02-01 Kenichi Handa <handa@m17n.org>
10549
10550 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
10551 instead of fast_c_string_match_ignore_case.
10552 (find_font_encoding): Change argument to Lisp_Object. Use
10553 fast_string_match_ignore_case instead of
10554 fast_c_string_match_ignore_case. Change caller.
10555
105562008-02-01 Kenichi Handa <handa@m17n.org>
10557
10558 * xdisp.c (get_next_display_element): In unibyte case, decide to
10559 display in octal form by checking a character by
10560 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
10561
10562 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
10563
10564 * character.c (unibyte_has_multibyte_table): New variable.
10565
10566 * character.h (unibyte_has_multibyte_table): Extern it.
10567 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
10568
105692008-02-01 Kenichi Handa <handa@m17n.org>
10570
10571 * coding.c (encode_coding_iso_2022): Fix handling of charset
10572 annotation.
10573
105742008-02-01 Kenichi Handa <handa@m17n.org>
10575
10576 * coding.c (setup_coding_system): If coding_system is nil, use
10577 Qundecided.
10578 (Fterminal_coding_system): Return nil if terminal coding system is
10579 `undecided'.
10580 (syms_of_coding): Define coding-system `undecided' here. Setup
10581 terminal_coding as `undecided'.
10582
105832008-02-01 Kenichi Handa <handa@m17n.org>
10584
10585 * xdisp.c (message_dolog, set_message_1): Call
10586 unibyte_char_to_multibyte with arg type int.
10587
10588 * lread.c (read1): Fix reading of a char-table.
10589
10590 * print.c (print_object): Include sub char-table in circularities
10591 detection.
10592
105932008-02-01 Kenichi Handa <handa@m17n.org>
10594
10595 * keymap.c (where_is_internal_2): Fix for the case that KEY is a cons.
10596 Append the found sequences in car of ARGS instead of prepending.
10597
105982008-02-01 Kenichi Handa <handa@m17n.org>
10599
10600 * fileio.c (report_file_error): Make a unibyte string from
10601 strerror (errorno).
10602 (Fsubstitute_in_file_name): Fix the arg to
10603 unibyte_char_to_multibyte. It is evaluated twice.
10604
106052008-02-01 Kenichi Handa <handa@m17n.org>
10606
10607 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
10608
106092008-02-01 Kenichi Handa <handa@m17n.org>
10610
10611 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
10612 BOM is not found.
10613 (detect_coding, detect_coding_system): Optimization for ISO-2022
10614 when no 8-bit data is found.
10615
106162008-02-01 Jason Rumney <jasonr@gnu.org>
10617
10618 * w32fns.c (x_to_w32_font): Update to use new coding struct.
10619
106202008-02-01 Kenichi Handa <handa@m17n.org>
10621
10622 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
10623 CHARS.
10624
106252008-02-01 Steven Tamm <steventamm@mac.com>
10626
10627 * macterm.c (mac_encode_char): Add charset argument and update
10628 to use encoding_type.
10629 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
10630 switch to pure fontset.
10631 (decode_mac_font_name): Temporarily remove decoding.
10632 (x_font_name_to_mac_font_name): Temporarily remove encoding.
10633 (x_load_font): Temporarily remove encoding.
10634
106352008-02-01 Kenichi Handa <handa@m17n.org>
10636
10637 * xfaces.c (Fface_font): If frame is not on a window system,
10638 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
10639 refer to face->font.
10640 (split_font_name_into_vector, build_font_name_from_vector)
10641 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
10642 when HAVE_WINDOW_SYSTEM is defined.
10643
106442008-02-01 Kenichi Handa <handa@m17n.org>
10645
10646 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
10647 (x_produce_glyphs): Fix setting of members of cmp in case
10648 cmp->glyph_len is zero.
10649
10650 * fontset.c (Fset_fontset_font): Fix docstring.
10651 (Ffontset_info): Make it backward compatible. New arg ALL.
10652
106532008-02-01 Kim F. Storm <storm@cua.dk>
10654
10655 * process.c (read_process_output): Grow decoding_buf when needed;
10656 this could cause a crash in allocate_string and compact_small_strings.
10657
106582008-02-01 Kenichi Handa <handa@m17n.org>
10659
10660 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
10661
106622008-02-01 Kenichi Handa <handa@m17n.org>
10663
10664 * coding.c (setup_coding_system): Set coding->common_flags
10665 correctly for raw-text.
10666 (consume_chars): On encoding unibyte text by raw-text, don't check
10667 multibyte form.
10668 (encode_coding): On encoding by raw-text, never use translation tables.
10669
10670 * fileio.c (e_write): Short cut for the case of no encoding.
10671
106722008-02-01 Kenichi Handa <handa@m17n.org>
10673
10674 * coding.c (detect_coding, detect_coding_system): Delete unused
10675 variables.
10676
106772008-02-01 Kenichi Handa <handa@m17n.org>
10678
10679 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
10680 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
10681
106822008-02-01 Kenichi Handa <handa@m17n.org>
10683
10684 * coding.c (Ffind_coding_systems_region_internal): Include
10685 raw-text and no-conversion in the result.
10686
106872008-02-01 Kenichi Handa <handa@m17n.org>
10688
10689 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
10690 (load_font_get_repertory): Delete unnecessary check of ENCODING of
10691 FONT_DEF.
10692 (font_def_arg, add_arg, from_arg, to_arg): New args.
10693 (set_fontset_font): Change argument.
10694 (Fset_fontset_font): Fix for the case that TARGET is a script
10695 name and charset name.
10696 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
10697
106982008-02-01 Kenichi Handa <handa@m17n.org>
10699
10700 * fontset.c (fontset_font): Rename from fontset_face. Change return
10701 value.
10702 (face_suitable_for_char_p, face_for_char): Adjust for the change
10703 of fontset_font.
10704 (make_fontset_for_ascii_face): Fix setting of the fontset element
10705 for ASCII.
10706 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
10707 to get a font name.
10708 (Ffontset_info): Adjust for the change of fontset_font.
10709
10710 * coding.c (emacs_mule_char): Check invalid code more rigidly.
10711
10712 * character.h (LEADING_CODE_LATIN_1_MIN)
10713 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
10714
107152008-02-01 Kenichi Handa <handa@m17n.org>
10716
10717 * editfns.c (check_translation): New function.
10718 (Ftranslate_region_internal): Handle M:N mapping.
10719
107202008-02-01 Kenichi Handa <handa@m17n.org>
10721
10722 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
10723
107242008-02-01 Kenichi Handa <handa@m17n.org>
10725
10726 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
10727 goto invalid_code.
10728 (decode_coding_iso_2022): Fix handling of invalid designation.
10729
10730 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
10731 after calling code_conversion_save.
10732
107332008-02-01 Kenichi Handa <handa@m17n.org>
10734
10735 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
10736
10737 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
10738
10739 * fontset.c: Include "intervals.h".
10740 (fontset_face): Fix comparing of Lisp_Objects.
10741 (free_face_fontset, new_fontset_from_font_name): Fix
10742 Lisp_Object/int mixup.
10743
10744 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
10745
10746 * coding.c: Add many prototypes for static functions.
10747 (get_translation_table): Allow max_lookup to be NULL.
10748 (decode_coding, Ffind_coding_systems_region_internal)
10749 (Funencodable_char_position, Fcheck_coding_systems_region): Call
10750 get_translation_table with max_lookup NULL.
10751
107522008-02-01 Kenichi Handa <handa@m17n.org>
10753
10754 * coding.c (get_translation_table): Declare it as Lisp_Object.
10755 (LOOKUP_TRANSLATION_TABLE): New macro.
10756 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
10757 instead of CHAR_TABLE_REF.
10758
107592008-02-01 Kenichi Handa <handa@m17n.org>
10760
10761 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
10762 annotation data format.
10763 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
10764 Change arguments FROM and TO to single argument NCHARS. Change caller.
10765 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
10766 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
10767 (decode_coding_ccl, decode_coding_charset): Pay attention to
10768 coding->charbuf_used.
10769 (get_translation): New function.
10770 (produce_chars): New arguments translation_table and last_block.
10771 Translate characters here. Return number of carryover chars.
10772 Change caller.
10773 (produce_composition): New argument pos. Change caller.
10774 Adjust for the change of annotation data format.
10775 (produce_charset, produce_annotation): Likewise.
10776 (decode_coding, encode_coding): Don't call translate_chars.
10777 (consume_chars): New arg translation_table. Change caller.
10778 (translate_chars): Delete.
10779 (syms_of_coding): Make translation-table's number of extra slots 2.
10780
107812008-02-01 Kenichi Handa <handa@m17n.org>
10782
10783 * search.c (simple_search): Fix setting this_pos_byte in backward
10784 search.
10785
10786 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
10787 byte sequence.
10788 (detect_coding_ccl): Fix setting of the variable valids.
10789
107902008-02-01 Kenichi Handa <handa@m17n.org>
10791
10792 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
10793
10794 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
10795
10796 * editfns.c (Ftranslate_region_internal): Rename from
10797 Ftranslate_region. Accept a char-table in TABLE.
10798 (syms_of_editfns): Defsubr Stranslate_region_internal.
10799
10800 * xfaces.c (set_lface_from_font_name): If a font is specified for
10801 a frame, generate a fontset from the font.
10802 (build_scalable_font_name): If the scalable font is requested for
10803 a specific size, don't change that size.
10804 (try_font_list): Try a scalable font also in the case that a
10805 pattern string is specified.
10806
108072008-02-01 Kenichi Handa <handa@m17n.org>
10808
10809 * xfaces.c (Fface_font): New optional arg CHARACTER.
10810
108112008-02-01 Kenichi Handa <handa@m17n.org>
10812
10813 * charset.h (CHARSET_OFFSET): New macro.
10814
108152008-02-01 Kenichi Handa <handa@m17n.org>
10816
10817 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
10818
10819 * fontset.c (fontset_face): Handle the case that repertory is a
10820 char-table.
10821 (find_font_encoding): Return nil for unknown encoding.
10822 (Fset_fontset_font): Ignore a font of unknown encoding.
10823
108242008-02-01 Kenichi Handa <handa@m17n.org>
10825
10826 * keymap.c (describe_vector): Handle default value of a char table.
10827
10828 * fontset.c (fontset_face): Handle fallback fonts correctly.
10829 (Ffontset_info): Return infomation about fallback fonts.
10830
108312008-02-01 Kenichi Handa <handa@m17n.org>
10832
10833 * fontset.c (FONTSET_DEFAULT): New macro.
10834 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
10835 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
10836 the case that it is nil.
10837 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
10838 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
10839
10840 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
10841 subset or superset.
10842
108432008-02-01 Kenichi Handa <handa@m17n.org>
10844
10845 * emacs.c (main): Call init_charset after syms_of_XXX.
10846
10847 * charset.c (Vcharset_map_directory): Delete.
10848 (Vcharset_map_path): New variable.
10849 (load_charset_map_from_file): Use Vcharset_map_path instead.
10850 (init_charset): Initialize Vcharset_map_path.
10851 (syms_of_charset): Delete declaration of "charset-map-directory",
10852 add declaration of "charset-map-path".
10853
108542008-02-01 Kenichi Handa <handa@m17n.org>
10855
10856 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
10857 ASCII only string.
10858
10859 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
10860
10861 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
10862 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
10863
108642008-02-01 Kenichi Handa <handa@m17n.org>
10865
10866 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
10867
10868 * coding.c (QCmnemonic, QCdefalut_char)
10869 (QCdecode_translation_table, QCencode_translation_table)
10870 (QCpost_read_conversion, QCpre_write_conversion): New variables.
10871 (get_translation_table): Return a list of translation tables if
10872 necessary.
10873 (decode_coding): Call get_translation_table with ENCODEP 0.
10874 (char_encodable_p): If translation_table is non-nil, always call
10875 translate_char.
10876 (Fdefine_coding_system_internal): Accept list of translation
10877 tables as :encode-translation-table and :decode-translation-table.
10878 (Fcoding_system_put): New function.
10879 (syms_of_coding): Declare new symbols. Defsubr
10880 Scoding_system_put.
10881 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
10882 typically JISX0212.
10883
10884 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
10885 when the charset is superset type.
10886
10887 * character.c (translate_char): Accept list of translation tables.
10888
108892008-02-01 Kenichi Handa <handa@m17n.org>
10890
10891 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
10892 (CODING_ATTR_TRANS_TBL): New macro.
10893
10894 * coding.c (get_translation_table): New function.
10895 (translate_chars): Fix the bug of skipping annotation data.
10896 (decode_coding, encode_coding): Utilize get_translation_table.
10897 (char_encodable_p, Funencodable_char_position): Translate char if
10898 necessary.
10899 (Ffind_coding_systems_region_internal)
10900 (Fcheck_coding_systems_region): Setup translation table for encode
10901 in a coding system attribute vector in advance.
10902 (Fdefine_coding_system_internal): Allow a symbol as translation
10903 table. For shift-jis type coding system, allow 4th charset.
10904
109052008-02-01 Kenichi Handa <handa@m17n.org>
10906
10907 * coding.c (decode_coding_sjis): Check the first byte rigidly.
10908
10909 * xdisp.c (get_next_display_element): Pass -1 as POS to
10910 FACE_FOR_CHAR if displaying a C-string.
10911
109122008-02-01 Kenichi Handa <handa@m17n.org>
10913
10914 * composite.c (get_composition_id): Handle xoff and yoff in a
10915 composition rule.
10916
10917 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
10918 (struct composition): New member lbearing and rbearing.
10919
10920 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
10921 (x_get_glyph_overhangs): Handle a composition glyph.
10922 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
10923
10924 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
10925 composition glyph.
10926
109272008-02-01 Kenichi Handa <handa@m17n.org>
10928
10929 * print.c: Include charset.h.
10930 (Vprint_charset_text_property): New variable.
10931 (Qdefault): Extern it.
10932 (PRINT_STRING_NON_CHARSET_FOUND)
10933 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
10934 (print_check_string_result): New variable.
10935 (print_check_string_charset_prop): New function.
10936 (print_prune_charset_plist): New variable.
10937 (print_prune_string_charset): New function.
10938 (print_object): Call print_prune_string_charset if
10939 Vprint_charset_text_property is not t.
10940 (print_interval): Print nothing if interval->plist is nil.
10941 (syms_of_print): Declare Vprint_charset_text_property as a lisp
10942 variable. Init and staticpro print_prune_charset_plist.
10943
109442008-02-01 Kenichi Handa <handa@m17n.org>
10945
10946 * fontset.c (new_fontset_from_font_name): Use the specified font
10947 for all characters in the new fontset.
10948
10949 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
10950 OBJECT args.
10951
10952 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
10953 OBJECT args for composition too.
10954
10955 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
10956 OBJECT args.
10957
109582008-02-01 Kenichi Handa <handa@m17n.org>
10959
10960 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
10961
10962 * fontset.c (reorder_font_vector): Adjust for the change of
10963 FONT_DEF format.
10964 (fontset_face): New arg id. Change caller.
10965 (face_for_char): New args pos and object.
10966 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
10967 (fs_query_fontset): Check NAME by Fassoc too.
10968 (Fset_fontset_font): Allow non-XLFD font name.
10969 (Ffontset_info): Adjust for the change of FONT_DEF format.
10970
10971 * fontset.h (face_for_char): Adjust prototype.
10972
10973 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
10974 (append_space, extend_face_to_end_of_line)
10975 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
10976 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
10977
10978 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
10979 POS and OBJECT args.
10980
10981 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
10982 POS and OBJECT args.
10983
109842008-02-01 Jason Rumney <jasonr@gnu.org>
10985
10986 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
10987 of GlobalAlloc'ed memory.
10988
109892008-02-01 Kenichi Handa <handa@m17n.org>
10990
10991 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
10992
10993 * charset.h (charset_table_used): Delete extern.
10994
10995 * charset.c (charset_table_used): Make it static.
10996 (map_charset_chars): Fix args to c_function with.
10997
10998 * chartab.c (map_sub_char_table_for_charset): Fix args to
10999 c_function with.
11000
11001 * coding.h (enum coding_result_code): Delete
11002 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
11003
11004 * coding.c (Qinsufficient_source, Qinconsistent_eol)
11005 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
11006 (Vlast_code_conversion_error): New variables.
11007 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
11008 (ONE_MORE_BYTE): Record error if any instead of signaling an
11009 error. If non-ASCII multibyte char is found, return the negative
11010 value of the code. All callers changed to check it.
11011 (ONE_MORE_BYTE_NO_CHECK): Likewise.
11012 (record_conversion_result): New function. Change all codes setting
11013 coding->result to call this function.
11014 (detect_coding_utf_8, decode_coding_utf_8)
11015 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
11016 Don't use the local variable incomplete.
11017 (emacs_mule_char): Change the second arg to `const'.
11018 (decode_coding): Fix of flushing out unprocessed data.
11019 (make_conversion_work_buffer): Fix making of a work buffer.
11020 (decode_coding_object): Return coding->dst_object.
11021
11022 * fontset.c (set_fontset_font): Fix args.
11023
11024 * lisp.h (CHARACTERBITS): Define as 22.
11025
11026 * process.c (send_process): Be sure to set coding->src_multibyte.
11027
11028 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
11029
110302008-02-01 Kenichi Handa <handa@m17n.org>
11031
11032 * xdisp.c (handle_auto_composed_prop): Give limit to
11033 Fnext_single_char_property_change.
11034
110352008-02-01 Kenichi Handa <handa@m17n.org>
11036
11037 * composite.c (syms_of_composite): Don't make the composition hash
11038 table weak.
11039
11040 * fontset.c (Fset_fontset_font): Fix docstring.
11041
11042 * lisp.h (detect_coding_system): Adjust prototype.
11043
11044 * fileio.c (kill_workbuf_unwind): Delete this function.
11045 (Finsert_file_contents): Adjust the call of detect_coding_system.
11046 Get conversion_buffer by code_conversion_save. Use the macro
11047 CODING_MAY_REQUIRE_DECODING. After decoding, update
11048 coding_system.
11049
11050 * coding.h (make_conversion_work_buffer): Delete extern.
11051 (code_conversion_save): Extern it.
11052
11053 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
11054 (CODING_GET_INFO): Delete argument eol_type. Change callers.
11055 (decode_coding_utf_8): Don't do eol converion.
11056 (detect_coding_utf_16): Check coding->src_chars, not
11057 coding->src_bytes. Add heuristics for those that have no signature.
11058 (decode_coding_emacs_mule, decode_coding_iso_2022)
11059 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
11060 Don't do eol converion.
11061 (adjust_coding_eol_type): Return a new coding system.
11062 (detect_coding): Don't detect eol. Fix for utf-16 detection.
11063 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
11064 each change.
11065 (decode_coding): Pay attention to undo_list. Do eol conversion for
11066 all types of coding-systems (if necessary).
11067 (Vcode_conversion_work_buf_list): Delete it.
11068 (Vcode_conversion_reused_workbuf): Rename from
11069 Vcode_conversion_reused_work_buf.
11070 (Vcode_conversion_workbuf_name): New variable.
11071 (reused_workbuf_in_use): New variable.
11072 (make_conversion_work_buffer): Delete the arg DEPTH.
11073 (code_conversion_restore): Change argument to cons.
11074 (code_conversion_save): Delete the argument BUFFER. Change callers.
11075 (detect_coding_system): New argument src_chars. Change callers.
11076 Fix for utf-16 detection.
11077 (init_coding_once): Don't use ISO_carriage_return.
11078 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
11079 reused_workbuf_in_use.
11080
110812008-02-01 Kenichi Handa <handa@m17n.org>
11082
11083 * keymap.c (store_in_keymap): Pay attention to the case that idx
11084 is a cons specifying a character range.
11085
110862008-02-01 Kenichi Handa <handa@m17n.org>
11087
11088 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
11089 HANDLED_RECOMPUTE_PROPS.
11090
11091 * coding.c (Fdefine_coding_system_internal): Fix checking of
11092 ascii compatibility.
11093
110942008-02-01 Kenichi Handa <handa@m17n.org>
11095
11096 * charset.c (find_charsets_in_text): Delete unused locale variable.
11097 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
11098
11099 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
11100 Resync charset_list to Vemacs_mule_charset_list.
11101
11102 * keymap.c (store_in_keymap): Pay attention to the case that idx
11103 is a cons specifying a character range.
11104
111052008-02-01 Kenichi Handa <handa@m17n.org>
11106
11107 * composite.c (update_compositions): Bind inhibit-read-only, etc
11108 to t before calling remove-list-of-text-properties.
11109
11110 * print.c (print_object): Always print ASCII chars as is.
11111
111122008-02-01 Kenichi Handa <handa@m17n.org>
11113
11114 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
11115
11116 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
11117 is a char table.
11118
111192008-02-01 Kenichi Handa <handa@m17n.org>
11120
11121 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
11122
111232008-02-01 Kenichi Handa <handa@m17n.org>
11124
11125 * xfaces.c (set_lface_from_font_name): Fix for the case that
11126 FONTNAME is not fontset name.
11127
111282008-02-01 Kenichi Handa <handa@m17n.org>
11129
11130 * fns.c (base64_encode_1): Fix previous change.
11131
111322008-02-01 Kenichi Handa <handa@m17n.org>
11133
11134 * fontset.c (set_fontset_font): New function.
11135 (Fset_fontset_font): If a font is specified for a charset, use
11136 map_charset_chars to store the font spec in a fontset.
11137
111382008-02-01 Kenichi Handa <handa@m17n.org>
11139
11140 * fontset.c (fontset_face): Create a fallback fontset on demand.
11141 (make_fontset): Don't create a fallback fontset here.
11142 (free_face_fontset): Free a fallback fontset (if any) too.
11143 (n_auto_fontsets): Delete this variable.
11144 (auto_fontset_alist): New variable.
11145 (new_fontset_from_font_name): Check auto_fontset_alist.
11146 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
11147 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
11148 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
11149 Defsubr Sfontset_list_all.
11150
111512008-02-01 Kenichi Handa <handa@m17n.org>
11152
11153 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
11154
111552008-02-01 Kenichi Handa <handa@m17n.org>
11156
11157 * fontset.c (Fnew_fontset): Check NAME more rigidly.
11158
111592008-02-01 Kenichi Handa <handa@m17n.org>
11160
11161 * editfns.c (Fgoto_char): Fix docstring.
11162
111632008-02-01 Kenichi Handa <handa@m17n.org>
11164
11165 * insdel.c (insert_from_gap): Adjust intervals correctly.
11166
111672008-02-01 Jason Rumney <jasonr@gnu.org>
11168
11169 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
11170 (pfnGetFontUnicodeRanges): New dynamically loaded function.
11171 (w32_initialize): Try to load it.
11172 (x_get_font_repertory): Use it if available.
11173 (w32_encode_char): Add shortcut for unicode output.
11174
11175 * w32fns.c (w32_load_system_font): Default charset to -1.
11176 (x_to_w32_charset): Match all fonts for unicode.
11177 (w32_to_x_charset): New parameter matching. Don't return partial
11178 or wildcard charsets.
11179 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
11180 (w32_codepage_for_font): Return CP_UNICODE for unicode.
11181 (w32_to_x_font): Match charset to real charset.
11182 (enum_font_cb2): Always list unicode versions.
11183
11184 * makefile.w32-in (temacs): Increase EMHEAP.
11185
111862008-02-01 Jason Rumney <jasonr@gnu.org>
11187
11188 * w32term.c (w32_encode_char): New charset parameter.
11189 font_info.encoding becomes encoding_type.
11190 (x_get_font_repertory): New function. Warning: stub only!
11191 (x_new_font): Return quickly if font already set.
11192 (x_new_fontset): fontsetname parameter is Lisp_Object.
11193 Use new fs_query_fontset. Try new_fontset_from_font_name.
11194 Use fontset_name for return value.
11195
11196 * w32term.h: Declare x_get_font_repertory.
11197
11198 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
11199 place of find_charset_in_text. Use encode_coding_object in place
11200 of encode_coding.
11201 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
11202 decode_coding.
11203
11204 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
11205 of x_new_fontset.
11206 (w32_load_system_font): Initialize charset as unicode.
11207 font_info.encoding becomes encoding_type.
11208 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
11209 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
11210 (syms_of_w32fns): Set get_font_repertory_func.
11211
11212 * w32console.c: Include character.h. Use terminal_encode_buffer
11213 from term.c.
11214 (write_glyphs): Use new version of encode_terminal_code. Use
11215 encode_coding_object in place of encode_coding.
11216
11217 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
11218 encoding becomes encoding_type.
11219
11220 * term.c (terminal_encode_buffer): Make externally visible.
11221
11222 * makefile.w32-in: Add character.h dependancies.
11223 (character.o, chartab.o): New targets.
11224
112252008-02-01 Kenichi Handa <handa@m17n.org>
11226
11227 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
11228 CODING_ID_EOL_TYPE.
11229
112302008-02-01 Andreas Schwab <schwab@suse.de>
11231
11232 * coding.c (produce_chars): Revert last change.
11233
112342008-02-01 Kenichi Handa <handa@m17n.org>
11235
11236 * charset.h (charset_unicode): Extern it.
11237
11238 * charset.c (string_xstring_p): Check by (C >= 0x100).
11239 (find_charsets_in_text): Change format of the arc CHARSETS. New
11240 arg MULTIBYTE.
11241 (Ffind_charset_region, Ffind_charset_string): Adjust for the
11242 change of find_charsets_in_text.
11243 (Fsplit_char): Fix doc. Never return unknown.
11244
11245 * chartab.c (char_table_translate): Use CHARACTERP, not INTEGERP.
11246
11247 * coding.c (Fdefine_coding_system_alias): Update
11248 Vcoding_system_list.
11249
11250 * fontset.c (load_font_get_repertory): Pay attention to the case
11251 that ENCODING of a font is specified by a char-table.
11252
11253 * xterm.c (x_get_font_repertory): Handle the case that the
11254 encoding of font is other than Unicode.
11255
112562008-02-01 Kenichi Handa <handa@m17n.org>
11257
11258 * term.c (encode_terminal_code): Don't handle glyph-table. Check
11259 if a character is encodable by the terminal coding system. If
11260 not, produces proper number of `?'s. Update
11261 terminal_encode_buffer and terminal_encode_buf_size if necessary.
11262 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
11263
112642008-02-01 Kenichi Handa <handa@m17n.org>
11265
11266 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
11267 variables.
11268 (encode_terminal_code): Change argument. Encode multiple
11269 characters at once. Store the result of encoding in
11270 terminal_encode_buffer.
11271 (write_glyphs, insert_glyphs): Adjust for the change of
11272 encode_terminal_code.
11273 (term_init): Initialize terminal_encode_buffer and
11274 terminal_encode_buf_size.
11275
11276 * coding.c (consume_chars): If coding->src_object is nil, don't
11277 check annotation.
11278
112792008-02-01 Kenichi Handa <handa@m17n.org>
11280
11281 * character.c (char_string): Use ASCII_CHAR_P instead of
11282 SINGLE_BYTE_CHAR_P.
11283
112842008-02-01 Kenichi Handa <handa@m17n.org>
11285
11286 * xdisp.c (handle_auto_composed_prop): Check if the last
11287 characters of auto-composed region is newly composed with the
11288 following characters.
11289 (handle_composition_prop): Fix checking of point being inside
11290 composition.
11291
112922008-02-01 Kenichi Handa <handa@m17n.org>
11293
11294 * fns.c (concat): Don't change multibyteness of the result by
11295 concatenating an 8-bit character.
11296
11297 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
11298 multibyteness of the result when newelt is an 8-bit character.
11299
113002008-02-01 Dave Love <fx@gnu.org>
11301
11302 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
11303 EMACS_INT.
11304
11305 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
11306
11307 * xfaces.c (face_numeric_value): Declare dim size_t.
11308 (Finternal_lisp_face_equal_p): Remove unused f.
11309
11310 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
11311 (MATRIX_ROW): Remove unused vars.
11312 (draw_glyphs, x_insert_glyphs, fast_find_position)
11313 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
11314 byte/char counts.
11315
11316 * regex.c (regex_compile): Remove unused var.
11317
11318 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
11319
11320 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
11321 (Faccessible_keymaps, where_is_internal): Remove unused vars.
11322
11323 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
11324
11325 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
11326
11327 * fileio.c (Fwrite_region): Remove unused var.
11328
11329 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
11330 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
11331
11332 * composite.c (Fremove_list_of_text_properties): Declare.
11333
11334 * coding.c (inhibit_pre_post_conversion): Remove (unused).
11335 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
11336 (coding_inherit_eol_type): Remove unused attrs.
11337 (detect_coding): Cast arg of detect_eol.
11338
11339 * charset.c (syms_of_charset): Remove unused var p.
11340 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
11341 byte/char counts.
11342
11343 * casetab.c (set_case_table): Remove unused var.
11344
11345 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
11346 unused vars.
11347
113482008-02-01 Dave Love <fx@gnu.org>
11349
11350 * xterm.c (x_bitmap_mask): Declare.
11351
113522008-02-01 Dave Love <fx@gnu.org>
11353
11354 * xterm.c (x_term_init): Fix type error.
11355
11356 * lisp.h: Add Funibyte_char_to_multibyte.
11357
11358 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
11359 (Fset_coding_system_priority): Doc fix.
11360
11361 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
11362
11363 * indent.c (check_composition): Make start and end EMACS_INT.
11364
11365 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
11366
11367 * xdisp.c (handle_composition_prop, check_point_in_composition):
11368 Make buffer positions EMACS_INT.
11369
11370 * composite.c (find_composition, run_composition_function)
11371 (update_compositions, Ffind_composition_internal): Make buffer
11372 positions EMACS_INT.
11373
11374 * composite.h (find_composition, update_compositions): Make
11375 position args EMACS_INT.
11376
11377 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
11378
11379 * intervals.c (get_property_and_range):
11380 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
11381
11382 * unexalpha.c: Don't include varargs.h.
11383
113842008-02-01 Dave Love <fx@gnu.org>
11385
11386 * coding.h (ENCODE_UTF_8): New.
11387
11388 * Makefile.in (gtkutil.o): Depend on coding.h.
11389
11390 * coding.c (Fset_coding_system_priority): Doc fix.
11391
113922008-02-01 Kenichi Handa <handa@m17n.org>
11393
11394 * fileio.c (Finsert_file_contents): Call setup_coding_system in
11395 the case of auto saving.
11396
113972008-02-01 Andreas Schwab <schwab@suse.de>
11398
11399 * chartab.c (map_char_table, map_char_table_for_charset): Protect
11400 `range' from GC.
11401
114022008-02-01 Kenichi Handa <handa@m17n.org>
11403
11404 * coding.c (decode_coding_sjis): Check bytes more rigidly.
11405
114062008-02-01 Kenichi Handa <handa@m17n.org>
11407
11408 * fileio.c (choose_write_coding_system): Return a decided coding system.
11409 (Fwrite_region): Set Vlast_coding_system_used to the return value
11410 of choose_write_coding_system.
11411
114122008-02-01 Kenichi Handa <handa@m17n.org>
11413
11414 * charset.c (Fset_charset_priority): Pay attention to duplicated
11415 arguments.
11416
11417 * coding.c (QCcategory): New variable.
11418 (syms_of_coding): Defsym it. Set all elements of
11419 Vcoding_category_table and their symbol values.
11420 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
11421 coding-category-XXX, and coding-category-list.
11422 (Fdefine_coding_system_internal): Add category in the plist.
11423
114242008-02-01 Kenichi Handa <handa@m17n.org>
11425
11426 * callproc.c (Fcall_process): Handle carryover correctly.
11427
11428 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
11429 (raw_text_coding_system): Check NILP (coding_system).
11430 (coding_inherit_eol_type): Check NILP (coding_system) and
11431 NILP (parent).
11432 (consume_chars): Fix for the case of raw-text.
11433
11434 * process.c (read_process_output): Handle carryover correctly.
11435
114362008-02-01 Dave Love <fx@gnu.org>
11437
11438 * regex.c (re_search_2): Fix last change.
11439
114402008-02-01 Kenichi Handa <handa@m17n.org>
11441
11442 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
11443 target_multibyte. Even in a unibyte case, return a converted
11444 multibyte char.
11445 (GET_CHAR_AFTER): New macro.
11446 (PATFETCH): Translate via multibyte char.
11447 (HANDLE_UNIBYTE_RANGE): Delete this macro.
11448 (SETUP_MULTIBYTE_RANGE): New macro.
11449 (regex_compile): Setup compiled code so that its multibyteness
11450 matches that of a target. Fix the handling of "[X-YZ]" using
11451 SETUP_MULTIBYTE_RANGE.
11452 (analyse_first) <charset>: For filling fastmap for all multibyte
11453 characters, don't check by BASE_LEADING_CODE_P.
11454 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
11455 the same as RE_MULTIBYTE_P (bufp) now.
11456 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
11457 (TARGET_CHAR_AND_LENGTH): Delete this macro.
11458 (TRANSLATE_VIA_MULTIBYTE): New macro.
11459 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
11460 It is the same as RE_MULTIBYTE_P (bufp) now.
11461 <exactn>: Translate via multibyte.
11462 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
11463 translate it.
11464 <charset, charset_not>: Fetch a character by
11465 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
11466 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
11467 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
11468 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
11469 by GET_CHAR_AFTER.
11470 (bcmp_translate): Likewise.
11471
11472 * search.c (compile_pattern): Check the member target_multibyte,
11473 not the member multibyte of buf.
11474
11475 * lread.c (read1): While reading a string, set force_singlebyte
11476 and force_multibyte correctly.
11477
11478 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
11479 up of unibyte_to_multibyte_table.
11480
114812008-02-01 Kenichi Handa <handa@m17n.org>
11482
11483 * coding.c (setup_coding_system): If coding has
11484 post-read-conversion or pre-write-conversion, set
11485 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
11486 respectively.
11487 (decode_coding_gap): Run post-read-conversion if any.
11488
11489 * fileio.c (Finsert_file_contents): Even if we read into a
11490 unibyte buffer, check if we must decode the result or not.
11491
114922008-02-01 Kenichi Handa <handa@m17n.org>
11493
11494 * coding.c (make_conversion_work_buffer): Change the work buffer
11495 name to the same one as that of Emacs 21.
11496
114972008-02-01 Kenichi Handa <handa@m17n.org>
11498
11499 * coding.h (make_conversion_work_buffer): Adjust prototype.
11500 (code_conversion_restore): Don't extern it.
11501
11502 * coding.c (detected_mask): Delete unused variable.
11503 (decode_coding_iso_2022): Pay attention to the byte sequence of
11504 CTEXT extended segment, and retain those bytes as is.
11505 (decode_coding_ccl): Delete unused variable `valids'.
11506 (setup_coding_system): Delete unused variable `category'.
11507 (consume_chars): Delete unused variable `category'. Make it work
11508 for non-multibyte case.
11509 (make_conversion_work_buffer): Change argument.
11510 (saved_coding): Delete unused variable.
11511 (code_conversion_restore): Don't check saved_coding->destination.
11512 (code_conversion_save): New function.
11513 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
11514 instead of record_unwind_protect.
11515 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
11516 (detect_coding_system): Delete unused variable `mask'.
11517 (Fdefine_coding_system_internal): Delete unused variable id.
11518
11519 * fileio.c (kill_workbuf_unwind): New function.
11520 (Finsert_file_contents): On replacing, call
11521 make_conversion_work_buffer with correct args, and call
11522 record_unwind_protect with the first arg kill_workbuf_unwind.
11523
11524 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
11525
115262008-02-01 Kenichi Handa <handa@m17n.org>
11527
11528 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
11529 (fontset_add): Fix for the case that TO is less than TO1.
11530 (Ffontset_info): Don't use fallback fontset on checking the
11531 default fontset.
11532 (dump_fontset): New function for debugging.
11533
11534 * coding.c (Fdefine_coding_system_internal): Fix for the case that
11535 coding_type is Qcharset.
11536
115372008-02-01 Kenichi Handa <handa@m17n.org>
11538
11539 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
11540 (map_char_table): Don't inherit the value from the parent on
11541 initializing VAL. Adjust for the above change.
11542
115432008-02-01 Kenichi Handa <handa@m17n.org>
11544
11545 * coding.c (Qsignature, Qendian): Delete these variables.
11546 (syms_of_coding): Don't initialize them.
11547 (CATEGORY_MASK_UTF_16_AUTO): New macro.
11548 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
11549 detect_info->found.
11550 (decode_coding_utf_16): Don't detect BOM here.
11551 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
11552 is NOT utf_16_without_bom.
11553 (setup_coding_system): For a coding system of type utf-16, check
11554 if the attribute :endian is Qbig or not (not nil or not), and set
11555 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
11556 (detect_coding): If coding type is utf-16 and BOM detection is
11557 required, detect it.
11558 (Fdefine_coding_system_internal): For a coding system of type
11559 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
11560
115612008-02-01 Kenichi Handa <handa@m17n.org>
11562
11563 * coding.c (coding_set_source): Fix for the case that the current
11564 buffer is different from coding->src_object.
11565 (decode_coding_object): Don't use the conversion work buffer if
11566 DST_OBJECT is a buffer.
11567
115682008-02-01 Dave Love <fx@gnu.org>
11569
11570 * lread.c (read_emacs_mule_char) [len==2]: Index
11571 emacs_mule_charset correctly.
11572
115732008-02-01 Dave Love <fx@gnu.org>
11574
11575 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
11576 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
11577 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
11578 treated specially.)
11579 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
11580 (detected_mask): Remove Big5 bits.
11581
115822008-02-01 Kenichi Handa <handa@m17n.org>
11583
11584 The following changes are to make the font rescaling facility
11585 compatible with Emacs 21.
11586
11587 * xfaces.c (Vface_font_rescale_alist): Rename from
11588 Vface_resizing_fonts.
11589 (struct font_name): Rename member resizing_ratio to rescale_ratio.
11590 (font_rescale_ratio): Rename from font_resizing_ratio.
11591 (split_font_name): Set font->rescale_ratio.
11592 (better_font_p): Pay attention to font->rescale_ratio.
11593 (build_scalable_font_name): Likewise. Change RESX, and RESY
11594 fields.
11595 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
11596
115972008-02-01 Kenichi Handa <handa@m17n.org>
11598
11599 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
11600 (Qutf_16_le): Remove these variables.
11601 (syms_of_coding): Don't DEFSYM them.
11602 (decode_coding_utf_16): Fix handling of BOM.
11603 (encode_coding_utf_16): Fix handling of BOM.
11604
116052008-02-01 Kenichi Handa <handa@m17n.org>
11606
11607 * fileio.c (Finsert_file_contents): On replacing, before decoding
11608 the file into the work buffer, set point of the work buffer to the end.
11609
116102008-02-01 Dave Love <fx@gnu.org>
11611
11612 * coding.c (Fcheck_coding_systems_region): Fix type errors.
11613
116142008-02-01 Dave Love <fx@gnu.org>
11615
11616 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
11617 and fix C types.
11618
116192008-02-01 Kenichi Handa <handa@m17n.org>
11620
11621 * xdisp.c (SKIP_GLYPHS): New macro.
11622 (set_cursor_from_row): Pay attention to string display properties.
11623
11624 * category.c (copy_category_entry): Fix for the case that RANGE
11625 is an integer.
11626
11627 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
11628
11629 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
11630
116312008-02-01 Kenichi Handa <handa@m17n.org>
11632
11633 * charset.c (Fcharset_id_internal): New function.
11634 (syms_of_charset): Defsubr it.
11635
11636 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
11637 with the last arg charset_list acquired from coding.
11638 (Fdefine_coding_system_internal): For ccl-based coding system, fix
11639 the attribute coding_attr_ccl_valids.
11640
11641 * coding.h (enum define_coding_ccl_arg_index): Set the first
11642 member coding_arg_ccl_decoder to coding_arg_max.
11643
11644 * ccl.h (ccl_driver): Adjust prototype.
11645
11646 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
11647 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
60612c8f 11648 of DECODE_CHAR, ENCODE_CHAR, CHAR_CHARSET.
aac0c6e3
MR
11649 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
11650 last arg Qnil.
11651
116522008-02-01 Kenichi Handa <handa@m17n.org>
11653
11654 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
11655 call encode_char.
11656
11657 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
11658
116592008-02-01 Dave Love <fx@gnu.org>
11660
11661 * composite.c (syms_of_composite): Make composition_hash_table weak.
11662
116632008-02-01 Kenichi Handa <handa@m17n.org>
11664
11665 * dispextern.h (check_face_attributes, generate_ascii_font_name)
11666 (font_name_registry): Don't extern them.
11667 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
11668
11669 * fontset.h (Qfontset): Don't extern it.
11670 (new_fontset_from_font_name): Extern it.
11671
11672 * fontset.c: Give 8 extra slots to fontset objects.
11673 (Qfontset_info): New variable.
11674 (syms_of_fontset): Defsym it.
11675 (FONTSET_FALLBACK): New macro.
11676 (fontset_face): Try also the default fontset.
11677 (make_fontset): Realize a fallback fontset from the default fontset.
11678 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
11679 using split_font_name_into_vector and build_font_name_from_vector.
11680 (Fset_fontset_font): Access the elements of font_spec by enum
11681 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
11682 name by using split_font_name_into_vector.
11683 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
11684 generate a proper font name from the fontset name. Update
11685 Vfontset_alias_alist.
11686 (n_auto_fontsets): New variable.
11687 (new_fontset_from_font_name): New function.
11688 (Ffont_info): Store the information about fonts generated from the
11689 default fontset in the first extra slot of the returned char-table.
11690
11691 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
11692 (font_name_registry): Delete function.
11693 (split_font_name_into_vector): New function.
11694 (build_font_name_from_vector): New function.
11695 (font_list): The argument REGISTRY is now a list of registry names.
11696 (choose_face_font): If we are choosing an ASCII font, and ATTRS
11697 specifies an explicit font name, return the name as is. Make a
11698 list of registy names.
11699
11700 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
11701 of x_new_fontset.
11702 (Fx_create_frame): Don't call x_new_fontset here. Just use
11703 x_list_fonts to check the existence of fonts.
11704
11705 * xterm.h (x_new_fontset): Adjust prototype.
11706
11707 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
11708 string. Use new_fontset_from_font_name to create a fontset from a
11709 font name.
11710
117112008-02-01 Kenichi Handa <handa@m17n.org>
11712
11713 * syntax.c (Vfind_word_boundary_function_table): New name for
11714 Vnext_word_boundary_function_table.
11715 (find-word-boundary-function-table): New name for
11716 next-word-boundary-function-table.
11717
117182008-02-01 Dave Love <fx@gnu.org>
11719
11720 * Makefile.in: Fix some dependencies.
11721
11722 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
11723 set it to nil before returning.
11724
11725 * composite.c (update_compositions): Fix type error.
11726
11727 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
11728
117292008-02-01 Kenichi Handa <handa@m17n.org>
11730
11731 * xterm.c (x_new_font): Optimize for the case that the font is
11732 already set for the frame.
11733
117342008-02-01 Kenichi Handa <handa@m17n.org>
11735
11736 * chartab.c (char_table_ascii): Check if the char table contents
11737 is sub-char-table or not.
11738 (char_table_set, char_table_set_range): Fix argument to
11739 char_table_ascii.
11740
11741 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
11742 (detect_coding_utf_8, detect_coding_utf_16)
11743 (detect_coding_emacs_mule, detect_coding_iso_2022)
11744 (detect_coding_sjis, detect_coding_big5)
11745 (detect_coding_ccl, detect_coding_charset): Change argument MASK
11746 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
11747 sequence is valid in this coding system. Change callers.
11748 (MAX_ANNOTATION_LENGTH): New macro.
11749 (ADD_ANNOTATION_DATA): New macro.
11750 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
11751 ADD_ANNOTATION_DATA. Change the format of annotation data.
11752 (ADD_CHARSET_DATA): New macro.
11753 (emacs_mule_char): New argument ID. Change callers.
11754 (decode_coding_emacs_mule, decode_coding_iso_2022)
11755 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
11756 Produce charset annotation data in coding->charbuf.
11757 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
11758 to charset annotation data in coding->charbuf.
11759 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
11760 coding->common_flags if the coding system is iso-2022 based and
11761 uses designation.
11762 (produce_composition): Adjust for the new annotation data format.
11763 (produce_charset): New function.
11764 (produce_annotation): Handle charset annotation.
11765 (handle_composition_annotation, handle_charset_annotation): New
11766 functions.
11767 (consume_chars): Handle charset annotation. Utilize the above two
11768 functions.
11769 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
11770 buffer, get the deleted text as a string and set
11771 coding->src_object to that string.
11772 (detect_coding, detect_coding_system): Use the new struct
11773 coding_detection_info.
11774
11775 * coding.h (struct coding_detection_info): New structure.
11776 (struct coding_system): Adjust prototype of the member `detector'.
11777 (CODING_ANNOTATE_CHARSET_MASK): New macro.
11778
117792008-02-01 Kenichi Handa <handa@m17n.org>
11780
11781 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
11782
117832008-02-01 Dave Love <fx@gnu.org>
11784
11785 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
11786 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
11787 to new local and nullify apropos_accumulate before returning.
11788 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
11789
117902008-02-01 Kenichi Handa <handa@m17n.org>
11791
11792 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
11793 correctly.
e3eea1fc 11794
aac0c6e3
MR
117952008-02-01 Dave Love <fx@gnu.org>
11796
11797 * fns.c (Flanginfo): Call synchronize_system_time_locale.
11798
117992008-02-01 Kenichi Handa <handa@m17n.org>
11800
11801 The following changes are to make character composition happen
11802 automatically on displaying.
11803
11804 * Makefile.in (lisp, shortlisp): Add composite.elc.
11805
11806 * composite.h (Qauto_composed, Vauto_composition_function)
11807 (Qauto_composition_function): Extern them.
11808
11809 * composite.c (Vcomposition_function_table)
11810 (Qcomposition_function_table): Delete variables.
11811 (Qauto_composed, Vauto_composition_function)
11812 (Qauto_composition_function): New variables.
11813 (run_composition_function): Don't call
11814 compose-chars-after-function.
11815 (update_compositions): Clear `auto-composed' text property.
11816 (compose_chars_in_text): Delete this function.
11817 (syms_of_composite): Staticpro Qauto_composed and
11818 Qauto_composition_function. Declare Vauto_composition_function as
11819 a Lisp variable.
11820
11821 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
11822
11823 * xdisp.c (it_props): Add an entry for Qauto_composed.
11824 (handle_auto_composed_prop): New function.
11825
11826 * xselect.c (selection_data_to_lisp_data): Don't call
11827 compose_chars_in_text.
11828
118292008-02-01 Dave Love <fx@gnu.org>
11830
11831 * keyboard.c (read_char): Modify checking around use of
11832 Vkeyboard_translate_table.
11833
11834 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
11835 and fix C types.
11836
118372008-02-01 Kenichi Handa <handa@m17n.org>
11838
11839 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
11840 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
11841 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
11842 the case that the last byte is '\r' correctly.
11843 (decode_coding): Flush out the unprocessed data correctly.
11844 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
11845
118462008-02-01 Dave Love <fx@gnu.org>
11847
11848 * xterm.c (XTread_socket): Fix changes for defined keysyms.
11849 Add XK_ISO... case.
11850 (xaw_scroll_callback): Revert last change.
11851
118522008-02-01 Kenichi Handa <handa@m17n.org>
11853
11854 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
11855
118562008-02-01 Kenichi Handa <handa@m17n.org>
11857
11858 * xfaces.c (Vface_resizing_fonts): New variable.
11859 (struct font_name): New member `resizing_ratio'.
11860 (font_resizing_ratio): New function.
11861 (split_font_name): Set font->resizing_ratio.
11862 (better_font_p): Pay attention to font->resizing_ratio.
11863 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
11864 RESX, and RESY fields.
11865 (try_alternative_families): Try scalable fonts if
11866 Vscalable_fonts_allowed is not Qt.
11867 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
11868
118692008-02-01 Dave Love <fx@gnu.org>
11870
11871 * xterm.c (xaw_scroll_callback): Cast correctly.
11872
118732008-02-01 Dave Love <fx@gnu.org>
11874
11875 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
11876 (lispy_kana_keys): Comment out.
11877 (make_lispy_event) [XK_kana_A]: Comment out.
11878
11879 * xterm.c (xaw_scroll_callback): Cast call_data.
11880 (XTread_socket): Deal with ASCII keysyms.
11881 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
11882
118832008-02-01 Dave Love <fx@gnu.org>
11884
11885 * xterm.c (Vx_keysym_table): New.
11886 (syms_of_xterm): Initialize it.
11887 (XTread_socket): Use it.
11888 From head: Eliminate incorrect optimization that tried to avoid
11889 decoding the output of X*LookupString.
11890 (x_get_font_repertory): Delete charset declaration.
11891
118922008-02-01 Kenichi Handa <handa@m17n.org>
11893
11894 * coding.c (detect_coding_charset): If only ASCII bytes are found,
11895 return 0.
11896 (Fdefine_coding_system_internal): Setup
11897 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
11898
118992008-02-01 Dave Love <fx@gnu.org>
11900
11901 * coding.c (Fcheck_coding_system): Doc fix.
11902
11903 * editfns.c (Finsert_byte): Return a proper value.
11904
119052008-02-01 Kenichi Handa <handa@m17n.org>
11906
11907 * coding.c (decode_coding): Fix args to translate_chars. Pay
11908 attention to Vstandard_translation_table_for_decode.
11909 (encode_coding): Fix args to translate_chars. Pay attention to
11910 Vstandard_translation_table_for_encode.
11911
11912 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
11913 SINGLE_BYTE_CHAR_P.
11914
11915 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
11916 not by SINGLE_BYTE_CHAR_P.
11917
11918 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
11919 SINGLE_BYTE_CHAR_P.
11920
11921 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
11922 SINGLE_BYTE_CHAR_P.
11923
11924 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
11925 by SINGLE_BYTE_CHAR_P.
11926
11927 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
11928 SINGLE_BYTE_CHAR_P.
11929
119302008-02-01 Dave Love <fx@gnu.org>
11931
11932 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
11933
119342008-02-01 Dave Love <fx@gnu.org>
11935
11936 * fns.c (Flanginfo): Fix typo.
11937
11938 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
11939
119402008-02-01 Kenichi Handa <handa@m17n.org>
11941
11942 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
11943 (detect_coding_emacs_mule, detect_coding_iso_2022)
11944 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
11945 incomplete byte sequence. Don't update *mask when correctly detected.
11946 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
11947 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
11948 (detect_coding, detect_coding_system): Adjust for the changes above.
11949
119502008-02-01 Kenichi Handa <handa@m17n.org>
11951
11952 * character.c (char_string): Rename from
11953 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
11954 (string_char): Rename from string_char.
11955
11956 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
11957 if C is greater than MAX_3_BYTE_CHAR.
11958 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
11959 string_char instead of string_char_with_unification.
11960
119612008-02-01 Dave Love <fx@gnu.org>
11962
11963 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
11964
119652008-02-01 Kenichi Handa <handa@m17n.org>
11966
11967 * keymap.c (push_key_description): Pay attention to force_multibyte.
11968
11969 * regex.c (re_search_2): Fix for the case of unibyte buffer.
11970
119712008-02-01 Dave Love <fx@gnu.org>
11972
11973 * charset.c (define_charset_internal): Rename `supprementary'.
11974
11975 * Makefile.in (lisp, shortlisp): Remove latin-N.
11976
119772008-02-01 Dave Love <fx@gnu.org>
11978
11979 * xfns.c (x_window, x_window): Use use_xim.
11980
11981 * xterm.c (use_xim): Initialize.
11982 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
11983 (x_term_init): Maybe set use_xim.
11984
11985 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
11986
119872008-02-01 Kenichi Handa <handa@m17n.org>
11988
11989 * search.c (search_buffer): Fix case-fold-search of multibyte
11990 characters.
11991 (boyer_moore): Rename the last argument to char_high_bits.
11992
119932008-02-01 Kenichi Handa <handa@m17n.org>
11994
11995 * xdisp.c (display_string): Fix for the case of zero width glyph.
11996
11997 * xfns.c (x_set_font): Change the error message of the case that
11998 x_new_fontset returns Qt.
11999
12000 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
12001 (Finternal_set_lisp_face_attribute): Use signal_error for the
12002 error of invalid fontset.
12003
12004 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
12005 fontset, return Qt.
12006
120072008-02-01 Dave Love <fx@gnu.org>
12008
12009 * unexelf.c (unexec): Make .got handling not SGI-specific.
12010
12011 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
12012
12013 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
12014
12015 * keyboard.c (read_key_sequence): Fix type error.
12016
12017 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
12018 type error.
12019
12020 * fontset.c (fontset_add): Return Lisp_Object.
12021
120222008-02-01 Dave Love <fx@gnu.org>
12023
12024 * charset.h (charset_ordered_list_tick): Declare extern.
12025
120262008-02-01 Kenichi Handa <handa@m17n.org>
12027
12028 The following changes (and some of 2008-02-01 changes of mine) are
12029 for handling syntax, category, and case conversion for unibyte
12030 characters by converting them to multibyte on the fly. With these
12031 changes, we don't have to setup syntax and case tables for unibyte
12032 characters in each language environment.
12033
12034 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
12035 multibyte if necessary.
12036
12037 * bytecode.c (Fbyte_code): Likewise.
12038
12039 * character.h (LEADING_CODE_LATIN_1_MIN)
12040 (LEADING_CODE_LATIN_1_MAX): New macros.
12041 (unibyte_to_multibyte_table): Extern it.
12042 (unibyte_char_to_multibyte): New macro.
12043 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
12044 (CHAR_LEADING_CODE): New macro.
12045 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
12046
12047 * character.c (unibyte_to_multibyte_table): New variable.
12048 (unibyte_char_to_multibyte): Move to character.h and define as macro.
12049 (multibyte_char_to_unibyte): If C is an eight-bit character,
12050 convert it to the corresponding byte value.
12051
12052 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
12053 not 1, signals an error. Update the elements of
12054 unibyte_to_multibyte_table.
12055 (init_charset_once): Initialize unibyte_to_multibyte_table.
12056 (syms_of_charset): Define the charset `iso-8859-1'.
12057
12058 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
12059 as is without converting it to unibyte. In a unibyte buffer,
12060 convert C to multibyte before checking the syntax.
12061
12062 * lisp.h (unibyte_char_to_multibyte): Delete extern.
12063
12064 * minibuf.c (Fminibuffer_complete_word): Use the macro
12065 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
12066
12067 * regex.h (struct re_pattern_buffer): New member target_multibyte.
12068
12069 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
12070 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
12071 that is zero, convert an eight-bit char to multibyte.
12072 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
12073 non-emacs case.
12074 (PATFETCH): Convert an eight-bit char to multibyte.
12075 (HANDLE_UNIBYTE_RANGE): New macro.
12076 (regex_compile): Setup the compiled pattern for multibyte chars
12077 even if the given regex string is unibyte. Use PATFETCH_RAW
12078 instead of PATFETCH in many places. To handle `charset'
12079 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
12080 only for ASCII chars.
12081 (analyse_first) <exactn>: Simplify because the compiled pattern
12082 is multibyte.
12083 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
12084 <charset>: Use CHAR_LEADING_CODE to get leading codes.
12085 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
12086 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
12087 multibyte always 1.
12088 (re_search_2): In emacs, set the locale variable multibyte to 1,
12089 otherwise to 0. New local variable target_multibyte. Check it
12090 to decide the multibyteness of STR1 and STR2. If
12091 target_multibyte is zero, convert unibyte chars to multibyte
12092 before translating and checking fastmap.
12093 (TARGET_CHAR_AND_LENGTH): New macro.
12094 (re_match_2_internal): In emacs, set the locale variable multibyte
12095 to 1, otherwise to 0. New local variable target_multibyte. Check
12096 it to decide the multibyteness of STR1 and STR2. Use
12097 TARGET_CHAR_AND_LENGTH to fetch a character from D.
12098 <charset, charset_not>: If multibyte is nonzero, check fastmap
12099 only for ASCII chars. Call bcmp_translate with
12100 target_multibyte, not with multibyte.
12101 <begline>: Declare the local variable C as `unsigned'.
12102 (bcmp_translate): Change the last arg name to target_multibyte.
12103
12104 * search.c (compile_pattern_1): Don't adjust the multibyteness of
12105 the regexp pattern and the matching target. Set cp->buf.multibyte
12106 to the multibyteness of the regexp pattern. Set
12107 cp->but.target_multibyte to the multibyteness of the matching target.
12108 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
12109 FETCH_STRING_CHAR_ADVANCE.
12110 (Freplace_match): Convert unibyte chars to multibyte.
12111
12112 * syntax.c (char_quoted, back_comment, scan_words)
12113 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
12114 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
12115 unibyte chars to multibyte.
12116 (skip_chars): Delete the arg syntaxp, and move the code for
12117 handling syntaxes to skip_syntaxes. Change callers.
12118 Fix the case that the multibyteness of STRING and the current
12119 buffer doesn't match.
12120 (skip_syntaxes): New function.
12121 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
12122 SINGLE_BYTE_CHAR_P.
12123
121242008-02-01 Kenichi Handa <handa@m17n.org>
12125
12126 * xfaces.c (QCfontset): New variable.
12127 (LFACE_FONTSET): New macro.
12128 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
12129 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
12130 (Finternal_set_lisp_face_attribute)
12131 (Finternal_get_lisp_face_attribute): Handle QCfontset.
12132 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
12133 check also LFACE_FONTSET_INDEX.
12134 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
12135 attrs[LFACE_FONT_INDEX].
12136 (syms_of_xfaces): Intern and staticpro QCfontset.
12137
12138 * dispextern.h (enum lface_attribute_index): New member
12139 LFACE_FONTSET_INDEX.
12140
12141 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
12142
121432008-02-01 Kenichi Handa <handa@m17n.org>
12144
12145 * coding.c (coding_set_destination): Fix coding->destination for
12146 the case converting a region.
12147 (encode_coding_utf_8): Encode eight-bit chars as single byte.
12148 (encode_coding_object): Fix coding->dst_pos and
12149 coding->dst_pos_byte for the case converting a region.
12150
12151 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
12152
12153 * character.h (BYTE8_STRING): New macro.
12154
12155 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
12156
121572008-02-01 Kenichi Handa <handa@m17n.org>
12158
12159 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
12160 characters by octal form.
12161
12162 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
12163
12164 * buffer.h (_fetch_multibyte_char_len): Delete extern.
12165 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
12166 _fetch_multibyte_char_len.
12167 (FETCH_CHAR_AS_MULTIBYTE): New macro.
12168
12169 * casetab.c (set_canon, set_identity, shuffle): Simplify.
12170
12171 * casefiddle.c (casify_object): Simplify. Handle the case that
12172 the case conversion change the byte length.
12173 (casify_region): Likewise.
12174
12175 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
12176
12177 * character.c (_fetch_multibyte_char_len): Delete this variable.
12178 (syms_of_character): Setup Vprintable_chars.
12179
12180 * editfns.c (Fchar_equal): Fix for the unibyte case.
12181 (Finsert_byte): New function.
12182 (syms_of_editfns): Defsubr it.
12183
12184 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
12185 of direct code 0x3ffff.
12186
12187 * search.c (Freplace_match): Fix for the unibyte case.
12188
121892008-02-01 Kenichi Handa <handa@m17n.org>
12190
12191 * lread.c (safe_to_load_p): Fix the logic.
12192
12193 * syntax.c (scan_words): Don't treat characters belonging to
12194 different scripts as constituting a word.
12195
12196 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12197
12198 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
12199
12200 * emacs.c (main): In the case of --unibyte, instead of aborting on
12201 finding non-empty buffer, make it unibyte.
12202
122032008-02-01 Kenichi Handa <handa@m17n.org>
12204
12205 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
12206 to create a fontset.
12207
122082008-02-01 Dave Love <fx@gnu.org>
12209
12210 * character.c (Funibyte_char_to_multibyte): Doc fix.
12211
12212 * xfns.c [HAVE_STDLIB_H]: Fix last change.
12213
122142008-02-01 Kenichi Handa <handa@m17n.org>
12215
12216 * fontset.c (fontset_add): Make the type `int'.
12217 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
12218
12219 * character.c (unibyte_char_to_multibyte)
12220 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
12221 charset_unibyte, not charset_primary.
12222
12223 * charset.h (charset_unibyte): Extern it instead of charset_primary.
12224
12225 * charset.c (charset_unibyte): Rename from charset_primary.
12226 (Funibyte_charset): Rename from Fprimary_charset.
12227 (Fset_unibyte_charset): Rename from Fset_primary_charset.
12228 (syms_of_charset): Adjust for the above changes.
12229
12230 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
12231 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
12232 it->multibyte_p is zero.
12233
12234 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
12235 Delete extern.
12236
122372008-02-01 Kenichi Handa <handa@m17n.org>
12238
12239 * coding.c (Fdefine_coding_system_internal): Fix category setting
12240 for a coding system of type iso-2022.
12241
122422008-02-01 Kenichi Handa <handa@m17n.org>
12243
12244 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
12245
122462008-02-01 Kenichi Handa <handa@m17n.org>
12247
12248 * syntax.c (Vnext_word_boundary_function_table): New variable.
12249 (next-word-boundary-function-table): Declare it as a Lisp variable
12250 in syms_of_syntax.
12251 (scan_words): Call functions in Vnext_word_boundary_function_table
12252 if any.
12253
12254 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
12255
12256 * fontset.c (fs_load_font): If fontp->charset is not negative,
12257 return fontp without setting its members.
12258
122592008-02-01 Dave Love <fx@gnu.org>
12260
12261 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
12262
12263 * m/sparc.h (HAVE_ALLOCA): Delete.
12264
12265 * s/irix6-5.h: Don't include strings.h.
12266 (bcopy, bzero, bcmp): Don't undef.
12267
12268 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
12269
12270 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
12271 (TIOCSIGSEND): Don't test IRIX6.
12272 (bcopy, bzero, bcmp): Define conditionally.
12273
122742008-02-01 Kenichi Handa <handa@m17n.org>
12275
12276 * buffer.c (Qas, Qmake, Qto): New variables.
12277 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
12278 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
12279
12280 * callproc.c (Fcall_process): Don't call insert_1_both directly if
12281 we are inserting a process output into a multibyte buffer.
12282
12283 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
12284 multibyte_char_to_unibyte.
12285
12286 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
12287 by the primary charset, make it eight-bit char.
12288 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
12289
12290 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
12291 (charset_8_bit__control, charset_8_bit_graphic)
12292 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
12293 (define_charset_internal): New function.
12294 (syms_of_charset): Call define_charset_internal for pre-defined
12295 charsets.
12296
12297 * charset.h (charset_8_bit): Extern it.
12298
12299 * coding.c (make_conversion_work_buffer): Adjust for the change
12300 of Fset_buffer_multibyte.
12301 (encode_coding_raw_text): Increment p0 in the loop.
12302
12303 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
12304
12305 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
12306 for the change of Fset_buffer_multibyte.
12307
12308 * fns.c (Fstring_to_multibyte): New function.
12309 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
12310
123112008-02-01 Dave Love <fx@gnu.org>
12312
12313 * xfns.c (x_put_x_image): Declare args.
12314
12315 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
12316 (try_font_list): Declare an arg.
12317
12318 * xdisp.c (message2_nolog, set_message): Declare an arg.
12319
12320 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
12321
12322 * syntax.c (scan_sexps_forward): Declare an arg.
12323
12324 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
12325 Declare an arg.
12326
12327 * lisp.h (Fnew_fontset): Declare.
12328
12329 * keymap.c (push_key_description): Call CHARACTERP correctly.
12330
12331 * fontset.c (fontset_add): Declare args. Call make_number correctly.
12332 (face_for_char): Delete unused vars.
12333 (Fset_fontset_font): Doc fix. Delete unused vars.
12334
12335 * doc.c (Fsubstitute_command_keys): Delete unused vars.
12336
12337 * composite.c (update_compositions): Declare arg.
12338
12339 * cm.c (calccost, cmgoto): Declare args.
12340
12341 * charset.c: Remove `emacs' conditional. Doc fixes.
12342 (map_char_table_for_charset): Declare.
12343
12344 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
12345
12346 * ccl.c: Remove `emacs' conditional.
12347
123482008-02-01 Kenichi Handa <handa@m17n.org>
12349
12350 The following changes are to allow specifying multiple font
12351 patterns for a character range (specified by script or charset).
12352
12353 * Makefile.in (abbrev.o): Depend on syntax.h.
12354 (xfaces.o): Depend on charset.h.
12355
12356 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
12357 SINGLE_BYTE_CHAR_P.
12358
12359 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
12360
12361 * character.h (Vchar_script_table): Extern it.
12362
12363 * character.c (Vscript_alist): Delete.
12364 (Vchar_script_table, Qchar_script_table): New variable.
12365 (syms_of_character): Declare Vchar_script_table as a lisp variable
12366 and initialize it.
12367
12368 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
12369 have property char-table-extra-slots, make no extra slot.
12370
12371 * dispextern.h (struct face): Delete member `charset'.
12372 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
12373 SINGLE_BYTE_CHAR_P.
12374 (choose_face_font, lookup_non_ascii_face, font_name_registry):
12375 Add prototypes.
12376 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
12377 (generate_ascii_font_name): Rename from generate_ascii_font.
12378
12379 * fontset.h (get_font_repertory_func): New prototype.
12380 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
12381 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
12382
12383 * fontset.c (Qprepend, Qappend): New variables.
12384 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
12385 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
12386 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
12387 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
12388 (fontset_ref_and_range, fontset_add, reorder_font_vector)
12389 (load_font_get_repertory): New functions.
12390 (fontset_set): Delete.
12391 (fontset_face): New arg FACE. Return face ID, not face.
12392 Complete re-write to handle new fontset structure. Change caller.
12393 (free_face_fontset): Use ASET istead of AREF (X) = Y.
12394 (face_for_char): Don't call lookup_face.
12395 (make_fontset_for_ascii_face): New arg FACE.
12396 (fs_load_font): New arg CHARSET_ID. Don't check
12397 Vfont_encoding_alist here.
12398 (find_font_encoding): New function.
12399 (list_fontsets): Use STRINGP, not ! NILP.
12400 (accumulate_script_ranges): New function.
12401 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
12402 re-written to handle new fontset structure.
12403 (Ffontset_font): Return a copy of element.
12404 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
12405 docstring of font-encoding-alist.
12406
12407 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
12408 (Fset_fotset_font): Fix arguments to 5.
12409
12410 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
12411
12412 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
12413 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12414 (highlight_trailing_whitespace): Adjust for the change of
12415 lookup_named_face.
12416
12417 * xfaces.c: Include charset.h.
12418 (load_face_font): Delete argument C. Change caller.
12419 (generate_ascii_font_name): Rename from generate_ascii_font.
12420 (font_name_registry): New function.
12421 (cache_face): Store ascii faces before non-ascii faces in buckets.
12422 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
12423 Lookup only ascii faces.
12424 (lookup_non_ascii_face): New function.
12425 (lookup_named_face): Delete argument C. Change caller.
12426 (lookup_derived_face): Delete argument C. Change caller.
12427 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
12428 a string, just call font_list with it.
12429 (choose_face_font): Delete arguments FACE and C. New arg
12430 FONT_SPEC. Change caller.
12431 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
12432 Change caller.
12433 (realize_non_ascii_face): New function.
12434 (realize_x_face): Call load_face_font here.
12435 (realize_tty_face): Delete argument C. Change caller.
12436 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
12437 get a face ID.
12438 (dump_realized_face): Don't print charset of FACE.
12439
12440 * xfns.c (x_set_font): Always call x_new_fontset and
12441 store_frame_parameter.
12442 (Fx_create_frame): Call x_new_fontset, not x_new_font.
12443 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
12444
12445 * xterm.h (x_get_font_repertory): Extern it.
12446
12447 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
12448 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
12449 it->multibyte_p is zero.
12450 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12451 (x_new_fontset): If FONTSETNAME doesn't match any existing
12452 fontsets, create a new one.
12453 (x_get_font_repertory): New function.
12454
124552008-02-01 Kenichi Handa <handa@m17n.org>
12456
12457 * coding.c (Ffind_coding_systems_region_internal): Detect an
12458 ASCII only string correctly.
12459
12460 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
12461 version is 0.
12462
124632008-02-01 Kenichi Handa <handa@m17n.org>
12464
12465 * lread.c: Include "coding.h".
12466 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
12467 (load_each_byte, unread_char): New variables.
12468 (readchar_backlog): Delete.
12469 (readchar): Return a character unless load_each_byte is nonzero.
12470 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
12471 cons. If unread_char is not -1, simply return it.
12472 (unreadchar): Handle the case that readcharfun is
12473 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
12474 (read_multibyte): Delete.
12475 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
12476 (read_emacs_mule_char): New functions.
12477 (Fload): Even if the file doesn't have the extension ".elc", if
12478 safe_to_load_p returns a positive version number, assume that the
12479 file contains bytecompiled code. If the version is less than 22,
12480 load the file while decoding multibyte sequences by emacs-mule.
12481 (readevalloop): Don't use readchar_backlog.
12482 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
12483 (Fread_from_string): Pay attention to the case that STREAM is a cons.
12484 (read_escape): Delete the arg BYTEREP.
12485 (read1): Set load_each_byte to 1 temporarily while handling
12486 #@NUMBER. Don't call read_multibyte.
12487 (read_vector): Call Fread with a cons. If readcharfun is
12488 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
12489 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
12490 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
12491 and Qload_force_doc_strings.
12492
124932008-02-01 Kenichi Handa <handa@m17n.org>
12494
12495 * xdisp.c (face_before_or_after_it_pos): Call
12496 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
12497
124982008-02-01 Kenichi Handa <handa@m17n.org>
12499
12500 * character.h (TRAILING_CODE_P): New macro.
12501 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
12502 (string_char_with_unification): Fix prototype.
12503 (Vscript_alist): Extern it.
12504
12505 * character.c (Vscript_alist): New variable.
12506 (string_char_with_unification, str_as_unibyte)
12507 (string_escape_byte8): Add `const' to local variables.
12508 (syms_of_character): Declare script-alist as a Lisp variable.
12509
12510 * charset.h (Vcharset_ordered_list): Extern it.
12511 (charset_ordered_list_tick): Extern it.
12512 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
12513 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
12514 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
12515 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
12516 (Funify_charset): Adjust for the change of Funify_charset.
12517
12518 * charset.c (charset_ordered_list_tick): New variable.
12519 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
12520 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
12521 deunify intead of unify a charset.
12522 (string_xstring_p): Add `const' to local variables.
12523 (find_charsets_in_text): Add `const' to arguments and local variables.
12524 (encode_char): Adjust for the change of Funify_charset. Fix
12525 detecting of invalid code.
12526 (Fset_charset_priority): Increment charset_ordered_list_tick.
12527 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
12528 and TO_CODE.
12529
12530 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
12531 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
12532 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
12533 (decode_coding_ccl, consume_chars)
12534 (Ffind_coding_systems_region_internal)
12535 (Fcheck_coding_systems_region): Add `const' to local variables.
12536
12537 * print.c (print_object): Use octal form for printing the
12538 contents of a bool vector.
12539
125402008-02-01 Dave Love <fx@gnu.org>
12541
12542 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
12543 <version == 20>: Refuse to load.
12544
125452008-02-01 Dave Love <fx@gnu.org>
12546
12547 * fns.c: Move coding.h.
12548 (Qcodeset, Qdays, Qmonths): New.
12549 (concat): Use CHARACTERP instead of INTEGERP.
12550 (Flocale_codeset): Delete.
12551 (Flanginfo): New function.
12552 (syms_of_fns): Change accordingly.
12553
12554 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
12555
125562008-02-01 Dave Love <fx@gnu.org>
12557
12558 * casetab.c (init_casetab_once, init_casetab_once): Fix
12559 CHAR_TABLE_SET call.
12560
12561 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
12562
12563 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
12564
12565 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
12566 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
12567 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
12568
12569 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
12570
12571 * coding.c (ENCODE_DESIGNATION, decode_eol)
12572 (make_conversion_work_buffer, code_conversion_restore)
12573 (Fdefine_coding_system_internal): Convert Lisp types.
12574 (code_conversion_restore): Use EQ, not ==.
12575 (Fencode_coding_string): Fix code_convert_string call.
12576
12577 * coding.h (code_convert_region): Fix prototype.
12578
12579 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
12580
12581 * fontset.c (fontset_ref, fontset_set, fs_load_font)
12582 (Ffontset_info): Convert Lisp types.
12583
12584 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
12585
12586 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
12587
12588 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
12589
12590 * chartab.c: Include "...h", not <...h> in some cases.
12591
12592 * callproc.c (Fcall_process): Remove unused variables.
12593
125942008-02-01 Dave Love <fx@gnu.org>
12595
12596 * coding.c (Fset_coding_system_priority): Allow null arg list.
12597
125982008-02-01 Dave Love <fx@gnu.org>
12599
12600 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
12601 (Fself_insert_and_exit): Use CHARACTERP.
12602
12603 * callproc.c (Fcall_process): Remove unused vars.
12604
12605 * xterm.c (XTread_socket): Add extra dead keysyms.
12606
12607 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
12608
12609 * dispextern.h: Remove prototypes for redraw_frame,
12610 redraw_garbaged_frames.
12611
12612 * cmds.c (Fself_insert_command): Use CHARACTERP.
12613
12614 * chartab.c (make_sub_char_table): Remove unused var.
12615 (Fset_char_table_default, Fmap_char_table): Doc fix.
12616
12617 * keymap.c (access_keymap): Remove generic char code.
12618 (push_key_description): Use CHARACTERP.
12619
126202008-02-01 Dave Love <fx@gnu.org>
12621
12622 * charset.c: Doc fixes.
12623 (Funify_charset): Extra checking.
12624
126252008-02-01 Dave Love <fx@gnu.org>
12626
12627 * lread.c: Remove some unused variables.
12628 (safe_to_load_p): If safe, return the magic number version byte.
12629 (Fload): Maybe use load-with-code-conversion.
12630
126312008-02-01 Kenichi Handa <handa@m17n.org>
12632
12633 * category.c (Fmodify_category_entry): Don't modify the contents
12634 of category_set for characters out of the range. Avoid
12635 unnecessary modification.
12636
12637 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
12638 Vchar_unify_table. The default value of the table is now nil.
12639
12640 * character.c (syms_of_character): Setup Vchar_width_table for
12641 eight-bit-control and raw-byte chars.
12642
12643 * charset.h (enum define_charset_arg_index): Delete
12644 charset_arg_parents and add charset_arg_subset and
12645 charset_arg_superset.
12646 (enum charset_attr_index): Delete charset_parents and add
12647 charset_subset and charset_superset.
12648 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
12649 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
12650 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
12651 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
12652 (CHARSET_SUPERSET): New macros.
12653 (charset_work): Extern it.
12654 (ENCODE_CHAR): Use charset_work.
12655 (CHAR_CHARSET_P): Adjust for the change of encoder format.
12656 (map_charset_chars): Extern it.
12657
12658 * charset.c (load_charset_map): Set the default value of encoder
12659 and deunifier char-tables to nil.
12660 (map_charset_chars): Change argument. Change callers. Use
12661 map_char_table_for_charset instead of map_char_table.
12662 (Fmap_charset_chars): New optional args from_code and to_code.
12663 (Fdefine_charset_internal): Adjust for the change of
12664 `define-charset' (:parents -> :subset or :superset).
12665 (charset_work): New variable.
12666 (encode_char, syms_of_charset): Adjust for the change of
12667 Fdefine_charset_internal.
12668 (Ffind_charset_string): Setup the vector `charsets' correctly.
12669
12670 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
12671 the previous change.
12672 (char_table_ref_and_range): Adjust for the above change.
12673 (map_sub_char_table_for_charset): New function.
12674 (map_char_table_for_charset): New function.
12675
12676 * keymap.c (describe_vector): Handle a char-table directly here.
12677 (describe_char_table): Delete.
12678
12679 * lisp.h (map_charset_chars): Delete.
12680
126812008-02-01 Dave Love <fx@gnu.org>
12682
12683 * fns.c (count_combining): Comment out (unused).
12684 (Flocale_codeset): New.
12685 (syms_of_fns): Defsubr it.
12686
12687 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
12688 (size_t): Remove.
12689
126902008-02-01 Dave Love <fx@gnu.org>
12691
12692 * Makefile.in (chartab.o): Depend on charset.h.
12693
126942008-02-01 Kenichi Handa <handa@m17n.org>
12695
12696 * character.c (syms_of_character): Set the default value of
12697 Vprintable_chars to Qnil.
12698
126992008-02-01 Dave Love <fx@gnu.org>
12700
12701 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
12702
127032008-02-01 Kenichi Handa <handa@m17n.org>
12704
12705 * charset.c (load_charset_map): Handle the case that from < to
12706 correctly.
12707
12708 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
12709 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
12710 Pay attention to raw-8-bit chars.
12711
127122008-02-01 Kenichi Handa <handa@m17n.org>
12713
12714 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
12715 It is not bytecompiled now.
12716
12717 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
12718 (charset_jisx0208): New variables.
12719 (Fdefine_charset_internal): Setup them if appropriate.
12720 (init_charset_once): Initialize them to -1.
12721
12722 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
12723 (charset_jisx0208): Extern them.
12724
12725 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
12726 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
12727 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
12728 (setup_iso_safe_charsets): Fix arguments to Fassq.
12729 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
12730 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
12731 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
12732 (encode_coding_iso_2022): Change the 1st arg to
12733 ENCODE_ISO_CHARACTER to a variable.
12734
127352008-02-01 Kenichi Handa <handa@m17n.org>
12736
12737 * charset.h (enum define_charset_arg_index): New enums
12738 charset_arg_min_code and charset_arg_max_code.
12739 (struct charset): New member char_index_offset.
12740
12741 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
12742 Take charset->char_index_offset into account.
12743 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
12744 args[charset_arg_max_code]. Setup charset.char_index_offset.
12745 (syms_of_charset): Fix args to Fdefine_charset_internal.
12746
127472008-02-01 Dave Love <fx@gnu.org>
12748
12749 * coding.c (decode_coding_utf_8): Reject overlong sequences.
12750
127512008-02-01 Dave Love <fx@gnu.org>
12752
12753 * coding.c: Doc fixes.
12754 (Fcoding_system_aliases): Fix return value.
12755 (Qmac): Remove (duplicated) definition.
12756
127572008-02-01 Dave Love <fx@gnu.org>
12758
12759 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
12760 functions.
12761
12762 * character.c (Fstring): Doc fix.
12763
12764 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
12765
12766 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
12767 ids.
12768 (font-encoding-alist): Doc fix.
12769
127702008-02-01 Dave Love <fx@gnu.org>
12771
12772 * term.c (costs_set): Declare static, non-initialized for pcc.
12773 (encode_terminal_code): Remove unused var.
12774
12775 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
12776 for K&R.
12777
12778 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
12779
12780 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
12781 (suffixes): Move out of make_subsidiaries for K&R.
12782
12783 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
12784
12785 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
12786
127872008-02-01 Dave Love <fx@gnu.org>
12788
12789 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
12790
12791 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
12792
127932008-02-01 Yong Lu <lyongu@asia-infonet.com>
12794
12795 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
12796
12797 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
12798
127992008-02-01 Kenichi Handa <handa@m17n.org>
12800
12801 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
12802 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
12803
128042008-02-01 Kenichi Handa <handa@m17n.org>
12805
12806 * coding.c (decode_coding_charset): Adjust for the change of
12807 Fdefine_coding_system_internal.
12808 (Fdefine_coding_system_internal): For a coding system of
12809 `charset' type, store a list of charset IDs in
12810 `charset_attr_charset_valids' element of coding attributes.
12811
128122008-02-01 Kenichi Handa <handa@m17n.org>
12813
12814 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
12815 (emacs_mule_char): New arg src. Delete arg `composition'. Change
12816 caller. Handle 2-byte and 3-byte charsets correctly.
12817 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
12818 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
12819 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
12820 (DECODE_EMACS_MULE_21_COMPOSITION): Call
12821 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
12822 sequence.
12823 (decode_coding_emacs_mule): Handle composition correctly. Rewind
12824 `src' and `consumed_chars' correctly before calling emacs_mule_char.
12825 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
12826 and alt&rule composition.
12827 (decode_coding_iso_2022): Handle composition correctly.
12828 (init_coding_once): Setup emacs_mule_bytes for private charsets.
12829
12830 * charset.c (Fdefine_charset_internal): Fix bug for the case of
12831 re-defining a charset. If the charset has :emacs-mule-id, setup
12832 emacs_mule_bytes.
12833 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
12834
128352008-02-01 Kenichi Handa <handa@m17n.org>
12836
12837 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
12838 (encode_coding_big5, encode_coding_charset): If coding requires safe
12839 encoding, produce a character specified by
12840 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
12841
128422008-02-01 Dave Love <fx@gnu.org>
12843
12844 * xterm.c (XSetIMValues): Declare.
12845
12846 * process.c: Conditionally include sys/wait.h, pty.h.
12847
12848 * print.c (print_object): Fix print format for 64-bit systems.
12849
12850 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
12851
12852 * buffer.c (emacs_strerror): Declare.
12853
12854 * fontset.c (Fclear_face_cache): Declare.
12855 (accumulate_font_info): Comment-out (unused).
12856 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
12857 variables.
12858
12859 * character.h (string_escape_byte8): Declare.
12860
12861 * charset.c (load_charset_map, load_charset_map_from_file): Remove
12862 unused vars.
12863 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
12864 (Fmap_charset_chars): Doc fix.
12865
12866 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
12867 (Fset_coding_system_priority, Fset_coding_system_priority)
12868 (Fdefine_coding_system_internal): Doc fix.
12869
128702008-02-01 Dave Love <fx@gnu.org>
12871
12872 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
12873
128742008-02-01 Kenichi Handa <handa@m17n.org>
12875
12876 * character.c (string_escape_byte8): Make multibyte string with
12877 correct size.
12878
12879 * charset.c (Fmake_char): Delete unnecessary code.
12880
128812008-02-01 Kenichi Handa <handa@m17n.org>
12882
12883 * xfns.c (x_encode_text): Allocate coding.destination here, and
12884 call encode_coding_object with dst_object Qnil.
12885
12886 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
12887 multibyte form correctly.
12888
12889 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
12890 against Vfont_encoding_alist.
12891
12892 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
12893 handling of charset list.
12894 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
12895 (decode_coding_object): Move point to coding->dst_pos before
12896 calling post-read-conversion function.
12897 (encode_coding_object): Give correct arguments to
12898 pre-write-conversion. Ignore the return value of
12899 pre-write-conversion function. Pay attention to the case that
12900 pre-write-conversion changes the current buffer. If dst_object is
12901 Qt, even if coding->src_bytes is zero, allocate at least one byte
12902 to coding->destination.
12903
12904 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
12905
12906 * charset.c (Fmake_char): Make it more backward compatible.
12907 (Fmap_charset_chars): Fix docstring.
12908
129092008-02-01 Dave Love <fx@gnu.org>
12910
12911 * coding.c: Doc fixes.
12912 (Fdefine_coding_system_alias): Use names, not symbols, in
12913 coding-system-alist.
12914
129152008-02-01 Kenichi Handa <handa@m17n.org>
12916
12917 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
12918 of calling free_realized_face.
12919
129202008-02-01 Yong Lu <lyongu@asia-infonet.com>
12921
12922 * charset.c (read_hex): Don't treat SPC as a comment starter.
12923 (decode_char): If CODE_POINT_TO_INDEX returns -1, always return -1.
12924 (Fdecode_char): Fix typo.
12925
129262008-02-01 Kenichi Handa <handa@m17n.org>
12927
12928 * charset.h (struct charset): New member `code_space_mask'.
12929
12930 * coding.c (coding_set_source): Delete the local variable beg_byte.
12931 (encode_coding_charset, Fdefine_coding_system_internal):
12932 Delete the local variable charset.
12933 (Fdefine_coding_system_internal): Setup
12934 attrs[coding_attr_charset_valids] correctly.
12935
12936 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
12937 member to check if CODE is valid or not.
12938 (Fdefine_charset_internal): Initialize `code_space_mask' member.
12939 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
12940 is within the range of charset->min_code and carset->max_code.
12941
129422008-02-01 Dave Love <fx@gnu.org>
12943
12944 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
12945
12946 * dispextern.h (generate_ascii_font): Fix return type.
12947
12948 * xfaces.c (generate_ascii_font): Fix arg declaration.
12949
12950 * coding.c (coding_inherit_eol_type)
12951 (Fset_terminal_coding_system_internal)
12952 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
12953
129542008-02-01 Kenichi Handa <handa@m17n.org>
12955
12956 * coding.c (decode_coding_charset, encode_coding_charset): Handle
12957 multiple charsets correctly.
12958
129592008-02-01 Kenichi Handa <handa@m17n.org>
12960
12961 * search.c (boyer_moore): Fix handling of multibyte character
12962 translation.
12963
12964 * xdisp.c (display_mode_element): When the variable `elt' is
12965 changed, update `this' and `lisp_string'.
12966
129672008-02-01 Kenichi Handa <handa@m17n.org>
12968
12969 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
12970
12971 * callproc.c (Fcall_process): Be sure to give the current buffer
12972 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
12973
12974 * charset.c (struct charset_map_entries): New struct.
12975 (load_charset_map): Rename from parse_charset_map. New args
12976 entries and n_entries. Change caller.
12977 (load_charset_map_from_file): Rename from load_charset_map.
12978 Change caller. New arg control_flag. Call load_charset_map at
12979 the tail.
12980 (load_charset_map_from_vector): New function.
12981 (Fdefine_charset_internal): Setup charset.compact_codes_p.
12982 (encode_char): If the charset is compact, change a character index
12983 to a code point.
12984
12985 * coding.c (coding_alloc_by_making_gap): Check the case that the
12986 source and destination are the same correctly.
12987 (decode_coding_raw_text): Set coding->consumed_char and
12988 coding->consumed to 0.
12989 (produce_chars): If coding->chars_at_source is nonzero, update
12990 coding->consumed_char and coding->consumed before calling
12991 alloc_destination.
12992 (Fdefine_coding_system_alias): Register ALIAS in
12993 Vcoding_system_alist.
12994 (syms_of_coding): Define `no-conversion' coding system at the tail.
12995
12996 * fileio.c (Finsert_file_contents): Set coding_system instead of
12997 val. If the current buffer is multibyte, always call
12998 decode_coding_gap.
12999
13000 * xfaces.c (try_font_list): Give higher priority to fontset's
13001 family than face's family.
13002
130032008-02-01 Kenichi Handa <handa@m17n.org>
13004
13005 * callproc.c (Fcall_process): Be sure to give the current buffer
13006 to decode_coding_c_string.
13007
13008 * xfaces.c (try_font_list): Give a family specified in a fontset
13009 higher priority than a family specified in a face.
13010
130112008-02-01 Kenichi Handa <handa@m17n.org>
13012
13013 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
13014 Fix arguments to insert_from_buffer.
13015
13016 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
13017
130182008-02-01 Kenichi Handa <handa@m17n.org>
13019
13020 * coding.c (produce_chars): Set the variable `multibytep' correctly.
13021 (decode_coding_gap): Set coding->dst_multibyte correctly.
13022
130232008-02-01 Kenichi Handa <handa@m17n.org>
13024
13025 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
13026 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
13027 (encode_coding_utf_16): Substitute coding->default_char for
13028 non-Unicode characters.
13029 (decode_coding): Don't call record_insert here.
13030 (setup_coding_system): Initialize `surrogate' of
13031 coding->spec.utf_16 to 0.
13032 (EMIT_ONE_BYTE): Fix for multibyte case.
13033
13034 * insdel.c (insert_from_gap): Call record_insert.
13035
130362008-02-01 Kenichi Handa <handa@m17n.org>
13037
13038 * casefiddle.c (casify_region): Fix multibyte case.
13039
13040 * character.c (c_string_width): Add return type `int'.
13041 (char_string_with_unification): Delete arg ADVANCED.
13042
13043 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
13044 (CHAR_STRING): Adjust for the change of char_string_with_unification.
13045 (CHAR_STRING_ADVANCE): Make it do-while statement.
13046
13047 * chartab.c (sub_char_table_set_range): Optimize for the case
13048 DEPTH == 3. Add workaround code for a GCC optimization bug.
13049
13050 * charset.c (parse_charset_map): Remove an unused variable.
13051
13052 * coding.c: Delete unused variables.
13053
13054 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
13055 earlier. If inserted is zero and the coding system doesn't
13056 require flushing, don't call decode_coding_gap.
13057
13058 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
13059
130602008-02-01 Kenichi Handa <handa@m17n.org>
13061
13062 The following changes are for using Unicode as an internal
13063 character model, and use UTF-8 format for buffer/string
13064 representation.
13065
13066 * .gdbinit (xchartable): Adjust for the change of char table structure.
13067 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
13068
13069 * Makefile.in (obj): Add character.o and chartab.o.
13070 (lisp, shortlisp): Remove utf-8.elc.
13071 (*.o): For many files, change dependency on charset.h to
13072 character.h, and add dependency on character.h.
13073 (character.o, chartab.o): New targets.
13074
13075 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
13076 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
13077 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
13078 of "charset.h".
13079
13080 * dired.c, filelock.c: Include "character.h".
13081
13082 * alloc.c: Include "character.h" instead of "charset.h".
13083 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
13084 (syms_of_alloc): Remove defsubr for Smake_char_table.
13085
13086 * buffer.c: Include "character.h" instead of "charset.h", don't
13087 include "coding.h".
13088 (Fset_buffer_multibyte): Adjust for UTF-8.
13089
13090 * buffer.h: EXFUN Fbuffer_live_p.
13091
13092 * callproc.c: Include "character.h" instead of "charset.h".
13093 (Fcall_process): Big change for the new code-conversion APIs.
13094
13095 * casetab.c: Include "character.h" instead of "charset.h".
13096 (set_canon, set_identity, shuffle): Adjust for the new
13097 map_char_table spec.
13098 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
13099 accessing the char table structure.
13100
13101 * chartab.c: New file that implements char table.
13102
13103 * category.c: Include "character.h".
13104 (copy_category_entry): New function.
13105 (copy_category_table): Call map_char_table and copy_category_entry.
13106 (Fmake_category_table): Initialize all top-level slots.
13107 (char_category_set): New function.
13108 (modify_lower_category_set): Delete.
13109 (Fmodify_category_entry): Call char_table_ref_and_range.
13110
13111 * category.h (CATEGORY_SET): Just call char_category_set.
13112
13113 * ccl.c: Include "character.h".
13114 (Qccl, Qcclp): New variables.
13115 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
13116 it's less than 256.
13117 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
13118 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
13119 and DST type.
13120 (ccl_driver): Change types of argument, adjust code accordingly.
13121 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
13122 ccl_driver.
13123 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
13124
13125 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
13126 New members src_multibyte, dst_multibyte, consumed, and produced.
13127 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
13128 (CODING_SPEC_CCL_PROGRAM): New macro.
13129 (ccl_driver): Update prototype.
13130 (Qccl, Qcclp, Fccl_program_p): Extern them.
13131 (CHECK_CCL_PROGRAM): New macro.
13132
13133 * character.c, character.h, chartab.c: New files.
13134
13135 * charset.c: Mostly re-written. Move character and multibyte sequence
13136 handling codes to character.c.
13137
13138 * charset.h: Mostly re-written. Move character and multibyte sequence
13139 handling codes to character.h.
13140
13141 * coding.c, coding.h: Mostly re-written.
13142
13143 * composite.c: Include "character.h" instead of "charset.h".
13144 (CHAR_WIDTH): Move to character.h.
13145 (HASH_KEY, HASH_VALUE): Delete.
13146
13147 * composite.h (enum composition_method): Change order of enumeration
13148 symbols.
13149
13150 * data.c: Include "character.h" instead of "charset.h".
13151 (Faref): Call CHAR_TABLE_REF for a char table.
13152 (Faset): Call CHAR_TABLE_SET for a char table.
13153
13154 * dispextern.h (free_realized_face, check_face_attribytes)
13155 (generate_ascii_font): Extern them.
13156 (free_realized_multibyte_face): Delete extern.
13157
13158 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
13159 table structure.
13160
13161 * editfns.c: Include "character.h" instead of "charset.h".
13162 (Fchar_to_string): Always call CHAR_STRING.
13163
13164 * emacs.c (main): Call init_charset_once, init_charset,
13165 syms_of_chartab, and syms_of_character.
13166
13167 * fileio.c: Include "character.h" instead of "charset.h".
13168 (Finsert_file_contents): Big change for the new code-conversion API.
13169 (choose_write_coding_system, Fwrite_region): Likewise.
13170 (build_annotations_2): Delete.
13171 (e_write): Big change for the new code-conversion API.
13172
13173 * fns.c: Include "character.h" instead of "charset.h".
13174 (copy_sub_char_table): Move to chartab.c.
13175 (Fcopy_sequence): Call copy_char_table for a char table.
13176 (concat): Delete codes calling count_multibyte.
13177 (string_char_to_byte, string_byte_to_char): Adjust for the new
13178 multibyte form.
13179 (internal_equal): Adjust for the change of char table structure.
13180 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
13181 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
13182 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
13183 (char_table_translate, optimize_sub_char_table)
13184 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
13185 chartab.c.
13186 (char_table_ref_and_index): Delete.
13187 (HASH_KEY, HASH_VALUE): Move to lisp.h.
13188 (Fmd5): Call preferred_coding_system instead of accessing
13189 Vcoding_category_list. Adjust for the new code-conversion API.
13190 (syms_of_fns): Move defsubr for char table related functions to
13191 chartab.c.
13192
13193 * fontset.c: Mostly re-written.
13194
13195 * fontset.h (struct font_info): Change type of the member encoding_type.
13196 (enum FONT_SPEC_INDEX): New enum.
13197 (fontset_font_pattern, fs_load_font): Update prototype.
13198 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
13199
13200 * indent.c: Include "character.h" instead of "charset.h".
13201 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
13202
13203 * insdel.c: Include "character.h" instead of "charset.h".
13204 (copy_text): Don't refer to Vnonascii_translation_table.
13205 (insert_from_gap): New function.
13206
13207 * keyboard.c: Include "character.h" instead of "charset.h".
13208 (command_loop_1): Never call direct_output_forward_char before
13209 a non-ASCII character.
13210 (read_char): If Vkeyboard_translate_table is a char table, always
13211 translate a character.
13212
13213 * keymap.c: Include "character.h".
13214 (store_in_keymap): Handle the case that IDX is a cons.
13215 (Fdefine_key): Handle the case that KEY is a cons and the car part
13216 is also a cons (range).
13217 (push_key_description): Adjust for the new character code.
13218 (describe_vector): Call describe_char_table for a char table.
13219 (describe_char_table): New function.
13220
13221 * keymap.h (describe_char_table): Extern it.
13222
13223 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
13224 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
13225 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
13226 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
13227 Delete.
13228 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
13229 structure.
13230 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
13231 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
13232 (CHARTAB_SIZE_BITS_3): New macros.
13233 (chartab_size): Extern it.
13234 (struct Lisp_Char_Table): Re-design.
13235 (struct Lisp_Sub_Char_Table): New structure.
13236 (HASH_KEY, HASH_VALUE): Move from fns.c.
13237 (CHARACTERBITS): Define as 22.
13238 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
13239 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
13240 (GC_SUB_CHAR_TABLE_P): New macro.
13241 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
13242 (code_convert_string_norecord): Deleted extern.
13243 (init_character_once, syms_of_character, init_charset)
13244 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
13245
13246 * lread.c: Include "character.h".
13247 (read_multibyte): New arg NBYTES.
13248 (read_escape): Change the meaning of returned *BYTEREP.
13249 (to_multibyte): Delete.
13250 (read1): Adjust the handling of char table and string.
13251
13252 * print.c: Include "character.h" instead of "charset.h".
13253 (print_string): Convert 8-bit raw bytes to octal form by
13254 string_escape_byte8.
13255 (print_object): Adjust for the new multibyte form. Print 8-bit
13256 raw bytes always in octal form. Handle sub char table correctly.
13257
13258 * process.c: Include "character.h" instead of "charset.h".
13259 (read_process_output, send_process): Adjust for the new
13260 code-conversion API.
13261
13262 * puresize.h (BASE_PURESIZE): Increase.
13263
13264 * regex.c: Include "character.h" instead of "charset.h".
13265 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
13266 (regex_compile): Accept a range whose starting and ending
13267 character have different leading bytes.
13268 (analyse_first): Adjust for the above change.
13269
13270 * search.c: Include "character.h" instead of "charset.h".
13271 (search_buffer, boyer_moore): Adjust for the new multibyte form.
13272 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
13273
13274 * syntax.c: Include "character.h" instead of "charset.h".
13275 (syntax_parent_lookup): Delete.
13276 (Fmodify_syntax_entry): Accept a cons as CHAR.
13277 (skip_chars): Adjust for the new multibyte form.
13278 (init_syntax_once): Call char_table_set_range instead of directly
13279 accessing the structure of a char table.
13280
13281 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
13282 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
13283 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
13284 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
13285
13286 * term.c: Include "buffer.h" and "character.h".
13287 (encode_terminal_code, write_glyphs): Adjust for the new
13288 code-conversion API.
13289 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
13290
13291 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
13292
13293 * xdisp.c: Include "character.h".
13294 (get_next_display_element): Adjust for the new multibyte form.
13295 (disp_char_vector): Adjust for the new char table structure.
13296 (decode_mode_spec_coding): Adjust for the new structure of
13297 coding system.
13298 (decode_mode_spec): Adjust for the new code-conversion API.
13299
13300 * xfaces.c: Include "character.h" instead of "charset.h".
13301 (load_face_font): Adjust for the change of choose_face_font and
13302 FS_LOAD_FONT.
13303 (generate_ascii_font): New function.
13304 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
13305 (set_font_frame_param): Adjust for the change of choose_face_font.
13306 (free_realized_face): Make it public.
13307 (free_realized_faces_for_fontset): Rename from
13308 free_realized_multibyte_face. Free also faces realized for ASCII.
13309 (choose_face_font): Change arguments. Adjust for the change of
13310 fontset_font_pattern and FS_LOAD_FONT.
13311
13312 * xfns.c: Include "character.h".
13313 (x_encode_text): Adjust for the new code-conversion API.
13314
13315 * xselect.c: Don't include "charset.h".
13316 (selection_data_to_lisp_data): Adjust for the new code conversion API.
13317
13318 * xterm.c: Include "character.h".
13319 (x_encode_char): New argument CHARSET. Change caller.
13320 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
13321 Call ENCODE_CHAR instead of SPLIT_CHAR.
13322 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
13323 CHAR_WIDTH instead of CHARSET_WIDTH.
13324 (XTread_socket): Adjust for the new code-conversion API.
13325 (x_new_font): Adjust for the change of FS_LOAD_FONT.
13326 (x_load_font): Adjust for the change of struct font.
13327
133282008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
13329
13330 * xfaces.c (face_at_buffer_position): Remove unused vars.
13331
133322008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
13333
13334 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
13335 Fix overflow checking.
13336
133372008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
13338
13339 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
13340 Cancel previous change.
13341
133422008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
13343
13344 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
13345 ccl->eight_bit_control. Fix check for buffer overflow.
13346 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
13347 (ccl_driver): Initialize extra_bytes to 0.
13348
133492008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
13350
13351 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
13352 return it ORed with ctrl_modifier.
13353
133542008-01-29 Miles Bader <miles@gnu.org>
13355
13356 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
13357
133582008-01-28 Jason Rumney <jasonr@gnu.org>
13359
13360 * w32.c (stat): Don't double check for networked drive.
13361
133622008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
13363
13364 * window.c (run_window_configuration_change_hook): New function.
13365 Code extracted from set_window_buffer. Set the selected frame.
13366 (set_window_buffer): Use it.
13367 * window.h (run_window_configuration_change_hook): Declare.
13368 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
13369
13370 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
13371
133722008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
13373
13374 * Makefile.in: Remove references to unused macros.
13375
133762008-01-26 Eli Zaretskii <eliz@gnu.org>
13377
13378 * w32.c (g_b_init_get_sid_sub_authority)
13379 (g_b_init_get_sid_sub_authority_count): New static variables.
13380 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
13381 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
13382 (init_user_info): Use them to retrieve uid and gid.
13383 Use 500/513, the Windows defaults, as Administrator's uid/gid.
13384 (fstat): Use pw_uid and pw_gid from the_passwd structure for
13385 st_uid and st_gid of the file.
13386
133872008-01-26 Jason Rumney <jasonr@gnu.org>
13388
13389 * w32.c (logon_network_drive): New function.
13390 (stat): Use it.
13391
133922008-01-26 Chong Yidong <cyd@stupidchicken.com>
13393
13394 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
13395 invisible text covered with an ellipsis.
13396
133972008-01-25 Richard Stallman <rms@gnu.org>
13398
13399 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
13400 jump back to beginning. Move some other initializations after that.
13401 (Qwindow_text_change_functions, Vwindow_text_change_functions):
13402 New variables.
13403 (syms_of_xdisp): Init them.
13404
13405 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
13406
13407 * buffer.c (reset_buffer_local_variables):
13408 Implement `permanent-local-hook'.
13409 (Qpermanent_local_hook): New variable.
13410 (syms_of_buffer): Init and staticpro it.
13411
134122008-01-25 Michael Albinus <michael.albinus@gmx.de>
13413
13414 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
13415
134162008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
13417
13418 * fns.c (Fclrhash): Return TABLE.
13419
134202008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13421
13422 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
13423 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
13424 is set even without positional changes.
13425 (x_scroll_bar_clear): Set bar->redraw_needed_p.
13426
13427 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
13428
134292008-01-23 Jason Rumney <jasonr@gnu.org>
13430
13431 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
13432
13433 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
13434 the unicode range available in MULE by locale-coding-system.
13435 Improve dbcs lead byte detection. Set event timestamp and modifiers
13436 earlier.
13437
134382008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13439
13440 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
13441 [MAC_OSX] (init_mac_osx_environment): Initialize it.
13442 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
13443 when used on child processes.
13444
134452008-01-21 Michael Albinus <michael.albinus@gmx.de>
13446
13447 * dbusbind.c (Fdbus_method_return_internal): Rename from
13448 Fdbus_method_return.
13449 (Fdbus_unregister_object): Move to dbus.el.
13450 (Fdbus_call_method, Fdbus_method_return_internal)
13451 (Fdbus_send_signal): Improve debug messages.
13452
134532008-01-20 Martin Rudalics <rudalics@gmx.at>
13454
13455 * undo.c (undo_inhibit_record_point): New variable.
13456 (syms_of_undo): Initialize it.
13457 (record_point): Don't record point when undo_inhibit_record_point
13458 is set.
13459
134602008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
13461
13462 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
13463
13464 * xdisp.c (Qauto_hscroll_mode): New var.
13465 (syms_of_xdisp): Initialize it.
13466 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
13467 window's buffer.
13468 (hscroll_windows): Don't check automatic_hscrolling_p here.
13469
13470 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
13471 vscroll if we're setting window-buffer to the value it already has.
13472
134732008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
13474
13475 * m/intel386.h: Remove references to XENIX.
13476
134772008-01-17 Andreas Schwab <schwab@suse.de>
13478
13479 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
13480 instead of HAVE_X86_64_LIB64_DIR.
13481 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
13482
134832008-01-17 Glenn Morris <rgm@gnu.org>
13484
13485 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
13486 to HAVE_X86_64_LIB64_DIR.
13487
134882008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
13489
13490 * s/irix3-3.h:
13491 * s/irix4-0.h:
13492 * s/386-ix.h:
13493 * s/domain.h:
13494 * s/hpux9-x11r4.h:
13495 * s/hpux9shxr4.h: Remove files for systems no longer supported.
13496
13497 * sysdep.c: Remove code containing references to symbols defined
13498 by unsupported systems.
13499
135002008-01-16 Glenn Morris <rgm@gnu.org>
13501
13502 * coding.c (select-safe-coding-system-function): Doc fix.
13503
135042008-01-15 Glenn Morris <rgm@gnu.org>
13505
13506 * config.in: Revert 2008-01-13 change: this is a generated file.
13507
135082008-01-13 Tom Tromey <tromey@redhat.com>
13509
13510 * lisp.h: Fix typo.
13511
135122008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
13513
13514 * m/sequent-ptx.h:
13515 * m/sequent.h:
13516 * s/ptx.h:
13517 * s/ptx4-2.h:
13518 * s/ptx4.h: Remove files for systems no longer supported.
13519
13520 * callproc.c (Fcall_process): Fix previous change.
13521
135222008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
13523
13524 * unexsunos4.c: Remove file, system not supported anymore.
13525
13526 * m/mips.h:
13527 * m/intel386.h:
13528 * callproc.c:
13529 * config.in:
13530 * ecrt0.c:
13531 * emacs.c:
13532 * fileio.c:
13533 * frame.c:
13534 * getpagesize.h:
13535 * keyboard.c:
13536 * lread.c:
13537 * process.c:
13538 * puresize.h:
13539 * sysdep.c:
13540 * systty.h:
13541 * syswait.h:
13542 * unexec.c:
13543 * xdisp.c:
13544 * alloc.c: Remove code containing references to symbols defined by
13545 unsupported systems.
13546
135472008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
13548
13549 * coding.c (detect_coding_mask): Fix previous change.
13550
135512008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
13552
13553 * coding.c (detect_coding_iso2022): New arg
13554 latin_extra_code_state. Allow Latin extra codes only
13555 when *latin_extra_code_state is nonzero.
13556 (detect_coding_mask): If there is a NULL byte, detect the encoding
13557 as UTF-16 or binary. If Latin extra codes exist, detect the
13558 encoding as ISO-2022 only when there's no other proper encoding is
13559 found.
13560
135612008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13562
13563 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
13564 #ifdef MAC_OS.
13565
135662008-01-08 Richard Stallman <rms@gnu.org>
13567
13568 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
13569
135702008-01-06 Nick Roberts <nickrob@snap.net.nz>
13571
13572 * keyboard.c (parse_menu_item): Don't enclose key bindings on
13573 menu bar in parentheses.
13574
135752008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
13576
13577 * m/7300.h:
13578 * m/acorn.h:
13579 * m/alliant-2800.h:
13580 * m/alliant.h:
13581 * m/alliant1.h:
13582 * m/alliant4.h:
13583 * m/altos.h:
13584 * m/amdahl.h:
13585 * m/apollo.h:
13586 * m/att3b.h:
13587 * m/aviion-intel.h:
13588 * m/aviion.h:
13589 * m/celerity.h:
13590 * m/clipper.h:
13591 * m/cnvrgnt.h:
13592 * m/convex.h:
13593 * m/cydra5.h:
13594 * m/delta88k.h:
13595 * m/dpx2.h:
13596 * m/dual.h:
13597 * m/elxsi.h:
13598 * m/f301.h:
13599 * m/gould-np1.h:
13600 * m/gould.h:
13601 * m/i860.h:
13602 * m/ibmps2-aix.h:
13603 * m/ibmrt-aix.h:
13604 * m/ibmrt.h:
13605 * m/irist.h:
13606 * m/is386.h:
13607 * m/isi-ov.h:
13608 * m/mega68.h:
13609 * m/mg1.h:
13610 * m/news-r6.h:
13611 * m/news-risc.h:
13612 * m/news.h:
13613 * m/nh3000.h:
13614 * m/nh4000.h:
13615 * m/ns16000.h:
13616 * m/ns32000.h:
13617 * m/nu.h:
13618 * m/orion.h:
13619 * m/orion105.h:
13620 * m/paragon.h:
13621 * m/pfa50.h:
13622 * m/plexus.h:
13623 * m/pyramid.h:
13624 * m/pyrmips.h:
13625 * m/sh3el.h:
13626 * m/sps7.h:
13627 * m/sr2k.h:
13628 * m/stride.h:
13629 * m/sun1.h:
13630 * m/sun2.h:
13631 * m/sun3-68881.h:
13632 * m/sun3-fpa.h:
13633 * m/sun3-soft.h:
13634 * m/sun3.h:
13635 * m/sun386.h:
13636 * m/symmetry.h:
13637 * m/tad68k.h:
13638 * m/tahoe.h:
13639 * m/targon31.h:
13640 * m/tek4300.h:
13641 * m/tekxd88.h:
13642 * m/tower32.h:
13643 * m/tower32v3.h:
13644 * m/ustation.h:
13645 * m/wicat.h:
13646 * m/xps100.h:
13647 * s/cxux.h:
13648 * s/cxux7.h:
13649 * s/dgux.h:
13650 * s/dgux4.h:
13651 * s/dgux5-4-3.h:
13652 * s/dgux5-4r2.h:
13653 * s/esix.h:
13654 * s/esix5r4.h:
13655 * s/hiuxmpp.h:
13656 * s/hiuxwe2.h:
13657 * s/iris3-5.h:
13658 * s/iris3-6.h:
13659 * s/isc2-2.h:
13660 * s/isc3-0.h:
13661 * s/isc4-0.h:
13662 * s/isc4-1.h:
13663 * s/newsos5.h:
13664 * s/newsos6.h:
13665 * s/osf1.h:
13666 * s/osf5-0.h:
13667 * s/riscix1-1.h:
13668 * s/riscix12.h:
13669 * s/sco4.h:
13670 * s/sco5.h:
13671 * s/sunos4-0.h:
13672 * s/sunos4-1.h:
13673 * s/sunos413.h:
13674 * s/sunos4shr.h:
13675 * s/umax.h:
13676 * s/unipl5-2.h:
13677 * s/xenix.h:
13678 * cxux-crt0.s:
13679 * unexapollo.c:
13680 * unexconvex.c:
13681 * unexenix.c:
13682 * unexsni.c: Remove files for systems no longer supported.
13683
13684 * m/intel386.h: Remove references to unsupported systems.
13685
13686 * w32.c (get_emacs_configuration): Remove reference to i860.
13687
13688 * sysdep.c: Remove dead code.
13689
136902008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
13691
13692 * s/rtu.h:
13693 * m/masscomp.h: Remove files. Platform is obsolete.
13694
136952008-01-04 Michael Albinus <michael.albinus@gmx.de>
13696
13697 * dbusbind.c (Fdbus_method_return): New function.
13698 (xd_read_message): Add the serial number to the event.
13699 (Fdbus_register_method): Activate the function.
13700
137012008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
13702
13703 * keyboard.c (read_key_sequence): Fix typo.
13704
137052008-01-03 Michael Albinus <michael.albinus@gmx.de>
13706
13707 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
13708 (xd_signature, xd_append_arg): Handle element type detection for
13709 empty arrays.
13710 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
13711 SDATA () calls; this must be solved more general.
13712 (Fdbus_register_signal): Use SBYTES instead of strlen.
13713
137142008-01-03 Magnus Henoch <magnus@zemdatav>
13715
13716 * dbusbind.c (xd_append_arg): Use unsigned char instead of
13717 unsigned int for byte values (necessary for big-endian platform).
13718 (Fdbus_call_method): Handle the case of no returned arguments.
13719
137202007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
13721
13722 * dbusbind.c (xd_read_message): Use non-static input_event struct.
13723
137242007-12-31 Magnus Henoch <mange@freemail.hu>
13725
13726 * dbusbind.c (xd_signature): Signature of variant is just "v".
13727
137282007-12-30 Michael Albinus <michael.albinus@gmx.de>
13729
13730 * dbusbind.c: Fix several errors and compiler warnings.
13731 Reported by Tom Tromey <tromey@redhat.com>.
13732 (XD_ERROR, XD_DEBUG_MESSAGE)
13733 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
13734 (xd_append_arg): Part for basic D-Bus types rewritten.
13735 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
13736 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
13737 appropriate.
13738 (xd_read_message): Return Qnil. Don't signal an error; it is not
13739 useful during event reading.
13740 (Fdbus_register_signal): Signal an error if the check for
13741 FUNCTIONP fails.
13742 (Fdbus_register_method): New function. The implementation is not
13743 complete, the call of the function signals an error therefore.
13744 (Fdbus_unregister_object): New function, renamed from
13745 Fdbus_unregister_signal. The initial check signals an error, if
13746 the object is not well formed.
13747
137482007-12-30 Richard Stallman <rms@gnu.org>
13749
13750 * textprop.c (get_char_property_and_overlay):
13751 Signal error if POSITION is out of range in a buffer.
13752
137532007-12-29 Martin Rudalics <rudalics@gmx.at>
13754
13755 * w32fns.c (Fx_create_frame): Make copy of frame parameters
13756 because the original parameters are in pure storage now.
13757
137582007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13759
13760 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
13761
137622007-12-22 Eli Zaretskii <eliz@gnu.org>
13763
13764 * callint.c (syms_of_callint) <command-history>: Add reference to
13765 history-length in the doc string.
13766
137672007-12-17 Jason Rumney <jasonr@gnu.org>
13768
13769 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
13770 before passing as wParam.
13771
137722007-12-22 Michael Albinus <michael.albinus@gmx.de>
13773
13774 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
13775 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
13776 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
13777 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
13778 as number.
13779 (Fdbus_call_method): Fix docstring.
13780
137812007-12-21 Michael Albinus <michael.albinus@gmx.de>
13782
13783 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
13784 New macros.
13785 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
13786 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
13787 Simplify.
13788 (xd_signature): New function.
13789 (xd_append_arg): Compute also signatures. Major rewrite.
13790 (xd_retrieve_arg): Make debug messages friendly.
13791 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
13792 Check for signatures of arguments.
13793
137942007-12-19 Michael Albinus <michael.albinus@gmx.de>
13795
13796 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
13797 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
13798 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
13799 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
13800 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
13801 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
13802 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
13803 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
13804 (xd_retrieve_value): Remove. Functionality included in ...
13805 (xd_append_arg): New function.
13806 (Fdbus_call_method, Fdbus_send_signal): Apply it.
13807
138082007-12-16 Michael Albinus <michael.albinus@gmx.de>
13809
13810 * dbusbind.c (top): Include <stdio.h>.
13811 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
13812 dbus_message_new_method_call and dbus_message_new_signal.
13813 (Fdbus_register_signal): Rename unique_name to uname.
13814 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
13815 non-existing unique name. Fix typos in matching rule. Return an
13816 object which is useful in Fdbus_unregister_signal.
13817 (Fdbus_unregister_signal): Reimplementation, in order to remove
13818 only the corresponding entry.
13819 (Vdbus_registered_functions_table): Change the order of entries.
13820 Apply these changes in xd_read_message and Fdbus_register_signal.
13821
138222007-12-16 Andreas Schwab <schwab@suse.de>
13823
13824 * fileio.c (Finsert_file_contents): Fix overflow check to not
13825 depend on undefined integer overflow.
13826
138272007-12-14 Jason Rumney <jasonr@gnu.org>
13828
13829 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
13830 for characters above 127.
13831
138322007-12-13 Jason Rumney <jasonr@gnu.org>
13833
13834 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
13835 before dereferencing array.
13836 (lookup_vk_code): Remove zero comparison.
13837
138382007-12-14 Michael Albinus <michael.albinus@gmx.de>
13839
13840 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
13841 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
13842 Use `unsigned int' instead of `uint'.
13843 (xd_read_message, Fdbus_register_signal): Split expressions into
13844 multiple lines before operators "&&" and "||", according to the
13845 GNU Coding Standards.
13846
138472007-12-14 Eli Zaretskii <eliz@gnu.org>
13848
13849 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
13850
138512007-12-12 Juri Linkov <juri@jurta.org>
13852
13853 * buffer.c (Frename_buffer): In interactive spec replace
13854 `read-buffer' with `read-string' that uses `buffer-name-history'
13855 as history, and the current buffer's name as default.
13856
138572007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
13858
13859 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
13860 manipulating the backtrace manually.
13861 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
13862 (struct backtrace, backtrace_list): Remove.
13863 (command_loop_1): Remove dead var `no_direct'.
13864
13865 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
13866 preserve non-built-in buffer-local variables.
13867 (Fkill_all_local_variables): Don't re-create&re-set permanent
13868 buffer-local variables.
13869
138702007-12-09 Juri Linkov <juri@jurta.org>
13871
13872 * buffer.c (Frename_buffer): Change interactive spec from "s" to
13873 Lisp code that uses `read-buffer' with current buffer as default.
13874
138752007-12-08 Michael Albinus <michael.albinus@gmx.de>
13876
13877 * dbusbind.c (xd_read_message): Generate an event for every
13878 registered handler. There might be several handlers registered
13879 for the same signal.
13880 (Fdbus_register_signal): Don't overwrite a registration for the
13881 same signal. Add a new registration if handlers are different.
13882 (Vdbus_registered_functions_table): Rework doc string.
13883
138842007-12-07 Michael Albinus <michael.albinus@gmx.de>
13885
13886 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
13887 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
13888 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
13889 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
13890 Unify argument lists.
13891 (xd_read_message, Fdbus_register_signal): Reorder and extend event
13892 arguments and hash table keys. Use unique name for service.
13893 (Fdbus_unregister_signal): Remove checks.
13894 (Vdbus_registered_functions_table): Fix doc string.
13895
138962007-12-05 Magnus Henoch <mange@freemail.hu>
13897
13898 * process.c (make_process): Initialize pty_flag to 0.
13899
139002007-12-05 Jason Rumney <jasonr@gnu.org>
13901
13902 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
13903 specified XBMs.
13904
139052007-12-05 Richard Stallman <rms@gnu.org>
13906
13907 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
13908
139092007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13910
13911 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
13912 New variable.
13913 (mac_try_close_socket) [MAC_OSX]: New function.
13914 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
13915 Update cfsockets_for_select. Replace invalid CFRunLoop source.
13916
13917 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
13918 Use mac_try_close_socket.
13919
139202007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13921
13922 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
13923 reloc_base.
13924 (copy_dysymtab): Compute relocation base here.
13925 (rebase_reloc_address) [__ppc64__]: New function.
13926 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
13927 changed.
13928
139292007-12-05 Jason Rumney <jasonr@gnu.org>
13930
13931 * w32proc.c (sys_spawnve): Quote args with wildcards.
13932
139332007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13934
13935 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
13936 __objc_* sections.
13937 (unrelocate) [_LP64]: Set relocation base to address of data segment.
13938
139392007-12-05 Michael Albinus <michael.albinus@gmx.de>
13940
13941 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
13942 Move check for Vdbus_registered_functions_table to
13943 xd_read_queued_messages.
13944 (xd_read_queued_messages): Protect xd_read_message calls by
13945 internal_condition_case_1.
13946
139472007-12-04 Michael Albinus <michael.albinus@gmx.de>
13948
13949 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
13950 Qdbus_system_bus and Qdbus_session_bus, respectively.
13951 (Vdbus_intern_symbols): Remove.
13952 (Vdbus_registered_functions_table): New hash table.
13953 (XD_SYMBOL_INTERN_SYMBOL): Remove.
13954 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
13955 Rewrite in order to manage registered functions by hash table
13956 Vdbus_registered_functions_table.
13957
139582007-12-03 Jan Djärv <jan.h.d@swipnet.se>
13959
13960 * xterm.c: Update URL to Window Manager Specification in comment.
13961
139622007-12-02 Michael Albinus <michael.albinus@gmx.de>
13963
13964 * config.in (HAVE_DBUS): Add.
13965
13966 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
13967 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
13968 (obj): Add $(DBUS_OBJ).
13969 (LIBES): Add $(DBUS_LIBS).
13970 (dbusbind.o): New target.
13971
13972 * dbusbind.c: New file.
13973
13974 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
13975
13976 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
13977 (Qdbus_event): New Lisp symbol.
13978 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
13979 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
b97439ce 13980 (keys_of_keyboard): Define dbus-event.
aac0c6e3
MR
13981
13982 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
13983
139842007-12-01 Richard Stallman <rms@gnu.org>
13985
13986 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
13987
139882007-11-30 Jason Rumney <jasonr@gnu.org>
13989
13990 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
13991 (w32con_reset_terminal_modes): Clear screen buffer.
13992 (w32_face_attributes): Don't use color indexes that are out of range.
13993 Only reverse the default colors.
13994
13995 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
13996 WINDOWSNT.
13997
13998 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
13999
140002007-11-29 Jason Rumney <jasonr@gnu.org>
14001
14002 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
14003 (w32_face_attributes): Use Vtty_defined_color_alist to determine
14004 if the terminal colors are initialized.
14005 (unspecified_fg, unspecified_bg): Remove unused declarations.
14006
140072007-11-29 Andreas Schwab <schwab@suse.de>
14008
14009 * keyboard.c (apply_modifiers): Fix typo.
14010
140112007-11-29 Richard Stallman <rms@gnu.org>
14012
14013 * keymap.c (Fcurrent_local_map): Doc fix.
14014
140152007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
14016
14017 * s/gnu-kfreebsd.h: New file.
14018
140192007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
14020
14021 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
14022 Don't cast redundantly.
14023
14024 * keyboard.c (KEY_TO_CHAR): New macro.
14025 (parse_modifiers, apply_modifiers): Accept integer arguments.
14026 (read_key_sequence): Use them to unify the "shift->unshift" mapping
14027 for chars and symbol keys.
14028 After doing such remapping, apply function-key-map again.
14029
140302007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
14031
14032 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
14033 compiled anymore.
14034
140352007-11-26 Andreas Schwab <schwab@suse.de>
14036
14037 * process.c (list_processes_1): Fix indentation level of the
14038 command column.
14039
140402007-11-23 Andreas Schwab <schwab@suse.de>
14041
14042 * editfns.c (Fformat): Handle %c specially since it requires the
14043 argument to be of type int.
14044
140452007-11-23 Markus Triska <markus.triska@gmx.at>
14046
14047 * emacs.c (main): Call init_editfns before init_process, since
14048 init_process sets Vprocess_connection_type depending on OS release.
14049
140502007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
14051
14052 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
14053 (find_symbol_value): Use do_symval_forwarding.
14054
14055 * data.c (set_internal): Set the value in the `cons-cell' (for
14056 Buffer_Local_values) not only for frame-local variables.
14057
140582007-11-22 Andreas Schwab <schwab@suse.de>
14059
14060 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
14061 values to sprintf.
14062 * keymap.c (Fsingle_key_description): Likewise.
14063 * print.c (print_object): Likewise.
14064
140652007-11-22 Jan Djärv <jan.h.d@swipnet.se>
14066
14067 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
14068 file for image is nil.
14069
140702007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
14071
14072 * term.c: Include stdarg.h.
14073 (fatal): Implement using varargs.
14074 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
14075
140762007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
14077
14078 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
14079 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
14080 Update call to buffer_slot_type_mismatch.
14081 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
14082 (buffer_slot_type_mismatch): Update.
14083 * buffer.c (buffer_local_types): Remove.
14084 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
14085 (defvar_per_buffer): Set the type in the buffer_objfwd.
14086
140872007-11-21 Jason Rumney <jasonr@gnu.org>
14088
14089 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
14090 CreateFileMapping returns NULL on failure.
14091
140922007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
14093
14094 * search.c (Fset_match_data): Remove the `evaporate' feature.
14095 (unwind_set_match_data): Don't use the `evaporate' feature.
14096
140972007-11-21 Jason Rumney <jasonr@gnu.org>
14098
14099 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
14100
14101 * w32console.c (w32con_write_glyphs): Remove unused variables.
14102
141032007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
14104
14105 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
14106
14107 * s/darwin.h (MULTI_KBOARD): Remove.
14108
14109 * macfns.c (x_create_tip_frame, Fx_create_frame)
14110 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
14111
141122007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
14113
14114 * buffer.c (Fbuffer_local_value): Remove redundant test.
14115 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
14116 than in `current-buffer' to match the comment.
14117 Do the swap using swap_in_global_binding.
14118
14119 * data.c (store_symval_forwarding, set_internal):
14120 * eval.c (specbind): Remove dead code.
14121
14122 * coding.c (detect_coding, Fupdate_coding_systems_internal):
14123 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
14124 Since we do not want to see internal Lisp_*fwd objects here.
14125
141262007-11-18 Jan Djärv <jan.h.d@swipnet.se>
14127
14128 * sysdep.c (init_system_name): Use getaddrinfo if available.
14129
14130 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
14131 (x_scroll_bar_note_movement): start, end, with, height in struct
14132 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
14133
141342007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
14135
14136 * puresize.h (BASE_PURESIZE): Increase to 1190000.
14137
141382007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
14139
14140 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
14141 This undoes Richard's change of 14-Oct-2002.
14142
14143 * alloc.c (allocate_other_vector):
14144 * lisp.h (allocate_other_vector): Remove.
14145
14146 * window.c (struct save_window_data): Move non-lisp data to the end
14147 and make it `int' rather than Lisp_Object.
14148 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
14149 Done wrap/unwrap integer values.
14150 (Fset_window_configuration, compare_window_configurations):
14151 Update use of fields to their new types.
14152
14153 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
14154 Turn integer fields into `int'. Merge x_window_low and x_window_high.
14155 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
14156 (SET_SCROLL_BAR_X_WINDOW): Remove.
14157 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
14158 Access the new x_window field directly.
14159 * xterm.c (x_scroll_bar_create): Use a pseudovector.
14160 Don't wrap/unwrap integers into Lisp_Objects.
14161 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
14162 (x_scroll_bar_report_motion):
14163 Don't wrap/unwrap integers into Lisp_Objects.
14164 (x_term_init): Use SDATA.
14165 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
14166 (x_scroll_bar_set_handle, x_scroll_bar_remove)
14167 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
14168 (x_scroll_bar_report_motion, x_scroll_bar_clear):
14169 * xfns.c (x_set_background_color):
14170 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
14171 Access the new x_window field directly.
14172
14173 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
14174 (allocate_pseudovector): Make non-static.
14175
14176 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
14177 (allocate_pseudovector): Declare.
14178 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
14179
141802007-11-15 Andreas Schwab <schwab@suse.de>
14181
14182 * editfns.c (Fformat): Correctly format EMACS_INT values.
14183 Also take precision into account when formatting an integer.
14184
14185 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
14186
141872007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
14188
14189 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
14190 (syms_of_keyboard): Defsubr it.
14191
14192 * data.c (swap_in_global_binding): Fix longstanding bug where
14193 store_symval_forwarding was not called with the right second argument,
14194 thus causing objfwd-ing from being dropped.
14195
141962007-11-14 Juanma Barranquero <lekktu@gmail.com>
14197
14198 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
14199 (Fx_display_pixel_height, Fx_display_planes)
14200 (Fx_display_color_cells, Fx_server_max_request_size)
14201 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
14202 (Fx_display_visual_class, Fx_display_save_under):
14203 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
14204 (Fx_display_pixel_height, Fx_display_planes)
14205 (Fx_display_color_cells, Fx_server_max_request_size)
14206 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
14207 (Fx_display_mm_height, Fx_display_mm_width)
14208 (Fx_display_backing_store, Fx_display_visual_class)
14209 (Fw32_select_font, Fx_display_save_under):
14210 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
14211 (Fx_display_pixel_height, Fx_display_planes)
14212 (Fx_display_color_cells, Fx_server_max_request_size)
14213 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
14214 (Fx_display_save_under): Fix typos in docstrings.
14215
142162007-11-14 Juanma Barranquero <lekktu@gmail.com>
14217
14218 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
14219 corresponding to deleted entries; they are an implementation detail.
14220 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
14221 Remove variables.
14222 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
14223 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
14224 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
14225 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
14226 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
14227 (Fw32_define_rgb_color, Fw32_load_color_file)
14228 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
14229 Fix typos in docstrings.
14230 (Fx_server_version): Reflow docstring.
14231 (Fw32_shell_execute): Doc fixes.
14232
142332007-11-13 Juanma Barranquero <lekktu@gmail.com>
14234
14235 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
14236 if w32_parse_hot_key returned nil.
14237
142382007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
14239
14240 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
14241
142422007-11-09 Jason Rumney <jasonr@gnu.org>
d6c952f8 14243
aac0c6e3
MR
14244 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
14245
14246 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
14247
14248 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
14249 Remove W32_SCROLL_BAR_CLICK_EVENT.
14250
14251 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
14252 Add MULTIMEDIA_KEY_EVENT.
14253
14254 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
14255 (lispy_multimedia_keys) [WINDOWSNT]: New array.
14256 (make_lispy_event) [WINDOWSNT]: Use it to translate
14257 MULTIMEDIA_KEY_EVENT.
14258
14259 * w32term.h (WM_APPCOMMAND): Define if not already.
14260 (GET_APPCOMMAND_LPARAM): Likewise.
14261
14262 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
14263 WM_APPCOMMAND.
14264
14265 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
14266 (syms_of_w32fns): Export and initialize it.
14267 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
14268
142692007-11-09 Chong Yidong <cyd@stupidchicken.com>
14270
14271 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
14272 twice.
14273
14274 * xdisp.c (handle_face_prop): Fix last change.
14275
142762007-11-09 Richard Stallman <rms@gnu.org>
14277
14278 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
14279 not just for after-strings and before-strings.
14280 Call face_for_overlay_string and pass the overlay to it.
14281 (handle_display_prop): Determine whether property came from an overlay.
14282 Pass OVERLAY arg to handle_single_display_spec.
14283 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
14284 (load_overlay_strings): Fill in it->string_overlays.
14285 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
14286
14287 * xfaces.c (face_for_overlay_string): Function renamed from
14288 face_at_buffer_position_no_overlays, and add arg OVERLAY.
14289
14290 * dispextern.h (struct it): New elt string_overlays.
14291 New elt from_overlay, also in stack.
14292 Rearrange a few elements.
14293 (face_for_overlay_string): Decl renamed from
14294 face_at_buffer_position_no_overlays, and add argument.
14295
142962007-11-09 Richard Stallman <rms@gnu.org>
14297
14298 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
14299 to get the base face for an overlay string.
14300
14301 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
14302
14303 * xfaces.c (face_at_buffer_position_no_overlays): New function.
14304
14305 * xdisp.c (handle_stop): Move some code out of loop.
14306
143072007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14308
14309 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
14310 Fix conversion from Lisp object to ATSUFontID.
14311
143122007-11-09 Jason Rumney <jasonr@gnu.org>
14313
14314 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
14315
143162007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14317
14318 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
14319 Don't assume regions are aligned to page boundary.
14320 (print_load_command_name): Add LC_UUID if defined.
14321
143222007-11-09 Richard Stallman <rms@gnu.org>
14323
14324 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
14325
143262007-11-07 Jason Rumney <jasonr@gnu.org>
14327
14328 * s/windows95.h: Remove.
14329
143302007-11-06 Jan Djärv <jan.h.d@swipnet.se>
14331
14332 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
14333 abort with a message on unhandled store_type values.
14334
143352007-11-01 Jan Djärv <jan.h.d@swipnet.se>
14336
14337 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
14338 Remove HAVE_X11R5 and HAVE_X11R4.
14339
143402007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
14341
14342 * Makefile.in: Remove references to sunfns.c and sunfns.o.
14343
143442007-11-01 Johan Bockgård <bojohan@gnu.org>
14345
14346 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
14347 Don't set s->stippled_p here, since it has already been set by
14348 x_set_glyph_string_gc from x_draw_glyph_string.
14349
143502007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
14351
14352 * sunfns.c: Remove file.
14353
14354 * m/sun386.h:
14355 * m/sun2.h:
14356 * m/sparc.h: Remove Sun windows code.
14357
143582007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
14359
14360 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
14361 (init_keyboard): Set current_kboard's window-system to nil.
14362 (tty_read_avail_input): Typo.
14363 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
14364
143652007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
14366
14367 * s/usg5-4.h:
14368 * s/usg5-3.h:
14369 * s/ptx.h:
14370 * m/is386.h:
14371 * m/ibmps2-aix.h:
14372 * Makefile.in: Remove all mentions of X10.
14373
14374 * dispnew.c (syms_of_display): Don't mention version 10.
14375
143762007-10-28 Juanma Barranquero <lekktu@gmail.com>
14377
14378 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
14379 ($(BLD)/abbrev.$(O)): Remove.
14380
143812007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
14382
14383 Rewrite abbrev.c in Elisp.
14384 * image.c (Qcount): Don't declare as extern.
14385 (syms_of_image): Initialize and staticpro `Qcount'.
14386 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
14387 * emacs.c (main): Don't call syms_of_abbrev.
14388 * Makefile.in (obj): Remove abbrev.o.
14389 (abbrev.o): Remove.
14390 * abbrev.c: Remove.
14391
143922007-10-26 Martin Rudalics <rudalics@gmx.at>
14393
14394 * window.c (window_min_size_2): Don't count header-line.
14395
143962007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
14397
14398 * frame.h (struct frame): Move all bit fields after the first bit
14399 field to take advantage of the available space. Group all the
14400 chars together to reduce wasted space due to padding.
14401
144022007-10-26 Juanma Barranquero <lekktu@gmail.com>
14403
14404 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
14405
14406 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
14407 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
14408 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
14409 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
14410 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
14411 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
14412 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
14413 (last_marked, mark_object_loop_halt): Make static.
14414
14415 * frame.c (syms_of_frame) <delete-frame-functions>:
14416 Fix typo in docstring.
14417
144182007-10-25 Juanma Barranquero <lekktu@gmail.com>
14419
14420 * w32.c (init_environment): Fix tiny memory leak.
14421 (w32_get_resource): Remove unused variable `ok'.
14422
144232007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
14424
14425 Make `window-system' into a keyboard-local variable (rather than
14426 frame-local as done originally by multi-tty).
14427
14428 * keyboard.h (struct kboard): Add Vwindow_system.
14429 * keyboard.c (init_kboard): Set a default for Vwindow_system.
14430 (mark_kboards): Mark Vwindow_system.
14431
14432 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
14433 (init_display): Don't set the obsolete `window-system' frame-param.
14434
14435 * xterm.c (x_term_init):
14436 * w32term.c (w32_create_terminal):
14437 * term.c (init_tty): Set Vwindow_system.
14438 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
14439 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
14440
14441 * xfns.c (Fx_create_frame, x_create_tip_frame):
14442 * w32fns.c (Fx_create_frame, x_create_tip_frame):
14443 * macfns.c (Fx_create_frame):
14444 Don't set the obsolete `window-system' frame-param.
14445
14446 * frame.h (Qwindow_system): Remove.
14447 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
14448 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
14449
144502007-10-24 Richard Stallman <rms@gnu.org>
14451
14452 * frame.c (x_figure_window_size): For fullscreen case,
14453 set USPosition | PPosition without clobbering rest of window_prompting.
14454
14455 * keyboard.c (Fcurrent_idle_time): Doc fix.
14456
14457 * print.c (Fwith_output_to_temp_buffer): Doc fix.
14458
144592007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
14460
14461 * process.c (unwind_request_sigio): Only define if __ultrix__.
14462
14463 * callproc.c (child_setup): Remove spurious *.
14464
14465 * lisp.h (Fget_text_property): Declare.
14466 (have_menus_p): Declare it here rather than in sys-dep header files.
14467 * macterm.h (have_menus_p):
14468 * msdos.h (have_menus_p):
14469 * xterm.h (have_menus_p): Remove.
14470
14471 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
14472 (Fmake_variable_frame_local): Just check the variable's const-ness
14473 rather than checking nil or t.
14474
144752007-10-22 Jason Rumney <jasonr@gnu.org>
14476
14477 * w32fns.c: Include math.h.
14478 (w32_abort): Declaration moved to nt/config.nt.
14479
14480 * s/ms-w32.h (HAVE_STDLIB_H): Define.
14481 (abort): Redefinition moved to nt/config.nt.
14482
14483 * m/windowsnt.h: Remove.
14484
144852007-10-22 Juanma Barranquero <lekktu@gmail.com>
14486
14487 * emacs.c (Fdump_emacs): Fix typo in message.
14488 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
14489 <installation-directory>: Reflow docstring.
14490
144912007-10-22 Juri Linkov <juri@jurta.org>
14492
14493 * minibuf.c: Allow minibuffer default to be a list of default values.
14494 With empty input use the first element of this list as returned default.
14495 (string_to_object)
14496 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
14497 (read_minibuf): If defalt is cons, set histstring to its car.
14498 (Fread_string): If default_value is cons, set val to its car.
14499 (Fread_buffer): If def is cons, use its car.
14500 (Fcompleting_read): If defalt is cons, set val to its car.
14501
145022007-10-21 Michael Albinus <michael.albinus@gmx.de>
14503
14504 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
14505
145062007-10-20 Juanma Barranquero <lekktu@gmail.com>
14507
14508 * doc.c (Fdocumentation): Check for advice in all cases.
14509
145102007-10-19 Chong Yidong <cyd@stupidchicken.com>
14511
14512 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
14513
145142007-10-19 Richard Stallman <rms@gnu.org>
14515
14516 * doc.c (Fdocumentation): Check for and handle an advised function.
14517
145182007-10-19 Juanma Barranquero <lekktu@gmail.com>
14519
14520 * process.c (Fset_process_filter): Doc fix.
14521
145222007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
14523
14524 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
14525 which caused key-translation-map to applied repeatedly (thus breaking
14526 double-mode).
14527
145282007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
14529
14530 * xselect.c (x_own_selection, x_handle_selection_clear)
14531 (x_clear_frame_selections):
14532 * w32menu.c (list_of_panes, list_of_items):
14533 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
14534 * textprop.c (validate_plist, interval_has_all_properties)
14535 (interval_has_some_properties, interval_has_some_properties_list)
14536 (add_properties, text_property_list):
14537 * process.c (Fget_buffer_process, list_processes_1, status_notify):
14538 * minibuf.c (Fassoc_string):
14539 * macselect.c (x_own_selection, x_clear_frame_selections)
14540 (Fx_disown_selection_internal):
14541 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
14542 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
14543
145442007-10-17 Chong Yidong <cyd@stupidchicken.com>
14545
14546 * process.c: Link to libs for calling res_init() if available.
14547 (Fmake_network_process): Call res_init() before getaddrinfo or
14548 gethostbyname, if possible.
14549
145502007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
14551
14552 * lread.c (read1): Set pvectype for char_tables.
14553
14554 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
14555 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
14556 Add type checks.
14557 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
14558
14559 * alloc.c (free_misc): Use XMISCTYPE.
14560 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
14561
145622007-10-17 Glenn Morris <rgm@gnu.org>
14563
14564 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
14565 (syms_of_minibuf): Add Qcompletion_ignore_case.
14566 * dired.c (Qcompletion_ignore_case): Change to external.
14567 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
14568 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
14569 (Fread_file_name): Use it rather than intern'ing.
14570
14571 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
14572 (Fread_coding_system): Ignore case of user input.
14573
145742007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14575
14576 * xdisp.c (handle_display_prop): Ignore display specs after
14577 replacing one when string text is being replaced.
14578 (handle_single_display_spec): Pretend as if characters with display
14579 property haven't been consumed only when buffer text is being replaced.
14580
145812007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
14582
14583 * xfns.c (Fx_create_frame, Fx_display_list):
14584 * window.c (window_fixed_size_p, enlarge_window)
14585 (shrink_window_lowest_first):
14586 * macterm.c (init_font_name_table):
14587 * macfns.c (Fx_create_frame, Fx_display_list):
14588 * lread.c (close_load_descs):
14589 * keyboard.c (read_char_x_menu_prompt):
14590 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
14591 * coding.c (code_convert_region_unwind): Test the type of an object
14592 rather than just !NILP before extracting data from it.
14593
14594 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
14595
14596 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
14597 (XMISCANY): New macro.
14598 (XMISCTYPE): Use it.
14599 (struct Lisp_Misc_Any): New type.
14600 (union Lisp_Misc): Use it.
14601 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
14602 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
14603 (find_symbol_value, set_internal, default_value, Fset_default)
14604 (Fmake_variable_buffer_local, Fmake_local_variable)
14605 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
14606 (Flocal_variable_if_set_p, Fvariable_binding_locus):
14607 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
14608 * alloc.c (allocate_buffer): Set the size and tag.
14609 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
14610 Use XMISCANY.
14611 (die): Follow the GNU convention for error messages.
14612 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
14613 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
14614 tag any more.
14615 (set_buffer_internal_1):
14616 * frame.c (store_frame_param):
14617 * eval.c (specbind):
14618 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
14619
14620 * doc.c (Fsnarf_documentation): Simplify.
14621
146222007-10-14 Juanma Barranquero <lekktu@gmail.com>
14623
14624 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
14625 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
14626
146272007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
14628
14629 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
14630
146312007-10-14 Juanma Barranquero <lekktu@gmail.com>
14632
14633 * eval.c (do_autoload): Don't save autoloads.
14634
14635 * data.c (Ffset): Save autoload of the function being set.
14636
146372007-10-07 John Paul Wallington <jpw@pobox.com>
14638
14639 * xfns.c (x_create_tip_frame): Set the `display-type' frame
14640 parameter before setting up faces.
14641
146422007-10-13 Eli Zaretskii <eliz@gnu.org>
14643
14644 * ccl.c (Fregister_code_conversion_map):
14645 * keyboard.c (append_tool_bar_item): Reformat last change.
14646
14647 * lisp.h (eabs): Rename from `abs'. All callers changed.
14648
146492007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
14650
14651 * buffer.c (add_overlay_mod_hooklist):
14652 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
14653 * fontset.c (make_fontset):
14654 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
14655 (append_tool_bar_item):
14656 * macmenu.c (grow_menu_items):
14657 * w32menu.c (grow_menu_items):
14658 * xmenu.c (grow_menu_items): Use larger_vector.
14659
146602007-10-13 Eli Zaretskii <eliz@gnu.org>
14661
14662 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
14663 selected frame'' on MSDOS).
14664
146652007-10-12 Martin Rudalics <rudalics@gmx.at>
14666
14667 * frame.c (Qexplicit_name): New variable.
14668 (x_report_frame_params): Report it in parameter alist.
14669 (syms_of_frame): Intern and staticpro it.
14670
146712007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
14672
14673 * macfns.c (x_create_tip_frame): Set terminal for frame.
14674
146752007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
14676
14677 * frame.c (Qenvironment): Remove.
14678 (syms_of_frame) <Qenvironment>: Don't initialize.
14679 (Fdelete_frame): Don't treat the `environment' param specially.
14680 * frame.h (Qenvironment): Don't declare.
14681 * callproc.c (set_initial_environment): Don't set unused frame param.
14682
14683 * frame.c (Fframe_with_environment): Remove.
14684 (syms_of_frame) <Sframe_with_environment>: Don't declare.
14685
14686 * lisp.h (Fframe_with_environment): Don't declare.
14687
146882007-10-10 Juanma Barranquero <lekktu@gmail.com>
14689
14690 * indent.c (indent_tabs_mode, last_known_column)
14691 (last_known_column_modified): Make static.
14692 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
14693
146942007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
14695
14696 * puresize.h (BASE_PURESIZE): Increase to 1170000.
14697
146982007-10-09 Jason Rumney <jasonr@gnu.org>
14699
14700 * w32term.c (x_set_window_size): Disable code that attempts to tell
14701 Lisp code about a size change before it actually happens.
14702
147032007-10-09 Richard Stallman <rms@gnu.org>
14704
14705 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
14706 return HANDLED_RETURN.
14707
147082007-10-08 Martin Rudalics <rudalics@gmx.at>
14709
14710 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
14711 when there's an unread command event.
14712
14713 * frame.c (focus_follows_mouse): Move here from frame.el to allow
14714 window autoselection act appropriately when leaving selected frame.
14715 (syms_of_frame): Initialize focus_follows_mouse.
14716 * frame.h (focus_follows_mouse): Extern it.
14717 * macterm.c (XTread_socket): When focus_follows_mouse is nil
14718 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
14719 * msdos.c (dos_rawgetc): Likewise.
14720 * w32term.c (w32_read_socket): Likewise.
14721 * xterm.c (handle_one_xevent): Likewise.
14722 * xdisp.c (syms_of_xdisp): In doc-string of
14723 mouse-autoselect-window mention focus-follows-mouse.
14724
147252007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14726
14727 * macterm.c (mac_load_query_font): Fix missing return value.
14728 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
14729 Add BLOCK_INPUT.
14730
147312007-10-08 Richard Stallman <rms@gnu.org>
14732
14733 * xdisp.c (get_window_cursor_type): Implement documented behavior
14734 for cursor-in-non-selected-windows = t.
14735
147362007-10-08 Jason Rumney <jasonr@gnu.org>
14737
14738 * w32.c (w32_get_resource): Always close registry keys.
14739
147402007-10-08 Jason Rumney <jasonr@gnu.org>
14741
14742 * makefile.w32-in (LIBS): Add COMCTL32.
14743
14744 * w32fns.c (globals_of_w32fns): Init common controls.
14745
147462007-10-08 Richard Stallman <rms@gnu.org>
14747
14748 * image.c (our_memory_buffer): Rename from omfib_buffer.
14749
147502007-10-08 Richard Stallman <rms@gnu.org>
14751
14752 * buffer.c (Foverlays_at): Doc fix.
14753
147542007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
14755
14756 * fns.c (Fplist_put): Preserve uneven tail data.
14757
147582007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
14759
14760 * termhooks.h (enum event_kind): Remove trailing comma.
14761
14762 * frame.h (enum): Remove trailing comma.
14763
147642007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
14765
14766 * w32proc.c (delete_child): Don't terminate threads of zombies.
14767
147682007-10-08 Martin Rudalics <rudalics@gmx.at>
14769
14770 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
14771
14772 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
14773 last-repeatable-command.
14774 (init_kboard): Initialize Vlast_repeatable_command.
14775 (command_loop_1): Set it to real_this_command unless that was
14776 bound to an input event.
14777 (mark_kboards): Mark it.
14778
147792007-10-08 Richard Stallman <rms@gnu.org>
14780
14781 * eval.c (condition-case): Doc fix.
14782
147832007-10-08 Masatake YAMATO <jet@gyve.org>
14784
14785 * xfaces.c (tty_supports_face_attributes_p): Fix code
14786 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
14787 was copied and not edited.
14788
147892007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
14790
14791 Add new `input-decode-map' keymap and use it for terminal
14792 escape sequences.
14793 * keyboard.h (struct kboard): Add Vinput_decode_map.
14794 Remove Vlocal_key_translation_map.
14795 * keyboard.c (read_key_sequence): Add support for input-decode-map.
14796 (init_kboard): Init input-decode-map.
14797 Replace local-key-translation-map back with key-translation-map.
14798 (syms_of_keyboard): Declare input-decode-map.
14799 Remove local-key-translation-map. Update docstrings.
14800 (mark_kboards): Mark Vinput_decode_map.
14801 Don't mark Vlocal_key_translation_map.
14802 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
14803 Replace local-key-translation-map back with key-translation-map.
14804 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
14805 Bind in input-decode-map rather than function-key-map.
14806
14807 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
14808 This was made redundant by the previous introduction of XSETPVECTYPE.
14809
148102007-10-09 Richard Stallman <rms@gnu.org>
14811
14812 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
14813
148142007-09-29 Richard Stallman <rms@gnu.org>
14815
14816 * eval.c (internal_condition_case_2, internal_condition_case_1)
14817 (internal_condition_case): Reenable abort if x_catching_errors ()
14818 to see if that really happens and why.
14819
148202007-10-06 Andreas Schwab <schwab@suse.de>
14821
14822 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
14823
148242007-10-04 Juanma Barranquero <lekktu@gmail.com>
14825
14826 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
14827
148282007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
14829
14830 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
14831
148322007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
14833
14834 * window.h (struct window):
14835 * window.c (struct save_window_data, struct saved_window):
14836 * termhooks.h (struct terminal):
14837 * process.h (struct Lisp_Process):
14838 * frame.h (struct frame):
14839 * buffer.h (struct buffer):
14840 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
14841 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
14842 The size field of (pseudo)vectors is now unsigned.
14843 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
14844
14845 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
14846 Turn `count' into an integer.
14847
14848 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
14849 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
14850 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
14851 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
14852 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
14853
14854 * alloc.c (allocate_pseudovector): New fun.
14855 (ALLOCATE_PSEUDOVECTOR): New macro.
14856 (allocate_window, allocate_terminal, allocate_frame)
14857 (allocate_process): Use it.
14858 (mark_vectorlike): New function.
14859 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
14860 (mark_terminals): Use it.
14861 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
14862 (Fmake_byte_code): Use XSETPVECTYPE.
14863
14864 * frame.c (Fframe_parameters): Minor simplification.
14865
14866 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
14867
14868 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
14869
14870 * buffer.c (Fget_buffer_create, init_buffer_once):
14871 * lread.c (defsubr):
14872 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
14873
14874 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
14875 defined differently in the m/*.h files.
14876 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
14877 (XSETPVECTYPE): New macro.
14878 (XSETPSEUDOVECTOR): Use it.
14879
14880 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
14881 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
14882
14883 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
14884 * lread.c (defvar_per_buffer):
14885 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
14886
14887 * window.c (candidate_window_p): Only consider as visible frames that
14888 are on the same terminal.
14889
14890 * m/ibms390x.h (MARKBIT): Remove unused macro.
14891
148922007-10-01 Juanma Barranquero <lekktu@gmail.com>
14893
14894 * lread.c (Fload): Fix typo in docstring.
14895
148962007-10-01 Michaël Cadilhac <michael@cadilhac.name>
14897
14898 * floatfns.c (Fexpt): Manually check for overflows, so that a power
14899 of a non-zero value can't yield zero.
14900
149012007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
14902
14903 * term.c (term_clear_mouse_face, term_mouse_highlight)
14904 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
14905
14906 * print.c (safe_debug_print): Use XHASH.
14907
14908 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
14909 Lisp elements such as tags.
14910 (XHASH): New macro.
14911 (EQ): Use it.
14912 (SREF, SSET, STRING_COPYIN): Use SDATA.
14913 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
14914
14915 * alloc.c (mark_terminal): Remove left-over declaration.
14916 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
14917 (allocate_vectorlike): Remove type argument. Adjust callers.
14918 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
14919 Only handle the one remaining MEM_TYPE_VECTORLIKE.
14920
14921 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
14922 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
14923 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
14924 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
14925 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
14926 Use them.
14927
14928 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
14929 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
14930 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
14931
149322007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
14933
14934 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
14935 loaded by default.
14936
149372007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
14938
14939 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
14940 on this tty.
14941 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
14942
14943 * term.c (mouse_face_window): Rename from Qmouse_face_window.
14944 Update all users.
14945 (handle_one_term_event): Use Gpm_DrawPointer.
14946 (Fgpm_mouse_start): Rename from Fterm_open_connection.
14947 Signal errors instead of returning nil. Always return nil.
14948 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
14949 Make it a noop if gpm-mouse was not activated.
14950 (syms_of_term): Update names.
14951
149522007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
14953
14954 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
14955 (init_sys_modes): Check that gpm_tty is the current tty.
14956
14957 * alloc.c (allocate_terminal): Set the vector size to only count the
14958 lisp fields. Initialize those to nil.
14959 (mark_object): Don't treat terminals specially.
14960 (mark_terminal): Remove.
14961 (mark_terminals): Use mark_object instead.
14962
14963 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
14964 the GC to the beginning.
14965
14966 * indent.h:
14967 * indent.c: Use EMACS_INT for ints coming from Elisp data.
14968
14969 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
14970
149712007-09-25 Jason Rumney <jasonr@gnu.org>
14972
14973 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
14974
14975 * w32console.c (create_w32cons_output): Remove.
14976
14977 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
14978
14979 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
14980 (reset_sys_modes): Use reset_terminal_modes_hook.
14981
149822007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
14983
14984 * eval.c (do_autoload): Don't output any message.
14985
149862007-09-24 Juri Linkov <juri@jurta.org>
14987
14988 * emacs.c (standard_args): Change priority of "--no-splash"
14989 from 40 to 3. Add "--no-desktop" with the same priority.
14990
149912007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
14992
14993 * alloc.c (gc_sweep): Check cons cell mark bits word by word
14994 and optimize the case where they are all 1.
14995
149962007-09-23 Johannes Weiner <hannes@saeurebad.de>
14997
14998 * lisp.h (abs): Define if not defined.
14999 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
15000 Don't define `abs', since it's defined in lisp.h.
15001
150022007-09-22 Eli Zaretskii <eliz@gnu.org>
15003
15004 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
15005 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
15006 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
15007 (init_tty): Use DEV_TTY instead of "/dev/tty".
15008 [WINDOWSNT]: No need to protect from NAME arg being null.
15009
150102007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
15011
15012 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
15013 up the tty state.
15014
150152007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
15016
15017 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
15018 (gpm_tty): Change its type.
15019 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
15020 (gpm_tty): Change its type and initialize it.
15021 (Fterm_open_connection): Check the frame is indeed a tty.
15022 Use the new gpm_tty.
15023 (Fterm_close_connection): Use the new gpm_tty.
15024 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
15025 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
15026
150272007-09-21 Juanma Barranquero <lekktu@gmail.com>
15028
15029 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
15030 underline_color, to draw strike-through.
15031
150322007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
15033
15034 * lisp.h (allocate_terminal): Declare.
15035
15036 * window.c (candidate_window_p): Consider frames that are being placed
15037 by the user as somewhere between visible and iconified.
15038 (window_loop): Prefer windows on the current frame.
15039 (Fselect_window): Move the use of select-frame to the beginning so we
15040 can just delegate all the work (it'll call us back anyway).
15041
15042 * frame.c (Qdisplay_environment_variable):
15043 * frame.h (Qdisplay_environment_variable): Delete.
15044
15045 * .gdbinit (xbacktrace): Print the arg's address rather than the value
15046 of the first arg, since that value may be a union.
15047
15048 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
15049 parameter rather than Qdisplay_environment_variable. If all else
15050 fails, look for DISPLAY in initial-environment.
15051
150522007-09-21 Glenn Morris <rgm@gnu.org>
15053
15054 * Makefile.in (emacstool): Remove target.
15055 (lisp, shortlisp): Remove termdev.elc.
15056
150572007-09-21 Markus Triska <markus.triska@gmx.at>
15058
15059 * xterm.c (x_delete_display): Compile session management conditionally.
15060
150612007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
15062
15063 * callproc.c (getenv_internal_1): New function.
15064 (getenv_internal): Use it.
15065 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
15066
15067 * terminal.c (get_terminal): Don't accept ints to represent terminals.
15068 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
15069 (Fset_terminal_parameter): Work with dead terminals as well.
15070 (Fmodify_terminal_parameters): Remove.
15071
15072 * terminal.c (get_terminal): Handle terminals.
15073 Make sure the terminal returned is live.
15074 (create_terminal): Use allocate_terminal.
15075 (mark_terminals): Move to alloc.c.
15076 (delete_terminal): Use terminal->name as liveness status.
15077 NULL out fields after freeing their contents.
15078 Don't deallocate the object.
15079 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
15080 rather than an int.
15081 (Fterminal_live_p): Accept non-integer arguments.
15082 (Fterminal_list): Return terminal objects rather than an ints.
15083
15084 * alloc.c (enum mem_type): New member for `terminal' objects.
15085 (allocate_terminal): New function.
15086 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
15087 Handle terminals.
15088 (mark_terminal): New fun.
15089 (mark_terminals): Move from terminal.c.
15090
15091 * term.c (get_tty_terminal): Don't treat output_initial specially.
15092 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
15093 (delete_tty): Use terminal->name as liveness status.
15094
15095 * termhooks.h (struct terminal): Make it into a pseudovector.
15096 Remove `deleted' replaced by checking `name's nullness.
15097
15098 * print.c (print_object): Handle terminals.
15099
15100 * lisp.h (enum pvec_type): New `terminal' pseudovector.
15101 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
15102
15103 * frame.c (make_terminal_frame):
15104 * keyboard.c (tty_read_avail_input):
15105 * w32term.c (x_delete_terminal):
15106 * xfns.c (Fx_create_frame, x_create_tip_frame):
15107 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
15108
151092007-09-20 Glenn Morris <rgm@gnu.org>
15110
15111 * process.c (Fmake_network_process): Doc fix.
15112
151132007-09-19 Jason Rumney <jasonr@gnu.org>
15114
15115 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
15116
151172007-09-19 Michaël Cadilhac <michael@cadilhac.name>
15118
15119 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
15120 Fix a C warning regarding variable constness.
15121
15122 * xterm.c (handle_one_xevent): Fix a C warning.
15123
151242007-09-18 Jason Rumney <jasonr@gnu.org>
15125
15126 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
15127
151282007-09-17 Jan Djärv <jan.h.d@swipnet.se>
15129
15130 * gtkutil.c (gdpy_def): New variable.
15131 (xg_initialize): Initialize gdpy_def.
15132 (xg_display_close): If no other display exists, set gdpy_def to a
15133 new connection.
15134
151352007-09-16 Jan Djärv <jan.h.d@swipnet.se>
15136
15137 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
15138 when we have no file name for the icon.
15139 (xg_tool_bar_expose_callback): Remove.
15140 (xg_create_tool_bar): Don't connect expose signal to
15141 xg_tool_bar_expose_callback.
15142 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
15143
151442007-09-16 Andreas Schwab <schwab@suse.de>
15145
15146 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
15147 values instead of zapping them.
15148
151492007-09-14 Glenn Morris <rgm@gnu.org>
15150
15151 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
15152 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
15153 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
15154 scope and rename to omfib_buffer for clarity.
15155 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
15156
151572007-09-14 Kenichi Handa <handa@m17n.org>
15158
15159 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
15160
151612007-09-13 Jason Rumney <jasonr@gnu.org>
15162
15163 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
15164
15165 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
15166
15167 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
15168 (mac_term_init): Call here instead, passing rif.
15169
151702007-09-13 Glenn Morris <rgm@gnu.org>
15171
15172 * s/hpux.h: No longer define `static' as nothing.
15173
151742007-09-13 Johan Bockgård <bojohan@gnu.org>
15175
15176 * callint.c (Fcall_interactively): Remove unused var `fun'.
15177
151782007-09-12 Romain Francoise <romain@orebokech.com>
15179
15180 * window.c (prefer_window_split_horizontally, display_buffer):
15181 Revert 2007-09-08 change.
15182
151832007-09-12 Glenn Morris <rgm@gnu.org>
15184
15185 * alloca.c: Remove file.
15186 * Makefile.in (alloca): Do not undef.
15187 (allocaobj, alloca.o): Remove.
15188 (otherobj): Remove allocaobj.
15189 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
15190 * regex.c (C_ALLOCA): Remove all references and code that was only
15191 used when this was defined.
15192 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
15193 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
15194 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
15195
15196 * Makefile.in (SOURCES, unlock, relock): Delete.
15197
15198 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
15199 (menu_grab_callback): All uses changed.
15200
15201 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
15202 (x_reply_selection_request): All uses changed.
15203
152042007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
15205
15206 * lread.c (load_warn_old_style_backquotes): Change message to look
15207 better when it appears in the middle of byte-compiler messages.
15208
152092007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
15210
15211 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
15212
15213 * xterm.c (x_create_terminal): Add comment.
15214
15215 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
15216
152172007-09-10 Richard Stallman <rms@gnu.org>
15218
15219 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
15220
152212007-09-10 Michaël Cadilhac <michael@cadilhac.name>
15222
15223 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
15224 (DEFUN): Document `intspec', use it instead of `prompt'.
15225
15226 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
15227
15228 * data.c (Finteractive_form): If the interactive specification starts
15229 with a `(', use it as a Lisp form.
15230
15231 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
15232 name and file modes.
15233
15234 * callint.c (Fcall_interactively): Comment fixes.
15235
152362007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
15237
15238 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
15239 and compiled functions.
15240
152412007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
15242
15243 * window.c (prefer_window_split_horizontally): New variable.
15244 (display_buffer): Consider splitting window horizontally depending
15245 on prefer_window_split_horizontally.
15246
152472007-09-08 Eli Zaretskii <eliz@gnu.org>
15248
15249 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
15250
152512007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
15252
15253 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
15254
15255 * frame.c (x_set_frame_parameters): Check number is positive before
15256 using XFASTINT.
15257
15258 * window.c (freeze_window_start): Don't presume selected_window holds
15259 a window object.
15260 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
15261
152622007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
15263
15264 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
15265
152662007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
15267
15268 * window.c (Vsplit_window_preferred_function): New var.
15269 (Fdisplay_buffer): Use it.
15270 (syms_of_window): Export, and initialize it.
15271
152722007-09-06 Pixel <pixel@mandriva.com> (tiny change)
15273
15274 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
15275
152762007-09-06 Glenn Morris <rgm@gnu.org>
15277
15278 * gtkutil.c (menu_grab_callback) <cnt>:
15279 * xselect.c (x_reply_selection_request) <cnt>: Move static
15280 variable to file scope.
15281
152822007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
15283
15284 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
15285 consistent values of selected_frame and selected_window.
15286
152872007-09-04 Jason Rumney <jasonr@gnu.org>
15288
15289 * w32console.c (initialize_w32_display): Zero unused hooks.
15290
152912007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
15292
15293 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
15294 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
15295
152962007-09-04 Jason Rumney <jasonr@gnu.org>
15297
15298 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
15299 in w32console.c. Set up input. Remove XXX comments that have been
15300 confirmed as correct.
15301
15302 * s/ms-w32.h (MULTI_KBOARD): Define.
15303
15304 * w32console.c (one_and_only_w32cons): Remove.
15305 (initialize_w32_display): Take terminal argument.
15306
15307 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
15308 initialize_w32_display.
15309 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
15310
15311 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
15312
15313 * keyboard.c (discard_mouse_events): Discard it.
15314 (make_lispy_event): Translate it to a lisp event.
15315 (lispy_wheel_names): Add wheel-left and right events.
15316 (syms_of_keyboard): Enlarge wheel_syms.
15317
15318 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
15319 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
15320
15321 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
15322
15323 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
15324 from WM_MOUSEHWHEEL.
15325 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
15326
15327 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
15328 terminal.
15329
15330 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
15331 keyboard for the terminal.
15332
153332007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
15334
15335 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
15336 (Vresume_tty_hook): Rename from Vresume_tty_functions.
15337 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
15338 and resume-tty-function to resume-tty-hook.
15339 (Fsuspend_tty, Fresume_tty): Use new names.
15340
153412007-09-02 Jan Djärv <jan.h.d@swipnet.se>
15342
15343 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
15344 if it starts with "n:".
15345
153462007-08-31 Jan Djärv <jan.h.d@swipnet.se>
15347
15348 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
15349
153502007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
15351
15352 * frame.h:
15353 * frame.c (Qterm_environment_variable): Remove.
15354 (syms_of_frame): Don't init and staticpro it.
15355
15356 * callproc.c (getenv_internal): Remove special case for $TERM.
15357
15358 * callproc.c (Vinitial_environment): New variable.
15359 (set_initial_environment): Initialize it.
15360 (syms_of_callproc): Declare it.
15361 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
15362 TERM under which a process runs is never related to the TERM in which
15363 Emacs is running.
15364
153652007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
15366
15367 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
15368 * s/darwin.h: ... do it here.
15369
153702007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
15371
15372 * lisp.h (set_initial_environment): Rename from set_global_environment.
15373
15374 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
15375 removed by mistake on the multi-tty branch.
15376
15377 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
15378 (Fmodify_frame_parameters): Return a value.
15379
15380 * image.c (png_load): Comment-out var only used in commented-out code.
15381
15382 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
15383 before passing it to mark_object.
15384
15385 * xfaces.c (internal_resolve_face_name): Return a value.
15386 (internal_resolve_face_name, resolve_face_name_error): Comment out.
15387
15388 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
15389 (x_icon): Comment-out var only used in commented-out code.
15390
153912007-08-29 Romain Francoise <romain@orebokech.com>
15392
15393 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
15394 QUIT hasn't been provided.
15395
153962007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
15397
15398 * callproc.c (child_setup, getenv_internal): Use the
15399 display-environment-variable and term-environment-variable frame params.
15400 (set_initial_environment): Initialise Vprocess_environment.
15401
15402 * config.in: Disable multi-keyboard support on a mac.
15403
15404 * frame.c (Qterm_environment_variable)
15405 (Qdisplay_environment_variable): New variables.
15406 (syms_of_frame): Intern and staticpro them.
15407 (Fmake_terminal_frame): Disable output method test.
15408
15409 * frame.h: Declare them here.
15410
15411 * macfns.c (x_set_mouse_color): Get rif from the frame.
15412 (x_set_tool_bar_lines): Don't use updating_frame.
15413 (mac_window): Add 2 new parameters for consistency with other systems.
15414 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
15415 frame parameters following what is done in X11 and w32. Don't use
15416 FRAME_MAC_DISPLAY_INFO.
15417 (Fx_open_connection, start_hourglass): Remove window-system check.
15418 (x_create_tip_frame): Get the keyboard from the terminal.
15419
15420 * macmenu.c: Reorder includes.
15421 (Fx_popup_menu): Use terminal specific mouse_position_hook.
15422
15423 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
15424 terminal parameter.
15425 (x_clear_frame): Add a frame parameter.
15426 (note_mouse_movement): Get rif from the frame.
15427 (mac_term_init): Initialize the terminal.
15428 (mac_initialize): Make static and move terminal initialization ...
15429 (mac_create_terminal): ... to this new function.
15430
15431 * macterm.h (struct mac_display_info): Add terminal.
15432 (mac_initialize): Delete declaration.
15433
15434 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
15435
15436 * sysdep.c: Comment out text after #endif.
15437
15438 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
15439 is defined. Better initialize ttys in windows. Use terminal
15440 specific mouse_position_hook.
15441
15442 * termhooks.h (union display_info): Add mac_display_info.
15443
15444 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
15445 Set the default minibuffer frame, window_system and the rest of the
15446 frame parameters following what is done in X11.
15447
15448 * w32term.c (w32_initialize): Make static.
15449
15450 * xselect.c (x_handle_selection_clear): Only access
15451 terminal->kboard when MULTI_KBOARD is defined.
15452
15453 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
15454 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
15455
154562007-08-29 Jason Rumney <jasonr@gnu.org>
15457
15458 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
15459 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
15460
15461 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
15462 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
15463
15464 * keyboard.c (restore_kboard_configuration): Only define when
15465 MULTI_KBOARD defined.
15466
15467 * makefile.w32-in: Update dependancies from Makefile.in.
15468 (OBJ1): Add terminal.$(O)
15469
15470 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
15471 Don't define function body.
15472 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
15473
15474 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
15475
15476 * w32.c (request_sigio, unrequest_sigio): Remove.
15477
15478 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
15479 (w32con_clear_frame, w32con_clear_end_of_line)
15480 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
15481 (w32con_delete_glyphs, w32con_set_terminal_window)
15482 (scroll_line, w32_sys_ring_bell): Add frame arg.
15483 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
15484 Add terminal arg.
15485 (PICK_FRAME): Remove.
15486 (w32con_write_glyphs): Use frame specific terminal coding.
15487 (one_and_only_w32cons): New global variable.
15488 (initialize_w32_display): Use it for storing hooks.
15489 (create_w32cons_output): New function.
15490
15491 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
15492 arg a frame.
15493
15494 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
15495 Set window_system.
15496 (x_set_tool_bar_lines): Don't use updating_frame.
15497 (Fx_create_frame): Set terminal and ref count.
15498 (Fx_open_connection): Remove window-system check.
15499
15500 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
15501
15502 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
15503 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
15504 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
15505 Add frame arg.
15506 (x_delete_terminal, w32_create_terminal): New functions.
15507 (w32_term_init): Create a terminal.
15508 (w32_initialize): Move terminal specific initialization to
15509 w32_create_terminal.
15510
15511 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
15512 (w32_clear_rect, w32_clear_area): Use background from frame.
15513 (w32_display_info): Add terminal.
15514 (w32_sys_ring_bell, x_delete_display): Declare here.
15515
15516 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
15517
15518 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
15519
155202007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
15521
15522 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
15523 Fix get_named_tty calls for the controlling tty.
15524
155252007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
15526
15527 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
15528
155292007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
15530
15531 * term.c (tty_insert_glyphs): Add missing first parameter.
15532
155332007-08-29 Károly Lőrentey <karoly@lorentey.hu>
15534
15535 * buffer.c (Fbuffer_list, Fbury_buffer):
15536 Take frame->buried_buffer_list into account.
15537
15538 * cm.c (current_tty): New variable, for cmputc().
15539 (cmputc): Use it.
15540 (cmcheckmagic): Add tty parameter, look up terminal streams there.
15541 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
15542 (cmgoto): Add tty parameter. Pass it on to calccost().
15543 Use emacs_tputs() instead of tputs().
15544
15545 * cm.h (emacs_tputs): New macro to set current_tty, and then call
15546 tputs().
15547 (current_tty): New variable, for cmputc().
15548 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
15549
15550 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
15551 (internal_condition_case, internal_condition_case_1)
15552 (internal_condition_case_2): Don't abort when x_catching_errors.
15553
15554 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
15555 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
15556 prevent crashes caused by bogus longjmps in read_char.
15557
15558 * keymap.h (Fset_keymap_parent): Add EXFUN.
15559
15560 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
15561 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
15562 Remove redundant definition.
15563
15564 * macfns.c (x_set_mouse_color, x_make_gc):
15565 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15566
15567 * w32term.c (x_free_frame_resources):
15568 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15569 (w32_initialize): Use the accessor macros for terminal characteristics.
15570
15571 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
15572 Use the accessor macros for terminal characteristics.
15573 * msdos.c (internal_terminal_init): Use the accessor macros for
15574 terminal characteristics.
15575 (ScreenVisualBell, internal_terminal_init):
15576 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15577
15578 * termopts.h (no_redraw_on_reenter): Declare.
15579
15580 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
15581 (mark_terminals, mark_ttys): Declare.
15582 (Fgarbage_collect): Call them.
15583 (mark_object): Mark buried_buffer_list.
15584
15585 * prefix-args.c: Include stdlib.h for exit.
15586
15587 * syssignal.h: Add comment.
15588
15589 * indent.c: Include stdio.h.
15590
15591 * window.h (Vinitial_window_system): Declare.
15592 (Vwindow_system): Delete declaration.
15593
15594 * fontset.c (Finternal_char_font): Use FRAME_RIF.
15595
15596 * image.c (lookup_image): Don't initialize `c' until the xasserts
15597 have been run.
15598
15599 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
15600 FRAME_FOREGROUND_PIXEL.
15601
15602 * print.c (print_preprocess): Don't lose print_depth levels while
15603 iterating.
15604
15605 * widget.c (update_from_various_frame_slots):
15606 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15607
15608 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
15609 frames.
15610 (window_internal_height): Remove bogus make_number call.
15611 (init_window_once): Call make_terminal_frame with two zero parameters.
15612
15613 * fileio.c (Fread_file_name): Update comment.
15614
15615 * callint.c (Fcall_interactively):
15616 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
15617 Make sure it is correctly unwound.
15618
15619 * xsmfns.c (x_session_close): New function.
15620
15621 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
15622 Delete declarations.
15623
15624 * xterm.h: Remove declaration for x_fully_uncatch_errors.
15625 (x_output): Remove background_pixel and foreground_pixel fields.
15626 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
15627 (x_delete_device, x_session_close): Declare.
15628
15629 * lread.c: Include setjmp.h. Update declaration of `read_char'.
15630 (read_filtered_event): Call `read_char' with a local
15631 `wrong_kboard_jmpbuf'.
15632
15633 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
15634 Don't call single_kboard_state. Use FRAME_RIF.
15635
15636 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
15637 systems.
15638
15639 * lisp.h (set_process_environment): Rename to `set_global_environment'.
15640 (Fframe_with_environment, Fset_input_meta_mode)
15641 (Fset_quit_char): EXFUN.
15642 (x_create_device, tty_output, terminal, tty_display_info): Declare.
15643 (init_sys_modes, reset_sys_modes): Update prototypes.
15644 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
15645
15646 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
15647 Vlocal_key_translation_map, and Vkeyboard_translate_table.
15648 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
15649 Delete declarations.
15650 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
15651 (temporarily_switch_to_single_kboard, tty_read_avail_input):
15652 New declarations.
15653
15654 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
15655 already does that during init_display(). Call syms_of_keymap
15656 before syms_of_keyboard. Call `syms_of_terminal'.
15657 Call set_initial_environment, not set_process_environment.
15658 (shut_down_emacs): Call reset_all_sys_modes() instead of
15659 reset_sys_modes().
15660
15661 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
15662 (internal_resolve_face_name, resolve_face_name_error): New functions.
15663 (resolve_face_name): Protect against loops and errors thrown by Fget.
15664 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
15665 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
15666
15667 * scroll.c: Replace CURTTY() with local variables throughout the
15668 file (where applicable).
15669 (calculate_scrolling, calculate_direct_scrolling)
15670 (scrolling_1, scroll_cost): Use the accessor macros for terminal
15671 characteristics.
15672
15673 * keymap.c (Vfunction_key_map): Remove.
15674 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
15675 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
15676 (Vkey_translation_map): Remove.
15677 (syms_of_keymap): Remove DEFVAR for key-translation-map.
15678 (Fdescribe_buffer_bindings)
15679 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
15680 Update for terminal-local key-translation-map.
15681
15682 * Makefile.in (callproc.o): Update dependencies.
15683 (lisp, shortlisp): Add termdev.elc.
15684 (obj): Add terminal.o.
15685 (terminal.o): Add dependencies.
15686 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
15687 (data.o, fns.o): Add termhooks.h dependency.
15688 (SOME_MACHINE_LISP): Add dnd.elc.
15689 (minibuf.o): Fix typo.
15690 Update dependencies.
15691
15692 * data.c (do_symval_forwarding, store_symval_forwarding)
15693 (find_symbol_value): Use the selected frame's keyboard, not
15694 current_kboard.
15695
15696 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
15697 Vwindow_system.
15698
15699 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
15700 Fmenu_bar_open.
15701 (syms_of_xmenu): Update defsubr.
15702 (mouse_position_for_popup, Fx_popup_menu)
15703 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
15704 (set_frame_menubar, free_frame_menubar)
b97439ce 15705 (create_and_show_popup_menu, xmenu_show)
aac0c6e3
MR
15706 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
15707 an X frame.
15708
15709 * xselect.c (x_own_selection): Abort if not an X frame.
15710 (some_frame_on_display): Check if it is an X frame.
15711 (x_handle_selection_clear): Deal with MULTI_KBOARD.
15712
15713 * coding.c: Include frame.h and termhooks.h.
15714 (terminal_coding, keyboard_coding): Delete.
15715 (Fset_terminal_coding_system_internal)
15716 (Fset_keyboard_coding_system_internal)
15717 (Fkeyboard_coding_system)
15718 (Fterminal_coding_system): Add a terminal parameter.
15719 Get terminal_coding from the terminal.
15720 (init_coding_once): Don't call setup_coding_system here.
15721
15722 * dispextern.h (set_scroll_region, turn_off_insert)
15723 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
15724 (tty_clear_end_of_line, tty_setup_colors)
15725 (delete_tty, updating_frame)
15726 (produce_special_glyphs, produce_glyphs, write_glyphs)
15727 (insert_glyphs): Remove.
15728 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
15729 (tty_turn_off_highlight, get_tty_size): Add declaration.
15730 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
15731
15732 * frame.h (enum output_method): Add output_initial.
15733 (struct x_output): Delete.
15734 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
15735 Access foreground_pixel and background_pixel directly from the frame.
15736 (tty_display): Delete.
15737 (struct frame): Add buried_buffer_list, foreground_pixel,
15738 background_pixel and terminal. Delete kboard.
15739 (union output_data): Add tty.
15740 (FRAME_KBOARD): Get the kboard from the terminal.
15741 (FRAME_INITIAL_P): New macro.
15742 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
15743 (Qterm_environment_variable, Qdisplay_environment_variable)
15744 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
15745 New declarations.
15746
15747 * termchar.h (tty_output, tty_display_info): New structures.
15748 (tty_list): Declare.
15749 (FRAME_TTY, CURTTY): New macros.
15750 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
15751 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
15752 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
15753 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
15754
15755 * callproc.c: Include frame.h and termhooks.h, for terminal
15756 parameters.
15757 (add_env): New function.
15758 (child_setup): Use it.
15759 (child_setup, getenv_internal): Handle the new Vprocess_environment.
15760 (getenv_internal): Fix get_terminal_param call.
15761 (Fgetenv_internal, egetenv): Update doc.
15762 (syms_of_callproc): Initialize Vprocess_environment to nil.
15763 Register and initialize them. Remove obsolete defvars. Update doc
15764 strings.
15765 (child_setup): Handle Vlocal_environment_variables.
15766 (getenv_internal): Add terminal parameter.
15767 Handle Vlocal_environment_variables.
15768 (Fgetenv_internal): Add terminal parameter.
15769 (child_setup, getenv_internal, Fgetenv_internal): Store the local
15770 environment in a frame (not terminal) parameter. Update doc strings.
15771 (set_initial_environment): Rename from set_global_environment.
15772 Store Emacs environment in initial frame parameter.
15773
15774 * xdisp.c (redisplay_internal): Update references to
15775 `previous_terminal_frame'.
15776 (display_mode_line, Fformat_mode_line): Replace calls to
15777 `push_frame_kboard' with `push_kboard'.
15778 (get_glyph_string_clip_rects): Add extra parentheses and
15779 braces to prevent compiler warnings.
15780 (calc_pixel_width_or_height): Add xassert to check that the
15781 frame is alive. Don't call `lookup_image' on a termcap frame.
15782 (message2_nolog, message3_nolog, redisplay_internal)
15783 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
15784 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
15785 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
15786 (Fx_display_pixel_width, Fx_display_pixel_height)
15787 (Fx_display_planes, Fx_display_color_cells)
15788 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
15789 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
15790 (Fx_display_backing_store, Fx_display_visual_class)
15791 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
15792 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
15793
15794 * xfns.c (x_set_foreground_color x_set_background_color)
15795 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
15796 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15797 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
15798 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
15799 terminal that is being deleted.
15800 (Fx_create_frame): Use `store_frame_param' to set `window-system'
15801 frame parameter, and make sure it overrides any user-supplied setting.
15802 (Fx_close_connection, Fx_synchronize): Unify argument names with
15803 the rest of the DEFUNs.
15804
15805 * dispnew.c (Fsend_string_to_terminal): Update call to
15806 `get_tty_terminal'.
15807 (Fredraw_frame, Fsend_string_to_terminal)
15808 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
15809 FRAME_TERMCAP_P and FRAME_TTY.
15810 (window_change_signal): Don't believe width/height values that are
15811 impossibly small.
15812 (Vinitial_window_system): Rename from Vwindow_system.
15813 (termscript, Wcm, rif): Delete.
15814
15815 * termhooks.h (struct terminal): New struct containing the
15816 previously global text display hooks and new members NAME,
15817 DELETED and PARAM_ALIST.
15818 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
15819 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
15820 (FRAME_RIF): New macros.
15821 (get_terminal_param, get_device): New declarations.
15822 (termscript): Delete declaration.
15823
15824 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
15825 (XTflash, x_free_frame_resources, x_scroll_bar_create)
15826 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
15827 FRAME_FOREGROUND_PIXEL.
15828 (x_fully_uncatch_errors): Disable definition.
15829 (x_scroll_bar_expose): Fix reference to foreground pixel.
15830 (XTread_socket): Disable loop on all X displays.
15831 (x_delete_terminal): Don't set terminal->deleted and let
15832 delete_terminal delete the frames on the terminal.
15833 (x_delete_display): Doc update to reflect changes in
15834 delete_terminal.
15835 (x_display_info) <terminal>: Move member earlier in the struct.
15836 (deleting_tty): Remove old variable.
15837 (Fsuspend_tty): Call clear_tty_hooks.
15838 (Fresume_tty, init_tty): Call set_tty_hooks.
15839 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
15840 errors on X frames.
15841 (x_catch_errors_unwind): Abort if x_error_message is NULL.
15842 (handle_one_xevent): Initialize `f' to NULL.
15843 (x_delete_terminal, x_create_terminal): New functions.
15844 (XTset_terminal_modes, XTreset_terminal_modes)
15845 (XTread_socket, x_connection_closed, x_term_init)
15846 (x_term_init, x_delete_display): Add terminal parameter.
15847 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
15848 X connections.
15849
15850 * frame.c: Include termchar.h.
15851 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
15852 (Qwindow_system, Qenvironment, Qterm_environment_variable)
15853 (Qdisplay_environment_variable): New vars.
15854 (Fframep): Deal with output_initial.
15855 (Fframe-live-p): Doc fix.
15856 (Fwindow-system): New function.
15857 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
15858 (make_terminal_frame): Don't create frames on a terminal that is
15859 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15860 (store_frame_param): Check for found_for_frame before calling XFRAME.
15861 (Fmake_terminal_frame): Handle NULL tty names correctly.
15862 (syms_of_frame): Enhance doc string of `default-frame-alist'.
15863 (Fdelete_frame): Remove unused variable `count'. Don't allow other
15864 frames to refer to a deleted frame in their 'environment parameter.
15865 (Fframe_with_environment): New function.
15866 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
15867 (get_future_frame_param): New function.
15868 (Fmake_terminal_frame): Use it.
15869 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
15870
15871 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
15872 * sysdep.c (reset_sys_modes): Update for renames.
15873
15874 * keyboard.c (tty_read_avail_input): New function.
15875 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
15876 (syms_of_keyboard): Defsubr them.
15877 (Fset_input_meta_mode, Fset_quit_char): New functions.
15878 (Fset_input_mode): Split to above functions.
15879 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
15880 parameter. Use it in call to `read_char'.
15881 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
15882 Set wrong_kboard_jmpbuf correctly in recursive calls.
15883 Use current_kboard to access Vkeyboard_translate_table.
15884 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
15885 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
15886 Update longjmp invocations. Remember the original current_kboard,
15887 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
15888 changes it. Comment out unnecessary calls to
15889 `record_single_kboard_state' and `any_kboard_state'.
15890 Update recursive calls.
15891 (wrong_kboard_jmpbuf): Remove global variable.
15892 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
15893 Handle deleted interrupted_kboards correctly; that is a legal
15894 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
15895 and read_char calls. Abort if interrupted_kboard died in read_char.
15896 (any_kboard_state, single_kboard_state)
15897 (push_frame_kboard): Remove function.
15898 (pop_kboard): Switch out of single_kboard mode if the kboard has
15899 been deleted. Remove unused variable. Help debugging by not
15900 changing current_kboard unnecessarily. Set current_kboard to the
15901 kboard of the selected frame when the stored kboard object has
15902 been deleted before pop_kboard.
15903 (temporarily_switch_to_single_kboard): Change first parameter to a
15904 frame pointer. Throw an error when caller wants to change kboards
15905 while in single_kboard mode. Don't push_kboard if we weren't in
15906 single kboard state. Don't pop_kboard if we popped into any
15907 kboard state.
15908 (restore_kboard_configuration): Abort if pop_kboard changed the
15909 kboard in single_kboard mode. Call pop_kboard only after setting
15910 up single_kboard mode.
15911 (Frecursive_edit): Switch to single_kboard mode only in nested
15912 command loops.
15913 (cmd_error, command_loop, command_loop_1, timer_check):
15914 Comment out unnecessary call to `any_kboard_state' and
15915 `record_single_kboard_state'.
15916 (delete_kboard): Exit single_kboard mode if we have just deleted
15917 that kboard. Use FRAME_KBOARD.
15918 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
15919 `fatal_error_signal'.
15920 (record_single_kboard_state): Don't push_kboard if we weren't in
15921 single kboard state. Don't pop_kboard if we popped into any
15922 kboard state.
15923 (push_frame_kboard): Rename to push_kboard.
15924 (kbd_buffer_get_event): Use FRAME_TERMINAL.
15925 (read_avail_input): Read input from all terminals.
15926 (mark_kboards): Also mark Vkeyboard_translate_table.
15927 (kbd_buffer_store_event_hold): Simplify condition.
15928 (read_key_sequence): Reinitialize fkey and keytran at each replay.
15929 (Vkeyboard_translate_table): Move to struct kboard.
15930 (init_kboard): Initialize Vkeyboard_translate_table.
15931 (syms_of_keyboard): Use DEFVAR_KBOARD to define
15932 Vkeyboard_translate_table. Update doc strings. Update docs of
15933 local-function-key-map and function-key-map.
15934
15935 * terminal.c: New file.
15936
15937 * term.c: Include errno.h.
15938 (Vring_bell_function, device_list, initial_device)
15939 (next_device_id, ring_bell, update_begin, update_end)
15940 (set_terminal_window, cursor_to, raw_cursor_to)
15941 (clear_to_end, clear_frame, clear_end_of_line)
15942 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
15943 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
15944 (syms_of_term): Move their initialization to terminal.c.
15945 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
15946 (Ftty_display_color_cells)
15947 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
15948 (clear_tty_hooks, set_tty_hooks)
15949 (init_tty, maybe_fatal): New functions.
15950 (Ftty_type): Return nil if terminal is not on a tty instead of
15951 throwing an error. Doc update.
15952 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
15953 Doc update. Initialize new subrs and variables.
15954 (delete_tty): Use terminal->deleted.
15955 (tty_set_terminal_modes): Rename from set_terminal_modes.
15956 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
15957 (set_scroll_region): Rename to `tty_set_scroll_region'.
15958 (turn_on_insert): Rename to `tty_turn_on_insert'.
15959 (turn_off_insert): Rename to `tty_turn_off_insert'.
15960 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
15961 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
15962 (toggle_highligh): Rename to `tty_toggle_highlight'.
15963 (background_highlight): Rename to `tty_background_highlight'.
15964 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
15965 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
15966 (tty_set_scroll_region, tty_background_highlight)
15967 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
15968 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
15969 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
15970 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
15971 Add static modifier.
15972 (tty_reset_terminal_modes, tty_set_terminal_window)
15973 (tty_set_scroll_region, tty_background_highlight)
15974 (tty_highlight_if_desired, tty_cursor_to)
15975 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
15976 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
15977 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
15978 renames.
15979
159802007-08-28 Jan Djärv <jan.h.d@swipnet.se>
15981
15982 * keyboard.c: Qrtl is new.
15983 (parse_tool_bar_item): Handle :rtl keyword.
15984 (syms_of_keyboard): Intern :rtl keyword.
15985
15986 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
15987
15988 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
15989 so no Lisp code is executed.
15990 (file_for_image, find_rtl_image): New functions.
15991 (xg_get_image_for_pixmap): Use file_for_image.
15992 (update_frame_tool_bar): If direction is RTL, use RTL image if
15993 defined. Use Gtk stock images if defined.
15994
159952007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15996
15997 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
15998 for nonexistent or zero-width glyph in composition glyph.
15999
160002007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
16001
16002 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
16003
16004 * xdisp.c (Finvisible_p): New function.
16005 (syms_of_xdisp): defsubr it.
16006
160072007-08-24 Juanma Barranquero <lekktu@gmail.com>
16008
16009 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
16010 Doc fixes.
16011
160122007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16013
16014 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
16015
160162007-08-24 Martin Rudalics <rudalics@gmx.at>
16017
16018 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
16019 whether decoding has modified buffer contents.
16020
160212007-08-24 Jason Rumney <jasonr@gnu.org>
16022
16023 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
16024 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
16025 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
16026 (init_svg_functions) [HAVE_NTGUI]: New function.
16027 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
16028 (svg_load_image): Use them.
16029 (svg_load_image) [HAVE_NTGUI]: Implement background.
16030
160312007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16032
16033 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
16034 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
16035 (LIBX): Remove @RSVG_LIBS@.
16036 (LIBES): Add $(RSVG_LIBS).
16037
16038 * image.c (svg_load_image): Blend with specified background if exists.
16039 Use IMAGE_BACKGROUND. Add Mac OS Support.
16040
16041 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
16042 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
16043 Remove macros.
16044 [MAC_OSX] (socket_callback): Do nothing.
16045 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
16046 ReceiveNextEvent.
16047 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
16048 socket_callback.
16049 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
16050
160512007-08-22 Glenn Morris <rgm@gnu.org>
16052
16053 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
16054
160552007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
16056
16057 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
16058
16059 * image.c: Add support for SVG images. Some additional comments
16060 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
16061 (svg_image_p): New function to test for SVG image.
16062 (svg_load): New function to load SVG image.
16063 (svg_load_image): New function, helper for svg_load.
16064 (Qsvg): New Lisp_object.
16065 (svg_keyword_index): New enum.
16066 (svg_format): New static `image_keyword' struct.
16067 (svg_type): New static `image_type' struct.
16068 (librsvg/rsvg.h): Include it.
16069
160702007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
16071
16072 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
16073
160742007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
16075
16076 * lread.c (Qold_style_backquotes): New var.
16077 (syms_of_lread): Init and staticpro it.
16078 (load_warn_old_style_backquotes): New fun.
16079 (Fload): Use them to warn about old style backquotes.
16080 (end_of_file_error, Fload): Remove unused vars.
16081
16082 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
16083
16084 * lread.c (Vold_style_backquotes): New var.
16085 (syms_of_lread): Init and export it to Elisp.
16086 (read1): Set it when we find an old-style (back)quote.
16087
160882007-08-22 Jason Rumney <jasonr@gnu.org>
16089
16090 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
16091
160922007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
16093
16094 * puresize.h (BASE_PURESIZE): Increase to 1140000.
16095
160962007-08-19 Richard Stallman <rms@gnu.org>
16097
16098 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
16099
161002007-08-19 Andreas Schwab <schwab@suse.de>
16101
16102 * alloc.c (pure): Round PURESIZE up.
16103
161042007-08-17 Jan Djärv <jan.h.d@swipnet.se>
16105
16106 * xterm.c (handle_one_xevent): Remove check that mouse click is in
16107 active frame.
16108
161092007-08-16 Richard Stallman <rms@gnu.org>
16110
16111 * eval.c (Fcommandp): Add parens to clarify.
16112
16113 * minibuf.c (Fall_completions): Use enum for type of table.
16114
16115 * emacs.c (USAGE2): Improve text.
16116
161172007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
16118
16119 * term.c (tty_default_color_capabilities): Declare static
16120 variables in file scope, to avoid HPUX compiler problem.
16121
161222007-08-13 Jan Djärv <jan.h.d@swipnet.se>
16123
16124 * gtkutil.c (update_frame_tool_bar): Use -1 as index
16125 to gtk_toolbar_insert.
16126
161272007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
16128
16129 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
16130
16131 * insdel.c (reset_var_on_error): New fun.
16132 (signal_before_change, signal_after_change):
16133 Use it to reset (after|before)-change-functions to nil in case of error.
16134 Bind inhibit-modification-hooks to t.
16135 Don't bind (after|before)-change-functions to nil while they run.
16136
161372007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16138
16139 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
16140 filling pixmap with stippled background.
16141
161422007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16143
16144 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
16145 Don't use invisible frame as parent window for repositioning.
16146
161472007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
16148
16149 * print.c (new_backquote_output): Rename from old_backquote_output.
16150 (print): Inverse its logic (according to its name) so as to match the
16151 behavior of new_backquote_flag in lread.c.
16152
161532007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16154
16155 * gmalloc.c (posix_memalign): New function.
16156
16157 * macterm.c (frame_highlight, frame_unhighlight): Don't call
16158 ActivateControl/DeactivateControl here.
16159 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
16160 frame-notice-user-settings is non-nil.
16161 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
16162 for kEventParamFMFontStyle.
16163 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
16164 mac_pass_command_to_system and mac_pass_control_to_system here.
16165 (XTread_socket): Call ActivateControl/DeactivateControl here.
16166 (XTread_socket) [TARGET_API_MAC_CARBON]:
16167 Check mac_pass_command_to_system and mac_pass_control_to_system here.
16168 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
16169 for window repositioning.
16170
161712007-08-08 Glenn Morris <rgm@gnu.org>
16172
16173 * Replace `iff' in doc-strings and comments.
16174
161752007-08-07 Chong Yidong <cyd@stupidchicken.com>
16176
16177 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
16178
161792007-08-07 Martin Rudalics <rudalics@gmx.at>
16180
16181 * fileio.c (Finsert_file_contents): Run format-decode and
16182 after_insert_file_functions on entire buffer when REPLACE is
16183 non-nil and inhibit modification_hooks and point_motion_hooks.
16184 For consistency, run after_insert_file_functions iff something
16185 got inserted. Move signal_after_change and update_compositions
16186 after code running after_insert_file_functions. Make sure that
16187 undo_list doesn't record intermediate steps of the decoding process.
16188
161892007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16190
16191 * emacs.c (main)
16192 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
16193 Call malloc_enable_thread on interactive startup.
16194
16195 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
16196 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
16197 [USE_PTHREAD]: Conditionalize with it.
16198 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
16199 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
16200 New functions.
16201
162022007-08-06 Chong Yidong <cyd@stupidchicken.com>
16203
16204 * xdisp.c (redisplay_window): When restoring original buffer
16205 position, make sure it is still valid.
16206
16207 * image.c (png_load): Ignore png-supplied background color.
16208
162092007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16210
16211 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
16212 Use kCFAbsoluteTimeIntervalSince1970.
16213
16214 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
16215 New variable.
16216 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
16217 event loop should be quit.
16218 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
16219 Quit dialog event loop if quit_dialog_event_loop is set.
16220
16221 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
16222 (Selection): New typedef. Use instead of ScrapRef.
16223 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
16224 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
16225 (mac_clear_selection): Rename from clear_scrap.
16226 (get_flavor_type_from_symbol): New argument SEL and subsume function of
16227 scrap_has_target_type. All uses changed.
16228 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
16229 (mac_selection_has_target_p): New functions.
16230 (mac_put_selection_value): Rename from put_scrap_string.
16231 (mac_get_selection_value): Rename from get_scrap_string.
16232 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
16233 (put_scrap_private_timestamp, scrap_has_target_type)
16234 (get_scrap_private_timestamp): Remove functions.
16235 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
16236 (x_own_selection, x_get_local_selection):
16237 Use mac_valid_selection_value_p.
16238 (x_own_selection): Don't use put_scrap_private_timestamp.
16239 Record OWNERSHIP-INFO into Vselection_alist instead.
16240 (x_get_local_selection): Don't check type if request is local.
16241 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
16242 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
16243
162442007-08-04 Jan Djärv <jan.h.d@swipnet.se>
16245
16246 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
16247 add comment explaining why.
16248
162492007-08-03 Richard Stallman <rms@gnu.org>
16250
16251 * fileio.c (Fvisited_file_modtime): Use make_time.
16252
162532007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
16254
16255 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
16256 build.
16257
162582007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
16259
16260 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
16261
162622007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
16263
16264 * puresize.h (BASE_PURESIZE): Increase to 1130000.
16265
162662007-07-30 Richard Stallman <rms@gnu.org>
16267
16268 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
16269
162702007-07-29 Jan Djärv <jan.h.d@swipnet.se>
16271
16272 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
16273
162742007-07-28 Nick Roberts <nickrob@snap.net.nz>
16275
16276 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
16277 remote default-directory.
16278
16279 * buffer.c (mode-line-format): Update doc string.
16280
162812007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16282
16283 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
16284 scroll bar gap.
16285 (x_scroll_bar_create): Set bar->fringe_extended_p.
16286 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
16287 on frame edge. Check fringe background extension. Don't clear
16288 extended fringe background area.
16289
16290 * w32term.h (struct scroll_bar): New member fringe_extended_p.
16291 (w32_fill_area): Enclose multiple statements with do ... while (0).
16292
16293 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
16294 Extend fringe background to scroll bar gap.
16295 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
16296 Set bar->fringe_extended_p.
16297 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
16298 Put leftmost/rightmost scroll bars on frame edge. Check fringe
16299 background extension. Don't clear extended fringe background area.
16300
16301 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
16302 New member fringe_extended_p.
16303
163042007-07-25 Glenn Morris <rgm@gnu.org>
16305
16306 * Relicense all FSF files to GPLv3 or later.
16307
16308 * COPYING: Switch to GPLv3.
16309
163102007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
16311
16312 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
16313
16314 * data.c (Finteractive_form): Check for the presence of an
16315 `interactive-form' symbol property more thoroughly.
16316
16317 * data.c (Finteractive_form): Use an `interactive-form' property if
16318 present, analogous to the function-documentation property.
16319
163202007-07-24 Jason Rumney <jasonr@gnu.org>
16321
16322 * w32fns.c (x_real_positions): Get real position from OS instead of
16323 calculating it.
16324
163252007-07-23 Jason Rumney <jasonr@gnu.org>
16326
16327 * filelock.c (current_lock_owner): Allow for @ sign in username.
16328
163292007-07-22 Nick Roberts <nickrob@snap.net.nz>
16330
16331 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
16332 remote default-directory.
16333
16334 * buffer.c (mode-line-format): Describe above case in doc string.
16335
163362007-07-20 Eli Zaretskii <eliz@gnu.org>
16337
16338 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
16339 Define if not defined.
16340
163412007-07-18 Jason Rumney <jasonr@gnu.org>
16342
16343 * w32proc.c (w32_executable_type): Handle 64 bit executables.
16344
163452007-07-18 Richard Stallman <rms@gnu.org>
16346
16347 * data.c (Fsetq_default): Doc fix.
16348
16349 * eval.c (Fsetq): Doc fix.
16350
163512007-07-18 Juanma Barranquero <lekktu@gmail.com>
16352
16353 * coding.c (Ffind_operation_coding_system):
16354 * eval.c (For, Fand): Doc fixes.
16355 Reported by Johan Bockgård.
16356
163572007-07-18 Jan Djärv <jan.h.d@swipnet.se>
16358
16359 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
16360
16361 * xterm.h: Declare x_ewmh_activate_frame.
16362
16363 * xterm.c (x_ewmh_activate_frame): New function.
16364 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
16365
163662007-07-17 Martin Rudalics <rudalics@gmx.at>
16367
16368 * window.c (Fdisplay_buffer): If largest or LRU window is the
16369 only window, split it even if it is not eligible for splitting.
16370 This restores the original behavior broken by the 2007-07-15
16371 change.
16372
163732007-07-17 Glenn Morris <rgm@gnu.org>
16374
16375 * abbrev.c (abbrev_check_chars): New function.
16376 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
16377 Call abbrev_check_chars to check abbrev characters are word
16378 constituents. Doc fix.
16379
163802007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
16381
16382 * process.c (Fstart_process, Fmake_network_process)
16383 (read_process_output): Fix up last changes.
16384
163852007-07-16 Eli Zaretskii <eliz@gnu.org>
16386
16387 * makefile.w32-in (clean): Don't delete *~.
16388
163892007-07-16 Andreas Schwab <schwab@suse.de>
16390
16391 * window.c (Fdisplay_buffer): Use NILP.
16392 (Fset_window_scroll_bars): Likewise.
16393
163942007-07-15 Martin Rudalics <rudalics@gmx.at>
16395
16396 * window.c (window_min_size_2): New function.
16397 (window_min_size_1, size_window, Fdisplay_buffer)
16398 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
16399 windows without mode- or header-lines when window-min-height is
16400 too small.
16401 (size_window): Reset nodelete_p after testing it, following an
16402 earlier note by Kim F. Storm.
16403 (display_buffer): Do not set split_height_threshold to twice the
16404 value of window_min_height to avoid changing the value of a
16405 customizable variable. Rather explicitly check whether the
16406 height of the window that shall be splitted is at least as large
16407 as split_height_threshold.
16408 (Fwindow_full_width_p): New defun.
16409 (syms_of_window): Defsubr it.
16410
16411 * window.h: Add EXFUN for Fwindow_full_width_p.
16412
164132007-07-14 Jason Rumney <jasonr@gnu.org>
16414
16415 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
16416
164172007-07-14 Richard Stallman <rms@gnu.org>
16418
16419 * eval.c (maybe_call_debugger): New function.
16420 (find_handler_clause): Use maybe_call_debugger.
16421 Call it when the handler says `debug'.
16422 Eliminate DEBUGGER_VALUE_PTR.
16423 (Fsignal): Eliminate debugger_value.
16424 (Qdebug): New variable.
16425 (syms_of_eval): Initialize it.
16426
164272007-07-14 Juanma Barranquero <lekktu@gmail.com>
16428
16429 * eval.c (Fprogn):
16430 * keyboard.c (Ftrack_mouse):
16431 * print.c (Fwith_output_to_temp_buffer):
16432 * window.c (Fsave_window_excursion): Doc fix.
16433
164342007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
16435
16436 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
16437
164382007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
16439
16440 * process.h (struct Lisp_Process): Turn slots infd, outfd,
16441 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
16442 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
16443 read_output_delay, and read_output_skip from Lisp_Objects to ints.
16444 Remove unused encoding_carryover.
16445 * process.c: Adjust all functions accordingly.
16446
164472007-07-12 Richard Stallman <rms@gnu.org>
16448
16449 * term.c: Include unistd.h only if HAVE_UNISTD_H.
16450
164512007-07-11 Jason Rumney <jasonr@gnu.org>
16452
16453 * makefile.w32-in (LIBS): Include OLE32.
16454
16455 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
16456 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
16457
164582007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
16459
16460 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
16461 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
16462 from a Lisp_Object into a bare pointer.
16463 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
16464 Adjust the code correspondingly.
16465
16466 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
16467
16468 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
16469 (term_show_mouse_face): Remove unused var `j'.
16470 (handle_one_term_event): Remove unused vars `i' and `j'.
16471 Don't cast return value of ttyname since it's not necessary.
16472
164732007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
16474
16475 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
16476 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
16477
16478 * fns.c (map_char_table): Use an array of int for `indices' rather than
16479 an array of Lisp_Objects (which are only ever integers anyway).
16480 (Fmap_char_table): Update caller.
16481 * lisp.h: Update prototype.
16482 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
16483 * fontset.c (Ffontset_info):
16484 * casetab.c (set_case_table): Update callers.
16485
16486 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
16487
16488 * keymap.c (struct accessible_keymaps_data)
16489 (struct where_is_internal_data): New structures.
16490 (accessible_keymaps_1, where_is_internal_1): Use them to change
16491 interface to adhere to the one used by map_keymap.
16492 (Faccessible_keymaps, where_is_internal): Use map_keymap.
16493 (accessible_keymaps_char_table, where_is_internal_2): Remove.
16494
16495 * keymap.h (map_keymap_function_t): More informative prototype.
16496
164972007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
16498
16499 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
16500 (looking_at_1): Don't change search_regs and last_thing_searched
16501 if `inhibit-changing-match-data' is non-nil.
16502 (string_match_1, search_buffer, set_search_regs): Likewise.
16503 (syms_of_search): Add Lisp level definition for
16504 `inhibit-changing-match-data' and set it to nil.
16505 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
16506 start and end of the match, instead of using values in search_regs.
16507
165082007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
16509
16510 * minibuf.c (Fcompleting_read): New value `confirm-only'
16511 for `require-match'.
16512
165132007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
16514
16515 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
16516 part of the 2007-06-27 change to syms_of_fileio.
16517
165182007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16519
16520 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
16521 Check WINDOWP before using XWINDOW. Consolidate return statements.
16522
165232007-06-27 Richard Stallman <rms@gnu.org>
16524
16525 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
16526
165272007-06-27 Juanma Barranquero <lekktu@gmail.com>
16528
16529 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
16530
165312007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16532
16533 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
16534 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
16535 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
16536 (_free_internal, memalign): Use them.
16537 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
16538 Initialize to PTHREAD_MUTEX_INITIALIZER.
16539 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
16540 (morecore_nolock): Rename from morecore. All uses changed.
16541 Use only nolock versions of internal allocation functions.
16542 (_malloc_internal_nolock, _realloc_internal_nolock)
16543 (_free_internal_nolock): New functions created from
16544 _malloc_internal, _realloc_internal, and _free_internal.
16545 (_malloc_internal, _realloc_internal, _free_internal): Use them.
16546 Copy hook value to automatic variable before its use.
16547 (memalign): Copy hook value to automatic variable before its use.
16548
165492007-06-26 Kenichi Handa <handa@m17n.org>
16550
16551 * coding.c (Ffind_operation_coding_system): Docstring improved.
16552 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
16553
165542007-06-25 David Kastrup <dak@gnu.org>
16555
16556 * keymap.c (Fcurrent_active_maps): Add `position' argument.
16557 (Fwhere_is_internal): Adjust call to `current-active-maps' to
16558 cater for additional parameter.
16559
16560 * keymap.h: Adjust number of parameters to `current-active-maps'.
16561
16562 * doc.c (Fsubstitute_command_keys): Adjust call of
16563 `current-active-maps'.
16564
165652007-06-25 David Kastrup <dak@gnu.org>
16566
16567 * callint.c (Fcall_interactively): Make the parsing of interactive
16568 specs somewhat more readable.
16569
165702007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16571
16572 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
16573 to scroll bar gap also when bitmap fills fringe. Draw only foreground
16574 if extended background has already been filled.
16575
165762007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16577
16578 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
16579 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
16580
16581 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
16582 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
16583 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
16584 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
16585 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
16586 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
16587 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
16588 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
16589 Run timers during dialog popup.
16590 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
16591
165922007-06-21 Jason Rumney <jasonr@gnu.org>
16593
16594 * image.c (convert_mono_to_color_image): Swap fore and background.
16595
165962007-06-20 Jason Rumney <jasonr@gnu.org>
16597
16598 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
16599 (w32_free_bdf_font): Unmap memory not handle.
16600
166012007-06-20 Sam Steingold <sds@gnu.org>
16602
16603 * gmalloc.c (__morecore): Fix the declaration to comply with the
16604 definition.
16605
166062007-06-20 Juanma Barranquero <lekktu@gmail.com>
16607
16608 * w32term.c (w32_delete_display): Remove leftover declaration.
16609 (w32_define_cursor, w32_initialize): Make static.
16610
16611 * w32.c (_wsa_errlist): Fix typo in error message.
16612 (init_environment): Ignore any environment variable from the
16613 registry having a null value.
16614
166152007-06-20 Glenn Morris <rgm@gnu.org>
16616
16617 * Makefile.in (LIBGIF): Default to -lgif.
16618
166192007-06-17 Jason Rumney <jasonr@gnu.org>
16620
16621 * w32menu.c (add_menu_item): Don't use multibyte string functions on
16622 unicode strings.
16623
166242007-06-16 Juanma Barranquero <lekktu@gmail.com>
16625
16626 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
16627 Fix typo in docstring.
16628
166292007-06-16 Eli Zaretskii <eliz@gnu.org>
16630
16631 * w32menu.c (add_menu_item): Escape `&' characters in menu items
16632 and their keybindings.
16633
166342007-06-15 Chong Yidong <cyd@stupidchicken.com>
16635
16636 * composite.c (update_compositions): Fix last fix.
16637
166382007-06-14 Jason Rumney <jasonr@gnu.org>
16639
16640 * w32.c (get_process_times_fn): New function pointer.
16641 (globals_of_w32): Intialize it if present in kernel32.dll.
16642 (w32_get_internal_run_time): New function.
16643
16644 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
16645
166462007-06-14 Kenichi Handa <handa@etlken.m17n.org>
16647
16648 * composite.c (update_compositions): Check the validness of
16649 compositions.
16650
166512007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16652
16653 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
16654 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
16655
16656 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
16657 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
16658
16659 * macgui.h (USE_MAC_TOOLBAR): New define.
16660
16661 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
16662 Return immediately unless popup is activated.
16663
16664 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
16665 background to scroll bar gap.
16666 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
16667 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
16668 scroll bars on frame edge. Check fringe background extension.
16669 Don't clear extended fringe background area.
16670 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
16671 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
16672 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
16673 [USE_MAC_TOOLBAR]: New macros.
16674 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
16675 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
16676 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
16677 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
16678 [USE_MAC_TOOLBAR]: New functions.
16679 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
16680 manually if previous repositioning has failed.
16681 (mac_handle_keyboard_event): Use precomputed event kind.
16682 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
16683 as tool bar item click. Handle mouse movement over tool bar items.
16684
16685 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
16686 toolbar_win_gravity.
16687 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
16688 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
16689 Add externs.
16690
16691 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
16692 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
16693
166942007-06-14 Chong Yidong <cyd@stupidchicken.com>
16695
16696 * image.c (search_image_cache): Remove unused variable.
16697
166982007-06-13 Chong Yidong <cyd@stupidchicken.com>
16699
16700 * xfns.c, xmenu.c: Link to xaw3d if available.
16701
167022007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16703
16704 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
16705 frame_foreground and frame_background.
16706
16707 * image.c (lookup_image): Save frame foreground and background colors.
16708 (search_image_cache): Check if saved and current frame colors match.
16709
167102007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
16711
16712 * regex.c (regex_compile): Remove the `regnum' counter.
16713 Use bufp->re_nsub instead. Add support for \(?N:RE\).
16714
167152007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
16716
16717 * term.c: Include intervals.h to declare Fget_text_property.
16718
167192007-06-10 Jason Rumney <jasonr@gnu.org>
16720
16721 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
16722
167232007-06-08 Juanma Barranquero <lekktu@gmail.com>
16724
16725 * callint.c (Fcall_interactively):
16726 * editfns.c (Fdelete_and_extract_region):
16727 * fileio.c (Fread_file_name):
16728 * fns.c (Fmapconcat):
16729 * keyboard.c (cmd_error_internal):
16730 * keymap.c (Fkey_description):
16731 * lread.c (openp):
16732 * minibuf.c (read_minibuf):
16733 * search.c (wordify):
16734 * sunfns.c (sel_read):
16735 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
16736 * xfns.c (x_default_scroll_bar_color_parameter):
16737 * xmenu.c (menu_help_callback):
16738 * xselect.c (Fx_get_atom_name):
16739 * xterm.c (x_term_init): Use empty_unibyte_string.
16740
167412007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
16742
16743 * alloc.c (init_strings): Initialize canonical empty strings.
16744 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
16745 canonical empty string when the requested size is 0.
16746
16747 * emacs.c (empty_unibyte_string): Rename from empty_string.
16748 (empty_multibyte_string): New canonical empty string.
16749 (syms_of_emacs): Don't initialize empty_string.
16750
16751 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
16752 string, if appropriate.
16753 (empty_unibyte_string, empty_multibyte_string): New externs.
16754 (empty_string): Remove extern.
16755
16756 * lread.c (syms_of_lread): Use empty_unibyte_string.
16757
167582007-06-07 Jason Rumney <jasonr@gnu.org>
16759
16760 * s/ms-w32.h: Don't define HAVE_TZNAME.
16761
16762 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
16763
167642007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16765
16766 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
16767
16768 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
16769 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
16770
16771 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
16772 Don't call next handler.
16773 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
16774 Remove argument. Install handler to application.
16775 (set_frame_menubar): Don't change deep_p.
16776 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
16777 FRAME_OUTER_TO_INNER_DIFF_Y.
16778 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
16779 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
16780 [HAVE_DIALOGS]: New macros.
16781 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
16782 Use them.
16783 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
16784
16785 * macselect.c [MAC_OSX] (install_service_handler): Rename from
16786 init_service_handler. All callers changed. Return OSStatus value.
16787
16788 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
16789 All callers changed so as not to call SetPortWindowPort.
16790 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
16791 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
16792 mac_draw_string_common.
16793 (mac_draw_image_string_qd): Likewise.
16794 (mac_draw_string_common): Use them. Add INLINE.
16795 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
16796 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
16797 GetGlobalMouse.
16798 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
16799 and FRAME_OUTER_TO_INNER_DIFF_Y.
16800 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
16801 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
16802 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
16803 repositioning window to mac_handle_window_event.
16804 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
16805 saving window location to mac_handle_window_event
16806 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
16807 (install_menu_target_item_handler): Remove argument in extern.
16808 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
16809 Also accept command events.
16810 (do_keystroke): New function created from XTread_socket.
16811 (init_command_handler): Remove functions.
16812 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
16813 and save window location by kEventWindowShowing and kEventWindowHiding
16814 handlers here. Don't call next handler for window state change and
16815 focus events.
16816 (mac_handle_application_event, mac_handle_keyboard_event)
16817 [TARGET_API_MAC_CARBON]: New functions.
16818 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
16819 kEventWindowShowing and kEventWindowHiding events. Move installation
16820 of mouse, font, text input and menu target item handlers to
16821 install_application_handler.
16822 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
16823 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
16824 New function.
16825 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
16826 Register it.
16827 (XTread_socket) [TARGET_API_MAC_CARBON]:
16828 Consolidate SendEventToEventTarget calls.
16829 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
16830 Move application activation handler to mac_handle_application_event.
16831 Move keyboard handler to mac_handle_keyboard_event.
16832 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
16833 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
16834 init_command_handler. Call install_application_handler.
16835
16836 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
16837 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
16838
168392007-06-07 Glenn Morris <rgm@gnu.org>
16840
16841 * emacs.c (main): Use `emacs-copyright' in --version output.
16842
168432007-06-06 Chong Yidong <cyd@stupidchicken.com>
16844
16845 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
16846
168472007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16848
16849 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
16850
16851 * macgui.h: Replace WindowPtr with WindowRef.
16852
16853 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
16854 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
16855 Replace ControlHandle with ControlRef.
16856 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
16857
16858 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
16859 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
16860 Replace ControlHandle with ControlRef.
16861 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
16862 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
16863
16864 * macterm.h (struct scroll_bar): Rename member control_handle_low
16865 and control_handle_high to control_ref_low and control_ref_high.
16866 All uses changed.
16867 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
16868 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
16869 respectively. All uses changed.
16870 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
16871 (install_window_handler, remove_window_handler): Replace WindowPtr
16872 with WindowRef in externs.
16873
168742007-06-05 Juanma Barranquero <lekktu@gmail.com>
16875
16876 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
16877
168782007-06-03 Nick Roberts <nickrob@snap.net.nz>
16879
16880 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
16881
16882 * frame.c (Fmouse_position, Fmouse_pixel_position):
16883 Condition on HAVE_GPM too.
16884
16885 * term.c (term_mouse_highlight): Remove unused variables.
16886 (Fterm_open_connection): Set gpm_zerobased to 1.
16887 (term_mouse_movement, term_mouse_click, handle_one_term_event):
16888 Use zero based co-ordinates.
16889 (handle_one_term_event): Report a drag as mouse movement too.
16890
16891 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
16892
168932007-06-03 Chong Yidong <cyd@stupidchicken.com>
16894
16895 * image.c (search_image_cache): New function. Require background
16896 color match if background color is unspecified in the image spec.
16897 (uncache_image, lookup_image): Use it.
16898
168992007-06-01 Juanma Barranquero <lekktu@gmail.com>
16900
16901 * window.c (Fshrink_window): Reflow docstring.
16902
169032007-06-02 Chong Yidong <cyd@stupidchicken.com>
16904
16905 * Version 22.1 released.
16906
169072007-06-01 Richard Stallman <rms@gnu.org>
16908
16909 * xfns.c (x_encode_text): Add GCPRO.
16910
169112007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16912
16913 * xfns.c (x_set_name_internal): Save encoded name before
16914 x_encode_text in case string data is relocated.
16915
169162007-05-31 Richard Stallman <rms@gnu.org>
16917
16918 * buffer.c (syms_of_buffer): Doc fix.
16919
169202007-05-30 Nick Roberts <nickrob@snap.net.nz>
16921
16922 * sysdep.c (init_sys_modes): Add rather than replace with
16923 O_NONBLOCK.
16924
16925 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
16926 term_mouse_moveto.
16927
16928 * termhooks.h (term_mouse_moveto): New extern.
16929
16930 * term.c (mouse_face_window): Rename...
16931 (Qmouse_face_window): ...to this.
16932 (term_show_mouse_face, term_clear_mouse_face)
16933 (term_mouse_highlight): Use Qmouse_face_window.
16934 (term_mouse_moveto): New function.
16935 (term_mouse_position): Make it work.
16936 (syms_of_term): Uncomment assignment to mouse_position_hook.
16937 Staticpro Qmouse_face_window.
16938
169392007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16940
16941 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
16942 around current_column call.
16943
169442007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
16945
16946 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
16947 * xdisp.c (next_element_from_buffer):
16948 * window.c (delete_window):
16949 * term.c (term_mouse_highlight):
16950 * msdos.c (getdefdir):
16951 * macterm.c (mac_create_bitmap_from_bitmap_data)
16952 (init_font_name_table):
16953 * fns.c (Fsxhash):
16954 * data.c (Fmake_local_variable):
16955 * ccl.c (ccl_driver): Likewise.
16956
169572007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16958
16959 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
16960 Call mac_wakeup_from_rne on window size change.
16961
169622007-05-25 Chong Yidong <cyd@stupidchicken.com>
16963
16964 * image.c (uncache_image): Fix typo.
16965
169662007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
16967
16968 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
16969
169702007-05-22 Richard Stallman <rms@gnu.org>
16971
16972 * xterm.c (x_connection_closed): Remove NO_RETURN.
16973
169742007-05-22 Martin Rudalics <rudalics@gmx.at>
16975
16976 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
16977
169782007-05-21 Chong Yidong <cyd@stupidchicken.com>
16979
16980 * image.c (uncache_image): New function.
16981 (Fimage_refresh): New function.
16982
169832007-05-20 Jan Djärv <jan.h.d@swipnet.se>
16984
16985 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
16986
169872007-05-20 Nick Roberts <nickrob@snap.net.nz>
16988
16989 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
16990 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
16991
169922007-05-20 Nick Roberts <nickrob@snap.net.nz>
16993
16994 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
16995 conditional on [HAVE_GPM_H].
16996
169972007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
16998
16999 * syntax.c (skip_chars): Update syntax-table only after we checked that
17000 the new location is valid.
17001
170022007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17003
17004 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
17005 mac_get_window_bounds.
17006
170072007-05-20 Nick Roberts <nickrob@snap.net.nz>
17008
17009 * Makefile.in (LIBGPM): Allow it to be set from configure.
17010 If set then link Emacs with it.
17011
17012 * config.in: Regenerate.
17013
17014 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
17015 New externs.
17016
17017 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
17018 Include gpm.h.
17019 (handle_one_term_event, term_gpm): New externs.
17020
17021 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
17022 and allow it to be interrupted by SIGIO.
17023
17024 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
17025 (wait_reading_process_output): Wait on gpm_fd too.
17026 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
17027 (add_gpm_wait_descriptor_called_flag): New variable.
17028 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
17029
17030 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
17031 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
17032 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
17033 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
17034 (make_lispy_event): Add case GPM_CLICK_EVENT.
17035 (read_avail_input): Handle mouse input.
17036
17037 * term.c (write_glyphs_with_face): New function.
17038 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
17039 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
17040 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
17041 (mouse_face_face_id, term_gpm, pos_x, pos_y)
17042 (last_mouse_x, last_mouse_y): New variables.
17043 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
17044 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
17045 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
17046 (Fterm_close_connection): New functions.
17047 (term_init): Initialise mouse_face_window.
17048
170492007-05-19 Chong Yidong <cyd@stupidchicken.com>
17050
17051 * xdisp.c (redisplay_window): If first window line is a
17052 continuation line, recompute the new window start instead of
17053 recentering.
17054
170552007-05-18 Glenn Morris <rgm@gnu.org>
17056
17057 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
17058 Suggested by Alfred M. Szmidt <ams@gnu.org>.
17059
170602007-05-17 Glenn Morris <rgm@gnu.org>
17061
17062 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
17063
170642007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17065
17066 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
17067 dead key repeat and up events.
17068
170692007-05-14 Chong Yidong <cyd@stupidchicken.com>
17070
17071 * image.c (pbm_load): Check image size for monochrome pbm.
17072
170732007-05-13 Chong Yidong <cyd@stupidchicken.com>
17074
17075 * xterm.c (XTread_socket): Revert last change.
17076
170772007-05-12 Chong Yidong <cyd@stupidchicken.com>
17078
17079 * image.c (pbm_load): Correctly check image size for greyscale pbm.
17080
17081 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
17082
170832007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
17084
17085 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
17086 mixup (YAILOM).
17087
170882007-05-07 Andreas Schwab <schwab@suse.de>
17089
17090 * keymap.c (Flookup_key): Fix typo in last change.
17091
170922007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
17093
17094 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
17095 mapping for unibyte strings.
17096
170972007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17098
17099 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
17100 (Fx_popup_dialog) [MAC_OSX]: Likewise.
17101
171022007-04-29 Richard Stallman <rms@gnu.org>
17103
17104 * insdel.c (replace_range): For undo, record insertion first.
17105
171062007-04-29 Andreas Schwab <schwab@suse.de>
17107
17108 * lisp.h (VECSIZE): Use OFFSETOF.
17109
171102007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17111
17112 * xdisp.c (try_window_reusing_current_matrix): Fix number of
17113 disabled lines.
17114
171152007-04-28 Richard Stallman <rms@gnu.org>
17116
17117 * lread.c (read_escape): In a string, \s is always space.
17118
171192007-04-27 Jan Djärv <jan.h.d@swipnet.se>
17120
17121 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
17122
17123 * gtkutil.c (xg_update_menubar, create_menus): Create empty
17124 submenu for menu bar items.
17125
17126See ChangeLog.10 for earlier changes.
17127
17128;; Local Variables:
17129;; coding: utf-8
17130;; add-log-time-zone-rule: t
17131;; bug-reference-url-format: "http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=%s"
17132;; End:
17133
76b6f707 17134 Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
aac0c6e3
MR
17135
17136 This file is part of GNU Emacs.
17137
17138 GNU Emacs is free software: you can redistribute it and/or modify
17139 it under the terms of the GNU General Public License as published by
17140 the Free Software Foundation, either version 3 of the License, or
17141 (at your option) any later version.
17142
17143 GNU Emacs is distributed in the hope that it will be useful,
17144 but WITHOUT ANY WARRANTY; without even the implied warranty of
17145 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17146 GNU General Public License for more details.
17147
17148 You should have received a copy of the GNU General Public License
17149 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
17150
17151;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40