Update the list of utilities needed by lisp/Makefile and for bootstrapping.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
fb098a4b
CY
12008-11-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2
3 * xterm.c (x_draw_glyph_string): For stretch glyphs, don't call
4 x_draw_glyph_string_background.
5
6 * w32term.c (x_draw_glyph_string): Likewise.
7
ce952b6e
CY
82008-11-15 Chong Yidong <cyd@stupidchicken.com>
9
10 * xterm.c (x_draw_glyph_string): Stop drawing the background of
11 the next glyph string once past the overhang width.
12
13 * nsterm.m (ns_draw_glyph_string): Likewise.
14
15 * w32term.c (x_draw_glyph_string): Likewise.
16
26ea7079
CY
172008-11-14 Fabrice Popineau <fabrice.popineau@supelec.fr> (tiny change)
18
19 * fileio.c (Finsert_file_contents): Decrement specpdl_ptr to avoid
20 double file close.
21
1c33c906
MR
222008-11-14 Martin Rudalics <rudalics@gmx.at>
23
24 * window.c (window_loop): In DELETE_BUFFER_WINDOWS case, reset
25 dedicated status of window before attempting to display another
26 buffer in it.
27
8fc29035
JB
282008-11-14 Juanma Barranquero <lekktu@gmail.com>
29
30 * msdos.c (Fmsdos_long_file_names):
31 (syms_of_msdos) <dos-unsupported-char-glyph>:
32 * dosfns.c (Fint86): Fix typos in docstrings.
33
55fb4286
EZ
342008-11-14 Eli Zaretskii <eliz@gnu.org>
35
36 * makefile.w32-in (OBJ1, WIN32OBJ): Fix whitespace.
37
3fda0315
KY
382008-11-14 Katsumi Yamaoka <yamaoka@jpl.org>
39
40 * puresize.h (BASE_PURESIZE): Increase to 1260000.
41
7e849c17
CY
422008-11-12 Michal Nazarewicz <mina86@tlen.pl> (tiny change)
43
44 * frame.c (x_set_alpha): Set alpha to -1 if nil given.
45
46 * frame.h: Negative alpha means "don't touch".
47
48 * w32term.c (x_set_frame_alpha): Do nothing if alpha is negative.
49
50 * xterm.c (x_set_frame_alpha): Do nothing if alpha is negative.
51
b9fd67bd
DN
522008-11-12 Dan Nicolaescu <dann@ics.uci.edu>
53
54 * hftctl.c:
55 * chpdef.h:
56 * acldef.h: Remove files used only for systems no longer supported.
57
58 * Makefile.in: Fix .o alphabetical ordering.
59 (hftctl.o): Remove dependency, file removed.
60 (keymap.o, print.o): Depend on charset.h.
61
d5998e03
KH
622008-11-10 Kenichi Handa <handa@m17n.org>
63
64 * character.c (Fget_byte): Fix and make it faster for unibyte
65 target.
66
be70e183
CY
672008-11-08 Chong Yidong <cyd@stupidchicken.com>
68
69 * dired.c (file_name_completion): If completion_ignore_case is
70 enabled, ignore case when checking completion-regexp-list.
71
7cf94eac
EZ
722008-11-08 Eli Zaretskii <eliz@gnu.org>
73
74 * vm-limit.c (get_lim_data): Fix last change.
75
ee107a89
KH
762008-11-08 Kenichi Handa <handa@m17n.org>
77
78 * character.c (Fget_byte): New function.
79 (syms_of_character): Defsubr Fget_byte.
80
5fd15622
CY
812008-11-07 Chong Yidong <cyd@stupidchicken.com>
82
83 * xdisp.c (try_window_reusing_current_matrix): Ensure that window
84 cursor position is valid after scrolling.
85
13d62fad
JB
862008-11-06 Juanma Barranquero <lekktu@gmail.com>
87
88 * fns.c (Frandom): Rename arg N to LIMIT to match the docs; doc fix.
89
a1dd2936
GM
902008-11-06 Glenn Morris <rgm@gnu.org>
91
92 * xterm.c (handle_one_xevent): Don't let popup menus cause
93 mouse-autoselect-window related window switching. (Bug#1261)
94
860cd236
CY
952008-11-04 David Smith <davidsmith@acm.org> (tiny change)
96
97 * xterm.c (xim_close_dpy): Avoid double-free on X11R6 XIM.
98
653a3150
AS
992008-11-04 Andreas Schwab <schwab@suse.de>
100
101 * xfns.c (Fx_wm_set_size_hint): Add missing return value.
102
870f5cac
CY
1032008-11-03 Chong Yidong <cyd@stupidchicken.com>
104
105 * xfns.c (Fx_wm_set_size_hint): New function.
106
1e02f3cb
MR
1072008-11-03 Martin Rudalics <rudalics@gmx.at>
108
109 * textprop.c (Fprevious_single_char_property_change): Return 0
110 when there's no change in a string. (Bug#1301)
111
e630dfc6
MR
1122008-11-02 Martin Rudalics <rudalics@gmx.at>
113
114 * frame.c (do_switch_frame): New argument NORECORD passed to
115 Fselect_window.
116 (Fselect_frame): New argument NORECORD passed to
117 do_switch_frame.
118 (Fset_frame_selected_window): New argument NORECORD passed to
119 Fselect_frame.
120 (Fhandle_switch_frame, Fdelete_frame): Handle NORECORD argument
121 in call of do_switch_frame.
122 (Fset_mouse_position, Fset_mouse_pixel_position, Fraise_frame):
123 Handle NORECORD argument in call of Fselect_frame.
124 * lisp.h (do_switch_frame, Fselect_frame)
125 (Fset_frame_selected_window): Adjust declarations.
126 * window.c (select_frame_norecord): New function.
127 (run_window_configuration_change_hook): Use it and call
128 Fselect_frame with NORECORD set.
129 (Fselect_window): Pass NORECORD to Fselect_frame.
130 (Fset_window_configuration): Handle NORECORD argument in call of
131 do_switch_frame.
132 * minibuf.c (choose_minibuf_frame): Handle NORECORD in call of
133 Fset_frame_selected_window.
134 * keyboard.c (command_loop_1): Handle NORECORD in call of
135 Fselect_frame (currently ifdefd).
136
9020b223
GM
1372008-11-02 Ulrich Mueller <ulm@kph.uni-mainz.de>
138
139 * emacs.c (USAGE2): Untabify.
140
793ffee8
SM
1412008-11-01 Stefan Monnier <monnier@iro.umontreal.ca>
142
143 * composite.c (fill_gstring_header): Fix copy/paste typo.
144
ab6d1131
MR
1452008-10-31 Martin Rudalics <rudalics@gmx.at>
146
147 * window.c (Fnext_window, Fprevious_window): Rewrite doc-string.
148 (Fother_window): Rename argument and rewrite doc-string.
149 (select_window_norecord): Fix return value. (Bug#1276)
150
601a9cf1
JB
1512008-10-30 Juanma Barranquero <lekktu@gmail.com>
152
153 * w32fns.c (x_create_tip_frame): Prevent default foreground color for
154 new frames overriding foreground for tooltips. Based on similar patch
155 from Martin Rudalics <rudalics@gmx.at>. (Bug#1032)
156
813b0652
CY
1572008-10-29 Chong Yidong <cyd@stupidchicken.com>
158
159 * emacs.c (Fdaemon_initialized): Initialize nfd.
160
4414f58f
MR
1612008-10-29 Martin Rudalics <rudalics@gmx.at>
162
163 * window.c (Fwindow_height, Fdelete_window, set_window_buffer)
164 (Fwindow_text_height): Clarify doc-strings.
165 * xdisp.c (syms_of_xdisp): Mention set-window-buffer in
166 doc-string of window-scroll-functions.
167
ecdcaa09
RS
1682008-10-28 Reiner Steib <Reiner.Steib@gmx.de>
169
170 * category.c (syms_of_category): Fix typo in docstring.
171
23fe745a
JB
1722008-10-28 Juanma Barranquero <lekktu@gmail.com>
173
174 * window.c (Fwindowp, Fwindow_live_p, Fwindow_minibuffer_p)
175 (Fcoordinates_in_window_p, Fscroll_left, Fscroll_right):
176 Fix typos in docstrings.
177
ff808935
DN
1782008-10-28 Dan Nicolaescu <dann@ics.uci.edu>
179
180 * emacs.c (daemon_pipe): Make non-static.
181 (IS_DAEMON): Move definition ...
182 * lisp.h (IS_DAEMON): ... here.
183 (daemon_pipe): Declare.
184 (is_daemon): Remove.
185 * dispnew.c (init_display): Use IS_DAEMON.
186
fc012771
SM
1872008-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
188
189 * xdisp.c (pos_visible_p, redisplay_internal, message3_nolog)
190 (message2_nolog): Check FRAME_INITIAL_P instead of noninteractively.
191
192 * emacs.c (is_daemon): Remove.
193 (main): Don't set is_daemon.
194 (IS_DAEMON): New macro.
195 (Fdaemonp, Fdaemon_initialized): Use it.
601a9cf1 196 (Fdaemon_initialized): Write a char into the pipe to make sure the
fc012771
SM
197 parent exits.
198 (syms_of_emacs): Explicitly initialize daemon_pipe[1].
199
d8bdbe6f
CY
2002008-10-27 Chong Yidong <cyd@stupidchicken.com>
201
d1a072bf
CY
202 * nsterm.m (ns_draw_window_cursor): When hbar cursor is on
203 over-sized glyph, draw it with the default glyph width.
204
e2e325aa
CY
205 * w32term.c (x_draw_bar_cursor): When hbar cursor is on over-sized
206 glyph, draw it with the default glyph width.
207
208 * xterm.c (x_draw_bar_cursor): When hbar cursor is on over-sized
209 glyph, draw it with the default glyph width.
210
d8bdbe6f
CY
211 * xdisp.c (try_scrolling): When computing the distance from the
212 scroll margin to PT, try moving some distance past the window
213 bottom before giving up.
214
7bfac547
MR
2152008-10-27 Martin Rudalics <rudalics@gmx.at>
216
217 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p)
218 (Fset_window_buffer): Explain in doc-string that a window can be
219 "strongly" dedicated to its buffer.
220
4ff029f6
DN
2212008-10-27 Dan Nicolaescu <dann@ics.uci.edu>
222
223 * emacs.c (daemon_name): New variable.
224 (main): Deal with --daemon=SERVER_NAME.
225 (Fdaemonp): Return a name if one was passed to --daemon.
226
5790ef40
DN
2272008-10-26 Romain Francoise <romain@orebokech.com>
228
f9bd0df9 229 * emacs.c (daemon_pipe): New variable.
5790ef40
DN
230 (main): Create a pipe before forking, make the parent exit only after
231 the child has closed its end of the pipe. Move closing the
232 descriptors ...
233 (Fdaemon_initialized): ... here. New function.
234
f5385255
SM
2352008-10-26 Stefan Monnier <monnier@iro.umontreal.ca>
236
4d632321
SM
237 * chartab.c (Foptimize_char_table): Make sure `ascii' doesn't point to
238 the previous unoptimized table.
239
f5385255
SM
240 * window.c (Fset_window_buffer): Undo 2008-10-18 change to re-instate
241 the distinction between non-nil and non-t value of `dedicated'.
242
6c56a0f3
CY
2432008-10-25 Chong Yidong <cyd@stupidchicken.com>
244
245 * keyboard.c (read_char_minibuf_menu_prompt): Ensure that
f5385255 246 read_char_minibuf_menu_text is large enough to hold the menu string.
6c56a0f3 247
fec89261
MR
2482008-10-25 Martin Rudalics <rudalics@gmx.at>
249
250 * window.c (Fget_buffer_window, Fdelete_windows_on)
251 (Freplace_buffer_in_windows): Make buffer argument optional and
252 rename to buffer_or_name.
253
34fcddd0
CY
2542008-10-24 Chong Yidong <cyd@stupidchicken.com>
255
f5385255
SM
256 * xdisp.c (handle_single_display_spec, handle_display_prop):
257 Undo 2005-05-16 change.
34fcddd0
CY
258 (handle_stop): Pop iterator if it's loaded with an empty string.
259 (get_overlay_strings_1): Don't save iterator if it's loaded with
260 an empty string (bug#1201).
261
064766f2
KH
2622008-10-24 Kenichi Handa <handa@m17n.org>
263
264 * ftfont.c (ftfont_otf_features): Fix previous change.
265 (ftfont_otf_capability): Check FeatureList.FeatureCount before
266 calling ftfont_otf_features.
267
f9bd0df9 2682008-10-24 Kenichi Handa <handa@m17n.org>
064766f2
KH
269
270 * font.c (font_match_p): Fix for the case that a vector of
271 characters is in script-representative-chars.
272
1dae9197
MA
2732008-10-24 Michael Albinus <michael.albinus@gmx.de>
274
275 * dbusbind.c (xd_in_read_queued_messages): New variable.
f5385255 276 (XD_SIGNAL1, XD_SIGNAL2, XD_SIGNAL3): New macros. Throw Qdbus_error.
1dae9197
MA
277 (xd_read_queued_messages): Catch Qdbus_error from the macros.
278 (all): Replace xsignal1, xsignal2, xsignal3 by the respective
279 macro. (Bug#1186).
280
f9bd0df9 2812008-10-23 Ali Bahrami <ali_gnu@emvision.com> (tiny change)
9b3362b8
DN
282
283 * s/sol2-10.h: New file.
284
878a4584
JB
2852008-10-23 Juanma Barranquero <lekktu@gmail.com>
286
287 * xdisp.c (fill_glyph_string): Fix typo in source (though the
288 poor beast has survived 9+ years and the jump from xterm.c!).
289
cd265ca6
MR
2902008-10-23 Martin Rudalics <rudalics@gmx.at>
291
292 * buffer.c (Fget_buffer_create): Rename arg to buffer_or_name.
293 Reword doc-string.
f5385255 294 (Fbury_buffer): In doc-string say what happens to the buffer's window.
cd265ca6 295
472a4dc9
JB
2962008-10-23 Juanma Barranquero <lekktu@gmail.com>
297
298 * character.c (syms_of_character) <script-representative-chars>:
299 <unicode-category-table>: Doc fixes.
300
159bd5a2
NF
3012008-10-23 Noah Friedman <friedman@splode.com>
302
303 * coding.c (make_conversion_work_buffer): Check that
304 Vcode_conversion_reused_workbuf is a live buffer, otherwise call
305 Fget_buffer_create.
306
49f9c344
KH
3072008-10-23 Kenichi Handa <handa@m17n.org>
308
309 * font.c (font_add_log): Check the values of extra properties.
310
12bb3111
MR
3112008-10-22 Martin Rudalics <rudalics@gmx.at>
312
313 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
314 Reword doc-string.
315 (Fset_window_parameter): Use NILP.
316 (Fscroll_up, Fscroll_down, Fminibuffer_selected_window)
f5385255 317 (Frecenter): Use "selected" instead of "current" window in doc-strings.
12bb3111 318
bbeb4e99
JB
3192008-10-22 Juanma Barranquero <lekktu@gmail.com>
320
321 * xdisp.c (next_element_from_buffer): Remove bogus xassert condition.
322
3232008-10-22 Adrian Robert <Adrian.B.Robert@gmail.com>
cb83c00b
AR
324
325 * nsfns.m (ns_appkit_version): New function.
326 (x-server-version): Use it.
327 (syms_of_nsfns): Define ns-version-string here, not nsterm.m.
328 (x-server-vendor): Don't check_ns().
329
330 * nsterm.m (syms_of_nsterm): Drop ns-version-string.
331
a9b555d3
JB
3322008-10-22 Juanma Barranquero <lekktu@gmail.com>
333
334 * w32fns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert.
335 Copied from 2005-02-03 change to xfns.c by Kim F. Storm.
336
4626499f
KH
3372008-10-22 Kenichi Handa <handa@m17n.org>
338
e3681952
KH
339 * syntax.c (scan_words): Call word_boundary_p instead of comparing
340 scripts.
341
4626499f
KH
342 * category.c (word_boundary_p): Check scripts instead of charset.
343 Handle nil value in word-separating-categories and
344 word-combining-categories.
345 (syms_of_category): Fix docstrings of word-separating-categories
346 and word-combining-categories.
347
1560f91a
EZ
3482008-10-21 Eli Zaretskii <eliz@gnu.org>
349
350 * coding.c (Fencode_coding_region, Fdecode_coding_region)
351 (Fdecode_coding_string, Fencode_coding_string): Doc fix.
352
f4668441
MR
3532008-10-21 Martin Rudalics <rudalics@gmx.at>
354
355 * buffer.c (Fget_buffer, Fbury_buffer, switch_to_buffer_1):
356 Rename arg "buffer" to "buffer_or_name".
357 (Fkill_buffer): Rename arg "buffer" to "buffer_or_name" and make
358 it optional.
359 (no_switch_window): Remove since the return value is not used.
a9b555d3 360 (Fswitch_to_buffer): Rename arg "buffer" to "buffer_or_name".
f4668441
MR
361 Consider window as dedicated when Fwindow_dedicated_p returns a
362 non-nil value.
363 * lisp.h: Remove prototype for no_switch_window.
364
fd75ddb2
JD
3652008-10-21 Jan Djärv <jan.h.d@swipnet.se>
366
367 * emacs.c (main): Unconditionally set PER_LINUX32 and exec
368 temacs when dumping if HAVE_PERSONALITY_LINUX32 is defined
369
07295713
KH
3702008-10-21 Kenichi Handa <handa@m17n.org>
371
372 * coding.c (detect_coding_charset): For iso-8859-* coding systems,
373 check Vlatin_extra_code_table.
374
712adc82
EZ
3752008-10-20 Eli Zaretskii <eliz@gnu.org>
376
377 * fileio.c (Fset_file_modes): Doc fix.
378
f549eb0b
MA
3792008-10-19 Michael Albinus <michael.albinus@gmx.de>
380
381 * dbusbind.c (XD_OBJECT_TO_DBUS_TYPE): Handle simple type symbols
382 in arrays.
383
aac0c6e3
MR
3842008-10-19 Martin Rudalics <rudalics@gmx.at>
385
386 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
387 Mention kill-buffer in doc-string.
388 (Fset_window_buffer): Reinsert tem check removed in last commit.
389 (Fenlarge_window, Fshrink_window): Have argument names and
390 doc-string follow Elisp manual more closely.
391
3922008-10-18 Eli Zaretskii <eliz@gnu.org>
393
394 * fileio.c (Fset_file_modes): Doc fix.
395
3962008-10-18 Martin Rudalics <rudalics@gmx.at>
397
398 * window.c (Fwindow_width, Fset_window_start)
399 (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter)
f5385255
SM
400 (Fdelete_windows_on, Freplace_buffer_in_windows):
401 Make doc-strings follow code and Elisp manual more closely.
aac0c6e3
MR
402 (Fwindow_dedicated_p): Make window argument optional.
403 (Fset_window_dedicated_p): Rename argument "arg" to "flag".
404 (Fset_window_buffer): Respect any non-nil dedicated value for
405 window. Rename "buffer" argument to "buffer_or_name".
406
4072008-10-18 Ulrich Mueller <ulm@gentoo.org>
408
409 * m/sh3.h: New file, machine description for SuperH.
410
4112008-10-17 Martin Rudalics <rudalics@gmx.at>
412
413 * window.c (Fsplit_window): Rename arg horflag to horizontal.
414
4152008-10-17 Kenichi Handa <handa@m17n.org>
416
417 * ftfont.c (ftfont_otf_features): Fix indexing
418 gsub_gpos->FeatureList.Feature. Check the validity of indices.
419
4202008-10-16 Magnus Henoch <mange@freemail.hu>
421
422 * dbusbind.c (Fdbus_call_method): Unbreak usage line.
423 (Fdbus_call_method_asynchronously): Ditto.
424 This change makes C-h f display the argument list.
425
4262008-10-16 Chong Yidong <cyd@stupidchicken.com>
427
428 * fileio.c (Fexpand_file_name): Doc fix.
429
430 * xfaces.c (Finternal_set_lisp_face_attribute): Make null values
431 of :foreground and :background equivalent to unspecified (20.x
432 compatibility).
433
4342008-10-15 Eli Zaretskii <eliz@gnu.org>
435
436 * buffer.c (syms_of_buffer): Doc fix.
437
4382008-10-14 Kenichi Handa <handa@m17n.org>
439
440 * font.c (font_clear_prop): When clearing font width, clear the
441 average width field too.
442
4432008-10-12 Andreas Schwab <schwab@suse.de>
444
445 * ftfont.c (ftfont_shape_by_flt): Make static.
446 * ftfont.h (ftfont_shape_by_flt): Don't declare.
447
448 * font.c: Don't include <m17n-flt.h>.
449
4502008-10-10 Eli Zaretskii <eliz@gnu.org>
451
452 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Decrease to 10000.
453
4542008-10-09 Eli Zaretskii <eliz@gnu.org>
455
456 * frame.c (make_terminal_frame) [MSDOS]: Remove unused #ifdef'ed
457 away code.
458
4592008-10-09 Chong Yidong <cyd@stupidchicken.com>
460
461 * dispnew.c (update_text_area): Avoid looping due to large glyph
462 overhangs (bug#1070).
463
4642008-10-09 Kenichi Handa <handa@m17n.org>
465
466 * fontset.c (face_for_char): If face->fontset is negative, just
467 return ascii_face.
468
f5385255
SM
469 * font.c (font_delete_unmatched): Fix previous change.
470 Don't reject an entity if DPI and AVGWIDTH of an entity are 0.
aac0c6e3
MR
471
4722008-10-09 Martin Rudalics <rudalics@gmx.at>
473
474 * frame.c (Fraise_frame): On text-only terminals select frame in
475 order to make it visible. (Bug#1061)
476
4772008-10-08 Chong Yidong <cyd@stupidchicken.com>
478
479 * fontset.c (fontset_find_font): Check frame validity.
480
4812008-10-07 Chong Yidong <cyd@stupidchicken.com>
482
a9b555d3 483 * gtkutil.c (xg_display_open): Reset default display if none exists.
aac0c6e3
MR
484 (xg_display_close): Allow Emacs to close all displays (bug#985).
485
4862008-10-06 Andreas Schwab <schwab@suse.de>
487
f5385255 488 * sysdep.c (sys_signal): Always set SA_RESTART when noninteractively.
aac0c6e3
MR
489
4902008-10-06 Chong Yidong <cyd@stupidchicken.com>
491
f5385255 492 * emacs.c (Vbefore_init_time, Vafter_init_time): Move from startup.el.
aac0c6e3 493
a9b555d3 494 * lisp.h (Vbefore_init_time, Vafter_init_time): Declare.
aac0c6e3
MR
495
496 * gtkutil.c (x_wm_set_size_hint): Return immediately if called
497 during initialization.
498
4992008-10-04 Eli Zaretskii <eliz@gnu.org>
500
501 * xdisp.c (redisplay_internal): If frame switched, redisplay the
502 whole thing on MSDOS frames as well as on a TTY.
503
504 * dispnew.c (update_frame): Flush termscript for MSDOS frames as
505 well as for TTY.
506 (Fopen_termscript): Allow opening a termscript on MSDOS frames as
507 well as on a TTY.
508
509 * sysdep.c (init_sys_modes): Set FRAME_GARBAGED_P for MSDOS frames
510 as well as for TTY.
511
512 * systime.h (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
513
514 * dispnew.c (change_frame_size_1): Set FrameRows and FrameCols for
515 MSDOS frames as well.
516
5172008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
518
519 * image.c (x_clear_image_1): Under NS, call ns_free_indexed_color with
520 correct arguments.
521 * menu.c (find_and_return_menu_selection) Add cast.
522
5232008-10-03 Glenn Morris <rgm@gnu.org>
524
525 * emacs.c (USAGE1): Add --daemon.
526
5272008-10-02 Eli Zaretskii <eliz@gnu.org>
528
529 * process.c (procfs_system_process_attributes): Multiply `pcpu' by
530 100, so it's in percents as advertised.
531
5322008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
533
534 * nsterm.h (ns_cursor_types, ns_output.desired_cursor_color)
535 (ns_output.current_cursor, ns_output.desired_cursor)
536 (ns_output.last_inactive, FRAME_CURSOR, FRAME_NEW_CURSOR)
537 (FRAME_NEW_CURSOR_COLOR): Remove.
538
539 * nsfns.m (ns_set_cursor_color): Use FRAME_CURSOR_COLOR.
a9b555d3 540 (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp): Use core Emacs
aac0c6e3
MR
541 enumeration (HOLLOW_BOX_CURSOR, etc.).
542
543 * nsterm.m (ns_frame_rehighlight): Remove commented code.
544 (draw_window_cursor): Simplify code.
f5385255
SM
545 (EmacsView-windowDidBecomeKey:,-windowDidResignKey:):
546 Don't change cursor type. In latter, call rehighlight instead of doing
aac0c6e3 547 updates manually.
a9b555d3
JB
548 (EmacsPrefsController-setPanelFromValues,-setValuesFromPanel):
549 Use core Emacs cursor types.
aac0c6e3
MR
550
551 * xdisp.c (draw_glyphs): Don't call notice_overwritten_cursor() under
552 NS.
553
5542008-10-02 Martin Rudalics <rudalics@gmx.at>
555
556 * process.c (Faccept_process_output): Fix doc-string.
557
5582008-10-02 Dan Nicolaescu <dann@ics.uci.edu>
559
560 * gmalloc.c (__sbrk): Also define for uClibc.
561
562 * s/gnu-linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Add definition
563 for uClibc.
564
5652008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
566
567 * nsfont.m (nsfont_spec_to_traits): Use UnXX masks only for non-normal
568 styles.
569 (nsfont_open): Reenable the cache.
570
5712008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
572
573 * font.c (font_matching_entity): Reflect ATTRS in font selection.
574 (font_find_for_lface) [HAVE_NS]: Don't ignore case.
575
5762008-09-30 Stefan Monnier <monnier@iro.umontreal.ca>
577
578 * dispnew.c (Fsend_string_to_terminal): Don't try to send a string to
579 a suspended terminal.
580
5812008-09-30 Michael Albinus <michael.albinus@gmx.de>
582
583 * dbusbind.c (xd_signature): Use strcat instead of sprintf.
584
5852008-09-30 Eli Zaretskii <eliz@gnu.org>
586
587 * Makefile.in (MSDOS_SUPPORT): Remove ccl.elc and codepage.elc.
588
5892008-09-30 Chong Yidong <cyd@stupidchicken.com>
590
591 * xdisp.c (move_it_to): Don't advance the iterator if the last tab
592 in a continued line coincides with a line beginning.
593
5942008-09-29 Adrian Robert <Adrian.B.Robert@gmail.com>
595
596 * nsfont.m (nsfont_trait_distance): Fix bug.
597 (nsfont_list): Return a list rather than a vector (syncs with Handa
598 changes of 2008-05-14).
599 (nsfont_open): Improve logging.
600
6012008-09-29 Andreas Schwab <schwab@suse.de>
602
603 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
604
6052008-09-28 Martin Rudalics <rudalics@gmx.at>
606
607 * character.c (Fchar_resolve_modifiers): Rewrite Elisp function
608 name as char-resolve-modifiers.
609 Reported by: Markus Triska <markus.triska@gmx.at>
610
6112008-09-28 Dan Nicolaescu <dann@ics.uci.edu>
612
613 * dispnew.c (init_display): Return earlier when running as a daemon.
614
6152008-09-27 Adrian Robert <Adrian.B.Robert@gmail.com>
616
617 * nsfont.m (nsfont_draw): Fix up composition rendering (cmp_from, ...).
618
6192008-09-27 Eli Zaretskii <eliz@gnu.org>
620
621 * composite.c (Fcomposition_get_gstring)
622 (Fcompose_region_internal, Fcompose_string_internal)
623 (Ffind_composition_internal): Doc fix.
624 (syms_of_composite) <compose-chars-after-function>: Doc fix.
625 (syms_of_composite) <auto-composition-function>: Doc fix.
626 (syms_of_composite) <composition-function-table>: Doc fix.
627
6282008-09-25 Chong Yidong <cyd@stupidchicken.com>
629
630 * search.c (wordify): New argument for lax word-ends.
631 (Fword_search_forward_lax, Fword_search_backward_lax): New funs.
632
6332008-09-24 Dan Nicolaescu <dann@ics.uci.edu>
634
635 * lisp.h (is_daemon): Declare.
636 * dispnew.c (init_display): Do not try to initialize the terminal
637 when running as a daemon.
638
6392008-09-22 Chong Yidong <cyd@stupidchicken.com>
640
641 * nsfns.m (compute_tip_xy): Use x_display_pixel_width and
642 x_display_pixel_height.
643
6442008-09-22 Martin Rudalics <rudalics@gmx.at>
645
646 * undo.c (record_point): Don't call Fundo_boundary for first
647 change. (Bug#731)
648
6492008-09-22 Juanma Barranquero <lekktu@gmail.com>
650
651 * emacs.c (Fdaemonp): Doc fix.
652
6532008-09-22 Dan Nicolaescu <dann@ics.uci.edu>
654
655 * emacs.c (main): Place #ifdef in the proper place.
656
6572008-09-21 Dan Nicolaescu <dann@ics.uci.edu>
658
659 * emacs.c (standard_args): Add --daemon.
660 (main): Disconnect from the terminal when --daemon is passed.
661 (is_daemon): New variable.
662 (Fdaemonp): New function.
663 (syms_of_emacs): Defsubr it.
664
6652008-09-20 Chong Yidong <cyd@stupidchicken.com>
666
667 * xdisp.c (get_next_display_element): Handle string display
668 correctly when checking for the end of a box run.
669
6702008-09-20 Glenn Morris <rgm@gnu.org>
671
672 * fileio.c (Qdelete_by_moving_to_trash): New Lisp_Object.
673 (syms_of_fileio): Add Qdelete_by_moving_to_trash.
674 (Frename_file): Avoid copying to trash if a rename involves
675 a delete. (Bug#964).
676
6772008-09-20 Eli Zaretskii <eliz@gnu.org>
678
679 * keyboard.c (Fset_quit_char, Fset_input_meta_mode)
680 (Fset_output_flow_control, Fcurrent_input_mode): Support MSDOS
681 frames as well as termcap frames.
682 (handle_interrupt): Remove "#ifndef MSDOS" around the call to
683 get_named_tty.
684
6852008-09-19 Eli Zaretskii <eliz@gnu.org>
686
687 * process.c (procfs_system_process_attributes): Fix cmdline in
688 case /proc/PID/cmdline is empty.
689
690 * xterm.c (x_wm_set_size_hint): Use x_display_pixel_width and
691 x_display_pixel_height.
692
6932008-09-19 Juanma Barranquero <lekktu@gmail.com>
694
695 * frame.c (x_fullscreen_adjust): Declare var as Display_Info.
696
697 * w32fns.c (Fx_display_pixel_width, Fx_display_pixel_height)
698 (compute_tip_xy): Use x_display_pixel_width, x_display_pixel_height.
699
7002008-09-19 Dan Nicolaescu <dann@ics.uci.edu>
701
702 * dispextern.h (struct it): Move line_wrap away from the middle of
703 bitfields. Move voffset in struct iterator_stack_entry after the
704 bitfields. Move tab_width near after another short.
705
7062008-09-18 Dan Nicolaescu <dann@ics.uci.edu>
707
708 * frame.h (struct frame): Move alpha from the middle of bitfields.
709
710 * window.h (struct window): Move frozen_window_start_p after the
711 rest of the bitfields to reduce padding.
712
7132008-09-18 Chong Yidong <cyd@stupidchicken.com>
714
715 * xterm.h (x_display_info): Remove `height' and `width' members.
716
717 * nsterm.h (ns_display_info): Remove `height' and `width' members.
718
719 * w32term.h (w32_display_info): Remove `height', `width',
720 `height_in', and `width_in' members.
721
722 * xterm.c (x_display_pixel_height, x_display_pixel_width): New
723 functions.
724 (x_calc_absolute_position): Use them.
725 (x_term_init): Omit removed `height' and `width' members.
726
727 * w32term.c (x_display_pixel_height, x_display_pixel_width): New
728 functions.
729 (w32_read_socket, x_calc_absolute_position): Use them.
730 (w32_initialize_display_info, w32_term_init): Omit removed members
731 of w32_display_info.
732
733 * nsterm.m (x_display_pixel_height, x_display_pixel_width): New
734 functions.
735 (ns_initialize_display_info): Omit removed members of
736 ns_display_info.
737
738 * xterm.c (x_display_pixel_height, x_display_pixel_width): New
739 functions.
740 (x_calc_absolute_position): Use them.
741 (x_term_init): Omit removed `height' and `width' members.
742
743 * xfns.c (Fx_display_pixel_width, Fx_display_pixel_height)
744 (compute_tip_xy): Use x_display_pixel_height and
745 x_display_pixel_width.
746
747 * frame.c (x_fullscreen_adjust): Use x_display_pixel_height and
748 x_display_pixel_width.
749
750 * xmenu.c (menu_position_func): Use x_display_pixel_height and
751 x_display_pixel_width.
752
7532008-09-18 Kenichi Handa <handa@m17n.org>
754
755 * composite.c (fill_gstring_header): Don't check FROM and TO here.
756 (composition_compute_stop_pos): Fix handling of static composition.
757 (Fcomposition_get_gstring): Check FROM and TO at first.
758
7592008-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
760
761 * composite.c (Fcomposition_get_gstring): Yet another int/Lisp_Oject
762 mixup (YAILOM).
763
7642008-09-17 Chong Yidong <cyd@stupidchicken.com>
765
766 * indent.c (Fvertical_motion): Use position reported by iterator
767 instead of PT for determining screen motion (bug#943).
768
7692008-09-17 Romain Francoise <romain@orebokech.com>
770
771 * composite.c (composition_adjust_point): Fix int/EMACS_INT mixup.
772
7732008-09-17 Kenichi Handa <handa@m17n.org>
774
775 * ftfont.c (ftfont_shape_by_flt): Downcase family name.
776
777 * composite.c (Fcomposition_get_gstring): Make bigger gstring_work
778 if necessary.
779
7802008-09-16 Kenichi Handa <handa@m17n.org>
781
782 * coding.c (make_conversion_work_buffer): Avoid calling
783 Fget_buffer_create if it is not necessary.
784
7852008-09-15 Martin Rudalics <rudalics@gmx.at>
786
787 * window.c (Fselect_window): Don't update window_select_count and
788 use_time when norecord is not nil.
789
7902008-09-14 Kenichi Handa <handa@m17n.org>
791
792 * fileio.c (Finsert_file_contents): Delete incorrect decrement of
793 specpdl_ptr.
794
7952008-09-12 Kenichi Handa <handa@m17n.org>
796
797 * indent.c (scan_for_column): Don't handle automatic composition
798 if the current buffer is not associated with a window.
799
800 * composite.c (composition_reseat_it): If the current buffer is
801 not associated with a window, ignore the automatic composition.
802 (find_automatic_composition): Likewise.
803
8042008-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
805
806 * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
807 (Fgpm_mouse_stop): Use it.
808 * termhooks.h (close_gpm): Declare.
809 * keyboard.c (tty_read_avail_input): Forcefully close the gpm
810 connection if Gpm_GetEvent fails.
811
812 * window.c (set_window_buffer): Always preserve current-buffer.
813
8142008-09-12 Glenn Morris <rgm@gnu.org>
815
816 * charset.c (init_charset): Warn if etc/charsets not found. (Bug#909)
817
8182008-09-11 Glenn Morris <rgm@gnu.org>
819
820 * charset.c (charset-map-path): Doc fix.
821
8222008-09-10 Kenichi Handa <handa@m17n.org>
823
824 * xdisp.c (handle_composition_prop): Set it->cmp_it.ch to -1.
825
826 * font.c (Ffont_shape_gstring): Make glyphs of non-nil adjustment
827 compose a grapheme cluster with the preceding base glyph.
828
829 * composite.c (composition_compute_stop_pos): Fix previous change.
830 Reset cmp_it->id to -1 at first.
831
8322008-09-10 Glenn Morris <rgm@gnu.org>
833
834 * Makefile.in (character.o, chartab.o): Fix config.h typo.
835
8362008-09-09 Chong Yidong <cyd@stupidchicken.com>
837
838 * keyboard.c (read_key_sequence): Reapply translation maps when
839 switching keyboards.
840
8412008-09-09 Kenichi Handa <handa@m17n.org>
842
843 * ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII
844 characters.
845
846 * composite.c (FORWARD_CHAR): Fix calculation
847 of (POSITION).pos_byte.
848 (composition_compute_stop_pos): Limit the search of composition to
849 at most 500 characters ahead. If we reach the limit or find a
850 newline, set cmp_it->ch to -2 and return 0.
851 (composition_reseat_it): Handle the case that cmp_it->ch is -2.
852
8532008-09-08 Kenichi Handa <handa@m17n.org>
854
855 * indent.c (Fvertical_motion): Be sure to set
856 it_overshoot_expected if it.cmp_it.id is non-negative.
857
8582008-09-07 Andreas Schwab <schwab@suse.de>
859
860 * callproc.c (Fcall_process): Don't hold references to string data
861 across garbage collection. Move initialisation of new_argv down
862 to avoid compiler bug.
863
8642008-09-07 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
865
866 * process.c (Fsystem_process_attributes): Doc fix.
867
8682008-09-07 Chong Yidong <cyd@stupidchicken.com>
869
870 * callproc.c (Fcall_process): Canonicalize current directory name.
871
872 * xdisp.c (move_it_to): When moving by vpos, ensure that the
873 iterator advances to the next line if the current line ends in a
874 continued tab.
875
8762008-09-07 Teodor Zlatanov <tzz@lifelogs.com>
877
878 * nsfont.m (nsfont_draw): Fix the references to missing gidx data
879 member to point to cmp_from.
880
881 * xdisp.c: Doc fix for references to gidx data member.
882
8832008-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
884
885 * buffer.c (Fbuffer_swap_text): Reset window->point markers.
886
8872008-09-07 Kenichi Handa <handa@m17n.org>
888
889 * composite.c (FORWARD_CHAR): Check STOP after
890 incrementing (POSITION).pos.
891
8922008-09-06 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
893
894 * process.c (Fsystem_process_attributes): Doc fix.
895
8962008-09-06 Chong Yidong <cyd@stupidchicken.com>
897
898 * keyboard.c (Ftop_level): Doc fix.
899
9002008-09-06 Eli Zaretskii <eliz@gnu.org>
901
902 * xmenu.c (xmenu_show) [!HAVE_X_WINDOWS]: If frame has a
903 minibuffer, don't let lower part of menu invade the echo area.
904
905 * msdos.c (IT_menu_display): Use STRING_CHAR_ADVANCE instead of a
906 "char *q" to access menu text and advance through it. Revert the
907 change that displayed ">" instead of ASCII character 0x10.
908
9092008-09-05 Eli Zaretskii <eliz@gnu.org>
910
911 * menu.c (single_menu_item) [!HAVE_BOXES]: Enable emulation of
912 toggle boxes and radio buttons on MS-DOS as well.
913
9142008-09-05 Kenichi Handa <handa@m17n.org>
915
916 * composite.c (autocmp_chars): Check lookback count.
917 (composition_compute_stop_pos): Set cmp_it->lookback.
918 (composition_reseat_it): Check lookback count.
919 (struct position_record): New struct.
920 (FORWARD_CHAR, BACKWARD_CHAR, CHAR_COMPOSABLE_P): New macros.
921 (find_automatic_composition): New function.
922 (composition_adjust_point): Use find_automatic_composition.
923
924 * dispextern.h (struct composition_it): New member lookback.
925
9262008-09-02 Chong Yidong <cyd@stupidchicken.com>
927
928 * indent.c (Fvertical_motion): Don't call move_it_by_lines again
929 if moving by a single line.
930
9312008-09-02 Andreas Schwab <schwab@suse.de>
932
933 * xterm.c (x_delete_display): Fix merge error.
934
935 * fileio.c (Fexpand_file_name): Remove unused variables.
936
9372008-09-02 Eli Zaretskii <eliz@gnu.org>
938
939 * fileio.c (Fexpand_file_name): Copy argument `name' into local
940 storage on all platforms, not just on DOS_NT.
941
9422008-09-02 Jason Rumney <jasonr@gnu.org>
943
944 * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show): Ensure
945 mouse is not grabbed after menu is finished.
946
9472008-09-01 Chong Yidong <cyd@stupidchicken.com>
948
949 * xfaces.c (Finternal_set_alternative_font_family_alist)
950 (Finternal_set_alternative_font_registry_alist): Properly copy
951 entire alist structure.
952
9532008-09-01 Kenichi Handa <handa@m17n.org>
954
955 * ftfont.c (ftfont_spec_pattern): Don't create a charset of the
956 representative chars of the script is a vector.
957 (ftfont_list): Handle the case the representative chars of the
958 script is a vector.
959
960 * character.c (syms_of_character): Docstring of
961 script-representative-chars fixed.
962
9632008-08-31 Eli Zaretskii <eliz@gnu.org>
964
965 * msdos.c (BUILD_CHAR_GLYPH): New macro.
966 (IT_menu_display): Use it instead of SET_CHAR_GLYPH to construct
967 the menu. Allocate larger buffer for `text', to account for
968 possible ^C characters.
969
9702008-08-31 Martin Rudalics <rudalics@gmx.at>
971
972 * xdisp.c (prepare_menu_bars): Don't call
973 Vwindow_size_change_functions with arg Qt.
974
9752008-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
976
977 * font.h (font_range):
978 * fileio.c (report_file_error):
979 * composite.c (composition_update_it): Yet another int/Lisp_Oject mixup.
980
9812008-08-30 Glenn Morris <rgm@gnu.org>
982
983 * data.c (Fmake_variable_frame_local): Doc fix.
984
985 * frame.c (Fmodify_frame_parameters): Doc fix.
986
9872008-08-30 Eli Zaretskii <eliz@gnu.org>
988
989 * w32.c (init_user_info): Allocate buf[] with xmalloc using the size
990 needed by GetTokenInformation.
991 (w32_system_process_attributes): Check return values of all system
992 APIs.
993
994 * msdos.c (IT_display_cursor): Write "CURSOR ON/OFF" to termscript
995 only when the state changes.
996 (IT_update_begin, IT_update_end): Add termscript trace.
997
998 * w16select.c (Fw16_set_clipboard_data): Don't encode text if
999 clipboard is unavailable. Set dst to NULL if it doesn't point to
1000 malloc'ed data.
1001 (Fw16_get_clipboard_data): Initialize htext to NULL, to avoid
1002 passing random values to xfree.
1003
1004 * dispnew.c (init_display): Set `tty's association in frame's
1005 parameters alist to the name of the terminal device, if that is
1006 known.
1007
10082008-08-29 Jason Rumney <jasonr@gnu.org>
1009
1010 * w32uniscribe.c (uniscribe_check_otf): Don't fallback on DFLT script.
1011
10122008-08-29 Eli Zaretskii <eliz@gnu.org>
1013
1014 * composite.c (fill_gstring_body): Avoid compiler warnings.
1015
1016 * font.c (font_fill_lglyph_metrics): Use EMACS_INT in
1017 LGLYPH_SET_CODE to avoid compiler warnings.
1018
1019 * makefile.w32-in ($(BLD)/w32uniscribe.$(O)): Depend on composite.h
1020
1021 * composite.h (LGLYPH_SET_CODE): Cast `val' to EMACS_INT.
1022
1023 * w32uniscribe.c (uniscribe_shape): Shut up compiler warning in
1024 LGLYPH_SET_CODE.
1025
10262008-08-29 Kenichi Handa <handa@m17n.org>
1027
1028 * fileio.c (report_file_error): Don't downcase the first character
1029 of errstring if it is still unibyte.
1030
10312008-08-29 Kenichi Handa <handa@m17n.org>
1032
1033 These changes are to re-implement the automatic composition so
1034 that it doesn't use text properties.
1035
1036 * Makefile.in (ftfont.o): Depend on composite.h.
1037 (composite.o): Depend dispextern.h, font.h, frame, and window.h.
1038
1039 * character.h (Vunicode_category_table): Extern it.
1040
1041 * character.c (Vunicode_category_table): New variable.
1042 (syms_of_character): DEFVAR_LISP Vunicode_category_table.
1043
1044 * chartab.c (optimize_sub_char_table): Perform more greedy
1045 optimization.
1046
1047 * composite.h (enum composition_method): Delete
1048 COMPOSITION_WITH_GLYPH_STRING.
1049 (COMPOSITION_METHOD): Don't check COMPOSITION_WITH_GLYPH_STRING.
1050 (Vcomposition_function_table): Extern it.
1051 (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h.
1052 (composition_gstring_put_cache, composition_gstring_from_id)
1053 (composition_gstring_p, composition_gstring_width)
1054 (composition_compute_stop_pos, composition_reseat_it)
1055 (composition_update_it, composition_adjust_point): Extern them.
1056 (Fcomposition_get_gstring): EXFUN it.
1057
1058 * composite.c: Include window.h, frame.h, dispextern.h font.h.
1059 (Vcomposition_function_table)
1060 (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING.
1061 (gstring_hash_table, gstring_work, gstring_work_headers): New
1062 variables.
1063 (gstring_lookup_cache, composition_gstring_put_cache)
1064 (composition_gstring_from_id, composition_gstring_p)
1065 (composition_gstring_width, fill_gstring_header)
1066 (fill_gstring_body, autocmp_chars, composition_compute_stop_pos)
1067 (composition_reseat_it, composition_update_it)
1068 (composition_adjust_point, Fcomposition_get_gstring): New
1069 functions.
1070 (syms_of_composite): Initialize gstring_hash_table, gstrint_work,
1071 and gstring_work_headers. DEFVAR_LISP composition-function-table.
1072 Defsubr compostion_get_gstring.
1073
1074 * dispextern.h (struct glyph): New union u.cmp. Delete the member
1075 cmp_id.
1076 (struct glyph_string): Delete the member gidx. New members
1077 cmp_id, cmp_from, and cmp_to.
1078 (enum it_method): Delete GET_FROM_COMPOSITION.
1079 (struct composition_it): New struct.
1080 (struct it): New member cmp_it, and iterator_stack_entry.cmp_it.
1081 Delete c, len, cmp_id, cmp_len in u.comp.
1082
1083 * font.h (enum lgstring_indices): Delete it.
1084 (LGSTRING_XXX, LGLYPH_XXX): These macros moved to composite.h.
1085 (enum lglyph_indices): Likewise.
1086 (font_range): Extern adjusted.
1087 (font_fill_lglyph_metrics): Extern it.
1088
1089 * font.c (QCf): New variable.
1090 (check_gstring): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
1091 (font_prepare_composition): Delete this function.
1092 (font_range): Type and arguments changed.
1093 (Ffont_make_gstring, Ffont_fill_gstring): Delete them.
1094 (font_fill_lglyph_metrics): New function.
1095 (Ffont_shape_text): Renamed to Ffont_shape_gstring and arguments
1096 changed.
1097 (syms_of_font): DEFSYM QCf. Delete defsubr for
1098 Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text. Defsubr
1099 Sfont_shape_gstring.
1100
1101 * fontset.h (font_for_char): Extern it.
1102
1103 * fontset.c (font_for_char): New function.
1104
1105 * ftfont.c: Include composite.h.
1106 (ftfont_resolve_generic_family): Add langset "en" to pattern.
1107 (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not
1108 LGSTRING_LENGTH.
1109
1110 * indent.c: Include composite.h and dispextern.h.
1111 (check_composition): Delete this function.
1112 (scan_for_column): Handle composition by
1113 composition_compute_stop_pos, composition_reseat_it, and
1114 composition_update_it.
1115 (compute_motion): Likewise.
1116 (Fvertical_motion): Fix checking of composition.
1117
1118 * keyboard.c (adjust_point_for_property): Check composition by
1119 composition_adjust_point.
1120
1121 * nsterm.m (ns_draw_glyph_string): Adjusted for the change of
1122 struct glyph_string.
1123
1124 * term.c (encode_terminal_code): Adjusted for the change of struct
1125 glyph.
1126 (append_composite_glyph): Adjusted for the change of struct it and
1127 struct glyph.
1128 (produce_composite_glyph): Likewise.
1129
1130 * w32term.c (x_draw_composite_glyph_string_foreground): Adjusted
1131 for the change of struct glyph_string.
1132 (x_draw_glyph_string): Likewise.
1133
1134 * w32uniscribe.c (struct uniscribe_font_info): Include composite.h.
1135 (uniscribe_shape): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
1136
1137 * xdisp.c: Include font.h.
1138 (it_props): Delete the entry for Qauto_composed.
1139 (init_iterator): Initialize it->cmp_it.id to -1.
1140 (compute_stop_pos): Call composition_compute_stop_pos.
1141 (face_before_or_after_it_pos): Adjusted for the change of struct
1142 it.
1143 (handle_auto_composed_prop): Delete it.
1144 (handle_composition_prop): Handle only static composition.
1145 (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION
1146 from xassert. Initialize it->cmp_it.stop_pos.
1147 (push_it): Adjusted for the change of struct it.
1148 (pop_it): Likewise.
1149 (get_next_element): Delete next_element_from_composition.
1150 (CHAR_COMPOSED_P): New macro.
1151 (get_next_display_element): For automatic composition, get a face
1152 from the font in the glyph-string.
1153 (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING,
1154 check composition by it->cmp_it.id. Delete GET_FROM_COMPOSITION
1155 case.
1156 (next_element_from_string): Check if the character at the current
1157 position is composed by CHAR_COMPOSED_P.
1158 (next_element_from_buffer): Likewise.
1159 (next_element_from_composition): Adjusted for the change of struct
1160 it. Update it->cmp_it.
1161 (dump_glyph): Adjusted for the change of struct glyph.
1162 (fill_composite_glyph_string): Adjusted for the change of struct
1163 it and struct glyph. Don't handle automatic composition here.
1164 (fill_gstring_glyph_string): New function.
1165 (x_get_glyph_overhangs): Handle automatic composition.
1166 (BUILD_COMPOSITE_GLYPH_STRING): Adjusted for the change of struct
1167 glyph.
1168 (BUILD_GSTRING_GLYPH_STRING): New macro.
1169 (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for
1170 automatic composition.
1171 (append_composite_glyph): Adjusted for the change of struct it and
1172 struct glyph.
1173 (x_produce_glyphs): Adjusted for the change of struct it.
1174
1175 * xterm.c (x_draw_composite_glyph_string_foreground): Adjusted for
1176 the change of struct glyph_string.
1177 (x_draw_glyph_string): Likewise.
1178
11792008-08-29 Glenn Morris <rgm@gnu.org>
1180
1181 * buffer.c (word-wrap): Doc fix.
1182 * xdisp.c (truncate-partial-width-windows): Doc fix.
1183 Increase default to 50.
1184
11852008-08-29 Chong Yidong <cyd@stupidchicken.com>
1186
1187 * xdisp.c (update_tool_bar_unwind): New function.
1188 (update_tool_bar): Temporarily set selected frame before building
1189 tool-bar items.
1190
11912008-08-28 Michael Albinus <michael.albinus@gmx.de>
1192
1193 * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and
1194 snprintf, respectively.
1195 (xd_append_arg): Convert strings with Fstring_make_unibyte.
1196
11972008-08-28 Chong Yidong <cyd@stupidchicken.com>
1198
1199 * Makefile.in: Revert (undocumented) 2008-08-20 change adding
1200 LDFLAGS to GNUstep CC invocation.
1201
12022008-08-27 Chong Yidong <cyd@stupidchicken.com>
1203
1204 * indent.c (Fvertical_motion): Revert last change. Handle the
1205 general case where we are moving forward, and PT spans multiple
1206 screen lines.
1207
1208 * eval.c (find_handler_clause): Temporarily increase
1209 max-lisp-eval-depth while printing the backtrace buffer, to
1210 guarantee that help-mode code can run.
1211
12122008-08-27 Eli Zaretskii <eliz@gnu.org>
1213
1214 * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame
1215 colors under -rv.
1216 (IT_set_frame_parameters): Don't swap foreground and background
1217 colors if `(reverse . t)' is present in the frame properties.
1218 (internal_terminal_init): Call init_frame_faces only for the
1219 initial frame.
1220
12212008-08-27 Andreas Schwab <schwab@suse.de>
1222
1223 * dired.c (Ffile_attributes): Avoid compiler warning in bitshift.
1224
12252008-08-27 Andreas Schwab <schwab@suse.de>
1226
1227 * search.c (search_buffer): Set char_base to zero only at the end.
1228
12292008-08-27 Kenichi Handa <handa@m17n.org>
1230
1231 * fileio.c (report_file_error): Fix handling of multibyte error
1232 string.
1233
12342008-08-27 Andreas Seltenreich <seltenreich@gmx.de>
1235
1236 * xterm.c (x_term_init): Temporarily hide the partially
1237 initialized terminal while calling vendor-specific-keysyms.
1238
12392008-08-26 Eli Zaretskii <eliz@gnu.org>
1240
1241 * msdos.c (internal_terminal_init): Most initializations done only
1242 once, especially initial_screen_colors[] and termscript open.
1243
12442008-08-26 Chong Yidong <cyd@stupidchicken.com>
1245
1246 * eval.c (Fcondition_case): Doc fix.
1247
1248 * widgetprv.h (EmacsFramePart): Change font member to the new font
1249 struct.
1250
1251 * widget.c: Include character.h and font.h for XSETFONT.
1252 (setup_frame_gcs): Compute X font id from font struct, just once.
1253
12542008-08-26 Eli Zaretskii <eliz@gnu.org>
1255
1256 * term.c (get_named_tty): Fix last change.
1257
12582008-08-26 Chong Yidong <cyd@stupidchicken.com>
1259
1260 * indent.c (Fvertical_motion): If moving forward starting from a
1261 multi-line string, move the iterator to the last line of that
1262 string.
1263
12642008-08-25 Eli Zaretskii <eliz@gnu.org>
1265
1266 * frame.c (do_switch_frame): Mark previously displayed frame as
1267 obscured for FRAME_MSDOS_P frames as well.
1268
12692008-08-24 Eli Zaretskii <eliz@gnu.org>
1270
1271 * frame.c (make_terminal_frame): Initialize f->terminal,
1272 f->terminal->reference_count, and scroll bars on MS-DOS as well.
1273 Set the top frame to newly created frame.
1274 (Fmake_terminal_frame): Reuse the_only_display_info.
1275
1276 * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of
1277 estimating available memory.
1278
12792008-08-23 David Reitter <david.reitter@gmail.com>
1280
1281 * nsterm.m (ns_draw_window_cursor): Don't call
1282 NSDisableScreenUpdates and NSEnableScreenUpdates on
1283 non-NS_IMPL_COCOA systems.
1284
12852008-08-23 Andreas Schwab <schwab@suse.de>
1286
1287 * process.c (procfs_system_process_attributes): Fix use of
1288 uninitialized variables.
1289
12902008-08-23 Eli Zaretskii <eliz@gnu.org>
1291
1292 * emacs.c (main) [MSDOS]: Call syms_of_xmenu.
1293
1294 * dispnew.c (init_display): Remove MS-DOS specific conditions for
1295 calling tty-set-up-initial-frame-faces.
1296
1297 * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show): Allow
1298 MSDOS frames along with X frames.
1299
1300 * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in
1301 addition to output_termcap.
1302
1303 * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode.
1304
1305 * termchar.h (FRAME_TTY): Support output_msdos_raw.
1306 (struct tty_display_info) [MSDOS]: Add fields related to mouse
1307 highlight.
1308
1309 * process.c [!subprocesses]: Define QCname.
1310 (syms_of_process): Intern and staticpro it.
1311
1312 * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
1313 Adjust for changes in encoding/decoding routines. Use
1314 encode_coding_object and decode_coding_object instead of
1315 encode_coding and decode_coding.
1316
1317 * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as
1318 argument.
1319
1320 * dosfns.c: Include frame.h before termhooks.h.
1321 (dos_cleanup): Use CURTTY ()->termscript instead of a global
1322 variable termscript.
1323
1324 * s/msdos.h (USER_FULL_NAME): Define.
1325 (SYSTEM_PURESIZE_EXTRA): Bump up to 100K.
1326
1327 * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined.
1328 (Fuser_full_name): Use USER_FULL_NAME instead of a literal
1329 pw->pw_gecos.
1330
1331 * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with
1332 SELECTED_FRAME as additional (1st) argument.
1333 (tty_read_avail_input): Handle output_msdos_raw in
1334 addition to output_termcap.
1335
1336 * msdos.c: Include frame.h before termhooks.h.
1337 (mouse_on, mouse_off, mouse_moveto, mouse_init)
1338 (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs)
1339 (show_mouse_face, IT_clear_end_of_line, IT_clear_screen)
1340 (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto)
1341 (IT_set_terminal_modes, IT_reset_terminal_modes)
1342 (IT_set_frame_parameters): Use tty->termscript instead of a global
1343 variable termscript.
1344 (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a
1345 global variable terminal_coding. Don't refer to
1346 Vnonascii_translation_table.
1347 (internal_terminal_init): Set Vwindow_system in current_kboard.
1348 Don't use TTY_CHAR_INS_DEL_OK. Set Vinitial_window_system.
1349 Announce date and time of session start, if termscript is open.
1350 Don't zero out the_only_display_info (it is done in
1351 term.c:init_tty). Open termscript only of not already open. Log
1352 "SCREEN SAVED" here, instead of IT_set_terminal_modes. Init mouse
1353 here instead of dos_ttraw. Don't initialize display if this is an
1354 initial tty. Don't set FRAME_FONT.
1355 (Vwindow_system_version): Bump to 23.
1356 (dos_ttraw): Accept a TTY argument; all callers fixed. If mouse
1357 is available, set up mouse_position_hook.
1358 (dos_ttraw, IT_set_terminal_modes): If called with initial
1359 terminal, do nothing.
1360 (IT_set_frame_parameters): Handle the Qtty_type frame
1361 parameter by calling internal_terminal_init.
1362 (dos_set_window_size, show_mouse_face)
1363 (clear_mouse_face, IT_note_mode_line_highlight)
1364 (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date)
1365 (dos_rawgetc): Use tty_display_info instead of x_display_info.
1366 (initialize_msdos_display): New function.
1367 (IT_cursor_to, IT_clear_to_end, IT_clear_screen)
1368 (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs)
1369 (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes)
1370 (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin):
1371 Accept additional argument: a pointer to a frame. All callers
1372 changed.
1373 (request_sigio, unrequest_sigio): Don't define, now defined on
1374 sysdep.c.
1375 (IT_write_glyphs): Rewrite to use encode_terminal_code.
1376
1377 * term.c [MSDOS]: Include msdos.h.
1378 (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch. Change cpp
1379 conditional to DOS_NT. Allow only one call to this function in a
1380 session. Don't allocate a new struct tty_display_info; instead,
1381 reuse the_only_display_info. Call get_tty_size to get screen
1382 dimensions. Call init_baud_rate to set bad_rate.
1383 (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body.
1384 (Fsuspend_tty) [MSDOS]: Don't close input and output.
1385 (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use
1386 stdin/stdout.
1387 (get_tty_terminal, get_named_tty, Ftty_type)
1388 (Fcontrolling_tty_p): Handle output_msdos_raw in addition to
1389 output_termcap.
1390 (Fresume_tty, Fsuspend_tty, init_tty, delete_tty): Call
1391 add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor
1392 only when subprocesses are supported
1393
1394 * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of
1395 f->output_data.x.
1396 (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new
1397 terminal devices.
1398
1399 * msdos.h Remove definition of struct x_display_info and struct
1400 x_output.
1401 (FRAME_FONT): Use output_data.tty.
1402 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define.
1403 (struct x_display_info): Renamed from display_info. All users in
1404 msdos.c changed.
1405 (struct x_output): Remove background_pixel and foreground_pixel.
1406 (the_only_display_info): Renamed from the_only_x_display.
1407 (dos_ttraw): Update prototype.
1408
1409 * Makefile.in (MSDOS_OBJ): Add xmenu.o.
1410 (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc.
1411
14122008-08-23 Jason Rumney <jasonr@gnu.org>
1413
1414 * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword.
1415 (fn_TIFFSetDirectory): New library function used.
1416 (init_tiff_functions) [HAVE_NTGUI]: Initialize it.
1417 (tiff_load): Use :index to select among multiple images. Set count
1418 property when multiple images exist.
1419 (gif_format): Use :index, not :image.
1420
14212008-08-23 Chong Yidong <cyd@stupidchicken.com>
1422
1423 * xdisp.c (try_scrolling): Check INT_MAX instead of
1424 MOST_POSITIVE_FIXNUM for maximum integer value. Include limits.h
1425 to obtain INT_MAX.
1426
14272008-08-21 İsmail Dönmez <ismail@namtrac.org> (tiny change)
1428
1429 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+.
1430
14312008-08-21 Christian Faulhammer <opfer@gentoo.org> (tiny change)
1432
1433 * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate
1434 GNUstep library location.
1435
14362008-08-21 Chong Yidong <cyd@stupidchicken.com>
1437
1438 * xfaces.c (x_update_menu_appearance): Check validity of menu font
1439 before using it.
1440
1441 * puresize.h (BASE_PURESIZE): Increase to 1250000.
1442
14432008-08-20 Adrian Robert <Adrian.B.Robert@gmail.com>
1444
1445 * nsfns.m (ns-read-file-name): Add casts to avoid warning.
1446 (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly.
1447 * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil.
1448 * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration.
1449 (EmacsApp-cursor_blink_handler): Remove declaration.
1450 * nsterm.m (ns_draw_glyph_string): Update first conditional body to
1451 match 01 Feb 2008 changes in xterm.c.
1452 (ns_read_socket): Add cast to avoid warning.
1453 (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on
1454 GNUstep.
1455
14562008-08-20 Chong Yidong <cyd@stupidchicken.com>
1457
1458 * xselect.c (x_get_foreign_selection): Return nil if desired
1459 selection could not be obtained, instead of signalling an error.
1460
14612008-08-20 David Reitter <david.reitter@gmail.com>
1462
1463 * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c.
1464 * nsterm.m: Remove ns-specific code for cursor blinking.
1465 (ns_draw_window_cursor): Clear cursor properly rather than
1466 redrawing the area. Respect width of bar cursors.
1467 These changes enable the use of generic blink-cursor-mode and
1468 generic cursor types in NS and support smooth cursor movements (do
1469 not blink off after command).
1470 * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on
1471 Nextstep, too.
1472
14732008-08-19 Kenichi Handa <handa@m17n.org>
1474
1475 * font.c (Vfont_log_deferred): New variable.
1476 (font_add_log): Check Vfont_log_deferred.
1477 (font_deferred_log): New function.
1478
1479 * font.h (font_deferred_log): Extern it.
1480
1481 * fontset.c (reorder_font_vector): Use encoding charset of fonts
1482 for sorting.
1483 (face_for_char): Use deferred log.
1484
14852008-08-18 Kenichi Handa <handa@m17n.org>
1486
1487 * fontset.c (face_for_char): Add font log.
1488
1489 * font.c (font_add_log): Add the font properties :script, :lang,
1490 and :otf in the log.
1491
14922008-08-17 Chong Yidong <cyd@stupidchicken.com>
1493
1494 * xdisp.c: Remove dead code.
1495 (handle_invisible_prop, next_overlay_string): Defer call to
1496 setup_for_ellipsis.
1497 (handle_stop, set_iterator_to_next): Call setup_for_ellipsis.
1498
14992008-08-15 Chong Yidong <cyd@stupidchicken.com>
1500
1501 * xfaces.c (lookup_derived_face): Properly handle possible zero
1502 return value of get_lface_attributes.
1503 (merge_faces): Don't tell lookup_derived_face to signal an error
1504 if face is not found.
1505
1506 * dired.c (Fdirectory_files): Doc fix.
1507
1508 * process.c (make_process): Initialize kill_without_query struct
1509 member.
1510
15112008-08-15 Eli Zaretskii <eliz@gnu.org>
1512
1513 * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]:
1514 Alternative calculation of totphys for Visual Studio 6.
1515
1516 * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR.
1517
1518 * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX):
1519 Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX.
1520 All users changed.
1521 (stat): Only root directory passed to GetDriveType. Allow RAM
1522 disk as well as local fixed disk when w32-get-true-file-attributes
1523 is set to `local'.
1524 (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs.
1525 (equal_sid, get_length_sid, copy_sid): New wrapper functions.
1526 (w32_cached_id, w32_add_to_cache): New functions.
1527 (get_name_and_id): Look account names in the cache before calling
1528 lookup_account_sid.
1529 (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid):
1530 New initialization flags.
1531 (globals_of_w32): Initialize them to zero.
1532 (w32_system_process_attributes): Use w32_cached_id and
1533 w32_add_to_cache.
1534
15352008-08-14 Lawrence Mitchell <wence@gmx.li>
1536
1537 * lread.c (Fread_char, Fread_char_exclusive): If no character
1538 event is read before timeout is reached, return nil, rather than
1539 converting to a number.
1540
15412008-08-14 Chong Yidong <cyd@stupidchicken.com>
1542
1543 * fns.c (use_dialog_box): Doc fix.
1544
1545 * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful
1546 on OS X.
1547
15482008-08-13 Chong Yidong <cyd@stupidchicken.com>
1549
1550 * frame.c (Qns_parse_geometry): New var.
1551 (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry.
1552
15532008-08-11 Chong Yidong <cyd@stupidchicken.com>
1554
1555 * xdisp.c (x_produce_glyphs): Handle the case when font has no
1556 space character in calculating tabs.
1557
15582008-08-11 Dan Nicolaescu <dann@ics.uci.edu>
1559
1560 * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case.
1561
15622008-08-10 Glenn Morris <rgm@gnu.org>
1563
1564 * process.c (procfs_system_process_attributes): Use EMACS_INTs to
1565 silence gcc "limited range of data type" warnings in some
1566 make_fixnum_or_float calls.
1567
15682008-08-09 Eli Zaretskii <eliz@gnu.org>
1569
1570 * w32.c (w32_system_process_attributes): If the process does not
1571 exist, return nil.
1572
1573 * w32.c: Include thelp32.h, psapi.h and coding.h.
1574 (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct
1575 declarations.
1576 (CreateToolhelp32Snapshot_Proc, Process32First_Proc)
1577 (Process32Next_Proc): New typedefs.
1578 (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first)
1579 (g_b_init_process32_next, g_b_init_open_thread_token)
1580 (g_b_init_impersonate_self, g_b_init_revert_to_self)
1581 (g_b_init_get_process_memory_info, g_b_init_global_memory_status)
1582 (g_b_init_get_process_working_set_size)
1583 (g_b_init_global_memory_status_ex): New static variables.
1584 (globals_of_w32): Initialize them.
1585 (create_toolhelp32_snapshot, process32_first, process32_next)
1586 (open_thread_token, impersonate_self, revert_to_self)
1587 (get_process_memory_info, get_process_working_set_size)
1588 (global_memory_status, global_memory_status_ex): New wrapper
1589 functions.
1590 (w32_list_system_processes, w32_system_process_attributes)
1591 (enable_privilege, restore_privilege, ltime, process_times):
1592 New functions.
1593 (convert_time_raw): New function.
1594 (convert_time): Remove conversion of FILETIME into time in 100
1595 nsec units, call convert_time_raw instead.
1596
1597 * process.h (w32_list_system_processes, w32_system_process_attributes):
1598 Add prototypes.
1599 (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname)
1600 (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime)
1601 (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup)
1602 (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations.
1603
1604 * process.c (Fsystem_process_attributes): Doc fix.
1605
16062008-08-08 Chong Yidong <cyd@stupidchicken.com>
1607
1608 * xdisp.c (move_it_to): When stopping at a charpos, check if that's
1609 a continued multi-char glyph; if so, advance to the actual glyph.
1610
16112008-08-07 Dan Nicolaescu <dann@ics.uci.edu>
1612
1613 * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in.
1614
1615 * Makefile.in (ALL_OBJC_CFLAGS): New variable.
1616 (.m.o): Use it.
1617 * config.in: Regenerate.
1618
16192008-08-07 Chong Yidong <cyd@stupidchicken.com>
1620
1621 * xdisp.c (redisplay_window): Revert last change.
1622 (try_window): Check bottom scroll margin too.
1623
16242008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
1625
1626 * config.in: Regenerate.
1627
1628 * Makefile.in (emacs): Remove ifndef NS conditional for 'emacs
1629 -list-load-path-shadows'.
1630 (nsgui.h): Reduce number of things depending on it.
1631
16322008-08-06 Chong Yidong <cyd@stupidchicken.com>
1633
1634 * xdisp.c (try_scrolling): Use iterator to find the scroll margin,
1635 instead of window-end which does the wrong thing at eob.
1636 (try_cursor_movement): Minor optimization.
1637 (redisplay_window): If scroll margin is defined, don't assume
1638 window doesn't need scrolling.
1639
16402008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
1641
1642 * config.in: Regenerate.
1643
1644 * Makefile.in: Move nsXXX.m dependencies into big alphabetical list.
1645 (mostlyclean): Don't delete *.d under NS.
1646
1647 * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER.
1648
16492008-08-06 Kenichi Handa <handa@m17n.org>
1650
1651 * xfont.c (xfont_list_family): Return a list of symbols, not strings.
1652
16532008-08-06 Andreas Schwab <schwab@suse.de>
1654
1655 * config.in: Regenerate.
1656
16572008-08-05 Chong Yidong <cyd@stupidchicken.com>
1658
1659 * xdisp.c (redisplay_window): Don't enforce scroll-margin when
1660 forcing a window start.
1661
1662 * fileio.c (Vauto_save_list_file_name): Move here from file.el.
1663 (auto_save_1): Update modtime when auto-save-list-file-name is on.
1664
16652008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
1666
1667 * emacs.c (main): Under NS, set working dir to HOME when get a "psn"
1668 argument.
1669
16702008-08-05 Juanma Barranquero <lekktu@gmail.com>
1671
1672 * buffer.c (syms_of_buffer) <scroll-up-aggressively>:
1673 <scroll-down-aggressively, before-change-functions>:
1674 <after-change-functions>: Reflow docstrings.
1675
16762008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
1677 Ken Raeburn <raeburn@gnu.org>
1678
1679 Dock menu customization, based on a patch by Ken Raeburn, plus some
1680 other fixes.
1681 * nsmenu.m (dockMenu): New variable.
1682 (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17.
1683
1684 * nsterm.h (dockMenu): Declare.
1685
1686 * nsterm.m (KEY_NS_NEW_FRAME): New definition.
1687 (ns_term_init): Initialize dockMenu.
1688 (EmacsApp -newFrame:, -applicationDockMenu:): New methods.
1689 (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame
1690 left.
1691
1692 * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA.
1693
16942008-08-04 Chong Yidong <cyd@stupidchicken.com>
1695
1696 * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it.
1697
1698 * config.in: Regenerate.
1699
17002008-08-04 Seiji Zenitani <zenitani@mac.com>
1701
1702 * nsfns.m (x-create-frame): Set the frame parameter alpha to nil.
1703
17042008-08-04 Chong Yidong <cyd@stupidchicken.com>
1705
1706 * nsterm.h (find_and_call_menu_selection): Fix prototype.
1707
17082008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
1709
1710 * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS.
1711
1712 * keyboard.h: Comment an #endif.
1713
1714 * lisp.h (have_menus_p): Adjust comment.
1715
1716 * menu.c (find_and_return_menu_selection): Fix comparison with
1717 client_data.
1718
1719 * nsmenu.m (popup_activated_flag): New variable.
1720 (popup_activated): New function.
1721 (menu-or-popup-active-p): New exported lisp definition.
1722 (ns_popup_menu): Set popup_activated_flag. Call discard_menu_items()
1723 when popup done.
1724 (ns_popup_dialog): Set popup_activated_flag.
1725
1726 * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger
1727 version for GNUstep (handled by conditional typedef in nsterm.m).
1728 (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now
1729 in rgb.txt).
1730
1731 * process.c (init_process): Use DARWIN_OS, not DARWIN.
1732
1733 * sysselect.h: Conditionalize init_process undef on DARWIN_OS.
1734
1735 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS.
1736
1737 * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS,
1738 shortcircuit if popup_activated like GTK and X toolkit.
1739
1740 * m/inter386.h: Change DARWIN to DARWIN_OS.
1741
1742 * s/darwin.h: Add #define DARWIN_OS. Get rid of C_SWITCH_SYSTEM def.
1743 Change LIBS_MACGUI to LIBS_NSGUI. Move temacs-conditionalized defs
1744 closer to C_SWITCH_SYSTEM_TEMACS so usage is understood. Expand
1745 comment on NO_SOCK_SIGIO.
1746
17472008-08-03 Chong Yidong <cyd@stupidchicken.com>
1748
1749 * nsterm.m (windowDidResize): Remove stopModal call.
1750
17512008-08-03 Andreas Schwab <schwab@suse.de>
1752
1753 * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define.
1754 (check_memory_limits): Don't handle HAVE_GETRLIMIT here.
1755
17562008-08-02 Chong Yidong <cyd@stupidchicken.com>
1757
1758 * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin.
1759 Don't use uninitialized pointer variable when using getrlimit.
1760
17612008-08-02 Jason Rumney <jasonr@gnu.org>
1762
1763 * w32font.c (compute_metrics): Don't mess with glyph_idx setting here.
1764
17652008-08-02 Eli Zaretskii <eliz@gnu.org>
1766
1767 * alloc.c (NSTATICS): Bump to 0x640.
1768
1769 * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
1770
1771 * lisp.h: Add prototype for directory_files_internal.
1772
1773 * process.c (Fsystem_processes_list, Fsystem_process_attributes):
1774 New functions.
1775 (syms_of_process): Defsubr them. Add initializations for various
1776 Q* symbols used in procfs_system_process_attributes.
1777 (procfs_list_system_processes, procfs_system_process_attributes)
1778 [HAVE_PROCFS]: New functions.
1779 (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname)
1780 (procfs_get_total_memory): New functions.
1781
17822008-08-01 Juanma Barranquero <lekktu@gmail.com>
1783
1784 * xfaces.c (Fx_load_color_file): Fix previous change;
1785 it is #ifdef WINDOWSNT, not WINDOWS_NT.
1786
17872008-08-01 Michael Albinus <michael.albinus@gmx.de>
1788
1789 * dbusbind.c (xd_read_message): Handle D-Bus error messages.
1790
17912008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1792
1793 * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard.
1794
17952008-08-01 Chong Yidong <cyd@stupidchicken.com>
1796
1797 * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha.
1798
1799 * nsterm.m (EmacsApp -application:openFiles:): GNUstep does not
1800 define NSApplicationDelegateReplySuccess.
1801 (EmacsView -converstationIdentifier): Use long instead of
1802 NSInteger for GNUstep, since it doesn't have NSInteger.
1803
1804 * xmenu.c: Revert last change.
1805
1806 * keyboard.h: Fix last change.
1807
18082008-08-01 Juanma Barranquero <lekktu@gmail.com>
1809
1810 * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting
1811 on Windows.
1812
18132008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1814
1815 Warning clearing and clean-up in NS port.
1816 * keyboard.h (xmalloc_widget_value, digest_single_submenu):
1817 Add prototypes.
1818 * nsgui.h (FACE_DEFAULT): Remove, unused.
1819 (XGCValues): Change colors to unsigned long.
1820 * nsterm.h (EmacsApp): Add declaration of all methods implemented in
1821 nsterm.m.
1822 (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class.
1823 (ns_list_fonts): Remove, unused.
1824 (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes.
1825 * nsfns.m (interpret_services_menu): Use NSMenuItem class.
1826 * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc.
1827 (nsfont_draw): Compare face colors to 0, not nil.
1828 * nsmenu.m (struct widget_value): Drop unneeded declaration.
1829 (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:)
1830 (-addSubmenuWithTitle:): Use NSMenuItem class.
1831 (ns_popup_menu): Use NO, not NULL, for enabled setting.
1832 * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0.
1833 (ns_clip_to_row): Make gc arg a BOOL.
1834 (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in
1835 ns_clip_to_row() call.
1836 (ns_draw_glyph_string): Drop face comparison to ~0 (no longer
1837 used). Cast FRAME_FONT assignments.
1838 (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:.
1839 (ns_string_to_lispmod): Change arg to const char.
1840 (ns_term_init): Use NSMenuItem class.
1841 (EmacsApp -openFile:): Move to different section of file.
1842 (EmacsApp -application:openFiles:): Don't return a value, call
1843 -replyToOpenOrPrint:.
1844 (EmacsView -keyDown:): Fix up cast.
1845 (EmacsView -converstationIdentifier): Use NSInteger instead of long.
1846 (EmacsView -menuDown:): Cast tag in call to
1847 find_and_call_menu_selection().
1848 (ns_list_fonts): Remove, unused.
1849 (ns_font_to_xlfd): Make static. Cast result of UTF8String.
1850 (ns_fontname_to_xlfd): Make static.
1851 * w32menu.c (xmalloc_widget_value, digest_single_submenu):
1852 Remove prototypes (now in keyboard.h).
1853 (next_menubar_widget_id): Remove, unused.
1854 * xmenu.c (xmalloc_widget_value, digest_single_submenu):
1855 Remove prototypes (now in keyboard.h).
1856 * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused.
1857
18582008-08-01 Dan Nicolaescu <dann@ics.uci.edu>
1859
1860 * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o)
1861 (floatfns.o): Depend on syssignal.h.
1862 (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC).
1863
1864 * systty.h: Fix previous change that removed BSD_TERMIOS.
1865 Add comments to #ifdefs.
1866
18672008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1868
1869 * w32fns.c (w32-load-color-file): Remove.
1870 (x-open-connection): Use renamed Fx_load_color_file.
1871 * xfaces.c (x-load-color-file): Add.
1872 * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of
1873 Emacs.clr.
1874 (hide_hourglass): BLOCK_INPUT before UNBLOCK.
1875
18762008-07-31 Michael Albinus <michael.albinus@gmx.de>
1877
1878 * dbusbind.c (Fdbus_call_method_asynchronously)
1879 (Fdbus_method_error_internal): New defuns.
1880 (xd_read_message): Handle also reply messages.
1881 (Vdbus_registered_functions_table): Extend docstring.
1882
18832008-07-31 Juanma Barranquero <lekktu@gmail.com>
1884
1885 * keyboard.c (gobble_input): Fix previous change.
1886
18872008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
1888
1889 * bitmaps/README:
1890 * xfns.c:
1891 * termcap.c:
1892 * term.c:
1893 * syswait.h:
1894 * systty.h:
1895 * systime.h:
1896 * syssignal.h:
1897 * sysdep.c:
1898 * process.h:
1899 * process.c:
1900 * print.c:
1901 * ndir.h:
1902 * lread.c:
1903 * keyboard.c:
1904 * getpagesize.h:
1905 * floatfns.c:
1906 * fileio.c:
1907 * emacs.c:
1908 * doc.c:
1909 * dispnew.c:
1910 * dired.c:
1911 * data.c:
1912 * callproc.c:
1913 * buffer.c:
1914 * README:
1915 * Makefile.in:
1916 * s/template.h:
1917 * s/msdos.h:
1918 * m/vax.h: Remove VMS support.
1919 * s/vms.h:
1920 * vlimit.h:
1921 * uaf.h:
1922 * temacs.opt:
1923 * param.h:
1924 * ioctl.h: Remove file.
1925
19262008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
1927
1928 * s/ms-w32.h (MULTI_KBOARD): Remove.
1929 * xterm.c:
1930 * xselect.c:
1931 * xfns.c:
1932 * window.c:
1933 * w32term.c:
1934 * w32fns.c:
1935 * terminal.c:
1936 * termhooks.h:
1937 * term.c:
1938 * sysdep.c:
1939 * keyboard.h:
1940 * keyboard.c:
1941 * frame.h:
1942 * frame.c:
1943 * frame.c: Remove references to MULTI_KBOARD, it is now the default.
1944 * config.in: Regenerate.
1945
19462008-07-30 Jason Rumney <jasonr@gnu.org>
1947
1948 * w32font.h (struct w32font_info): Use unicode version of textmetrics.
1949
1950 * w32font.c (w32font_encode_char): Leave as unicode if in range.
1951 (w32font_open_internal): Get unicode version of textmetrics.
1952 Don't enable or disable glyph indices here.
1953 (w32font_open): Disable use of glyph indices.
1954
1955 * w32uniscribe.c (uniscribe_open): Enable use of glyph indices.
1956
19572008-07-30 Chong Yidong <cyd@stupidchicken.com>
1958
1959 * minibuf.c (Vread_buffer_function): Doc fix.
1960
19612008-07-30 John Paul Wallington <jpw@pobox.com>
1962
1963 * minibuf.c (read_buffer_completion_ignore_case): New var.
1964 (Fread_buffer): Use it.
1965
19662008-07-30 Dan Nicolaescu <dann@ics.uci.edu>
1967
1968 * systty.h (sensemode): Remove empty #if. Remove reference to
1969 BSD_TERMIOS, unused.
1970
1971 * sysdep.c: Remove reference to DGUX.
1972 (closedir): Remove reference to BROKEN_CLOSEDIR, unused.
1973
1974 * config.in: Regenerate.
1975
19762008-07-30 Jason Rumney <jasonr@gnu.org>
1977
1978 * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size.
1979
19802008-07-29 Jason Rumney <jasonr@gnu.org>
1981
1982 * w32uniscribe.c (uniscribe_shape): Avoid using context if cache
1983 is populated.
1984 (uniscribe_encode_char): Always use uniscribe.
1985 Avoid using context if cache is populated.
1986
19872008-07-29 Jan Djärv <jan.h.d@swipnet.se>
1988
1989 * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to
1990 open menu.
1991
1992 * gtkutil.c (menu_nav_ended): Remove.
1993 (create_menus): Remove signal connect for menu_nav_ended.
1994
19952008-07-28 Chong Yidong <cyd@stupidchicken.com>
1996
1997 * xdisp.c (redisplay_window): Check return value of
1998 compute_window_start_on_continuation_line before forcing a window
1999 start.
2000
20012008-07-28 Jason Rumney <jasonr@gnu.org>
2002
2003 * w32font.c (w32font_text_extents): Use w32_metric_cache consistently.
2004
2005 * w32term.c (w32_enable_unicode_output, cleartype_active):
2006 Remove obsolete display options.
2007 (x_draw_glyph_string_background): Don't use old cleartype_active
2008 workaround.
2009 (w32_initialize): Remove cleartype_active initialization.
2010 (syms_of_w32term): Remove w32_enable_unicode_output initialization.
2011
20122008-07-28 Andreas Schwab <schwab@suse.de>
2013
2014 * lisp.h (init_weak_hash_tables, syms_of_font)
2015 (xd_read_queued_messages, syms_of_dbusbind): Declare.
2016 (remove_hash_entry): Don't declare.
2017 * eval.c (maybe_call_debugger): Make static and move before use.
2018 * gtkutil.c: Include <X11/Xft/Xft.h> if HAVE_XFT.
2019 * xdisp.c: Include "gtkutil.h" if USE_GTK.
2020 * xterm.h (x_set_frame_alpha): Declare.
2021
20222008-07-28 Jan Djärv <jan.h.d@swipnet.se>
2023
2024 * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24.
2025 (create_menus): Connect selection-done to menu_nav_ended.
2026
20272008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
2028
2029 * nsfns.m (x-create-frame): Add copy of parms argument to beginning.
2030 Set Vx_resource_name to a fallback. Replace read of 'buffered'
2031 parameter with read of 'alpha' one.
2032 (Qns_frame_parameter): Remove.
2033 * nsselection.m (selection-coding-system)
2034 (next-selection-coding-system, Vselection_coding_system)
2035 (Vnext_selection_coding_system): Drop.
2036
20372008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
2038
2039 * nsfns.m (do-applescript, do_applescript): Rename to
2040 ns-do-applescript, ns_do_applescript, and move within file.
2041
20422008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
2043
2044 Remove support for Mac Carbon.
2045 * mactoolbox.c:
2046 * macterm.h:
2047 * macterm.c:
2048 * macselect.c:
2049 * macmenu.c:
2050 * macgui.h:
2051 * macfns.c:
2052 * mac.c: Remove file.
2053 * s/darwin.h:
2054 * m/intel386.h:
2055 * xfaces.c:
2056 * xdisp.c:
2057 * window.c:
2058 * tparam.c:
2059 * termhooks.h:
2060 * termcap.c:
2061 * term.c:
2062 * syssignal.h:
2063 * sysselect.h:
2064 * sysdep.c:
2065 * process.c:
2066 * lread.c:
2067 * lisp.h:
2068 * keyboard.c:
2069 * image.c:
2070 * fringe.c:
2071 * frame.h:
2072 * frame.c:
2073 * fontset.c:
2074 * font.h:
2075 * font.c:
2076 * fns.c:
2077 * fileio.c:
2078 * emacs.c:
2079 * dispnew.c:
2080 * dispextern.h:
2081 * config.in:
2082 * atimer.c:
2083 * Makefile.in: Remove code for Carbon
2084
20852008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2086
2087 * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.
2088
20892008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2090
2091 * macterm.h (kCGBitmapByteOrder32Host): New define for
2092 non-universal SDKs.
2093
2094 * image.c (mac_create_cg_image_from_image, image_load_image_io)
2095 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
2096
2097 * macterm.c (XDrawLine, XCreatePixmapFromBitmapData)
2098 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
2099
21002008-07-26 David Robinow <drobinow@gmail.com> (tiny change)
2101
2102 * w32inevt.c: Include dispextern.h.
2103
21042008-07-26 Andreas Schwab <schwab@suse.de>
2105
2106 * print.c (print_object): Fix off-by-one in last change.
2107
21082008-07-25 Juanma Barranquero <lekktu@gmail.com>
2109
2110 * term.c (syms_of_term): Don't initialize default_orig_pair,
2111 default_set_foreground and default_set_background on Windows.
2112
21132008-07-25 Jason Rumney <jasonr@gnu.org>
2114
2115 * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to
2116 ScriptItemize. Clean up return value checking. Remove unused
2117 variables.
2118 (uniscribe_encode_char): Encode non-BMP characters with uniscribe
2119 shaping engine.
2120
2121 * w32font.c (w32font_has_char): Handle the case where we can't
2122 determine the script for a character.
2123
21242008-07-25 Chong Yidong <cyd@stupidchicken.com>
2125
2126 * term.c (syms_of_term): Initialize default_orig_pair,
2127 default_set_foreground, and default_set_background.
2128
2129 * getloadavg.c (nl): Rename to name_list to avoid ncurses.h
2130 clash (bug#86).
2131 (getloadavg): Callers changed.
2132
2133 * image.c (svg_load_image): Fix last change.
2134 (svg_load_image): Use rsvg_handle_get_dimensions to check that
2135 image size is valid. Use g_object_unref instead of deprecated
2136 rsvg_handle_free to free rsvg handle.
2137 (x_from_xcolors): Don't initialize pixmap (silence compiler).
2138
21392008-07-25 Jason Rumney <jasonr@gnu.org>
2140
2141 * w32font.c (w32font_encode_char): Encode characters outside BMP as
2142 surrogates before looking up glyph index.
2143 (w32font_text_extents): Encode as surrogates if falling back to
2144 functions that need UTF-16 wide chars.
2145
2146 * w32uniscribe.c (uniscribe_encode_char): Encode characters outside
2147 BMP as surrogates before looking up glyph index.
2148
21492008-07-25 Chong Yidong <cyd@stupidchicken.com>
2150
2151 * image.c (svg_load_image): Check for failure in return value of
2152 rsvg_handle_get_pixbuf. Free rsvg handle when done.
2153
21542008-07-25 Jason Rumney <jasonr@gnu.org>
2155
2156 * w32font.c (Fx_select_font): Reverse sense of second arg.
2157
21582008-07-24 Stefan Monnier <monnier@iro.umontreal.ca>
2159
2160 * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos)
2161 (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions.
2162
2163 * puresize.h (PURESIZE_CHECKING_RATIO): New macro.
2164 (PURESIZE): Use it.
2165
21662008-07-24 Dan Nicolaescu <dann@ics.uci.edu>
2167
2168 * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs.
2169 * m/alpha.h (TEXT_END):
2170 * m/ibmrs6000.h (TEXT_END):
2171 * m/macppc.h (TEXT_END):
2172 * s/darwin.h (TEXT_END):
2173 * s/msdos.h (TEXT_END): Remove, unused.
2174 * s/gnu-linux.h (BSD_PGRPS): Add a comment.
2175 * s/cygwin.h: Remove comment.
2176
2177 * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused.
2178 (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES.
2179 * m/intel386.h (DOT_GLOBAL_START):
2180 * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES.
2181 (USG): Remove, file not used on USG platforms.
2182
2183 * Makefile.in (HAVE_X11): Remove empty #else.
2184
21852008-07-24 Andreas Schwab <schwab@suse.de>
2186
2187 * fileio.c (Finsert_file_contents): Properly adjust undo list
2188 after format conversion.
2189
21902008-07-24 Jan Djärv <jan.h.d@swipnet.se>
2191
2192 * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG.
2193 (menu_nav_ended): Remove.
2194 (create_menus): Remove signal connect for menu_nav_ended.
2195 (xg_update_menubar): Also take deactivate_cb as parameter, pass it to
2196 create_menus.
2197 (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar.
2198
21992008-07-23 Jason Rumney <jasonr@gnu.org>
2200
2201 * w32font.c (w32_enumfont_pattern_entity): Return height consistent
2202 with opened font.
2203 (w32font_open): Set font type to gdi.
2204
2205 * w32uniscribe.c (uniscribe_open): Set font type to uniscribe.
2206
22072008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
2208
2209 * s/usg5-4.h (ADDR_CORRECT): Remove, unused.
2210 * unexaix.c (ADDR_CORRECT): Remove conditional, the only user
2211 defines it.
2212 * unexec.c (ADDR_CORRECT): Define unconditionally.
2213
2214 * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove.
2215
2216 * unexec.c: Remove code depending on !COFF and USG, the file is
2217 not used for such systems.
2218
2219 * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
2220 * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused.
2221 (LD_SWITCH_SYSTEM_1): Remove, update users.
2222
2223 * s/darwin.h (DATA_END):
2224 * m/intel386.h (DATA_END):
2225 * m/ibmrs6000.h (DATA_END):
2226 * m/alpha.h (DATA_END): Remove, unused.
2227
2228 * config.in: Regenerate.
2229 * s/ms-w32.h (subprocesses): Define unconditionally.
2230 * s/template.h (subprocesses): Update comment.
2231 * s/vms.h (subprocesses):
2232 * s/usg5-4.h (subprocesses):
2233 * s/hpux10-20.h (subprocesses):
2234 * s/gnu-linux.h (subprocesses):
2235 * s/cygwin.h (subprocesses):
2236 * s/bsd-common.h (subprocesses):
2237 * s/aix4-2.h (subprocesses):
2238 * s/darwin.h (subprocesses): Do not define, defined by default now.
2239
2240 * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused.
2241 Remove all references.
2242 (temacs): Add GNUstep specific ld flags.
2243
2244 * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing,
2245 similarly to what X does.
2246
22472008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
2248
2249 * nsfns.m (x-list-fonts): Remove.
2250 (syms_of_nsfns): Drop the x-list-fonts declaration.
2251 * nsterm.m: Get rid of remaining "//" comments.
2252
22532008-07-22 Chong Yidong <cyd@stupidchicken.com>
2254
2255 * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
2256
2257 * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p)
2258 (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal)
2259 (Fns_own_selection_internal, Fx_disown_selection_internal)
2260 (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal):
2261
2262 * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /*
2263 ... */' style of docstrings. Doc fixes.
2264
22652008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
2266
2267 * terminfo.c (UP, BC, PC): Undo previous change.
2268
2269 * nsfns.m: Rename ns prefixed functions/variables to the
2270 corresponding x versions. Update references.
2271
22722008-07-22 Stefan Monnier <monnier@iro.umontreal.ca>
2273
2274 * syntax.c (char_quoted): Check "charpos > beg" before decrementing.
2275
22762008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
2277
2278 * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):
2279 Remove forwarding functions.
2280 (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make
2281 non-static.
2282 (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make
2283 non-static.
2284 (ns_frame_parm_handlers): Use the new names.
2285 (syms_of_nsfns): Move to the end of file.
2286
2287 * nsterm.m (syms_of_nsterm): Move to the end of file.
2288
2289 * dispnew.c (init_display): Remove code for X10.
2290
22912008-07-22 Jason Rumney <jasonr@gnu.org>
2292
2293 * w32proc.c (Fw32_long_file_name): Don't append dir separator to
2294 bare drive.
2295
22962008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
2297
2298 * nsterm.m (syms_of_nsterm): Remove debugging println.
2299
23002008-07-22 David Reitter <david.reitter@gmail.com>
2301
2302 * nsfns.m (do_applescript, F_do_applescript): NS version of the
2303 Carbon implementation of the same functionality: execute arbitrary
2304 AppleScript code.
2305
23062008-07-21 Adrian Robert <Adrian.B.Robert@gmail.com>
2307
2308 * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
2309 (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
2310 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
2311 (Fx_display_mm_height, Fx_display_mm_width)
2312 (Fx_display_backing_store, Fx_display_visual_class)
2313 (Fx_display_save_under, Fx_open_connection)
2314 (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
2315 (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
2316 (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
2317 (Fx_display_pixel_width, Fx_display_pixel_height)
2318 (Fx_display_usable_bounds, Fx_display_planes)
2319 (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
2320 ... */' style of docstrings.
2321
23222008-07-21 Dan Nicolaescu <dann@ics.uci.edu>
2323
2324 * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
2325 on this platform.
2326 (mips):
2327 * m/iris4d.h (mips): Do not define.
2328 * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
2329
2330 * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
2331
2332 * image.c:
2333 * nsfns.m:
2334 * nsselect.m:
2335 * nsterm.h:
2336 * nsterm.m: Rename ns prefixed functions/variables to the
2337 corresponding x versions. Update references.
2338
2339 * m/ibms390x.h (NO_REMAP): Do not undefine.
2340
2341 * m/amdx86-64.h: Use SOLARIS2 instead of sun.
2342
23432008-07-21 Chong Yidong <cyd@stupidchicken.com>
2344
2345 * nsfns.m: Change NS to Nextstep in docstrings and error messages.
2346 (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
2347 (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
2348 (Fns_server_vendor, Fns_server_version, Fns_display_screens)
2349 (Fns_display_mm_height, Fns_display_mm_width)
2350 (Fns_display_backing_store, Fns_display_visual_class)
2351 (Fns_display_save_under, Fns_open_connection)
2352 (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
2353 (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
2354 (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
2355 (Fns_display_pixel_width, Fns_display_pixel_height)
2356 (Fns_display_usable_bounds, Fx_display_planes)
2357 (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
2358
23592008-07-21 Ami Fischman <ami@fischman.org> (tiny change)
2360
2361 * print.c (print_object): Check print_depth before searching for
2362 circularities.
2363
23642008-07-21 Michael Albinus <michael.albinus@gmx.de>
2365
2366 * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
2367 only sprintf.
2368
23692008-07-21 Kenichi Handa <handa@m17n.org>
2370
2371 * ftfont.c (adjust_anchor): Check if DeltaValue is not NULL.
2372
23732008-07-20 Andreas Schwab <schwab@suse.de>
2374
2375 * syntax.c (find_start_pos, find_start_value)
2376 (find_start_value_byte, find_start_begv, find_defun_start)
2377 (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions.
2378
23792008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
2380
2381 * s/sol2-3.h: Insert contents of s/sol2.h.
2382 (LD_SWITCH_SYSTEM): Remove redundant definition.
2383 * s/sol2.h: Remove, unused.
2384
23852008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
2386
2387 * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV.
2388
23892008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
2390
2391 * Makefile.in (ns_appdir): Fix typo in find command.
2392
23932008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
2394
2395 * m/intel386.h (NO_REMAP): Do no define for USG, not used.
2396
2397 * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
2398 added not supported anymore.
2399
2400 * s/usg5-4-2.h (LIBS_SYSTEM):
2401 * s/sol2.h (LIBS_SYSTEM): Do not undefine.
2402
2403 * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
2404 * s/lynxos.h (GETPGRP_NO_ARG):
2405 * s/hpux10-20.h (NO_SIOCTL_H):
2406 * s/gnu.h (GETPGRP_NO_ARG):
2407 * s/gnu-linux.h (NO_SIOCTL_H):
2408 * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
2409 * s/cygwin.h (GETPGRP_NO_ARG):
2410 * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
2411 (C_DEBUG_SWITCH): Remove duplicate definition.
2412
2413 * m/ibms390.h: Remove boilerplate comments.
2414
2415 * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
2416
2417 * process.c (HAVE_SERIAL): Consolidate ifdefs.
2418 (wait_reading_process_output): Remove code for SunOS, platform not
2419 supported anymore. Use SOLARIS2 instead of sun.
2420
24212008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2422
2423 * font.c (font_open_by_name): Under NS, default lface height to zero.
2424 (font_open_for_lface): Under NS, set size based on frame fontsize.
2425 * nsterm.m (EmacsView-changeFont:): Remove some commented code.
2426 * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
2427
24282008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2429
2430 * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
2431 (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
2432 DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
2433 YES/NO.
2434 * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
2435 * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
2436 * Makefile.in (clean): Clear out build destination dir.
2437
24382008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2439
2440 * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
2441 xterm, xselect.
2442 * lisp.h: Remove declaration of hash_remove.
2443 * nsgui.h: Remove redefinitions of hash_remove.
2444 * fns.c (hash_remove): Rename to hash_remove_from_table.
2445
24462008-07-19 Seiji Zenitani <zenitani@mac.com>
2447
2448 * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
2449 strdup() the family UTF8String before modifying it.
2450
24512008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2452
2453 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
2454 NS_FACE_BACKGROUND with 0 instead of nil.
2455 * nsfont.m (nsfont_draw): Same.
2456
24572008-07-19 Chong Yidong <cyd@stupidchicken.com>
2458
2459 * nsfns.m (ns_set_background_color): Fix crash.
2460
24612008-07-18 Chong Yidong <cyd@stupidchicken.com>
2462
2463 * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
2464
24652008-07-18 Dan Nicolaescu <dann@ics.uci.edu>
2466
2467 * puresize.h (BASE_PURESIZE): Increase to 1240000.
2468
24692008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2470
2471 * gtkutil.c: Include <config.h> instead of "config.h".
2472
2473 * lisp.h (Foverlay_buffer): Add EXFUN.
2474
2475 * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
2476 child process to complete child_setup. Undo 2005-09-21 change.
2477
2478 * s/darwin.h: Mention setsid after vfork.
2479
24802008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2481
2482 * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
2483 Depend on macgui.h.
2484
2485 * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
2486 gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
2487
2488 * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
2489 and f19.
2490 [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
2491
2492 * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
2493 (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
2494 Remove enumerators.
2495
2496 * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
2497 Check if FACE_FROM_ID returns NULL.
2498
24992008-07-17 David Robinow <drobinow@gmail.com> (tiny change)
2500
2501 * w32inevt.c (change_frame_size): Remove extern declaration.
2502 (resize_event, maybe_generate_resize_event): Pass SAFE arg to
2503 change_frame_size.
2504
25052008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
2506
2507 * getloadavg.c: Revert last change (2008-07-15).
2508
25092008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
2510
2511 * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
2512 set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc) set
2513 from configure.
2514
25152008-07-17 Dan Nicolaescu <dann@ics.uci.edu>
2516
2517 * s/sol2.h:
2518 * s/sol2-4.h: Reorganize conditionals.
2519
2520 * ecrt0.c: Remove code depending on m68000, not used anymore.
2521
2522 * fns.c (hash_remove): Make static.
2523 * lisp.h (hash_remove): Don't prototype.
2524
2525 * m/ibmrs6000.h:
2526 * m/ibms390x.h:
2527 * m/macppc.h: Remove boilerplate comments.
2528
2529 * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
2530 Solaris, which does not need them.
2531
2532 * m/vax.h: Remove comments about unsupported systems.
2533
2534 * s/darwin.h: Reorganize ifdefs.
2535
25362008-07-17 Andreas Schwab <schwab@suse.de>
2537
2538 * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
2539
25402008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
2541
2542 Use SDATA. Follow coding convention of placing operators at
2543 beginning of next line rather than end of previous line, and placing
2544 spaces around infix operators.
2545
2546 * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
2547 in case it was defined already.
2548 USE @GNUSTEP_MAKEFILES@ rather than envvars.
2549 * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
2550 ns_default.
2551 (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
2552 Lisp_Objects.
2553 * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
2554 (ns_defined_color, ns_color_to_lisp): Declare.
2555 * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
2556 (Fns_own_selection_internal): Make the big ugly hack more explicit, so
2557 it's accepted even with USE_LISP_UNION_TYPE.
2558 * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
2559 (update_frame_tool_bar): Remove apparently obsolete tests for
2560 non-integerness of f->tool_bar_lines.
2561 (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
2562 hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
2563 * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
2564 (nsfont_open): Don't confuse NULL for Qnil.
2565 * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
2566 * menu.h (find_and_call_menu_selection):
2567 * menu.c (find_and_call_menu_selection): Use just int for vector size.
2568 (find_and_return_menu_selection): Always return something.
2569 * frame.h: Include dispextern.h for Display_Info.
2570 (display_x_get_resource): Declare.
2571
25722008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
2573
2574 * syntax.c: Remove stdio.h include accidentally introduced in
2575 Emacs.app commit.
2576 * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
2577 NS_IMPL_COCOA.
2578 * keyboard.c (handle_async_input, input_available_signal): Remove
2579 BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
2580
25812008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
2582
2583 * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
2584 (ns_lisp_to_color): Don't mess with internal Lisp data fields.
2585 (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
2586 Use SDATA.
2587
2588 * keymap.c: Remove all NS-specific code.
2589 (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
2590 (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
2591 where_is_preferred_modifier, return a different value depending on how
2592 preferred is the binding.
2593 (where_is_internal): Adjust accordingly.
2594 (Fwhere_is_internal): Refresh where_is_preferred_modifier.
2595 Adjust to new preferred_sequence_p.
2596 (syms_of_keymap): Declare `where-is-preferred-modifier'.
2597 * keyboard.c (parse_solitary_modifier): Not static any more.
2598 * keyboard.h (parse_solitary_modifier): Declare.
2599
26002008-07-16 Andreas Schwab <schwab@suse.de>
2601
2602 * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
2603 of easymenu.
2604
26052008-07-16 Chong Yidong <cyd@stupidchicken.com>
2606
2607 * xdisp.c (move_it_in_display_line): Account for word wrap, so
2608 that we don't move off the line.
2609
26102008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
2611
2612 * keyboard.c (Qsuper): Remove.
2613 (parse_menu_item): Don't call where_is_internal specially for NS.
2614
26152008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
2616
2617 * s/gnu-linux.h: Remove boilerplate comments.
2618
2619 * m/alpha.h (__ELF__): Consolidate conditions.
2620
2621 * m/m68k.h (linux): Use GNU_LINUX instead.
2622 Remove boilerplate comments.
2623
2624 * m/intel386.h: Undo refactoring from previous change.
2625 (LIB_STANDARD): All systems that define USG define LIB_STANDARD
2626 too, remove dead code.
2627 (linux): Use GNU_LINUX instead.
2628
26292008-07-16 Jason Rumney <jasonr@gnu.org>
2630
2631 * w32gui.h: Repeat 26 June changes lost by last change.
2632
26332008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
2634
2635 * systty.h: Remove code for Aix on 386, unsupported platform.
2636
2637 * s/ms-w32.h: Remove boilerplate comments.
2638 (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
2639
2640 * s/gnu-linux.h (TERM): Remove support.
2641 (HAVE_SYSVIPC): Remove, unused.
2642 (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
2643 for this system.
2644
2645 * process.c: Remove support for IRIS, unused.
2646 Remove support for TERM, not relevant anymore.
2647
2648 * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
2649 used with the definition.
2650
2651 * s/aix4-2.h (static): Do not undef.
2652
2653 * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
2654 only used on Aix.
2655 (HAVE_SYSVIPC): Remove, unused.
2656
2657 * m/hp800.h (CANNOT_DUMP): Do not undef.
2658
2659 * m/alpha.h: Fix comment.
2660
2661 * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
2662 (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
2663 used by this configuration.
2664 * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
2665 * unexec.c: Remove code depending on HPUX and
2666 USG_SHARED_LIBRARIES, not used with this file. Remove code
2667 depending on IRIS, unused. Remove if 0-ed code.
2668
2669 * s/template.h: Remove comments about static.
2670
2671 * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
2672 Remove if 0-ed code.
2673 (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
2674 were the same as the default.
2675 * s/vms.h (BAUD_CONVERT): Remove, same as the default.
2676 Remove boilerplate comments.
2677 * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
2678 (HAVE_SYSVIPC): Remove, unused.
2679 (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
2680
2681 * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
2682 Remove boilerplate comments.
2683 * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
2684 Remove boilerplate comments.
2685 * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
2686 Remove boilerplate comments.
2687 * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
2688
2689 * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
2690 USG systems which do not use DATA_SEG_BITS.
2691 Refactor code. Remove boilerplate comments.
2692
2693 * m/ibms390.h:
2694 * m/m68k.h:
2695 * s/bsd-common.h:
2696 * s/cygwin.h:
2697 * s/darwin.h:
2698 * s/freebsd.h:
2699 * s/gnu.h:
2700 * s/msdos.h: Remove boilerplate comments.
2701
2702 * m/iris4d.h: Remove boilerplate comments and code for systems that
2703 do not use this file.
2704 (IRIS_4D): Remove, unused.
2705
2706 * m/mips.h: Remove boilerplate comments and code for systems that
2707 do not use this file.
2708 (SIGN_EXTEND_CHAR):
2709 * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
2710 * unexmips.c: Remove file, unused.
2711
2712 * editfns.c (Fuser_full_name): Replace the only use of
2713 USER_FULL_NAME with its value.
2714 * config.in: Regenerate.
2715
27162008-07-16 David Reitter <david.reitter@gmail.com>
2717
2718 * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
2719 easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
2720
27212008-07-16 Glenn Morris <rgm@gnu.org>
2722
2723 * emacs.c (system-type): Doc fix.
2724
27252008-07-15 Stefan Monnier <monnier@iro.umontreal.ca>
2726
2727 * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
2728 If the cache doesn't work, let's fix it, rather than work around it.
2729
27302008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
2731
2732 * Makefile.in: Correct additions for nsfont.o in last commit.
2733 * nsfont.m: New file (forgot last commit).
2734
27352008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
2736
2737 * callproc.c (set_initial_environment): Initialize
2738 Vprocess_environment under CANNOT_DUMP (fixes crash when
2739 batch-compiling for bootstrap).
2740
27412008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
2742 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2743
2744 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
2745 fix crash due to different init order.
2746
27472008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
2748
2749 Changes and additions for NeXTstep windowing system (Cocoa and
2750 GNUstep) support.
2751
2752 * Makefile.in:
2753 * config.in: Support defines and build commands for NS port.
2754 * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
2755 (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
2756 * dispextern.h: Include nsgui.h and add needed typedefs under NS
2757 windowing.
2758 (struct face): Add synth_ital field.
2759 * dispnew.c: Include nsterm.h when compiling under NS windowing.
2760 (init_display): Initialize Vinitial_window_system to "ns" when so
2761 compiled.
2762 * emacs.c: Include GSConfig.h when compiling under GNUstep.
2763 (display_arg): Use under NS.
2764 (main): Under NS, allocate autorelease pool and handle command line
2765 args. Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
2766 (standard_args): Add NS-specific args.
2767 (shut_down_emacs): Shut down NS terminal if compiled under NS.
2768 * font.c (DEFAULT_ENCODING): New variable.
2769 (font_find_for_lface): Use it.
2770 (syms_of_font): Load syms_of_nsfont under NS.
2771 * font.h: Declare nsfont_driver when compiled under NS.
2772 * fontset.c: When compiling under NS, include nsterm.h.
2773 (fontset_from_font): Autoconstruct fontset under NS.
2774 * frame.c (various): Under NS, include nsterm.h, add Qns window system
2775 symbol, document and use it.
2776 (do_switch_frame): When for_deletion under Cocoa, add
2777 Fraise_frame(Qnil).
2778 (x_set_frame_parameters): Ensure font attribute changes are picked up.
2779 (x_get_arg): Allow "yes" and "no" as boolean values.
2780 (syms_of_frame): Declare Qns. Init Vdefault_frame_scroll_bars to
2781 Qright under Cocoa.
2782 (focus-follows-mouse): Default to 0 under NS.
2783 * frame.h (enum output_method): Add output_ns.
2784 (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
2785 (FRAME_EXTERNAL_MENU_BAR): Use under NS.
2786 (FRAME_WINDOW_P): NS-specific definition.
2787 * fringe.c (max_used_fringe_bitmap): Make public.
2788 * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
2789 (getloadavg): Use NeXT code under descendant OS's.
2790 * image.c (includes and header section, x_create_bitmap_from_data)
2791 (x_create_bitmap_from_file, free_bitmap_record, image_background)
2792 (image_background_transparent, x_clear_image_1)
2793 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
2794 (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
2795 (x_to_xcolors, x_from_xcolors, x_disable_image)
2796 (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
2797 other GUIs, including XPM support using code originally written for
2798 Carbon GUI.
2799 (png_load, jpeg_load, tiff_load, gif_load): Add implementations
2800 using NS API.
2801 (image_ascent): Use font metrics macros instead of direct struct field
2802 access.
2803 * keyboard.c (includes): Add nsterm.h when compiling under NS.
2804 (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
2805 Also, handle NS as GTK for menu bar purposes.
2806 (make_lispy_event): Handle NS as other GUI windowing systems, and as X
2807 toolkit where they differ.
2808 (parse_menu_item): Prefer keybindings using 'super' modifier. Also,
2809 use cachelist, still needed under NS.
2810 * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
2811 (struct widget_value): Define it here for menu.c.
2812 * keymap.c (includes): Include modifier internals.
2813 (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
2814 NS.
2815 (where_is_internal, Fwhere_is_internal): When compiled under NS, add
2816 support for preferring sequences using certain modifiers, specified by
2817 the FIRSTONLY argument.
2818 * lisp.h (hash_remove): Rename to avoid name clash when compiling
2819 under NS GNUstep implementation.
2820 (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
2821 * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
2822 * menu.c: Include nsterm.h under NS.
2823 (single_menu_item, parse_single_submenu, xmalloc_widget_value)
2824 (free_menubar_widget_tree_value, update_submenu_strings)
2825 (find_and_call_menu_selection): Treat NS as X and NT.
2826 (find_and_return_menu_selection): New function, used for popup menus.
2827 * nsgui.h:
2828 * nsterm.h:
2829 * nsfns.m:
2830 * nsimage.m:
2831 * nsmenu.m:
2832 * nsselect.m:
2833 * nsterm.m: New files.
2834 * process.c (wait_reading_process_output): Under NS, call ns_select()
2835 instead of plain select().
2836 * syntax.c (char_quoted): Under NS, avoid a crash when called near
2837 beginning of buffer.
2838 * sysselect.h (init_process): Rename when compiling under Cocoa to
2839 avoid name conflict.
2840 * termhooks.h (display_info): Add ns_display_info to union.
2841 * terminal.c (Fterminal_live_p): Add ns to terminal types.
2842 * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
2843 COCOA environment.
2844 * unexnext.c: Update to work with mach API on Mac OS X, and to use new
2845 unexec() signature. (Note, this will dump, but the resulting file
2846 crashes; unexosx is used instead; keeping around for reference and
2847 possible aid in getting dump working under GNUstep.)
2848 * w32gui.h (button_type, widget_value): Remove definitions (now in
2849 keyboard.h).
2850 * window.c: Include nsterm.h when compiling under NS.
2851 * xdisp.c (includes): Include nsterm.h when compiling under NS.
2852 (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
2853 other GUI windowing systems.
2854 (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
2855 GTK.
2856 (x_consider_frame_title): Under NS, set icon type and frame
2857 modified-state indicator; use ns_set_name_as_filename() when using
2858 formatted title.
2859 (update_window_cursor): Make public when compiling under NS.
2860 (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
2861 (hourglass_atimer, Vhourglass_delay
2862 * xfaces.c (header section, init_frame_faces, clear_font_table)
2863 (defined_color, unload_color, x_face_list_fonts)
2864 (prepare_face_for_display): Add NS support parallel to other GUIs.
2865 Emulate GCs like other non-X GUIs.
2866 (split_font_name): Don't lowercase font name under NS.
2867 (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
2868 under NS.
2869 * s/darwin.h: Add support for compilation under NS.
2870
28712008-07-15 Jason Rumney <jasonr@gnu.org>
2872
2873 * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
2874 (w32_show_hourglass): Rename from show_hourglass.
2875 (w32_hide_hourglass): Rename from hide_hourglass.
2876 (DEFAULT_HOURGLASS_DELAY): Revert from last change.
2877 (Vhourglass_delay): Declare extern.
2878 (hourglass_started): Remove.
2879
2880 * xdisp.c (Vhourglass_delay): Remove static.
2881 (hourglass_started, start_hourglass, cancel_hourglass):
2882 Don't include these versions on WINDOWSNT.
2883
28842008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
2885
2886 * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
2887 variables (formerly in xfns.c).
2888 (show_hourglass, hide_hourglass): New prototypes (same).
2889 * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
2890 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
2891 in xfns.c).
2892 (syms_of_xdisp): Declare/initialize display-hourglass,
2893 hourglass-delay. Initialize hourglass_atimer, hourglass_shown_p.
2894 (hourglass_started, start_hourglass, cancel_hourglass): New functions,
2895 formerly in xfns.c.
2896 * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
2897 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
2898 (start_hourglass, cancel_hourglass): Remove.
2899 (show_hourglass, hide_hourglass): Remove prototypes and static
2900 modifiers.
2901 (syms_of_xfns): Remove display-hourglass, hourglass-delay,
2902 hourglass_atimer, hourglass_shown_p declaration/initialization.
2903 * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
2904 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
2905 (start_hourglass, cancel_hourglass): Remove.
2906 (show_hourglass, hide_hourglass): Remove prototypes and static
2907 modifiers.
2908 (syms_of_macfns): Remove display-hourglass, hourglass-delay,
2909 hourglass_atimer, hourglass_shown_p declaration/initialization.
2910 * w32fns.c (display_hourglass_p, Vhourglass_delay)
2911 (DEFAULT_HOURGLASS_DELAY): Remove.
2912 (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
2913 hourglass_shown_p declaration/initialization.
2914
29152008-07-14 Jason Rumney <jasonr@gnu.org>
2916
2917 * w32fns.c (w32_get_arg): Remove wrapper function.
2918 (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
2919 directly.
2920 (Fx_create_frame): Sync with xfns.c. Use x_get_arg directly.
2921
29222008-07-14 Kenichi Handa <handa@m17n.org>
2923
2924 * xfont.c (xfont_open): Add workaround for X's bug.
2925
29262008-07-14 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
2927
2928 * fontset.c: Include <stdio.h> unconditionally.
2929
29302008-07-13 Michael Albinus <michael.albinus@gmx.de>
2931
2932 * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
2933 for filtering.
2934
29352008-07-13 Dan Nicolaescu <dann@ics.uci.edu>
2936
2937 * s/vms.h: Use __GNUC__ instead of _GNUC_.
2938
2939 * m/macppc.h:
2940 * m/alpha.h: Use GNU_LINUX instead of LINUX. Reorganize conditionals.
2941
2942 * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
2943 (SPECIAL_EMACS_INT):
2944 * m/ia64.h (SPECIAL_EMACS_INT):
2945 * m/amdx86-64.h (SPECIAL_EMACS_INT):
2946 * s/gnu.h (NLIST_STRUCT):
2947 * s/aix4-2.h (X11R5_INHIBIT_I18N):
2948 * s/gnu-linux.h (LINUX):
2949 * s/msdos.h (HAVE_FACES):
2950 * s/ms-w32.h (HAVE_FACES): Don't define, unused.
2951
2952 * systty.h:
2953 * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
2954 anymore.
2955
29562008-07-12 Dan Nicolaescu <dann@ics.uci.edu>
2957
2958 * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was
2959 always defined as int.
2960
2961 * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
2962 * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
2963 * s/gnu-linux.h (HAVE_WAIT_HEADER):
2964 * s/freebsd.h (HAVE_WAIT_HEADER):
2965 * s/bsd-common.h (HAVE_UNION_WAIT):
2966 * s/aix4-2.h (HAVE_WAIT_HEADER):
2967 * m/mips.h (HAVE_UNION_WAIT):
2968 * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
2969 (COFF, static): Do not define, they are undefined later in the file.
2970
2971 * process.c (update_status): Don't use a union.
2972 (status_convert):
2973 (sigchld_handler): Use int instead of WAITTYPE.
2974
29752008-07-12 Chong Yidong <cyd@stupidchicken.com>
2976
2977 * indent.c (Fvertical_motion): Restore hscroll before moving to
2978 goal column.
2979
29802008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
2981
2982 * lisp.h: Remove left over code.
2983
29842008-07-11 Andreas Schwab <schwab@suse.de>
2985
2986 * lisp.h: Fix logic in last change.
2987
2988 * menu.h: New file.
2989 * menu.c: Include it.
2990 * xmenu.c: Likewise.
2991 * Makefile.in: Update dependencies.
2992
29932008-07-11 Kenichi Handa <handa@m17n.org>
2994
2995 * fontset.c (fontset_from_font): Cancel the previous change.
2996
29972008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
2998
2999 * lisp.h:
3000 * w32heap.c:
3001 * emacs.c:
3002 * alloc.c: Replace all references of NO_UNION_TYPE with
3003 USE_LISP_UNION_TYPE.
3004
3005 * m/xtensa.h (NO_UNION_TYPE):
3006 * m/vax.h (NO_UNION_TYPE):
3007 * m/template.h (NO_UNION_TYPE):
3008 * m/sparc.h (NO_UNION_TYPE):
3009 * m/mips.h (NO_UNION_TYPE):
3010 * m/macppc.h (NO_UNION_TYPE):
3011 * m/m68k.h (NO_UNION_TYPE):
3012 * m/iris4d.h (NO_UNION_TYPE):
3013 * m/intel386.h (NO_UNION_TYPE):
3014 * m/ibms390x.h (NO_UNION_TYPE):
3015 * m/ibms390.h (NO_UNION_TYPE):
3016 * m/ibmrs6000.h (NO_UNION_TYPE):
3017 * m/ia64.h (NO_UNION_TYPE):
3018 * m/hp800.h (NO_UNION_TYPE):
3019 * m/arm.h (NO_UNION_TYPE):
3020 * m/amdx86-64.h (NO_UNION_TYPE):
3021 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
3022 defining it the same.
3023
30242008-07-10 Chong Yidong <cyd@stupidchicken.com>
3025
3026 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
3027
30282008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
3029
3030 * fileio.c:
3031 * sysdep.c
3032 * systty.h:
3033 * m/ibmrs6000.h:
3034 * m/iris4d.h:
3035 * s/aix4-2.h:
3036 * s/freebsd.h:
3037 * s/gnu-linux.h:
3038 * s/hpux10-20.h:
3039 * s/hpux11.h:
3040 * s/netbsd.h:
3041 * s/sol2-3.h:
3042 * s/sol2-4.h:
3043 * s/sol2.h:
3044 * s/usg5-4.h:
3045 * s/vms.h: Remove references to unused variables.
3046
30472008-07-10 Andreas Schwab <schwab@suse.de>
3048
3049 * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
3050 pattern before matching the generic family.
3051
30522008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
3053
3054 * unexec.c:
3055 * s/vms.h:
3056 * s/usg5-4-2.h:
3057 * s/sol2-5.h:
3058 * s/freebsd.h:
3059 * s/darwin.h: Remove dead code.
3060
3061 * m/template.h:
3062 * m/sparc.h:
3063 * m/mips.h:
3064 * m/m68k.h:
3065 * m/iris4d.h:
3066 * m/intel386.h:
3067 * m/ibms390x.h:
3068 * m/ibms390.h:
3069 * m/ia64.h:
3070 * m/hp800.h:
3071 * m/arm.h:
3072 * m/amdx86-64.h: Remove dead code and references to unused
3073 and compiler defined symbols.
3074
3075 * unexmips.c:
3076 * unexelf.c: Remove references to desupported systems.
3077
3078 * m/powermac.h: Remove file, it is now identical to m/macppc.h.
3079
3080 * m/powermac.h: Remove boilerplate comments.
3081 (NO_REMAP): Remove unused definition.
3082
3083 * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
3084 define them.
3085
30862008-07-10 Kenichi Handa <handa@m17n.org>
3087
3088 * xfont.c (xfont_open): Log the reason of failure.
3089
30902008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
3091
3092 * fontset.c (fontset_get_font_group):
3093 * font.c (font_check_otf): Specify argument types.
3094
30952008-07-09 Kenichi Handa <handa@m17n.org>
3096
3097 * coding.c (detect_coding_utf_8): Set detect_info->found only when
3098 non-ASCII char is found.
3099
3100 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
3101 (reorder_font_vector): Change the arg preferred_family to font.
3102 Prefer the spec matching with font.
3103 (fontset_get_font_group): New function.
3104 (fontset_find_font): Change the format of an element of a realized
3105 fontset. Use fontset_get_font_group.
3106 (fontset_font): Try the current fontset, the default fontset, the
3107 fallbacks of the current fontset, and the fallbacks of the default
3108 fontset in this order.
3109 (face_for_char): Delete the shortcut to use the current font.
3110 (fontset_from_font): Don't set fonts for Latin in the fontset.
3111
3112 * font.h (font_make_object, font_match_p): Adjust prototypes.
3113
3114 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
3115
3116 * font.c (font_make_object): New arg entity and pixelsize.
3117 (font_check_otf_features, font_check_otf): New functions.
3118 (font_match_p): Check :lang, :script, and :otf properties.
3119
3120 * xfont.c (xfont_open): Adjust it for the change of
3121 font_make_object.
3122 (xfont_text_extents): Fix initial setting of metrics.
3123
3124 * ftfont.c (struct ftfont_info): New member index, delete member
3125 fc_charset_idx. Make the member order compatible with struct
3126 xftfont_info.
3127 (fc_charset_table): Change charset names to registry names.
3128 (ftfont_pattern_entity): Delete the args registry and
3129 fc_charset_idx. Change the value of :font-entity property
3130 to (FONTNAME . INDEX). Always set :registry property to
3131 `iso10646-1'.
3132 (struct ftfont_cache_data): New struct.
3133 (ftfont_lookup_cache): New arg for_face.
3134 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
3135 (ftfont_driver): Set the member otf_capability.
3136 (ftfont_get_charset): Adjust it for the change of
3137 fc_charset_table.
3138 (OTF_TAG_SYM): New macro.
3139 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
3140 for the change of fc_charset_table.
3141 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
3142 ftfont_pattern_entity. Add FC_INDEX to objset.
3143 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
3144 and ftfont_pattern_entity.
3145 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
3146 font_make_object, struct ftfont_info.
3147 (ftfont_has_char): Use ftfont_get_fc_charset.
3148 (ftfont_otf_features, ftfont_otf_capability): New functions.
3149 (ftfont_shape): Use ftfont_get_otf.
3150 (ftfont_text_extents): Fix initial setting of metrics.
3151
3152 * xftfont.c (struct xftfont_info): New member ft_size. Make the
3153 member order compatible with struct ftfont_info.
3154 (xftfont_open): Add FC_CHARSET to the pattern. Set
3155 xftfont_info->ft_size. Don't unlock the face. Check BDF
3156 properties if appropriate.
3157 (xftfont_close): Unlock the face.
3158 (xftfont_anchor_point, xftfont_shape): Deleted.
3159 (syms_of_xftfont): Don't set members anchor_point and shape of
3160 xftfont_driver.
3161
3162 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
3163 font_make_object.
3164
3165 * w32font.c (w32font_open): Adjust it for the change of
3166 font_make_object.
3167 (w32font_open_internal): Don't set properties of font_object here.
3168
31692008-07-08 Chong Yidong <cyd@stupidchicken.com>
3170
3171 * macfns.c (x_create_tip_frame):
3172 * w32fns.c (x_create_tip_frame):
3173 * xfns.c (x_create_tip_frame): Pass parameter argument to
3174 face-set-after-frame-default.
3175
3176 * xfaces.c (Finternal_merge_in_global_face): Save merged
3177 attributes for the default face back into the face vector.
3178
31792008-07-08 Andreas Schwab <schwab@suse.de>
3180
3181 * fontset.h: Declare fontset_from_font. Don't declare
3182 new_fontset_from_font and fontset_from_font_name.
3183 * xterm.c: Include "fontset.h".
3184 * Makefile.in (xterm.o): Update dependencies.
3185
31862008-07-08 Glenn Morris <rgm@gnu.org>
3187
3188 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
3189 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
3190
31912008-07-07 Chong Yidong <cyd@stupidchicken.com>
3192
3193 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
3194 (x_set_frame_parameters): Don't bind it.
3195
31962008-07-07 Juanma Barranquero <lekktu@gmail.com>
3197
3198 * w32fns.c (map_w32_filename): Declare extern.
3199
32002008-07-07 Jason Rumney <jasonr@gnu.org>
3201
3202 * w32term.c (WS_EX_LAYERED): Define if not already.
3203
32042008-07-06 Chong Yidong <cyd@stupidchicken.com>
3205
3206 * xfaces.c (set_font_frame_param): Don't try to set the font
3207 parameter if it is still unspecified in the lface.
3208
32092008-07-05 Chong Yidong <cyd@stupidchicken.com>
3210
3211 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
3212 face if it didn't already exist.
3213
3214 * xdisp.c (try_window_id): Give up if word-wrapping is on.
3215
32162008-07-05 Andreas Schwab <schwab@suse.de>
3217
3218 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
3219
32202008-07-05 Chong Yidong <cyd@stupidchicken.com>
3221
3222 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
3223 word-wrapping.
3224 (IT_DISPLAYING_WHITESPACE): New macro.
3225 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
3226 when word-wrapping. Simplify word-wrapping logic. Use correct
3227 pixel positions when saving copies of the iterator.
3228 (display_line): Use proper wrap point if the last character on a
3229 line was preceded by whitespace.
3230
32312008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
3232
3233 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
3234
32352008-07-04 Kenichi Handa <handa@m17n.org>
3236
3237 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
3238
3239 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
3240
32412008-07-02 Jason Rumney <jasonr@gnu.org>
3242
3243 * xfns.c (syms_of_xfns): Only define x-select-font when both
3244 HAVE_FREETYPE and USE_GTK
3245
3246 * xdisp.c (next_element_from_display_vector): Move assignment out
3247 of if statement.
3248
32492008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
3250
3251 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
3252
3253 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
3254 (syms_of_fileio): Initialize and export them.
3255 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
3256
3257 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
3258 (Fsystem_move_file_to_trash): New function.
3259 (syms_of_w32fns): Export it to lisp.
3260
32612008-07-01 Jason Rumney <jasonr@gnu.org>
3262
3263 * w32font.c (w32font_text_extents): Don't count overhang as part
3264 of width.
3265
32662008-06-30 Miles Bader <miles@gnu.org>
3267
3268 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
3269 Add `avoid_cursor_p' field.
3270
3271 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
3272 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
3273 (append_glyph, append_composite_glyph, produce_image_glyph)
3274 (append_stretch_glyph): Initialize avoid_cursor_p.
3275 (get_it_property): Rename from `get_line_height_property'.
3276 (x_produce_glyphs): Use get_it_property.
3277 (handle_line_prefix, push_display_prop): New functions.
3278 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
3279 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
3280 New variables.
3281 (syms_of_xdisp): Initialize them.
3282
32832008-06-30 Kenichi Handa <handa@m17n.org>
3284
3285 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
3286 XftDefaultSubstitute (they are called in XftFontMatch).
3287 (xftfont_open): Fix args to ftfont_font_format.
3288
3289 * ftfont.c (fc_charset_table): New member lang.
3290 (ftfont_resolve_generic_family): New arg pattern.
60612c8f 3291 (ftfont_spec_pattern): Check fc_charset_table[]->lang.
aac0c6e3
MR
3292 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
3293 (ftfont_open): Fix args to ftfont_font_format.
3294 (ftfont_font_format): New arg filename.
3295
32962008-06-30 Chong Yidong <cyd@stupidchicken.com>
3297
3298 * xfaces.c (Finternal_merge_in_global_face): If default face was
3299 modified, realize it again. Update the font face attribute.
3300
33012008-06-29 Jason Rumney <jasonr@gnu.org>
3302
3303 * w32term.c (x_set_frame_alpha): Fix logic.
3304
33052008-06-29 Kenichi Handa <handa@m17n.org>
3306
3307 * fontset.c (Finternal_char_font): Return font-object instead of
3308 font-name.
3309
3310 * composite.c (get_composition_id): Fix the width calculation for TAB.
3311
33122008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
3313
3314 * indent.c (Fvertical_motion): Properly handle float column arg.
3315
33162008-06-28 Jason Rumney <jasonr@gnu.org>
3317
3318 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
3319 (pfnSetLayeredWindowAttributes): New function pointer.
3320 (w32_initialize): Initialize it when supported.
3321 (x_set_frame_alpha): New function.
3322
3323 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
3324 (w32_frame_parm_handlers): Set alpha handler.
3325
3326 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
3327
33282008-06-27 Jason Rumney <jasonr@gnu.org>
3329
3330 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
3331 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
3332 (w32_to_x_charset, x_to_w32_charset)
3333 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
3334 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
3335 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
3336 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
3337 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
3338 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
3339 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
3340 (Qw32_charset_unicode): Remove.
3341 (syms_of_w32fns): Update for above changes.
3342
3343 * w32font.c (w32_to_x_charset, x_to_w32_charset)
3344 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
3345 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
3346 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
3347 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
3348 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
3349 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
3350 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
3351 (syms_of_w32font): Update for above changes.
3352
33532008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
3354
3355 * s/usg5-4.h: Fix previous change: keep the correct branch of a
3356 removed #if.
3357 (USG_SHARED_LIBRARIES): Remove duplicate definition.
3358
33592008-06-26 Juanma Barranquero <lekktu@gmail.com>
3360 Eli Zaretskii <eliz@gnu.org>
3361
3362 * makefile.w32-in (LOCAL_FLAGS):
3363 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
3364
3365 * sysdep.c (_spawnlp, _getpid):
3366 Declare with explicit _cdecl instead of _CRTAPI1.
3367
3368 * editfns.c (Fget_internal_run_time):
3369 Check for WINDOWSNT with #ifdef, not #if.
3370
33712008-06-26 Jason Rumney <jasonr@gnu.org>
3372
3373 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
3374
3375 * w32term.c (x_draw_glyph_string_foreground)
3376 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
3377 Use FONT_HANDLE macro.
3378 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
3379
3380 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
3381 (uniscribe_encode_char): Use FONT_HANDLE macro.
3382
3383 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
3384 (w32font_text_extents): Use precast w32_font.
3385 (w32font_close): Free cached metrics.
3386 (w32font_open_internal): Allocate space for name on stack.
3387
33882008-06-26 Chong Yidong <cyd@stupidchicken.com>
3389
3390 * xdisp.c (extend_face_to_end_of_line): Fix last change.
3391
33922008-06-26 Jason Rumney <jasonr@gnu.org>
3393
3394 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
3395 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
3396
33972008-06-26 Juanma Barranquero <lekktu@gmail.com>
3398
3399 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
3400
34012008-06-26 Jason Rumney <jasonr@gnu.org>
3402
3403 * w32bdf.c, w32bdf.h: Remove obsolete files.
3404
3405 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
3406
3407 * w32gui.h: Don't include w32bdf.h.
3408 (XCharStruct, enum w32_char_font_type, W32FontStruct):
3409 Remove obsolete font support.
3410
3411 * w32font.h (struct w32font_info): Remove compat_w32_font.
3412 Add hfont member.
3413 (FONT_COMPAT): Remove obsolete macro.
3414
3415 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
3416 (w32font_encode_char, w32font_text_extents): Use new hfont member.
3417 (w32font_open_internal): Remove compat code. Set new hfont member.
3418 (Fx_select_font): Use new hfont member.
3419
3420 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
3421 (uniscribe_encode_char): Use new hfont member.
3422
3423 * w32term.c (x_draw_glyph_string_foreground)
3424 (x_draw_composite_glyph_string_foreground): Use new hfont member.
3425 (x_draw_glyph_string): Use metrics in w32font_info.
3426
34272008-06-26 Kenichi Handa <handa@m17n.org>
3428
3429 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
3430
34312008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
3432
3433 * unexnext.c:
3434 * m/ews4800.h:
3435 * m/hp9000s300.h:
3436 * m/ibm370aix.h:
3437 * m/mips-siemens.h:
3438 * m/ncr386.h:
3439 * m/next.h:
3440 * m/pmax.h:
3441 * m/powerpcle.h:
3442 * m/tandem-s2.h:
3443 * s/386bsd.h:
3444 * s/bsd386.h:
3445 * s/bsd4-1.h:
3446 * s/bsd4-2.h:
3447 * s/bsdos2-1.h:
3448 * s/bsdos2.h:
3449 * s/bsdos3.h:
3450 * s/bsdos4.h:
3451 * s/nextstep.h:
3452 * s/ultrix4-3.h:
3453 * s/usg5-0.h:
3454 * s/usg5-2-2.h:
3455 * s/usg5-2.h:
3456 * s/usg5-4-3.h:
3457 * s/ux4800.h:
3458 * s/uxpds.h:
3459 * s/uxpv.h: Remove support for obsolete systems.
3460 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
3461 Remove, insert contents in s/hpux-10.20.h.
3462 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
3463 Remove, insert contents in s/aix4-2.h.
3464 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
3465 * s/bsd4-3.h: Rename to ...
3466 * s/bsd-common.h: ... this.
3467 * data.c:
3468 * doc.c:
3469 * ecrt0.c:
3470 * emacs.c:
3471 * fileio.c:
3472 * floatfns.c:
3473 * keyboard.c:
3474 * mem-limits.h:
3475 * print.c:
3476 * process.c:
3477 * sysdep.c:
3478 * syssignal.h:
3479 * systty.h:
3480 * syswait.h:
3481 * term.c:
3482 * unexec.c:
3483 * unexelf.c:
3484 * unexhp9k800.c:
3485 * m/hp800.h:
3486 * m/ibmrs6000.h:
3487 * m/mips.h:
3488 * m/vax.h:
3489 * s/darwin.h:
3490 * s/freebsd.h:
3491 * s/gnu.h:
3492 * s/ms-w32.h:
3493 * s/msdos.h:
3494 * s/netbsd.h:
3495 * s/template.h: Remove references to obsolete variables.
3496
3497 * Makefile.in: Add dependencies for all unexec files.
3498 (admindir): Remove unused variable.
3499 (UNEXEC_SRC): Remove references.
3500
35012008-06-25 Chong Yidong <cyd@stupidchicken.com>
3502
3503 * xfns.c (x_default_font_parameter): If Xft is available, first
3504 try Monospace-12 for the default font.
3505
35062008-06-25 Jason Rumney <jasonr@gnu.org>
3507
3508 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
3509
35102008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
3511
3512 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
3513
3514 * buffer.c (syms_of_buffer): Remove default-word-wrap.
3515
35162008-06-25 Juanma Barranquero <lekktu@gmail.com>
3517
3518 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
3519 <scroll-conservatively>: Fix typo in docstring.
3520
3521 * xselect.c (Fx_send_client_event): Doc fix.
3522
35232008-06-25 Kenichi Handa <handa@m17n.org>
3524
3525 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
3526
3527 * font.c (font_parse_fcname): Remove unused variables.
3528 (font_sort_entites): Delete the arg SPEC. Caller changed.
3529 Fix for the case of ! best_only.
3530 (font_delete_unmatched): Check DPI and AVGWIDTH too.
3531
3532 * lisp.h (Fstring_to_unibyte): EXFUN it.
3533
3534 * character.h (str_to_unibyte): Extern it.
3535
3536 * character.c (str_to_unibyte): New function.
3537
3538 * fns.c (Fstring_to_unibyte): New function.
3539 (syms_of_fns): Defsubr it.
3540
35412008-06-24 Kenichi Handa <handa@m17n.org>
3542
3543 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
3544 DPI too.
3545 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
3546
35472008-06-24 Andreas Schwab <schwab@suse.de>
3548
3549 * Makefile.in (${lispsource}loaddefs.el): Rename from
3550 ../lisp/loaddefs.el.
3551 (bootstrap-clean): Do what distclean does but don't remove
3552 Makefile.
3553 (distclean): Depend on bootstrap-clean and remove Makefile.
3554
35552008-06-24 Chong Yidong <cyd@stupidchicken.com>
3556
3557 * buffer.h (struct buffer): New member word_wrap.
3558
3559 * buffer.c (syms_of_buffer): New variables default-word-wrap and
3560 word-wrap.
3561 (init_buffer_once): Initialize them.
3562
3563 * dispextern.h (struct it): Replace bool truncate_lines_p with a
3564 line_wrap enum possessing three possible values.
3565
3566 * termopts.h: Replace truncate_partial_width_windows with
3567 Vtruncate_partial_width_windows.
3568
3569 * dispnew.c (direct_output_for_insert): Avoid direct output when
3570 inserting a space with word wrap on.
3571
3572 * indent.c (compute_motion): Obey integer values of
3573 truncate-partial-width-windows.
3574
3575 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
3576 replacing truncate_partial_width_windows.
3577 (init_iterator): If Vtruncate_partial_width_windows is an integer,
3578 truncate only if the window width is below that integer.
3579 (start_display, resize_mini_window, produce_stretch_glyph)
3580 (display_string, move_it_in_display_line_to): Use line_wrap.
3581 (back_to_previous_visible_line_start, reseat_1): Reset
3582 string_from_display_prop_p.
3583 (display_line): Extend default face to end of line when wrapping.
3584
35852008-06-24 Kim F. Storm <storm@cua.dk>
3586
3587 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
3588 to wrap continued lines at word boundaries.
3589
35902008-06-24 Jason Rumney <jasonr@gnu.org>
3591
3592 * font.c (Ffont_face_attributes): Multiply pixel size before point
3593 conversion to avoid multiplying rounding error.
3594
35952008-06-23 Jason Rumney <jasonr@gnu.org>
3596
3597 * w32term.c (x_draw_glyph_string_background)
3598 (x_draw_glyph_string): Remove old bdf font code.
3599
3600 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
3601
36022008-06-22 Kenichi Handa <handa@m17n.org>
3603
3604 * font.c (font_find_for_lface): Try the adstyle specified in
3605 the property of LFACE_FONT of LFACE (if any).
3606
36072008-06-21 Seiji Zenitani <zenitani@mac.com>
3608 Ryo Yoshitake <ryo@shiftmode.net>
3609
3610 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
3611
36122008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
3613
3614 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
3615 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
3616 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
3617 (witness-emacs): Remove.
3618 (lisp, shortlisp): Move loaddefs.el earlier.
3619 (mostlyclean): Forget about witness-emacs.
3620
36212008-06-22 Glenn Morris <rgm@gnu.org>
3622
3623 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
3624 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
3625
36262008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
3627
3628 * Makefile.in (PRECOMP): Remove.
3629 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
3630 (witness-emacs): Run `compile-first'.
3631 (.el.elc): Use the new compile-onefile target.
3632
36332008-06-21 Kenichi Handa <handa@m17n.org>
3634
3635 * xftfont.c (xftfont_open): Handle QCembolden only when
3636 FC_EMBOLDEN is defined.
3637
36382008-06-21 Andreas Schwab <schwab@suse.de>
3639
3640 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
3641 (.el.elc): Likewise.
3642
36432008-06-21 Miles Bader <miles@gnu.org>
3644
3645 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
3646 build dir, not the lisp source dir.
3647
36482008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
3649
3650 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
3651 (bootstrapclean): Remove.
3652 (.el.elc): New rule.
3653 (PRECOMP): New var.
3654 (../lisp/subdirs.el): Remove.
3655 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
3656 (witness-emacs): New target.
3657 (mostlyclean): Remove witness-emacs as well.
3658 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
3659 Add witness-emacs dependency.
3660
36612008-06-20 Chong Yidong <cyd@stupidchicken.com>
3662
3663 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
3664 defined by the font.
3665
36662008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
3667
3668 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
3669 (bootstrap-clean): New target that keeps TAGS around.
3670 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
3671 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
3672
36732008-06-20 Jason Rumney <jasonr@gnu.org>
3674
3675 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
3676 Remove obsolete font code.
3677
3678 * w32font.c (font_matches_spec): Use csb bitfield from font signature
3679 to determine language support.
3680
36812008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
3682
3683 * sysdep.c (cfsetspeed): New fun extracted from the code.
3684 (cfmakeraw): Move before first use.
3685
36862008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
3687
3688 * sysdep.c (cfmakeraw): Provide fallback implementation.
3689 (serial_configure): Provide fallback implementation of cfsetspeed.
3690
36912008-06-20 Kenichi Handa <handa@m17n.org>
3692
3693 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
3694 the pattern.
3695
3696 * fontset.c (fontset_from_font): Copy font_spec before changing
3697 the elements.
3698
3699 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
3700
37012008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
3702
3703 * w32fns.c, xfns.c (x_default_font_parameter): Only set `font-param'
3704 for explicit `font' parameters.
3705
3706 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
3707
37082008-06-19 Kenichi Handa <handa@m17n.org>
3709
3710 * frame.c: Include <ctype.h>.
3711 (x_set_font_backend): Allow spacing characters in the X resource
3712 for FontBackend.
3713
37142008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
3715
3716 * w32fns.c, xfns.c (Qfont_param): New var.
3717 (syms_of_w32fns): Initialize it.
3718 (x_default_font_parameter): Record explicit `font' into
3719 `font-parameter'.
3720
37212008-06-18 Kenichi Handa <handa@m17n.org>
3722
3723 * font.c (font_parse_xlfd): Fix previous change.
3724 (font_parse_fcname): Don't use :fc-unknown-spec.
3725 (FRAME_X_DISPLAY_INFO): Be sure to have at least 1 pixel height.
3726 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
3727 (font_add_log): Prepend the driver name to the resulting fonts.
3728
3729 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
3730 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
3731 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
3732
3733 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
3734 (QCembolden): New variables.
3735 (syms_of_xftfont): DEFSYM them.
3736 (xftfont_open): Call XftFontMatch. Don't trust the result of
3737 XftTextExtents8 if the pixel_size is less than 5.
3738
37392008-06-18 Andreas Schwab <schwab@suse.de>
3740
3741 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
3742 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
3743
37442008-06-18 Jason Rumney <jasonr@gnu.org>
3745
3746 * w32font.c (w32font_list, w32font_match): Add logging.
3747
3748 * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging.
3749
37502008-06-17 Chong Yidong <cyd@stupidchicken.com>
3751
3752 * font.c (font_parse_fcname): Store divider characters for
3753 unknown-spec list. For known key symbols, intern using correct
3754 symbol name.
3755
37562008-06-17 Kenichi Handa <handa@m17n.org>
3757
3758 * xfaces.c (realize_default_face): If the frame is not on window
3759 system, set the fontset of face to nil.
3760
37612008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
3762
3763 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
3764
37652008-06-16 Juanma Barranquero <lekktu@gmail.com>
3766
3767 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
3768 (build_font_name_from_vector): Delete externs.
3769
3770 * xfaces.c (struct font_name): Don't declare.
3771
37722008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
3773
3774 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
3775
37762008-06-16 Chong Yidong <cyd@stupidchicken.com>
3777
3778 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
3779
37802008-06-16 Juanma Barranquero <lekktu@gmail.com>
3781
3782 * font.c (Ffont_spec): Fix usage in docstring.
3783 (Ffont_face_attributes): Doc fix.
3784
37852008-06-16 Andreas Schwab <schwab@suse.de>
3786
3787 * font.c (Ffont_face_attributes): Fix definition.
3788
37892008-06-16 Jason Rumney <jasonr@gnu.org>
3790
3791 * font.h (font_style_symbolic_from_value): Remove.
3792
3793 * font.c (font_style_symbolic_from_value): Remove.
3794 (font_style_symbolic): Revert to pre 2008-06-13 version.
3795
3796 * w32font.c (w32_to_fc_weight): New function.
3797 (w32font_full_name, logfont_to_fcname): Use it.
3798
37992008-06-16 Kenichi Handa <handa@m17n.org>
3800
3801 * font.c (font_check_object): Delete it.
3802 (font_clear_cache): Check if a font-object is alive.
3803 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
3804 font-object to nil.
3805 (font_close_object): Don't check FONT_CLOSE_OBJECT.
3806 (font_at): Don't call font_check_object.
3807 (Ffont_get): Return a symbol for :weight, :slant, and :width.
3808
38092008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
3810
3811 * puresize.h (BASE_PURESIZE): Increase to 1230000.
3812
38132008-06-16 Chong Yidong <cyd@stupidchicken.com>
3814
3815 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
3816
38172008-06-15 Chong Yidong <cyd@stupidchicken.com>
3818
3819 * font.c (font_parse_fcname): Only one decimal point.
3820 (font_unparse_fcname): Handle data in family and foundry indices
3821 as symbols, not strings.
3822 (font_unparse_gtkname, Ffont_face_attributes): New functions.
3823
3824 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
3825
3826 * font.h (font_unparse_gtkname): Add prototype.
3827
38282008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
3829
3830 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
3831
38322008-06-15 Andreas Schwab <schwab@suse.de>
3833
3834 * font.c (font_update_drivers): Fix crash when no drivers match.
3835
38362008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
3837
3838 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
3839 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
3840
38412008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
3842
3843 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
3844
38452008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
3846
3847 * process.c (Fserial_process_configure, Fprocess_send_eof):
3848 Use EQ to compare Lisp_Objects.
3849
38502008-06-13 Jason Rumney <jasonr@gnu.org>
3851
3852 * w32fns.c (Fw32_select_font): Remove old font API function.
3853
3854 * w32font.c (logfont_to_fcname): New function.
3855 (Fx_select_font): New font dialog function compatible with
3856 GTK/fontconfig version.
3857
3858 * font.c (font_style_symbolic_from_value): New function.
3859 (font_style_symbolic): Use it.
3860
3861 * font.h (font_style_symbolic_from_value): Declare new function.
3862
38632008-06-13 Juanma Barranquero <lekktu@gmail.com>
3864
3865 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
3866 <font-width-table>: Fix typos in docstrings.
3867
38682008-06-13 Daniel Engeler <engeler@gmail.com>
3869
3870 These changes add serial port access.
3871 * process.c: Add HAVE_SERIAL.
3872 (Fdelete_process, Fprocess_status, Fset_process_buffer)
3873 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
3874 (list_processes_1, select_wrapper, Fstop_process)
3875 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
3876 (status_notify): Modify to handle serial processes.
3877 [HAVE_SERIAL] (Fserial_process_configure)
3878 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
3879 New functions.
3880 * process.h (struct Lisp_Process): Add `type'.
3881 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
3882 New functions.
3883 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
3884 serial ports.
3885 (serial_open, serial_configure) New functions.
3886 * w32.h: Add FILE_SERIAL.
3887 (struct _child_process): Add ovl_read, ovl_write.
3888
38892008-06-13 Kenichi Handa <handa@m17n.org>
3890
3891 * dispextern.h (enum lface_attribute_index): New member
3892 LFACE_FOUNDRY_INDEX.
3893
3894 * font.c (font_score): Delete arg alternate_families. Check only
3895 weight, slant, width, and size. Ignore the difference of alias
3896 style symbols.
3897 (font_sort_entites): Adjust for the above change. Reflect the
3898 order of font-driver to scores.
3899 (font_list_entities): Don't check alternate_familes here.
3900 (font_clear_prop): Handle foundry.
3901 (font_update_lface): Don't parse "foundry-family" form here.
3902 Handle FONT_FOUNDRY_INDEX.
3903 (font_find_for_lface): Likewise. Handle alternate families here.
3904 If registry is nil, try iso8859-1 and ascii-0.
3905 (font_open_for_lface): Pay attention to size in ENTITY.
3906 (font_open_by_name): Simplify by calling font_load_for_lface.
3907 (free_font_driver_list): Delete it.
3908 (font_update_drivers): Preserve the order of backends.
3909 (syms_of_font): Setting of sort_shift_bits adjusted for the change
3910 of font_score and font_sort_entites.
3911 (font_update_sort_order): Likewise.
3912
3913 * xfaces.c (LFACE_FOUNDRY): New macro.
3914 (check_lface_attrs): Check foundry.
3915 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
3916 (merge_face_vectors): Check foundry.
3917 (merge_face_ref): Likewise.
3918 (Finternal_set_lisp_face_attribute): Likewise.
3919 (x_update_menu_appearance): Likewise.
3920 (Finternal_get_lisp_face_attribute): Likewise.
3921 (lface_hash): Likewise.
3922 (lface_same_font_attributes_p): Likewise.
3923 (x_supports_face_attributes_p): Likewise.
3924 (tty_supports_face_attributes_p): Likewise.
3925 (Finternal_set_alternative_font_family_alist): Intern strings.
3926 (Finternal_set_alternative_font_registry_alist): Downcase strings.
3927 (realize_default_face): Set LFACE_FOUNDRY (lface).
3928
3929 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
3930 font-driver at first.
3931
3932 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
3933
39342008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
3935
3936 * lread.c (Fload): Use xfree, not free on saved_doc_string.
3937
39382008-06-12 Jim Meyering <meyering@redhat.com>
3939
3940 Make unexec_free handle NULL the same way free does.
3941 * unexmacosx.c (unexec_free): Ignore a NULL argument.
3942
39432008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
3944
3945 * character.h (CHAR_TO_BYTE_SAFE): New macro.
3946 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
3947 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
3948 (WEAK_ALIAS): Simplify.
3949 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
3950 when searching a unibyte buffer.
3951
39522008-06-12 Chong Yidong <cyd@stupidchicken.com>
3953
3954 * xfns.c (Fx_select_font): Rename from x-font-dialog.
3955
39562008-06-12 Juanma Barranquero <lekktu@gmail.com>
3957
3958 * w32font.c: Include ctype.h.
3959
39602008-06-11 Jason Rumney <jasonr@gnu.org>
3961
3962 * w32font.c (w32font_encode_char): Detect missing glyphs that are
3963 misreported as space.
3964 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
3965 as aliases for registry iso10646-1.
3966
39672008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
3968
3969 * buffer.c (clone_per_buffer_values): Skip `name'.
3970
39712008-06-11 Chong Yidong <cyd@stupidchicken.com>
3972
3973 * font.c (font_parse_fcname): Fix last change; accept decimal
3974 points in font size.
3975
39762008-06-10 Jason Rumney <jasonr@gnu.org>
3977
3978 * w32uniscribe.c (add_opentype_font_name_to_list):
3979 Skip non unicode fonts.
3980
39812008-06-10 Chong Yidong <cyd@stupidchicken.com>
3982
3983 * xfns.c (Fx_font_dialog): New function.
3984
3985 * gtkutil.c (xg_dialog_response_cb): Rename from
3986 xg_file_response_callback.
3987 (pop_down_dialog): Rename from pop_down_file_dialog.
3988 (xg_get_file_name): Callers changed.
3989 (xg_get_font_name): New function.
3990
3991 * gtkutil.h (xg_get_font_name): Insert prototype.
3992
39932008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
3994
3995 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
3996 x_underline_minimum_display_offset.
3997 (syms_of_xdisp): Declare it here rather than in xterm.c.
3998 * dispextern.h (underline_minimum_offset): Declare it.
3999 * w32term.c (x_draw_glyph_string): Use it.
4000 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
4001 (syms_of_xterm): Don't declare it any more.
4002 (x_draw_glyph_string): Adjust to the new name.
4003
40042008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
4005
4006 * xterm.c (x_underline_minimum_display_offset): New var.
4007 (x_draw_glyph_string): Use it.
4008 (syms_of_xterm): Declare it.
4009
40102008-06-10 Chong Yidong <cyd@stupidchicken.com>
4011
4012 * font.c (font_parse_fcname): Accept GTK-style font names too.
4013
40142008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
4015
4016 * dired.c (file_name_completion): Don't return t if the match is exact
4017 but with different capitalization.
4018 * minibuf.c (Ftry_completion): Simplify.
4019
4020 * window.c (Vwindow_point_insertion_type): New var.
4021 (set_window_buffer): Use it.
4022 (syms_of_window): Init and export it to Lisp.
4023
40242008-06-10 Kenichi Handa <handa@m17n.org>
4025
4026 * font.h (font_intern_prop): Prototype adjusted.
4027
4028 * font.c (font_intern_prop): New arg force_symbol.
4029 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
4030 Adjust for the change of font_intern_prop.
4031
4032 * ftfont.c (ftfont_pattern_entity):
4033 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
4034 (w32_registry):
4035 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
4036 the change of font_intern_prop.
4037
40382008-06-09 Juanma Barranquero <lekktu@gmail.com>
4039
4040 * w32menu.c (digest_single_submenu): Declare extern.
4041
40422008-06-09 Jason Rumney <jasonr@gnu.org>
4043
4044 * w32term.c (x_make_frame_visible): Use alternate restore flags.
4045
4046 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
4047 (parse_single_submenu): Remove.
4048 (digest_single_submenu): Remove.
4049 (syms_of_w32menu): Don't initialise variables that have moved
4050 to menu.c.
4051 (set_frame_menubar): Sync with version in xmenu.c.
4052 (w32_menu_show): Sync with xmenu_show in xmenu.c.
4053
4054 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
4055 Make static again.
4056
40572008-06-09 Jason Rumney <jasonr@gnu.org>
4058
4059 Changes to w32 files related to the move of common menu code
4060 to menu.c on 2008-06-08 by Chong Yidong.
4061
4062 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
4063 defs to w32gui.h.
4064 (single_keymap_panes, push_menu_item, push_menu_pane):
4065 Make globally visible.
4066
4067 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
4068 (local_free, malloc_widget_value, free_widget_value)
4069 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
4070 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
4071 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
4072 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
4073 (menu_items, menu_items_allocated, menu_items_used)
4074 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
4075 (init_menu_items, finish_menu_items, discard_menu_items)
4076 (grow_menu_items, push_submenu_start, push_submenu_end)
4077 (push_left_right_boundary, push_menu_pane, push_menu_item)
4078 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
4079 (free_menubar_widget_tree_value, parse_single_submenu)
4080 (update_submenu_strings): Remove functions.
4081 (xmalloc_widget_value): Remove and declare extern.
4082
4083 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
4084 (OBJ1): Build it.
4085
4086 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
4087 (local_heap, local_alloc, local_free, malloc_widget_value)
4088 (free_widget_value): Define here.
4089
40902008-06-09 Kenichi Handa <handa@m17n.org>
4091
4092 * font.h (Qascii_0): Extern it.
4093
4094 * font.c (Qascii_0): New variable.
4095 (syms_of_font): DEFSYM it.
4096 (font_open_by_name): If the registry "iso8859-1" fails, try also
4097 "ascii-0".
4098
4099 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
4100
41012008-06-08 Kenichi Handa <handa@m17n.org>
4102
4103 * .gdbinit (xfont): New command.
4104
41052008-06-08 Andreas Schwab <schwab@suse.de>
4106
4107 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
4108 * Makefile.in (menu.o): Update dependencies.
4109
4110 * Makefile.in (obj): Always add menu.o.
4111 * emacs.c (main): Always call syms_of_menu.
4112 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
4113
41142008-06-08 Chong Yidong <cyd@stupidchicken.com>
4115
4116 * Makefile.in: Compile menu.c.
4117
4118 * lisp.h: Declare syms_of_menu.
4119
4120 * emacs.c (main): Call syms_of_menu.
4121
4122 * keyboard.h: Relocate platform-independent menu definitions from
4123 xmenu.c.
4124
4125 * menu.c: New file. Relocate platform-independent menu
4126 definitions from xmenu.c. Suggested by Adrian Robert.
4127
4128 * xmenu.c: Remove platform-independent menu definitions.
4129 (menu_items menu_items_inuse, menu_items_allocated)
4130 (menu_items_used, menu_items_n_panes)
4131 (menu_items_submenu_depth): Move to keyboard.h.
4132 (init_menu_items, finish_menu_items, unuse_menu_items)
4133 (discard_menu_items, restore_menu_items, save_menu_items)
4134 (grow_menu_items, push_submenu_start, push_submenu_end)
4135 (push_left_right_boundary, push_menu_pane, push_menu_item)
4136 (keymap_panes, single_keymap_panes, single_menu_item)
4137 (list_of_panes, list_of_items, find_and_call_menu_selection)
4138 (xmalloc_widget_value, free_menubar_widget_value_tree)
4139 (parse_single_submenu, digest_single_submenu)
4140 (update_submenu_strings): Move to menu.c.
4141
41422008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
4143
4144 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
4145
41462008-06-06 Miles Bader <miles@gnu.org>
4147
4148 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
4149 face, not frame default.
4150
41512008-06-05 Martin Rudalics <rudalics@gmx.at>
4152
4153 * window.c (pop_up_windows, pop_up_frames)
4154 (display_buffer_reuse_frames, Vpop_up_frame_function)
4155 (Vdisplay_buffer_function, Veven_window_heights)
4156 (Vspecial_display_buffer_names, Vspecial_display_regexps)
4157 (Vspecial_display_function, Vsame_window_buffer_names)
4158 (Vsame_window_regexps, split_height_threshold)
4159 (Vsplit_window_preferred_function): Move those vars to window.el.
4160 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
4161 (Fdisplay_buffer): Move those functions to window.el.
4162 (syms_of_window): Remove corresponding declarations.
4163 (display_buffer): New function.
4164 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
4165 * dispnew.c (Flast_nonminibuf_frame): New function.
4166 * buffer.c (Fpop_to_buffer): Move to window.el.
4167
41682008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
4169
4170 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
4171
41722008-06-05 Kenichi Handa <handa@m17n.org>
4173
4174 * coding.c (detect_coding): Fix previous change.
4175 (detect_coding_system): Likewise.
4176
41772008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
4178
4179 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
4180
4181 * keymap.c (Vminibuffer_local_filename_must_match_map):
4182 Rename from Vminibuffer_local_must_match_filename_map.
4183 (syms_of_keymap):
4184 * minibuf.c (Fcompleting_read): Adjust accordingly.
4185 * commands.h: Rename declaration as well.
4186
41872008-06-05 Kenichi Handa <handa@m17n.org>
4188
4189 * font.c (Ffont_spec): Don't use font_parse_family_registry for
4190 family name.
4191 (Ffont_put): Likewise.
4192
4193 * fontset.c (fontset_find_font): Call font_open_for_lface with the
4194 current font-spec.
4195
4196 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
4197 is unspecified.
4198
4199 * xfaces.c (realize_x_face): If the font-related face attributes
4200 are the same as those of default face, realize a new fontset from
4201 default->fontset.
4202 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
4203
42042008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
4205
4206 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
4207 (move_it_in_display_line): New wrapper.
4208
4209 * window.c (window_scroll_pixel_based_preserve_x)
4210 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
4211 (window_scroll_pixel_based, window_scroll_line_based):
4212 Use them to preserve column positions.
4213 (syms_of_window): Initialize them.
4214
4215 * indent.c (Fvertical_motion): Extend first arg to allow passing an
4216 (HPOS . VPOS) pair.
4217
4218 * dispextern.h (move_it_in_display_line): Declare.
4219
42202008-06-05 Juanma Barranquero <lekktu@gmail.com>
4221
4222 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
4223 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
4224 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
4225
42262008-06-04 Juanma Barranquero <lekktu@gmail.com>
4227
4228 * window.c (Fset_window_parameter): Doc fix.
4229 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
4230
42312008-06-04 Joakim Verona <joakim@verona.se>
4232
4233 * window.h (struct window): Add new member window_parameters.
4234
4235 * window.c (Fwindow_parameters, Fwindow_parameter)
4236 (Fset_window_parameter): New defuns.
4237 (syms_of_window): Defsubr the new defuns.
4238 (make_window): Initialize window_parameters to nil.
4239
42402008-06-04 John Paul Wallington <jpw@pobox.com>
4241
4242 * eval.c (Fdefmacro): Doc fix.
4243
42442008-06-04 Kenichi Handa <handa@m17n.org>
4245
4246 * coding.c (detect_coding): Fix handling of coding->head_ascii.
4247 Be sure to call setup_coding_system when we find a proper coding system.
4248 (detect_coding_system): Fix handling of coding->head_ascii.
4249
42502008-06-03 Andreas Schwab <schwab@suse.de>
4251
4252 * font.c (font_prop_validate_spacing): Fix last change.
4253
42542008-06-03 Kenichi Handa <handa@m17n.org>
4255
4256 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
4257 (font_parse_fcname): Fix handling of unknown key.
4258
4259 * xfont.c (xfont_list): Try an alias.
4260
4261 * charset.c (char_charset): Return NULL if the arg charset_list is
4262 specified and C doesn't belong to any of them.
4263
42642008-06-02 Chip Coldwell <coldwell@redhat.com>
4265
4266 * font.c (font_pixel_size): Don't take cdr of an integer.
4267
42682008-06-02 Jim Meyering <meyering@redhat.com>
4269
4270 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
4271 * alloc.c (xfree): Return right away for a NULL arg.
4272 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
4273 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
4274 * mac.c (create_apple_event_from_event_ref): Likewise.
4275 (create_apple_event_from_drag_ref, cfstring_create_normalized):
4276 Likewise.
4277 * doprnt.c (doprnt1): Likewise.
4278 * frame.c (frame): Likewise.
4279 * keyboard.c (wipe_kboard): Likewise.
4280 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
4281 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
4282 * term.c (tty_default_color_capabilities, maybe_fatal)
4283 (delete_tty): Likewise.
4284 * w16select.c (string): Likewise.
4285 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
4286 * w32bdf.c (w32_free_bdf_font): Likewise.
4287 * w32fns.c (w32_unload_font): Likewise.
4288 * w32font.c (w32font_close): Likewise.
4289 * window.c (size_window): Likewise.
4290 * xselect.c (receive_incremental_selection): Likewise.
4291 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
4292 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
4293 * w32.c (stat): Likewise.
4294
4295 Remove useless if-before-free tests.
4296 * editfns.c (Fset_time_zone_rule): Likewise.
4297 * lread.c (nosuffix): Likewise.
4298 * ralloc.c (get_bloc): Likewise.
4299 * regex.c (reg_free): Likewise.
4300 * xftfont.c (xftfont_open, xftfont_close): Likewise.
4301 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
4302 * xsmfns.c (smc_save_yourself_CB): Likewise.
4303
43042008-06-02 Kenichi Handa <handa@m17n.org>
4305
4306 * font.c (font_find_for_lface): Handle float font size.
4307 (font_open_for_lface): Likewise.
4308
4309 * xfaces.c (x_supports_face_attributes_p): Check face->font before
4310 comparing the properties.
4311
43122008-06-01 Jason Rumney <jasonr@gnu.org>
4313
4314 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
4315 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
4316 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
4317 Don't add empty script list.
4318 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
4319
43202008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
4321
4322 * Makefile.in (dot, dotdot): Remove, update users.
4323 ".." has been used elsewhere in the file for a long time.
4324 (LIBXT_STATIC): Remove conditional based on unused variable.
4325
43262008-06-01 Miles Bader <miles@gnu.org>
4327
4328 * xfaces.c (Vface_remapping_alist): New variable.
4329 (syms_of_xfaces): Initialize it.
4330 (enum named_merge_point_kind): New type.
4331 (struct named_merge_point): Add `named_merge_point_kind' field.
4332 (push_named_merge_point): Make cycle detection respect different
4333 named-merge-point kinds.
4334 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
4335 Remove face-name alias resolution.
4336 (lface_from_face_name): New definition using
4337 `lface_from_face_name_no_resolve'.
4338 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
4339 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
4340 (get_lface_attributes): New definition that layers face-remapping on
4341 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
4342 (lookup_basic_face): New function.
4343 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
4344 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
4345 `get_lface_attributes'.
4346 (face_at_buffer_position): Use `lookup_basic_face' to lookup
4347 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
4348 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
4349
4350 * xdisp.c (init_iterator): Pass base_face_id through
4351 `lookup_basic_face' when we actually use it as a face-id.
4352 (handle_single_display_prop): Use `lookup_basic_face' to lookup
4353 DEFAULT_FACE_ID.
4354
4355 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
4356 lookup the initial face-id.
4357
4358 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
4359
43602008-06-01 Juanma Barranquero <lekktu@gmail.com>
4361
4362 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
4363 (Fremove_text_properties): Fix typos in docstrings.
4364
43652008-05-31 Kenichi Handa <handa@m17n.org>
4366
4367 * font.c (font_list_entities): Fix the car part of data to be
4368 stored in the cache.
4369
4370 * ftfont.c (ftfont_font_format): Don't use strcasestr.
4371
43722008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
4373
4374 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
4375 Add a `test' argument so another predicate than `equal' can be used.
4376 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
4377 (map_char_table): Remove unused vars `c' and `i'.
4378 * lisp.h (Foptimize_char_table): Adjust declaration.
4379 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
4380
43812008-05-30 Kenichi Handa <handa@m17n.org>
4382
4383 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
4384 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
4385 defined.
4386
43872008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
4388
4389 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
4390 (Fmake_variable_frame_local): Disallow mixing buffer-local and
4391 frame-local settings for the same variable.
4392
43932008-05-30 Kenichi Handa <handa@m17n.org>
4394
4395 * fontset.c (Ffont_info): Move to font.c.
4396 (syms_of_fontset): Delete defsubr of Sfont_info.
4397
4398 * font.c (font_style_to_value, font_score): Delete casting of the
4399 args to xstcasecmp.
4400 (register_font_driver): Increment num_font_drivers only when
4401 registering the driver globally.
4402 (Ffont_info): Move from fontset.c. Handle a font object too.
4403 (syms_of_font): Defsubr Sfont_info.
4404
44052008-05-29 Kenichi Handa <handa@m17n.org>
4406
4407 * coding.h (enum define_coding_utf8_arg_index): New enum.
4408 (enum coding_attr_index): Change coding_attr_utf_16_bom to
4409 coding_attr_utf_bom.
4410 (enum utf_bom_type): Rename from utf_16_bom_type.
4411 (struct utf_16_spec): Adjust for the above change.
4412 (struct coding_system): Add utf_8_bom in `spec' union.
4413
4414 * coding.c (CODING_UTF_8_BOM): New macro.
4415 (enum coding_category): Delete coding_category_utf_8, add
4416 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
4417 coding_category_utf_8_sig.
4418 (CATEGORY_MASK_UTF_8): Delete it.
4419 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
4420 (CATEGORY_MASK_UTF_8_SIG): New macros.
4421 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
4422 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
4423 CATEGORY_MASK_UTF_8_SIG.
4424 (CATEGORY_MASK_UTF_8): New macro.
4425 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
4426 (detect_coding_utf_8): Check BOM.
4427 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
4428 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
4429 (encode_coding_utf_16): Likewise.
4430 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
4431 (detect_coding, detect_coding_system): Handle utf-8-auto.
4432 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
4433 (syms_of_coding): Fix setting up of Vcoding_category_table.
4434
44352008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
4436
4437 * process.c (Faccept_process_output): If `millisec' is non-nil,
4438 `seconds' default to 0.
4439 (wait_reading_process_output): Also return non-nil if we read output
4440 from a non-running process.
4441
44422008-05-29 Jason Rumney <jasonr@gnu.org>
4443
4444 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
4445 `raster' specified.
4446 (add_font_entity_to_list): Allow non-opentype truetype fonts back
4447 in the uniscribe backend, but disallow any font that has no
4448 unicode subrange support.
4449
44502008-05-29 Juanma Barranquero <lekktu@gmail.com>
4451
4452 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
4453 Fix typos in docstrings.
4454
44552008-05-29 Kenichi Handa <handa@m17n.org>
4456
4457 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
4458 (Fx_family_fonts): Set frame correctly.
4459
44602008-05-28 Jason Rumney <jasonr@gnu.org>
4461
4462 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
4463
44642008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
4465
4466 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
4467 calling build_annotations.
4468
44692008-05-28 Juanma Barranquero <lekktu@gmail.com>
4470
4471 * coding.c (Fdecode_coding_region, Fencode_coding_region)
4472 (Fencode_coding_string):
4473 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
4474 <latin-extra-code-table>: Fix typos in docstrings.
4475 (syms_of_coding) <coding-system-alist>: Doc fix.
4476 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
4477
44782008-05-28 Kenichi Handa <handa@m17n.org>
4479
4480 * fontset.c (Ffont_info): Don't call font_close_object.
4481
4482 * font.c (font_parse_family_registry): Use Ffont_put to validate
4483 foundry and family.
4484 (font_delete_unmatched): Don't check spacing.
4485 (font_list_entities): Add spacing to the spec to list fonts.
4486
4487 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
4488 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
4489
4490 * coding.c (encode_coding_raw_text): Fix previous change.
4491 (encode_coding_object): When the dst_object is a buffer and is
4492 different from src_object, move gap to PT.
4493
44942008-05-27 Chong Yidong <cyd@stupidchicken.com>
4495
4496 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
4497
44982008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
4499
4500 * coding.c (encode_coding_raw_text): Set coding->produced_char for
4501 all branches. Compute it differently.
4502
4503 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
4504
45052008-05-27 Juanma Barranquero <lekktu@gmail.com>
4506
4507 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
4508 into "else if () ... else ...".
4509
45102008-05-27 Jason Rumney <jasonr@gnu.org>
4511
4512 * w32font.c (w32font_open_internal): Determine if glyph indices
4513 are likely to work here.
4514
45152008-05-27 Chong Yidong <cyd@stupidchicken.com>
4516
4517 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
4518 draw overlap glyphs with appropriate highlighting.
4519
45202008-05-27 Kenichi Handa <handa@m17n.org>
4521
4522 * xfont.c (xfont_open): Fix calculation of font->average_width.
4523
45242008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
4525
4526 * casefiddle.c (casify_object): Try to guess better whether the
4527 argument is a byte or a char.
4528
45292008-05-26 Andreas Schwab <schwab@suse.de>
4530
4531 * xselect.c (x_reply_selection_request): Properly handle format == 32.
4532 Always send multiples of format size.
4533
4534 * xterm.c (x_set_frame_alpha): Fix type mismatch.
4535
45362008-05-26 Jason Rumney <jasonr@gnu.org>
4537
4538 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
4539 (compute_metrics): Don't set failure if we just cleared the cache.
4540 (w32_weight_table): Remove unused variable.
4541 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
4542 backwards compatibility.
4543
45442008-05-25 Kenichi Handa <handa@m17n.org>
4545
4546 * w32term.c (x_draw_glyph_string):
4547 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
4548
4549 * xfaces.c: Delete unused function prototypes.
4550 (xstrlwr, font_frame): Delete them.
4551 (clear_face_cache): Delete unused variable.
4552
4553 * xftfont.c (xftfont_open): Delete unused variable.
4554 If underline_thickness is not 1, adjust underline_position.
4555
4556 * ftxfont.c (ftxfont_open): Delete unused variable.
4557
4558 * fontset.c (face_for_char): Optimize for the case of no charset
4559 property.
4560
4561 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
4562 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
4563 (otf_open, font_otf_capability, generate_otf_features)
4564 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
4565 Comment out by surrounding "#if 0" and "#endif" for the moment.
4566 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
4567 (syms_of_font): Codes for accessing above commented out.
4568
45692008-05-24 Eli Zaretskii <eliz@gnu.org>
4570
4571 * w32proc.c: Include dispextern.h.
4572
4573 * w32.c: Include dispextern.h.
4574
45752008-05-23 Juanma Barranquero <lekktu@gmail.com>
4576
4577 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
4578 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
4579 Fix typos in docstrings.
4580
45812008-05-23 Jason Rumney <jasonr@gnu.org>
4582
4583 * xsmfns.c: Remove includes that are already included by config.h.
4584
45852008-05-23 Kenichi Handa <handa@m17n.org>
4586
4587 * charset.c (Qemacs, charset_emacs): New variables.
4588 (char_charset): Fix for non-Unicode characters.
4589 (syms_of_charset): Define charset_emacs.
4590
4591 * w32term.c (x_draw_glyph_string): Be sure to update
4592 s->underline_thickness and s->underline_position. Be sure to draw
4593 underline within the current line area.
4594
4595 * xterm.c (x_draw_glyph_string): Be sure to update
4596 s->underline_thickness and s->underline_position. Be sure to draw
4597 underline within the current line area.
4598
4599 * fontset.c: Delete unused variables and add casting for char *
4600 throughout the file.
4601 (fontset_font): Try the fallback fonts of the current fontset
4602 before consulting the default fontset.
4603
4604 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
4605
4606 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
4607
46082008-05-22 Jason Rumney <jasonr@gnu.org>
4609
4610 * font.c: Don't include strings.h.
4611
4612 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
4613
4614 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
4615 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
4616 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
4617 to call xstrcasecmp.
4618
4619 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
4620
4621 * fontset.c (fs_query_fontset): Use xstrcasecmp.
4622
4623 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
4624
4625 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
4626
46272008-05-22 Kenichi Handa <handa@m17n.org>
4628
4629 * puresize.h (BASE_PURESIZE): Increase to 1220000.
4630
4631 * font.c (font_prop_validate_style): Adjust for the format
4632 change of font_style_table.
4633
4634 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
4635 two args.
4636
4637 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
4638 two args.
4639
46402008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
4641
4642 * minibuf.c (keys_of_minibuf): Delete.
4643 * lisp.h (keys_of_minibuf): Delete.
4644 * emacs.c (main): Don't call keys_of_minibuf.
4645
46462008-05-22 Kenichi Handa <handa@m17n.org>
4647
4648 * ftfont.c (ftfont_resolve_generic_family): Rename from
4649 ftfont_list_generic_family. Return a single family for each
4650 generic family.
4651 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
4652 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
4653 Call font_add_log.
4654 (ftfont_match): Call font_add_log.
4655
4656 * font.h (Ffont_xlfd_name): EXFUN adjusted.
4657 (FONT_DEBUG): Define it.
4658 (font_add_log): Extern it.
4659 (font_assert): Rename from xassert.
4660
4661 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
4662 (xfont_list_family): Call font_add_log.
4663 (xfont_match): Likewise.
4664 (memq_no_quit): Delete.
4665
4666 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
4667 call of Ffont_xlfd_name.
4668
4669 * xfaces.c (struct table_entry, slant_table, weight_table)
4670 (swidth_table): Move to font.c.
4671
4672 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
4673 xassert are changed to font_assert. Delete many unused variables.
4674 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
4675 New variables.
4676 (struct table_entry): Move from xfaces.c and modified.
4677 (weight_table, slant_table, width_table): Move from xfaces.c and
4678 contents adjusted for the change of struct table_entry.
4679 (font_style_to_value, font_style_symbolic): Adjust for the
4680 format change of font_style_table.
4681 (font_parse_family_registry): Don't overwrite existing foundry and
4682 family of font_spec.
4683 (font_score): Fix calculation of diff for sizes.
4684 (font_sort_entites): Call font_add_log.
4685 (font_delete_unmatched): Return a newly created list.
4686 (font_list_entities): Fix previous change. Call font_add_log.
4687 (font_matching_entity, font_open_entity, font_close_entity):
4688 Call font_add_log.
4689 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
4690 (Finternal_set_font_style_table): Delete.
4691 (BUILD_STYLE_TABLE): New macro.
4692 (build_style_table): New function.
4693 (Vfont_log, font_log_env_checked): New variables.
4694 (font_add_log): New function.
4695 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
4696 Declare Lisp variables "font-weight-table", "font-slant-table",
4697 "font-width-table", and "font-log". Initialize font_style_table.
4698
46992008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
4700
4701 * xterm.c (x_set_frame_alpha): Move declarations before statements.
4702
47032008-05-21 Seiji Zenitani <zenitani@mac.com>
4704 Ryo Yoshitake <ryo@shiftmode.net>
4705
4706 * frame.c (Qalpha): Add a new frame parameter `alpha'.
4707 (Vframe_alpha_lower_limit): New variable.
4708 (x_set_alpha): New function.
4709
4710 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
4711
4712 * xfns.c (x-create-frame, Qalpha):
4713 Initialize the frame parameter `alpha'.
4714 * xterm.c (OPAQUE, OPACITY): New.
4715 (x_set_frame_alpha): New function.
4716 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
4717
4718 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
4719 * w32fns.c (w32_frame_parm_handlers): Likewise.
4720
47212008-05-20 Jason Rumney <jasonr@gnu.org>
4722
4723 * w32font.c (add_font_entity_to_list): Don't add non-opentype
4724 truetype fonts to opentype list.
4725
47262008-05-20 Juanma Barranquero <lekktu@gmail.com>
4727
4728 * fontset.c (Ffontset_info): Doc fix.
4729 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
4730 <ignore-relative-composition>: Fix typos in docstrings.
4731
4732 * font.c (syms-of-font) <font-encoding-alist>:
4733 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
4734 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
4735 (Ffont_otf_alternates): Doc fixes.
4736
47372008-05-20 Kenichi Handa <handa@m17n.org>
4738
4739 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
4740 font.h through out the file.
4741 (FONT_DRIVERS): Rename from FONTOBJ.
4742 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
4743 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
4744
4745 * emacs.c (main): Call syms_of_font unconditionally.
4746
4747 * font.h (find_font_encoding): Extern it.
4748
4749 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
4750 fontset.c.
4751 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
4752 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
4753 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
4754 only when HAVE_WINDOW_SYSTEM is defined.
4755 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
4756 when HAVE_WINDOW_SYSTEM is defined.
4757
4758 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
4759 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
4760
4761 * xfaces.c: Include font.h unconditionally.
4762 (merge_face_ref, merge_face_vectors)
4763 (Finternal_set_lisp_face_attribute): Cancel the previous change.
4764
47652008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
4766
4767 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
4768 indirect_variable.
4769 * eval.c (lisp_indirect_variable): New fun.
4770 (Fuser_variable_p): Use it.
4771
47722008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
4773
4774 * lisp.h (indirect_variable):
4775 * data.c (indirect_variable, let_shadows_buffer_binding_p):
4776 Use Lisp_Symbol pointers rather than Lisp_Object.
4777 Adjust callers.
4778 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
4779 To this end, change calling-convention.
4780
4781 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
4782 if some non-hidden buffers are selected by string&pred.
4783
47842008-05-19 Chong Yidong <cyd@stupidchicken.com>
4785
4786 * process.c (wait_reading_process_output): Always check status
4787 when in batch mode.
4788
47892008-05-19 Kenichi Handa <handa@m17n.org>
4790
4791 * font.c (font_list_entities): Fix handling of cache.
4792 (font_matching_entity): Likewise.
4793
4794 * ftfont.c (cs_iso8859_1): Delete.
4795 (ft_face_cache): New variable.
4796 (struct ftfont_info): New member fc_charset_idx.
4797 (ftfont_build_basic_charsets): Delete.
4798 (fc_charset_table): New variable.
4799 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
4800 . FC_CHARSET_IDX) as :font-entity property in the font entity.
4801 Callers changed.
4802 (ftfont_lookup_cache, ftfont_get_charset): New functions.
4803 (ftfont_spec_pattern): New argument fc_charset_idx.
4804 Check registry more rigidly. Change callers.
4805 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
4806 change of :font-entity property of the font.
4807
4808 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
4809 property of the font.
4810
48112008-05-18 Juanma Barranquero <lekktu@gmail.com>
4812
4813 * coding.c (Fcoding_system_p): Rename argument to match docstring.
4814 (Funencodable_char_position, Fcheck_coding_systems_region)
4815 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
4816 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
4817 (Ffind_operation_coding_system, Fset_coding_system_priority)
4818 (Fcoding_system_eol_type): Doc fixes.
4819
48202008-05-17 Glenn Morris <rgm@gnu.org>
4821
4822 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
4823
48242008-05-16 Eli Zaretskii <eliz@gnu.org>
4825
4826 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
4827 and st_gid.
4828
4829 * frame.c (Fdelete_frame): Don't call font_update_drivers if
4830 HAVE_WINDOW_SYSTEM is not defined.
4831
4832 * xfaces.c (merge_face_ref, merge_face_vectors)
4833 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
4834 HAVE_WINDOW_SYSTEM is defined.
4835 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
4836
48372008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
4838
4839 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
4840
48412008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4842
4843 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
4844
48452008-05-15 Kenichi Handa <handa@m17n.org>
4846
4847 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
4848 preference.
4849
48502008-05-15 Glenn Morris <rgm@gnu.org>
4851
4852 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
4853
48542008-05-15 Chong Yidong <cyd@stupidchicken.com>
4855
4856 * fns.c (init_fns): Don't initialize weak_hash_tables here.
4857 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
4858
4859 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
4860
48612008-05-15 Kenichi Handa <handa@m17n.org>
4862
4863 * ftfont.c (ftfont_list): Downcase family name to check generic
4864 families.
4865
4866 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
4867 font-spec for QCfont value.
4868
4869 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
4870 buffer. Check the return value of it.
4871
48722008-05-14 Jason Rumney <jasonr@gnu.org>
4873
4874 * w32term.c (w32_get_glyph_overhangs): Remove.
4875 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
4876
48772008-05-14 Kenichi Handa <handa@m17n.org>
4878
4879 * font.c (font_prop_validate): Make nil a valid value.
4880 (font_clear_cache): Check if the cached vector of entities is nil
4881 or not.
4882
48832008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4884
4885 * emacs.c (main_thread): Conditionalize on
4886 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
4887 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
4888
4889 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
4890 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
4891 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
4892
48932008-05-14 Kenichi Handa <handa@m17n.org>
4894
4895 * coding.c (detect_coding_iso_2022): Ignore a coding category that
4896 has no corresponding coding system.
4897
48982008-05-14 Jason Rumney <jasonr@gnu.org>
4899
4900 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
4901
4902 * w32font.h (w32font_open_internal): Update declaration.
4903
4904 * w32font.c (w32font_open_internal): Change last argument from
4905 w32font_info struct to font object. Fill in font object from
4906 font_entity. Get Outline metrics if possible. Use them to
4907 calculate underline position and thickness. Use xlfd name as name
4908 property. Don't set codepage.
4909 (w32font_open): Pass font_object to w32font_open_internal. Don't
4910 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
4911 (w32font_draw): Use s->font.
4912 (clear_cached_metrics): Don't clear non-existent blocks.
4913
4914 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
4915 font was not found.
4916 (x_draw_glyph_string): Use underline position and thickness from font.
4917
4918 * w32uniscribe.c (uniscribe_open): Pass font_object to
4919 w32font_open_internal.
4920
49212008-05-14 Kenichi Handa <handa@m17n.org>
4922
4923 These changes are to delete all legacy font-handling codes, and
4924 make Emacs use only font-backends.
4925
4926 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
4927 (frame.o, image.o, print.o): Depend on $(FONTSRC).
4928
4929 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
4930
4931 * charset.h (Vcharset_non_preferred_head)
4932 (Vcurrent_iso639_language): Extern them.
4933
4934 * charset.c (Vcharset_non_preferred_head): New variable.
4935 (Vcurrent_iso639_language): New variable.
4936 (syms_of_charset): Declare it as a Lisp variable.
4937 (char_charset): Don't check non preferred charsets. As a last
4938 resort, return charset_unicode.
4939 (Fset_charset_priority): Update Vcharset_non_preferred_head.
4940
4941 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
4942 conditionals. Don't check enable_font_backend. Delete all codes
4943 used only when USE_FONT_BACKEND is not defined.
4944
4945 * dispextern.h (struct glyph_string): Change type of `font' to
4946 `struct font *'.
4947 (struct glyph_string): New member underline_position and
4948 underline_thickness.
4949 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
4950 (struct face): Change type of `font' to `struct font *'. Remove
4951 members `font_name', `font_info_id'.
4952 (per_char_metric, encode_char): Delete externs.
4953 (calc_pixel_width_or_height): Adjust the prototype.
4954
4955 * emacs.c (enable_font_backend): Delete extern.
4956 (main): Don't set enable_font_backend. Don't check the command
4957 line argument "-disable-font-backend".
4958
4959 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
4960 (enum font_property_index): New members FONT_DPI_INDEX,
4961 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
4962 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
4963 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
4964 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
4965 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
4966 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
4967 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
4968 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
4969 (struct font_spec, struct font_entity): New structs.
4970 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
4971 (struct font): Many members from old "struct font_info" moved to
4972 here. Members font and entity deleted.
4973 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
4974 the new font-related objects.
4975 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
4976 (CHECK_FONT_GET_OBJECT): Likewise.
4977 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
4978 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
4979 (struct font_driver): New members case_sensitive anc check. Type
4980 of the member list and open changed.
4981 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
4982 (font_symbolic_width, font_find_object, font_get_spec)
4983 (font_set_lface_from_name): Delete extern.
4984 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
4985
4986 * font.c: Include <strings.h>.
4987 (enable_font_backend): Delete it.
4988 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
4989 (CHECK_VALIDATE_FONT_SPEC): Delete it.
4990 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
4991 (null_string): Delete it.
4992 (null_vector): Make it static.
4993 (font_family_alist): Delete it.
4994 (Qnormal): Extern it.
4995 (QCextra, QClanguage): Delete it.
4996 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
4997 (font_make_spec, font_make_entity, font_make_object)
4998 (font_intern_prop): Renamed from intern_downcase. Don't downcase
4999 the string. Callers changed.
5000 (font_pixel_size): Adjusted for the format change of font-related
5001 objects.
5002 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
5003 (font_style_to_value, font_style_symbolic): New function.
5004 (build_font_family_alist): Delete it.
5005 (font_registry_charsets): Use Fassoc_string instead of
5006 assq_no_quit.
5007 (font_prop_validate_symbol): Don't return null_string.
5008 (font_prop_validate_style): Adjusted for the change of
5009 style-related values in a font vector.
5010 (font_property_table): Delete entries for QClanguage and
5011 QCantialias, add entries for QCavgwidth.
5012 (get_font_prop_index): Delete the 2nd argument FROM.
5013 (font_prop_validate): Arguments changed.
5014 (font_put_extra): Adjusted for the change of font-related objects.
5015 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
5016 (font_parse_fcname, font_unparse_fcname)
5017 (font_prepare_composition): Likewise.
5018 (font_parse_family_registry): Renamed from font_merge_old_spec.
5019 (otf_open): Delete the 1st arg entity.
5020 (font_otf_capability): Adjusted for the above change.
5021 (font_score): New arg alternate_families. Adjusted for the change
5022 of font-related objects.
5023 (font_sort_entites): New arg best_only.
5024 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
5025 Delete them.
5026 (font_match_p): Check alternate families.
5027 (font_find_object): Delete it.
5028 (font_check_object): New function.
5029 (font_clear_cache): Adjusted for the change of font-related objects.
5030 (font_delete_unmatched): New arg.
5031 (font_list_entities): Call font_driver->list with a spec that
5032 doesn't specify style-related properties.
5033 (font_matching_entity): Arguments changed. Caller changed.
5034 (font_open_entity): Adjusted for the change of font-related objects.
5035 (font_close_object, font_has_char, font_encode_char)
5036 (font_get_name, font_get_spec): Likewise.
5037 (font_spec_from_name, font_clear_prop, font_update_lface):
5038 New functions.
5039 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
5040 (font_prepare_for_face, font_done_for_face, font_open_by_name)
5041 (font_at): Adjusted for the change of font-related objects.
5042 (font_range): New function.
5043 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
5044 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
5045 (Fcopy_font_spec, Fmerge_font_spec): New function.
5046 (Ffont_family_list): Renamed from list-families.
5047 (Finternal_set_font_style_table): Arguments changed.
5048 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
5049 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
5050 change of font-related objects.
5051 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
5052
5053 * fontset.h (struct font_info): Delete it. Most members go to
5054 struct font.
5055 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
5056 (enum FONT_SPEC_INDEX): Delete it.
5057 (font_info, list_fonts_func, load_font_func, query_font_func)
5058 (set_frame_fontset_func, find_ccl_program_func)
5059 (get_font_repertory_func, new_fontset_from_font_name): Delete
5060 externs.
5061 (fontset_from_font_name): Extern it.
5062 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
5063 (FONT_INFO_FROM_FACE): Deleted.
5064 (face_for_font): Adjust prototype.
5065
5066 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
5067 conditionals. Don't check enable_font_backend. Delete all codes
5068 used only when USE_FONT_BACKEND is not defined.
5069 (get_font_info_func, list_font_func, load_font_func)
5070 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
5071 (get_font_repertory_func): Delete them.
5072 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
5073 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
5074 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
5075 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
5076 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
5077 (fontset_compare_rfontdef): New function.
5078 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
5079 rfont-defs by qsort. Adjusted for the change of font-group vector.
5080 (load_font_get_repertory): Deleted.
5081 (fontset_find_font): Use new macros to ref/set elements of
5082 font-def and rfont-def.
5083 (fontset_font): Fix the timing of remembering that no font for C.
5084 (free_face_fontset): Do nothing if the face has no fontset.
5085 (face_suitable_for_char_p): Use new macros to ref/set elements of
5086 rfont-def.
5087 (face_for_char): Likewise. Call face_for_char with font_object.
5088 (fs_load_font): Delete. Delete #pragma surrounding it.
5089 (fs_query_fontset): Use strcasecmp instead of strcmp.
5090 (generate_ascii_font_name): Adjusted for the format change of
5091 font-spec.
5092 (Fset_fontset_font): Likewise. Use new macros to set elements of
5093 font-def.
5094 (Fnew_fontset): Use font_unparse_xlfd to generate
5095 FONTSET_ASCII (fontset).
5096 (new_fontset_from_font_name): Deleted.
5097 (fontset_from_font): Renamed from new_fontset_from_font. Check if
5098 a fontset is already created for the font. FIx updating of
5099 Vfontset_alias_alist.
5100 (fontset_ascii_font): Deleted.
5101 (Ffont_info): Adjusted for the format change of font-spec.
5102 (Finternal_char_font): Likewise.
5103 (Ffontset_info): Likewise.
5104 (syms_of_fontset): Don't check load_font_func.
5105
5106 * fns.c (internal_equal): Handle PREV_FONT.
5107
5108 * frame.h: Delete USE_FONT_BACKEND conditional.
5109
5110 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
5111 conditionals. Don't check enable_font_backend. Delete all codes
5112 used only when USE_FONT_BACKEND is not defined.
5113 (x_set_font): Call x_new_font, not x_new_fontset2.
5114 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
5115 already set for the frame.
5116
5117 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
5118 a font-entity by font_make_entity. Use font_intern_prop instead
5119 of intern_downcase. Use FONT_SET_STYLE to set a style-related
5120 font property. If a font is scalable, set avgwidth property to 0.
5121 Set font-entity property by font_put_extra.
5122 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
5123 (ffont_driver): Adjusted for the change of struct font_driver.
5124 (ftfont_spec_pattern): New function.
5125 (ftfont_list): Return a list, not vector.
5126 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
5127 (ftfont_list_family): Don't downcase names.
5128 (ftfont_free_entity): Deleted.
5129 (ftfont_open): Return a font-object. Adjusted for the change of
5130 struct font. Get underline_thickness and underline_position from
5131 font property. Don't update dpyinfo->smallest_font_height and
5132 dpyinfo->smallest_char_width.
5133 (ftfont_close): Don't free `struct font'.
5134 (ftfont_has_char): Adjusted for the format change of font-entity.
5135 (ftfont_encode_char, ftfont_text_extents): Likewise.
5136
5137 * ftxfont.c (ftxfont_list): Return a list, not vector.
5138 (ftxfont_open): Return a font-object. Adjusted for the change of
5139 struct font. Get underline_thickness and underline_position from
5140 font property. Don't update dpyinfo->smallest_font_height and
5141 dpyinfo->smallest_char_width.
5142 (ftxfont_close): Don't decrease FRAME_X_DISPLAY_INFO (f)->n_fonts.
5143 (ftxfont_draw): Adjusted for the change of struct font.
5144
5145 * image.c (image_ascent): Don't include "charset.h". Include
5146 "character.h" and "font.h".
5147
5148 * lisp.h (enum pvec_type): New member PREV_FONT.
5149 (Fassoc_string): EXFUN it.
5150
5151 * print.c: Include font.h.
5152 (print_object): Handle font-related objects.
5153
5154 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
5155 conditionals. Don't check enable_font_backend. Delete all codes
5156 used only when USE_FONT_BACKEND is not defined.
5157 (handle_auto_composed_prop): Do nothing if it->f is not on a
5158 window system. Check how many following characters can be
5159 displayed by the same font.
5160 (calc_pixel_width_or_height): Type of the 4th arg is changed to
5161 'struct font *'.
5162 (get_char_face_and_encoding): Assign the whole encoding task to
5163 the `encode-char' method of a font driver.
5164 (fill_composite_glyph_string): Adjusted for the change of `struct
5165 face' and `struct glyph_string'.
5166 (fill_glyph_string): Likewise.
5167 (get_per_char_metric): Arguments changed.
5168 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
5169 and `struct glyph_string'.
5170 (produce_stretch_glyph, calc_line_height_property)
5171 (x_produce_glyphs): Likewise.
5172
5173 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
5174 conditionals. Don't check enable_font_backend. Delete all codes
5175 used only when USE_FONT_BACKEND is not defined. Use
5176 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
5177 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
5178 (Qp): Extern them.
5179 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
5180 Deleted.
5181 (struct font_name): Deleted.
5182 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
5183 (compare_fonts_by_sort_order): New function.
5184 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
5185 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
5186 Deleted.
5187 (Fx_family_fonts): Use font_list_entities, and sort fonts by
5188 compare_fonts_by_sort_order.
5189 (Fx_font_family_list): Call Ffont_family_list.
5190 (face_numeric_value, face_numeric_weight, face_numeric_slant)
5191 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
5192 (face_symbolic_slant, face_symbolic_swidth)
5193 (split_font_name_into_vector, build_font_name_from_vector)
5194 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
5195 (font_rescale_ratio, split_font_name, build_font_name)
5196 (free_font_names, sort_fonts, x_face_list_fonts)
5197 (face_font_available_p, sorted_font_list, cmp_font_names)
5198 (font_list_1, concat_font_list, font_list, remove_duplicates):
5199 Deleted.
5200 (Fx_list_fonts): Use Ffont_list.
5201 (LFACE_AVGWIDTH): Deleted.
5202 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
5203 by FONTP.
5204 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
5205 (set_lface_from_font_name): Delete it.
5206 (set_lface_from_font): Renamed from
5207 set_lface_from_font_and_fontset. Caller changed. Don't set
5208 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
5209 for face.
5210 (merge_face_vectors): Copy font-spec if necessary.
5211 Clear properties of the font-spec if necessary.
5212 (merge_face_ref): Clear properties of the font-spec if necessary.
5213 (Finternal_set_lisp_face_attribute): Likewise.
5214 (set_font_frame_param): Use font_load_for_lface to load a
5215 font-object, and call Fmodify_frame_parameters with it.
5216 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
5217 font name by Ffont_xlfd_name.
5218 (Finternal_lisp_face_attribute_values): Don't check QCweight,
5219 QCslant, and QCwidth.
5220 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
5221 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
5222 Compare fonts by EQ.
5223 (lookup_non_ascii_face): Deleted.
5224 (face_for_font): The 2nd argument changed.
5225 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
5226 Check atomic font properties by case insensitive.
5227 (realize_non_ascii_face): Set face->overstrike correctly.
5228 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
5229 (dump_realized_face): Get font name from
5230 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
5231
5232 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
5233 conditionals. Don't check enable_font_backend. Delete all codes
5234 used only when USE_FONT_BACKEND is not defined.
5235 (xic_create_xfontset): Original code deleted and renamed from
5236 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
5237 (x_make_gc): Don't set GCFont in GCs.
5238 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
5239 opened by "fixed".
5240 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
5241 find_ccl_program_func, query_font_func, set_frame_fontset_func,
5242 get_font_repertory_func.
5243
5244 * xfont.c: Include <stdlib.h> and "ccl.h".
5245 (struct xfont_info): New structure.
5246 (xfont_query_font): Deleted.
5247 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
5248 moved from xterm.c.
5249 (xfont_driver): Adjusted for the change of struct font_driver.
5250 (compare_font_names): New function.
5251 (xfont_list_pattern): Sort font names case insensitively. Make
5252 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
5253 (xfont_list): Return a list, not vector.
5254 (xfont_match): If the font doesn't have QCname property, generate
5255 a name from the other font properties.
5256 (xfont_open): Return a font-object. Adjusted for the change of
5257 struct font. Get underline_thickness and underline_position from
5258 font property. Don't update dpyinfo->smallest_font_height and
5259 dpyinfo->smallest_char_width.
5260 (xfont_close): Don't free struct font.
5261 (xfont_prepare_face): Adjusted for the change of struct font.
5262 (xfont_done_face): Deleted.
5263 (xfont_has_char): Adjusted for the change of struct font.
5264 (xfont_encode_char, xfont_draw): Likewise.
5265 (xfont_check): New function.
5266
5267 * xftfont.c (xftfont_list): Adjusted for the change of `list'
5268 callback function.
5269 (xftfont_match): Adjusted for the format change of font-entity.
5270 (xftfont_open): Adjusted for the format change of font-entity and
5271 font-object. Adjusted for the change of struct font. Return a
5272 font-object. Don't update dpyinfo->smallest_font_height and
5273 dpyinfo->smallest_char_width.
5274 (xftfont_close): Block input while calling XftFontClose.
5275 (xftfont_prepare_face): Don't block input while calling
5276 xftfont_get_colors. Adjusted for the change of struct font.
5277 (xftfont_shape): Return value of error case fixed.
5278
5279 * xrdb.c (x_load_resources): Don't setup a fontset resource.
5280
5281 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
5282 conditionals.
5283 (FONT_WIDTH): Return (f)->max_width.
5284 (struct x_display_info): Delete member `font'.
5285 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
5286 (x_find_ccl_program, x_get_font_repertory): Delete externs.
5287 (struct x_output): Change type of `font' to `struct font *'.
5288
5289 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
5290 conditionals. Don't check enable_font_backend. Delete all codes
5291 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
5292 (x_per_char_metric, x_encode_char): Deleted.
5293 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
5294 (x_compute_glyph_string_overhangs): Adjusted for the change of
5295 `struct face'.
5296 (x_draw_glyph_string_foreground)
5297 (x_draw_composite_glyph_string_foreground): Likewise.
5298 (x_draw_glyph_string): Likewise. Use font->underline_position and
5299 font->underline_thickness.
5300 (x_new_font): Renamed from x_new_fontset2.
5301 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
5302 (x_check_font): Call `check' method of a font driver.
5303 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
5304 (x_query_font, x_get_font_repertory): Deleted.
5305 (x_find_ccl_program): Renamed and moved to xfont.c.
5306 (x_redisplay_interface): Adjusted for the change of `struct
5307 redisplay_interface'.
5308
5309 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
5310 conditionals. Don't check enable_font_backend. Delete all codes
5311 used only when USE_FONT_BACKEND is not defined. Surround non-used
5312 code by "#ifdef OLD_FONT" and "endif".
5313 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
5314
5315 * w32font.h (struct w32font_info): New member.
5316 (FONT_COMPAT): New macro.
5317 (w32font_open_internal): Prototype adjusted.
5318
5319 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
5320 OLD_FONT" and "endif".
5321
5322 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
5323 conditionals. Don't check enable_font_backend. Delete all codes
5324 used only when USE_FONT_BACKEND is not defined.
5325 (w32font_open): Return a font-object. Make a font-object by
5326 font_make_object. Adjusted for the change of struct w32font_info.
5327 (w32font_close): Don't free struct font. Adjusted for the change
5328 of struct w32font_info.
5329 (w32font_encode_char, w32font_text_extents, w32font_draw):
5330 Adjusted for the change of struct w32font_info.
5331 (w32font_draw): Likewise.
5332 (w32font_list_internal): Return a list, not vector.
5333 (w32font_open_internal): Change the 4th arg to font-object.
5334 Adjusted for the change of struct w32font_info and font-object format.
5335 (add_font_name_to_list): Don't downcase names.
5336 (w32_enumfont_pattern_entity): Make a font-entity by
5337 font_make_entity. Adjusted for the format change of font-entity.
5338 Use FONT_SET_STYLE to set a style-related font property. If a
5339 font is scalable, set avgwidth property to 0. Set font-entity
5340 property by font_put_extra.
5341 (font_matches_spec): Adjusted for the format change of font-entity.
5342 (w32_weight_table, w32_decode_weight): New variables.
5343 (w32_encode_weight): New function.
5344 (fill_in_logfont): Adjusted for the format change of font-spec.
5345 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
5346 weight value.
5347 (w32font_driver): Adjusted for the change of struct font_driver.
5348
5349 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
5350 conditionals. Don't check enable_font_backend. Surround non-used
5351 code by "#ifdef OLD_FONT" and "endif".
5352 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
5353 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
5354
5355 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
5356 conditionals. Don't check enable_font_backend. Delete all codes
5357 used only when USE_FONT_BACKEND is not defined. Surround non-used
5358 code by "#ifdef OLD_FONT" and "endif".
5359
5360 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
5361 (uniscribe_open): Return value changed to font-object.
5362 Adjusted for the format change of font-object.
5363 (uniscribe_otf_capability): Adjusted for the change of struct font.
5364 (add_opentype_font_name_to_list): Don't downcase names.
5365 (uniscribe_font_driver): Adjusted for the change of struct
5366 font_driver.
5367
53682008-05-13 Chong Yidong <cyd@stupidchicken.com>
5369
5370 * dispnew.c (update_frame_1): Check if tty output is still valid
5371 before flushing it.
5372
53732008-05-13 Jan Djärv <jan.h.d@swipnet.se>
5374
5375 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
5376 to Gtk+ menus.
5377
53782008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
5379
5380 * dired.c (file_name_completion): Tweak the code so as to always do it
5381 in a single pass. Tighten the scope of some variables.
5382
5383 * dired.c (Qdefault_directory): New var.
5384 (file_name_completion): Use it instead of Fexpand_file_name.
5385 (syms_of_dired): Initialize it.
5386
53872008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
5388
5389 * fileio.c (double_dollars): Remove dead code.
5390
53912008-05-10 Eli Zaretskii <eliz@gnu.org>
5392
5393 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
5394 Mention w32-get-true-file-attributes in doc string.
5395
5396 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
5397
53982008-05-09 Glenn Morris <rgm@gnu.org>
5399
5400 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
5401 2008-04-23.
5402
54032008-05-09 Eli Zaretskii <eliz@gnu.org>
5404
5405 Support for reporting owner and group of each file on MS-Windows:
5406 * dired.c (stat_uname, stat_gname): New functions, with special
5407 implementation for w32.
5408 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
5409
5410 * w32.c: Rename the_passwd_* to dflt_passwd_*.
5411 (dflt_group_name): New static variable.
5412 (dflt_group): Rename from the_group.
5413 (init_user_info): Init dflt_group fields. Get user's group name
5414 from LookupAccountSid.
5415 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
5416 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
5417 New initialization states.
5418 (globals_of_w32): Initialize them to zero. Initialize the default
5419 group name to "None".
5420 (GetFileSecurity_Name): New global var, the name of the function
5421 to call for GetFileSecurity.
5422 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
5423 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
5424 (get_file_security, get_security_descriptor_owner)
5425 (get_security_descriptor_group, is_valid_sid)
5426 (get_file_security_desc, get_rid, get_name_and_id)
5427 (get_file_owner_and_group): New functions.
5428 (stat): Use get_file_security_desc and get_file_owner_and_group to
5429 report the owner and primary group of each file. Don't ignore the
5430 high 32 bits of file's size, now that st_size is 64-bit wide.
5431 Fix test when to get true file attributes.
5432 (init_user_info): Use get_rid instead of equivalent inline code.
5433 (fstat): Don't ignore the high 32 bits of file's size.
5434
54352008-05-09 Chong Yidong <cyd@stupidchicken.com>
5436
5437 * image.c (png_load): Use correct bit-depth for setting background
5438 color.
5439
54402008-05-08 Eli Zaretskii <eliz@gnu.org>
5441
5442 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
5443 epa-hook.elc.
5444
54452008-05-08 Juanma Barranquero <lekktu@gmail.com>
5446
5447 * font.c (Ffont_match_p): Don't use `iff' in docstring.
5448
54492008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
5450
5451 * macfns.c (Fx_create_frame): Make a copy of frame parameters
5452 because the original parameters are in pure storage now.
5453 (mac_window): Remove unused params. Update callers.
5454
54552008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
5456
5457 * lread.c (substitute_object_recurse): Use lower-level primitives.
5458 Don't signal errors when traversing sub-char-tables.
5459 Don't loop over all the possible characters when traversing char-tables.
5460
5461 * print.c (print_preprocess): Add sub-char-tables to the print-table,
5462 just like we do in print.c.
5463
54642008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
5465
5466 * minibuf.c (Ftry_completion): Remove code left over from when we used
5467 scmp instead of Fcompare_strings.
5468
54692008-05-04 Juanma Barranquero <lekktu@gmail.com>
5470
5471 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
5472
54732008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5474
5475 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
5476 Create bitmap context in native byte order.
5477
5478 * macterm.c (XDrawLine)
5479 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
5480 context in native byte order.
5481
54822008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5483
5484 * config.in: Regenerate.
5485
5486 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
5487 New definitions for Image I/O support.
5488 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
5489 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
5490 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
5491 (mac_data_provider_release_data, image_load_image_io)
5492 [USE_MAC_IMAGE_IO]: New functions.
5493 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
5494 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
5495 (init_image_func_pointer) [MAC_OSX]: Remove function.
5496 (image_load_quartz2d) [MAC_OSX]: Check availability of
5497 CGImageCreateWithPNGDataProvider at compile time.
5498 Use lowercase `false' for boolean constant.
5499 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
5500 Use image_load_image_io.
5501 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
5502 Don't check MyCGImageCreateWithPNGDataProvider.
5503 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
5504 Don't call init_image_func_pointer.
5505
5506 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
5507
5508 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
5509 Make variable non-static.
5510 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
5511 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
5512
5513 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
5514 (RED_FROM_ULONG): Mask off higher bits.
5515 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
5516
5517 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
5518 Include AvailabilityMacros.h.
5519 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
5520 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
5521
55222008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
5523
5524 * chartab.c (Fset_char_table_range): If range is t, really set all
5525 chars to that value.
5526
55272008-05-03 Eli Zaretskii <eliz@gnu.org>
5528
5529 * dired.c (Ffile_attributes): Don't allow the device number become
5530 negative.
5531
55322008-05-02 Daiki Ueno <ueno@unixuser.org>
5533
5534 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
5535
55362008-05-02 Juri Linkov <juri@jurta.org>
5537
5538 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
5539 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
5540 DEFAULT argument as a list of default values in docstrings.
5541
55422008-05-01 Chong Yidong <cyd@stupidchicken.com>
5543
5544 * puresize.h (BASE_PURESIZE): Increase to 1210000.
5545
55462008-05-01 Martin Rudalics <rudalics@gmx.at>
5547
5548 * dispnew.c (change_frame_size_1): Preserve small windows when
5549 shrinking frames by calling set_window_height|width with third
5550 arg 2.
5551
5552 * window.h (struct window): Replace field too_small_ok by field
5553 resize_proportionally.
5554
5555 * window.c (make_window): Initialize resize_proportionally.
5556 (enlarge_window): Temporarily set resize_proportionally to make
5557 sure that shrink_windows does scale the window proportionally.
5558 (shrink_windows): When window has resize_proportionally set try
5559 to shrink it proportionally by stealing from other windows.
5560 (struct saved_window, Fset_window_configuration)
5561 (compare_window_configurations): Handle resize_proportionally.
5562 (WINDOW_TOTAL_SIZE): New macro.
5563 (window_min_size, shrink_windows, size_window): Use it.
5564 (check_min_window_sizes): Remove. Invalid values of
5565 window-min-height|width are handled by window_min_size_2 now.
5566 (size_window, Fsplit_window, enlarge_window)
5567 (adjust_window_trailing_edge, grow_mini_window): Don't call
5568 check_min_window_sizes.
5569 (window_min_size_2, window_min_size_1, window_min_size):
5570 New argument safe_p for retrieving "safe" minimum sizes.
5571 (Fdisplay_buffer, Fsplit_window, enlarge_window)
5572 (adjust_window_trailing_edge, grow_mini_window):
5573 Adjust arguments of window_min_size... functions.
5574 (shrink_windows): Argument min_size removed. New argument
5575 safe_p allows shrinking windows to their safe minimum sizes.
5576 Calculate minimum size and decide whether a window shall be
5577 deleted for each window individually.
5578 (size_window): When nodelete_p equals 2, tell shrink_windows to
5579 delete windows only if their new minimum size is no more safe.
5580 (shrink_window_lowest_first): Call window_min_size_1 to make
5581 sure to preserve modeline of bottom-most window when resizing
5582 the minibuffer.
5583 (Fset_window_configuration, Fcurrent_window_configuration)
5584 (compare_window_configurations): Do not handle
5585 window-min-height|width any more.
5586 (syms_of_window): Clarify window-min-height|width doc-strings.
5587
55882008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
5589
5590 * dired.c (file_name_completion): Fix up the encoding/decoding issue
5591 some more. Copy some of the code from Ftry_completions.
5592 Remove special case code that dates back to initial revision when the
5593 slash was only added when necessary and that can't trigger nowadays.
5594
55952008-04-27 Kenichi Handa <handa@m17n.org>
5596
5597 * font.c (font_prop_validate): Signal `error' instead of `font'.
5598
55992008-04-29 Jason Rumney <jasonr@gnu.org>
5600
5601 * w32fns.c (Fw32_battery_status): New defun.
5602 (syms_of_w32fns): Defsubr it.
5603
56042008-04-28 Andreas Schwab <schwab@suse.de>
5605
5606 * dired.c (file_name_completion): Fix another mixing of encoded
5607 and decoded names.
5608
56092008-04-28 Juanma Barranquero <lekktu@gmail.com>
5610
5611 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
5612
56132008-04-27 Juanma Barranquero <lekktu@gmail.com>
5614
5615 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
5616
56172008-04-27 Andreas Schwab <schwab@suse.de>
5618
5619 * dired.c (file_name_completion): Fix inappropriate mixing of
5620 encoded and decoded names.
5621
5622 * xterm.c (XTread_socket): Fix use of uninitialized variable.
5623
5624 * puresize.h (BASE_PURESIZE): Increase to 1200000.
5625
56262008-04-26 Eli Zaretskii <eliz@gnu.org>
5627
5628 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
5629 2008-03-31, it's not needed anymore with `struct stat' definition
5630 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
5631 for the same reasons.
5632
56332008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
5634
5635 * m/sparc.h: Additional redefinitions for GNU/Linux.
5636
56372008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5638
5639 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
5640 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
5641 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
5642 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
5643 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
5644 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
5645 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
5646 Likewise.
5647
5648 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
5649 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
5650 (mac_ax_number_of_characters): Add externs.
5651 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
5652 [USE_MAC_TSM]: Likewise.
5653 (mac_handle_text_input_event) [MAC_OSX]:
5654 Handle kEventTextInputOffsetToPos for no active input area case.
5655 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
5656 (mac_handle_document_access_event)
5657 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
5658 (install_application_handler) [MAC_OSX]: Register handlers for
5659 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
5660 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
5661 Register mac_handle_document_access_event.
5662
5663 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
5664 Make functions non-static.
5665
56662008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
5667
5668 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
5669 (read_file_name_completion_ignore_case, insert_default_directory)
5670 (Qdefault_directory): Move to minibuffer.el.
5671 (Fread_file_name): Call the new `read-file-name' instead.
5672
56732008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5674
5675 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
5676 Make function non-static.
5677 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
5678 Remove function.
5679 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
5680 Move to mactoolbox.c.
5681 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
5682
5683 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
5684 (mac_rect_make): New macro.
5685
5686 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
5687 instead of float.
5688 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
5689 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
5690 (XSetBackground) [USE_CG_DRAWING]: Likewise.
5691 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
5692 CGRectMake.
5693 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
5694 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
5695 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
5696 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
5697 instead of WindowRef in argument type.
5698 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
5699 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
5700 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
5701 instead of DISPLAY. All uses changed.
5702 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
5703 (x_calc_absolute_position): Simplify so as not to use
5704 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
5705
5706 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
5707 instead of WindowRef in argument type.
5708 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
5709 [TARGET_API_MAC_CARBON]: Remove externs.
5710 (create_apple_event, mac_event_parameters_to_lisp)
5711 [TARGET_API_MAC_CARBON]: Add externs.
5712
5713 * mactoolbox.c (Vmac_ts_script_language_on_focus)
5714 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
5715 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
5716 is clicked.
5717 (x_activate_menubar): Remove extern for saved_menu_event_location.
5718 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
5719 Move from mac.c.
5720
57212008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5722
5723 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
5724 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
5725
57262008-04-23 Jason Rumney <jasonr@gnu.org>
5727
5728 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
5729 attributes only for local files.
5730
5731 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
5732 default to Qlocal.
5733
57342008-04-22 Juri Linkov <juri@jurta.org>
5735
5736 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
5737 read-buffer-to-switch instead of using the letter "B".
5738
57392008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
5740
5741 * fileio.c (Qdefault_directory): New variable.
5742 (Fread_file_name): Use it to pass `dir' to the completion functions.
5743
57442008-04-20 Chong Yidong <cyd@stupidchicken.com>
5745
5746 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
5747
57482008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
5749
5750 * keyboard.c (Vpre_help_message): Remove.
5751 (show_help_echo): Remove default C code.
5752
5753 * dired.c (directory_files_internal, file_name_completion):
5754 Only call ENCODE_FILE if the string is indeed decoded.
5755
57562008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
5757
5758 * Makefile.in (TOOLKIT_DEFINES): Remove.
5759 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
5760
57612008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5762
5763 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
5764 (mactoolbox.o): New target.
5765
5766 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
5767 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
5768
5769 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
5770 Use mac_set_frame_window_background instead of XSetWindowBackground.
5771 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
5772 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
5773 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
5774 instead of SetWindowTitleWithCFString.
5775 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
5776 Move function to mactoolbox.c.
5777 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
5778 Use mac_set_window_modified instead of SetWindowModified.
5779 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
5780 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
5781 (Fx_focus_frame): Use mac_front_non_floating_window instead of
5782 FrontNonFloatingWindow. Use mac_activate_window instead of
5783 ActivateWindow. Use mac_active_non_floating_window instead of
5784 ActiveNonFloatingWindow.
5785 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
5786 Use mac_show_hourglass and mac_hide_hourglass.
5787 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
5788 instead of GetGlobalMouse.
5789 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
5790 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
5791 Use mac_bring_window_to_front instead of BringToFront.
5792 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
5793 mactoolbox.c.
5794 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
5795 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
5796 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
5797 mactoolbox.c.
5798
5799 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
5800 (XtPointer): Move typedef from macmenu.c.
5801 (enum button_type): Move enum from macmenu.c.
5802 (widget_value): Move typedef from macmenu.c.
5803 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
5804 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
5805 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
5806 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
5807 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
5808 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
5809 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
5810 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
5811 (Selection): Move typedef from macselect.c.
5812 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
5813 macterm.c.
5814 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
5815 (mac_is_window_collapsed, mac_bring_window_to_front)
5816 (mac_send_window_behind, mac_hide_window, mac_show_window)
5817 (mac_collapse_window, mac_front_non_floating_window)
5818 (mac_active_non_floating_window, mac_activate_window)
5819 (mac_move_window_structure, mac_move_window, mac_size_window)
5820 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
5821
5822 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
5823 (enum mac_menu_kind): Move enum to mactoolbox.c.
5824 (min_menu_id): Move variable to mactoolbox.c.
5825 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
5826 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
5827 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
5828 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
5829 [TARGET_API_MAC_CARBON]: Likewise.
5830 (XtPointer): Move typedef to macgui.h.
5831 (enum button_type): Move enum to macgui.h.
5832 (widget_value): Move typedef to macgui.h.
5833 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
5834 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
5835 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
5836 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
5837 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
5838 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
5839 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
5840 (popup_activated_flag): Make variable non-static.
5841 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
5842 (add_menu_item, fill_menu, dispose_menus):
5843 Move functions to mactoolbox.c.
5844 (restore_show_help_function, menu_target_item_handler)
5845 (install_menu_target_item_handler, mac_handle_dialog_event)
5846 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
5847 [TARGET_API_MAC_CARBON]: Likewise.
5848 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
5849 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
5850 (find_and_call_menu_selection, name_is_separator): Make function
5851 non-static.
5852 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
5853 to mactoolbox.c.
5854 (set_frame_menubar): Don't call install_menu_quit_handler.
5855 (menu_item_selection): New variable.
5856 (mac_menu_show): Use create_and_show_popup_menu.
5857 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
5858 selection but set variable menu_item_selection. All uses changed.
5859 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
5860 Call install_menu_quit_handler. Move to mactoolbox.c.
5861
5862 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
5863 (Selection): Move typedef to macgui.h.
5864 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
5865 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
5866 Make variables non-static.
5867 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
5868 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
5869 Make functions non-static.
5870 (Vmac_service_selection) [MAC_OSX]: Likewise.
5871 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
5872 (mac_valid_selection_target_p, mac_clear_selection)
5873 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
5874 (mac_put_selection_value, mac_selection_has_target_p)
5875 (mac_get_selection_value, mac_get_selection_target_list)
5876 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
5877 Move functions to mactoolbox.c.
5878 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
5879 Likewise.
5880 (copy_scrap_flavor_data, mac_handle_service_event)
5881 (install_service_handler) [MAC_OSX]: Likewise.
5882 (syms_of_macselect) <Vmac_dnd_known_types>:
5883 Use mac_dnd_default_known_types.
5884
5885 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
5886 Move to mactoolbox.c.
5887 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
5888 (Fx_selection_owner_p): Add EXFUN.
5889 (install_window_handler, remove_window_handler, XSetWindowBackground):
5890 Remove externs.
5891 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
5892 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
5893 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
5894 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
5895 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
5896 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
5897 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
5898 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
5899 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
5900 (create_and_show_popup_menu, mac_get_selection_from_symbol)
5901 (mac_valid_selection_target_p, mac_clear_selection)
5902 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
5903 (mac_put_selection_value, mac_selection_has_target_p)
5904 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
5905 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
5906 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
5907 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
5908 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
5909 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
5910 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
5911 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
5912 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
5913
5914 * mactoolbox.c: New file.
5915
59162008-04-18 Jason Rumney <jasonr@gnu.org>
5917
5918 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
5919
59202008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
5921
5922 * character.c (Fmultibyte_char_to_unibyte):
5923 Return latin1 chars unchanged.
5924
5925 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
5926 relocated if it points to `name'.
5927
59282008-04-17 Kenichi Handa <handa@m17n.org>
5929
5930 * data.c (Faset): Allow setting a multibyte character in an
5931 ASCII-only unibyte string.
5932
5933 * lisp.h (STRING_SET_MULTIBYTE): New macro.
5934
59352008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
5936
5937 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
5938 done in config.h.
5939
59402008-04-16 Juanma Barranquero <lekktu@gmail.com>
5941
5942 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
5943 (Fchar_direction): Add usage in the docstring.
5944
59452008-04-15 Chong Yidong <cyd@stupidchicken.com>
5946
5947 * keyboard.c (read_key_sequence): Remove always-true checks.
5948
59492008-04-14 Jason Rumney <jasonr@gnu.org>
5950
5951 * w32font.c (w32font_open_internal): Set max_bounds.descent in
5952 compatibility struct, for better underline positioning.
5953
59542008-04-13 David Hansen <david.hansen@gmx.net>
5955
5956 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
5957 string.
5958
59592008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
5960
5961 * m/hp800.h (XUINT, XSET): Remove.
5962
59632008-04-12 Juanma Barranquero <lekktu@gmail.com>
5964
5965 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
5966 previous change.
5967
59682008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
5969
5970 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
5971 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
5972
59732008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
5974
5975 * keymap.h (map_keymap_canonical): Declare.
5976 * xmenu.c (single_keymap_panes): Use it.
5977
59782008-04-11 Glenn Morris <rgm@gnu.org>
5979
5980 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
5981 set the target's value to that of the alias.
5982
59832008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
5984
5985 * term.c (set_tty_color_mode): Left over typo.
5986
59872008-04-10 Michael Albinus <michael.albinus@gmx.de>
5988
5989 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
5990 only after check for file name handler functions. Signal, when
5991 native functionality is not supported.
5992 (syms_of_fileio): Declare it unconditionally.
5993
59942008-04-10 Jason Rumney <jasonr@gnu.org>
5995
5996 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
5997 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
5998
5999 * w32.c (logon_network_drive): Also logon to remote drives that
6000 are mapped to drive letters.
6001
60022008-04-10 Glenn Morris <rgm@gnu.org>
6003
6004 * xdisp.c (truncate-partial-width-windows): Doc fix.
6005
60062008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
6007
6008 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
6009 Move functions to minibuffer.el.
6010 (syms_of_fileio): Don't declare them.
6011
60122008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
6013
6014 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
6015 (syms_of_minibuf): Remove its initialization.
6016
6017 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
6018
60192008-04-09 Juanma Barranquero <lekktu@gmail.com>
6020
6021 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
6022
60232008-04-09 Jason Rumney <jasonr@gnu.org>
6024
6025 * makefile.w32-in (distclean): Delete makefile too.
6026 (maintainer-clean): New target.
6027
6028 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
6029
6030 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
6031 for new font backend and composite cases.
6032
60332008-04-09 Jan Djärv <jan.h.d@swipnet.se>
6034
6035 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
6036 Most of the code moved to run_timers.
6037 (do_pending_atimers): Call run_timers.
6038 (run_timers): New function.
6039
6040 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
6041 run atimers.
6042
6043 * process.c (wait_reading_process_output): The same as above.
6044
60452008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
6046
6047 * minibuf.c (last_exact_completion): Remove variable.
6048 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
6049 (complete_and_exit_1, complete_and_exit_2)
6050 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
6051 (Fdisplay_completion_list, display_completion_list_1)
6052 (Fminibuffer_completion_help, Fself_insert_and_exit)
6053 (Fexit_minibuffer, Fminibuffer_message): Move functions to
6054 minibuffer.el.
6055 (syms_of_minibuf): Remove corresponding initializations.
6056
6057 * keyboard.c (Qdeactivate_mark): New var.
6058 (command_loop_1): Use it to call `deactivate-mark'.
6059 (syms_of_keyboard): Initialize it.
6060
6061 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
6062 to another frame.
6063 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
6064 Don't call set_tty_color_mode.
6065 (store_frame_param): Reset previous_frame rather than call
6066 set_tty_color_mode.
6067 * term.c (set_tty_color_mode): Rewrite.
6068 * dispextern.h (set_tty_color_mode): New type.
6069 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
6070
60712008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
6072
6073 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
6074 for generic chars, which do not exist any more in emacs-unicode.
6075
60762008-04-08 Michael Albinus <michael.albinus@gmx.de>
6077
6078 * coding.c (detect_coding_emacs_mule)
6079 (Ffind_operation_coding_system): Fix typo.
6080
60812008-04-08 Jason Rumney <jasonr@gnu.org>
6082
6083 * w32uniscribe.c (SNAME): Extract only symbol name.
6084
6085 * w32font.h (struct w32_metric_cache): New struct.
6086 (w32font_info): Use it.
6087 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
6088 (CACHE_BLOCKSIZE): New constants.
6089
6090 * w32font.c (Qja, Qko, Qzh): New symbols.
6091 (syms_of_w32font): Initialise them.
6092 (font_matches_spec): Use them to filter by language.
6093 (recompute_cached_metrics): Remove function.
6094 (compute_metrics, clear_cached_metrics): New functions.
6095 (w32font_encode_char): Use them to manage metric cache.
6096 (w32font_text_extents): Cache metrics for all glyphs on demand.
6097 Delay converting glyph indices to WORD until needed.
6098 (w32font_open_internal): Initialize metric cache to empty.
6099 (registry_to_w32_charset): Charset should always be a symbol.
6100 (fill_in_logfont, list_all_matching_fonts): Family should
6101 always be a symbol.
6102
61032008-04-06 Jason Rumney <jasonr@gnu.org>
6104
6105 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
6106 Give up if glyph indices not supported. Use uniscribe obtained
6107 ABC widths for individual metrics. Map glyph clusters back to
6108 characters using fClusterStart flag. Return number of glyphs
6109 produced, not chars processed.
6110 (uniscribe_shape): Map char at FROM to current glyph.
6111
61122008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6113
6114 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
6115 Use SetMenuItemHierarchicalMenu.
6116
61172008-04-05 Jason Rumney <jasonr@gnu.org>
6118
6119 * image.c (pbm_load): Allow color values up to 65535.
6120 Throw an error if max_color_idx is outside the supported range.
6121 Report an error when image size is invalid.
6122 Read two bytes at a time when raw images have max_color_idx above 255.
6123
61242008-04-05 Eli Zaretskii <eliz@gnu.org>
6125
6126 * w32.c (readdir): If FindFirstFile/FindNextFile return in
6127 cFileName a file name that includes `?' characters, use the 8+3
6128 alias in cAlternateFileName instead.
6129
61302008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
6131
6132 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
6133 append "CCL: Quitted" when the CCL program is quitted.
6134 (setup_ccl_program): Initialize ccl->quit_silently to zero.
6135
6136 * ccl.h (struct ccl_program): New member quit_silently.
6137
61382008-04-05 Chong Yidong <cyd@stupidchicken.com>
6139
6140 * search.c (compile_pattern_1): Treat non-nil and non-string of
6141 search-spaces-regexp as nil.
6142
6143 * minibuf.c (Fassoc_string): Tweak docstring.
6144
61452008-04-05 Eli Zaretskii <eliz@gnu.org>
6146
6147 * dired.c (Ffile_attributes): Support inode numbers wider than 32
6148 bits. Remove ugly WINDOWSNT-specific kludge introduced on
6149 2008-03-14 to force inode be positive.
6150
6151 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
6152 _S_* ones, since we now use our own sys/stat.h.
6153 (stat, fstat): Don't mangle the inode number.
6154 (init_user_info): Don't restrict UID and GID to 0-60000 range.
6155
61562008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
6157
6158 * frame.h (struct frame): Give one more bit to `visible' since we use
6159 values larger than 1 to indicate obscured frames on ttys.
6160
6161 * keymap.c (Qkeymap_canonicalize): New var.
6162 (Fmap_keymap_internal): New fun.
6163 (describe_map): Use keymap-canonicalize.
6164
6165 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
6166 (Fundo_boundary): Set them.
6167 (syms_of_undo): Initialize them.
6168 (record_point): Use them instead of last_point_position*.
6169 (last_undo_buffer): Change type.
6170
61712008-04-04 Jason Rumney <jasonr@gnu.org>
6172
6173 * w32font.c (w32font_text_extents): Use font's ascent and descent.
6174 (recompute_cached_metrics): Don't set ascent and descent per char.
6175
6176 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
6177 (uniscribe_check_otf): Add GC protection before consing.
6178 Rearrange loop for counting features.
6179
61802008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
6181
6182 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
6183 buffer with byte-size of source buffer.
6184
61852008-04-03 Chong Yidong <cyd@stupidchicken.com>
6186
6187 * callint.c (Fcall_interactively): Handle temporary region even
6188 when shift-select-mode is off.
6189
61902008-04-03 Jason Rumney <jasonr@gnu.org>
6191
6192 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
6193
61942008-04-03 Kenichi Handa <handa@m17n.org>
6195
6196 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
6197 (CATEGORY_MASK_UTF_16): Likewise.
6198 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
6199 binary file.
6200 (detect_coding): Add null-byte detection for a binary file.
6201 (detect_coding_system): Likewise.
6202
62032008-04-03 Jason Rumney <jasonr@gnu.org>
6204
6205 * w32uniscribe.c: New file.
6206
6207 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
6208
6209 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
6210
6211 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
6212 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
6213 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
6214 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
6215 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
6216 (Qphonetic): New symbols.
6217 (syms_of_w32font): Initialize them.
6218 (font_supported_scripts): Use them.
6219 (w32font_list_family): List all charsets.
6220 (w32font_text_extents, recompute_cached_metrics): Fix metric
6221 calculations.
6222 (w32_enumfont_pattern_entity): Make full_type a DWORD.
6223 Give opentype fonts their own format.
6224 (font_matches_spec): New arguments backend and logfont.
6225 Handle :otf spec for uniscribe backend.
6226 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
6227 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
6228
6229 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
6230 font backend.
6231 (globals_of_w32fns): Initialize uniscribe font backend.
6232
6233 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
6234 dependencies.
6235 (w32uniscribe.$(O)): New file to build.
6236 (FONT_OBJ): Include w32uniscribe.$(O).
6237 (LIBS): Add uniscribe libraries.
6238
6239 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
6240
62412008-04-02 Chong Yidong <cyd@stupidchicken.com>
6242
6243 * callint.c (Vshift_select_mode): New var.
6244 (Finteractive): Document new ^ spec.
6245 (Fcall_interactively): Call handle-shift-selection if the ^ spec
6246 is present.
6247
6248 * keyboard.c (Vthis_command_keys_shift_translated): New var.
6249 (command_loop_1): Avoid running the direct display versions of
6250 forward-char and backward-char if shift-selection may occur.
6251 (read_key_sequence): Set Vthis_command_keys_shift_translated if
6252 shift-translation takes place.
6253
6254 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
6255 avoid clobbering by define-minor-mode.
6256
6257 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
6258 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
6259
6260 * syntax.c (Fforward_word): Add ^ interactive spec.
6261
6262 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
6263 (Fscroll_right): Add ^ interactive spec.
6264
62652008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
6266
6267 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
6268
6269 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
6270
6271 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
6272
62732008-03-31 Juri Linkov <juri@jurta.org>
6274
6275 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
6276
62772008-03-30 Jan Djärv <jan.h.d@swipnet.se>
6278
6279 * gtkutil.c (xg_set_geometry): Fix indentation.
6280 (xg_resize_outer_widget): Remove.
6281 (x_wm_size_hint_off): Fix indentation.
6282 (xg_frame_set_char_size): Call flush_and_sync after
6283 gtk_window_resize.
6284 (x_wm_set_size_hint): Pass NULL as geometry window to
6285 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
6286 Add menu bar and tool bar height to base height.
6287 (xg_update_frame_menubar, free_frame_menubar)
6288 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
6289 (update_frame_tool_bar, free_frame_tool_bar):
6290 Change xg_resize_outer_widget to xg_frame_set_char_size.
6291
62922008-03-30 Michael Albinus <michael.albinus@gmx.de>
6293
6294 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
6295 (Fdbus_call_method): New parameter TIMEOUT.
6296 (dbus-send-signal): Optimize UNGCPRO call.
6297
62982008-03-29 Juri Linkov <juri@jurta.org>
6299
6300 * window.c (Fdisplay_buffer): Move call to
6301 Vsplit_window_preferred_function out of conditions that check
6302 if window is eligible for vertical splitting.
6303 When Vsplit_window_preferred_function is non-nil, call it and use
6304 its non-nil return value as window. Otherwise, continue doing
6305 vertical splitting using Fsplit_window with arg horflag=nil.
6306 (syms_of_window) <Vsplit_window_preferred_function>: Change the
6307 default value from `split-window' to nil.
6308
63092008-03-29 Juri Linkov <juri@jurta.org>
6310
6311 * callint.c (Fcall_interactively): Revert 2008-03-16 change
6312 for interactive code letters 'b' and 'B'.
6313
63142008-03-29 Eli Zaretskii <eliz@gnu.org>
6315
6316 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
6317 multibyte string.
6318
63192008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
6320
6321 * keyboard.c (pending_funcalls): New var.
6322 (timer_check): Run it.
6323 (syms_of_keyboard): Initialize it.
6324 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
6325 (Vdelete_terminal_functions): New vars.
6326 (syms_of_terminal): Initialize them.
6327 (Fdelete_terminal): Run delete-terminal-functions.
6328 * xdisp.c (safe_eval): Rewrite.
6329 (safe_call2): New fun.
6330 * frame.c (Qdelete_frame_functions): New var.
6331 (syms_of_frame): Initialize it.
6332 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
6333 * lisp.h (safe_call2, pending_funcalls): Declare.
6334
63352008-03-28 Andreas Schwab <schwab@suse.de>
6336
6337 * indent.c (Fmove_to_column): Move declaration before statements.
6338
63392008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
6340
6341 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
6342 (struct frame): Use bit fields for boolean vars.
6343
6344 * process.c (server_accept_connection): Simplify naming.
6345 (emacs_get_tty_pgrp): Use SDATA.
6346
6347 * coding.c (decode_coding_object): Fix last change.
6348
63492008-03-27 Jason Rumney <jasonr@gnu.org>
6350
6351 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
6352
63532008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
6354
6355 * charset.c (Fdefine_charset_internal): Change the way of
6356 registering charsets in Vcharset_order_list.
6357 (syms_of_charset): Make the charset `eight-bit' supplementary.
6358
63592008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
6360
6361 * regex.c (EXTEND_BUFFER): Change order of pointer addition
6362 operations, to avoid having the difference between pointers
6363 overflow.
6364
63652008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
6366
6367 * indent.c (check_display_width): New fun.
6368 (scan_for_column): Use it.
6369
6370 * data.c (syms_of_data): Mark most-positive-fixnum and
6371 most-negative-fixnum as constants.
6372
6373 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
6374
6375 * indent.c (scan_for_column): Extract from current_column_1.
6376 Merge with the same code from Fmove_to_column.
6377 (current_column_1, Fmove_to_column): Use it.
6378
63792008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
6380
6381 * keymap.c (map_keymap_internal): New fun.
6382 (map_keymap): Use it.
6383 (Fmap_keymap_internal): New fun.
6384 (Fmap_keymap): Remove left-out test from before make_save_value.
6385
6386 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
6387
6388 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
6389 Use XCAR/XCDR.
6390
6391 * process.h (struct Lisp_Process): Remove filter_multibyte.
6392 * process.c (QCfilter_multibyte): Remove.
6393 (setup_process_coding_systems): Don't use filter_multibyte.
6394 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
6395 (read_process_output): Don't adjust multibyteness to filter_multibyte.
6396 (Fset_process_filter_multibyte): Change the coding-system to
6397 approximate the previous behavior.
6398 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
6399 coding-system.
6400
6401 * coding.c (decode_coding_object): When not decoding into a buffer,
6402 obey the coding system's preference of (uni|multi)byte.
6403
64042008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
6405
6406 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
6407 every char is changed and has a different byte-length.
6408 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
6409 Fix int -> EMACS_INT.
6410
64112008-03-23 David Hansen <david.hansen@gmx.net>
6412
6413 * dbusbind.c (xd_read_message): Remove extra copying of message
6414 strings. Check for NULL `interface' or `member'.
6415
64162008-03-22 Eli Zaretskii <eliz@gnu.org>
6417
6418 * w32.c (readdir): If FindFirstFile/FindNextFile return in
6419 cFileName a file name that includes `?' characters, use the 8+3
6420 alias in cAlternateFileName instead.
6421
64222008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
6423
6424 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
6425
64262008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
6427
6428 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
6429 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
6430 work on current_buffer only instead (that was already the case
6431 for some of the code anyway).
6432 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
6433 (temp_set_point, temp_set_point_both): Use EMACS_INT.
6434 (SET_PT, SET_PT_BOTH): Adjust.
6435 * intervals.h (set_point, temp_set_point, set_point_both)
6436 (temp_set_point_both): Remove redundant declarations.
6437
64382008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
6439
6440 * fileio.c (Finsert_file_contents):
6441 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
6442 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
6443 when buffer != current_buffer anyway.
6444
64452008-03-20 Andreas Schwab <schwab@suse.de>
6446
6447 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
6448 as default.
6449
64502008-03-19 Jason Rumney <jasonr@gnu.org>
6451
6452 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
6453 (syms_of_w32fns): Initialize them.
6454 (HOURGLASS_ID): New constant.
6455 (x_window_to_frame): Don't check hourglass_window.
6456 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
6457 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
6458 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
6459 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
6460 Only change the cursor if hourglass is not active.
6461 (Fx_create_frame): Initialize frame's current_cursor.
6462 (hourglass_atimer): Remove.
6463 (hourglass_started): New function.
6464 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
6465 (show_hourglass): Adapt to w32, changing argument to frame.
6466
6467 * w32term.h (struct w32_output): Remove hourglass_window.
6468 Add current_cursor.
6469
6470 * eval.c (call_debugger, Fsignal):
6471 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
6472 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
6473 (Fexecute_extended_command, cancel_hourglass_unwind):
6474 * minibuf.c (read_minibuf):
6475 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
6476
64772008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
6478
6479 * window.c (run_funs): New fun.
6480 (run_window_configuration_change_hook): Use it to run the buffer-local
6481 and the global part of the hook.
6482
6483 * xdisp.c (format_mode_line_unwind_data): Add window argument.
6484 (unwind_format_mode_line): Restore selected window.
6485 (x_consider_frame_title, Fformat_mode_line): Set selected window.
6486
64872008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
6488
6489 * editfns.c (Fchar_equal): Check they are valid characters.
6490
6491 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
6492
64932008-03-17 Andreas Schwab <schwab@suse.de>
6494
6495 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
6496 against a charset.
6497
6498 * lisp.h (Fbuffer_list): Declare.
6499
65002008-03-17 Jan Djärv <jan.h.d@swipnet.se>
d6c952f8 6501
aac0c6e3
MR
6502 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
6503 handlebox_widget is != 0.
6504
65052008-03-16 Juri Linkov <juri@jurta.org>
6506
6507 * callint.c (Fcall_interactively): For interactive code letters
6508 'b' and 'B' put the buffer list into the list of default "future"
6509 values of the minibuffer.
6510
65112008-03-16 Andreas Schwab <schwab@suse.de>
6512
6513 * keyboard.c (read_key_sequence): Fix downcasing of letters with
6514 modifiers.
6515
6516 * regex.c (re_match_2_internal): Correct matching of a charset
6517 against latin-1 characters.
6518
65192008-03-16 Kenichi Handa <handa@m17n.org>
6520
6521 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
6522 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
6523 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
6524 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
6525 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
6526 CHAR_STRING_ADVANCE.
6527 (produce_chars): Fix for the case that the source and the
6528 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
6529 instead of CHAR_STRING_ADVANCE.
6530 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
6531 STRING_CHAR_ADVANCE.
6532
65332008-03-15 Andreas Schwab <schwab@suse.de>
6534
6535 * regex.c (re_match_2_internal): Correct matching of eight bit
6536 characters in unibyte strings.
6537
65382008-03-15 Martin Rudalics <rudalics@gmx.at>
6539
6540 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
6541 at end of range when it coincides with the end of the buffer.
6542
65432008-03-14 Eli Zaretskii <eliz@gnu.org>
6544
6545 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
6546
6547 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
6548
65492008-03-14 Jason Rumney <jasonr@gnu.org>
6550
6551 * editfns.c (initial_tz): New variable.
6552 (syms_of_editfns): Initialize it.
6553 (Fset_time_zone_rule): Set it when first called.
6554 Use it when TZSTRING is nil.
6555
6556 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
6557 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
6558 (monitor_from_point_fn, get_monitor_info_fn): New globals.
6559 (globals_of_w32fns): Initialize them.
6560 (compute_tip_xy): Use them to position tooltips.
6561
65622008-03-14 Glenn Morris <rgm@gnu.org>
6563
6564 * emacs.c (main): Revert previous change.
6565 (standard_args): Revert -internal-script back to -scriptload,
6566 and remove the long-option form.
6567
65682008-03-13 Glenn Morris <rgm@gnu.org>
6569
6570 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
6571 Remove option -enable-font-backend.
6572
65732008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
6574
6575 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
6576
65772008-03-11 Jan Djärv <jan.h.d@swipnet.se>
6578
6579 * xterm.c (x_connection_closed): For GTK: If this is the last
6580 terminal just exit without closing the display.
6581
65822008-03-11 Jason Rumney <jasonr@gnu.org>
6583
6584 * w32font.c (w32font_full_name): Use floor to round.
6585
65862008-03-10 dhruva <dhruvakm@gmail.com> (tiny change)
6587
6588 * sound.c (alsa_configure): Declare vol at beginning of block.
6589
6590 * fontset.c (Ffontset_info): Remove extra semicolon.
6591
65922008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
6593
6594 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
6595 size of resulting string.
6596
65972008-03-10 Jason Rumney <jasonr@gnu.org>
6598
6599 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
6600
66012008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6602
6603 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
6604 Don't pretend as if characters with display property haven't been
6605 consumed for string-replacing-string case.
6606
66072008-03-08 Kim F. Storm <storm@cua.dk>
6608
6609 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
6610 (get_next_display_element, next_element_from_string)
6611 (next_element_from_ellipsis, next_element_from_buffer): Use it.
6612
66132008-03-08 Andreas Schwab <schwab@suse.de>
6614
6615 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
6616
66172008-03-06 Jason Rumney <jasonr@gnu.org>
6618
6619 * w32font.c (w32_registry): Take font_type argument. Use ANSI
6620 when charset not specified. Only translate ANSI to unicode when
6621 font_type is truetype.
6622 (w32font_coverage_ok): New function.
6623 (add_font_entity_to_list): Use it to filter unsuitable fonts.
6624
66252008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
6626
6627 * lread.c (Fread_char): Resolve modifiers.
6628 (Fread_char_exclusive): Likewise.
6629
6630 * character.c (char_resolve_modifier_mask): New function.
6631 (char_string): Use char_resolve_modifier_mask.
6632 (Fchar_resolve_modifiers): New function.
6633 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
6634 function.
6635
66362008-03-04 Jason Rumney <jasonr@gnu.org>
6637
6638 * makefile.w32-in: Always include w32font.c in the build.
6639 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
6640
66412008-03-04 Andreas Schwab <schwab@suse.de>
6642
6643 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
6644 (versionclean): Likewise.
6645
66462008-03-04 Juanma Barranquero <lekktu@gmail.com>
6647
6648 * .cvsignore: Add oo.
6649
66502008-03-03 Andreas Schwab <schwab@suse.de>
6651
6652 * coding.c (decode_coding_object): Inhibit gap shrinking while
6653 decoding in place.
6654
66552008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
6656
6657 * w32term.c: Remove unused include "gnu.h".
6658 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
6659
6660 * gnu.h: Rename to ...
6661 * emacs-icon.h: ... this.
6662 * xterm.c: Use emacs-icon.h instead of gnu.h.
6663 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
6664
66652008-03-03 Juanma Barranquero <lekktu@gmail.com>
6666
6667 * w32font.c: Include math.h.
6668
66692008-03-03 Jason Rumney <jasonr@gnu.org>
6670
6671 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
6672 Compute options separately.
6673 (w32font_open_internal): Set glyph_idx before caching metrics.
6674
6675 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
6676 Define if system headers don't.
6677 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
6678 (w32font_encode_char): Don't declare here.
6679
6680 * w32font.c (Quniscribe, QCformat): New symbols.
6681 (syms_of_w32font): Define them.
6682 (w32font_has_char): Indicate uncertainty.
6683 (w32font_encode_char): Encode as glyph point. Make static.
6684 (recompute_cached_metrics): New function.
6685 (w32font_open_internal): Use it. Set font to use glyph points
6686 initially. Set format based on type of font.
6687 (w32font_text_extents, w32font_draw): Optionally use glyph points.
6688 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
6689 on it. Set format based on information available here.
6690 (add_font_entity_to_list): Identify backend based on opentype_only.
6691
66922008-03-02 Andreas Schwab <schwab@suse.de>
6693
6694 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
6695
6696 * coding.c (decode_coding_big5, produce_chars):
6697 Fix typos in last change.
6698
66992008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
6700
6701 * gnu.h: New icon.
6702
67032008-03-02 Kenichi Handa <handa@m17n.org>
6704
6705 * coding.c (decode_coding_utf_8): When eol-type of CODING is
6706 `dos', don't decode '\r' if that is the last in the source.
6707 (decode_coding_utf_16, decode_coding_emacs_mule)
6708 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
6709 (decode_coding_raw_text, decode_coding_charset): Likewise.
6710 (produce_chars): Don't decode EOL here. Use EMACS_INT.
6711
67122008-03-01 Jason Rumney <jasonr@gnu.org>
6713
6714 * w32font.c (w32font_full_name): Report point size for scalable fonts.
6715
67162008-03-01 Kim F. Storm <storm@cua.dk>
6717
6718 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
6719
67202008-03-01 Jason Rumney <jasonr@gnu.org>
6721
6722 * w32font.c (w32font_full_name): New function.
6723 (w32font_open_internal): Use it.
6724
67252008-03-01 Kim F. Storm <storm@cua.dk>
6726
6727 * dispnew.c (line_draw_cost): Fix invalid glyph check.
6728
67292008-03-01 Jason Rumney <jasonr@gnu.org>
6730
6731 * font.c (font_unparse_fcname): Increase len when style is a symbol.
6732
67332008-03-01 Jan Djärv <jan.h.d@swipnet.se>
6734
6735 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
6736 xg_frame_resized when the event is for the edit widget.
6737
6738 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
6739
6740 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
6741 set_char_size.
6742 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
6743 operations on widgets here. Just set frame size if needed.
6744 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
6745 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
6746 (x_wm_set_size_hint): Set size hints on the edit widget only, not
6747 the whole frame.
6748 (xg_create_tool_bar): Move attachment of the tool bar to
6749 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
6750 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
6751
67522008-03-01 Jason Rumney <jasonr@gnu.org>
6753
6754 * w32fns.c (w32_msg_pump): Disable debug code.
6755
67562008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6757
6758 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
6759
67602008-02-29 Chong Yidong <cyd@stupidchicken.com>
6761
6762 * xdisp.c (next_overlay_string): Don't set
6763 overlay_strings_at_end_processed_p if we're currently reading from
6764 a display string.
6765
67662008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
6767
6768 * xdisp.c (get_overlay_strings_1): Fix typo.
6769
67702008-02-29 Chong Yidong <cyd@stupidchicken.com>
6771
6772 * xdisp.c (get_overlay_strings_1): Add missing argument type.
6773
67742008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
6775
6776 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
6777
6778 * xdisp.c (display_mode_element): Cancel the previous change.
6779 (decode_mode_spec): Likewise.
6780 (handle_auto_composed_prop): Don't make composition if it->string
6781 is a string.
6782
67832008-02-27 Kim F. Storm <storm@cua.dk>
6784
6785 * lisp.h (GLYPH): Change type from int to struct with separate char
6786 and face_id members.
6787 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
6788 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
6789 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
6790 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
6791 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
6792 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
6793 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
6794 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
6795 handle new Lisp glyph code encoding, either an integer or a cons.
6796
6797 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
6798 (GLYPH_ALIAS): Delete.
6799 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
6800 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
6801 (GLYPH_FROM_CHAR): Replace macro by ...
6802 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
6803
6804 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
6805 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
6806 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
6807 (GLYPH_INVALID_P): New macro.
6808 (spec_glyph_lookup_face): Update prototype.
6809
6810 * dispnew.c (line_draw_cost): Adapt to new glyph type.
6811 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
6812 new glyph code encoding.
6813 (spec_glyph_lookup_face): No return value; update passed glyph instead.
6814 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
6815
6816 * xdisp.c (get_next_display_element, next_element_from_display_vector):
6817 Adapt to new glyph type and new glyph code encoding.
6818
6819 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
6820
6821 * indent.c (current_column, current_column_1, Fmove_to_column)
6822 (compute_motion): Adapt to new glyph code encoding.
6823
6824 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
6825
68262008-02-27 Chong Yidong <cyd@stupidchicken.com>
6827
6828 * process.c (wait_reading_process_output): Check for window
6829 changes caused by timers.
6830 Suggested by Johan Bockgård.
6831
68322008-02-27 Glenn Morris <rgm@gnu.org>
6833
6834 * emacs.c (USAGE1): Add `--disable-font-backend'.
6835
68362008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
6837
6838 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
6839 is made to the buffer.
6840
68412008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
6842
6843 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
6844 (face_at_string_position):
6845 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
6846 (face_at_string_position):
6847 * xdisp.c (display_string, next_overlay_change):
6848 * buffer.h (overlays_at):
6849 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
6850 Update callers.
6851
68522008-02-26 Chong Yidong <cyd@stupidchicken.com>
6853
6854 * editfns.c (Fformat): Doc fix.
6855
68562008-02-26 Juanma Barranquero <lekktu@gmail.com>
6857
6858 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
6859 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
6860 (Ffont_otf_alternates, Fquery_font): Doc fixes.
6861
68622008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
6863
6864 * buffer.c (Fbuffer_swap_text): New function.
6865 (syms_of_buffer): Defsubr it.
6866
68672008-02-25 Chong Yidong <cyd@stupidchicken.com>
6868
6869 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
6870
68712008-02-25 Jason Rumney <jasonr@gnu.org>
6872
6873 * w32font.c (w32font_draw): Draw one character at a time when padding.
6874
68752008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
6876
6877 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
6878 Handle a nil arg. Use run_window_configuration_change_hook.
6879 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
6880 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
6881 Use run_window_configuration_change_hook.
6882
68832008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
6884
6885 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
6886 1-pixel width.
6887
68882008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
6889
6890 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
6891 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
6892 if the glyph in the font is zero pixel with.
6893
6894 * dispextern.h (struct glyph_string): New member padding_p.
6895
6896 * w32font.c (w32font_draw): Pay attention to s->padding_p.
6897
6898 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
6899
6900 * xfont.c (xfont_draw): Pay attention to s->padding_p.
6901
6902 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
6903
6904 * font.c: If the font driver doesn't have `shape' function, return Qnil.
6905
69062008-02-25 Jason Rumney <jasonr@gnu.org>
6907
6908 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
6909
69102008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
6911
6912 Allow fine-grained image-cache flushing.
6913 * dispextern.h (struct image): Add `dependencies' field.
6914 (clear_image_caches): Change arg to Lisp_Object.
6915 * image.c (make_image): Initialize `dependencies' field.
6916 (clear_image_cache): Change arg to allow fine-grained flushing.
6917 Perform the flush even if image-cache-eviction-delay is nil.
6918 (clear_image_caches): Change arg to Lisp_Object.
6919 (Fclear_image_cache): Expand meaning of the argument.
6920 (mark_image): Mark `dependencies' field.
6921 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
6922 (lface_hash): Use XHASH rather than XFASTINT.
6923 (face_at_buffer_position): Fix int -> EMACS_INT position.
6924 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
6925 (select_frame_for_redisplay): Remove code duplication.
6926 (redisplay_internal): Adapt arg to call to clear_image_caches.
6927
69282008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
6929
6930 * s/vms4-0.h:
6931 * s/vms4-2.h:
6932 * s/vms4-4.h:
6933 * s/vms5-5.h: Remove, unused.
6934
6935 * s/irix5-2.h:
6936 * s/irix6-0.h:
6937 * s/riscos5.h:
6938 * s/mach-bsd4-3.h:
6939 * m/mips4.h: Remove files for obsolete systems.
6940
6941 * Makefile.in:
6942 * filelock.c:
6943 * unexmips.c:
6944 * m/hp9000s300.h:
6945 * m/iris4d.h:
6946 * s/aix3-1.h:
6947 * s/hpux.h:
6948 * s/msdos.h:
6949 * s/usg5-0.h:
6950 * s/usg5-2-2.h:
6951 * s/usg5-2.h:
6952 * s/usg5-3.h: Remove references to obsolete variables.
6953
6954 * s/irix5-0.h: Remove, move all the contents ...
6955 * s/irix6-5.h: ... here. Simplify.
6956 * config.in: Regenerate.
6957
69582008-02-24 Jason Rumney <jasonr@gnu.org>
6959
6960 * w32term.c (x_draw_glyph_string_background): Clear the background
6961 manually when cleartype is in use.
6962 (x_draw_glyph_string_foreground): Draw text transparently when
6963 cleartype is in use.
6964
6965 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
6966 a font into it unless we have to.
6967
69682008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
6969
6970 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
6971 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
d6c952f8 6972
aac0c6e3
MR
69732008-02-18 Jason Rumney <jasonr@gnu.org>
6974
6975 * w32fns.c (Fw32_shell_execute): Encode parameters.
6976
69772008-02-09 Eli Zaretskii <eliz@gnu.org>
6978
6979 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
6980
69812008-02-05 Juanma Barranquero <lekktu@gmail.com>
6982
6983 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
6984
69852008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
6986
6987 * xterm.c (x_set_offset): Don't change the gravity if
6988 CHANGE_GRAVITY is -1.
6989
69902008-02-23 Chong Yidong <cyd@stupidchicken.com>
6991
6992 * fileio.c (auto_save_error_occurred): New var.
6993 (auto_save_error): Set it.
6994 (Fdo_auto_save): Don't overwrite the error message if an auto-save
6995 error occurred.
6996
69972008-02-23 Eli Zaretskii <eliz@gnu.org>
6998
6999 * w32.c (globals_of_w32): Add initializations for
7000 g_b_init_get_sid_sub_authority and
7001 g_b_init_get_sid_sub_authority_count.
7002
70032008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
7004
7005 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
7006 (font_parse_xlfd): Use them for sanity check.
7007 (Finternal_set_font_style_table): Make sure the table is bijective.
7008
7009 Consolidate the image_cache to the terminal struct.
7010 * termhooks.h (P_): Remove redundant def.
7011 (struct terminal): New field `image_cache'.
7012 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
7013 of FRAME_X_IMAGE_CACHE.
7014 * xterm.h (struct x_display_info): Remove image_cache field.
7015 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7016 * w32term.h (struct w32_display_info): Remove image_cache field.
7017 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7018 * macterm.h (struct mac_display_info): Remove image_cache field.
7019 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7020 * xterm.c (x_term_init):
7021 * w32term.c (w32_term_init):
7022 * macterm.c (mac_term_init): Set the image_cache in the terminal.
7023 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
7024 Remove declarations.
7025 (clear_image_caches, mark_image_cache): New declarations.
7026 * xfaces.c (clear_face_cache):
7027 * xdisp.c (redisplay_internal): Use clear_image_caches.
7028 * image.c (clear_image_cache): Don't check that a frame is on
7029 a window-system before checking if it shares the same cache.
7030 (clear_image_caches): New function.
7031 (Fclear_image_cache): Use it.
7032 (mark_image): Move from allo.c.
7033 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
7034 * alloc.c (mark_image, mark_image_cache): Move to image.c.
7035 (mark_object): Don't call mark_image_cache for frames.
7036 (mark_terminals): Call mark_image_cache.
7037
7038 * lisp.h (Fdelete_terminal): Declare.
7039
7040 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
7041 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
7042 wrong_type_argument.
7043
70442008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
7045
7046 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
7047 malayalam.el, and tamil.el. Add sinhala.el.
7048
70492008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
7050
7051 * xterm.c (x_connection_closed): Consolidate identical tests.
7052 (x_delete_terminal): Don't crash if called via x_connection_closed.
7053
70542008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
7055
7056 * xdisp.c (decode_mode_spec): New arg string.
7057 (display_mode_element): Adjust for the above change.
7058
70592008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
7060
7061 * callint.c (Fcall_interactively): Use AREF.
7062
70632008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
7064
7065 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
7066
70672008-02-18 Jan Djärv <jan.h.d@swipnet.se>
7068
7069 * xfns.c (Fx_show_tip): Set string to " " if empty.
7070
70712008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
7072
7073 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
7074 with Qt.
7075
70762008-02-17 Kenichi Handa <handa@m17n.org>
7077
7078 * ftfont.c (ftfont_shape): Return Lispy number.
7079
7080 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
7081 for GCs.
7082 (Finternal_set_font_selection_order): Call font_update_sort_order
7083 only when enable_font_backend is set.
7084 (realize_x_face): Set face->font_info to that of default face only
7085 when enable_font_backend is set.
7086
7087 * xdisp.c (handle_composition_prop): Set it->c to the fist
7088 character of the composed region.
7089 (fill_composite_glyph_string): Set base_face->font_info to
7090 s->font_info. Get a face for ascii from base_face->ascii_face.
7091 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
7092 with a face already decided.
7093 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
7094 non-negative.
7095 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
7096 call font_prepare_composition unconditionally.
7097
7098 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
7099
7100 * xterm.h (struct x_display_info): New member font.
7101
7102 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
7103 (x_set_mouse_face_gc, x_new_font): Likewise.
7104 (x_term_init): Setup display_info->font.
7105 (x_delete_terminal): Free display_info->font.
7106
7107 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
7108
7109 * ftxfont.c (ftxfont_default_fid): Delete it.
7110 (ftxfont_open): Set xfont->fid to 0.
7111 (ftxfont_end_for_frame): Clear data specific to the frame and the
7112 font-driver.
7113
7114 * xftfont.c (xftfont_default_fid): Delete it.
7115 (xftfont_open): Set xfont->fid to 0.
7116
7117 * fontset.c (FONTSET_OBJLIST): New macro.
7118 (fontset_find_font): Update font-object list of the fontset.
7119 (free_realized_fontset): New function.
7120 (free_face_fontset): Call free_realized_fontset.
7121 (Ffont_info): Call font_close_object only when enable_font_backend
7122 is set.
7123
7124 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
7125 [HAVE_NTGUI]: Include w32term.h.
7126 [MAC_OS]: Include macterm.ch.
7127 (font_otf_ValueRecord): Use make_number.
7128 (font_finish_cache): Fix handling of reference count.
7129 (font_clear_cache): Update num_fonts.
7130 (font_open_entity): Update smallest_char_width and
7131 smallest_font_height of the frame.
7132 (font_close_object): Update num_fonts.
7133 (Fclear_font_cache): Fix finding the target cache data.
7134
71352008-02-16 Glenn Morris <rgm@gnu.org>
7136
7137 * fontset.c (Finternal_char_font): Fix compilation warning.
7138
71392008-02-16 Eli Zaretskii <eliz@gnu.org>
7140
7141 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
7142 instead of char arrays. Enlarge the size of array passed to
7143 get_token_information.
7144
7145 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
7146 warnings.
7147
71482008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
7149
7150 * .gdbinit: Don't set `args', it breaks gdb --args.
7151
71522008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
7153
7154 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
7155 within a narrowed buffer.
7156
71572008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
7158
7159 * coding.c (decode_coding_object, encode_coding_object):
7160 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
7161
71622008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
7163
7164 * coding.c (coding_set_destination): Use BEG_BYTE rather than
7165 hardcoding 1.
7166 (detect_coding_system):
7167 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
7168 (string_char_to_byte, string_byte_to_char, insert_from_gap):
7169 * insdel.c (insert_from_gap):
7170 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
7171 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
7172 (string_to_multibyte):
7173 * character.c (chars_in_text, multibyte_chars_in_text):
7174 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
7175
7176 * character.h (FETCH_STRING_CHAR_ADVANCE)
7177 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
7178 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
7179 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
7180
7181 * casefiddle.c (casify_region): Only call after-change and composition
7182 functions on the part of the region that was changed.
7183
7184 * keyboard.c (read_avail_input):
7185 * frame.c (Fdelete_frame): Call Fdelete_terminal.
7186
71872008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
7188
7189 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
7190 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
7191
71922008-02-11 Juanma Barranquero <lekktu@gmail.com>
7193
7194 * w32menu.c (push_submenu_start, push_submenu_end)
7195 (push_left_right_boundary, push_menu_pane, push_menu_item):
7196 * keyboard.c (read_key_sequence): Don't pass args with side effects
7197 to AREF, it fails when compiling with -DENABLE_CHECKING.
7198
71992008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
7200
7201 * Makefile.in (${lispsource}international/charprop.el):
7202 Delete this target.
7203
7204 * search.c (boyer_moore): Fix incorrect synching of the trunk and
7205 emacs-unicode-2.
7206
72072008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
7208
7209 * terminal.c (Fdelete_terminal): Clean up the `force' path.
7210
72112008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
7212
7213 * frame.c (Qnoelisp): New symbol.
7214 (syms_of_frame): Initialize it.
7215 (Fdelete_frame): Use it to distinguish a mere `force' passed from some
7216 harmless Elisp code, from a strong `force' from x_connection_closed.
7217 * frame.h (Qnoelisp): Declare.
7218 * xterm.c (x_connection_closed): Pass `noelisp'.
7219
7220 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
7221 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
7222 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
7223 rather than `int' for the type of `type'.
7224
72252008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
7226
7227 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
7228
7229 * Makefile.in (GNUC): Remove support for gcc-1.x.
7230
72312008-02-10 Richard Stallman <rms@gnu.org>
7232
7233 * lisp.h (ASET): Use AREF, not ASLOT.
7234
72352008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
7236
7237 * lisp.h (ASET): Check bounds.
7238
72392008-02-10 Glenn Morris <rgm@gnu.org>
7240
7241 * buffer.c (mode-name): Doc fix.
7242
72432008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
7244
7245 * Makefile.in:
7246 * emacs.c:
7247 * gmalloc.c:
7248 * keyboard.c:
7249 * lisp.h:
7250 * m/ibm370aix.h:
7251 * process.c:
7252 * regex.c:
7253 * s/hpux.h:
7254 * sysdep.c:
7255 * sysselect.h:
7256 * systty.h:
7257 * unexec.c:
7258 * w32term.c:
7259 * xsmfns.c:
7260 * xterm.c: Remove code that deals with obsolete variables.
7261
7262 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
7263
7264 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
7265 nothing else needs it anymore.
7266
72672008-02-09 Eli Zaretskii <eliz@gnu.org>
7268
7269 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
7270 instead of unibyte_char_to_multibyte.
7271
72722008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
7273
7274 * s/gnu-linux.h: Remove commented out code.
7275
7276 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
7277
7278 * Makefile.in: Update what RMS says about using autoconf.
7279 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
7280 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
7281 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
7282 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
7283
72842008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
7285
7286 * keymap.c (Fkey_description): Move side effect outside of macro call.
7287
7288 * xfaces.c (Finternal_make_lisp_face):
7289 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
7290
7291 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
7292 (syms_of_fontset): Use ASET.
7293
7294 * fns.c (concat): Move side effect outside of macro call.
7295 (hash_clear): Use ASET.
7296
72972008-02-08 Richard Stallman <rms@gnu.org>
7298
7299 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
7300 If FORCE, and frame has a surrogate minibuffer for another frame,
7301 delete the other frame first.
7302
73032008-02-07 Timo Savola <timo.savola@iki.fi>
7304
7305 * xterm.c (x_detect_focus_change): Handle embed client message.
7306 (handle_one_xevent): Ditto.
7307 (handle_one_xevent): If embedded and we get a button press/release,
7308 request focus.
7309 (xembed_set_info, xembed_send_message): New functions.
7310 (x_make_frame_visible): Call xembed_set_info if embedded.
7311 (x_make_frame_invisible): Call xembed_set_info if embedded.
7312 (x_term_init): Initialize Xatom_XEMBED.
7313 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
7314 (x_iconify_frame): Ditto.
7315
7316 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
7317 (enum xembed_info, enum xembed_message, enum xembed_focus)
7318 (enum xembed_modifier, enum xembed_accelerator): New.
7319 (xembed_set_info, xembed_send_message): Declare.
7320 (FRAME_X_EMBEDDED_P): New.
7321
7322 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
7323 gtk_plug_new.
7324
7325 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
7326 window ID of a frame.
7327 (x_window): Reparent frame if embedded.
7328 (Fx_create_frame): Don't set border width if embedded.
7329
7330 * emacs.c (USAGE3): Add --parent-id.
7331 (standard_args): Ditto.
7332
73332008-02-07 Jan Djärv <jan.h.d@swipnet.se>
7334
7335 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
7336
73372008-02-07 Jim Meyering <meyering@redhat.com>
7338
7339 Use "do...while (0)", not "if (1)...else" in macro definitions.
7340 The latter provokes a warning from gcc about the empty else, when
7341 followed by ";". Also, without that trailing semicolon, it would
7342 silently swallow up any following statement.
7343 * syntax.h (SETUP_SYNTAX_TABLE)
7344 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
7345 * buffer.h (DECODE_POSITION): Likewise.
7346 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
7347 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
7348 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
7349 (FETCH_CHAR_ADVANCE): Likewise.
7350 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
7351
73522008-02-07 Jim Meyering <meyering@redhat.com>
7353
7354 * lread.c [lint]: Don't include <sys/inode.h>.
7355
73562008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
7357
7358 * xselect.c (x_handle_dnd_message):
7359 * xmenu.c (digest_single_submenu, xmenu_show):
7360 * xdisp.c (with_echo_area_buffer_unwind_data)
7361 (format_mode_line_unwind_data, unwind_format_mode_line)
7362 (display_menu_bar):
7363 * eval.c (Ffetch_bytecode):
7364 * doc.c (store_function_docstring):
7365 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
7366 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
7367 * buffer.c (add_overlay_mod_hooklist): Use ASET.
7368
73692008-02-07 Kenichi Handa <handa@m17n.org>
7370
7371 * ftxfont.c (ftxfont_open): Don't set
7372 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
7373
7374 * ftfont.c (ftfont_open): Fix previous change.
7375
73762008-02-06 Jason Rumney <jasonr@gnu.org>
7377
7378 * w32font.c (w32font_text_extents): Fill in lbearing metric.
7379 Use cached metrics for ASCII characters.
7380 (w32font_open_internal): Don't set font's owning_frame.
7381 Cache metrics for ASCII characters.
7382
7383 * w32font.h (struct w32font_info): Add ascii_metrics.
7384 Remove owning_frame.
7385
73862008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
7387
7388 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
7389 to negative value.
7390
7391 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
7392
7393 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
7394
7395 * charset.c (syms_of_charset): Set QCtest and Qeq.
7396
73972008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
7398
7399 * process.c (Fstart_process):
7400 * callproc.c (Fcall_process): Handle the case where
7401 Funhandled_file_name_directory returns nil.
7402
7403 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
7404 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
7405 * font.c (check_gstring): Use them and AREF to access the vector before
7406 we know it's really a gstring.
7407 (Ffont_shape_text): Fix typo.
7408 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Oject mixups.
7409
7410 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
7411 Declare.
7412
7413 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
7414
74152008-02-05 Jason Rumney <jasonr@gnu.org>
7416
7417 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
7418 Set smallest_font_height and smallest_char_width in display info.
7419
74202008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
7421
7422 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
7423
74242008-02-05 Miles Bader <miles@gnu.org>
7425
7426 * xfaces.c (get_lface_attributes, merge_named_face)
7427 (lookup_named_face, lookup_derived_face, realize_named_face):
7428 Revert 2008-02-01 change by cyd@stupidchicken.com.
7429
74302008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
7431
7432 * fontset.c (Ffontset_info): Handle the case of inhibitting the
7433 fallback fonts.
7434 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
7435
74362008-02-04 Jason Rumney <jasonr@gnu.org>
7437
7438 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
7439 set full_name.
7440 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
7441
74422008-02-03 Jason Rumney <jasonr@gnu.org>
7443
7444 * makefile.w32-in (OBJ1): Include font.o here.
7445 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
7446
74472008-02-02 Jason Rumney <jasonr@gnu.org>
7448
7449 * makefile.w32-in (temacs): Bump EMHEAP to 21.
7450
74512008-02-01 Jason Rumney <jasonr@gnu.org>
7452
7453 * s/cygwin.h: Define VIRT_ADDR_VARIES.
7454
7455 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
7456
74572008-02-01 Andreas Schwab <schwab@suse.de>
7458
7459 * Makefile.in (shortlisp, lisp): Update for rename of
7460 ../lisp/language/myanmar.el.
7461
74622008-02-01 Chong Yidong <cyd@stupidchicken.com>
7463
7464 * xfaces.c (get_lface_attributes): Delete function.
7465 (merge_named_face, lookup_named_face, lookup_derived_face)
7466 (realize_named_face): Call lface_from_face_name directly, and use
7467 the fact that merge_face_vectors does not alter its FROM argument.
7468
74692008-02-01 Jason Rumney <jasonr@gnu.org>
7470
7471 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
7472 input in the default locale. Handle non-Unicode multibyte input.
7473
74742008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7475
7476 * fontset.c (reorder_font_vector): Exclude nil elements from the
7477 font group. Don't try multiple fonts.
7478 (fontset_font): Adjust for the above change.
7479 (Finternal_char_font): Return nil if the found font doesn't
7480 contain the character ch.
7481
7482 * Makefile.in (lisp, shortlisp): Add cham.el.
7483
74842008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7485
7486 * font.h (FONTP): Make it return 1 also for a font-object.
7487
7488 * .gdbinit (xfontset): New function.
7489
7490 * font.c (font_find_for_lface): Check if the character C is
7491 supported or not only for the first font.
7492
7493 * fontset.c (reorder_font_vector): Fix typo.
7494 (fontset_find_font): Don't add a font-spec specifying a script.
7495 Use 0 (not Qt) for the indication of empty font-group. Change the
7496 format of RFONT-DEF. Return Qt if no font in the font-group
7497 support the character.
7498 (fontset_font): Adjust for the above change. If no font was
7499 found the character, remember that.
7500 (face_for_char): Adjust for the change of RFONT-DEF.
7501 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
7502 no font for the target.
7503 (Finternal_char_font): Adjust for the change of RFONT-DEF.
7504
75052008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7506
7507 * font.c (font_load_for_face): Handle the case that the font in
7508 face->lface is a string.
7509
75102008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7511
7512 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
7513
75142008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7515
7516 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
7517 Fix previous change. If the frame is not on a window system,
7518 signal an error.
7519
75202008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7521
7522 * coding.c (decode_coding_object, encode_coding_object): Adjust
7523 marker positions after conversion.
7524
7525 * lisp.h (struct Lisp_Marker): New member need_adjustment.
7526
75272008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7528
7529 * font.c (font_find_for_lface): Fix the handling of the return
7530 value of font_has_char.
7531 (Ffont_shape_text): Fix previous change.
7532
7533 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
7534 (fontset_ref_and_range): Delete it.
7535 (fontset_find_font): Call char_table_ref_and_range instead of
7536 FONTSET_REF_AND_RANGE.
7537 (make_fontset): Don't setup font groups of Latin here.
7538 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
7539 (new_fontset_from_font): Make the specified font the default for
7540 all Latin characters.
7541
75422008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7543
7544 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
7545 is on a window system before accessing the fontset of the frame.
7546
75472008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7548
7549 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
7550
7551 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
7552 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
7553
7554 * font.c (Ffont_shape_text): If the font driver doesn't have a
7555 shaper function, make zero-width glyphs to have at least one-pixel
7556 width. Fix setting of `to' field of glyphs.
7557
75582008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7559
7560 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
7561 glyphs.
7562
7563 * font.h (struct font_driver): Improve docstring of member `shape'.
7564
75652008-02-01 Kenichi Handa <handa@m17n.org>
7566
7567 * composite.c (syms_of_composite): Fix docstring of
7568 auto-composition-function.
7569
7570 * font.h (LGLYPH_SIZE): New macro.
7571
7572 * font.c (Ffont_fill_gstring): Stop filling when a character not
7573 supported by the font is found.
7574 (Ffont_shape_text): When a shape callback function returns nil,
7575 try at most two more times with larger gstring.
7576 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
7577
7578 * xdisp.c (handle_auto_composed_prop): Change the argument to
7579 auto-composition-function.
7580
7581 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
7582 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
7583 Lispy glyph and store it in the lgstring.
7584
7585 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
7586
7587 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
7588
75892008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7590
7591 * font.c (Ffont_shape_text): Avoid unnecessary composition.
7592
7593 * fontset.c (Vfont_encoding_charset_alist): New variable.
7594 (syms_of_fontset): DEFVAR it.
7595 (reorder_font_vector, fontset_find_font): Optimize for the case of
7596 no need of reordering.
7597 (face_for_char): Map the charset property by
7598 Vfont_encoding_charset_alist.
7599
76002008-02-01 Jason Rumney <jasonr@gnu.org>
7601
7602 * w32font.c (logfonts_match): Don't check adstyle here.
7603 (font_matches_spec): Check here against physical font instead.
7604 (add_font_entity_to_list): Avoid some substitutions.
7605
7606 * font.c (font_parse_fcname): Default weight and slant to normal.
7607 (font_score): Prefer normal fonts if weight or slant unspecified.
7608 (font_score) [WINDOWSNT]: Scale weight difference down to closer
7609 match freetype scores.
7610
76112008-02-01 Jason Rumney <jasonr@gnu.org>
7612
7613 * w32font.c (w32font_text_extents): Don't use the frame stored in the
7614 font, as it may have been deleted.
7615 (w32_enumfont_pattern_entity): Map generic family to adstyle using
7616 most common hyphenless variation.
7617 (logfonts_match): Check generic family.
7618 (font_matches_spec): Don't check generic family here.
7619 (fill_in_logfont): Set generic family based on adstyle.
7620
7621 * w32font.h (w32font_get_cache): Update declaration.
7622
76232008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7624
7625 * ftfont.c (ftfont_get_cache): Adjust the argument type.
7626
7627 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
7628 If none of the new drivers are available, call font_update_drivers
7629 with the old drivers.
7630
7631 * w32font.c (w32font_get_cache): Adjust the argument type.
7632
7633 * xfont.c (xfont_get_cache): Adjust the argument type.
7634
7635 * font.h (struct font_driver): Change argument type of get_cache.
7636
7637 * xftfont.c (xftfont_start_for_frame): Delete prototype.
7638
7639 * font.c (Ffont_get): Fix arguments to Fassoc.
7640 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
7641 (font_clear_cache): New function.
7642 (font_list_entities, font_matching_entity): Use font_get_cache.
7643 (font_update_drivers): Call font_clear_cache when finishing a driver.
7644
7645 * fontset.c (fontset_find_font): Fix previous change.
7646
76472008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7648
7649 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
7650 dpyinfo->font_table.
7651 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
7652 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
7653
7654 * font.c (font_at): Handle the case that the arg C is negative.
7655 Handle the unibyte case.
7656 (Ffont_at): Call font_at with the arg C -1.
7657
7658 * xdisp.c (handle_auto_composed_prop): Don't get a character at
7659 the position here, and call font_at with the arg C -1.
7660 Don't check the range of the existing composition at the point.
7661
76622008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7663
7664 * fontset.c (fontset_add): New args charset_id and family.
7665 Change caller.
7666 (load_font_get_repertory, fontset_find_font): Assume that
7667 font_spec is always a font-spec object.
7668 (Fset_fontset_font): Always store a font-spec object in a fontset.
7669
7670 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
7671 instead of get_property_and_range.
7672
76732008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7674
7675 * xftfont.c (struct xftfont_info): Delete the member ft_face.
7676 (xftfont_open): Don't keep locking face.
7677 (xftfont_close): Don't unlock face.
7678 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
7679
7680 * fontset.c (fontset_find_font): Don't prefer a font of
7681 supplementary charset.
7682
76832008-02-01 Kenichi Handa <handa@m17n.org>
7684
7685 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
7686 script, langsys_tag to langsys, new member script.
7687 (OTF_TAG_STR): Terminate by '\0'.
7688 (ftfont_get_open_type_spec): If :otf prop is is spec, Limit the
7689 listing to the script specified in that property. Fix arg to
7690 OTF_check_features.
7691
76922008-02-01 Jason Rumney <jasonr@gnu.org>
7693
7694 * w32font.h: New file.
7695
7696 * w32font.c: Include it.
7697 (struct w32font_info): Add owning_frame field. Move to w32font.h.
7698 (w32font_open): Set owning_frame.
7699 (w32font_text_extents): Use owning_frame.
7700 (struct font_callback_data): Add opentype_only field.
7701 (add_font_entity_to_list): Use it to filter fonts.
7702 Don't check against full name.
7703 (w32font_list_internal): New function.
7704 (w32font_list): Use it.
7705 (w32font_match_internal): New function.
7706 (w32font_match): Use it.
7707 (w32font_open_internal): New function.
7708 (w32font_open): Use it.
7709 (w32font_get_cache, w32font_close, w32font_has_char)
7710 (w32font_encode_char, w32font_text_extents, w32font_draw):
7711 Make non-static.
7712
7713 * makefile.w32-in (w32font.o): Depend on w32font.h.
7714
77152008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7716
7717 * charset.c (Fdefine_charset_internal): Record a supplementary
7718 charset at the tail of Vcharset_order_list.
7719
7720 * font.c (Ffont_shape_text): Fix the return value.
7721
7722 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
7723
7724 * xdisp.c (handle_auto_composed_prop): Fix previous change.
7725
77262008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7727
7728 * ftfont.c (struct OpenTypeSpec): New struct.
7729 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
7730 (ftfont_get_open_type_spec): New function.
7731 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
7732
7733 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
7734
77352008-02-01 Jason Rumney <jasonr@gnu.org>
7736
7737 * w32font.c (add_font_entity_to_list): Compare only the beginning
7738 of full name.
7739
77402008-02-01 Kenichi Handa <handa@m17n.org>
7741
7742 * xdisp.c (handle_auto_composed_prop): Simplify the code.
7743 Never return HANDLED_RECOMPUTE_PROPS.
7744
77452008-02-01 Kenichi Handa <handa@m17n.org>
7746
7747 * font.c (font_gstring_produce): Delete it.
7748
7749 * composite.h (COMPOSITION_METHOD):
7750 Handle COMPOSITION_WITH_GLYPH_STRING.
7751
77522008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7753
7754 * xfont.c (Qx): Delete.
7755 (syms_of_xfont): Don't initialize Qx.
7756
7757 * composite.h (enum composition_method):
7758 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
7759
77602008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7761
7762 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
7763 (choose_face_font): Accept new form of font-spec.
7764
7765 * frame.h (font_driver_list): Declare it unconditionally.
7766 (struct frame): Define members font_driver_list and font_data_list
7767 unconditionally.
7768
7769 * fontset.c: Include "font.h" unconditionally.
7770 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
7771 (Fset_fontset_font): Accept a font-spec object.
7772
7773 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
7774 PIXEL_SIZE part a wild card.
7775
7776 * dispextern.h (struct glyph_string): Define members clip and
7777 num_clips unconditionally.
7778 (struct face): Define members font_info and extra unconditionally.
7779
7780 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
7781 ftfont_info only when HAVE_LIBOTF is defined.
7782
77832008-02-01 Andreas Schwab <schwab@suse.de>
7784
7785 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
7786 and end.
7787
77882008-02-01 Jason Rumney <jasonr@gnu.org>
7789
7790 * w32font.c (w32font_driver): Add new fields.
7791
77922008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7793
7794 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
7795 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
7796 (LIBES): Add @M17N_FLT_CFLAGS@.
7797
7798 * composite.c (compose_text): Don't treat the new style
7799 composition specially.
7800
7801 * emacs.c (main): Call syms_of_font unconditionally.
7802
7803 * font.h (FONT_ENTITY_NOT_LOADABLE)
7804 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
7805 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
7806 (struct font_driver): New member shape.
7807 (font_registry_charsets): Extern it.
7808 (font_find_for_lface, font_prepare_composition): Adjust prototype.
7809 (font_otf_capability, font_drive_otf): Delete their externs.
7810
7811 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
7812 (font_charset_alist, font_registry_charsets): Move from xfont.c
7813 and rename.
7814 (font_prop_validate_otf): New function.
7815 (font_property_table): Register it for QCotf.
7816 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
7817 (font_drive_otf): Delete.
7818 (font_prepare_composition): New arg F. Adjust for the change of
7819 lispy gstring.
7820 (font_find_for_lface): New arg C.
7821 (font_load_for_face): Adjust for the change of font_find_for_lface.
7822 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
7823 lispy gstring.
7824 (Ffont_shape_text): New function.
7825 (Fopen_font): If the font size is not given, use 12-pixel.
7826 (Ffont_at): New arg STRING.
7827 (syms_of_font): Initalize font_charset_alist.
7828 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
7829 conditionally.
7830
7831 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
7832 fonts of the same font-spec. Change the format of RFONT-DEF.
7833 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
7834 Adjust for the change of RFONT-DEF.
7835 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
7836
7837 * ftfont.h: New file.
7838
7839 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
7840 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
7841 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
7842 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
7843 font_otf_capability and font_drive_otf, set ftfont_shape.
7844 (ftfont_list): Adjust for the change of :otf property value.
7845 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
7846 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
7847 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
7848 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
7849 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
7850 (otf_gstring, gstring, m17n_flt_initialized): New variables.
7851
7852 * w32term.c (x_draw_composite_glyph_string_foreground):
7853 Adjust for the change of lispy gstring.
7854
7855 * xdisp.c (handle_composition_prop): Adjust for the change of
7856 lispy gstring. Call a function for auto-composition with the
7857 third arg it->window.
7858 (fill_composite_glyph_string): Adjust for the change of lispy string.
7859 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
7860
7861 * xfaces.c (set_font_frame_param): Adjust for the change of
7862 font_find_for_lface.
7863
7864 * xfont.c (x_font_charset_alist): Move to font.c and rename.
7865 (xfont_registry_charsets): Likewise. Change caller.
7866 (syms_of_xfont): Don't handle x_font_charset_alist.
7867
7868 * xftfont.c: Include "ftfont.h".
7869 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
7870 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
7871 (xftfont_close) [HAVE_LIBOTF]: Close otf.
7872 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
7873 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
7874 Set xftfont_driver.shape to xftfont_shape.
7875
7876 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
7877 the change of lispy gstring.
7878
78792008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7880
7881 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
7882
78832008-02-01 Jason Rumney <jasonr@gnu.org>
7884
7885 * w32font.c (w32font_draw): Fill background manually.
7886
78872008-02-01 Jason Rumney <jasonr@gnu.org>
7888
7889 * font.c (Qfontp): Remove unused symbol.
7890 (QCantialias): New symbol.
7891 (syms_of_font): Define it.
7892 (font_property_table): Set a validator for QCantialias.
7893
7894 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
7895 Define if not already.
7896 (QCfamily): Share with xfaces.c.
7897 (Qstandard, Qsubpixel, Qnatural): New symbols.
7898 (syms_of_w32font): Define them. Don't define QCfamily here.
7899 (w32_antialias_type, lispy_antialias_type): New functions.
7900 (w32_enumfont_pattern_entity): New arg requested_font.
7901 Set antialias parameter if non-default was requested.
7902 (fill_in_logfont): Fill in lfQuality if :antialias specified.
7903
79042008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7905
7906 * lread.c (read1): Undo the previous change.
7907
79082008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
7909
7910 * frame.c (Fdelete_frame): Call font_update_drivers only when
7911 USE_FONT_BACKEND is defined.
7912
79132008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7914
7915 * font.h (struct font_bitmap): New member bits_per_pixel.
7916 (struct font_driver): New members start_for_frame and end_for_frame.
7917 (struct font_data_list): New struct.
7918 (font_put_frame_data, font_get_frame_data): Extern them.
7919
7920 * frame.h (struct frame): New member font_data_list.
7921
7922 * font.c (font_update_drivers): Call driver->start_for_frame and
7923 driver->end_for_frame at proper timings.
7924 (font_put_frame_data, font_get_frame_data): New functions.
7925 (Ffont_spec): Add usage in the docstring.
7926
7927 * frame.c (make_frame): Initialize f->font_data_list to NULL.
7928 (Fdelete_frame): Call font_update_drivers.
7929
7930 * xftfont.c (struct xftface_info): Delete the member xft_draw.
7931 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
7932 (xftfont_get_xft_draw): New function.
7933 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
7934 (xftfont_end_for_frame): New function.
7935 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
7936
7937 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
7938 Change argument. Cache GCs in the per-frame data.
7939 (struct ftxfont_frame_data): New struct.
7940 (ftxfont_draw_bitmap): New arg gc_fore and flush.
7941 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
7942 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
7943 (ftxfont_end_for_frame): New function.
7944 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
7945
7946 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
7947
79482008-02-01 Kenichi Handa <handa@m17n.org>
7949
7950 * xselect.c (Vselection_coding_system)
7951 (Vnext_selection_coding_system): Delete them.
7952 (syms_of_xselect): Don't declare selection-coding-system and
7953 next-selection-coding-system. They are declared in select.el.
7954
79552008-02-01 Jason Rumney <jasonr@gnu.org>
7956
7957 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
7958
7959 * w32fns.c: Include imm.h.
7960 (get_composition_string_fn, get_ime_context_fn): New optional
7961 system functions.
7962 (globals_of_w32fns): Load them from imm32.dll.
7963 (ignore_ime_char): New flag.
7964 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
7965 WM_IME_ENDCOMPOSITION messages.
7966
7967 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
7968 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
7969
79702008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7971
7972 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
7973 (READCHAR_REPORT_MULTIBYTE): New macro.
7974 (readchar): New 2nd arg MULTIBYTE.
7975 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
7976 Make symbol's name multibyte according to the multibyteness of the
7977 source.
7978
79792008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7980
7981 * xfaces.c (face_for_overlay_string): Call lookup_face with
7982 correct arguments (fix of synching with the trunk).
7983
79842008-02-01 Kenichi Handa <handa@m17n.org>
7985
7986 * font.c (font_prop_validate_symbol, font_prop_validate_style)
7987 (font_prop_validate_non_neg, font_prop_validate_spacing):
7988 Delete argument prop_index.
7989 (font_property_table): Change arguments to validater. Change Callers.
7990 (font_lispy_object): Delete.
7991 (font_at): Use font_find_object instead fo font_lispy_object.
7992
79932008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7994
7995 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
7996 and file names.
7997
79982008-02-01 Jason Rumney <jasonr@gnu.org>
7999
8000 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
8001 (font_matches_spec): Remove debug output.
8002 (add_font_entity_to_list): Avoid using substituted fonts.
8003
80042008-02-01 Jason Rumney <jasonr@gnu.org>
8005
8006 * doc.c (Fsnarf_documentation):
8007 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
8008
80092008-02-01 Miles Bader <miles@gnu.org>
8010
8011 * dispextern.h (struct glyph_row): Only define "clip" field if
8012 HAVE_WINDOW_SYSTEM is defined.
8013
80142008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
8015
8016 Fix up multi-tty merge.
8017
8018 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
8019 and indentation.
8020
8021 * xfaces.c (free_realized_face, clear_face_gcs):
8022 Include font_done_for_face in the input_blocked section, just in case.
8023
8024 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
8025 (get_char_face_and_encoding): Undo last change and remove the *other*
8026 duplicate definition (i.e. keep the one that's better scoped and that
8027 includes code for the font-backend).
8028
8029 * terminal.c (create_terminal): Default keyboard_coding to
8030 `no-conversion' and terminal_coding to `undecided'.
8031
8032 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
8033
8034 * fontset.c (free_realized_fontsets): Check that the table entry does
8035 contain a fontset before trying to compare it to `base'.
8036
8037 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
8038 syms_of_charset, and syms_of_coding earlier because init_window_once
8039 now needs Vcoding_system_hash_table to be setup.
8040
8041 * coding.h (default_buffer_file_coding): Remove.
8042
8043 * coding.c (default_buffer_file_coding): Remove.
8044 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
8045 than ->symbol, and use the terminal-local coding system.
8046 (syms_of_coding): Don't setup the coding-systems that are not
8047 terminal-local.
8048 (Fdefine_coding_system_internal): Use XCAR/XCDR.
8049
8050 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
8051 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
8052
8053 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
8054 in chartab.c and were re-added here by mistake.
8055 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
8056
8057 * doc.c (Fsnarf_documentation):
8058 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
8059 src to etc.
8060
8061 * ChangeLog.10: Add mistakenly removed entry.
8062
80632008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
8064
8065 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
8066
80672008-02-01 Miles Bader <miles@gnu.org>
8068
8069 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
8070 Add extra args to FACE_FOR_CHAR.
8071
80722008-02-01 Kenichi Handa <handa@m17n.org>
8073
8074 * keymap.c (where_is_internal_1): If key is a cons, store the copy
8075 in sequence.
8076
8077 * chartab.c (map_sub_char_table, map_char_table): If the range
8078 contains just one character, call the function with that character
8079 even if the depth is not 3.
8080
80812008-02-01 Jason Rumney <jasonr@gnu.org>
8082
8083 * w32font.c (w32font_text_extents): Calculate metrics for the
8084 whole string.
8085
80862008-02-01 Jason Rumney <jasonr@gnu.org>
8087
8088 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
8089
80902008-02-01 Jason Rumney <jasonr@gnu.org>
8091
8092 * w32term.c (x_set_glyph_string_clipping): Use
8093 get_glyph_string_clip_rects.
8094 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
8095 Adjust for the change of struct glyph_string.
8096
8097 * w32font.c (w32font_draw): Do clipping here.
8098
80992008-02-01 Kenichi Handa <handa@m17n.org>
8100
8101 * xftfont.c (xftfont_draw): Adjust for the change of struct
8102 glyph_string.
8103
8104 * xterm.c (x_set_glyph_string_clipping): Use
8105 get_glyph_string_clip_rects.
8106 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
8107 Adjust for the change of struct glyph_string.
8108
8109 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
8110 the resulting clip(s}.
8111 (expose_overlaps): Add arg r. Change callers. Set it to
8112 row->clip temporarily.
8113 (expose_window): Redraw rows overlapping the exposed area.
8114
8115 * dispextern.h (struct glyph_row): New member clip.
8116 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
8117 clip_height, new member clip, and num_clips.
8118
81192008-02-01 Kenichi Handa <handa@m17n.org>
8120
8121 * data.c (Fchar_or_string_p): Fix docstring.
8122
81232008-02-01 Kenichi Handa <handa@m17n.org>
8124
8125 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
8126 create a temporary XftDraw object.
8127
81282008-02-01 Kenichi Handa <handa@m17n.org>
8129
8130 * font.c (Ffontp): Fix docstring.
8131
8132 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
8133 strong evidence of ISO-2022.
8134
81352008-02-01 Kenichi Handa <handa@m17n.org>
8136
8137 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
8138 SYNTAX_ENTRY_FOLLOW_PARENT.
8139
81402008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
8141
8142 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
8143 its type.
8144 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
8145 Update to the new type of weak_hash_tables and next_weak.
8146
8147 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
8148 a plain C pointer to Lisp_Hash_Table.
8149
8150 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
8151 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
8152 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
8153 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
8154 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
8155 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
8156 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
8157 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
8158 (GC_EQ): Remove since they've been identical to their non-GC_
8159 alter-egos ever since the markbit was eradicated.
8160
8161 * alloc.c:
8162 * buffer.c:
8163 * buffer.h:
8164 * data.c:
8165 * fileio.c:
8166 * filelock.c:
8167 * fns.c:
8168 * frame.h:
8169 * lisp.h:
8170 * macterm.c:
8171 * print.c:
8172 * process.c:
8173 * w32fns.c:
8174 * w32menu.c:
8175 * w32term.c:
8176 * xfns.c:
8177 * xmenu.c:
8178 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
8179
81802008-02-01 Kenichi Handa <handa@m17n.org>
8181
8182 * chartab.c (map_sub_char_table): Make it work for the top-level
8183 char-table. Fix handling of parent char-table.
8184 (map_char_table): Adjust for the above change.
8185
81862008-02-01 Jason Rumney <jasonr@gnu.org>
8187
8188 * w32font.c (Qgdi): Rename from Qw32.
8189
81902008-02-01 Jason Rumney <jasonr@gnu.org>
8191
8192 * w32bdf.c (get_quoted_string): Make function static.
8193
81942008-02-01 Kenichi Handa <handa@m17n.org>
8195
8196 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
8197 bigger ascent and descent than those of the font, use them as
8198 font's ascent and descent.
8199
82002008-02-01 Kenichi Handa <handa@m17n.org>
8201
8202 * Makefile.in (${lispsource}international/charprop.el): Move this
8203 target within "#ifdef HAVE_UNIDATA" and "#endif".
8204
82052008-02-01 Kenichi Handa <handa@m17n.org>
8206
8207 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
8208 (shortlisp): Add ../lisp/language/tai-viet.el.
8209
82102008-02-01 Ulrich Mueller <ulm@gentoo.org>
8211
8212 * Makefile.in (${lispsource}international/charprop.el): Depend on
8213 temacs${EXEEXT}.
8214
82152008-02-01 Jason Rumney <jasonr@gnu.org>
8216
8217 * w32font.c (w32font_close): Delete the GDI font object.
8218
8219 * w32menu.c: Include character.h.
8220
8221 * w32proc.c: Likewise.
8222
8223 * w32select.c: Likewise.
8224
8225 * makefile.w32-in (w32proc.o): Depend on character.h.
8226
82272008-02-01 Jason Rumney <jasonr@gnu.org>
8228
8229 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
8230
8231 * w32menu.c (syms_of_w32menu): Likewise.
8232
8233 * w32proc.c (syms_of_ntproc): Likewise.
8234
8235 * w32select.c (syms_of_w32select): Likewise.
8236
8237 * w32term.c (syms_of_w32term): Likewise.
8238
82392008-02-01 Jason Rumney <jasonr@gnu.org>
8240
8241 * w32font.c (w32font_draw): Delete brush after using it.
8242
82432008-02-01 Jason Rumney <jasonr@gnu.org>
8244
8245 * w32font.c (w32font_open): Don't set font_idx.
8246 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
8247 to font settings.
8248 (w32font_draw): Fill background explicitly.
8249
82502008-02-01 Jason Rumney <jasonr@gnu.org>
8251
8252 * w32term.c (w32_initialize): Don't call w32font_initialize.
8253
8254 * w32font.c (w32font_info): Remove subranges.
8255 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
8256 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
8257 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
8258 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
8259 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
8260 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
8261 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
8262 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
8263 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
8264 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
8265 New symbols.
8266 (font_callback_data): New struct.
8267 (w32font_list, w32font_match): Use it.
8268 (w32font_open): Don't populate subranges.
8269 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
8270 (w32font_encode_char): Always return unicode code-point as-is.
8271 (w32font_text_extents): Supply a transformation matrix to
8272 GetGlyphOutline. Never look up by glyph index. Avoid looping
8273 twice. Use unicode version of GetTexExtentPoint32 instead of
8274 glyph index version.
8275 (set_fonts_frame): Remove.
8276 (w32_enumfont_pattern_entity): Add frame parameter, use it to
8277 set frame parameter. Use backward compatible fake foundries.
8278 Save generic family in extra slot under QCfamily. Make width slot
8279 constant. Save QCspacing value. Save list of scripts instead of
8280 binary subranges.
8281 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
8282 (add_font_entity_to_list): Use font_callback_data struct. Filter
8283 unwanted fonts.
8284 (add_one_font_entity_to_list): Use font_callback_data struct.
8285 (w32_registry): Default to iso10646_1.
8286 (fill_in_logfont): Use dpi from extra slot. Don't bother with
8287 string font registries. Don't fill in font name if it is a generic
8288 family name, fill family instead. Use spacing, family and script
8289 extra info to fill pitch, family and charset fields.
8290 (list_all_matching_fonts): Use font_callback_data struct.
8291 (unicode_range_for_char): Remove.
8292 (font_supported_scripts): New function.
8293 (w32font_initialize): Remove.
8294 (syms_of_w32font): Update which symbols are defined.
8295
82962008-02-01 Jason Rumney <jasonr@gnu.org>
8297
8298 * font.c (font_pixel_size): Reverse assq_no_quit args.
8299
8300 * w32term.h (FONT_WIDTH): Report max width, not average.
8301 (FONT_MAX_WIDTH): Remove.
8302 (FONT_AVG_WIDTH): New macro.
8303
8304 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
8305 redefinition of FONT_WIDTH.
8306
8307 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
8308 (w32_cache_char_metrics): Use FONT_WIDTH.
8309
8310 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
8311
83122008-02-01 Jason Rumney <jasonr@gnu.org>
8313
8314 * w32font.c (w32font_open): Make lfHeight negative.
8315
8316 * w32fns.c (x_default_font_parameter): Use new style font name.
8317 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
8318
83192008-02-01 Jason Rumney <jasonr@gnu.org>
8320
8321 * w32font.c (QCsubranges): New symbol.
8322 (w32font_open, w32font_has_char): Get subranges from subproperty
8323 of extra.
8324 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
8325 (syms_of_w32font): Define :subranges symbol.
8326
8327 * font.c (font_put_extra): Expose externally.
8328
8329 * font.h (font_put_extra): Move declaration from font.c.
8330
8331 * font.c (Ffont_get): Use font driver to determine otf capability.
8332 (adjust_anchor): Check if driver defines anchor_point before using.
8333
8334 * w32font.c (w32font_open): Handle size, height and pixel_size better.
8335 (w32font_draw): Use options.
8336 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
8337 Fix detection of truetype fonts.
8338 (registry_to_w32_charset): Handle charsets other than iso8859-1
8339 expressed as lisp symbols.
8340 (w32_registry): Express charset as lisp symbol.
8341 (fill_in_logfont): Reverse pixel and point height logic.
8342 Don't set width here. Set quality to default.
8343
8344 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
8345 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
8346
8347 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
8348 Remove redundant loop and allocation.
8349
8350 * makefile.w32-in (font.o, w32font.o): New objects.
8351 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
8352 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
8353
8354 * xdisp.c (fill_composite_glyph_string): Make the first arg to
8355 STORE_XCHARB a valid l-value.
8356
8357 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
8358 calculations for non-Truetype fonts.
8359 (x_draw_glyph_string): Sync with xterm.c.
8360 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
8361 Remove redundant code.
8362 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
8363
8364 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
8365 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
8366
8367 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
8368 (x_to_w32_charset, w32_to_x_charset): Expose externally.
8369
8370 * w32font.c: New file for w32 font backend.
8371
83722008-02-01 Kenichi Handa <handa@m17n.org>
8373
8374 * term.c: Don't include "buffer.h" twice.
8375
83762008-02-01 Kenichi Handa <handa@m17n.org>
8377
8378 * character.c (Funibyte_string): New function.
8379 (syms_of_character): Defsubr it.
8380
83812008-02-01 Jason Rumney <jasonr@gnu.org>
8382
8383 * w32term.c [USE_FONT_BACKEND]:
8384 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
8385 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
8386 (x_draw_glyph_string, x_draw_glyph_string_foreground)
8387 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
8388 (x_free_frame_resources): Sync with xterm.c.
8389
83902008-02-01 Andreas Schwab <schwab@suse.de>
8391
8392 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
8393 char-table size.
8394
83952008-02-01 Kenichi Handa <handa@m17n.org>
8396
8397 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
8398
83992008-02-01 Kenichi Handa <handa@m17n.org>
8400
8401 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
8402 font_otf_gpos, add font_drive_otf.
8403
8404 * fontset.c (fontset_find_font): Pay attention to font size
8405 specified for a font.
8406 (reorder_font_vector): Check contents of font_def.
8407
8408 * font.c (struct otf_list): Delete it.
8409 (otf_list): Make it a lisp variable.
8410 (otf_open): Use lispy otf_list.
8411 (generate_otf_features): Rename from parse_gsub_gpos_spec.
8412 (check_otf_features): New function.
8413 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
8414 New functions.
8415 (font_drive_otf): New function merging font_otf_gsub and
8416 font_otf_gpos.
8417 (font_open_for_lface): New arg spec. Change argument order.
8418 (font_load_for_face): Adjust for the change of font_open_for_lface.
8419 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
8420 Ffont_otf_gpos.
8421 (syms_of_font): Staticpro otf_list. Delete defsubr of
8422 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
8423
8424 * xfaces.c (set_font_frame_param): Adjust for the change of
8425 font_open_for_lface.
8426
8427 * font.h (font_open_for_lface): Adjust prototype.
8428 (struct font_driver): Delete members otf_gsub and otf_gpos, add
8429 member otf_drive.
8430 (font_otf_gsub, font_otf_gpos): Delete externs.
8431 (font_drive_otf): Extern it.
8432
84332008-02-01 Kenichi Handa <handa@m17n.org>
8434
8435 * font.c (font_at): If the window W is not on a window system,
8436 return Qnil.
8437
8438 * coding.c (produce_chars, encode_coding): Don't call
8439 insert_from_gap if no characters to produce.
8440
84412008-02-01 Kenichi Handa <handa@m17n.org>
8442
8443 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
8444 Fclear_face_cache.
8445
8446 * xfaces.c (face_for_font): Check also face->font==font->font.font.
8447
84482008-02-01 Miles Bader <miles@gnu.org>
8449
8450 * emacs.c (main): Change default value of `enable_font_backend' to 1.
8451 Parse "--disable-font-backend" option.
8452 (standard_args): Add "--disable-font-backend" option.
8453
84542008-02-01 Kenichi Handa <handa@m17n.org>
8455
8456 * fontset.c (fontset_find_font): New function.
8457 (fontset_font): Use fontset_find_font.
8458 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
8459 Register the specified font for all Latin characters.
8460 (new_fontset_from_font): Register the specified font for all Latin
8461 characters.
8462 (dump_fontset): For a realized fontset, include the base fontset
8463 name in the returned vector.
8464
84652008-02-01 Kenichi Handa <handa@m17n.org>
8466
8467 * character.h (CHAR_STRING): Cast C to unsigned on calling
8468 char_string.
8469
8470 * character.c (char_string): Type of arg C changed to unsigned.
8471 Signal an error if C is an invalid character code.
8472
8473 * editfns.c (general_insert_function, Fchar_to_string):
8474 Use CHARACTERP, not INTEGERP.
8475
84762008-02-01 Kenichi Handa <handa@m17n.org>
8477
8478 * character.h (MIN_MULTIBYTE_LEADING_CODE)
8479 (MAX_MULTIBYTE_LEADING_CODE): New macros.
8480
8481 * regex.c (analyse_first): Fix for multibyte characters in "case
8482 charset:" and "case categoryspec:".
8483
84842008-02-01 Andreas Schwab <schwab@suse.de>
8485
8486 * Makefile.in (LIBES): Move standard libraries to the end.
8487
84882008-02-01 Kenichi Handa <handa@m17n.org>
8489
8490 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
8491 nonzero, don't shrink the buffer nextb.
8492
8493 * buffer.h (struct buffer_text): New member inhibit_shrinking.
8494
8495 * coding.c (coding_alloc_by_making_gap): New arg offset.
8496 (alloc_destination): Call coding_alloc_by_making_gap with the arg
8497 offset.
8498 (decode_coding_iso_2022): Update coding->safe_charsets.
8499 (decode_coding_gap): Temporarily set
8500 current_buffer->text->inhibit_shrinking to 1.
8501
85022008-02-01 Kenichi Handa <handa@m17n.org>
8503
8504 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
8505 indexing into elements of s->cmp and s->char2b.
8506
85072008-02-01 Juanma Barranquero <lekktu@gmail.com>
8508
8509 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
8510
85112008-02-01 Kenichi Handa <handa@m17n.org>
8512
8513 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
8514 target_multibyte instead of multibyte.
8515 (re_match_2_internal): Call bcmp_translate with target_multibyte.
8516 (bcmp_translate): Change the argument name from multibyte to
8517 target_multibyte.
8518
85192008-02-01 Kenichi Handa <handa@m17n.org>
8520
8521 These changes are to compile a regexp into a pattern that can be
8522 used both for multibyte and unibyte targets.
8523
8524 * Makefile.in (search.o): Depend on charset.h.
8525
8526 * character.c (multibyte_char_to_unibyte_safe): New function.
8527
8528 * search.c: Include "charset.h".
8529 (compile_pattern_1): Delete argument multibyte. Don't set
8530 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
8531 (compile_pattern): Don't compare cp->buf.target_multibyte.
8532 Compare cp->buf.charset_unibyte.
8533 (compile_pattern): Set cp->buf.target_multibyte.
8534
8535 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
8536
8537 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
8538
8539 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
8540 multibyte. Change callers.
8541 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
8542 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
8543 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
8544 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
8545 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
8546 (regex_compile): Make the compiled pattern usable both for
8547 multibyte and unibyte targets.
8548 (analyse_first): Make the fastmap usable both for multibyte and
8549 unibyte targets.
8550 (TRANSLATE_VIA_MULTIBYTE): Delete.
8551 (re_match_2_internal): Pay attention to the case that the
8552 multibyteness of bufp and target may be different.
8553
85542008-02-01 Kenichi Handa <handa@m17n.org>
8555
8556 * xdisp.c (x_produce_glyphs): When a font is not found, make the
8557 empty box occupy at least one column width.
8558
85592008-02-01 Miles Bader <miles@gnu.org>
8560
8561 * Makefile.in: Remove redundant HAVE_XFT clause.
8562
85632008-02-01 Kenichi Handa <handa@m17n.org>
8564
8565 * xrdb.c (x_load_resources): Setup the default fontSet X resource.
8566
85672008-02-01 Kenichi Handa <handa@m17n.org>
8568
8569 * fontset.c (Finternal_char_font): Fix for the case of POSITION
8570 being nil.
8571
85722008-02-01 Kenichi Handa <handa@m17n.org>
8573
8574 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
8575
85762008-02-01 Kenichi Handa <handa@m17n.org>
8577
8578 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
8579
85802008-02-01 Kenichi Handa <handa@m17n.org>
8581
8582 * search.c (simple_search): Fix previous change.
8583
85842008-02-01 Kenichi Handa <handa@m17n.org>
8585
8586 * xftfont.c (ftfont_font_format): Extern declaration.
8587
8588 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
8589
8590 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
8591 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
8592
8593 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
8594 (ftfont_font_format): Fix previous change.
8595
8596 * font.h (Ffont_xlfd_name): EXFUN it.
8597
8598 * font.c (font_parse_xlfd): Fix the array size of `f'.
8599 (register_font_driver): Use EQ to compare driver->type.
8600
8601 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
8602 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
8603 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
8604
86052008-02-01 Kenichi Handa <handa@m17n.org>
8606
8607 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
8608 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
8609
86102008-02-01 Kenichi Handa <handa@m17n.org>
8611
8612 * xfont.c (xfont_open): Set font->format.
8613
8614 * xftfont.c (xftfont_open): Set font->format.
8615
8616 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
8617 (ftfont_list): Include FC_FONTFORMAT in FcObject.
8618 (ftfont_open): Set font->format.
8619 (ftfont_font_format): New function.
8620
8621 * font.h (struct font): New member format.
8622
8623 * font.c (Qopentype): New variable.
8624 (syms_of_font): Defsym it.
8625 (Fquery_font): Change the format of the last element of the return
8626 value.
8627
86282008-02-01 Kenichi Handa <handa@m17n.org>
8629
8630 * xfns.c (xic_create_xfontset): Try the default fontset name as a
8631 last resort.
8632
86332008-02-01 Kenichi Handa <handa@m17n.org>
8634
8635 * coding.c (detect_coding_charset): Fix detection of multi-byte
8636 charset.
8637
86382008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
8639
8640 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
8641
86422008-02-01 Kenichi Handa <handa@m17n.org>
8643
8644 * xdisp.c (get_next_display_element): Set it->face_id for the
8645 first component of a composition.
8646 (x_produce_glyphs): Check if the font is changed or not for composition.
8647
86482008-02-01 Kenichi Handa <handa@m17n.org>
8649
8650 * fontset.c (Qlatin): New variable.
8651 (syms_of_fontset): Define it as a lisp symbol.
8652 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
8653
86542008-02-01 Kenichi Handa <handa@m17n.org>
8655
8656 * font.c (font_unparse_fcname): Pay attention to the case that
8657 some of font property is a null string.
8658
86592008-02-01 Kenichi Handa <handa@m17n.org>
8660
8661 * term.c: Include "composite.h".
8662 (encode_terminal_code): Output all components of composition.
8663 Check the size of encode_terminal_src.
8664 (produce_glyphs): For composition, call produce_composite_glyph.
8665 (append_composite_glyph, produce_composite_glyph): New functions.
8666
8667 * xdisp.c (x_produce_glyphs): In handling composition, if a font
8668 is not found, get font_info from the current ascii face.
8669
86702008-02-01 Kenichi Handa <handa@m17n.org>
8671
8672 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
8673 buffer-file-name to Qnil before calling insert_from_buffer.
8674
8675 * font.c (font_unparse_fcname): Pay attention to the case that
8676 foundry is a null string.
8677
86782008-02-01 Kenichi Handa <handa@m17n.org>
8679
8680 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
8681
8682 * font.c (Qunicode_sip): New variable.
8683 (syms_of_font): Declare it as a Lisp symbol.
8684
8685 * font.h (Qunicode_sip): Extern it.
8686
86872008-02-01 Kenichi Handa <handa@m17n.org>
8688
8689 * composite.c (get_composition_id): Pay attention to TAB component.
8690
8691 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
8692 TAB. Adjust for the change of s->char2b which always points to
8693 the first element of allocated memory.
8694
8695 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
8696
8697 * xdisp.c (handle_composition_prop): Set it->c to the first
8698 non-TAB component.
8699 (fill_composite_glyph_string): Change argument.
8700 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
8701 (x_produce_glyphs): Fix handling of left/right padding.
8702
87032008-02-01 Kenichi Handa <handa@m17n.org>
8704
8705 * coding.c (detect_coding_system): Fix for handling off
8706 inhibit_iso_escape_detection. Fix for the case that no coding
8707 system is defined for a specific coding category.
8708
87092008-02-01 Kenichi Handa <handa@m17n.org>
8710
8711 * font.c (font_matching_entity): Delete unused local var.
8712
8713 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
8714 opening a font.
8715
8716 * fileio.c (Finsert_file_contents): On recovering a file, assume
8717 Unix-like eol.
8718 (choose_write_coding_system): On auto-saving a file, force
8719 Unix-like eol.
8720
8721 * coding.c (setup_coding_system): Fix setting of
8722 coding->common_flags based on eol_type.
8723 (coding_inherit_eol_type): If PARENT is not nil, be sure to
8724 inherit from it.
8725
87262008-02-01 Kenichi Handa <handa@m17n.org>
8727
8728 * alloc.c (NSTATICS): Increas to 0x600.
8729
87302008-02-01 Kenichi Handa <handa@m17n.org>
8731
8732 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
8733 (ftfont_list): Don't check :name property.
8734 (ftfont_match): New function.
8735 (ftfont_pattern_entity): If the pattern doesn't contain
8736 FC_SPACING, don't assume FC_MONO.
8737
8738 * font.h (struct font_driver): New member `match'.
8739 (font_update_drivers): Adjust prototype.
8740
8741 * font.c (font_parse_fcname, font_parse_name): Don't change :name
8742 property of FONT.
8743 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
8744 them unconditionally.
8745 (font_matching_entity): New function.
8746 (font_open_by_name): Try font_matching_entity if exact match is
8747 not found.
8748 (font_update_drivers): Delete the arg FONT. Return a list of
8749 actually used backends. Don't free faces, font caches here.
8750 Don't store data in frame parameters. Don't call x_set_font.
8751 (Ffont_spec): Store :name property as is.
8752 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
8753 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
8754 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
8755 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
8756 Call font->driver->otf_gsub instead of font_otf_gsub.
8757
8758 * frame.c (x_set_font_backend): Do more works that were done in
8759 font_update_drivers before.
8760
8761 * xfont.c (xfont_match): New function.
8762 (xfont_driver): Set xfont_driver.match to xfont_match.
8763 (xfont_draw): Set font in GC if necessary.
8764
8765 * ftxfont.c (ftxfont_match): New function.
8766 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
8767
8768 * xftfont.c (xftfont_match): New function.
8769 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
8770
87712008-02-01 Kenichi Handa <handa@m17n.org>
8772
8773 * font.h (struct font): New member scalable.
8774 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
8775 (font_otf_gsub): Adjust prototype.
8776
8777 * font.c (font_otf_capability): Fix handling of the default langsys.
8778 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
8779 Check the contents of SPEC.
8780 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
8781 (check_gstring): New function.
8782 (REPLACEMENT_CHARACTER): New macro.
8783 (font_otf_gsub): New arg alternate_subst. Be sure to set all
8784 glyph codes of GSTRING.
8785 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
8786 (font_prepare_composition): Set cmp->glyph_len.
8787 (font_open_entity): Set font->scalable.
8788 (Ffont_get): Handle :otf property.
8789 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
8790 functions.
8791 (Fquery_font): Use font->font.full_name.
8792 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
8793 Sfont_otf_alternates.
8794
8795 * ftfont.c (ftfont_open): Set font->font.full_name and
8796 font->font.name properly. Fix calculation of font->font.height
8797 and font->min_width.
8798
8799 * ftxfont.c (ftxfont_create_gcs): New function.
8800 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
8801 (ftxfont_draw_backgrond): Fix filling region.
8802 (ftxfont_default_fid): New function.
8803 (ftxfont_open): Set xfont->fid to the return value of
8804 ftxfont_default_fid.
8805 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
8806 (ftxfont_done_face): Free only GCs that are created by
8807 ftxfont_create_gcs.
8808 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
8809
8810 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
8811 Clip to src->width, etc (not src->clip_XXX).
8812
8813 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
8814 FontBackend frame parameter.
8815
88162008-02-01 Kenichi Handa <handa@m17n.org>
8817
8818 * font.h (struct font_driver_list): New member `on'.
8819 (Fclear_font_cache): EXFUN it.
8820 (font_update_drivers): Extern it.
8821
8822 * font.c (font_unparse_fcname): Fix typo (swidth->width).
8823 (font_list_entities): Check driver_list->on.
8824 (register_font_driver): Initalize `on' member to 0.
8825 (font_update_drivers): New function.
8826 (Fclear_font_cache): Check driver_list->on.
8827
8828 * frame.h (Qfont_backend): Extern it.
8829 (x_set_font_backend): Extern it.
8830
8831 * frame.c (Qfont_backend): New variable.
8832 (frame_parms): New element for font-backend.
8833 (x_set_font_backend): New function.
8834
8835 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
8836 FontBackend frame parameter.
8837 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
8838 x_set_font_backend.
8839
8840 * xfont.c (xfont_list): Don't try listing by :name property if the
8841 name is not for XLFD.
8842
88432008-02-01 Kenichi Handa <handa@m17n.org>
8844
8845 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
8846 (LGLYPH_SET_TO): New macros.
8847 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
8848 element of G is vector or not.
8849 (font_at): Extern it.
8850
8851 * font.c: Include window.h.
8852 (font_lispy_object): New function.
8853 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
8854 end of valid glyph.
8855 (font_close_object): Fix getting (struct font *).
8856 (font_at): New function.
8857 (Ffont_get): If FONT is a font-object, get entity from it.
8858 (Ffont_make_gstring): Initialize elements of glyphs with nil.
8859 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
8860 range check.
8861 (Ffont_at): New function.
8862 (syms_of_font): Defsubr Sfont_at.
8863
8864 * xdisp.c (it_props): Move the entry for Qauto_composed to just
8865 before the entry for Qcomposition.
8866 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
8867 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
8868 the font in gstring.
8869 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
8870 LGLYPH_FORM (g) to detect the end of valid glyph.
8871 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
8872 we are composing with gstring.
8873
8874 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
8875 Check if adjustment is vector or not.
8876
8877 * Makefile.in (font.o): Make it depends on window.h.
8878
88792008-02-01 Kenichi Handa <handa@m17n.org>
8880
8881 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
8882 adjustment is vector or not.
8883
88842008-02-01 Miles Bader <miles@gnu.org>
8885
8886 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
8887
88882008-02-01 Kenichi Handa <handa@m17n.org>
8889
8890 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
8891 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
8892 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
8893
8894 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
8895 (DEVICE_DELTA): Fix typo.
8896 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
8897 LGLYPH format.
8898
8899 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
8900 the change of LGLYPH format.
8901
89022008-02-01 Kenichi Handa <handa@m17n.org>
8903
8904 * ftfont.c (ftfont_list): Fix typo.
8905 (ftfont_build_basic_charsets): Don't include letters with diacritics.
8906
89072008-02-01 Jan Djärv <jan.h.d@swipnet.se>
8908
8909 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
8910
8911 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
8912 xftface_info is non-NULL.
8913
89142008-02-01 Jan Djärv <jan.h.d@swipnet.se>
8915
8916 * ftfont.c (ftfont_list): Move misplaced #endif.
8917
89182008-02-01 Kenichi Handa <handa@m17n.org>
8919
8920 * ftfont.c (ftfont_list): Pay attention to the case that
8921 FC_CAPABILITY is not defined.
8922
89232008-02-01 Kenichi Handa <handa@m17n.org>
8924
8925 * xftfont.c (xftfont_open): Set charset related members to -1.
8926
8927 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
8928 QCname.
8929 (ftfont_open): Set charset related members to -1.
8930
8931 * fontset.c (Votf_script_alist): New variable.
8932 (syms_of_fontset): Initialize it.
8933 (fontset_font): Delete unused variable.
8934
8935 * fontset.h (Votf_script_alist): Extern it.
8936
8937 * font.c (font_find_for_lface): Optimize code.
8938
8939 * font.h (font_close_object, font_merge_old_spec): Extern them.
8940
89412008-02-01 Kenichi Handa <handa@m17n.org>
8942
8943 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
8944 (syms_of_font): Initialize them.
8945 (font_pixel_size): Allow float value in dpi.
8946 (font_prop_validate_type): Delete.
8947 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
8948 Change caller.
8949 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
8950 (font_prop_validate_extra): Delete.
8951 (font_prop_validate_spacing): New function.
8952 (font_property_table): Add elements for all known properties.
8953 (get_font_prop_index): Rename from check_font_prop_name. New
8954 argument FROM. Change caller.
8955 (font_prop_validate): Validate all known properties.
8956 (font_put_extra): Delete argument force. Change caller.
8957 (font_expand_wildcards): Make it static. Fix the way of shrinking
8958 the possible range.
8959 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
8960 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
8961 Change caller.
8962 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
8963 (font_parse_fcname): Delete argument merge. Fix parsing of point
8964 size. Don't validate properties values here. Change caller.
8965 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
8966 (font_open_by_name): Delete unused variable.
8967 (Ffont_spec): Likewise. Validate property values.
8968 (Ffont_match_p): New function.
8969
8970 * font.h (QCscalable): Extern it.
8971 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
8972
8973 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
8974
8975 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
8976 (xfont_list_pattern): New function.
8977 (xfont_list): Use xfont_list_pattern.
8978
89792008-02-01 Kenichi Handa <handa@m17n.org>
8980
8981 * font.h (Flist_fonts): EXFUN it.
8982
89832008-02-01 Jason Rumney <jasonr@gnu.org>
8984
8985 * w32term.c (w32_initialize): Add back smoothing_type and
8986 smoothing_enabled definitions.
8987
89882008-02-01 Kenichi Handa <handa@m17n.org>
8989
8990 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
8991 s->face->font on determining underline position.
8992
89932008-02-01 Kenichi Handa <handa@m17n.org>
8994
8995 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
8996 (font_has_char): Accept font-object too.
8997 (font_find_for_lface): Try at first with a size specified in face.
8998
89992008-02-01 Kenichi Handa <handa@m17n.org>
9000
9001 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
9002 font_open_by_name.
9003
90042008-02-01 Kenichi Handa <handa@m17n.org>
9005
9006 * font.h (QCspacing, QCdpi): Extern them.
9007 (enum font_spacing): New enum.
9008 (FONT_PIXEL_SIZE_QUANTUM): New macro.
9009
9010 * font.c (POINT_TO_PIXEL): Don't divide POINT by 10.
9011 (QCspacing, QCdpi): New variables.
9012 (syms_of_font): Initialize them.
9013 (font_pixel_size): New function.
9014 (font_put_extra): New function.
9015 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
9016 in FONT_EXTRA.
9017 (font_parse_fcname): Handle enumerated values (e.g. bold).
9018 Fix handling font size. Add QCname property that contains only
9019 unknown properties.
9020 (font_score): Change argument. Change caller. Pay attention to
9021 FONT_PIXEL_SIZE_QUANTUM.
9022 (font_sort_entites, font_list_entities, font_find_for_lface)
9023 (font_open_for_lface, font_open_by_name): Fix handling of font size.
9024 (Ffont_spec): Add QCname property that contains only unknown properties.
9025
9026 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
9027 include weight in listing pattern, instead check weight of each
9028 listed font. Don't include scalable in pattern. Pay attention to
9029 FONT_PIXEL_SIZE_QUANTUM.
9030
90312008-02-01 Kenichi Handa <handa@m17n.org>
9032
9033 * font.c (font_parse_fcname): Fix parsing of point-size.
9034 (font_unparse_fcname): Produce symbolic names for style properties.
9035 (font_list_entities): Handle float size correctly.
9036 (font_open_by_name): Prefer `normal' property values if the name
9037 doesn't specify them.
9038
9039 * fontset.c (Finternal_char_font): Use font_get_name, not
9040 Ffont_xlfd_name.
9041
9042 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
9043 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
9044 pattern. Don't force scalable.
9045
9046 * xftfont.c (xftfont_open): For generating a name, start from
9047 96-byte buffer.
9048
90492008-02-01 Jan Djärv <jan.h.d@swipnet.se>
9050
9051 * frame.h (x_new_fontset2): Fix prototype.
9052
90532008-02-01 Kenichi Handa <handa@m17n.org>
9054
9055 * font.h (struct font_driver): Delete member parse_name.
9056 (font_match_p, font_get_spec, font_parse_fcname)
9057 (font_unparse_fcname): Extern them.
9058 (font_get_name): Adjust prototype.
9059
9060 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
9061 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
9062 (font_expand_wildcards): Fix handling ENCODING field. Avoid
9063 unnecessary checks for weight, slant, and swidth.
9064 (font_parse_fcname): New function.
9065 (font_unparse_fcname): New function.
9066 (font_parse_name): New function.
9067 (font_match_p): New function.
9068 (font_get_name): Change return value to Lisp string.
9069 (font_get_spec): New function.
9070 (Qunspecified, Qignore_defface): Don't extern them.
9071 (font_find_for_lface): Assume that LFACE is fully specified.
9072 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
9073 object, use it for FACE.
9074 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
9075 driver->parse_name.
9076 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
9077
9078 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
9079 prototype.
9080
9081 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
9082 argument F. Don't call Fnew_fontset. Instead, directly call
9083 make_fontset.
9084
9085 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
9086
9087 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
9088 of x_new_fontset2.
9089
9090 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
9091 (Qsans__serif): New variables.
9092 (ftfont_generic_family_list): New variable.
9093 (syms_of_ftfont): Initialize the above variables.
9094 (ftfont_pattern_entity): Delete argument NAME.
9095 (ftfont_list_generic_family): New function.
9096 (ftfont_parse_name): Delete this function.
9097 (ftfont_list): Try generic family only when FcFontList found no font.
9098 (ftfont_list_family): Fix args to FcObjectSetBuild.
9099
9100 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
9101 object in attrs[LFACE_FONT_INDEX].
9102 (set_lface_from_font_name): Cancel all changes for font-backend.
9103 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
9104 function.
9105 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
9106 font object in QCfont attribute.
9107 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
9108 (realize_default_face) [USE_FONT_BACKEND]: Call
9109 set_lface_from_font_and_fontset.
9110
9111 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
9112 "fixed", and signal error here if no suitable font was found.
9113
9114 * xfont.c (xfont_parse_name): Delete this function.
9115
9116 * xftfont.c (xftfont_open): Change coding style of error
9117 handling. Generate fontconfig's fontname pattern.
9118
9119 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
9120 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
9121
9122 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
9123 Both args FONTSET and FONT_OBJECT must be existing ones.
9124
91252008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9126
9127 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
9128
91292008-02-01 Kenichi Handa <handa@m17n.org>
9130
9131 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
9132
9133 * font.h (struct font): Fix typo.
9134
9135 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
9136 XLFD_XXX_INDEX.
9137 (enum xlfd_field_mask): New enum.
9138 (intern_font_field): Changed argument. Change caller. If digits
9139 are followed by non-digits, return a symbol.
9140 (font_expand_wildcards): New function.
9141 (font_parse_xlfd): Fix wildcard handling.
9142 (Ffont_spec): If :name is specified, reflect the info in the other
9143 properties.
9144
9145 * ftfont.c (ftfont_pattern_entity): Fix typo.
9146 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
9147 locale.
9148
91492008-02-01 Kenichi Handa <handa@m17n.org>
9150
9151 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
9152
9153 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
9154 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
9155 registry doesn't specify encoding part.
9156 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
9157 (font_open_by_name): At first try parsing the name.
9158 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
9159 as Lisp symbols.
9160
9161 * fontset.c (reorder_font_vector): Pay attention to the case that
9162 the 3rd element of font_def is nil.
9163 (fontset_font): For the default fontset, append one more fontset
9164 elements for a script-based font specification. Don't add script
9165 attribute on finding a font.
9166 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
9167 font name.
9168 (fontset_ascii_font): If a font can't be opened, return nil.
9169
9170 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
9171 (ftfont_pattern_entity): New function.
9172 (ftfont_get_cache): Assume that freetype_font_cache is already
9173 initialized.
9174 (ftfont_list): Handle the case that a file is specified in font
9175 name. Use ftfont_pattern_entity to generate entities.
9176 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
9177 (syms_of_ftfont): Initialize freetype_font_cache.
9178
9179 * xftfont.c (xftfont_open): Make the font name fontconfig's
9180 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
9181 (xftfont_close): Free font->font.name if not NULL.
9182
9183 * xfont.c (xfont_list): If script is specified for a font, return
9184 null_vector.
9185 (xfont_list_family): Declare argument type.
9186
9187 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
9188 name, set LFACE_FONT (lface) to nil.
9189
9190 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
9191 return Qnil.
9192
91932008-02-01 Kenichi Handa <handa@m17n.org>
9194
9195 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
9196 (standard_args): Add "-enable-font-backend".
9197
91982008-02-01 Kenichi Handa <handa@m17n.org>
9199
9200 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
9201 (struct xftdraw_list, xftdraw_list): Delete them.
9202 (register_xftdraw, check_xftdraw): Delete them.
9203 (xftfont_prepare_face): Don't call register_xftdraw.
9204 (xftfont_done_face): Don't call check_xftdraw.
9205 (xftfont_draw): Get background color only when with_background is
9206 nonzero.
9207
9208 * xfont.c (xfont_encode_char): Fix calculation of char2b.
9209
92102008-02-01 Kenichi Handa <handa@m17n.org>
9211
9212 These changes are for the new font handling codes.
9213
9214 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
9215 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
9216 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
9217 (FONTSRC, FONTOBJ): New variables.
9218 (obj): Add $(FONTOBJ).
9219 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
9220 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
9221 @LIBOTF_LIBS@.
9222 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
9223 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
9224
9225 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
9226
9227 * character.h (Vscript_representative_chars): Extern it.
9228
9229 * character.c (Vscript_representative_chars): New variable.
9230 (syms_of_character): Declare it as a Lisp variable.
9231
9232 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
9233 enable_font_backend is nonzero, accept the composition method
9234 COMPOSITION_WITH_GLYPH_STRING.
9235
9236 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
9237 enumeration COMPOSITION_WITH_GLYPH_STRING.
9238
9239 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
9240 members clip_x, clip_y, clip_width, and clip_height.
9241 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
9242
9243 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
9244 --enable-font-backend. Call syms_of_font.
9245
9246 * fns.c (assoc_no_quit): New function.
9247
9248 * fontset.h (FONT_INFO_FROM_FACE): New macro.
9249 (face_for_font, new_fontset_from_font)
9250 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
9251
9252 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
9253 (fontset_font, fontset_ascii, face_for_char)
9254 (make_fontset_for_ascii_face, Ffont_info)
9255 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
9256 is nonzero, use font-backend mechanism.
9257 (find_font_encoding): Make it non-static.
9258 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
9259 New functions.
9260
9261 * frame.h (struct frame): New members resx and resy.
9262 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
9263 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
9264
9265 * frame.c [USE_FONT_BACKEND]: Include "font.h".
9266 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
9267
9268 * lisp.h (assoc_no_quit): Extern it.
9269
9270 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
9271 Through out the file, use FONT_INFO_FROM_FACE instead of
9272 FONT_INFO_FROM_ID, use get_per_char_metric instead of
9273 rif->per_char_metric.
9274 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
9275 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
9276 (get_glyph_face_and_encoding, fill_composite_glyph_string)
9277 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
9278 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
9279 nonzero, use font-backend mechanism.
9280 (get_per_char_metric): New function.
9281
9282 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
9283 (set_lface_from_font_name)
9284 (set_font_frame_param, free_realized_face)
9285 (prepare_face_for_display, clear_face_gcs)
9286 (Finternal_set_font_selection_order, realize_x_face)
9287 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
9288 font-backend mechanism.
9289 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
9290 (load_face_font) [USE_FONT_BACKEND]: Abort.
9291 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
9292 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
9293
9294 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
9295 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
9296 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
9297 nonzero, register all available font drivers. Call
9298 x_default_font_parameter for deciding a font.
9299 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
9300
9301 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
9302 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
9303 (x_set_glyph_string_clipping_exactly)
9304 (x_compute_glyph_string_overhangs)
9305 (x_draw_glyph_string_foreground)
9306 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
9307 (x_free_frame_resources) [USE_FONT_BACKEND]: If
9308 enable_font_backend is nonzero, use font-backend mechanism.
9309 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
9310
93112008-02-01 Kenichi Handa <handa@m17n.org>
9312
9313 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
9314 system_eol_type.
9315 (syms_of_coding): Initialize system_eol_type.
9316
9317 * process.c (Fset_process_coding_system): Inherit system's eol
9318 format if necessary.
9319
93202008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9321
9322 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
9323
93242008-02-01 Kenichi Handa <handa@m17n.org>
9325
9326 * coding.c (decode_eol): Pay attention to buffer relocation in
9327 del_range_2.
9328 (decode_coding): Call decode_eol before restoring undo_list.
9329
93302008-02-01 Kenichi Handa <handa@m17n.org>
9331
9332 * charset.c (Fdefine_charset_internal): Fix setting of
9333 emacs_mule_bytes.
9334
93352008-02-01 Kenichi Handa <handa@m17n.org>
9336
9337 * keyboard.c (read_char): Check if C is a character or not before
9338 looking up Vkeyboard_translate_table.
9339
93402008-02-01 Kenichi Handa <handa@m17n.org>
9341
9342 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
9343 condition to terminate the loop.
9344
93452008-02-01 Kenichi Handa <handa@m17n.org>
9346
9347 * coding.c (produce_composition): Compare charbuf[i] instead of
9348 args[i] against 0.
9349 (Fterminal_coding_system): Use EQ to compare Lisp objects.
9350
93512008-02-01 Kenichi Handa <handa@m17n.org>
9352
9353 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
9354 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
9355 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
9356 detect_coding.
9357 (emacs_mule_char): Handle old style (Emacs 20) component character
9358 of a composition.
9359 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
9360 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
9361 composition rule.
9362 (decode_coding_emacs_mule): Handle invalid bytes correctly.
9363
93642008-02-01 Kenichi Handa <handa@m17n.org>
9365
9366 * coding.c (encode_coding_ccl): Allocate destination dynamically
9367 when necessary.
9368
93692008-02-01 Kenichi Handa <handa@m17n.org>
9370
9371 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
9372 the loop. When quitted, show a proper error message.
9373
93742008-02-01 Kenichi Handa <handa@m17n.org>
9375
9376 * xterm.c (x_set_glyph_string_clipping_exactly): Set
9377 src->clip_head and src->clip_tail temporarily instead of src->hl.
9378
9379 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
9380 character sequence.
9381 (Fccl_execute_on_string): Use ASET, not XSET.
9382
93832008-02-01 Kenichi Handa <handa@m17n.org>
9384
9385 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
9386
93872008-02-01 Kenichi Handa <handa@m17n.org>
9388
9389 * coding.c (decode_coding): Fix the condition of terminating the
9390 decoding loop.
9391
93922008-02-01 Kenichi Handa <handa@m17n.org>
9393
9394 * data.c (Faset): On setting a character bigger than 255 in a
9395 unibyte string, signal an error instead of make the string multibyte.
9396
93972008-02-01 Kenichi Handa <handa@m17n.org>
9398
9399 * charset.c (map_charset_chars): Fix for ascii-compatible charset
9400 made by a mapping table.
9401
94022008-02-01 Kenichi Handa <handa@m17n.org>
9403
9404 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
9405 not.
9406 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
9407 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
9408
9409 * xterm.c (x_draw_composite_glyph_string_foreground): Check
9410 s->face is NULL or not.
9411
94122008-02-01 Kenichi Handa <handa@m17n.org>
9413
9414 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
9415 (x_draw_glyph_string): Fix drawing of right_overhang and
9416 left_overhang around/on cursor.
9417
9418 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
9419
94202008-02-01 Kenichi Handa <handa@m17n.org>
9421
9422 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
9423
94242008-02-01 Kenichi Handa <handa@m17n.org>
9425
9426 * coding.c (Fdefine_coding_system_internal)
9427 (Fdefine_coding_system_alias): Avoid a duplicated element in
9428 Vcoding_system_alist.
9429
94302008-02-01 Kenichi Handa <handa@m17n.org>
9431
9432 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
9433
9434 * coding.c (Qcoding_system_define_form): New variable.
9435 (syms_of_coding): Intern and staticpro it.
9436 (Fcoding_system_p): Check Qcoding_system_define_form.
9437 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
9438
9439 * coding.h (CODING_SYSTEM_P): If ID is not available, call
9440 Fcoding_system_p.
9441 (CHECK_CODING_SYSTEM): If ID is not available, call
9442 Fcheck_coding_system.
9443 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
9444 Try also Fcheck_coding_system.
9445
94462008-02-01 Kenichi Handa <handa@m17n.org>
9447
9448 * coding.c (code_conversion_restore): GCPRO arg.
9449
94502008-02-01 Kenichi Handa <handa@m17n.org>
9451
9452 * character.c (lisp_string_width): Check multibyteness of STRING.
9453
94542008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9455
9456 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
9457 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
9458 (decode_mac_font_name): Use decode_coding_c_string instead of
9459 decode_coding.
9460 (x_load_font): Initialize fontp->fontset to -1. Set
9461 fontp->encoding_type.
9462
94632008-02-01 Kenichi Handa <handa@m17n.org>
9464
9465 * search.c (search_buffer): Give up BM search on case-fold-search
9466 if one of a target character has a case-equivalence of different
9467 byte length even if that target charcter is an ASCII.
9468 (simple_search): Fix calculation of byte length of matched text.
9469 (boyer_moore): Fix handling of case-equivalent multibyte characters.
9470
94712008-02-01 Kenichi Handa <handa@m17n.org>
9472
9473 * coding.c (decode_coding): Fix handling of invalid bytes.
9474
94752008-02-01 Kenichi Handa <handa@m17n.org>
9476
9477 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
9478 Unicode characters.
9479
94802008-02-01 Kenichi Handa <handa@m17n.org>
9481
9482 * coding.c (encode_coding_object): If a pre-write-conversion
9483 function makes a new buffer, kill it.
9484
94852008-02-01 Kenichi Handa <handa@m17n.org>
9486
9487 * coding.c (QCascii_compatible_p): New variable.
9488 (syms_of_coding): Initialize it.
9489 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
9490 calling string_char.
9491 (record_conversion_result): Add `default:' case.
9492 (coding_charset_list): Delete unused variable `coding_type'.
9493 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
9494 property in the plist of the coding system.
9495 (Fcoding_system_put): Check QCascii_compatible_p.
9496
94972008-02-01 Miles Bader <miles@gnu.org>
9498
9499 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
9500 removed calculation of frame `f', as it's now used.
9501
95022008-02-01 Kenichi Handa <handa@m17n.org>
9503
9504 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
9505 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
9506 (UNIDATA): New variable.
9507 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
9508 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
9509 $(RUN_TEMACS) unconditionally.
9510
95112008-02-01 Kenichi Handa <handa@m17n.org>
9512
9513 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
9514 (admindir): New variable.
9515 ($(lispsource)international/charprop.el): New target.
9516
95172008-02-01 Miles Bader <miles@gnu.org>
9518
9519 * character.c (chars-in-region): Remove obsolete function.
9520 (syms_of_character): Remove its initialization.
9521
95222008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
9523
9524 * w32select.c (validate_coding_system)
9525 (setup_windows_coding_system): New functions.
9526 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
9527 setup_windows_coding_system.
9528 (setup_config, Fw32_get_clipboard_data): Use
9529 validate_coding_system.
9530 (Fx_selection_exists): Move call to setup_config to a place
9531 where signals are allowed.
9532
9533 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
9534 (Fcheck_coding_system): Add declarations.
9535
95362008-02-01 Kenichi Handa <handa@m17n.org>
9537
9538 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
9539
95402008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9541
9542 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
9543 string as the second argument for x_new_fontset.
9544
95452008-02-01 Kenichi Handa <handa@m17n.org>
9546
9547 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
9548 (encode_coding_object): Use safe_call instead of call2.
9549
95502008-02-01 Kenichi Handa <handa@m17n.org>
9551
9552 * fontset.c (Fset_fontset_font): Check family element of a given vector.
9553
9554 * Makefile.in (lisp): Include charprop.el.
9555
95562008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9557
9558 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
9559 Not sure if it's unnecessary.
9560
95612008-02-01 Steven Tamm <steventamm@mac.com>
9562
9563 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
9564 some possibly unnecessary fontset checking code that crashed
9565 when creating a new frame.
9566
95672008-02-01 Kenichi Handa <handa@m17n.org>
9568
9569 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
9570 lookup_face.
9571
9572 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
9573
9574 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
9575
95762008-02-01 Kenichi Handa <handa@m17n.org>
9577
9578 * coding.c: Cancel the change done in HEAD on 2008-02-01.
9579 (coding_charset_list): New function.
9580
9581 * coding.h (coding_charset_list): Extern it.
9582
95832008-02-01 Kenichi Handa <handa@m17n.org>
9584
9585 * fontset.c (Fset_fontset_font): Call find_font_encoding with
9586 concatenation of family and registry.
9587
95882008-02-01 Kenichi Handa <handa@m17n.org>
9589
9590 * character.h (BYTE8_STRING): Fix typo.
9591
9592 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
9593 string to multibyte (sync to HEAD).
9594
9595 * casefiddle.c (casify_region): Handle changes in byte-length
9596 using replace_range_2 (sync to HEAD).
9597
95982008-02-01 Andreas Schwab <schwab@suse.de>
9599
9600 * chartab.c (map_char_table): GCPRO table and arg.
9601
96022008-02-01 Kenichi Handa <handa@m17n.org>
9603
9604 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
9605 already at limit.
9606
96072008-02-01 Kenichi Handa <handa@m17n.org>
9608
9609 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
9610 instead of fast_c_string_match_ignore_case.
9611 (find_font_encoding): Change argument to Lisp_Object. Use
9612 fast_string_match_ignore_case instead of
9613 fast_c_string_match_ignore_case. Change caller.
9614
96152008-02-01 Kenichi Handa <handa@m17n.org>
9616
9617 * xdisp.c (get_next_display_element): In unibyte case, decide to
9618 display in octal form by checking a character by
9619 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
9620
9621 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
9622
9623 * character.c (unibyte_has_multibyte_table): New variable.
9624
9625 * character.h (unibyte_has_multibyte_table): Extern it.
9626 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
9627
96282008-02-01 Kenichi Handa <handa@m17n.org>
9629
9630 * coding.c (encode_coding_iso_2022): Fix handling of charset
9631 annotation.
9632
96332008-02-01 Kenichi Handa <handa@m17n.org>
9634
9635 * coding.c (setup_coding_system): If coding_system is nil, use
9636 Qundecided.
9637 (Fterminal_coding_system): Return nil if terminal coding system is
9638 `undecided'.
9639 (syms_of_coding): Define coding-system `undecided' here. Setup
9640 terminal_coding as `undecided'.
9641
96422008-02-01 Kenichi Handa <handa@m17n.org>
9643
9644 * xdisp.c (message_dolog, set_message_1): Call
9645 unibyte_char_to_multibyte with arg type int.
9646
9647 * lread.c (read1): Fix reading of a char-table.
9648
9649 * print.c (print_object): Include sub char-table in circularities
9650 detection.
9651
96522008-02-01 Kenichi Handa <handa@m17n.org>
9653
9654 * keymap.c (where_is_internal_2): Fix for the case that KEY is a cons.
9655 Append the found sequences in car of ARGS instead of prepending.
9656
96572008-02-01 Kenichi Handa <handa@m17n.org>
9658
9659 * fileio.c (report_file_error): Make a unibyte string from
9660 strerror (errorno).
9661 (Fsubstitute_in_file_name): Fix the arg to
9662 unibyte_char_to_multibyte. It is evaluated twice.
9663
96642008-02-01 Kenichi Handa <handa@m17n.org>
9665
9666 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
9667
96682008-02-01 Kenichi Handa <handa@m17n.org>
9669
9670 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
9671 BOM is not found.
9672 (detect_coding, detect_coding_system): Optimization for ISO-2022
9673 when no 8-bit data is found.
9674
96752008-02-01 Jason Rumney <jasonr@gnu.org>
9676
9677 * w32fns.c (x_to_w32_font): Update to use new coding struct.
9678
96792008-02-01 Kenichi Handa <handa@m17n.org>
9680
9681 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
9682 CHARS.
9683
96842008-02-01 Steven Tamm <steventamm@mac.com>
9685
9686 * macterm.c (mac_encode_char): Add charset argument and update
9687 to use encoding_type.
9688 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
9689 switch to pure fontset.
9690 (decode_mac_font_name): Temporarily remove decoding.
9691 (x_font_name_to_mac_font_name): Temporarily remove encoding.
9692 (x_load_font): Temporarily remove encoding.
9693
96942008-02-01 Kenichi Handa <handa@m17n.org>
9695
9696 * xfaces.c (Fface_font): If frame is not on a window system,
9697 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
9698 refer to face->font.
9699 (split_font_name_into_vector, build_font_name_from_vector)
9700 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
9701 when HAVE_WINDOW_SYSTEM is defined.
9702
97032008-02-01 Kenichi Handa <handa@m17n.org>
9704
9705 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
9706 (x_produce_glyphs): Fix setting of members of cmp in case
9707 cmp->glyph_len is zero.
9708
9709 * fontset.c (Fset_fontset_font): Fix docstring.
9710 (Ffontset_info): Make it backward compatible. New arg ALL.
9711
97122008-02-01 Kim F. Storm <storm@cua.dk>
9713
9714 * process.c (read_process_output): Grow decoding_buf when needed;
9715 this could cause a crash in allocate_string and compact_small_strings.
9716
97172008-02-01 Kenichi Handa <handa@m17n.org>
9718
9719 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
9720
97212008-02-01 Kenichi Handa <handa@m17n.org>
9722
9723 * coding.c (setup_coding_system): Set coding->common_flags
9724 correctly for raw-text.
9725 (consume_chars): On encoding unibyte text by raw-text, don't check
9726 multibyte form.
9727 (encode_coding): On encoding by raw-text, never use translation tables.
9728
9729 * fileio.c (e_write): Short cut for the case of no encoding.
9730
97312008-02-01 Kenichi Handa <handa@m17n.org>
9732
9733 * coding.c (detect_coding, detect_coding_system): Delete unused
9734 variables.
9735
97362008-02-01 Kenichi Handa <handa@m17n.org>
9737
9738 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
9739 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
9740
97412008-02-01 Kenichi Handa <handa@m17n.org>
9742
9743 * coding.c (Ffind_coding_systems_region_internal): Include
9744 raw-text and no-conversion in the result.
9745
97462008-02-01 Kenichi Handa <handa@m17n.org>
9747
9748 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
9749 (load_font_get_repertory): Delete unnecessary check of ENCODING of
9750 FONT_DEF.
9751 (font_def_arg, add_arg, from_arg, to_arg): New args.
9752 (set_fontset_font): Change argument.
9753 (Fset_fontset_font): Fix for the case that TARGET is a script
9754 name and charset name.
9755 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
9756
97572008-02-01 Kenichi Handa <handa@m17n.org>
9758
9759 * fontset.c (fontset_font): Rename from fontset_face. Change return
9760 value.
9761 (face_suitable_for_char_p, face_for_char): Adjust for the change
9762 of fontset_font.
9763 (make_fontset_for_ascii_face): Fix setting of the fontset element
9764 for ASCII.
9765 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
9766 to get a font name.
9767 (Ffontset_info): Adjust for the change of fontset_font.
9768
9769 * coding.c (emacs_mule_char): Check invalid code more rigidly.
9770
9771 * character.h (LEADING_CODE_LATIN_1_MIN)
9772 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
9773
97742008-02-01 Kenichi Handa <handa@m17n.org>
9775
9776 * editfns.c (check_translation): New function.
9777 (Ftranslate_region_internal): Handle M:N mapping.
9778
97792008-02-01 Kenichi Handa <handa@m17n.org>
9780
9781 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
9782
97832008-02-01 Kenichi Handa <handa@m17n.org>
9784
9785 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
9786 goto invalid_code.
9787 (decode_coding_iso_2022): Fix handling of invalid designation.
9788
9789 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
9790 after calling code_conversion_save.
9791
97922008-02-01 Kenichi Handa <handa@m17n.org>
9793
9794 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
9795
9796 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
9797
9798 * fontset.c: Include "intervals.h".
9799 (fontset_face): Fix comparing of Lisp_Objects.
9800 (free_face_fontset, new_fontset_from_font_name): Fix
9801 Lisp_Object/int mixup.
9802
9803 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
9804
9805 * coding.c: Add many prototypes for static functions.
9806 (get_translation_table): Allow max_lookup to be NULL.
9807 (decode_coding, Ffind_coding_systems_region_internal)
9808 (Funencodable_char_position, Fcheck_coding_systems_region): Call
9809 get_translation_table with max_lookup NULL.
9810
98112008-02-01 Kenichi Handa <handa@m17n.org>
9812
9813 * coding.c (get_translation_table): Declare it as Lisp_Object.
9814 (LOOKUP_TRANSLATION_TABLE): New macro.
9815 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
9816 instead of CHAR_TABLE_REF.
9817
98182008-02-01 Kenichi Handa <handa@m17n.org>
9819
9820 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
9821 annotation data format.
9822 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
9823 Change arguments FROM and TO to single argument NCHARS. Change caller.
9824 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
9825 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
9826 (decode_coding_ccl, decode_coding_charset): Pay attention to
9827 coding->charbuf_used.
9828 (get_translation): New function.
9829 (produce_chars): New arguments translation_table and last_block.
9830 Translate characters here. Return number of carryover chars.
9831 Change caller.
9832 (produce_composition): New argument pos. Change caller.
9833 Adjust for the change of annotation data format.
9834 (produce_charset, produce_annotation): Likewise.
9835 (decode_coding, encode_coding): Don't call translate_chars.
9836 (consume_chars): New arg translation_table. Change caller.
9837 (translate_chars): Delete.
9838 (syms_of_coding): Make translation-table's number of extra slots 2.
9839
98402008-02-01 Kenichi Handa <handa@m17n.org>
9841
9842 * search.c (simple_search): Fix setting this_pos_byte in backward
9843 search.
9844
9845 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
9846 byte sequence.
9847 (detect_coding_ccl): Fix setting of the variable valids.
9848
98492008-02-01 Kenichi Handa <handa@m17n.org>
9850
9851 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
9852
9853 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
9854
9855 * editfns.c (Ftranslate_region_internal): Rename from
9856 Ftranslate_region. Accept a char-table in TABLE.
9857 (syms_of_editfns): Defsubr Stranslate_region_internal.
9858
9859 * xfaces.c (set_lface_from_font_name): If a font is specified for
9860 a frame, generate a fontset from the font.
9861 (build_scalable_font_name): If the scalable font is requested for
9862 a specific size, don't change that size.
9863 (try_font_list): Try a scalable font also in the case that a
9864 pattern string is specified.
9865
98662008-02-01 Kenichi Handa <handa@m17n.org>
9867
9868 * xfaces.c (Fface_font): New optional arg CHARACTER.
9869
98702008-02-01 Kenichi Handa <handa@m17n.org>
9871
9872 * charset.h (CHARSET_OFFSET): New macro.
9873
98742008-02-01 Kenichi Handa <handa@m17n.org>
9875
9876 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
9877
9878 * fontset.c (fontset_face): Handle the case that repertory is a
9879 char-table.
9880 (find_font_encoding): Return nil for unknown encoding.
9881 (Fset_fontset_font): Ignore a font of unknown encoding.
9882
98832008-02-01 Kenichi Handa <handa@m17n.org>
9884
9885 * keymap.c (describe_vector): Handle default value of a char table.
9886
9887 * fontset.c (fontset_face): Handle fallback fonts correctly.
9888 (Ffontset_info): Return infomation about fallback fonts.
9889
98902008-02-01 Kenichi Handa <handa@m17n.org>
9891
9892 * fontset.c (FONTSET_DEFAULT): New macro.
9893 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
9894 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
9895 the case that it is nil.
9896 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
9897 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
9898
9899 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
9900 subset or superset.
9901
99022008-02-01 Kenichi Handa <handa@m17n.org>
9903
9904 * emacs.c (main): Call init_charset after syms_of_XXX.
9905
9906 * charset.c (Vcharset_map_directory): Delete.
9907 (Vcharset_map_path): New variable.
9908 (load_charset_map_from_file): Use Vcharset_map_path instead.
9909 (init_charset): Initialize Vcharset_map_path.
9910 (syms_of_charset): Delete declaration of "charset-map-directory",
9911 add declaration of "charset-map-path".
9912
99132008-02-01 Kenichi Handa <handa@m17n.org>
9914
9915 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
9916 ASCII only string.
9917
9918 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
9919
9920 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
9921 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
9922
99232008-02-01 Kenichi Handa <handa@m17n.org>
9924
9925 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
9926
9927 * coding.c (QCmnemonic, QCdefalut_char)
9928 (QCdecode_translation_table, QCencode_translation_table)
9929 (QCpost_read_conversion, QCpre_write_conversion): New variables.
9930 (get_translation_table): Return a list of translation tables if
9931 necessary.
9932 (decode_coding): Call get_translation_table with ENCODEP 0.
9933 (char_encodable_p): If translation_table is non-nil, always call
9934 translate_char.
9935 (Fdefine_coding_system_internal): Accept list of translation
9936 tables as :encode-translation-table and :decode-translation-table.
9937 (Fcoding_system_put): New function.
9938 (syms_of_coding): Declare new symbols. Defsubr
9939 Scoding_system_put.
9940 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
9941 typically JISX0212.
9942
9943 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
9944 when the charset is superset type.
9945
9946 * character.c (translate_char): Accept list of translation tables.
9947
99482008-02-01 Kenichi Handa <handa@m17n.org>
9949
9950 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
9951 (CODING_ATTR_TRANS_TBL): New macro.
9952
9953 * coding.c (get_translation_table): New function.
9954 (translate_chars): Fix the bug of skipping annotation data.
9955 (decode_coding, encode_coding): Utilize get_translation_table.
9956 (char_encodable_p, Funencodable_char_position): Translate char if
9957 necessary.
9958 (Ffind_coding_systems_region_internal)
9959 (Fcheck_coding_systems_region): Setup translation table for encode
9960 in a coding system attribute vector in advance.
9961 (Fdefine_coding_system_internal): Allow a symbol as translation
9962 table. For shift-jis type coding system, allow 4th charset.
9963
99642008-02-01 Kenichi Handa <handa@m17n.org>
9965
9966 * coding.c (decode_coding_sjis): Check the first byte rigidly.
9967
9968 * xdisp.c (get_next_display_element): Pass -1 as POS to
9969 FACE_FOR_CHAR if displaying a C-string.
9970
99712008-02-01 Kenichi Handa <handa@m17n.org>
9972
9973 * composite.c (get_composition_id): Handle xoff and yoff in a
9974 composition rule.
9975
9976 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
9977 (struct composition): New member lbearing and rbearing.
9978
9979 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
9980 (x_get_glyph_overhangs): Handle a composition glyph.
9981 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
9982
9983 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
9984 composition glyph.
9985
99862008-02-01 Kenichi Handa <handa@m17n.org>
9987
9988 * print.c: Include charset.h.
9989 (Vprint_charset_text_property): New variable.
9990 (Qdefault): Extern it.
9991 (PRINT_STRING_NON_CHARSET_FOUND)
9992 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
9993 (print_check_string_result): New variable.
9994 (print_check_string_charset_prop): New function.
9995 (print_prune_charset_plist): New variable.
9996 (print_prune_string_charset): New function.
9997 (print_object): Call print_prune_string_charset if
9998 Vprint_charset_text_property is not t.
9999 (print_interval): Print nothing if interval->plist is nil.
10000 (syms_of_print): Declare Vprint_charset_text_property as a lisp
10001 variable. Init and staticpro print_prune_charset_plist.
10002
100032008-02-01 Kenichi Handa <handa@m17n.org>
10004
10005 * fontset.c (new_fontset_from_font_name): Use the specified font
10006 for all characters in the new fontset.
10007
10008 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
10009 OBJECT args.
10010
10011 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
10012 OBJECT args for composition too.
10013
10014 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
10015 OBJECT args.
10016
100172008-02-01 Kenichi Handa <handa@m17n.org>
10018
10019 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
10020
10021 * fontset.c (reorder_font_vector): Adjust for the change of
10022 FONT_DEF format.
10023 (fontset_face): New arg id. Change caller.
10024 (face_for_char): New args pos and object.
10025 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
10026 (fs_query_fontset): Check NAME by Fassoc too.
10027 (Fset_fontset_font): Allow non-XLFD font name.
10028 (Ffontset_info): Adjust for the change of FONT_DEF format.
10029
10030 * fontset.h (face_for_char): Adjust prototype.
10031
10032 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
10033 (append_space, extend_face_to_end_of_line)
10034 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
10035 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
10036
10037 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
10038 POS and OBJECT args.
10039
10040 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
10041 POS and OBJECT args.
10042
100432008-02-01 Jason Rumney <jasonr@gnu.org>
10044
10045 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
10046 of GlobalAlloc'ed memory.
10047
100482008-02-01 Kenichi Handa <handa@m17n.org>
10049
10050 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
10051
10052 * charset.h (charset_table_used): Delete extern.
10053
10054 * charset.c (charset_table_used): Make it static.
10055 (map_charset_chars): Fix args to c_function with.
10056
10057 * chartab.c (map_sub_char_table_for_charset): Fix args to
10058 c_function with.
10059
10060 * coding.h (enum coding_result_code): Delete
10061 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
10062
10063 * coding.c (Qinsufficient_source, Qinconsistent_eol)
10064 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
10065 (Vlast_code_conversion_error): New variables.
10066 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
10067 (ONE_MORE_BYTE): Record error if any instead of signaling an
10068 error. If non-ASCII multibyte char is found, return the negative
10069 value of the code. All callers changed to check it.
10070 (ONE_MORE_BYTE_NO_CHECK): Likewise.
10071 (record_conversion_result): New function. Change all codes setting
10072 coding->result to call this function.
10073 (detect_coding_utf_8, decode_coding_utf_8)
10074 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
10075 Don't use the local variable incomplete.
10076 (emacs_mule_char): Change the second arg to `const'.
10077 (decode_coding): Fix of flushing out unprocessed data.
10078 (make_conversion_work_buffer): Fix making of a work buffer.
10079 (decode_coding_object): Return coding->dst_object.
10080
10081 * fontset.c (set_fontset_font): Fix args.
10082
10083 * lisp.h (CHARACTERBITS): Define as 22.
10084
10085 * process.c (send_process): Be sure to set coding->src_multibyte.
10086
10087 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
10088
100892008-02-01 Kenichi Handa <handa@m17n.org>
10090
10091 * xdisp.c (handle_auto_composed_prop): Give limit to
10092 Fnext_single_char_property_change.
10093
100942008-02-01 Kenichi Handa <handa@m17n.org>
10095
10096 * composite.c (syms_of_composite): Don't make the composition hash
10097 table weak.
10098
10099 * fontset.c (Fset_fontset_font): Fix docstring.
10100
10101 * lisp.h (detect_coding_system): Adjust prototype.
10102
10103 * fileio.c (kill_workbuf_unwind): Delete this function.
10104 (Finsert_file_contents): Adjust the call of detect_coding_system.
10105 Get conversion_buffer by code_conversion_save. Use the macro
10106 CODING_MAY_REQUIRE_DECODING. After decoding, update
10107 coding_system.
10108
10109 * coding.h (make_conversion_work_buffer): Delete extern.
10110 (code_conversion_save): Extern it.
10111
10112 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
10113 (CODING_GET_INFO): Delete argument eol_type. Change callers.
10114 (decode_coding_utf_8): Don't do eol converion.
10115 (detect_coding_utf_16): Check coding->src_chars, not
10116 coding->src_bytes. Add heuristics for those that have no signature.
10117 (decode_coding_emacs_mule, decode_coding_iso_2022)
10118 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
10119 Don't do eol converion.
10120 (adjust_coding_eol_type): Return a new coding system.
10121 (detect_coding): Don't detect eol. Fix for utf-16 detection.
10122 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
10123 each change.
10124 (decode_coding): Pay attention to undo_list. Do eol conversion for
10125 all types of coding-systems (if necessary).
10126 (Vcode_conversion_work_buf_list): Delete it.
10127 (Vcode_conversion_reused_workbuf): Rename from
10128 Vcode_conversion_reused_work_buf.
10129 (Vcode_conversion_workbuf_name): New variable.
10130 (reused_workbuf_in_use): New variable.
10131 (make_conversion_work_buffer): Delete the arg DEPTH.
10132 (code_conversion_restore): Change argument to cons.
10133 (code_conversion_save): Delete the argument BUFFER. Change callers.
10134 (detect_coding_system): New argument src_chars. Change callers.
10135 Fix for utf-16 detection.
10136 (init_coding_once): Don't use ISO_carriage_return.
10137 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
10138 reused_workbuf_in_use.
10139
101402008-02-01 Kenichi Handa <handa@m17n.org>
10141
10142 * keymap.c (store_in_keymap): Pay attention to the case that idx
10143 is a cons specifying a character range.
10144
101452008-02-01 Kenichi Handa <handa@m17n.org>
10146
10147 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
10148 HANDLED_RECOMPUTE_PROPS.
10149
10150 * coding.c (Fdefine_coding_system_internal): Fix checking of
10151 ascii compatibility.
10152
101532008-02-01 Kenichi Handa <handa@m17n.org>
10154
10155 * charset.c (find_charsets_in_text): Delete unused locale variable.
10156 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
10157
10158 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
10159 Resync charset_list to Vemacs_mule_charset_list.
10160
10161 * keymap.c (store_in_keymap): Pay attention to the case that idx
10162 is a cons specifying a character range.
10163
101642008-02-01 Kenichi Handa <handa@m17n.org>
10165
10166 * composite.c (update_compositions): Bind inhibit-read-only, etc
10167 to t before calling remove-list-of-text-properties.
10168
10169 * print.c (print_object): Always print ASCII chars as is.
10170
101712008-02-01 Kenichi Handa <handa@m17n.org>
10172
10173 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
10174
10175 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
10176 is a char table.
10177
101782008-02-01 Kenichi Handa <handa@m17n.org>
10179
10180 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
10181
101822008-02-01 Kenichi Handa <handa@m17n.org>
10183
10184 * xfaces.c (set_lface_from_font_name): Fix for the case that
10185 FONTNAME is not fontset name.
10186
101872008-02-01 Kenichi Handa <handa@m17n.org>
10188
10189 * fns.c (base64_encode_1): Fix previous change.
10190
101912008-02-01 Kenichi Handa <handa@m17n.org>
10192
10193 * fontset.c (set_fontset_font): New function.
10194 (Fset_fontset_font): If a font is specified for a charset, use
10195 map_charset_chars to store the font spec in a fontset.
10196
101972008-02-01 Kenichi Handa <handa@m17n.org>
10198
10199 * fontset.c (fontset_face): Create a fallback fontset on demand.
10200 (make_fontset): Don't create a fallback fontset here.
10201 (free_face_fontset): Free a fallback fontset (if any) too.
10202 (n_auto_fontsets): Delete this variable.
10203 (auto_fontset_alist): New variable.
10204 (new_fontset_from_font_name): Check auto_fontset_alist.
10205 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
10206 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
10207 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
10208 Defsubr Sfontset_list_all.
10209
102102008-02-01 Kenichi Handa <handa@m17n.org>
10211
10212 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
10213
102142008-02-01 Kenichi Handa <handa@m17n.org>
10215
10216 * fontset.c (Fnew_fontset): Check NAME more rigidly.
10217
102182008-02-01 Kenichi Handa <handa@m17n.org>
10219
10220 * editfns.c (Fgoto_char): Fix docstring.
10221
102222008-02-01 Kenichi Handa <handa@m17n.org>
10223
10224 * insdel.c (insert_from_gap): Adjust intervals correctly.
10225
102262008-02-01 Jason Rumney <jasonr@gnu.org>
10227
10228 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
10229 (pfnGetFontUnicodeRanges): New dynamically loaded function.
10230 (w32_initialize): Try to load it.
10231 (x_get_font_repertory): Use it if available.
10232 (w32_encode_char): Add shortcut for unicode output.
10233
10234 * w32fns.c (w32_load_system_font): Default charset to -1.
10235 (x_to_w32_charset): Match all fonts for unicode.
10236 (w32_to_x_charset): New parameter matching. Don't return partial
10237 or wildcard charsets.
10238 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
10239 (w32_codepage_for_font): Return CP_UNICODE for unicode.
10240 (w32_to_x_font): Match charset to real charset.
10241 (enum_font_cb2): Always list unicode versions.
10242
10243 * makefile.w32-in (temacs): Increase EMHEAP.
10244
102452008-02-01 Jason Rumney <jasonr@gnu.org>
10246
10247 * w32term.c (w32_encode_char): New charset parameter.
10248 font_info.encoding becomes encoding_type.
10249 (x_get_font_repertory): New function. Warning: stub only!
10250 (x_new_font): Return quickly if font already set.
10251 (x_new_fontset): fontsetname parameter is Lisp_Object.
10252 Use new fs_query_fontset. Try new_fontset_from_font_name.
10253 Use fontset_name for return value.
10254
10255 * w32term.h: Declare x_get_font_repertory.
10256
10257 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
10258 place of find_charset_in_text. Use encode_coding_object in place
10259 of encode_coding.
10260 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
10261 decode_coding.
10262
10263 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
10264 of x_new_fontset.
10265 (w32_load_system_font): Initialize charset as unicode.
10266 font_info.encoding becomes encoding_type.
10267 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
10268 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
10269 (syms_of_w32fns): Set get_font_repertory_func.
10270
10271 * w32console.c: Include character.h. Use terminal_encode_buffer
10272 from term.c.
10273 (write_glyphs): Use new version of encode_terminal_code. Use
10274 encode_coding_object in place of encode_coding.
10275
10276 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
10277 encoding becomes encoding_type.
10278
10279 * term.c (terminal_encode_buffer): Make externally visible.
10280
10281 * makefile.w32-in: Add character.h dependancies.
10282 (character.o, chartab.o): New targets.
10283
102842008-02-01 Kenichi Handa <handa@m17n.org>
10285
10286 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
10287 CODING_ID_EOL_TYPE.
10288
102892008-02-01 Andreas Schwab <schwab@suse.de>
10290
10291 * coding.c (produce_chars): Revert last change.
10292
102932008-02-01 Kenichi Handa <handa@m17n.org>
10294
10295 * charset.h (charset_unicode): Extern it.
10296
10297 * charset.c (string_xstring_p): Check by (C >= 0x100).
10298 (find_charsets_in_text): Change format of the arc CHARSETS. New
10299 arg MULTIBYTE.
10300 (Ffind_charset_region, Ffind_charset_string): Adjust for the
10301 change of find_charsets_in_text.
10302 (Fsplit_char): Fix doc. Never return unknown.
10303
10304 * chartab.c (char_table_translate): Use CHARACTERP, not INTEGERP.
10305
10306 * coding.c (Fdefine_coding_system_alias): Update
10307 Vcoding_system_list.
10308
10309 * fontset.c (load_font_get_repertory): Pay attention to the case
10310 that ENCODING of a font is specified by a char-table.
10311
10312 * xterm.c (x_get_font_repertory): Handle the case that the
10313 encoding of font is other than Unicode.
10314
103152008-02-01 Kenichi Handa <handa@m17n.org>
10316
10317 * term.c (encode_terminal_code): Don't handle glyph-table. Check
10318 if a character is encodable by the terminal coding system. If
10319 not, produces proper number of `?'s. Update
10320 terminal_encode_buffer and terminal_encode_buf_size if necessary.
10321 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
10322
103232008-02-01 Kenichi Handa <handa@m17n.org>
10324
10325 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
10326 variables.
10327 (encode_terminal_code): Change argument. Encode multiple
10328 characters at once. Store the result of encoding in
10329 terminal_encode_buffer.
10330 (write_glyphs, insert_glyphs): Adjust for the change of
10331 encode_terminal_code.
10332 (term_init): Initialize terminal_encode_buffer and
10333 terminal_encode_buf_size.
10334
10335 * coding.c (consume_chars): If coding->src_object is nil, don't
10336 check annotation.
10337
103382008-02-01 Kenichi Handa <handa@m17n.org>
10339
10340 * character.c (char_string): Use ASCII_CHAR_P instead of
10341 SINGLE_BYTE_CHAR_P.
10342
103432008-02-01 Kenichi Handa <handa@m17n.org>
10344
10345 * xdisp.c (handle_auto_composed_prop): Check if the last
10346 characters of auto-composed region is newly composed with the
10347 following characters.
10348 (handle_composition_prop): Fix checking of point being inside
10349 composition.
10350
103512008-02-01 Kenichi Handa <handa@m17n.org>
10352
10353 * fns.c (concat): Don't change multibyteness of the result by
10354 concatenating an 8-bit character.
10355
10356 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
10357 multibyteness of the result when newelt is an 8-bit character.
10358
103592008-02-01 Dave Love <fx@gnu.org>
10360
10361 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
10362 EMACS_INT.
10363
10364 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
10365
10366 * xfaces.c (face_numeric_value): Declare dim size_t.
10367 (Finternal_lisp_face_equal_p): Remove unused f.
10368
10369 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
10370 (MATRIX_ROW): Remove unused vars.
10371 (draw_glyphs, x_insert_glyphs, fast_find_position)
10372 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
10373 byte/char counts.
10374
10375 * regex.c (regex_compile): Remove unused var.
10376
10377 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
10378
10379 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
10380 (Faccessible_keymaps, where_is_internal): Remove unused vars.
10381
10382 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
10383
10384 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
10385
10386 * fileio.c (Fwrite_region): Remove unused var.
10387
10388 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
10389 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
10390
10391 * composite.c (Fremove_list_of_text_properties): Declare.
10392
10393 * coding.c (inhibit_pre_post_conversion): Remove (unused).
10394 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
10395 (coding_inherit_eol_type): Remove unused attrs.
10396 (detect_coding): Cast arg of detect_eol.
10397
10398 * charset.c (syms_of_charset): Remove unused var p.
10399 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
10400 byte/char counts.
10401
10402 * casetab.c (set_case_table): Remove unused var.
10403
10404 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
10405 unused vars.
10406
104072008-02-01 Dave Love <fx@gnu.org>
10408
10409 * xterm.c (x_bitmap_mask): Declare.
10410
104112008-02-01 Dave Love <fx@gnu.org>
10412
10413 * xterm.c (x_term_init): Fix type error.
10414
10415 * lisp.h: Add Funibyte_char_to_multibyte.
10416
10417 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
10418 (Fset_coding_system_priority): Doc fix.
10419
10420 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
10421
10422 * indent.c (check_composition): Make start and end EMACS_INT.
10423
10424 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
10425
10426 * xdisp.c (handle_composition_prop, check_point_in_composition):
10427 Make buffer positions EMACS_INT.
10428
10429 * composite.c (find_composition, run_composition_function)
10430 (update_compositions, Ffind_composition_internal): Make buffer
10431 positions EMACS_INT.
10432
10433 * composite.h (find_composition, update_compositions): Make
10434 position args EMACS_INT.
10435
10436 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
10437
10438 * intervals.c (get_property_and_range):
10439 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
10440
10441 * unexalpha.c: Don't include varargs.h.
10442
104432008-02-01 Dave Love <fx@gnu.org>
10444
10445 * coding.h (ENCODE_UTF_8): New.
10446
10447 * Makefile.in (gtkutil.o): Depend on coding.h.
10448
10449 * coding.c (Fset_coding_system_priority): Doc fix.
10450
104512008-02-01 Kenichi Handa <handa@m17n.org>
10452
10453 * fileio.c (Finsert_file_contents): Call setup_coding_system in
10454 the case of auto saving.
10455
104562008-02-01 Andreas Schwab <schwab@suse.de>
10457
10458 * chartab.c (map_char_table, map_char_table_for_charset): Protect
10459 `range' from GC.
10460
104612008-02-01 Kenichi Handa <handa@m17n.org>
10462
10463 * coding.c (decode_coding_sjis): Check bytes more rigidly.
10464
104652008-02-01 Kenichi Handa <handa@m17n.org>
10466
10467 * fileio.c (choose_write_coding_system): Return a decided coding system.
10468 (Fwrite_region): Set Vlast_coding_system_used to the return value
10469 of choose_write_coding_system.
10470
104712008-02-01 Kenichi Handa <handa@m17n.org>
10472
10473 * charset.c (Fset_charset_priority): Pay attention to duplicated
10474 arguments.
10475
10476 * coding.c (QCcategory): New variable.
10477 (syms_of_coding): Defsym it. Set all elements of
10478 Vcoding_category_table and their symbol values.
10479 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
10480 coding-category-XXX, and coding-category-list.
10481 (Fdefine_coding_system_internal): Add category in the plist.
10482
104832008-02-01 Kenichi Handa <handa@m17n.org>
10484
10485 * callproc.c (Fcall_process): Handle carryover correctly.
10486
10487 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
10488 (raw_text_coding_system): Check NILP (coding_system).
10489 (coding_inherit_eol_type): Check NILP (coding_system) and
10490 NILP (parent).
10491 (consume_chars): Fix for the case of raw-text.
10492
10493 * process.c (read_process_output): Handle carryover correctly.
10494
104952008-02-01 Dave Love <fx@gnu.org>
10496
10497 * regex.c (re_search_2): Fix last change.
10498
104992008-02-01 Kenichi Handa <handa@m17n.org>
10500
10501 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
10502 target_multibyte. Even in a unibyte case, return a converted
10503 multibyte char.
10504 (GET_CHAR_AFTER): New macro.
10505 (PATFETCH): Translate via multibyte char.
10506 (HANDLE_UNIBYTE_RANGE): Delete this macro.
10507 (SETUP_MULTIBYTE_RANGE): New macro.
10508 (regex_compile): Setup compiled code so that its multibyteness
10509 matches that of a target. Fix the handling of "[X-YZ]" using
10510 SETUP_MULTIBYTE_RANGE.
10511 (analyse_first) <charset>: For filling fastmap for all multibyte
10512 characters, don't check by BASE_LEADING_CODE_P.
10513 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
10514 the same as RE_MULTIBYTE_P (bufp) now.
10515 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
10516 (TARGET_CHAR_AND_LENGTH): Delete this macro.
10517 (TRANSLATE_VIA_MULTIBYTE): New macro.
10518 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
10519 It is the same as RE_MULTIBYTE_P (bufp) now.
10520 <exactn>: Translate via multibyte.
10521 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
10522 translate it.
10523 <charset, charset_not>: Fetch a character by
10524 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
10525 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
10526 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
10527 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
10528 by GET_CHAR_AFTER.
10529 (bcmp_translate): Likewise.
10530
10531 * search.c (compile_pattern): Check the member target_multibyte,
10532 not the member multibyte of buf.
10533
10534 * lread.c (read1): While reading a string, set force_singlebyte
10535 and force_multibyte correctly.
10536
10537 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
10538 up of unibyte_to_multibyte_table.
10539
105402008-02-01 Kenichi Handa <handa@m17n.org>
10541
10542 * coding.c (setup_coding_system): If coding has
10543 post-read-conversion or pre-write-conversion, set
10544 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
10545 respectively.
10546 (decode_coding_gap): Run post-read-conversion if any.
10547
10548 * fileio.c (Finsert_file_contents): Even if we read into a
10549 unibyte buffer, check if we must decode the result or not.
10550
105512008-02-01 Kenichi Handa <handa@m17n.org>
10552
10553 * coding.c (make_conversion_work_buffer): Change the work buffer
10554 name to the same one as that of Emacs 21.
10555
105562008-02-01 Kenichi Handa <handa@m17n.org>
10557
10558 * coding.h (make_conversion_work_buffer): Adjust prototype.
10559 (code_conversion_restore): Don't extern it.
10560
10561 * coding.c (detected_mask): Delete unused variable.
10562 (decode_coding_iso_2022): Pay attention to the byte sequence of
10563 CTEXT extended segment, and retain those bytes as is.
10564 (decode_coding_ccl): Delete unused variable `valids'.
10565 (setup_coding_system): Delete unused variable `category'.
10566 (consume_chars): Delete unused variable `category'. Make it work
10567 for non-multibyte case.
10568 (make_conversion_work_buffer): Change argument.
10569 (saved_coding): Delete unused variable.
10570 (code_conversion_restore): Don't check saved_coding->destination.
10571 (code_conversion_save): New function.
10572 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
10573 instead of record_unwind_protect.
10574 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
10575 (detect_coding_system): Delete unused variable `mask'.
10576 (Fdefine_coding_system_internal): Delete unused variable id.
10577
10578 * fileio.c (kill_workbuf_unwind): New function.
10579 (Finsert_file_contents): On replacing, call
10580 make_conversion_work_buffer with correct args, and call
10581 record_unwind_protect with the first arg kill_workbuf_unwind.
10582
10583 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
10584
105852008-02-01 Kenichi Handa <handa@m17n.org>
10586
10587 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
10588 (fontset_add): Fix for the case that TO is less than TO1.
10589 (Ffontset_info): Don't use fallback fontset on checking the
10590 default fontset.
10591 (dump_fontset): New function for debugging.
10592
10593 * coding.c (Fdefine_coding_system_internal): Fix for the case that
10594 coding_type is Qcharset.
10595
105962008-02-01 Kenichi Handa <handa@m17n.org>
10597
10598 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
10599 (map_char_table): Don't inherit the value from the parent on
10600 initializing VAL. Adjust for the above change.
10601
106022008-02-01 Kenichi Handa <handa@m17n.org>
10603
10604 * coding.c (Qsignature, Qendian): Delete these variables.
10605 (syms_of_coding): Don't initialize them.
10606 (CATEGORY_MASK_UTF_16_AUTO): New macro.
10607 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
10608 detect_info->found.
10609 (decode_coding_utf_16): Don't detect BOM here.
10610 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
10611 is NOT utf_16_without_bom.
10612 (setup_coding_system): For a coding system of type utf-16, check
10613 if the attribute :endian is Qbig or not (not nil or not), and set
10614 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
10615 (detect_coding): If coding type is utf-16 and BOM detection is
10616 required, detect it.
10617 (Fdefine_coding_system_internal): For a coding system of type
10618 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
10619
106202008-02-01 Kenichi Handa <handa@m17n.org>
10621
10622 * coding.c (coding_set_source): Fix for the case that the current
10623 buffer is different from coding->src_object.
10624 (decode_coding_object): Don't use the conversion work buffer if
10625 DST_OBJECT is a buffer.
10626
106272008-02-01 Dave Love <fx@gnu.org>
10628
10629 * lread.c (read_emacs_mule_char) [len==2]: Index
10630 emacs_mule_charset correctly.
10631
106322008-02-01 Dave Love <fx@gnu.org>
10633
10634 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
10635 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
10636 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
10637 treated specially.)
10638 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
10639 (detected_mask): Remove Big5 bits.
10640
106412008-02-01 Kenichi Handa <handa@m17n.org>
10642
10643 The following changes are to make the font rescaling facility
10644 compatible with Emacs 21.
10645
10646 * xfaces.c (Vface_font_rescale_alist): Rename from
10647 Vface_resizing_fonts.
10648 (struct font_name): Rename member resizing_ratio to rescale_ratio.
10649 (font_rescale_ratio): Rename from font_resizing_ratio.
10650 (split_font_name): Set font->rescale_ratio.
10651 (better_font_p): Pay attention to font->rescale_ratio.
10652 (build_scalable_font_name): Likewise. Change RESX, and RESY
10653 fields.
10654 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
10655
106562008-02-01 Kenichi Handa <handa@m17n.org>
10657
10658 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
10659 (Qutf_16_le): Remove these variables.
10660 (syms_of_coding): Don't DEFSYM them.
10661 (decode_coding_utf_16): Fix handling of BOM.
10662 (encode_coding_utf_16): Fix handling of BOM.
10663
106642008-02-01 Kenichi Handa <handa@m17n.org>
10665
10666 * fileio.c (Finsert_file_contents): On replacing, before decoding
10667 the file into the work buffer, set point of the work buffer to the end.
10668
106692008-02-01 Dave Love <fx@gnu.org>
10670
10671 * coding.c (Fcheck_coding_systems_region): Fix type errors.
10672
106732008-02-01 Dave Love <fx@gnu.org>
10674
10675 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
10676 and fix C types.
10677
106782008-02-01 Kenichi Handa <handa@m17n.org>
10679
10680 * xdisp.c (SKIP_GLYPHS): New macro.
10681 (set_cursor_from_row): Pay attention to string display properties.
10682
10683 * category.c (copy_category_entry): Fix for the case that RANGE
10684 is an integer.
10685
10686 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
10687
10688 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
10689
106902008-02-01 Kenichi Handa <handa@m17n.org>
10691
10692 * charset.c (Fcharset_id_internal): New function.
10693 (syms_of_charset): Defsubr it.
10694
10695 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
10696 with the last arg charset_list acquired from coding.
10697 (Fdefine_coding_system_internal): For ccl-based coding system, fix
10698 the attribute coding_attr_ccl_valids.
10699
10700 * coding.h (enum define_coding_ccl_arg_index): Set the first
10701 member coding_arg_ccl_decoder to coding_arg_max.
10702
10703 * ccl.h (ccl_driver): Adjust prototype.
10704
10705 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
10706 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
60612c8f 10707 of DECODE_CHAR, ENCODE_CHAR, CHAR_CHARSET.
aac0c6e3
MR
10708 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
10709 last arg Qnil.
10710
107112008-02-01 Kenichi Handa <handa@m17n.org>
10712
10713 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
10714 call encode_char.
10715
10716 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
10717
107182008-02-01 Dave Love <fx@gnu.org>
10719
10720 * composite.c (syms_of_composite): Make composition_hash_table weak.
10721
107222008-02-01 Kenichi Handa <handa@m17n.org>
10723
10724 * dispextern.h (check_face_attributes, generate_ascii_font_name)
10725 (font_name_registry): Don't extern them.
10726 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
10727
10728 * fontset.h (Qfontset): Don't extern it.
10729 (new_fontset_from_font_name): Extern it.
10730
10731 * fontset.c: Give 8 extra slots to fontset objects.
10732 (Qfontset_info): New variable.
10733 (syms_of_fontset): Defsym it.
10734 (FONTSET_FALLBACK): New macro.
10735 (fontset_face): Try also the default fontset.
10736 (make_fontset): Realize a fallback fontset from the default fontset.
10737 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
10738 using split_font_name_into_vector and build_font_name_from_vector.
10739 (Fset_fontset_font): Access the elements of font_spec by enum
10740 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
10741 name by using split_font_name_into_vector.
10742 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
10743 generate a proper font name from the fontset name. Update
10744 Vfontset_alias_alist.
10745 (n_auto_fontsets): New variable.
10746 (new_fontset_from_font_name): New function.
10747 (Ffont_info): Store the information about fonts generated from the
10748 default fontset in the first extra slot of the returned char-table.
10749
10750 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
10751 (font_name_registry): Delete function.
10752 (split_font_name_into_vector): New function.
10753 (build_font_name_from_vector): New function.
10754 (font_list): The argument REGISTRY is now a list of registry names.
10755 (choose_face_font): If we are choosing an ASCII font, and ATTRS
10756 specifies an explicit font name, return the name as is. Make a
10757 list of registy names.
10758
10759 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
10760 of x_new_fontset.
10761 (Fx_create_frame): Don't call x_new_fontset here. Just use
10762 x_list_fonts to check the existence of fonts.
10763
10764 * xterm.h (x_new_fontset): Adjust prototype.
10765
10766 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
10767 string. Use new_fontset_from_font_name to create a fontset from a
10768 font name.
10769
107702008-02-01 Kenichi Handa <handa@m17n.org>
10771
10772 * syntax.c (Vfind_word_boundary_function_table): New name for
10773 Vnext_word_boundary_function_table.
10774 (find-word-boundary-function-table): New name for
10775 next-word-boundary-function-table.
10776
107772008-02-01 Dave Love <fx@gnu.org>
10778
10779 * Makefile.in: Fix some dependencies.
10780
10781 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
10782 set it to nil before returning.
10783
10784 * composite.c (update_compositions): Fix type error.
10785
10786 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
10787
107882008-02-01 Kenichi Handa <handa@m17n.org>
10789
10790 * xterm.c (x_new_font): Optimize for the case that the font is
10791 already set for the frame.
10792
107932008-02-01 Kenichi Handa <handa@m17n.org>
10794
10795 * chartab.c (char_table_ascii): Check if the char table contents
10796 is sub-char-table or not.
10797 (char_table_set, char_table_set_range): Fix argument to
10798 char_table_ascii.
10799
10800 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
10801 (detect_coding_utf_8, detect_coding_utf_16)
10802 (detect_coding_emacs_mule, detect_coding_iso_2022)
10803 (detect_coding_sjis, detect_coding_big5)
10804 (detect_coding_ccl, detect_coding_charset): Change argument MASK
10805 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
10806 sequence is valid in this coding system. Change callers.
10807 (MAX_ANNOTATION_LENGTH): New macro.
10808 (ADD_ANNOTATION_DATA): New macro.
10809 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
10810 ADD_ANNOTATION_DATA. Change the format of annotation data.
10811 (ADD_CHARSET_DATA): New macro.
10812 (emacs_mule_char): New argument ID. Change callers.
10813 (decode_coding_emacs_mule, decode_coding_iso_2022)
10814 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
10815 Produce charset annotation data in coding->charbuf.
10816 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
10817 to charset annotation data in coding->charbuf.
10818 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
10819 coding->common_flags if the coding system is iso-2022 based and
10820 uses designation.
10821 (produce_composition): Adjust for the new annotation data format.
10822 (produce_charset): New function.
10823 (produce_annotation): Handle charset annotation.
10824 (handle_composition_annotation, handle_charset_annotation): New
10825 functions.
10826 (consume_chars): Handle charset annotation. Utilize the above two
10827 functions.
10828 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
10829 buffer, get the deleted text as a string and set
10830 coding->src_object to that string.
10831 (detect_coding, detect_coding_system): Use the new struct
10832 coding_detection_info.
10833
10834 * coding.h (struct coding_detection_info): New structure.
10835 (struct coding_system): Adjust prototype of the member `detector'.
10836 (CODING_ANNOTATE_CHARSET_MASK): New macro.
10837
108382008-02-01 Kenichi Handa <handa@m17n.org>
10839
10840 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
10841
108422008-02-01 Dave Love <fx@gnu.org>
10843
10844 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
10845 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
10846 to new local and nullify apropos_accumulate before returning.
10847 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
10848
108492008-02-01 Kenichi Handa <handa@m17n.org>
10850
10851 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
10852 correctly.
10853
108542008-02-01 Dave Love <fx@gnu.org>
10855
10856 * fns.c (Flanginfo): Call synchronize_system_time_locale.
10857
108582008-02-01 Kenichi Handa <handa@m17n.org>
10859
10860 The following changes are to make character composition happen
10861 automatically on displaying.
10862
10863 * Makefile.in (lisp, shortlisp): Add composite.elc.
10864
10865 * composite.h (Qauto_composed, Vauto_composition_function)
10866 (Qauto_composition_function): Extern them.
10867
10868 * composite.c (Vcomposition_function_table)
10869 (Qcomposition_function_table): Delete variables.
10870 (Qauto_composed, Vauto_composition_function)
10871 (Qauto_composition_function): New variables.
10872 (run_composition_function): Don't call
10873 compose-chars-after-function.
10874 (update_compositions): Clear `auto-composed' text property.
10875 (compose_chars_in_text): Delete this function.
10876 (syms_of_composite): Staticpro Qauto_composed and
10877 Qauto_composition_function. Declare Vauto_composition_function as
10878 a Lisp variable.
10879
10880 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
10881
10882 * xdisp.c (it_props): Add an entry for Qauto_composed.
10883 (handle_auto_composed_prop): New function.
10884
10885 * xselect.c (selection_data_to_lisp_data): Don't call
10886 compose_chars_in_text.
10887
108882008-02-01 Dave Love <fx@gnu.org>
10889
10890 * keyboard.c (read_char): Modify checking around use of
10891 Vkeyboard_translate_table.
10892
10893 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
10894 and fix C types.
10895
108962008-02-01 Kenichi Handa <handa@m17n.org>
10897
10898 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
10899 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
10900 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
10901 the case that the last byte is '\r' correctly.
10902 (decode_coding): Flush out the unprocessed data correctly.
10903 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
10904
109052008-02-01 Dave Love <fx@gnu.org>
10906
10907 * xterm.c (XTread_socket): Fix changes for defined keysyms.
10908 Add XK_ISO... case.
10909 (xaw_scroll_callback): Revert last change.
10910
109112008-02-01 Kenichi Handa <handa@m17n.org>
10912
10913 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
10914
109152008-02-01 Kenichi Handa <handa@m17n.org>
10916
10917 * xfaces.c (Vface_resizing_fonts): New variable.
10918 (struct font_name): New member `resizing_ratio'.
10919 (font_resizing_ratio): New function.
10920 (split_font_name): Set font->resizing_ratio.
10921 (better_font_p): Pay attention to font->resizing_ratio.
10922 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
10923 RESX, and RESY fields.
10924 (try_alternative_families): Try scalable fonts if
10925 Vscalable_fonts_allowed is not Qt.
10926 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
10927
109282008-02-01 Dave Love <fx@gnu.org>
10929
10930 * xterm.c (xaw_scroll_callback): Cast correctly.
10931
109322008-02-01 Dave Love <fx@gnu.org>
10933
10934 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
10935 (lispy_kana_keys): Comment out.
10936 (make_lispy_event) [XK_kana_A]: Comment out.
10937
10938 * xterm.c (xaw_scroll_callback): Cast call_data.
10939 (XTread_socket): Deal with ASCII keysyms.
10940 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
10941
109422008-02-01 Dave Love <fx@gnu.org>
10943
10944 * xterm.c (Vx_keysym_table): New.
10945 (syms_of_xterm): Initialize it.
10946 (XTread_socket): Use it.
10947 From head: Eliminate incorrect optimization that tried to avoid
10948 decoding the output of X*LookupString.
10949 (x_get_font_repertory): Delete charset declaration.
10950
109512008-02-01 Kenichi Handa <handa@m17n.org>
10952
10953 * coding.c (detect_coding_charset): If only ASCII bytes are found,
10954 return 0.
10955 (Fdefine_coding_system_internal): Setup
10956 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
10957
109582008-02-01 Dave Love <fx@gnu.org>
10959
10960 * coding.c (Fcheck_coding_system): Doc fix.
10961
10962 * editfns.c (Finsert_byte): Return a proper value.
10963
109642008-02-01 Kenichi Handa <handa@m17n.org>
10965
10966 * coding.c (decode_coding): Fix args to translate_chars. Pay
10967 attention to Vstandard_translation_table_for_decode.
10968 (encode_coding): Fix args to translate_chars. Pay attention to
10969 Vstandard_translation_table_for_encode.
10970
10971 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
10972 SINGLE_BYTE_CHAR_P.
10973
10974 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
10975 not by SINGLE_BYTE_CHAR_P.
10976
10977 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
10978 SINGLE_BYTE_CHAR_P.
10979
10980 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
10981 SINGLE_BYTE_CHAR_P.
10982
10983 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
10984 by SINGLE_BYTE_CHAR_P.
10985
10986 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
10987 SINGLE_BYTE_CHAR_P.
10988
109892008-02-01 Dave Love <fx@gnu.org>
10990
10991 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
10992
109932008-02-01 Dave Love <fx@gnu.org>
10994
10995 * fns.c (Flanginfo): Fix typo.
10996
10997 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
10998
109992008-02-01 Kenichi Handa <handa@m17n.org>
11000
11001 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
11002 (detect_coding_emacs_mule, detect_coding_iso_2022)
11003 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
11004 incomplete byte sequence. Don't update *mask when correctly detected.
11005 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
11006 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
11007 (detect_coding, detect_coding_system): Adjust for the changes above.
11008
110092008-02-01 Kenichi Handa <handa@m17n.org>
11010
11011 * character.c (char_string): Rename from
11012 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
11013 (string_char): Rename from string_char.
11014
11015 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
11016 if C is greater than MAX_3_BYTE_CHAR.
11017 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
11018 string_char instead of string_char_with_unification.
11019
110202008-02-01 Dave Love <fx@gnu.org>
11021
11022 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
11023
110242008-02-01 Kenichi Handa <handa@m17n.org>
11025
11026 * keymap.c (push_key_description): Pay attention to force_multibyte.
11027
11028 * regex.c (re_search_2): Fix for the case of unibyte buffer.
11029
110302008-02-01 Dave Love <fx@gnu.org>
11031
11032 * charset.c (define_charset_internal): Rename `supprementary'.
11033
11034 * Makefile.in (lisp, shortlisp): Remove latin-N.
11035
110362008-02-01 Dave Love <fx@gnu.org>
11037
11038 * xfns.c (x_window, x_window): Use use_xim.
11039
11040 * xterm.c (use_xim): Initialize.
11041 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
11042 (x_term_init): Maybe set use_xim.
11043
11044 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
11045
110462008-02-01 Kenichi Handa <handa@m17n.org>
11047
11048 * search.c (search_buffer): Fix case-fold-search of multibyte
11049 characters.
11050 (boyer_moore): Rename the last argument to char_high_bits.
11051
110522008-02-01 Kenichi Handa <handa@m17n.org>
11053
11054 * xdisp.c (display_string): Fix for the case of zero width glyph.
11055
11056 * xfns.c (x_set_font): Change the error message of the case that
11057 x_new_fontset returns Qt.
11058
11059 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
11060 (Finternal_set_lisp_face_attribute): Use signal_error for the
11061 error of invalid fontset.
11062
11063 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
11064 fontset, return Qt.
11065
110662008-02-01 Dave Love <fx@gnu.org>
11067
11068 * unexelf.c (unexec): Make .got handling not SGI-specific.
11069
11070 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
11071
11072 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
11073
11074 * keyboard.c (read_key_sequence): Fix type error.
11075
11076 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
11077 type error.
11078
11079 * fontset.c (fontset_add): Return Lisp_Object.
11080
110812008-02-01 Dave Love <fx@gnu.org>
11082
11083 * charset.h (charset_ordered_list_tick): Declare extern.
11084
110852008-02-01 Kenichi Handa <handa@m17n.org>
11086
11087 The following changes (and some of 2008-02-01 changes of mine) are
11088 for handling syntax, category, and case conversion for unibyte
11089 characters by converting them to multibyte on the fly. With these
11090 changes, we don't have to setup syntax and case tables for unibyte
11091 characters in each language environment.
11092
11093 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
11094 multibyte if necessary.
11095
11096 * bytecode.c (Fbyte_code): Likewise.
11097
11098 * character.h (LEADING_CODE_LATIN_1_MIN)
11099 (LEADING_CODE_LATIN_1_MAX): New macros.
11100 (unibyte_to_multibyte_table): Extern it.
11101 (unibyte_char_to_multibyte): New macro.
11102 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
11103 (CHAR_LEADING_CODE): New macro.
11104 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
11105
11106 * character.c (unibyte_to_multibyte_table): New variable.
11107 (unibyte_char_to_multibyte): Move to character.h and define as macro.
11108 (multibyte_char_to_unibyte): If C is an eight-bit character,
11109 convert it to the corresponding byte value.
11110
11111 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
11112 not 1, signals an error. Update the elements of
11113 unibyte_to_multibyte_table.
11114 (init_charset_once): Initialize unibyte_to_multibyte_table.
11115 (syms_of_charset): Define the charset `iso-8859-1'.
11116
11117 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
11118 as is without converting it to unibyte. In a unibyte buffer,
11119 convert C to multibyte before checking the syntax.
11120
11121 * lisp.h (unibyte_char_to_multibyte): Delete extern.
11122
11123 * minibuf.c (Fminibuffer_complete_word): Use the macro
11124 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
11125
11126 * regex.h (struct re_pattern_buffer): New member target_multibyte.
11127
11128 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
11129 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
11130 that is zero, convert an eight-bit char to multibyte.
11131 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
11132 non-emacs case.
11133 (PATFETCH): Convert an eight-bit char to multibyte.
11134 (HANDLE_UNIBYTE_RANGE): New macro.
11135 (regex_compile): Setup the compiled pattern for multibyte chars
11136 even if the given regex string is unibyte. Use PATFETCH_RAW
11137 instead of PATFETCH in many places. To handle `charset'
11138 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
11139 only for ASCII chars.
11140 (analyse_first) <exactn>: Simplify because the compiled pattern
11141 is multibyte.
11142 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
11143 <charset>: Use CHAR_LEADING_CODE to get leading codes.
11144 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
11145 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
11146 multibyte always 1.
11147 (re_search_2): In emacs, set the locale variable multibyte to 1,
11148 otherwise to 0. New local variable target_multibyte. Check it
11149 to decide the multibyteness of STR1 and STR2. If
11150 target_multibyte is zero, convert unibyte chars to multibyte
11151 before translating and checking fastmap.
11152 (TARGET_CHAR_AND_LENGTH): New macro.
11153 (re_match_2_internal): In emacs, set the locale variable multibyte
11154 to 1, otherwise to 0. New local variable target_multibyte. Check
11155 it to decide the multibyteness of STR1 and STR2. Use
11156 TARGET_CHAR_AND_LENGTH to fetch a character from D.
11157 <charset, charset_not>: If multibyte is nonzero, check fastmap
11158 only for ASCII chars. Call bcmp_translate with
11159 target_multibyte, not with multibyte.
11160 <begline>: Declare the local variable C as `unsigned'.
11161 (bcmp_translate): Change the last arg name to target_multibyte.
11162
11163 * search.c (compile_pattern_1): Don't adjust the multibyteness of
11164 the regexp pattern and the matching target. Set cp->buf.multibyte
11165 to the multibyteness of the regexp pattern. Set
11166 cp->but.target_multibyte to the multibyteness of the matching target.
11167 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
11168 FETCH_STRING_CHAR_ADVANCE.
11169 (Freplace_match): Convert unibyte chars to multibyte.
11170
11171 * syntax.c (char_quoted, back_comment, scan_words)
11172 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
11173 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
11174 unibyte chars to multibyte.
11175 (skip_chars): Delete the arg syntaxp, and move the code for
11176 handling syntaxes to skip_syntaxes. Change callers.
11177 Fix the case that the multibyteness of STRING and the current
11178 buffer doesn't match.
11179 (skip_syntaxes): New function.
11180 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
11181 SINGLE_BYTE_CHAR_P.
11182
111832008-02-01 Kenichi Handa <handa@m17n.org>
11184
11185 * xfaces.c (QCfontset): New variable.
11186 (LFACE_FONTSET): New macro.
11187 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
11188 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
11189 (Finternal_set_lisp_face_attribute)
11190 (Finternal_get_lisp_face_attribute): Handle QCfontset.
11191 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
11192 check also LFACE_FONTSET_INDEX.
11193 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
11194 attrs[LFACE_FONT_INDEX].
11195 (syms_of_xfaces): Intern and staticpro QCfontset.
11196
11197 * dispextern.h (enum lface_attribute_index): New member
11198 LFACE_FONTSET_INDEX.
11199
11200 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
11201
112022008-02-01 Kenichi Handa <handa@m17n.org>
11203
11204 * coding.c (coding_set_destination): Fix coding->destination for
11205 the case converting a region.
11206 (encode_coding_utf_8): Encode eight-bit chars as single byte.
11207 (encode_coding_object): Fix coding->dst_pos and
11208 coding->dst_pos_byte for the case converting a region.
11209
11210 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
11211
11212 * character.h (BYTE8_STRING): New macro.
11213
11214 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
11215
112162008-02-01 Kenichi Handa <handa@m17n.org>
11217
11218 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
11219 characters by octal form.
11220
11221 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
11222
11223 * buffer.h (_fetch_multibyte_char_len): Delete extern.
11224 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
11225 _fetch_multibyte_char_len.
11226 (FETCH_CHAR_AS_MULTIBYTE): New macro.
11227
11228 * casetab.c (set_canon, set_identity, shuffle): Simplify.
11229
11230 * casefiddle.c (casify_object): Simplify. Handle the case that
11231 the case conversion change the byte length.
11232 (casify_region): Likewise.
11233
11234 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
11235
11236 * character.c (_fetch_multibyte_char_len): Delete this variable.
11237 (syms_of_character): Setup Vprintable_chars.
11238
11239 * editfns.c (Fchar_equal): Fix for the unibyte case.
11240 (Finsert_byte): New function.
11241 (syms_of_editfns): Defsubr it.
11242
11243 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
11244 of direct code 0x3ffff.
11245
11246 * search.c (Freplace_match): Fix for the unibyte case.
11247
112482008-02-01 Kenichi Handa <handa@m17n.org>
11249
11250 * lread.c (safe_to_load_p): Fix the logic.
11251
11252 * syntax.c (scan_words): Don't treat characters belonging to
11253 different scripts as constituting a word.
11254
11255 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
11256
11257 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
11258
11259 * emacs.c (main): In the case of --unibyte, instead of aborting on
11260 finding non-empty buffer, make it unibyte.
11261
112622008-02-01 Kenichi Handa <handa@m17n.org>
11263
11264 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
11265 to create a fontset.
11266
112672008-02-01 Dave Love <fx@gnu.org>
11268
11269 * character.c (Funibyte_char_to_multibyte): Doc fix.
11270
11271 * xfns.c [HAVE_STDLIB_H]: Fix last change.
11272
112732008-02-01 Kenichi Handa <handa@m17n.org>
11274
11275 * fontset.c (fontset_add): Make the type `int'.
11276 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
11277
11278 * character.c (unibyte_char_to_multibyte)
11279 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
11280 charset_unibyte, not charset_primary.
11281
11282 * charset.h (charset_unibyte): Extern it instead of charset_primary.
11283
11284 * charset.c (charset_unibyte): Rename from charset_primary.
11285 (Funibyte_charset): Rename from Fprimary_charset.
11286 (Fset_unibyte_charset): Rename from Fset_primary_charset.
11287 (syms_of_charset): Adjust for the above changes.
11288
11289 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
11290 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
11291 it->multibyte_p is zero.
11292
11293 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
11294 Delete extern.
11295
112962008-02-01 Kenichi Handa <handa@m17n.org>
11297
11298 * coding.c (Fdefine_coding_system_internal): Fix category setting
11299 for a coding system of type iso-2022.
11300
113012008-02-01 Kenichi Handa <handa@m17n.org>
11302
11303 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
11304
113052008-02-01 Kenichi Handa <handa@m17n.org>
11306
11307 * syntax.c (Vnext_word_boundary_function_table): New variable.
11308 (next-word-boundary-function-table): Declare it as a Lisp variable
11309 in syms_of_syntax.
11310 (scan_words): Call functions in Vnext_word_boundary_function_table
11311 if any.
11312
11313 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
11314
11315 * fontset.c (fs_load_font): If fontp->charset is not negative,
11316 return fontp without setting its members.
11317
113182008-02-01 Dave Love <fx@gnu.org>
11319
11320 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
11321
11322 * m/sparc.h (HAVE_ALLOCA): Delete.
11323
11324 * s/irix6-5.h: Don't include strings.h.
11325 (bcopy, bzero, bcmp): Don't undef.
11326
11327 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
11328
11329 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
11330 (TIOCSIGSEND): Don't test IRIX6.
11331 (bcopy, bzero, bcmp): Define conditionally.
11332
113332008-02-01 Kenichi Handa <handa@m17n.org>
11334
11335 * buffer.c (Qas, Qmake, Qto): New variables.
11336 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
11337 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
11338
11339 * callproc.c (Fcall_process): Don't call insert_1_both directly if
11340 we are inserting a process output into a multibyte buffer.
11341
11342 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
11343 multibyte_char_to_unibyte.
11344
11345 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
11346 by the primary charset, make it eight-bit char.
11347 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
11348
11349 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
11350 (charset_8_bit__control, charset_8_bit_graphic)
11351 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
11352 (define_charset_internal): New function.
11353 (syms_of_charset): Call define_charset_internal for pre-defined
11354 charsets.
11355
11356 * charset.h (charset_8_bit): Extern it.
11357
11358 * coding.c (make_conversion_work_buffer): Adjust for the change
11359 of Fset_buffer_multibyte.
11360 (encode_coding_raw_text): Increment p0 in the loop.
11361
11362 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
11363
11364 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
11365 for the change of Fset_buffer_multibyte.
11366
11367 * fns.c (Fstring_to_multibyte): New function.
11368 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
11369
113702008-02-01 Dave Love <fx@gnu.org>
11371
11372 * xfns.c (x_put_x_image): Declare args.
11373
11374 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
11375 (try_font_list): Declare an arg.
11376
11377 * xdisp.c (message2_nolog, set_message): Declare an arg.
11378
11379 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
11380
11381 * syntax.c (scan_sexps_forward): Declare an arg.
11382
11383 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
11384 Declare an arg.
11385
11386 * lisp.h (Fnew_fontset): Declare.
11387
11388 * keymap.c (push_key_description): Call CHARACTERP correctly.
11389
11390 * fontset.c (fontset_add): Declare args. Call make_number correctly.
11391 (face_for_char): Delete unused vars.
11392 (Fset_fontset_font): Doc fix. Delete unused vars.
11393
11394 * doc.c (Fsubstitute_command_keys): Delete unused vars.
11395
11396 * composite.c (update_compositions): Declare arg.
11397
11398 * cm.c (calccost, cmgoto): Declare args.
11399
11400 * charset.c: Remove `emacs' conditional. Doc fixes.
11401 (map_char_table_for_charset): Declare.
11402
11403 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
11404
11405 * ccl.c: Remove `emacs' conditional.
11406
114072008-02-01 Kenichi Handa <handa@m17n.org>
11408
11409 The following changes are to allow specifying multiple font
11410 patterns for a character range (specified by script or charset).
11411
11412 * Makefile.in (abbrev.o): Depend on syntax.h.
11413 (xfaces.o): Depend on charset.h.
11414
11415 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
11416 SINGLE_BYTE_CHAR_P.
11417
11418 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
11419
11420 * character.h (Vchar_script_table): Extern it.
11421
11422 * character.c (Vscript_alist): Delete.
11423 (Vchar_script_table, Qchar_script_table): New variable.
11424 (syms_of_character): Declare Vchar_script_table as a lisp variable
11425 and initialize it.
11426
11427 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
11428 have property char-table-extra-slots, make no extra slot.
11429
11430 * dispextern.h (struct face): Delete member `charset'.
11431 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
11432 SINGLE_BYTE_CHAR_P.
11433 (choose_face_font, lookup_non_ascii_face, font_name_registry):
11434 Add prototypes.
11435 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
11436 (generate_ascii_font_name): Rename from generate_ascii_font.
11437
11438 * fontset.h (get_font_repertory_func): New prototype.
11439 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
11440 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
11441
11442 * fontset.c (Qprepend, Qappend): New variables.
11443 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
11444 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
11445 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
11446 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
11447 (fontset_ref_and_range, fontset_add, reorder_font_vector)
11448 (load_font_get_repertory): New functions.
11449 (fontset_set): Delete.
11450 (fontset_face): New arg FACE. Return face ID, not face.
11451 Complete re-write to handle new fontset structure. Change caller.
11452 (free_face_fontset): Use ASET istead of AREF (X) = Y.
11453 (face_for_char): Don't call lookup_face.
11454 (make_fontset_for_ascii_face): New arg FACE.
11455 (fs_load_font): New arg CHARSET_ID. Don't check
11456 Vfont_encoding_alist here.
11457 (find_font_encoding): New function.
11458 (list_fontsets): Use STRINGP, not ! NILP.
11459 (accumulate_script_ranges): New function.
11460 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
11461 re-written to handle new fontset structure.
11462 (Ffontset_font): Return a copy of element.
11463 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
11464 docstring of font-encoding-alist.
11465
11466 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
11467 (Fset_fotset_font): Fix arguments to 5.
11468
11469 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
11470
11471 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
11472 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
11473 (highlight_trailing_whitespace): Adjust for the change of
11474 lookup_named_face.
11475
11476 * xfaces.c: Include charset.h.
11477 (load_face_font): Delete argument C. Change caller.
11478 (generate_ascii_font_name): Rename from generate_ascii_font.
11479 (font_name_registry): New function.
11480 (cache_face): Store ascii faces before non-ascii faces in buckets.
11481 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
11482 Lookup only ascii faces.
11483 (lookup_non_ascii_face): New function.
11484 (lookup_named_face): Delete argument C. Change caller.
11485 (lookup_derived_face): Delete argument C. Change caller.
11486 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
11487 a string, just call font_list with it.
11488 (choose_face_font): Delete arguments FACE and C. New arg
11489 FONT_SPEC. Change caller.
11490 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
11491 Change caller.
11492 (realize_non_ascii_face): New function.
11493 (realize_x_face): Call load_face_font here.
11494 (realize_tty_face): Delete argument C. Change caller.
11495 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
11496 get a face ID.
11497 (dump_realized_face): Don't print charset of FACE.
11498
11499 * xfns.c (x_set_font): Always call x_new_fontset and
11500 store_frame_parameter.
11501 (Fx_create_frame): Call x_new_fontset, not x_new_font.
11502 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
11503
11504 * xterm.h (x_get_font_repertory): Extern it.
11505
11506 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
11507 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
11508 it->multibyte_p is zero.
11509 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
11510 (x_new_fontset): If FONTSETNAME doesn't match any existing
11511 fontsets, create a new one.
11512 (x_get_font_repertory): New function.
11513
115142008-02-01 Kenichi Handa <handa@m17n.org>
11515
11516 * coding.c (Ffind_coding_systems_region_internal): Detect an
11517 ASCII only string correctly.
11518
11519 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
11520 version is 0.
11521
115222008-02-01 Kenichi Handa <handa@m17n.org>
11523
11524 * lread.c: Include "coding.h".
11525 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
11526 (load_each_byte, unread_char): New variables.
11527 (readchar_backlog): Delete.
11528 (readchar): Return a character unless load_each_byte is nonzero.
11529 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
11530 cons. If unread_char is not -1, simply return it.
11531 (unreadchar): Handle the case that readcharfun is
11532 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
11533 (read_multibyte): Delete.
11534 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
11535 (read_emacs_mule_char): New functions.
11536 (Fload): Even if the file doesn't have the extension ".elc", if
11537 safe_to_load_p returns a positive version number, assume that the
11538 file contains bytecompiled code. If the version is less than 22,
11539 load the file while decoding multibyte sequences by emacs-mule.
11540 (readevalloop): Don't use readchar_backlog.
11541 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
11542 (Fread_from_string): Pay attention to the case that STREAM is a cons.
11543 (read_escape): Delete the arg BYTEREP.
11544 (read1): Set load_each_byte to 1 temporarily while handling
11545 #@NUMBER. Don't call read_multibyte.
11546 (read_vector): Call Fread with a cons. If readcharfun is
11547 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
11548 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
11549 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
11550 and Qload_force_doc_strings.
11551
115522008-02-01 Kenichi Handa <handa@m17n.org>
11553
11554 * xdisp.c (face_before_or_after_it_pos): Call
11555 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
11556
115572008-02-01 Kenichi Handa <handa@m17n.org>
11558
11559 * character.h (TRAILING_CODE_P): New macro.
11560 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
11561 (string_char_with_unification): Fix prototype.
11562 (Vscript_alist): Extern it.
11563
11564 * character.c (Vscript_alist): New variable.
11565 (string_char_with_unification, str_as_unibyte)
11566 (string_escape_byte8): Add `const' to local variables.
11567 (syms_of_character): Declare script-alist as a Lisp variable.
11568
11569 * charset.h (Vcharset_ordered_list): Extern it.
11570 (charset_ordered_list_tick): Extern it.
11571 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
11572 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
11573 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
11574 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
11575 (Funify_charset): Adjust for the change of Funify_charset.
11576
11577 * charset.c (charset_ordered_list_tick): New variable.
11578 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
11579 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
11580 deunify intead of unify a charset.
11581 (string_xstring_p): Add `const' to local variables.
11582 (find_charsets_in_text): Add `const' to arguments and local variables.
11583 (encode_char): Adjust for the change of Funify_charset. Fix
11584 detecting of invalid code.
11585 (Fset_charset_priority): Increment charset_ordered_list_tick.
11586 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
11587 and TO_CODE.
11588
11589 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
11590 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
11591 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
11592 (decode_coding_ccl, consume_chars)
11593 (Ffind_coding_systems_region_internal)
11594 (Fcheck_coding_systems_region): Add `const' to local variables.
11595
11596 * print.c (print_object): Use octal form for printing the
11597 contents of a bool vector.
11598
115992008-02-01 Dave Love <fx@gnu.org>
11600
11601 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
11602 <version == 20>: Refuse to load.
11603
116042008-02-01 Dave Love <fx@gnu.org>
11605
11606 * fns.c: Move coding.h.
11607 (Qcodeset, Qdays, Qmonths): New.
11608 (concat): Use CHARACTERP instead of INTEGERP.
11609 (Flocale_codeset): Delete.
11610 (Flanginfo): New function.
11611 (syms_of_fns): Change accordingly.
11612
11613 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
11614
116152008-02-01 Dave Love <fx@gnu.org>
11616
11617 * casetab.c (init_casetab_once, init_casetab_once): Fix
11618 CHAR_TABLE_SET call.
11619
11620 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
11621
11622 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
11623
11624 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
11625 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
11626 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
11627
11628 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
11629
11630 * coding.c (ENCODE_DESIGNATION, decode_eol)
11631 (make_conversion_work_buffer, code_conversion_restore)
11632 (Fdefine_coding_system_internal): Convert Lisp types.
11633 (code_conversion_restore): Use EQ, not ==.
11634 (Fencode_coding_string): Fix code_convert_string call.
11635
11636 * coding.h (code_convert_region): Fix prototype.
11637
11638 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
11639
11640 * fontset.c (fontset_ref, fontset_set, fs_load_font)
11641 (Ffontset_info): Convert Lisp types.
11642
11643 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
11644
11645 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
11646
11647 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
11648
11649 * chartab.c: Include "...h", not <...h> in some cases.
11650
11651 * callproc.c (Fcall_process): Remove unused variables.
11652
116532008-02-01 Dave Love <fx@gnu.org>
11654
11655 * coding.c (Fset_coding_system_priority): Allow null arg list.
11656
116572008-02-01 Dave Love <fx@gnu.org>
11658
11659 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
11660 (Fself_insert_and_exit): Use CHARACTERP.
11661
11662 * callproc.c (Fcall_process): Remove unused vars.
11663
11664 * xterm.c (XTread_socket): Add extra dead keysyms.
11665
11666 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
11667
11668 * dispextern.h: Remove prototypes for redraw_frame,
11669 redraw_garbaged_frames.
11670
11671 * cmds.c (Fself_insert_command): Use CHARACTERP.
11672
11673 * chartab.c (make_sub_char_table): Remove unused var.
11674 (Fset_char_table_default, Fmap_char_table): Doc fix.
11675
11676 * keymap.c (access_keymap): Remove generic char code.
11677 (push_key_description): Use CHARACTERP.
11678
116792008-02-01 Dave Love <fx@gnu.org>
11680
11681 * charset.c: Doc fixes.
11682 (Funify_charset): Extra checking.
11683
116842008-02-01 Dave Love <fx@gnu.org>
11685
11686 * lread.c: Remove some unused variables.
11687 (safe_to_load_p): If safe, return the magic number version byte.
11688 (Fload): Maybe use load-with-code-conversion.
11689
116902008-02-01 Kenichi Handa <handa@m17n.org>
11691
11692 * category.c (Fmodify_category_entry): Don't modify the contents
11693 of category_set for characters out of the range. Avoid
11694 unnecessary modification.
11695
11696 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
11697 Vchar_unify_table. The default value of the table is now nil.
11698
11699 * character.c (syms_of_character): Setup Vchar_width_table for
11700 eight-bit-control and raw-byte chars.
11701
11702 * charset.h (enum define_charset_arg_index): Delete
11703 charset_arg_parents and add charset_arg_subset and
11704 charset_arg_superset.
11705 (enum charset_attr_index): Delete charset_parents and add
11706 charset_subset and charset_superset.
11707 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
11708 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
11709 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
11710 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
11711 (CHARSET_SUPERSET): New macros.
11712 (charset_work): Extern it.
11713 (ENCODE_CHAR): Use charset_work.
11714 (CHAR_CHARSET_P): Adjust for the change of encoder format.
11715 (map_charset_chars): Extern it.
11716
11717 * charset.c (load_charset_map): Set the default value of encoder
11718 and deunifier char-tables to nil.
11719 (map_charset_chars): Change argument. Change callers. Use
11720 map_char_table_for_charset instead of map_char_table.
11721 (Fmap_charset_chars): New optional args from_code and to_code.
11722 (Fdefine_charset_internal): Adjust for the change of
11723 `define-charset' (:parents -> :subset or :superset).
11724 (charset_work): New variable.
11725 (encode_char, syms_of_charset): Adjust for the change of
11726 Fdefine_charset_internal.
11727 (Ffind_charset_string): Setup the vector `charsets' correctly.
11728
11729 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
11730 the previous change.
11731 (char_table_ref_and_range): Adjust for the above change.
11732 (map_sub_char_table_for_charset): New function.
11733 (map_char_table_for_charset): New function.
11734
11735 * keymap.c (describe_vector): Handle a char-table directly here.
11736 (describe_char_table): Delete.
11737
11738 * lisp.h (map_charset_chars): Delete.
11739
117402008-02-01 Dave Love <fx@gnu.org>
11741
11742 * fns.c (count_combining): Comment out (unused).
11743 (Flocale_codeset): New.
11744 (syms_of_fns): Defsubr it.
11745
11746 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
11747 (size_t): Remove.
11748
117492008-02-01 Dave Love <fx@gnu.org>
11750
11751 * Makefile.in (chartab.o): Depend on charset.h.
11752
117532008-02-01 Kenichi Handa <handa@m17n.org>
11754
11755 * character.c (syms_of_character): Set the default value of
11756 Vprintable_chars to Qnil.
11757
117582008-02-01 Dave Love <fx@gnu.org>
11759
11760 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
11761
117622008-02-01 Kenichi Handa <handa@m17n.org>
11763
11764 * charset.c (load_charset_map): Handle the case that from < to
11765 correctly.
11766
11767 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
11768 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
11769 Pay attention to raw-8-bit chars.
11770
117712008-02-01 Kenichi Handa <handa@m17n.org>
11772
11773 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
11774 It is not bytecompiled now.
11775
11776 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
11777 (charset_jisx0208): New variables.
11778 (Fdefine_charset_internal): Setup them if appropriate.
11779 (init_charset_once): Initialize them to -1.
11780
11781 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
11782 (charset_jisx0208): Extern them.
11783
11784 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
11785 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
11786 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
11787 (setup_iso_safe_charsets): Fix arguments to Fassq.
11788 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
11789 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
11790 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
11791 (encode_coding_iso_2022): Change the 1st arg to
11792 ENCODE_ISO_CHARACTER to a variable.
11793
117942008-02-01 Kenichi Handa <handa@m17n.org>
11795
11796 * charset.h (enum define_charset_arg_index): New enums
11797 charset_arg_min_code and charset_arg_max_code.
11798 (struct charset): New member char_index_offset.
11799
11800 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
11801 Take charset->char_index_offset into account.
11802 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
11803 args[charset_arg_max_code]. Setup charset.char_index_offset.
11804 (syms_of_charset): Fix args to Fdefine_charset_internal.
11805
118062008-02-01 Dave Love <fx@gnu.org>
11807
11808 * coding.c (decode_coding_utf_8): Reject overlong sequences.
11809
118102008-02-01 Dave Love <fx@gnu.org>
11811
11812 * coding.c: Doc fixes.
11813 (Fcoding_system_aliases): Fix return value.
11814 (Qmac): Remove (duplicated) definition.
11815
118162008-02-01 Dave Love <fx@gnu.org>
11817
11818 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
11819 functions.
11820
11821 * character.c (Fstring): Doc fix.
11822
11823 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
11824
11825 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
11826 ids.
11827 (font-encoding-alist): Doc fix.
11828
118292008-02-01 Dave Love <fx@gnu.org>
11830
11831 * term.c (costs_set): Declare static, non-initialized for pcc.
11832 (encode_terminal_code): Remove unused var.
11833
11834 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
11835 for K&R.
11836
11837 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
11838
11839 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
11840 (suffixes): Move out of make_subsidiaries for K&R.
11841
11842 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
11843
11844 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
11845
118462008-02-01 Dave Love <fx@gnu.org>
11847
11848 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
11849
11850 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
11851
118522008-02-01 Yong Lu <lyongu@asia-infonet.com>
11853
11854 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
11855
11856 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
11857
118582008-02-01 Kenichi Handa <handa@m17n.org>
11859
11860 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
11861 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
11862
118632008-02-01 Kenichi Handa <handa@m17n.org>
11864
11865 * coding.c (decode_coding_charset): Adjust for the change of
11866 Fdefine_coding_system_internal.
11867 (Fdefine_coding_system_internal): For a coding system of
11868 `charset' type, store a list of charset IDs in
11869 `charset_attr_charset_valids' element of coding attributes.
11870
118712008-02-01 Kenichi Handa <handa@m17n.org>
11872
11873 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
11874 (emacs_mule_char): New arg src. Delete arg `composition'. Change
11875 caller. Handle 2-byte and 3-byte charsets correctly.
11876 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
11877 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
11878 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
11879 (DECODE_EMACS_MULE_21_COMPOSITION): Call
11880 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
11881 sequence.
11882 (decode_coding_emacs_mule): Handle composition correctly. Rewind
11883 `src' and `consumed_chars' correctly before calling emacs_mule_char.
11884 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
11885 and alt&rule composition.
11886 (decode_coding_iso_2022): Handle composition correctly.
11887 (init_coding_once): Setup emacs_mule_bytes for private charsets.
11888
11889 * charset.c (Fdefine_charset_internal): Fix bug for the case of
11890 re-defining a charset. If the charset has :emacs-mule-id, setup
11891 emacs_mule_bytes.
11892 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
11893
118942008-02-01 Kenichi Handa <handa@m17n.org>
11895
11896 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
11897 (encode_coding_big5, encode_coding_charset): If coding requires safe
11898 encoding, produce a character specified by
11899 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
11900
119012008-02-01 Dave Love <fx@gnu.org>
11902
11903 * xterm.c (XSetIMValues): Declare.
11904
11905 * process.c: Conditionally include sys/wait.h, pty.h.
11906
11907 * print.c (print_object): Fix print format for 64-bit systems.
11908
11909 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
11910
11911 * buffer.c (emacs_strerror): Declare.
11912
11913 * fontset.c (Fclear_face_cache): Declare.
11914 (accumulate_font_info): Comment-out (unused).
11915 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
11916 variables.
11917
11918 * character.h (string_escape_byte8): Declare.
11919
11920 * charset.c (load_charset_map, load_charset_map_from_file): Remove
11921 unused vars.
11922 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
11923 (Fmap_charset_chars): Doc fix.
11924
11925 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
11926 (Fset_coding_system_priority, Fset_coding_system_priority)
11927 (Fdefine_coding_system_internal): Doc fix.
11928
119292008-02-01 Dave Love <fx@gnu.org>
11930
11931 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
11932
119332008-02-01 Kenichi Handa <handa@m17n.org>
11934
11935 * character.c (string_escape_byte8): Make multibyte string with
11936 correct size.
11937
11938 * charset.c (Fmake_char): Delete unnecessary code.
11939
119402008-02-01 Kenichi Handa <handa@m17n.org>
11941
11942 * xfns.c (x_encode_text): Allocate coding.destination here, and
11943 call encode_coding_object with dst_object Qnil.
11944
11945 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
11946 multibyte form correctly.
11947
11948 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
11949 against Vfont_encoding_alist.
11950
11951 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
11952 handling of charset list.
11953 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
11954 (decode_coding_object): Move point to coding->dst_pos before
11955 calling post-read-conversion function.
11956 (encode_coding_object): Give correct arguments to
11957 pre-write-conversion. Ignore the return value of
11958 pre-write-conversion function. Pay attention to the case that
11959 pre-write-conversion changes the current buffer. If dst_object is
11960 Qt, even if coding->src_bytes is zero, allocate at least one byte
11961 to coding->destination.
11962
11963 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
11964
11965 * charset.c (Fmake_char): Make it more backward compatible.
11966 (Fmap_charset_chars): Fix docstring.
11967
119682008-02-01 Dave Love <fx@gnu.org>
11969
11970 * coding.c: Doc fixes.
11971 (Fdefine_coding_system_alias): Use names, not symbols, in
11972 coding-system-alist.
11973
119742008-02-01 Kenichi Handa <handa@m17n.org>
11975
11976 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
11977 of calling free_realized_face.
11978
119792008-02-01 Yong Lu <lyongu@asia-infonet.com>
11980
11981 * charset.c (read_hex): Don't treat SPC as a comment starter.
11982 (decode_char): If CODE_POINT_TO_INDEX returns -1, always return -1.
11983 (Fdecode_char): Fix typo.
11984
119852008-02-01 Kenichi Handa <handa@m17n.org>
11986
11987 * charset.h (struct charset): New member `code_space_mask'.
11988
11989 * coding.c (coding_set_source): Delete the local variable beg_byte.
11990 (encode_coding_charset, Fdefine_coding_system_internal):
11991 Delete the local variable charset.
11992 (Fdefine_coding_system_internal): Setup
11993 attrs[coding_attr_charset_valids] correctly.
11994
11995 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
11996 member to check if CODE is valid or not.
11997 (Fdefine_charset_internal): Initialize `code_space_mask' member.
11998 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
11999 is within the range of charset->min_code and carset->max_code.
12000
120012008-02-01 Dave Love <fx@gnu.org>
12002
12003 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
12004
12005 * dispextern.h (generate_ascii_font): Fix return type.
12006
12007 * xfaces.c (generate_ascii_font): Fix arg declaration.
12008
12009 * coding.c (coding_inherit_eol_type)
12010 (Fset_terminal_coding_system_internal)
12011 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
12012
120132008-02-01 Kenichi Handa <handa@m17n.org>
12014
12015 * coding.c (decode_coding_charset, encode_coding_charset): Handle
12016 multiple charsets correctly.
12017
120182008-02-01 Kenichi Handa <handa@m17n.org>
12019
12020 * search.c (boyer_moore): Fix handling of multibyte character
12021 translation.
12022
12023 * xdisp.c (display_mode_element): When the variable `elt' is
12024 changed, update `this' and `lisp_string'.
12025
120262008-02-01 Kenichi Handa <handa@m17n.org>
12027
12028 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
12029
12030 * callproc.c (Fcall_process): Be sure to give the current buffer
12031 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
12032
12033 * charset.c (struct charset_map_entries): New struct.
12034 (load_charset_map): Rename from parse_charset_map. New args
12035 entries and n_entries. Change caller.
12036 (load_charset_map_from_file): Rename from load_charset_map.
12037 Change caller. New arg control_flag. Call load_charset_map at
12038 the tail.
12039 (load_charset_map_from_vector): New function.
12040 (Fdefine_charset_internal): Setup charset.compact_codes_p.
12041 (encode_char): If the charset is compact, change a character index
12042 to a code point.
12043
12044 * coding.c (coding_alloc_by_making_gap): Check the case that the
12045 source and destination are the same correctly.
12046 (decode_coding_raw_text): Set coding->consumed_char and
12047 coding->consumed to 0.
12048 (produce_chars): If coding->chars_at_source is nonzero, update
12049 coding->consumed_char and coding->consumed before calling
12050 alloc_destination.
12051 (Fdefine_coding_system_alias): Register ALIAS in
12052 Vcoding_system_alist.
12053 (syms_of_coding): Define `no-conversion' coding system at the tail.
12054
12055 * fileio.c (Finsert_file_contents): Set coding_system instead of
12056 val. If the current buffer is multibyte, always call
12057 decode_coding_gap.
12058
12059 * xfaces.c (try_font_list): Give higher priority to fontset's
12060 family than face's family.
12061
120622008-02-01 Kenichi Handa <handa@m17n.org>
12063
12064 * callproc.c (Fcall_process): Be sure to give the current buffer
12065 to decode_coding_c_string.
12066
12067 * xfaces.c (try_font_list): Give a family specified in a fontset
12068 higher priority than a family specified in a face.
12069
120702008-02-01 Kenichi Handa <handa@m17n.org>
12071
12072 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
12073 Fix arguments to insert_from_buffer.
12074
12075 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
12076
120772008-02-01 Kenichi Handa <handa@m17n.org>
12078
12079 * coding.c (produce_chars): Set the variable `multibytep' correctly.
12080 (decode_coding_gap): Set coding->dst_multibyte correctly.
12081
120822008-02-01 Kenichi Handa <handa@m17n.org>
12083
12084 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
12085 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
12086 (encode_coding_utf_16): Substitute coding->default_char for
12087 non-Unicode characters.
12088 (decode_coding): Don't call record_insert here.
12089 (setup_coding_system): Initialize `surrogate' of
12090 coding->spec.utf_16 to 0.
12091 (EMIT_ONE_BYTE): Fix for multibyte case.
12092
12093 * insdel.c (insert_from_gap): Call record_insert.
12094
120952008-02-01 Kenichi Handa <handa@m17n.org>
12096
12097 * casefiddle.c (casify_region): Fix multibyte case.
12098
12099 * character.c (c_string_width): Add return type `int'.
12100 (char_string_with_unification): Delete arg ADVANCED.
12101
12102 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
12103 (CHAR_STRING): Adjust for the change of char_string_with_unification.
12104 (CHAR_STRING_ADVANCE): Make it do-while statement.
12105
12106 * chartab.c (sub_char_table_set_range): Optimize for the case
12107 DEPTH == 3. Add workaround code for a GCC optimization bug.
12108
12109 * charset.c (parse_charset_map): Remove an unused variable.
12110
12111 * coding.c: Delete unused variables.
12112
12113 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
12114 earlier. If inserted is zero and the coding system doesn't
12115 require flushing, don't call decode_coding_gap.
12116
12117 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
12118
121192008-02-01 Kenichi Handa <handa@m17n.org>
12120
12121 The following changes are for using Unicode as an internal
12122 character model, and use UTF-8 format for buffer/string
12123 representation.
12124
12125 * .gdbinit (xchartable): Adjust for the change of char table structure.
12126 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
12127
12128 * Makefile.in (obj): Add character.o and chartab.o.
12129 (lisp, shortlisp): Remove utf-8.elc.
12130 (*.o): For many files, change dependency on charset.h to
12131 character.h, and add dependency on character.h.
12132 (character.o, chartab.o): New targets.
12133
12134 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
12135 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
12136 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
12137 of "charset.h".
12138
12139 * dired.c, filelock.c: Include "character.h".
12140
12141 * alloc.c: Include "character.h" instead of "charset.h".
12142 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
12143 (syms_of_alloc): Remove defsubr for Smake_char_table.
12144
12145 * buffer.c: Include "character.h" instead of "charset.h", don't
12146 include "coding.h".
12147 (Fset_buffer_multibyte): Adjust for UTF-8.
12148
12149 * buffer.h: EXFUN Fbuffer_live_p.
12150
12151 * callproc.c: Include "character.h" instead of "charset.h".
12152 (Fcall_process): Big change for the new code-conversion APIs.
12153
12154 * casetab.c: Include "character.h" instead of "charset.h".
12155 (set_canon, set_identity, shuffle): Adjust for the new
12156 map_char_table spec.
12157 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
12158 accessing the char table structure.
12159
12160 * chartab.c: New file that implements char table.
12161
12162 * category.c: Include "character.h".
12163 (copy_category_entry): New function.
12164 (copy_category_table): Call map_char_table and copy_category_entry.
12165 (Fmake_category_table): Initialize all top-level slots.
12166 (char_category_set): New function.
12167 (modify_lower_category_set): Delete.
12168 (Fmodify_category_entry): Call char_table_ref_and_range.
12169
12170 * category.h (CATEGORY_SET): Just call char_category_set.
12171
12172 * ccl.c: Include "character.h".
12173 (Qccl, Qcclp): New variables.
12174 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
12175 it's less than 256.
12176 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
12177 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
12178 and DST type.
12179 (ccl_driver): Change types of argument, adjust code accordingly.
12180 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
12181 ccl_driver.
12182 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
12183
12184 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
12185 New members src_multibyte, dst_multibyte, consumed, and produced.
12186 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
12187 (CODING_SPEC_CCL_PROGRAM): New macro.
12188 (ccl_driver): Update prototype.
12189 (Qccl, Qcclp, Fccl_program_p): Extern them.
12190 (CHECK_CCL_PROGRAM): New macro.
12191
12192 * character.c, character.h, chartab.c: New files.
12193
12194 * charset.c: Mostly re-written. Move character and multibyte sequence
12195 handling codes to character.c.
12196
12197 * charset.h: Mostly re-written. Move character and multibyte sequence
12198 handling codes to character.h.
12199
12200 * coding.c, coding.h: Mostly re-written.
12201
12202 * composite.c: Include "character.h" instead of "charset.h".
12203 (CHAR_WIDTH): Move to character.h.
12204 (HASH_KEY, HASH_VALUE): Delete.
12205
12206 * composite.h (enum composition_method): Change order of enumeration
12207 symbols.
12208
12209 * data.c: Include "character.h" instead of "charset.h".
12210 (Faref): Call CHAR_TABLE_REF for a char table.
12211 (Faset): Call CHAR_TABLE_SET for a char table.
12212
12213 * dispextern.h (free_realized_face, check_face_attribytes)
12214 (generate_ascii_font): Extern them.
12215 (free_realized_multibyte_face): Delete extern.
12216
12217 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
12218 table structure.
12219
12220 * editfns.c: Include "character.h" instead of "charset.h".
12221 (Fchar_to_string): Always call CHAR_STRING.
12222
12223 * emacs.c (main): Call init_charset_once, init_charset,
12224 syms_of_chartab, and syms_of_character.
12225
12226 * fileio.c: Include "character.h" instead of "charset.h".
12227 (Finsert_file_contents): Big change for the new code-conversion API.
12228 (choose_write_coding_system, Fwrite_region): Likewise.
12229 (build_annotations_2): Delete.
12230 (e_write): Big change for the new code-conversion API.
12231
12232 * fns.c: Include "character.h" instead of "charset.h".
12233 (copy_sub_char_table): Move to chartab.c.
12234 (Fcopy_sequence): Call copy_char_table for a char table.
12235 (concat): Delete codes calling count_multibyte.
12236 (string_char_to_byte, string_byte_to_char): Adjust for the new
12237 multibyte form.
12238 (internal_equal): Adjust for the change of char table structure.
12239 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
12240 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
12241 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
12242 (char_table_translate, optimize_sub_char_table)
12243 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
12244 chartab.c.
12245 (char_table_ref_and_index): Delete.
12246 (HASH_KEY, HASH_VALUE): Move to lisp.h.
12247 (Fmd5): Call preferred_coding_system instead of accessing
12248 Vcoding_category_list. Adjust for the new code-conversion API.
12249 (syms_of_fns): Move defsubr for char table related functions to
12250 chartab.c.
12251
12252 * fontset.c: Mostly re-written.
12253
12254 * fontset.h (struct font_info): Change type of the member encoding_type.
12255 (enum FONT_SPEC_INDEX): New enum.
12256 (fontset_font_pattern, fs_load_font): Update prototype.
12257 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
12258
12259 * indent.c: Include "character.h" instead of "charset.h".
12260 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
12261
12262 * insdel.c: Include "character.h" instead of "charset.h".
12263 (copy_text): Don't refer to Vnonascii_translation_table.
12264 (insert_from_gap): New function.
12265
12266 * keyboard.c: Include "character.h" instead of "charset.h".
12267 (command_loop_1): Never call direct_output_forward_char before
12268 a non-ASCII character.
12269 (read_char): If Vkeyboard_translate_table is a char table, always
12270 translate a character.
12271
12272 * keymap.c: Include "character.h".
12273 (store_in_keymap): Handle the case that IDX is a cons.
12274 (Fdefine_key): Handle the case that KEY is a cons and the car part
12275 is also a cons (range).
12276 (push_key_description): Adjust for the new character code.
12277 (describe_vector): Call describe_char_table for a char table.
12278 (describe_char_table): New function.
12279
12280 * keymap.h (describe_char_table): Extern it.
12281
12282 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
12283 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
12284 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
12285 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
12286 Delete.
12287 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
12288 structure.
12289 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
12290 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
12291 (CHARTAB_SIZE_BITS_3): New macros.
12292 (chartab_size): Extern it.
12293 (struct Lisp_Char_Table): Re-design.
12294 (struct Lisp_Sub_Char_Table): New structure.
12295 (HASH_KEY, HASH_VALUE): Move from fns.c.
12296 (CHARACTERBITS): Define as 22.
12297 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
12298 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
12299 (GC_SUB_CHAR_TABLE_P): New macro.
12300 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
12301 (code_convert_string_norecord): Deleted extern.
12302 (init_character_once, syms_of_character, init_charset)
12303 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
12304
12305 * lread.c: Include "character.h".
12306 (read_multibyte): New arg NBYTES.
12307 (read_escape): Change the meaning of returned *BYTEREP.
12308 (to_multibyte): Delete.
12309 (read1): Adjust the handling of char table and string.
12310
12311 * print.c: Include "character.h" instead of "charset.h".
12312 (print_string): Convert 8-bit raw bytes to octal form by
12313 string_escape_byte8.
12314 (print_object): Adjust for the new multibyte form. Print 8-bit
12315 raw bytes always in octal form. Handle sub char table correctly.
12316
12317 * process.c: Include "character.h" instead of "charset.h".
12318 (read_process_output, send_process): Adjust for the new
12319 code-conversion API.
12320
12321 * puresize.h (BASE_PURESIZE): Increase.
12322
12323 * regex.c: Include "character.h" instead of "charset.h".
12324 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
12325 (regex_compile): Accept a range whose starting and ending
12326 character have different leading bytes.
12327 (analyse_first): Adjust for the above change.
12328
12329 * search.c: Include "character.h" instead of "charset.h".
12330 (search_buffer, boyer_moore): Adjust for the new multibyte form.
12331 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
12332
12333 * syntax.c: Include "character.h" instead of "charset.h".
12334 (syntax_parent_lookup): Delete.
12335 (Fmodify_syntax_entry): Accept a cons as CHAR.
12336 (skip_chars): Adjust for the new multibyte form.
12337 (init_syntax_once): Call char_table_set_range instead of directly
12338 accessing the structure of a char table.
12339
12340 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
12341 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
12342 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
12343 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
12344
12345 * term.c: Include "buffer.h" and "character.h".
12346 (encode_terminal_code, write_glyphs): Adjust for the new
12347 code-conversion API.
12348 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
12349
12350 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
12351
12352 * xdisp.c: Include "character.h".
12353 (get_next_display_element): Adjust for the new multibyte form.
12354 (disp_char_vector): Adjust for the new char table structure.
12355 (decode_mode_spec_coding): Adjust for the new structure of
12356 coding system.
12357 (decode_mode_spec): Adjust for the new code-conversion API.
12358
12359 * xfaces.c: Include "character.h" instead of "charset.h".
12360 (load_face_font): Adjust for the change of choose_face_font and
12361 FS_LOAD_FONT.
12362 (generate_ascii_font): New function.
12363 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
12364 (set_font_frame_param): Adjust for the change of choose_face_font.
12365 (free_realized_face): Make it public.
12366 (free_realized_faces_for_fontset): Rename from
12367 free_realized_multibyte_face. Free also faces realized for ASCII.
12368 (choose_face_font): Change arguments. Adjust for the change of
12369 fontset_font_pattern and FS_LOAD_FONT.
12370
12371 * xfns.c: Include "character.h".
12372 (x_encode_text): Adjust for the new code-conversion API.
12373
12374 * xselect.c: Don't include "charset.h".
12375 (selection_data_to_lisp_data): Adjust for the new code conversion API.
12376
12377 * xterm.c: Include "character.h".
12378 (x_encode_char): New argument CHARSET. Change caller.
12379 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
12380 Call ENCODE_CHAR instead of SPLIT_CHAR.
12381 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
12382 CHAR_WIDTH instead of CHARSET_WIDTH.
12383 (XTread_socket): Adjust for the new code-conversion API.
12384 (x_new_font): Adjust for the change of FS_LOAD_FONT.
12385 (x_load_font): Adjust for the change of struct font.
12386
123872008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
12388
12389 * xfaces.c (face_at_buffer_position): Remove unused vars.
12390
123912008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12392
12393 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
12394 Fix overflow checking.
12395
123962008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12397
12398 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
12399 Cancel previous change.
12400
124012008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
12402
12403 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
12404 ccl->eight_bit_control. Fix check for buffer overflow.
12405 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
12406 (ccl_driver): Initialize extra_bytes to 0.
12407
124082008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
12409
12410 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
12411 return it ORed with ctrl_modifier.
12412
124132008-01-29 Miles Bader <miles@gnu.org>
12414
12415 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
12416
124172008-01-28 Jason Rumney <jasonr@gnu.org>
12418
12419 * w32.c (stat): Don't double check for networked drive.
12420
124212008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
12422
12423 * window.c (run_window_configuration_change_hook): New function.
12424 Code extracted from set_window_buffer. Set the selected frame.
12425 (set_window_buffer): Use it.
12426 * window.h (run_window_configuration_change_hook): Declare.
12427 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
12428
12429 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
12430
124312008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
12432
12433 * Makefile.in: Remove references to unused macros.
12434
124352008-01-26 Eli Zaretskii <eliz@gnu.org>
12436
12437 * w32.c (g_b_init_get_sid_sub_authority)
12438 (g_b_init_get_sid_sub_authority_count): New static variables.
12439 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
12440 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
12441 (init_user_info): Use them to retrieve uid and gid.
12442 Use 500/513, the Windows defaults, as Administrator's uid/gid.
12443 (fstat): Use pw_uid and pw_gid from the_passwd structure for
12444 st_uid and st_gid of the file.
12445
124462008-01-26 Jason Rumney <jasonr@gnu.org>
12447
12448 * w32.c (logon_network_drive): New function.
12449 (stat): Use it.
12450
124512008-01-26 Chong Yidong <cyd@stupidchicken.com>
12452
12453 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
12454 invisible text covered with an ellipsis.
12455
124562008-01-25 Richard Stallman <rms@gnu.org>
12457
12458 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
12459 jump back to beginning. Move some other initializations after that.
12460 (Qwindow_text_change_functions, Vwindow_text_change_functions):
12461 New variables.
12462 (syms_of_xdisp): Init them.
12463
12464 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
12465
12466 * buffer.c (reset_buffer_local_variables):
12467 Implement `permanent-local-hook'.
12468 (Qpermanent_local_hook): New variable.
12469 (syms_of_buffer): Init and staticpro it.
12470
124712008-01-25 Michael Albinus <michael.albinus@gmx.de>
12472
12473 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
12474
124752008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
12476
12477 * fns.c (Fclrhash): Return TABLE.
12478
124792008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12480
12481 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
12482 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
12483 is set even without positional changes.
12484 (x_scroll_bar_clear): Set bar->redraw_needed_p.
12485
12486 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
12487
124882008-01-23 Jason Rumney <jasonr@gnu.org>
12489
12490 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
12491
12492 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
12493 the unicode range available in MULE by locale-coding-system.
12494 Improve dbcs lead byte detection. Set event timestamp and modifiers
12495 earlier.
12496
124972008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12498
12499 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
12500 [MAC_OSX] (init_mac_osx_environment): Initialize it.
12501 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
12502 when used on child processes.
12503
125042008-01-21 Michael Albinus <michael.albinus@gmx.de>
12505
12506 * dbusbind.c (Fdbus_method_return_internal): Rename from
12507 Fdbus_method_return.
12508 (Fdbus_unregister_object): Move to dbus.el.
12509 (Fdbus_call_method, Fdbus_method_return_internal)
12510 (Fdbus_send_signal): Improve debug messages.
12511
125122008-01-20 Martin Rudalics <rudalics@gmx.at>
12513
12514 * undo.c (undo_inhibit_record_point): New variable.
12515 (syms_of_undo): Initialize it.
12516 (record_point): Don't record point when undo_inhibit_record_point
12517 is set.
12518
125192008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
12520
12521 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
12522
12523 * xdisp.c (Qauto_hscroll_mode): New var.
12524 (syms_of_xdisp): Initialize it.
12525 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
12526 window's buffer.
12527 (hscroll_windows): Don't check automatic_hscrolling_p here.
12528
12529 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
12530 vscroll if we're setting window-buffer to the value it already has.
12531
125322008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
12533
12534 * m/intel386.h: Remove references to XENIX.
12535
125362008-01-17 Andreas Schwab <schwab@suse.de>
12537
12538 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
12539 instead of HAVE_X86_64_LIB64_DIR.
12540 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
12541
125422008-01-17 Glenn Morris <rgm@gnu.org>
12543
12544 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
12545 to HAVE_X86_64_LIB64_DIR.
12546
125472008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
12548
12549 * s/irix3-3.h:
12550 * s/irix4-0.h:
12551 * s/386-ix.h:
12552 * s/domain.h:
12553 * s/hpux9-x11r4.h:
12554 * s/hpux9shxr4.h: Remove files for systems no longer supported.
12555
12556 * sysdep.c: Remove code containing references to symbols defined
12557 by unsupported systems.
12558
125592008-01-16 Glenn Morris <rgm@gnu.org>
12560
12561 * coding.c (select-safe-coding-system-function): Doc fix.
12562
125632008-01-15 Glenn Morris <rgm@gnu.org>
12564
12565 * config.in: Revert 2008-01-13 change: this is a generated file.
12566
125672008-01-13 Tom Tromey <tromey@redhat.com>
12568
12569 * lisp.h: Fix typo.
12570
125712008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
12572
12573 * m/sequent-ptx.h:
12574 * m/sequent.h:
12575 * s/ptx.h:
12576 * s/ptx4-2.h:
12577 * s/ptx4.h: Remove files for systems no longer supported.
12578
12579 * callproc.c (Fcall_process): Fix previous change.
12580
125812008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
12582
12583 * unexsunos4.c: Remove file, system not supported anymore.
12584
12585 * m/mips.h:
12586 * m/intel386.h:
12587 * callproc.c:
12588 * config.in:
12589 * ecrt0.c:
12590 * emacs.c:
12591 * fileio.c:
12592 * frame.c:
12593 * getpagesize.h:
12594 * keyboard.c:
12595 * lread.c:
12596 * process.c:
12597 * puresize.h:
12598 * sysdep.c:
12599 * systty.h:
12600 * syswait.h:
12601 * unexec.c:
12602 * xdisp.c:
12603 * alloc.c: Remove code containing references to symbols defined by
12604 unsupported systems.
12605
126062008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
12607
12608 * coding.c (detect_coding_mask): Fix previous change.
12609
126102008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
12611
12612 * coding.c (detect_coding_iso2022): New arg
12613 latin_extra_code_state. Allow Latin extra codes only
12614 when *latin_extra_code_state is nonzero.
12615 (detect_coding_mask): If there is a NULL byte, detect the encoding
12616 as UTF-16 or binary. If Latin extra codes exist, detect the
12617 encoding as ISO-2022 only when there's no other proper encoding is
12618 found.
12619
126202008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12621
12622 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
12623 #ifdef MAC_OS.
12624
126252008-01-08 Richard Stallman <rms@gnu.org>
12626
12627 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
12628
126292008-01-06 Nick Roberts <nickrob@snap.net.nz>
12630
12631 * keyboard.c (parse_menu_item): Don't enclose key bindings on
12632 menu bar in parentheses.
12633
126342008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
12635
12636 * m/7300.h:
12637 * m/acorn.h:
12638 * m/alliant-2800.h:
12639 * m/alliant.h:
12640 * m/alliant1.h:
12641 * m/alliant4.h:
12642 * m/altos.h:
12643 * m/amdahl.h:
12644 * m/apollo.h:
12645 * m/att3b.h:
12646 * m/aviion-intel.h:
12647 * m/aviion.h:
12648 * m/celerity.h:
12649 * m/clipper.h:
12650 * m/cnvrgnt.h:
12651 * m/convex.h:
12652 * m/cydra5.h:
12653 * m/delta88k.h:
12654 * m/dpx2.h:
12655 * m/dual.h:
12656 * m/elxsi.h:
12657 * m/f301.h:
12658 * m/gould-np1.h:
12659 * m/gould.h:
12660 * m/i860.h:
12661 * m/ibmps2-aix.h:
12662 * m/ibmrt-aix.h:
12663 * m/ibmrt.h:
12664 * m/irist.h:
12665 * m/is386.h:
12666 * m/isi-ov.h:
12667 * m/mega68.h:
12668 * m/mg1.h:
12669 * m/news-r6.h:
12670 * m/news-risc.h:
12671 * m/news.h:
12672 * m/nh3000.h:
12673 * m/nh4000.h:
12674 * m/ns16000.h:
12675 * m/ns32000.h:
12676 * m/nu.h:
12677 * m/orion.h:
12678 * m/orion105.h:
12679 * m/paragon.h:
12680 * m/pfa50.h:
12681 * m/plexus.h:
12682 * m/pyramid.h:
12683 * m/pyrmips.h:
12684 * m/sh3el.h:
12685 * m/sps7.h:
12686 * m/sr2k.h:
12687 * m/stride.h:
12688 * m/sun1.h:
12689 * m/sun2.h:
12690 * m/sun3-68881.h:
12691 * m/sun3-fpa.h:
12692 * m/sun3-soft.h:
12693 * m/sun3.h:
12694 * m/sun386.h:
12695 * m/symmetry.h:
12696 * m/tad68k.h:
12697 * m/tahoe.h:
12698 * m/targon31.h:
12699 * m/tek4300.h:
12700 * m/tekxd88.h:
12701 * m/tower32.h:
12702 * m/tower32v3.h:
12703 * m/ustation.h:
12704 * m/wicat.h:
12705 * m/xps100.h:
12706 * s/cxux.h:
12707 * s/cxux7.h:
12708 * s/dgux.h:
12709 * s/dgux4.h:
12710 * s/dgux5-4-3.h:
12711 * s/dgux5-4r2.h:
12712 * s/esix.h:
12713 * s/esix5r4.h:
12714 * s/hiuxmpp.h:
12715 * s/hiuxwe2.h:
12716 * s/iris3-5.h:
12717 * s/iris3-6.h:
12718 * s/isc2-2.h:
12719 * s/isc3-0.h:
12720 * s/isc4-0.h:
12721 * s/isc4-1.h:
12722 * s/newsos5.h:
12723 * s/newsos6.h:
12724 * s/osf1.h:
12725 * s/osf5-0.h:
12726 * s/riscix1-1.h:
12727 * s/riscix12.h:
12728 * s/sco4.h:
12729 * s/sco5.h:
12730 * s/sunos4-0.h:
12731 * s/sunos4-1.h:
12732 * s/sunos413.h:
12733 * s/sunos4shr.h:
12734 * s/umax.h:
12735 * s/unipl5-2.h:
12736 * s/xenix.h:
12737 * cxux-crt0.s:
12738 * unexapollo.c:
12739 * unexconvex.c:
12740 * unexenix.c:
12741 * unexsni.c: Remove files for systems no longer supported.
12742
12743 * m/intel386.h: Remove references to unsupported systems.
12744
12745 * w32.c (get_emacs_configuration): Remove reference to i860.
12746
12747 * sysdep.c: Remove dead code.
12748
127492008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
12750
12751 * s/rtu.h:
12752 * m/masscomp.h: Remove files. Platform is obsolete.
12753
127542008-01-04 Michael Albinus <michael.albinus@gmx.de>
12755
12756 * dbusbind.c (Fdbus_method_return): New function.
12757 (xd_read_message): Add the serial number to the event.
12758 (Fdbus_register_method): Activate the function.
12759
127602008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
12761
12762 * keyboard.c (read_key_sequence): Fix typo.
12763
127642008-01-03 Michael Albinus <michael.albinus@gmx.de>
12765
12766 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
12767 (xd_signature, xd_append_arg): Handle element type detection for
12768 empty arrays.
12769 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
12770 SDATA () calls; this must be solved more general.
12771 (Fdbus_register_signal): Use SBYTES instead of strlen.
12772
127732008-01-03 Magnus Henoch <magnus@zemdatav>
12774
12775 * dbusbind.c (xd_append_arg): Use unsigned char instead of
12776 unsigned int for byte values (necessary for big-endian platform).
12777 (Fdbus_call_method): Handle the case of no returned arguments.
12778
127792007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
12780
12781 * dbusbind.c (xd_read_message): Use non-static input_event struct.
12782
127832007-12-31 Magnus Henoch <mange@freemail.hu>
12784
12785 * dbusbind.c (xd_signature): Signature of variant is just "v".
12786
127872007-12-30 Michael Albinus <michael.albinus@gmx.de>
12788
12789 * dbusbind.c: Fix several errors and compiler warnings.
12790 Reported by Tom Tromey <tromey@redhat.com>.
12791 (XD_ERROR, XD_DEBUG_MESSAGE)
12792 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
12793 (xd_append_arg): Part for basic D-Bus types rewritten.
12794 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
12795 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
12796 appropriate.
12797 (xd_read_message): Return Qnil. Don't signal an error; it is not
12798 useful during event reading.
12799 (Fdbus_register_signal): Signal an error if the check for
12800 FUNCTIONP fails.
12801 (Fdbus_register_method): New function. The implementation is not
12802 complete, the call of the function signals an error therefore.
12803 (Fdbus_unregister_object): New function, renamed from
12804 Fdbus_unregister_signal. The initial check signals an error, if
12805 the object is not well formed.
12806
128072007-12-30 Richard Stallman <rms@gnu.org>
12808
12809 * textprop.c (get_char_property_and_overlay):
12810 Signal error if POSITION is out of range in a buffer.
12811
128122007-12-29 Martin Rudalics <rudalics@gmx.at>
12813
12814 * w32fns.c (Fx_create_frame): Make copy of frame parameters
12815 because the original parameters are in pure storage now.
12816
128172007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12818
12819 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
12820
128212007-12-22 Eli Zaretskii <eliz@gnu.org>
12822
12823 * callint.c (syms_of_callint) <command-history>: Add reference to
12824 history-length in the doc string.
12825
128262007-12-17 Jason Rumney <jasonr@gnu.org>
12827
12828 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
12829 before passing as wParam.
12830
128312007-12-22 Michael Albinus <michael.albinus@gmx.de>
12832
12833 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
12834 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
12835 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
12836 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
12837 as number.
12838 (Fdbus_call_method): Fix docstring.
12839
128402007-12-21 Michael Albinus <michael.albinus@gmx.de>
12841
12842 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
12843 New macros.
12844 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
12845 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
12846 Simplify.
12847 (xd_signature): New function.
12848 (xd_append_arg): Compute also signatures. Major rewrite.
12849 (xd_retrieve_arg): Make debug messages friendly.
12850 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
12851 Check for signatures of arguments.
12852
128532007-12-19 Michael Albinus <michael.albinus@gmx.de>
12854
12855 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
12856 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
12857 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
12858 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
12859 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
12860 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
12861 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
12862 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
12863 (xd_retrieve_value): Remove. Functionality included in ...
12864 (xd_append_arg): New function.
12865 (Fdbus_call_method, Fdbus_send_signal): Apply it.
12866
128672007-12-16 Michael Albinus <michael.albinus@gmx.de>
12868
12869 * dbusbind.c (top): Include <stdio.h>.
12870 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
12871 dbus_message_new_method_call and dbus_message_new_signal.
12872 (Fdbus_register_signal): Rename unique_name to uname.
12873 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
12874 non-existing unique name. Fix typos in matching rule. Return an
12875 object which is useful in Fdbus_unregister_signal.
12876 (Fdbus_unregister_signal): Reimplementation, in order to remove
12877 only the corresponding entry.
12878 (Vdbus_registered_functions_table): Change the order of entries.
12879 Apply these changes in xd_read_message and Fdbus_register_signal.
12880
128812007-12-16 Andreas Schwab <schwab@suse.de>
12882
12883 * fileio.c (Finsert_file_contents): Fix overflow check to not
12884 depend on undefined integer overflow.
12885
128862007-12-14 Jason Rumney <jasonr@gnu.org>
12887
12888 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
12889 for characters above 127.
12890
128912007-12-13 Jason Rumney <jasonr@gnu.org>
12892
12893 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
12894 before dereferencing array.
12895 (lookup_vk_code): Remove zero comparison.
12896
128972007-12-14 Michael Albinus <michael.albinus@gmx.de>
12898
12899 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
12900 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
12901 Use `unsigned int' instead of `uint'.
12902 (xd_read_message, Fdbus_register_signal): Split expressions into
12903 multiple lines before operators "&&" and "||", according to the
12904 GNU Coding Standards.
12905
129062007-12-14 Eli Zaretskii <eliz@gnu.org>
12907
12908 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
12909
129102007-12-12 Juri Linkov <juri@jurta.org>
12911
12912 * buffer.c (Frename_buffer): In interactive spec replace
12913 `read-buffer' with `read-string' that uses `buffer-name-history'
12914 as history, and the current buffer's name as default.
12915
129162007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
12917
12918 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
12919 manipulating the backtrace manually.
12920 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
12921 (struct backtrace, backtrace_list): Remove.
12922 (command_loop_1): Remove dead var `no_direct'.
12923
12924 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
12925 preserve non-built-in buffer-local variables.
12926 (Fkill_all_local_variables): Don't re-create&re-set permanent
12927 buffer-local variables.
12928
129292007-12-09 Juri Linkov <juri@jurta.org>
12930
12931 * buffer.c (Frename_buffer): Change interactive spec from "s" to
12932 Lisp code that uses `read-buffer' with current buffer as default.
12933
129342007-12-08 Michael Albinus <michael.albinus@gmx.de>
12935
12936 * dbusbind.c (xd_read_message): Generate an event for every
12937 registered handler. There might be several handlers registered
12938 for the same signal.
12939 (Fdbus_register_signal): Don't overwrite a registration for the
12940 same signal. Add a new registration if handlers are different.
12941 (Vdbus_registered_functions_table): Rework doc string.
12942
129432007-12-07 Michael Albinus <michael.albinus@gmx.de>
12944
12945 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
12946 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
12947 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
12948 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
12949 Unify argument lists.
12950 (xd_read_message, Fdbus_register_signal): Reorder and extend event
12951 arguments and hash table keys. Use unique name for service.
12952 (Fdbus_unregister_signal): Remove checks.
12953 (Vdbus_registered_functions_table): Fix doc string.
12954
129552007-12-05 Magnus Henoch <mange@freemail.hu>
12956
12957 * process.c (make_process): Initialize pty_flag to 0.
12958
129592007-12-05 Jason Rumney <jasonr@gnu.org>
12960
12961 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
12962 specified XBMs.
12963
129642007-12-05 Richard Stallman <rms@gnu.org>
12965
12966 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
12967
129682007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12969
12970 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
12971 New variable.
12972 (mac_try_close_socket) [MAC_OSX]: New function.
12973 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
12974 Update cfsockets_for_select. Replace invalid CFRunLoop source.
12975
12976 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
12977 Use mac_try_close_socket.
12978
129792007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12980
12981 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
12982 reloc_base.
12983 (copy_dysymtab): Compute relocation base here.
12984 (rebase_reloc_address) [__ppc64__]: New function.
12985 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
12986 changed.
12987
129882007-12-05 Jason Rumney <jasonr@gnu.org>
12989
12990 * w32proc.c (sys_spawnve): Quote args with wildcards.
12991
129922007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12993
12994 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
12995 __objc_* sections.
12996 (unrelocate) [_LP64]: Set relocation base to address of data segment.
12997
129982007-12-05 Michael Albinus <michael.albinus@gmx.de>
12999
13000 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
13001 Move check for Vdbus_registered_functions_table to
13002 xd_read_queued_messages.
13003 (xd_read_queued_messages): Protect xd_read_message calls by
13004 internal_condition_case_1.
13005
130062007-12-04 Michael Albinus <michael.albinus@gmx.de>
13007
13008 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
13009 Qdbus_system_bus and Qdbus_session_bus, respectively.
13010 (Vdbus_intern_symbols): Remove.
13011 (Vdbus_registered_functions_table): New hash table.
13012 (XD_SYMBOL_INTERN_SYMBOL): Remove.
13013 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
13014 Rewrite in order to manage registered functions by hash table
13015 Vdbus_registered_functions_table.
13016
130172007-12-03 Jan Djärv <jan.h.d@swipnet.se>
13018
13019 * xterm.c: Update URL to Window Manager Specification in comment.
13020
130212007-12-02 Michael Albinus <michael.albinus@gmx.de>
13022
13023 * config.in (HAVE_DBUS): Add.
13024
13025 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
13026 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
13027 (obj): Add $(DBUS_OBJ).
13028 (LIBES): Add $(DBUS_LIBS).
13029 (dbusbind.o): New target.
13030
13031 * dbusbind.c: New file.
13032
13033 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
13034
13035 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
13036 (Qdbus_event): New Lisp symbol.
13037 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
13038 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
13039 (keys_of_keyboard ): Define dbus-event.
13040
13041 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
13042
130432007-12-01 Richard Stallman <rms@gnu.org>
13044
13045 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
13046
130472007-11-30 Jason Rumney <jasonr@gnu.org>
13048
13049 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
13050 (w32con_reset_terminal_modes): Clear screen buffer.
13051 (w32_face_attributes): Don't use color indexes that are out of range.
13052 Only reverse the default colors.
13053
13054 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
13055 WINDOWSNT.
13056
13057 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
13058
130592007-11-29 Jason Rumney <jasonr@gnu.org>
13060
13061 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
13062 (w32_face_attributes): Use Vtty_defined_color_alist to determine
13063 if the terminal colors are initialized.
13064 (unspecified_fg, unspecified_bg): Remove unused declarations.
13065
130662007-11-29 Andreas Schwab <schwab@suse.de>
13067
13068 * keyboard.c (apply_modifiers): Fix typo.
13069
130702007-11-29 Richard Stallman <rms@gnu.org>
13071
13072 * keymap.c (Fcurrent_local_map): Doc fix.
13073
130742007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
13075
13076 * s/gnu-kfreebsd.h: New file.
13077
130782007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
13079
13080 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
13081 Don't cast redundantly.
13082
13083 * keyboard.c (KEY_TO_CHAR): New macro.
13084 (parse_modifiers, apply_modifiers): Accept integer arguments.
13085 (read_key_sequence): Use them to unify the "shift->unshift" mapping
13086 for chars and symbol keys.
13087 After doing such remapping, apply function-key-map again.
13088
130892007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
13090
13091 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
13092 compiled anymore.
13093
130942007-11-26 Andreas Schwab <schwab@suse.de>
13095
13096 * process.c (list_processes_1): Fix indentation level of the
13097 command column.
13098
130992007-11-23 Andreas Schwab <schwab@suse.de>
13100
13101 * editfns.c (Fformat): Handle %c specially since it requires the
13102 argument to be of type int.
13103
131042007-11-23 Markus Triska <markus.triska@gmx.at>
13105
13106 * emacs.c (main): Call init_editfns before init_process, since
13107 init_process sets Vprocess_connection_type depending on OS release.
13108
131092007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
13110
13111 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
13112 (find_symbol_value): Use do_symval_forwarding.
13113
13114 * data.c (set_internal): Set the value in the `cons-cell' (for
13115 Buffer_Local_values) not only for frame-local variables.
13116
131172007-11-22 Andreas Schwab <schwab@suse.de>
13118
13119 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
13120 values to sprintf.
13121 * keymap.c (Fsingle_key_description): Likewise.
13122 * print.c (print_object): Likewise.
13123
131242007-11-22 Jan Djärv <jan.h.d@swipnet.se>
13125
13126 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
13127 file for image is nil.
13128
131292007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
13130
13131 * term.c: Include stdarg.h.
13132 (fatal): Implement using varargs.
13133 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
13134
131352007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
13136
13137 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
13138 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
13139 Update call to buffer_slot_type_mismatch.
13140 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
13141 (buffer_slot_type_mismatch): Update.
13142 * buffer.c (buffer_local_types): Remove.
13143 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
13144 (defvar_per_buffer): Set the type in the buffer_objfwd.
13145
131462007-11-21 Jason Rumney <jasonr@gnu.org>
13147
13148 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
13149 CreateFileMapping returns NULL on failure.
13150
131512007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
13152
13153 * search.c (Fset_match_data): Remove the `evaporate' feature.
13154 (unwind_set_match_data): Don't use the `evaporate' feature.
13155
131562007-11-21 Jason Rumney <jasonr@gnu.org>
13157
13158 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
13159
13160 * w32console.c (w32con_write_glyphs): Remove unused variables.
13161
131622007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
13163
13164 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
13165
13166 * s/darwin.h (MULTI_KBOARD): Remove.
13167
13168 * macfns.c (x_create_tip_frame, Fx_create_frame)
13169 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
13170
131712007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
13172
13173 * buffer.c (Fbuffer_local_value): Remove redundant test.
13174 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
13175 than in `current-buffer' to match the comment.
13176 Do the swap using swap_in_global_binding.
13177
13178 * data.c (store_symval_forwarding, set_internal):
13179 * eval.c (specbind): Remove dead code.
13180
13181 * coding.c (detect_coding, Fupdate_coding_systems_internal):
13182 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
13183 Since we do not want to see internal Lisp_*fwd objects here.
13184
131852007-11-18 Jan Djärv <jan.h.d@swipnet.se>
13186
13187 * sysdep.c (init_system_name): Use getaddrinfo if available.
13188
13189 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
13190 (x_scroll_bar_note_movement): start, end, with, height in struct
13191 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
13192
131932007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
13194
13195 * puresize.h (BASE_PURESIZE): Increase to 1190000.
13196
131972007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
13198
13199 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
13200 This undoes Richard's change of 14-Oct-2002.
13201
13202 * alloc.c (allocate_other_vector):
13203 * lisp.h (allocate_other_vector): Remove.
13204
13205 * window.c (struct save_window_data): Move non-lisp data to the end
13206 and make it `int' rather than Lisp_Object.
13207 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
13208 Done wrap/unwrap integer values.
13209 (Fset_window_configuration, compare_window_configurations):
13210 Update use of fields to their new types.
13211
13212 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
13213 Turn integer fields into `int'. Merge x_window_low and x_window_high.
13214 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
13215 (SET_SCROLL_BAR_X_WINDOW): Remove.
13216 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
13217 Access the new x_window field directly.
13218 * xterm.c (x_scroll_bar_create): Use a pseudovector.
13219 Don't wrap/unwrap integers into Lisp_Objects.
13220 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
13221 (x_scroll_bar_report_motion):
13222 Don't wrap/unwrap integers into Lisp_Objects.
13223 (x_term_init): Use SDATA.
13224 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
13225 (x_scroll_bar_set_handle, x_scroll_bar_remove)
13226 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
13227 (x_scroll_bar_report_motion, x_scroll_bar_clear):
13228 * xfns.c (x_set_background_color):
13229 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
13230 Access the new x_window field directly.
13231
13232 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
13233 (allocate_pseudovector): Make non-static.
13234
13235 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
13236 (allocate_pseudovector): Declare.
13237 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
13238
132392007-11-15 Andreas Schwab <schwab@suse.de>
13240
13241 * editfns.c (Fformat): Correctly format EMACS_INT values.
13242 Also take precision into account when formatting an integer.
13243
13244 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
13245
132462007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
13247
13248 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
13249 (syms_of_keyboard): Defsubr it.
13250
13251 * data.c (swap_in_global_binding): Fix longstanding bug where
13252 store_symval_forwarding was not called with the right second argument,
13253 thus causing objfwd-ing from being dropped.
13254
132552007-11-14 Juanma Barranquero <lekktu@gmail.com>
13256
13257 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
13258 (Fx_display_pixel_height, Fx_display_planes)
13259 (Fx_display_color_cells, Fx_server_max_request_size)
13260 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
13261 (Fx_display_visual_class, Fx_display_save_under):
13262 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
13263 (Fx_display_pixel_height, Fx_display_planes)
13264 (Fx_display_color_cells, Fx_server_max_request_size)
13265 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
13266 (Fx_display_mm_height, Fx_display_mm_width)
13267 (Fx_display_backing_store, Fx_display_visual_class)
13268 (Fw32_select_font, Fx_display_save_under):
13269 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
13270 (Fx_display_pixel_height, Fx_display_planes)
13271 (Fx_display_color_cells, Fx_server_max_request_size)
13272 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
13273 (Fx_display_save_under): Fix typos in docstrings.
13274
132752007-11-14 Juanma Barranquero <lekktu@gmail.com>
13276
13277 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
13278 corresponding to deleted entries; they are an implementation detail.
13279 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
13280 Remove variables.
13281 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
13282 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
13283 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
13284 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
13285 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
13286 (Fw32_define_rgb_color, Fw32_load_color_file)
13287 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
13288 Fix typos in docstrings.
13289 (Fx_server_version): Reflow docstring.
13290 (Fw32_shell_execute): Doc fixes.
13291
132922007-11-13 Juanma Barranquero <lekktu@gmail.com>
13293
13294 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
13295 if w32_parse_hot_key returned nil.
13296
132972007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
13298
13299 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
13300
133012007-11-09 Jason Rumney <jasonr@gnu.org>
d6c952f8 13302
aac0c6e3
MR
13303 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
13304
13305 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
13306
13307 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
13308 Remove W32_SCROLL_BAR_CLICK_EVENT.
13309
13310 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
13311 Add MULTIMEDIA_KEY_EVENT.
13312
13313 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
13314 (lispy_multimedia_keys) [WINDOWSNT]: New array.
13315 (make_lispy_event) [WINDOWSNT]: Use it to translate
13316 MULTIMEDIA_KEY_EVENT.
13317
13318 * w32term.h (WM_APPCOMMAND): Define if not already.
13319 (GET_APPCOMMAND_LPARAM): Likewise.
13320
13321 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
13322 WM_APPCOMMAND.
13323
13324 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
13325 (syms_of_w32fns): Export and initialize it.
13326 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
13327
133282007-11-09 Chong Yidong <cyd@stupidchicken.com>
13329
13330 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
13331 twice.
13332
13333 * xdisp.c (handle_face_prop): Fix last change.
13334
133352007-11-09 Richard Stallman <rms@gnu.org>
13336
13337 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
13338 not just for after-strings and before-strings.
13339 Call face_for_overlay_string and pass the overlay to it.
13340 (handle_display_prop): Determine whether property came from an overlay.
13341 Pass OVERLAY arg to handle_single_display_spec.
13342 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
13343 (load_overlay_strings): Fill in it->string_overlays.
13344 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
13345
13346 * xfaces.c (face_for_overlay_string): Function renamed from
13347 face_at_buffer_position_no_overlays, and add arg OVERLAY.
13348
13349 * dispextern.h (struct it): New elt string_overlays.
13350 New elt from_overlay, also in stack.
13351 Rearrange a few elements.
13352 (face_for_overlay_string): Decl renamed from
13353 face_at_buffer_position_no_overlays, and add argument.
13354
133552007-11-09 Richard Stallman <rms@gnu.org>
13356
13357 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
13358 to get the base face for an overlay string.
13359
13360 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
13361
13362 * xfaces.c (face_at_buffer_position_no_overlays): New function.
13363
13364 * xdisp.c (handle_stop): Move some code out of loop.
13365
133662007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13367
13368 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
13369 Fix conversion from Lisp object to ATSUFontID.
13370
133712007-11-09 Jason Rumney <jasonr@gnu.org>
13372
13373 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
13374
133752007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13376
13377 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
13378 Don't assume regions are aligned to page boundary.
13379 (print_load_command_name): Add LC_UUID if defined.
13380
133812007-11-09 Richard Stallman <rms@gnu.org>
13382
13383 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
13384
133852007-11-07 Jason Rumney <jasonr@gnu.org>
13386
13387 * s/windows95.h: Remove.
13388
133892007-11-06 Jan Djärv <jan.h.d@swipnet.se>
13390
13391 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
13392 abort with a message on unhandled store_type values.
13393
133942007-11-01 Jan Djärv <jan.h.d@swipnet.se>
13395
13396 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
13397 Remove HAVE_X11R5 and HAVE_X11R4.
13398
133992007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
13400
13401 * Makefile.in: Remove references to sunfns.c and sunfns.o.
13402
134032007-11-01 Johan Bockgård <bojohan@gnu.org>
13404
13405 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
13406 Don't set s->stippled_p here, since it has already been set by
13407 x_set_glyph_string_gc from x_draw_glyph_string.
13408
134092007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
13410
13411 * sunfns.c: Remove file.
13412
13413 * m/sun386.h:
13414 * m/sun2.h:
13415 * m/sparc.h: Remove Sun windows code.
13416
134172007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
13418
13419 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
13420 (init_keyboard): Set current_kboard's window-system to nil.
13421 (tty_read_avail_input): Typo.
13422 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
13423
134242007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
13425
13426 * s/usg5-4.h:
13427 * s/usg5-3.h:
13428 * s/ptx.h:
13429 * m/is386.h:
13430 * m/ibmps2-aix.h:
13431 * Makefile.in: Remove all mentions of X10.
13432
13433 * dispnew.c (syms_of_display): Don't mention version 10.
13434
134352007-10-28 Juanma Barranquero <lekktu@gmail.com>
13436
13437 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
13438 ($(BLD)/abbrev.$(O)): Remove.
13439
134402007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
13441
13442 Rewrite abbrev.c in Elisp.
13443 * image.c (Qcount): Don't declare as extern.
13444 (syms_of_image): Initialize and staticpro `Qcount'.
13445 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
13446 * emacs.c (main): Don't call syms_of_abbrev.
13447 * Makefile.in (obj): Remove abbrev.o.
13448 (abbrev.o): Remove.
13449 * abbrev.c: Remove.
13450
134512007-10-26 Martin Rudalics <rudalics@gmx.at>
13452
13453 * window.c (window_min_size_2): Don't count header-line.
13454
134552007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
13456
13457 * frame.h (struct frame): Move all bit fields after the first bit
13458 field to take advantage of the available space. Group all the
13459 chars together to reduce wasted space due to padding.
13460
134612007-10-26 Juanma Barranquero <lekktu@gmail.com>
13462
13463 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
13464
13465 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
13466 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
13467 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
13468 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
13469 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
13470 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
13471 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
13472 (last_marked, mark_object_loop_halt): Make static.
13473
13474 * frame.c (syms_of_frame) <delete-frame-functions>:
13475 Fix typo in docstring.
13476
134772007-10-25 Juanma Barranquero <lekktu@gmail.com>
13478
13479 * w32.c (init_environment): Fix tiny memory leak.
13480 (w32_get_resource): Remove unused variable `ok'.
13481
134822007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
13483
13484 Make `window-system' into a keyboard-local variable (rather than
13485 frame-local as done originally by multi-tty).
13486
13487 * keyboard.h (struct kboard): Add Vwindow_system.
13488 * keyboard.c (init_kboard): Set a default for Vwindow_system.
13489 (mark_kboards): Mark Vwindow_system.
13490
13491 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
13492 (init_display): Don't set the obsolete `window-system' frame-param.
13493
13494 * xterm.c (x_term_init):
13495 * w32term.c (w32_create_terminal):
13496 * term.c (init_tty): Set Vwindow_system.
13497 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
13498 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
13499
13500 * xfns.c (Fx_create_frame, x_create_tip_frame):
13501 * w32fns.c (Fx_create_frame, x_create_tip_frame):
13502 * macfns.c (Fx_create_frame):
13503 Don't set the obsolete `window-system' frame-param.
13504
13505 * frame.h (Qwindow_system): Remove.
13506 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
13507 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
13508
135092007-10-24 Richard Stallman <rms@gnu.org>
13510
13511 * frame.c (x_figure_window_size): For fullscreen case,
13512 set USPosition | PPosition without clobbering rest of window_prompting.
13513
13514 * keyboard.c (Fcurrent_idle_time): Doc fix.
13515
13516 * print.c (Fwith_output_to_temp_buffer): Doc fix.
13517
135182007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
13519
13520 * process.c (unwind_request_sigio): Only define if __ultrix__.
13521
13522 * callproc.c (child_setup): Remove spurious *.
13523
13524 * lisp.h (Fget_text_property): Declare.
13525 (have_menus_p): Declare it here rather than in sys-dep header files.
13526 * macterm.h (have_menus_p):
13527 * msdos.h (have_menus_p):
13528 * xterm.h (have_menus_p): Remove.
13529
13530 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
13531 (Fmake_variable_frame_local): Just check the variable's const-ness
13532 rather than checking nil or t.
13533
135342007-10-22 Jason Rumney <jasonr@gnu.org>
13535
13536 * w32fns.c: Include math.h.
13537 (w32_abort): Declaration moved to nt/config.nt.
13538
13539 * s/ms-w32.h (HAVE_STDLIB_H): Define.
13540 (abort): Redefinition moved to nt/config.nt.
13541
13542 * m/windowsnt.h: Remove.
13543
135442007-10-22 Juanma Barranquero <lekktu@gmail.com>
13545
13546 * emacs.c (Fdump_emacs): Fix typo in message.
13547 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
13548 <installation-directory>: Reflow docstring.
13549
135502007-10-22 Juri Linkov <juri@jurta.org>
13551
13552 * minibuf.c: Allow minibuffer default to be a list of default values.
13553 With empty input use the first element of this list as returned default.
13554 (string_to_object)
13555 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
13556 (read_minibuf): If defalt is cons, set histstring to its car.
13557 (Fread_string): If default_value is cons, set val to its car.
13558 (Fread_buffer): If def is cons, use its car.
13559 (Fcompleting_read): If defalt is cons, set val to its car.
13560
135612007-10-21 Michael Albinus <michael.albinus@gmx.de>
13562
13563 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
13564
135652007-10-20 Juanma Barranquero <lekktu@gmail.com>
13566
13567 * doc.c (Fdocumentation): Check for advice in all cases.
13568
135692007-10-19 Chong Yidong <cyd@stupidchicken.com>
13570
13571 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
13572
135732007-10-19 Richard Stallman <rms@gnu.org>
13574
13575 * doc.c (Fdocumentation): Check for and handle an advised function.
13576
135772007-10-19 Juanma Barranquero <lekktu@gmail.com>
13578
13579 * process.c (Fset_process_filter): Doc fix.
13580
135812007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
13582
13583 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
13584 which caused key-translation-map to applied repeatedly (thus breaking
13585 double-mode).
13586
135872007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
13588
13589 * xselect.c (x_own_selection, x_handle_selection_clear)
13590 (x_clear_frame_selections):
13591 * w32menu.c (list_of_panes, list_of_items):
13592 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
13593 * textprop.c (validate_plist, interval_has_all_properties)
13594 (interval_has_some_properties, interval_has_some_properties_list)
13595 (add_properties, text_property_list):
13596 * process.c (Fget_buffer_process, list_processes_1, status_notify):
13597 * minibuf.c (Fassoc_string):
13598 * macselect.c (x_own_selection, x_clear_frame_selections)
13599 (Fx_disown_selection_internal):
13600 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
13601 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
13602
136032007-10-17 Chong Yidong <cyd@stupidchicken.com>
13604
13605 * process.c: Link to libs for calling res_init() if available.
13606 (Fmake_network_process): Call res_init() before getaddrinfo or
13607 gethostbyname, if possible.
13608
136092007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
13610
13611 * lread.c (read1): Set pvectype for char_tables.
13612
13613 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
13614 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
13615 Add type checks.
13616 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
13617
13618 * alloc.c (free_misc): Use XMISCTYPE.
13619 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
13620
136212007-10-17 Glenn Morris <rgm@gnu.org>
13622
13623 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
13624 (syms_of_minibuf): Add Qcompletion_ignore_case.
13625 * dired.c (Qcompletion_ignore_case): Change to external.
13626 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
13627 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
13628 (Fread_file_name): Use it rather than intern'ing.
13629
13630 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
13631 (Fread_coding_system): Ignore case of user input.
13632
136332007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13634
13635 * xdisp.c (handle_display_prop): Ignore display specs after
13636 replacing one when string text is being replaced.
13637 (handle_single_display_spec): Pretend as if characters with display
13638 property haven't been consumed only when buffer text is being replaced.
13639
136402007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
13641
13642 * xfns.c (Fx_create_frame, Fx_display_list):
13643 * window.c (window_fixed_size_p, enlarge_window)
13644 (shrink_window_lowest_first):
13645 * macterm.c (init_font_name_table):
13646 * macfns.c (Fx_create_frame, Fx_display_list):
13647 * lread.c (close_load_descs):
13648 * keyboard.c (read_char_x_menu_prompt):
13649 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
13650 * coding.c (code_convert_region_unwind): Test the type of an object
13651 rather than just !NILP before extracting data from it.
13652
13653 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
13654
13655 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
13656 (XMISCANY): New macro.
13657 (XMISCTYPE): Use it.
13658 (struct Lisp_Misc_Any): New type.
13659 (union Lisp_Misc): Use it.
13660 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
13661 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
13662 (find_symbol_value, set_internal, default_value, Fset_default)
13663 (Fmake_variable_buffer_local, Fmake_local_variable)
13664 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
13665 (Flocal_variable_if_set_p, Fvariable_binding_locus):
13666 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
13667 * alloc.c (allocate_buffer): Set the size and tag.
13668 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
13669 Use XMISCANY.
13670 (die): Follow the GNU convention for error messages.
13671 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
13672 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
13673 tag any more.
13674 (set_buffer_internal_1):
13675 * frame.c (store_frame_param):
13676 * eval.c (specbind):
13677 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
13678
13679 * doc.c (Fsnarf_documentation): Simplify.
13680
136812007-10-14 Juanma Barranquero <lekktu@gmail.com>
13682
13683 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
13684 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
13685
136862007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
13687
13688 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
13689
136902007-10-14 Juanma Barranquero <lekktu@gmail.com>
13691
13692 * eval.c (do_autoload): Don't save autoloads.
13693
13694 * data.c (Ffset): Save autoload of the function being set.
13695
136962007-10-07 John Paul Wallington <jpw@pobox.com>
13697
13698 * xfns.c (x_create_tip_frame): Set the `display-type' frame
13699 parameter before setting up faces.
13700
137012007-10-13 Eli Zaretskii <eliz@gnu.org>
13702
13703 * ccl.c (Fregister_code_conversion_map):
13704 * keyboard.c (append_tool_bar_item): Reformat last change.
13705
13706 * lisp.h (eabs): Rename from `abs'. All callers changed.
13707
137082007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
13709
13710 * buffer.c (add_overlay_mod_hooklist):
13711 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
13712 * fontset.c (make_fontset):
13713 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
13714 (append_tool_bar_item):
13715 * macmenu.c (grow_menu_items):
13716 * w32menu.c (grow_menu_items):
13717 * xmenu.c (grow_menu_items): Use larger_vector.
13718
137192007-10-13 Eli Zaretskii <eliz@gnu.org>
13720
13721 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
13722 selected frame'' on MSDOS).
13723
137242007-10-12 Martin Rudalics <rudalics@gmx.at>
13725
13726 * frame.c (Qexplicit_name): New variable.
13727 (x_report_frame_params): Report it in parameter alist.
13728 (syms_of_frame): Intern and staticpro it.
13729
137302007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
13731
13732 * macfns.c (x_create_tip_frame): Set terminal for frame.
13733
137342007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
13735
13736 * frame.c (Qenvironment): Remove.
13737 (syms_of_frame) <Qenvironment>: Don't initialize.
13738 (Fdelete_frame): Don't treat the `environment' param specially.
13739 * frame.h (Qenvironment): Don't declare.
13740 * callproc.c (set_initial_environment): Don't set unused frame param.
13741
13742 * frame.c (Fframe_with_environment): Remove.
13743 (syms_of_frame) <Sframe_with_environment>: Don't declare.
13744
13745 * lisp.h (Fframe_with_environment): Don't declare.
13746
137472007-10-10 Juanma Barranquero <lekktu@gmail.com>
13748
13749 * indent.c (indent_tabs_mode, last_known_column)
13750 (last_known_column_modified): Make static.
13751 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
13752
137532007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
13754
13755 * puresize.h (BASE_PURESIZE): Increase to 1170000.
13756
137572007-10-09 Jason Rumney <jasonr@gnu.org>
13758
13759 * w32term.c (x_set_window_size): Disable code that attempts to tell
13760 Lisp code about a size change before it actually happens.
13761
137622007-10-09 Richard Stallman <rms@gnu.org>
13763
13764 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
13765 return HANDLED_RETURN.
13766
137672007-10-08 Martin Rudalics <rudalics@gmx.at>
13768
13769 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
13770 when there's an unread command event.
13771
13772 * frame.c (focus_follows_mouse): Move here from frame.el to allow
13773 window autoselection act appropriately when leaving selected frame.
13774 (syms_of_frame): Initialize focus_follows_mouse.
13775 * frame.h (focus_follows_mouse): Extern it.
13776 * macterm.c (XTread_socket): When focus_follows_mouse is nil
13777 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
13778 * msdos.c (dos_rawgetc): Likewise.
13779 * w32term.c (w32_read_socket): Likewise.
13780 * xterm.c (handle_one_xevent): Likewise.
13781 * xdisp.c (syms_of_xdisp): In doc-string of
13782 mouse-autoselect-window mention focus-follows-mouse.
13783
137842007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13785
13786 * macterm.c (mac_load_query_font): Fix missing return value.
13787 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
13788 Add BLOCK_INPUT.
13789
137902007-10-08 Richard Stallman <rms@gnu.org>
13791
13792 * xdisp.c (get_window_cursor_type): Implement documented behavior
13793 for cursor-in-non-selected-windows = t.
13794
137952007-10-08 Jason Rumney <jasonr@gnu.org>
13796
13797 * w32.c (w32_get_resource): Always close registry keys.
13798
137992007-10-08 Jason Rumney <jasonr@gnu.org>
13800
13801 * makefile.w32-in (LIBS): Add COMCTL32.
13802
13803 * w32fns.c (globals_of_w32fns): Init common controls.
13804
138052007-10-08 Richard Stallman <rms@gnu.org>
13806
13807 * image.c (our_memory_buffer): Rename from omfib_buffer.
13808
138092007-10-08 Richard Stallman <rms@gnu.org>
13810
13811 * buffer.c (Foverlays_at): Doc fix.
13812
138132007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
13814
13815 * fns.c (Fplist_put): Preserve uneven tail data.
13816
138172007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
13818
13819 * termhooks.h (enum event_kind): Remove trailing comma.
13820
13821 * frame.h (enum): Remove trailing comma.
13822
138232007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
13824
13825 * w32proc.c (delete_child): Don't terminate threads of zombies.
13826
138272007-10-08 Martin Rudalics <rudalics@gmx.at>
13828
13829 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
13830
13831 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
13832 last-repeatable-command.
13833 (init_kboard): Initialize Vlast_repeatable_command.
13834 (command_loop_1): Set it to real_this_command unless that was
13835 bound to an input event.
13836 (mark_kboards): Mark it.
13837
138382007-10-08 Richard Stallman <rms@gnu.org>
13839
13840 * eval.c (condition-case): Doc fix.
13841
138422007-10-08 Masatake YAMATO <jet@gyve.org>
13843
13844 * xfaces.c (tty_supports_face_attributes_p): Fix code
13845 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
13846 was copied and not edited.
13847
138482007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
13849
13850 Add new `input-decode-map' keymap and use it for terminal
13851 escape sequences.
13852 * keyboard.h (struct kboard): Add Vinput_decode_map.
13853 Remove Vlocal_key_translation_map.
13854 * keyboard.c (read_key_sequence): Add support for input-decode-map.
13855 (init_kboard): Init input-decode-map.
13856 Replace local-key-translation-map back with key-translation-map.
13857 (syms_of_keyboard): Declare input-decode-map.
13858 Remove local-key-translation-map. Update docstrings.
13859 (mark_kboards): Mark Vinput_decode_map.
13860 Don't mark Vlocal_key_translation_map.
13861 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
13862 Replace local-key-translation-map back with key-translation-map.
13863 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
13864 Bind in input-decode-map rather than function-key-map.
13865
13866 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
13867 This was made redundant by the previous introduction of XSETPVECTYPE.
13868
138692007-10-09 Richard Stallman <rms@gnu.org>
13870
13871 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
13872
138732007-09-29 Richard Stallman <rms@gnu.org>
13874
13875 * eval.c (internal_condition_case_2, internal_condition_case_1)
13876 (internal_condition_case): Reenable abort if x_catching_errors ()
13877 to see if that really happens and why.
13878
138792007-10-06 Andreas Schwab <schwab@suse.de>
13880
13881 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
13882
138832007-10-04 Juanma Barranquero <lekktu@gmail.com>
13884
13885 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
13886
138872007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
13888
13889 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
13890
138912007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
13892
13893 * window.h (struct window):
13894 * window.c (struct save_window_data, struct saved_window):
13895 * termhooks.h (struct terminal):
13896 * process.h (struct Lisp_Process):
13897 * frame.h (struct frame):
13898 * buffer.h (struct buffer):
13899 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
13900 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
13901 The size field of (pseudo)vectors is now unsigned.
13902 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
13903
13904 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
13905 Turn `count' into an integer.
13906
13907 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
13908 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
13909 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
13910 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
13911 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
13912
13913 * alloc.c (allocate_pseudovector): New fun.
13914 (ALLOCATE_PSEUDOVECTOR): New macro.
13915 (allocate_window, allocate_terminal, allocate_frame)
13916 (allocate_process): Use it.
13917 (mark_vectorlike): New function.
13918 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
13919 (mark_terminals): Use it.
13920 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
13921 (Fmake_byte_code): Use XSETPVECTYPE.
13922
13923 * frame.c (Fframe_parameters): Minor simplification.
13924
13925 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
13926
13927 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
13928
13929 * buffer.c (Fget_buffer_create, init_buffer_once):
13930 * lread.c (defsubr):
13931 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
13932
13933 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
13934 defined differently in the m/*.h files.
13935 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
13936 (XSETPVECTYPE): New macro.
13937 (XSETPSEUDOVECTOR): Use it.
13938
13939 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
13940 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
13941
13942 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
13943 * lread.c (defvar_per_buffer):
13944 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
13945
13946 * window.c (candidate_window_p): Only consider as visible frames that
13947 are on the same terminal.
13948
13949 * m/ibms390x.h (MARKBIT): Remove unused macro.
13950
139512007-10-01 Juanma Barranquero <lekktu@gmail.com>
13952
13953 * lread.c (Fload): Fix typo in docstring.
13954
139552007-10-01 Michaël Cadilhac <michael@cadilhac.name>
13956
13957 * floatfns.c (Fexpt): Manually check for overflows, so that a power
13958 of a non-zero value can't yield zero.
13959
139602007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
13961
13962 * term.c (term_clear_mouse_face, term_mouse_highlight)
13963 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
13964
13965 * print.c (safe_debug_print): Use XHASH.
13966
13967 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
13968 Lisp elements such as tags.
13969 (XHASH): New macro.
13970 (EQ): Use it.
13971 (SREF, SSET, STRING_COPYIN): Use SDATA.
13972 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
13973
13974 * alloc.c (mark_terminal): Remove left-over declaration.
13975 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
13976 (allocate_vectorlike): Remove type argument. Adjust callers.
13977 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
13978 Only handle the one remaining MEM_TYPE_VECTORLIKE.
13979
13980 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
13981 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
13982 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
13983 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
13984 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
13985 Use them.
13986
13987 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
13988 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
13989 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
13990
139912007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
13992
13993 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
13994 loaded by default.
13995
139962007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
13997
13998 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
13999 on this tty.
14000 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
14001
14002 * term.c (mouse_face_window): Rename from Qmouse_face_window.
14003 Update all users.
14004 (handle_one_term_event): Use Gpm_DrawPointer.
14005 (Fgpm_mouse_start): Rename from Fterm_open_connection.
14006 Signal errors instead of returning nil. Always return nil.
14007 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
14008 Make it a noop if gpm-mouse was not activated.
14009 (syms_of_term): Update names.
14010
140112007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
14012
14013 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
14014 (init_sys_modes): Check that gpm_tty is the current tty.
14015
14016 * alloc.c (allocate_terminal): Set the vector size to only count the
14017 lisp fields. Initialize those to nil.
14018 (mark_object): Don't treat terminals specially.
14019 (mark_terminal): Remove.
14020 (mark_terminals): Use mark_object instead.
14021
14022 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
14023 the GC to the beginning.
14024
14025 * indent.h:
14026 * indent.c: Use EMACS_INT for ints coming from Elisp data.
14027
14028 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
14029
140302007-09-25 Jason Rumney <jasonr@gnu.org>
14031
14032 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
14033
14034 * w32console.c (create_w32cons_output): Remove.
14035
14036 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
14037
14038 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
14039 (reset_sys_modes): Use reset_terminal_modes_hook.
14040
140412007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
14042
14043 * eval.c (do_autoload): Don't output any message.
14044
140452007-09-24 Juri Linkov <juri@jurta.org>
14046
14047 * emacs.c (standard_args): Change priority of "--no-splash"
14048 from 40 to 3. Add "--no-desktop" with the same priority.
14049
140502007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
14051
14052 * alloc.c (gc_sweep): Check cons cell mark bits word by word
14053 and optimize the case where they are all 1.
14054
140552007-09-23 Johannes Weiner <hannes@saeurebad.de>
14056
14057 * lisp.h (abs): Define if not defined.
14058 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
14059 Don't define `abs', since it's defined in lisp.h.
14060
140612007-09-22 Eli Zaretskii <eliz@gnu.org>
14062
14063 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
14064 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
14065 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
14066 (init_tty): Use DEV_TTY instead of "/dev/tty".
14067 [WINDOWSNT]: No need to protect from NAME arg being null.
14068
140692007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
14070
14071 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
14072 up the tty state.
14073
140742007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
14075
14076 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
14077 (gpm_tty): Change its type.
14078 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
14079 (gpm_tty): Change its type and initialize it.
14080 (Fterm_open_connection): Check the frame is indeed a tty.
14081 Use the new gpm_tty.
14082 (Fterm_close_connection): Use the new gpm_tty.
14083 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
14084 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
14085
140862007-09-21 Juanma Barranquero <lekktu@gmail.com>
14087
14088 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
14089 underline_color, to draw strike-through.
14090
140912007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
14092
14093 * lisp.h (allocate_terminal): Declare.
14094
14095 * window.c (candidate_window_p): Consider frames that are being placed
14096 by the user as somewhere between visible and iconified.
14097 (window_loop): Prefer windows on the current frame.
14098 (Fselect_window): Move the use of select-frame to the beginning so we
14099 can just delegate all the work (it'll call us back anyway).
14100
14101 * frame.c (Qdisplay_environment_variable):
14102 * frame.h (Qdisplay_environment_variable): Delete.
14103
14104 * .gdbinit (xbacktrace): Print the arg's address rather than the value
14105 of the first arg, since that value may be a union.
14106
14107 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
14108 parameter rather than Qdisplay_environment_variable. If all else
14109 fails, look for DISPLAY in initial-environment.
14110
141112007-09-21 Glenn Morris <rgm@gnu.org>
14112
14113 * Makefile.in (emacstool): Remove target.
14114 (lisp, shortlisp): Remove termdev.elc.
14115
141162007-09-21 Markus Triska <markus.triska@gmx.at>
14117
14118 * xterm.c (x_delete_display): Compile session management conditionally.
14119
141202007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
14121
14122 * callproc.c (getenv_internal_1): New function.
14123 (getenv_internal): Use it.
14124 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
14125
14126 * terminal.c (get_terminal): Don't accept ints to represent terminals.
14127 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
14128 (Fset_terminal_parameter): Work with dead terminals as well.
14129 (Fmodify_terminal_parameters): Remove.
14130
14131 * terminal.c (get_terminal): Handle terminals.
14132 Make sure the terminal returned is live.
14133 (create_terminal): Use allocate_terminal.
14134 (mark_terminals): Move to alloc.c.
14135 (delete_terminal): Use terminal->name as liveness status.
14136 NULL out fields after freeing their contents.
14137 Don't deallocate the object.
14138 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
14139 rather than an int.
14140 (Fterminal_live_p): Accept non-integer arguments.
14141 (Fterminal_list): Return terminal objects rather than an ints.
14142
14143 * alloc.c (enum mem_type): New member for `terminal' objects.
14144 (allocate_terminal): New function.
14145 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
14146 Handle terminals.
14147 (mark_terminal): New fun.
14148 (mark_terminals): Move from terminal.c.
14149
14150 * term.c (get_tty_terminal): Don't treat output_initial specially.
14151 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
14152 (delete_tty): Use terminal->name as liveness status.
14153
14154 * termhooks.h (struct terminal): Make it into a pseudovector.
14155 Remove `deleted' replaced by checking `name's nullness.
14156
14157 * print.c (print_object): Handle terminals.
14158
14159 * lisp.h (enum pvec_type): New `terminal' pseudovector.
14160 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
14161
14162 * frame.c (make_terminal_frame):
14163 * keyboard.c (tty_read_avail_input):
14164 * w32term.c (x_delete_terminal):
14165 * xfns.c (Fx_create_frame, x_create_tip_frame):
14166 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
14167
141682007-09-20 Glenn Morris <rgm@gnu.org>
14169
14170 * process.c (Fmake_network_process): Doc fix.
14171
141722007-09-19 Jason Rumney <jasonr@gnu.org>
14173
14174 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
14175
141762007-09-19 Michaël Cadilhac <michael@cadilhac.name>
14177
14178 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
14179 Fix a C warning regarding variable constness.
14180
14181 * xterm.c (handle_one_xevent): Fix a C warning.
14182
141832007-09-18 Jason Rumney <jasonr@gnu.org>
14184
14185 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
14186
141872007-09-17 Jan Djärv <jan.h.d@swipnet.se>
14188
14189 * gtkutil.c (gdpy_def): New variable.
14190 (xg_initialize): Initialize gdpy_def.
14191 (xg_display_close): If no other display exists, set gdpy_def to a
14192 new connection.
14193
141942007-09-16 Jan Djärv <jan.h.d@swipnet.se>
14195
14196 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
14197 when we have no file name for the icon.
14198 (xg_tool_bar_expose_callback): Remove.
14199 (xg_create_tool_bar): Don't connect expose signal to
14200 xg_tool_bar_expose_callback.
14201 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
14202
142032007-09-16 Andreas Schwab <schwab@suse.de>
14204
14205 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
14206 values instead of zapping them.
14207
142082007-09-14 Glenn Morris <rgm@gnu.org>
14209
14210 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
14211 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
14212 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
14213 scope and rename to omfib_buffer for clarity.
14214 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
14215
142162007-09-14 Kenichi Handa <handa@m17n.org>
14217
14218 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
14219
142202007-09-13 Jason Rumney <jasonr@gnu.org>
14221
14222 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
14223
14224 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
14225
14226 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
14227 (mac_term_init): Call here instead, passing rif.
14228
142292007-09-13 Glenn Morris <rgm@gnu.org>
14230
14231 * s/hpux.h: No longer define `static' as nothing.
14232
142332007-09-13 Johan Bockgård <bojohan@gnu.org>
14234
14235 * callint.c (Fcall_interactively): Remove unused var `fun'.
14236
142372007-09-12 Romain Francoise <romain@orebokech.com>
14238
14239 * window.c (prefer_window_split_horizontally, display_buffer):
14240 Revert 2007-09-08 change.
14241
142422007-09-12 Glenn Morris <rgm@gnu.org>
14243
14244 * alloca.c: Remove file.
14245 * Makefile.in (alloca): Do not undef.
14246 (allocaobj, alloca.o): Remove.
14247 (otherobj): Remove allocaobj.
14248 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
14249 * regex.c (C_ALLOCA): Remove all references and code that was only
14250 used when this was defined.
14251 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
14252 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
14253 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
14254
14255 * Makefile.in (SOURCES, unlock, relock): Delete.
14256
14257 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
14258 (menu_grab_callback): All uses changed.
14259
14260 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
14261 (x_reply_selection_request): All uses changed.
14262
142632007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
14264
14265 * lread.c (load_warn_old_style_backquotes): Change message to look
14266 better when it appears in the middle of byte-compiler messages.
14267
142682007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
14269
14270 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
14271
14272 * xterm.c (x_create_terminal): Add comment.
14273
14274 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
14275
142762007-09-10 Richard Stallman <rms@gnu.org>
14277
14278 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
14279
142802007-09-10 Michaël Cadilhac <michael@cadilhac.name>
14281
14282 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
14283 (DEFUN): Document `intspec', use it instead of `prompt'.
14284
14285 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
14286
14287 * data.c (Finteractive_form): If the interactive specification starts
14288 with a `(', use it as a Lisp form.
14289
14290 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
14291 name and file modes.
14292
14293 * callint.c (Fcall_interactively): Comment fixes.
14294
142952007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
14296
14297 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
14298 and compiled functions.
14299
143002007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
14301
14302 * window.c (prefer_window_split_horizontally): New variable.
14303 (display_buffer): Consider splitting window horizontally depending
14304 on prefer_window_split_horizontally.
14305
143062007-09-08 Eli Zaretskii <eliz@gnu.org>
14307
14308 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
14309
143102007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
14311
14312 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
14313
14314 * frame.c (x_set_frame_parameters): Check number is positive before
14315 using XFASTINT.
14316
14317 * window.c (freeze_window_start): Don't presume selected_window holds
14318 a window object.
14319 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
14320
143212007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
14322
14323 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
14324
143252007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
14326
14327 * window.c (Vsplit_window_preferred_function): New var.
14328 (Fdisplay_buffer): Use it.
14329 (syms_of_window): Export, and initialize it.
14330
143312007-09-06 Pixel <pixel@mandriva.com> (tiny change)
14332
14333 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
14334
143352007-09-06 Glenn Morris <rgm@gnu.org>
14336
14337 * gtkutil.c (menu_grab_callback) <cnt>:
14338 * xselect.c (x_reply_selection_request) <cnt>: Move static
14339 variable to file scope.
14340
143412007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
14342
14343 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
14344 consistent values of selected_frame and selected_window.
14345
143462007-09-04 Jason Rumney <jasonr@gnu.org>
14347
14348 * w32console.c (initialize_w32_display): Zero unused hooks.
14349
143502007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
14351
14352 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
14353 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
14354
143552007-09-04 Jason Rumney <jasonr@gnu.org>
14356
14357 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
14358 in w32console.c. Set up input. Remove XXX comments that have been
14359 confirmed as correct.
14360
14361 * s/ms-w32.h (MULTI_KBOARD): Define.
14362
14363 * w32console.c (one_and_only_w32cons): Remove.
14364 (initialize_w32_display): Take terminal argument.
14365
14366 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
14367 initialize_w32_display.
14368 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
14369
14370 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
14371
14372 * keyboard.c (discard_mouse_events): Discard it.
14373 (make_lispy_event): Translate it to a lisp event.
14374 (lispy_wheel_names): Add wheel-left and right events.
14375 (syms_of_keyboard): Enlarge wheel_syms.
14376
14377 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
14378 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
14379
14380 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
14381
14382 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
14383 from WM_MOUSEHWHEEL.
14384 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
14385
14386 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
14387 terminal.
14388
14389 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
14390 keyboard for the terminal.
14391
143922007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
14393
14394 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
14395 (Vresume_tty_hook): Rename from Vresume_tty_functions.
14396 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
14397 and resume-tty-function to resume-tty-hook.
14398 (Fsuspend_tty, Fresume_tty): Use new names.
14399
144002007-09-02 Jan Djärv <jan.h.d@swipnet.se>
14401
14402 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
14403 if it starts with "n:".
14404
144052007-08-31 Jan Djärv <jan.h.d@swipnet.se>
14406
14407 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
14408
144092007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
14410
14411 * frame.h:
14412 * frame.c (Qterm_environment_variable): Remove.
14413 (syms_of_frame): Don't init and staticpro it.
14414
14415 * callproc.c (getenv_internal): Remove special case for $TERM.
14416
14417 * callproc.c (Vinitial_environment): New variable.
14418 (set_initial_environment): Initialize it.
14419 (syms_of_callproc): Declare it.
14420 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
14421 TERM under which a process runs is never related to the TERM in which
14422 Emacs is running.
14423
144242007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
14425
14426 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
14427 * s/darwin.h: ... do it here.
14428
144292007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
14430
14431 * lisp.h (set_initial_environment): Rename from set_global_environment.
14432
14433 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
14434 removed by mistake on the multi-tty branch.
14435
14436 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
14437 (Fmodify_frame_parameters): Return a value.
14438
14439 * image.c (png_load): Comment-out var only used in commented-out code.
14440
14441 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
14442 before passing it to mark_object.
14443
14444 * xfaces.c (internal_resolve_face_name): Return a value.
14445 (internal_resolve_face_name, resolve_face_name_error): Comment out.
14446
14447 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
14448 (x_icon): Comment-out var only used in commented-out code.
14449
144502007-08-29 Romain Francoise <romain@orebokech.com>
14451
14452 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
14453 QUIT hasn't been provided.
14454
144552007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
14456
14457 * callproc.c (child_setup, getenv_internal): Use the
14458 display-environment-variable and term-environment-variable frame params.
14459 (set_initial_environment): Initialise Vprocess_environment.
14460
14461 * config.in: Disable multi-keyboard support on a mac.
14462
14463 * frame.c (Qterm_environment_variable)
14464 (Qdisplay_environment_variable): New variables.
14465 (syms_of_frame): Intern and staticpro them.
14466 (Fmake_terminal_frame): Disable output method test.
14467
14468 * frame.h: Declare them here.
14469
14470 * macfns.c (x_set_mouse_color): Get rif from the frame.
14471 (x_set_tool_bar_lines): Don't use updating_frame.
14472 (mac_window): Add 2 new parameters for consistency with other systems.
14473 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
14474 frame parameters following what is done in X11 and w32. Don't use
14475 FRAME_MAC_DISPLAY_INFO.
14476 (Fx_open_connection, start_hourglass): Remove window-system check.
14477 (x_create_tip_frame): Get the keyboard from the terminal.
14478
14479 * macmenu.c: Reorder includes.
14480 (Fx_popup_menu): Use terminal specific mouse_position_hook.
14481
14482 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
14483 terminal parameter.
14484 (x_clear_frame): Add a frame parameter.
14485 (note_mouse_movement): Get rif from the frame.
14486 (mac_term_init): Initialize the terminal.
14487 (mac_initialize): Make static and move terminal initialization ...
14488 (mac_create_terminal): ... to this new function.
14489
14490 * macterm.h (struct mac_display_info): Add terminal.
14491 (mac_initialize): Delete declaration.
14492
14493 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
14494
14495 * sysdep.c: Comment out text after #endif.
14496
14497 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
14498 is defined. Better initialize ttys in windows. Use terminal
14499 specific mouse_position_hook.
14500
14501 * termhooks.h (union display_info): Add mac_display_info.
14502
14503 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
14504 Set the default minibuffer frame, window_system and the rest of the
14505 frame parameters following what is done in X11.
14506
14507 * w32term.c (w32_initialize): Make static.
14508
14509 * xselect.c (x_handle_selection_clear): Only access
14510 terminal->kboard when MULTI_KBOARD is defined.
14511
14512 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
14513 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
14514
145152007-08-29 Jason Rumney <jasonr@gnu.org>
14516
14517 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
14518 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
14519
14520 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
14521 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
14522
14523 * keyboard.c (restore_kboard_configuration): Only define when
14524 MULTI_KBOARD defined.
14525
14526 * makefile.w32-in: Update dependancies from Makefile.in.
14527 (OBJ1): Add terminal.$(O)
14528
14529 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
14530 Don't define function body.
14531 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
14532
14533 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
14534
14535 * w32.c (request_sigio, unrequest_sigio): Remove.
14536
14537 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
14538 (w32con_clear_frame, w32con_clear_end_of_line)
14539 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
14540 (w32con_delete_glyphs, w32con_set_terminal_window)
14541 (scroll_line, w32_sys_ring_bell): Add frame arg.
14542 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
14543 Add terminal arg.
14544 (PICK_FRAME): Remove.
14545 (w32con_write_glyphs): Use frame specific terminal coding.
14546 (one_and_only_w32cons): New global variable.
14547 (initialize_w32_display): Use it for storing hooks.
14548 (create_w32cons_output): New function.
14549
14550 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
14551 arg a frame.
14552
14553 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
14554 Set window_system.
14555 (x_set_tool_bar_lines): Don't use updating_frame.
14556 (Fx_create_frame): Set terminal and ref count.
14557 (Fx_open_connection): Remove window-system check.
14558
14559 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
14560
14561 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
14562 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
14563 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
14564 Add frame arg.
14565 (x_delete_terminal, w32_create_terminal): New functions.
14566 (w32_term_init): Create a terminal.
14567 (w32_initialize): Move terminal specific initialization to
14568 w32_create_terminal.
14569
14570 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
14571 (w32_clear_rect, w32_clear_area): Use background from frame.
14572 (w32_display_info): Add terminal.
14573 (w32_sys_ring_bell, x_delete_display): Declare here.
14574
14575 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
14576
14577 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
14578
145792007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
14580
14581 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
14582 Fix get_named_tty calls for the controlling tty.
14583
145842007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
14585
14586 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
14587
145882007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
14589
14590 * term.c (tty_insert_glyphs): Add missing first parameter.
14591
145922007-08-29 Károly Lőrentey <karoly@lorentey.hu>
14593
14594 * buffer.c (Fbuffer_list, Fbury_buffer):
14595 Take frame->buried_buffer_list into account.
14596
14597 * cm.c (current_tty): New variable, for cmputc().
14598 (cmputc): Use it.
14599 (cmcheckmagic): Add tty parameter, look up terminal streams there.
14600 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
14601 (cmgoto): Add tty parameter. Pass it on to calccost().
14602 Use emacs_tputs() instead of tputs().
14603
14604 * cm.h (emacs_tputs): New macro to set current_tty, and then call
14605 tputs().
14606 (current_tty): New variable, for cmputc().
14607 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
14608
14609 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
14610 (internal_condition_case, internal_condition_case_1)
14611 (internal_condition_case_2): Don't abort when x_catching_errors.
14612
14613 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
14614 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
14615 prevent crashes caused by bogus longjmps in read_char.
14616
14617 * keymap.h (Fset_keymap_parent): Add EXFUN.
14618
14619 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
14620 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
14621 Remove redundant definition.
14622
14623 * macfns.c (x_set_mouse_color, x_make_gc):
14624 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14625
14626 * w32term.c (x_free_frame_resources):
14627 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14628 (w32_initialize): Use the accessor macros for terminal characteristics.
14629
14630 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
14631 Use the accessor macros for terminal characteristics.
14632 * msdos.c (internal_terminal_init): Use the accessor macros for
14633 terminal characteristics.
14634 (ScreenVisualBell, internal_terminal_init):
14635 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14636
14637 * termopts.h (no_redraw_on_reenter): Declare.
14638
14639 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
14640 (mark_terminals, mark_ttys): Declare.
14641 (Fgarbage_collect): Call them.
14642 (mark_object): Mark buried_buffer_list.
14643
14644 * prefix-args.c: Include stdlib.h for exit.
14645
14646 * syssignal.h: Add comment.
14647
14648 * indent.c: Include stdio.h.
14649
14650 * window.h (Vinitial_window_system): Declare.
14651 (Vwindow_system): Delete declaration.
14652
14653 * fontset.c (Finternal_char_font): Use FRAME_RIF.
14654
14655 * image.c (lookup_image): Don't initialize `c' until the xasserts
14656 have been run.
14657
14658 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
14659 FRAME_FOREGROUND_PIXEL.
14660
14661 * print.c (print_preprocess): Don't lose print_depth levels while
14662 iterating.
14663
14664 * widget.c (update_from_various_frame_slots):
14665 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14666
14667 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
14668 frames.
14669 (window_internal_height): Remove bogus make_number call.
14670 (init_window_once): Call make_terminal_frame with two zero parameters.
14671
14672 * fileio.c (Fread_file_name): Update comment.
14673
14674 * callint.c (Fcall_interactively):
14675 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
14676 Make sure it is correctly unwound.
14677
14678 * xsmfns.c (x_session_close): New function.
14679
14680 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
14681 Delete declarations.
14682
14683 * xterm.h: Remove declaration for x_fully_uncatch_errors.
14684 (x_output): Remove background_pixel and foreground_pixel fields.
14685 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
14686 (x_delete_device, x_session_close): Declare.
14687
14688 * lread.c: Include setjmp.h. Update declaration of `read_char'.
14689 (read_filtered_event): Call `read_char' with a local
14690 `wrong_kboard_jmpbuf'.
14691
14692 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
14693 Don't call single_kboard_state. Use FRAME_RIF.
14694
14695 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
14696 systems.
14697
14698 * lisp.h (set_process_environment): Rename to `set_global_environment'.
14699 (Fframe_with_environment, Fset_input_meta_mode)
14700 (Fset_quit_char): EXFUN.
14701 (x_create_device, tty_output, terminal, tty_display_info): Declare.
14702 (init_sys_modes, reset_sys_modes): Update prototypes.
14703 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
14704
14705 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
14706 Vlocal_key_translation_map, and Vkeyboard_translate_table.
14707 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
14708 Delete declarations.
14709 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
14710 (temporarily_switch_to_single_kboard, tty_read_avail_input):
14711 New declarations.
14712
14713 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
14714 already does that during init_display(). Call syms_of_keymap
14715 before syms_of_keyboard. Call `syms_of_terminal'.
14716 Call set_initial_environment, not set_process_environment.
14717 (shut_down_emacs): Call reset_all_sys_modes() instead of
14718 reset_sys_modes().
14719
14720 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
14721 (internal_resolve_face_name, resolve_face_name_error): New functions.
14722 (resolve_face_name): Protect against loops and errors thrown by Fget.
14723 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
14724 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
14725
14726 * scroll.c: Replace CURTTY() with local variables throughout the
14727 file (where applicable).
14728 (calculate_scrolling, calculate_direct_scrolling)
14729 (scrolling_1, scroll_cost): Use the accessor macros for terminal
14730 characteristics.
14731
14732 * keymap.c (Vfunction_key_map): Remove.
14733 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
14734 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
14735 (Vkey_translation_map): Remove.
14736 (syms_of_keymap): Remove DEFVAR for key-translation-map.
14737 (Fdescribe_buffer_bindings)
14738 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
14739 Update for terminal-local key-translation-map.
14740
14741 * Makefile.in (callproc.o): Update dependencies.
14742 (lisp, shortlisp): Add termdev.elc.
14743 (obj): Add terminal.o.
14744 (terminal.o): Add dependencies.
14745 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
14746 (data.o, fns.o): Add termhooks.h dependency.
14747 (SOME_MACHINE_LISP): Add dnd.elc.
14748 (minibuf.o): Fix typo.
14749 Update dependencies.
14750
14751 * data.c (do_symval_forwarding, store_symval_forwarding)
14752 (find_symbol_value): Use the selected frame's keyboard, not
14753 current_kboard.
14754
14755 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
14756 Vwindow_system.
14757
14758 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
14759 Fmenu_bar_open.
14760 (syms_of_xmenu): Update defsubr.
14761 (mouse_position_for_popup, Fx_popup_menu)
14762 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
14763 (set_frame_menubar, free_frame_menubar)
14764 (create_and_show_popup_menu, xmenu_show, )
14765 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
14766 an X frame.
14767
14768 * xselect.c (x_own_selection): Abort if not an X frame.
14769 (some_frame_on_display): Check if it is an X frame.
14770 (x_handle_selection_clear): Deal with MULTI_KBOARD.
14771
14772 * coding.c: Include frame.h and termhooks.h.
14773 (terminal_coding, keyboard_coding): Delete.
14774 (Fset_terminal_coding_system_internal)
14775 (Fset_keyboard_coding_system_internal)
14776 (Fkeyboard_coding_system)
14777 (Fterminal_coding_system): Add a terminal parameter.
14778 Get terminal_coding from the terminal.
14779 (init_coding_once): Don't call setup_coding_system here.
14780
14781 * dispextern.h (set_scroll_region, turn_off_insert)
14782 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
14783 (tty_clear_end_of_line, tty_setup_colors)
14784 (delete_tty, updating_frame)
14785 (produce_special_glyphs, produce_glyphs, write_glyphs)
14786 (insert_glyphs): Remove.
14787 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
14788 (tty_turn_off_highlight, get_tty_size): Add declaration.
14789 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
14790
14791 * frame.h (enum output_method): Add output_initial.
14792 (struct x_output): Delete.
14793 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
14794 Access foreground_pixel and background_pixel directly from the frame.
14795 (tty_display): Delete.
14796 (struct frame): Add buried_buffer_list, foreground_pixel,
14797 background_pixel and terminal. Delete kboard.
14798 (union output_data): Add tty.
14799 (FRAME_KBOARD): Get the kboard from the terminal.
14800 (FRAME_INITIAL_P): New macro.
14801 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
14802 (Qterm_environment_variable, Qdisplay_environment_variable)
14803 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
14804 New declarations.
14805
14806 * termchar.h (tty_output, tty_display_info): New structures.
14807 (tty_list): Declare.
14808 (FRAME_TTY, CURTTY): New macros.
14809 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
14810 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
14811 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
14812 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
14813
14814 * callproc.c: Include frame.h and termhooks.h, for terminal
14815 parameters.
14816 (add_env): New function.
14817 (child_setup): Use it.
14818 (child_setup, getenv_internal): Handle the new Vprocess_environment.
14819 (getenv_internal): Fix get_terminal_param call.
14820 (Fgetenv_internal, egetenv): Update doc.
14821 (syms_of_callproc): Initialize Vprocess_environment to nil.
14822 Register and initialize them. Remove obsolete defvars. Update doc
14823 strings.
14824 (child_setup): Handle Vlocal_environment_variables.
14825 (getenv_internal): Add terminal parameter.
14826 Handle Vlocal_environment_variables.
14827 (Fgetenv_internal): Add terminal parameter.
14828 (child_setup, getenv_internal, Fgetenv_internal): Store the local
14829 environment in a frame (not terminal) parameter. Update doc strings.
14830 (set_initial_environment): Rename from set_global_environment.
14831 Store Emacs environment in initial frame parameter.
14832
14833 * xdisp.c (redisplay_internal): Update references to
14834 `previous_terminal_frame'.
14835 (display_mode_line, Fformat_mode_line): Replace calls to
14836 `push_frame_kboard' with `push_kboard'.
14837 (get_glyph_string_clip_rects): Add extra parentheses and
14838 braces to prevent compiler warnings.
14839 (calc_pixel_width_or_height): Add xassert to check that the
14840 frame is alive. Don't call `lookup_image' on a termcap frame.
14841 (message2_nolog, message3_nolog, redisplay_internal)
14842 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
14843 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
14844 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
14845 (Fx_display_pixel_width, Fx_display_pixel_height)
14846 (Fx_display_planes, Fx_display_color_cells)
14847 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
14848 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
14849 (Fx_display_backing_store, Fx_display_visual_class)
14850 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
14851 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
14852
14853 * xfns.c (x_set_foreground_color x_set_background_color)
14854 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
14855 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14856 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
14857 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
14858 terminal that is being deleted.
14859 (Fx_create_frame): Use `store_frame_param' to set `window-system'
14860 frame parameter, and make sure it overrides any user-supplied setting.
14861 (Fx_close_connection, Fx_synchronize): Unify argument names with
14862 the rest of the DEFUNs.
14863
14864 * dispnew.c (Fsend_string_to_terminal): Update call to
14865 `get_tty_terminal'.
14866 (Fredraw_frame, Fsend_string_to_terminal)
14867 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
14868 FRAME_TERMCAP_P and FRAME_TTY.
14869 (window_change_signal): Don't believe width/height values that are
14870 impossibly small.
14871 (Vinitial_window_system): Rename from Vwindow_system.
14872 (termscript, Wcm, rif): Delete.
14873
14874 * termhooks.h (struct terminal): New struct containing the
14875 previously global text display hooks and new members NAME,
14876 DELETED and PARAM_ALIST.
14877 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
14878 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
14879 (FRAME_RIF): New macros.
14880 (get_terminal_param, get_device): New declarations.
14881 (termscript): Delete declaration.
14882
14883 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
14884 (XTflash, x_free_frame_resources, x_scroll_bar_create)
14885 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
14886 FRAME_FOREGROUND_PIXEL.
14887 (x_fully_uncatch_errors): Disable definition.
14888 (x_scroll_bar_expose): Fix reference to foreground pixel.
14889 (XTread_socket): Disable loop on all X displays.
14890 (x_delete_terminal): Don't set terminal->deleted and let
14891 delete_terminal delete the frames on the terminal.
14892 (x_delete_display): Doc update to reflect changes in
14893 delete_terminal.
14894 (x_display_info) <terminal>: Move member earlier in the struct.
14895 (deleting_tty): Remove old variable.
14896 (Fsuspend_tty): Call clear_tty_hooks.
14897 (Fresume_tty, init_tty): Call set_tty_hooks.
14898 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
14899 errors on X frames.
14900 (x_catch_errors_unwind): Abort if x_error_message is NULL.
14901 (handle_one_xevent): Initialize `f' to NULL.
14902 (x_delete_terminal, x_create_terminal): New functions.
14903 (XTset_terminal_modes, XTreset_terminal_modes)
14904 (XTread_socket, x_connection_closed, x_term_init)
14905 (x_term_init, x_delete_display): Add terminal parameter.
14906 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
14907 X connections.
14908
14909 * frame.c: Include termchar.h.
14910 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
14911 (Qwindow_system, Qenvironment, Qterm_environment_variable)
14912 (Qdisplay_environment_variable): New vars.
14913 (Fframep): Deal with output_initial.
14914 (Fframe-live-p): Doc fix.
14915 (Fwindow-system): New function.
14916 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
14917 (make_terminal_frame): Don't create frames on a terminal that is
14918 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14919 (store_frame_param): Check for found_for_frame before calling XFRAME.
14920 (Fmake_terminal_frame): Handle NULL tty names correctly.
14921 (syms_of_frame): Enhance doc string of `default-frame-alist'.
14922 (Fdelete_frame): Remove unused variable `count'. Don't allow other
14923 frames to refer to a deleted frame in their 'environment parameter.
14924 (Fframe_with_environment): New function.
14925 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
14926 (get_future_frame_param): New function.
14927 (Fmake_terminal_frame): Use it.
14928 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
14929
14930 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
14931 * sysdep.c (reset_sys_modes): Update for renames.
14932
14933 * keyboard.c (tty_read_avail_input): New function.
14934 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
14935 (syms_of_keyboard): Defsubr them.
14936 (Fset_input_meta_mode, Fset_quit_char): New functions.
14937 (Fset_input_mode): Split to above functions.
14938 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
14939 parameter. Use it in call to `read_char'.
14940 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
14941 Set wrong_kboard_jmpbuf correctly in recursive calls.
14942 Use current_kboard to access Vkeyboard_translate_table.
14943 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
14944 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
14945 Update longjmp invocations. Remember the original current_kboard,
14946 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
14947 changes it. Comment out unnecessary calls to
14948 `record_single_kboard_state' and `any_kboard_state'.
14949 Update recursive calls.
14950 (wrong_kboard_jmpbuf): Remove global variable.
14951 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
14952 Handle deleted interrupted_kboards correctly; that is a legal
14953 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
14954 and read_char calls. Abort if interrupted_kboard died in read_char.
14955 (any_kboard_state, single_kboard_state)
14956 (push_frame_kboard): Remove function.
14957 (pop_kboard): Switch out of single_kboard mode if the kboard has
14958 been deleted. Remove unused variable. Help debugging by not
14959 changing current_kboard unnecessarily. Set current_kboard to the
14960 kboard of the selected frame when the stored kboard object has
14961 been deleted before pop_kboard.
14962 (temporarily_switch_to_single_kboard): Change first parameter to a
14963 frame pointer. Throw an error when caller wants to change kboards
14964 while in single_kboard mode. Don't push_kboard if we weren't in
14965 single kboard state. Don't pop_kboard if we popped into any
14966 kboard state.
14967 (restore_kboard_configuration): Abort if pop_kboard changed the
14968 kboard in single_kboard mode. Call pop_kboard only after setting
14969 up single_kboard mode.
14970 (Frecursive_edit): Switch to single_kboard mode only in nested
14971 command loops.
14972 (cmd_error, command_loop, command_loop_1, timer_check):
14973 Comment out unnecessary call to `any_kboard_state' and
14974 `record_single_kboard_state'.
14975 (delete_kboard): Exit single_kboard mode if we have just deleted
14976 that kboard. Use FRAME_KBOARD.
14977 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
14978 `fatal_error_signal'.
14979 (record_single_kboard_state): Don't push_kboard if we weren't in
14980 single kboard state. Don't pop_kboard if we popped into any
14981 kboard state.
14982 (push_frame_kboard): Rename to push_kboard.
14983 (kbd_buffer_get_event): Use FRAME_TERMINAL.
14984 (read_avail_input): Read input from all terminals.
14985 (mark_kboards): Also mark Vkeyboard_translate_table.
14986 (kbd_buffer_store_event_hold): Simplify condition.
14987 (read_key_sequence): Reinitialize fkey and keytran at each replay.
14988 (Vkeyboard_translate_table): Move to struct kboard.
14989 (init_kboard): Initialize Vkeyboard_translate_table.
14990 (syms_of_keyboard): Use DEFVAR_KBOARD to define
14991 Vkeyboard_translate_table. Update doc strings. Update docs of
14992 local-function-key-map and function-key-map.
14993
14994 * terminal.c: New file.
14995
14996 * term.c: Include errno.h.
14997 (Vring_bell_function, device_list, initial_device)
14998 (next_device_id, ring_bell, update_begin, update_end)
14999 (set_terminal_window, cursor_to, raw_cursor_to)
15000 (clear_to_end, clear_frame, clear_end_of_line)
15001 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
15002 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
15003 (syms_of_term): Move their initialization to terminal.c.
15004 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
15005 (Ftty_display_color_cells)
15006 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
15007 (clear_tty_hooks, set_tty_hooks)
15008 (init_tty, maybe_fatal): New functions.
15009 (Ftty_type): Return nil if terminal is not on a tty instead of
15010 throwing an error. Doc update.
15011 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
15012 Doc update. Initialize new subrs and variables.
15013 (delete_tty): Use terminal->deleted.
15014 (tty_set_terminal_modes): Rename from set_terminal_modes.
15015 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
15016 (set_scroll_region): Rename to `tty_set_scroll_region'.
15017 (turn_on_insert): Rename to `tty_turn_on_insert'.
15018 (turn_off_insert): Rename to `tty_turn_off_insert'.
15019 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
15020 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
15021 (toggle_highligh): Rename to `tty_toggle_highlight'.
15022 (background_highlight): Rename to `tty_background_highlight'.
15023 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
15024 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
15025 (tty_set_scroll_region, tty_background_highlight)
15026 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
15027 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
15028 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
15029 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
15030 Add static modifier.
15031 (tty_reset_terminal_modes, tty_set_terminal_window)
15032 (tty_set_scroll_region, tty_background_highlight)
15033 (tty_highlight_if_desired, tty_cursor_to)
15034 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
15035 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
15036 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
15037 renames.
15038
150392007-08-28 Jan Djärv <jan.h.d@swipnet.se>
15040
15041 * keyboard.c: Qrtl is new.
15042 (parse_tool_bar_item): Handle :rtl keyword.
15043 (syms_of_keyboard): Intern :rtl keyword.
15044
15045 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
15046
15047 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
15048 so no Lisp code is executed.
15049 (file_for_image, find_rtl_image): New functions.
15050 (xg_get_image_for_pixmap): Use file_for_image.
15051 (update_frame_tool_bar): If direction is RTL, use RTL image if
15052 defined. Use Gtk stock images if defined.
15053
150542007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15055
15056 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
15057 for nonexistent or zero-width glyph in composition glyph.
15058
150592007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
15060
15061 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
15062
15063 * xdisp.c (Finvisible_p): New function.
15064 (syms_of_xdisp): defsubr it.
15065
150662007-08-24 Juanma Barranquero <lekktu@gmail.com>
15067
15068 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
15069 Doc fixes.
15070
150712007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15072
15073 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
15074
150752007-08-24 Martin Rudalics <rudalics@gmx.at>
15076
15077 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
15078 whether decoding has modified buffer contents.
15079
150802007-08-24 Jason Rumney <jasonr@gnu.org>
15081
15082 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
15083 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
15084 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
15085 (init_svg_functions) [HAVE_NTGUI]: New function.
15086 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
15087 (svg_load_image): Use them.
15088 (svg_load_image) [HAVE_NTGUI]: Implement background.
15089
150902007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15091
15092 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
15093 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
15094 (LIBX): Remove @RSVG_LIBS@.
15095 (LIBES): Add $(RSVG_LIBS).
15096
15097 * image.c (svg_load_image): Blend with specified background if exists.
15098 Use IMAGE_BACKGROUND. Add Mac OS Support.
15099
15100 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
15101 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
15102 Remove macros.
15103 [MAC_OSX] (socket_callback): Do nothing.
15104 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
15105 ReceiveNextEvent.
15106 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
15107 socket_callback.
15108 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
15109
151102007-08-22 Glenn Morris <rgm@gnu.org>
15111
15112 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
15113
151142007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
15115
15116 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
15117
15118 * image.c: Add support for SVG images. Some additional comments
15119 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
15120 (svg_image_p): New function to test for SVG image.
15121 (svg_load): New function to load SVG image.
15122 (svg_load_image): New function, helper for svg_load.
15123 (Qsvg): New Lisp_object.
15124 (svg_keyword_index): New enum.
15125 (svg_format): New static `image_keyword' struct.
15126 (svg_type): New static `image_type' struct.
15127 (librsvg/rsvg.h): Include it.
15128
151292007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
15130
15131 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
15132
151332007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
15134
15135 * lread.c (Qold_style_backquotes): New var.
15136 (syms_of_lread): Init and staticpro it.
15137 (load_warn_old_style_backquotes): New fun.
15138 (Fload): Use them to warn about old style backquotes.
15139 (end_of_file_error, Fload): Remove unused vars.
15140
15141 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
15142
15143 * lread.c (Vold_style_backquotes): New var.
15144 (syms_of_lread): Init and export it to Elisp.
15145 (read1): Set it when we find an old-style (back)quote.
15146
151472007-08-22 Jason Rumney <jasonr@gnu.org>
15148
15149 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
15150
151512007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
15152
15153 * puresize.h (BASE_PURESIZE): Increase to 1140000.
15154
151552007-08-19 Richard Stallman <rms@gnu.org>
15156
15157 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
15158
151592007-08-19 Andreas Schwab <schwab@suse.de>
15160
15161 * alloc.c (pure): Round PURESIZE up.
15162
151632007-08-17 Jan Djärv <jan.h.d@swipnet.se>
15164
15165 * xterm.c (handle_one_xevent): Remove check that mouse click is in
15166 active frame.
15167
151682007-08-16 Richard Stallman <rms@gnu.org>
15169
15170 * eval.c (Fcommandp): Add parens to clarify.
15171
15172 * minibuf.c (Fall_completions): Use enum for type of table.
15173
15174 * emacs.c (USAGE2): Improve text.
15175
151762007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
15177
15178 * term.c (tty_default_color_capabilities): Declare static
15179 variables in file scope, to avoid HPUX compiler problem.
15180
151812007-08-13 Jan Djärv <jan.h.d@swipnet.se>
15182
15183 * gtkutil.c (update_frame_tool_bar): Use -1 as index
15184 to gtk_toolbar_insert.
15185
151862007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
15187
15188 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
15189
15190 * insdel.c (reset_var_on_error): New fun.
15191 (signal_before_change, signal_after_change):
15192 Use it to reset (after|before)-change-functions to nil in case of error.
15193 Bind inhibit-modification-hooks to t.
15194 Don't bind (after|before)-change-functions to nil while they run.
15195
151962007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15197
15198 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
15199 filling pixmap with stippled background.
15200
152012007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15202
15203 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
15204 Don't use invisible frame as parent window for repositioning.
15205
152062007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
15207
15208 * print.c (new_backquote_output): Rename from old_backquote_output.
15209 (print): Inverse its logic (according to its name) so as to match the
15210 behavior of new_backquote_flag in lread.c.
15211
152122007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15213
15214 * gmalloc.c (posix_memalign): New function.
15215
15216 * macterm.c (frame_highlight, frame_unhighlight): Don't call
15217 ActivateControl/DeactivateControl here.
15218 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
15219 frame-notice-user-settings is non-nil.
15220 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
15221 for kEventParamFMFontStyle.
15222 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
15223 mac_pass_command_to_system and mac_pass_control_to_system here.
15224 (XTread_socket): Call ActivateControl/DeactivateControl here.
15225 (XTread_socket) [TARGET_API_MAC_CARBON]:
15226 Check mac_pass_command_to_system and mac_pass_control_to_system here.
15227 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
15228 for window repositioning.
15229
152302007-08-08 Glenn Morris <rgm@gnu.org>
15231
15232 * Replace `iff' in doc-strings and comments.
15233
152342007-08-07 Chong Yidong <cyd@stupidchicken.com>
15235
15236 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
15237
152382007-08-07 Martin Rudalics <rudalics@gmx.at>
15239
15240 * fileio.c (Finsert_file_contents): Run format-decode and
15241 after_insert_file_functions on entire buffer when REPLACE is
15242 non-nil and inhibit modification_hooks and point_motion_hooks.
15243 For consistency, run after_insert_file_functions iff something
15244 got inserted. Move signal_after_change and update_compositions
15245 after code running after_insert_file_functions. Make sure that
15246 undo_list doesn't record intermediate steps of the decoding process.
15247
152482007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15249
15250 * emacs.c (main)
15251 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
15252 Call malloc_enable_thread on interactive startup.
15253
15254 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
15255 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
15256 [USE_PTHREAD]: Conditionalize with it.
15257 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
15258 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
15259 New functions.
15260
152612007-08-06 Chong Yidong <cyd@stupidchicken.com>
15262
15263 * xdisp.c (redisplay_window): When restoring original buffer
15264 position, make sure it is still valid.
15265
15266 * image.c (png_load): Ignore png-supplied background color.
15267
152682007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15269
15270 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
15271 Use kCFAbsoluteTimeIntervalSince1970.
15272
15273 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
15274 New variable.
15275 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
15276 event loop should be quit.
15277 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
15278 Quit dialog event loop if quit_dialog_event_loop is set.
15279
15280 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
15281 (Selection): New typedef. Use instead of ScrapRef.
15282 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
15283 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
15284 (mac_clear_selection): Rename from clear_scrap.
15285 (get_flavor_type_from_symbol): New argument SEL and subsume function of
15286 scrap_has_target_type. All uses changed.
15287 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
15288 (mac_selection_has_target_p): New functions.
15289 (mac_put_selection_value): Rename from put_scrap_string.
15290 (mac_get_selection_value): Rename from get_scrap_string.
15291 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
15292 (put_scrap_private_timestamp, scrap_has_target_type)
15293 (get_scrap_private_timestamp): Remove functions.
15294 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
15295 (x_own_selection, x_get_local_selection):
15296 Use mac_valid_selection_value_p.
15297 (x_own_selection): Don't use put_scrap_private_timestamp.
15298 Record OWNERSHIP-INFO into Vselection_alist instead.
15299 (x_get_local_selection): Don't check type if request is local.
15300 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
15301 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
15302
153032007-08-04 Jan Djärv <jan.h.d@swipnet.se>
15304
15305 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
15306 add comment explaining why.
15307
153082007-08-03 Richard Stallman <rms@gnu.org>
15309
15310 * fileio.c (Fvisited_file_modtime): Use make_time.
15311
153122007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
15313
15314 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
15315 build.
15316
153172007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
15318
15319 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
15320
153212007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
15322
15323 * puresize.h (BASE_PURESIZE): Increase to 1130000.
15324
153252007-07-30 Richard Stallman <rms@gnu.org>
15326
15327 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
15328
153292007-07-29 Jan Djärv <jan.h.d@swipnet.se>
15330
15331 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
15332
153332007-07-28 Nick Roberts <nickrob@snap.net.nz>
15334
15335 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
15336 remote default-directory.
15337
15338 * buffer.c (mode-line-format): Update doc string.
15339
153402007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15341
15342 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
15343 scroll bar gap.
15344 (x_scroll_bar_create): Set bar->fringe_extended_p.
15345 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
15346 on frame edge. Check fringe background extension. Don't clear
15347 extended fringe background area.
15348
15349 * w32term.h (struct scroll_bar): New member fringe_extended_p.
15350 (w32_fill_area): Enclose multiple statements with do ... while (0).
15351
15352 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
15353 Extend fringe background to scroll bar gap.
15354 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
15355 Set bar->fringe_extended_p.
15356 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
15357 Put leftmost/rightmost scroll bars on frame edge. Check fringe
15358 background extension. Don't clear extended fringe background area.
15359
15360 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
15361 New member fringe_extended_p.
15362
153632007-07-25 Glenn Morris <rgm@gnu.org>
15364
15365 * Relicense all FSF files to GPLv3 or later.
15366
15367 * COPYING: Switch to GPLv3.
15368
153692007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
15370
15371 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
15372
15373 * data.c (Finteractive_form): Check for the presence of an
15374 `interactive-form' symbol property more thoroughly.
15375
15376 * data.c (Finteractive_form): Use an `interactive-form' property if
15377 present, analogous to the function-documentation property.
15378
153792007-07-24 Jason Rumney <jasonr@gnu.org>
15380
15381 * w32fns.c (x_real_positions): Get real position from OS instead of
15382 calculating it.
15383
153842007-07-23 Jason Rumney <jasonr@gnu.org>
15385
15386 * filelock.c (current_lock_owner): Allow for @ sign in username.
15387
153882007-07-22 Nick Roberts <nickrob@snap.net.nz>
15389
15390 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
15391 remote default-directory.
15392
15393 * buffer.c (mode-line-format): Describe above case in doc string.
15394
153952007-07-20 Eli Zaretskii <eliz@gnu.org>
15396
15397 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
15398 Define if not defined.
15399
154002007-07-18 Jason Rumney <jasonr@gnu.org>
15401
15402 * w32proc.c (w32_executable_type): Handle 64 bit executables.
15403
154042007-07-18 Richard Stallman <rms@gnu.org>
15405
15406 * data.c (Fsetq_default): Doc fix.
15407
15408 * eval.c (Fsetq): Doc fix.
15409
154102007-07-18 Juanma Barranquero <lekktu@gmail.com>
15411
15412 * coding.c (Ffind_operation_coding_system):
15413 * eval.c (For, Fand): Doc fixes.
15414 Reported by Johan Bockgård.
15415
154162007-07-18 Jan Djärv <jan.h.d@swipnet.se>
15417
15418 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
15419
15420 * xterm.h: Declare x_ewmh_activate_frame.
15421
15422 * xterm.c (x_ewmh_activate_frame): New function.
15423 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
15424
154252007-07-17 Martin Rudalics <rudalics@gmx.at>
15426
15427 * window.c (Fdisplay_buffer): If largest or LRU window is the
15428 only window, split it even if it is not eligible for splitting.
15429 This restores the original behavior broken by the 2007-07-15
15430 change.
15431
154322007-07-17 Glenn Morris <rgm@gnu.org>
15433
15434 * abbrev.c (abbrev_check_chars): New function.
15435 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
15436 Call abbrev_check_chars to check abbrev characters are word
15437 constituents. Doc fix.
15438
154392007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
15440
15441 * process.c (Fstart_process, Fmake_network_process)
15442 (read_process_output): Fix up last changes.
15443
154442007-07-16 Eli Zaretskii <eliz@gnu.org>
15445
15446 * makefile.w32-in (clean): Don't delete *~.
15447
154482007-07-16 Andreas Schwab <schwab@suse.de>
15449
15450 * window.c (Fdisplay_buffer): Use NILP.
15451 (Fset_window_scroll_bars): Likewise.
15452
154532007-07-15 Martin Rudalics <rudalics@gmx.at>
15454
15455 * window.c (window_min_size_2): New function.
15456 (window_min_size_1, size_window, Fdisplay_buffer)
15457 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
15458 windows without mode- or header-lines when window-min-height is
15459 too small.
15460 (size_window): Reset nodelete_p after testing it, following an
15461 earlier note by Kim F. Storm.
15462 (display_buffer): Do not set split_height_threshold to twice the
15463 value of window_min_height to avoid changing the value of a
15464 customizable variable. Rather explicitly check whether the
15465 height of the window that shall be splitted is at least as large
15466 as split_height_threshold.
15467 (Fwindow_full_width_p): New defun.
15468 (syms_of_window): Defsubr it.
15469
15470 * window.h: Add EXFUN for Fwindow_full_width_p.
15471
154722007-07-14 Jason Rumney <jasonr@gnu.org>
15473
15474 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
15475
154762007-07-14 Richard Stallman <rms@gnu.org>
15477
15478 * eval.c (maybe_call_debugger): New function.
15479 (find_handler_clause): Use maybe_call_debugger.
15480 Call it when the handler says `debug'.
15481 Eliminate DEBUGGER_VALUE_PTR.
15482 (Fsignal): Eliminate debugger_value.
15483 (Qdebug): New variable.
15484 (syms_of_eval): Initialize it.
15485
154862007-07-14 Juanma Barranquero <lekktu@gmail.com>
15487
15488 * eval.c (Fprogn):
15489 * keyboard.c (Ftrack_mouse):
15490 * print.c (Fwith_output_to_temp_buffer):
15491 * window.c (Fsave_window_excursion): Doc fix.
15492
154932007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
15494
15495 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
15496
154972007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
15498
15499 * process.h (struct Lisp_Process): Turn slots infd, outfd,
15500 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
15501 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
15502 read_output_delay, and read_output_skip from Lisp_Objects to ints.
15503 Remove unused encoding_carryover.
15504 * process.c: Adjust all functions accordingly.
15505
155062007-07-12 Richard Stallman <rms@gnu.org>
15507
15508 * term.c: Include unistd.h only if HAVE_UNISTD_H.
15509
155102007-07-11 Jason Rumney <jasonr@gnu.org>
15511
15512 * makefile.w32-in (LIBS): Include OLE32.
15513
15514 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
15515 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
15516
155172007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
15518
15519 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
15520 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
15521 from a Lisp_Object into a bare pointer.
15522 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
15523 Adjust the code correspondingly.
15524
15525 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
15526
15527 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
15528 (term_show_mouse_face): Remove unused var `j'.
15529 (handle_one_term_event): Remove unused vars `i' and `j'.
15530 Don't cast return value of ttyname since it's not necessary.
15531
155322007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
15533
15534 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
15535 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
15536
15537 * fns.c (map_char_table): Use an array of int for `indices' rather than
15538 an array of Lisp_Objects (which are only ever integers anyway).
15539 (Fmap_char_table): Update caller.
15540 * lisp.h: Update prototype.
15541 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
15542 * fontset.c (Ffontset_info):
15543 * casetab.c (set_case_table): Update callers.
15544
15545 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
15546
15547 * keymap.c (struct accessible_keymaps_data)
15548 (struct where_is_internal_data): New structures.
15549 (accessible_keymaps_1, where_is_internal_1): Use them to change
15550 interface to adhere to the one used by map_keymap.
15551 (Faccessible_keymaps, where_is_internal): Use map_keymap.
15552 (accessible_keymaps_char_table, where_is_internal_2): Remove.
15553
15554 * keymap.h (map_keymap_function_t): More informative prototype.
15555
155562007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
15557
15558 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
15559 (looking_at_1): Don't change search_regs and last_thing_searched
15560 if `inhibit-changing-match-data' is non-nil.
15561 (string_match_1, search_buffer, set_search_regs): Likewise.
15562 (syms_of_search): Add Lisp level definition for
15563 `inhibit-changing-match-data' and set it to nil.
15564 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
15565 start and end of the match, instead of using values in search_regs.
15566
155672007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
15568
15569 * minibuf.c (Fcompleting_read): New value `confirm-only'
15570 for `require-match'.
15571
155722007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
15573
15574 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
15575 part of the 2007-06-27 change to syms_of_fileio.
15576
155772007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15578
15579 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
15580 Check WINDOWP before using XWINDOW. Consolidate return statements.
15581
155822007-06-27 Richard Stallman <rms@gnu.org>
15583
15584 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
15585
155862007-06-27 Juanma Barranquero <lekktu@gmail.com>
15587
15588 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
15589
155902007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15591
15592 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
15593 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
15594 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
15595 (_free_internal, memalign): Use them.
15596 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
15597 Initialize to PTHREAD_MUTEX_INITIALIZER.
15598 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
15599 (morecore_nolock): Rename from morecore. All uses changed.
15600 Use only nolock versions of internal allocation functions.
15601 (_malloc_internal_nolock, _realloc_internal_nolock)
15602 (_free_internal_nolock): New functions created from
15603 _malloc_internal, _realloc_internal, and _free_internal.
15604 (_malloc_internal, _realloc_internal, _free_internal): Use them.
15605 Copy hook value to automatic variable before its use.
15606 (memalign): Copy hook value to automatic variable before its use.
15607
156082007-06-26 Kenichi Handa <handa@m17n.org>
15609
15610 * coding.c (Ffind_operation_coding_system): Docstring improved.
15611 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
15612
156132007-06-25 David Kastrup <dak@gnu.org>
15614
15615 * keymap.c (Fcurrent_active_maps): Add `position' argument.
15616 (Fwhere_is_internal): Adjust call to `current-active-maps' to
15617 cater for additional parameter.
15618
15619 * keymap.h: Adjust number of parameters to `current-active-maps'.
15620
15621 * doc.c (Fsubstitute_command_keys): Adjust call of
15622 `current-active-maps'.
15623
156242007-06-25 David Kastrup <dak@gnu.org>
15625
15626 * callint.c (Fcall_interactively): Make the parsing of interactive
15627 specs somewhat more readable.
15628
156292007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15630
15631 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
15632 to scroll bar gap also when bitmap fills fringe. Draw only foreground
15633 if extended background has already been filled.
15634
156352007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15636
15637 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
15638 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
15639
15640 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
15641 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
15642 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
15643 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
15644 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
15645 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
15646 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
15647 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
15648 Run timers during dialog popup.
15649 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
15650
156512007-06-21 Jason Rumney <jasonr@gnu.org>
15652
15653 * image.c (convert_mono_to_color_image): Swap fore and background.
15654
156552007-06-20 Jason Rumney <jasonr@gnu.org>
15656
15657 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
15658 (w32_free_bdf_font): Unmap memory not handle.
15659
156602007-06-20 Sam Steingold <sds@gnu.org>
15661
15662 * gmalloc.c (__morecore): Fix the declaration to comply with the
15663 definition.
15664
156652007-06-20 Juanma Barranquero <lekktu@gmail.com>
15666
15667 * w32term.c (w32_delete_display): Remove leftover declaration.
15668 (w32_define_cursor, w32_initialize): Make static.
15669
15670 * w32.c (_wsa_errlist): Fix typo in error message.
15671 (init_environment): Ignore any environment variable from the
15672 registry having a null value.
15673
156742007-06-20 Glenn Morris <rgm@gnu.org>
15675
15676 * Makefile.in (LIBGIF): Default to -lgif.
15677
156782007-06-17 Jason Rumney <jasonr@gnu.org>
15679
15680 * w32menu.c (add_menu_item): Don't use multibyte string functions on
15681 unicode strings.
15682
156832007-06-16 Juanma Barranquero <lekktu@gmail.com>
15684
15685 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
15686 Fix typo in docstring.
15687
156882007-06-16 Eli Zaretskii <eliz@gnu.org>
15689
15690 * w32menu.c (add_menu_item): Escape `&' characters in menu items
15691 and their keybindings.
15692
156932007-06-15 Chong Yidong <cyd@stupidchicken.com>
15694
15695 * composite.c (update_compositions): Fix last fix.
15696
156972007-06-14 Jason Rumney <jasonr@gnu.org>
15698
15699 * w32.c (get_process_times_fn): New function pointer.
15700 (globals_of_w32): Intialize it if present in kernel32.dll.
15701 (w32_get_internal_run_time): New function.
15702
15703 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
15704
157052007-06-14 Kenichi Handa <handa@etlken.m17n.org>
15706
15707 * composite.c (update_compositions): Check the validness of
15708 compositions.
15709
157102007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15711
15712 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
15713 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
15714
15715 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
15716 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
15717
15718 * macgui.h (USE_MAC_TOOLBAR): New define.
15719
15720 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
15721 Return immediately unless popup is activated.
15722
15723 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
15724 background to scroll bar gap.
15725 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
15726 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
15727 scroll bars on frame edge. Check fringe background extension.
15728 Don't clear extended fringe background area.
15729 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
15730 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
15731 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
15732 [USE_MAC_TOOLBAR]: New macros.
15733 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
15734 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
15735 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
15736 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
15737 [USE_MAC_TOOLBAR]: New functions.
15738 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
15739 manually if previous repositioning has failed.
15740 (mac_handle_keyboard_event): Use precomputed event kind.
15741 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
15742 as tool bar item click. Handle mouse movement over tool bar items.
15743
15744 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
15745 toolbar_win_gravity.
15746 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
15747 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
15748 Add externs.
15749
15750 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
15751 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
15752
157532007-06-14 Chong Yidong <cyd@stupidchicken.com>
15754
15755 * image.c (search_image_cache): Remove unused variable.
15756
157572007-06-13 Chong Yidong <cyd@stupidchicken.com>
15758
15759 * xfns.c, xmenu.c: Link to xaw3d if available.
15760
157612007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15762
15763 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
15764 frame_foreground and frame_background.
15765
15766 * image.c (lookup_image): Save frame foreground and background colors.
15767 (search_image_cache): Check if saved and current frame colors match.
15768
157692007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
15770
15771 * regex.c (regex_compile): Remove the `regnum' counter.
15772 Use bufp->re_nsub instead. Add support for \(?N:RE\).
15773
157742007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
15775
15776 * term.c: Include intervals.h to declare Fget_text_property.
15777
157782007-06-10 Jason Rumney <jasonr@gnu.org>
15779
15780 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
15781
157822007-06-08 Juanma Barranquero <lekktu@gmail.com>
15783
15784 * callint.c (Fcall_interactively):
15785 * editfns.c (Fdelete_and_extract_region):
15786 * fileio.c (Fread_file_name):
15787 * fns.c (Fmapconcat):
15788 * keyboard.c (cmd_error_internal):
15789 * keymap.c (Fkey_description):
15790 * lread.c (openp):
15791 * minibuf.c (read_minibuf):
15792 * search.c (wordify):
15793 * sunfns.c (sel_read):
15794 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
15795 * xfns.c (x_default_scroll_bar_color_parameter):
15796 * xmenu.c (menu_help_callback):
15797 * xselect.c (Fx_get_atom_name):
15798 * xterm.c (x_term_init): Use empty_unibyte_string.
15799
158002007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
15801
15802 * alloc.c (init_strings): Initialize canonical empty strings.
15803 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
15804 canonical empty string when the requested size is 0.
15805
15806 * emacs.c (empty_unibyte_string): Rename from empty_string.
15807 (empty_multibyte_string): New canonical empty string.
15808 (syms_of_emacs): Don't initialize empty_string.
15809
15810 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
15811 string, if appropriate.
15812 (empty_unibyte_string, empty_multibyte_string): New externs.
15813 (empty_string): Remove extern.
15814
15815 * lread.c (syms_of_lread): Use empty_unibyte_string.
15816
158172007-06-07 Jason Rumney <jasonr@gnu.org>
15818
15819 * s/ms-w32.h: Don't define HAVE_TZNAME.
15820
15821 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
15822
158232007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15824
15825 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
15826
15827 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
15828 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
15829
15830 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
15831 Don't call next handler.
15832 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
15833 Remove argument. Install handler to application.
15834 (set_frame_menubar): Don't change deep_p.
15835 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
15836 FRAME_OUTER_TO_INNER_DIFF_Y.
15837 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
15838 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
15839 [HAVE_DIALOGS]: New macros.
15840 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
15841 Use them.
15842 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
15843
15844 * macselect.c [MAC_OSX] (install_service_handler): Rename from
15845 init_service_handler. All callers changed. Return OSStatus value.
15846
15847 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
15848 All callers changed so as not to call SetPortWindowPort.
15849 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
15850 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
15851 mac_draw_string_common.
15852 (mac_draw_image_string_qd): Likewise.
15853 (mac_draw_string_common): Use them. Add INLINE.
15854 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
15855 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
15856 GetGlobalMouse.
15857 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
15858 and FRAME_OUTER_TO_INNER_DIFF_Y.
15859 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
15860 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
15861 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
15862 repositioning window to mac_handle_window_event.
15863 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
15864 saving window location to mac_handle_window_event
15865 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
15866 (install_menu_target_item_handler): Remove argument in extern.
15867 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
15868 Also accept command events.
15869 (do_keystroke): New function created from XTread_socket.
15870 (init_command_handler): Remove functions.
15871 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
15872 and save window location by kEventWindowShowing and kEventWindowHiding
15873 handlers here. Don't call next handler for window state change and
15874 focus events.
15875 (mac_handle_application_event, mac_handle_keyboard_event)
15876 [TARGET_API_MAC_CARBON]: New functions.
15877 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
15878 kEventWindowShowing and kEventWindowHiding events. Move installation
15879 of mouse, font, text input and menu target item handlers to
15880 install_application_handler.
15881 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
15882 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
15883 New function.
15884 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
15885 Register it.
15886 (XTread_socket) [TARGET_API_MAC_CARBON]:
15887 Consolidate SendEventToEventTarget calls.
15888 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
15889 Move application activation handler to mac_handle_application_event.
15890 Move keyboard handler to mac_handle_keyboard_event.
15891 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
15892 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
15893 init_command_handler. Call install_application_handler.
15894
15895 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
15896 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
15897
158982007-06-07 Glenn Morris <rgm@gnu.org>
15899
15900 * emacs.c (main): Use `emacs-copyright' in --version output.
15901
159022007-06-06 Chong Yidong <cyd@stupidchicken.com>
15903
15904 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
15905
159062007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15907
15908 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
15909
15910 * macgui.h: Replace WindowPtr with WindowRef.
15911
15912 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
15913 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
15914 Replace ControlHandle with ControlRef.
15915 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
15916
15917 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
15918 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
15919 Replace ControlHandle with ControlRef.
15920 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
15921 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
15922
15923 * macterm.h (struct scroll_bar): Rename member control_handle_low
15924 and control_handle_high to control_ref_low and control_ref_high.
15925 All uses changed.
15926 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
15927 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
15928 respectively. All uses changed.
15929 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
15930 (install_window_handler, remove_window_handler): Replace WindowPtr
15931 with WindowRef in externs.
15932
159332007-06-05 Juanma Barranquero <lekktu@gmail.com>
15934
15935 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
15936
159372007-06-03 Nick Roberts <nickrob@snap.net.nz>
15938
15939 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
15940
15941 * frame.c (Fmouse_position, Fmouse_pixel_position):
15942 Condition on HAVE_GPM too.
15943
15944 * term.c (term_mouse_highlight): Remove unused variables.
15945 (Fterm_open_connection): Set gpm_zerobased to 1.
15946 (term_mouse_movement, term_mouse_click, handle_one_term_event):
15947 Use zero based co-ordinates.
15948 (handle_one_term_event): Report a drag as mouse movement too.
15949
15950 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
15951
159522007-06-03 Chong Yidong <cyd@stupidchicken.com>
15953
15954 * image.c (search_image_cache): New function. Require background
15955 color match if background color is unspecified in the image spec.
15956 (uncache_image, lookup_image): Use it.
15957
159582007-06-01 Juanma Barranquero <lekktu@gmail.com>
15959
15960 * window.c (Fshrink_window): Reflow docstring.
15961
159622007-06-02 Chong Yidong <cyd@stupidchicken.com>
15963
15964 * Version 22.1 released.
15965
159662007-06-01 Richard Stallman <rms@gnu.org>
15967
15968 * xfns.c (x_encode_text): Add GCPRO.
15969
159702007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15971
15972 * xfns.c (x_set_name_internal): Save encoded name before
15973 x_encode_text in case string data is relocated.
15974
159752007-05-31 Richard Stallman <rms@gnu.org>
15976
15977 * buffer.c (syms_of_buffer): Doc fix.
15978
159792007-05-30 Nick Roberts <nickrob@snap.net.nz>
15980
15981 * sysdep.c (init_sys_modes): Add rather than replace with
15982 O_NONBLOCK.
15983
15984 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
15985 term_mouse_moveto.
15986
15987 * termhooks.h (term_mouse_moveto): New extern.
15988
15989 * term.c (mouse_face_window): Rename...
15990 (Qmouse_face_window): ...to this.
15991 (term_show_mouse_face, term_clear_mouse_face)
15992 (term_mouse_highlight): Use Qmouse_face_window.
15993 (term_mouse_moveto): New function.
15994 (term_mouse_position): Make it work.
15995 (syms_of_term): Uncomment assignment to mouse_position_hook.
15996 Staticpro Qmouse_face_window.
15997
159982007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15999
16000 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
16001 around current_column call.
16002
160032007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
16004
16005 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
16006 * xdisp.c (next_element_from_buffer):
16007 * window.c (delete_window):
16008 * term.c (term_mouse_highlight):
16009 * msdos.c (getdefdir):
16010 * macterm.c (mac_create_bitmap_from_bitmap_data)
16011 (init_font_name_table):
16012 * fns.c (Fsxhash):
16013 * data.c (Fmake_local_variable):
16014 * ccl.c (ccl_driver): Likewise.
16015
160162007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16017
16018 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
16019 Call mac_wakeup_from_rne on window size change.
16020
160212007-05-25 Chong Yidong <cyd@stupidchicken.com>
16022
16023 * image.c (uncache_image): Fix typo.
16024
160252007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
16026
16027 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
16028
160292007-05-22 Richard Stallman <rms@gnu.org>
16030
16031 * xterm.c (x_connection_closed): Remove NO_RETURN.
16032
160332007-05-22 Martin Rudalics <rudalics@gmx.at>
16034
16035 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
16036
160372007-05-21 Chong Yidong <cyd@stupidchicken.com>
16038
16039 * image.c (uncache_image): New function.
16040 (Fimage_refresh): New function.
16041
160422007-05-20 Jan Djärv <jan.h.d@swipnet.se>
16043
16044 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
16045
160462007-05-20 Nick Roberts <nickrob@snap.net.nz>
16047
16048 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
16049 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
16050
160512007-05-20 Nick Roberts <nickrob@snap.net.nz>
16052
16053 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
16054 conditional on [HAVE_GPM_H].
16055
160562007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
16057
16058 * syntax.c (skip_chars): Update syntax-table only after we checked that
16059 the new location is valid.
16060
160612007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16062
16063 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
16064 mac_get_window_bounds.
16065
160662007-05-20 Nick Roberts <nickrob@snap.net.nz>
16067
16068 * Makefile.in (LIBGPM): Allow it to be set from configure.
16069 If set then link Emacs with it.
16070
16071 * config.in: Regenerate.
16072
16073 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
16074 New externs.
16075
16076 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
16077 Include gpm.h.
16078 (handle_one_term_event, term_gpm): New externs.
16079
16080 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
16081 and allow it to be interrupted by SIGIO.
16082
16083 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
16084 (wait_reading_process_output): Wait on gpm_fd too.
16085 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
16086 (add_gpm_wait_descriptor_called_flag): New variable.
16087 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
16088
16089 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
16090 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
16091 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
16092 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
16093 (make_lispy_event): Add case GPM_CLICK_EVENT.
16094 (read_avail_input): Handle mouse input.
16095
16096 * term.c (write_glyphs_with_face): New function.
16097 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
16098 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
16099 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
16100 (mouse_face_face_id, term_gpm, pos_x, pos_y)
16101 (last_mouse_x, last_mouse_y): New variables.
16102 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
16103 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
16104 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
16105 (Fterm_close_connection): New functions.
16106 (term_init): Initialise mouse_face_window.
16107
161082007-05-19 Chong Yidong <cyd@stupidchicken.com>
16109
16110 * xdisp.c (redisplay_window): If first window line is a
16111 continuation line, recompute the new window start instead of
16112 recentering.
16113
161142007-05-18 Glenn Morris <rgm@gnu.org>
16115
16116 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
16117 Suggested by Alfred M. Szmidt <ams@gnu.org>.
16118
161192007-05-17 Glenn Morris <rgm@gnu.org>
16120
16121 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
16122
161232007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16124
16125 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
16126 dead key repeat and up events.
16127
161282007-05-14 Chong Yidong <cyd@stupidchicken.com>
16129
16130 * image.c (pbm_load): Check image size for monochrome pbm.
16131
161322007-05-13 Chong Yidong <cyd@stupidchicken.com>
16133
16134 * xterm.c (XTread_socket): Revert last change.
16135
161362007-05-12 Chong Yidong <cyd@stupidchicken.com>
16137
16138 * image.c (pbm_load): Correctly check image size for greyscale pbm.
16139
16140 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
16141
161422007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
16143
16144 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
16145 mixup (YAILOM).
16146
161472007-05-07 Andreas Schwab <schwab@suse.de>
16148
16149 * keymap.c (Flookup_key): Fix typo in last change.
16150
161512007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
16152
16153 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
16154 mapping for unibyte strings.
16155
161562007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16157
16158 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
16159 (Fx_popup_dialog) [MAC_OSX]: Likewise.
16160
161612007-04-29 Richard Stallman <rms@gnu.org>
16162
16163 * insdel.c (replace_range): For undo, record insertion first.
16164
161652007-04-29 Andreas Schwab <schwab@suse.de>
16166
16167 * lisp.h (VECSIZE): Use OFFSETOF.
16168
161692007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16170
16171 * xdisp.c (try_window_reusing_current_matrix): Fix number of
16172 disabled lines.
16173
161742007-04-28 Richard Stallman <rms@gnu.org>
16175
16176 * lread.c (read_escape): In a string, \s is always space.
16177
161782007-04-27 Jan Djärv <jan.h.d@swipnet.se>
16179
16180 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
16181
16182 * gtkutil.c (xg_update_menubar, create_menus): Create empty
16183 submenu for menu bar items.
16184
16185See ChangeLog.10 for earlier changes.
16186
16187;; Local Variables:
16188;; coding: utf-8
16189;; add-log-time-zone-rule: t
16190;; bug-reference-url-format: "http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=%s"
16191;; End:
16192
16193 Copyright (C) 2007, 2008 Free Software Foundation, Inc.
16194
16195 This file is part of GNU Emacs.
16196
16197 GNU Emacs is free software: you can redistribute it and/or modify
16198 it under the terms of the GNU General Public License as published by
16199 the Free Software Foundation, either version 3 of the License, or
16200 (at your option) any later version.
16201
16202 GNU Emacs is distributed in the hope that it will be useful,
16203 but WITHOUT ANY WARRANTY; without even the implied warranty of
16204 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16205 GNU General Public License for more details.
16206
16207 You should have received a copy of the GNU General Public License
16208 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
16209
16210;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40