(x-font-family-list): Replace redefinition with
[bpt/emacs.git] / src / ChangeLog
CommitLineData
e7d5ecb3
CY
12008-11-24 Chong Yidong <cyd@stupidchicken.com>
2
3 * minibuf.c (Fcompleting_read, Vminibuffer_completion_confirm):
4 Document confirm-after-completion value for
5 minibuffer-completion-confirm.
6
c285743c
JR
72008-11-24 Jason Rumney <jasonr@gnu.org>
8
9 * w32font.c (check_face_name): Use xstrcasecmp. Avoid compiler
10 warning.
11
b0857706
JR
122008-11-23 Jason Rumney <jasonr@gnu.org>
13
14 * w32uniscribe.c (uniscribe_encode_char): Ensure context is
15 restored before returning.
16
17 * w32font.c (check_face_name): New function.
18 (add_font_entity_to_list): Use it to filter out common substituted
19 fonts.
20
ee50ff07
MR
212008-11-22 Martin Rudalics <rudalics@gmx.at>
22
23 * buffer.c (Fswitch_to_buffer): Reword and mention new option
24 confirm-nonexistent-file-or-buffer in doc-string.
25
b8ff72fa
SM
262008-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
27
28 * buffer.c (Fbuffer_swap_text): Remove redundant marker manipulation.
29 Fix copy/paste typo. Add checks.
30
cee53ed4
KH
312008-11-21 Kenichi Handa <handa@m17n.org>
32
33 * coding.c (detect_coding_iso_2022): Reject invalid composition
34 sequence.
35 (DECODE_COMPOSITION_START): If the current source is the last
36 block, and the current composition doesn't end, regard this
37 sequence as invalid.
38 (decode_coding_iso_2022): Handle invalid composition sequence.
39
f6ef1e65
MR
402008-11-20 Martin Rudalics <rudalics@gmx.at>
41
42 * window.c (coordinates_in_window): Don't return
43 ON_VERTICAL_BORDER for the rightmost position of a mode/header
44 line when the window is not the rightmost one. (Bug#1372)
45
e08b1705
MR
462008-11-16 Ben North <ben@redfrontdoor.org> (tiny change)
47
48 * buffer.c (syms_of_buffer): Fix doc-string of cursor-type.
49
ad98e89f
EZ
502008-11-15 Eli Zaretskii <eliz@gnu.org>
51
52 * msdos.c (run_msdos_command): Don't call dos_ttcooked, dos_ttraw,
53 and bright_bg if noninteractive is non-zero.
54
fb098a4b
CY
552008-11-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
56
57 * xterm.c (x_draw_glyph_string): For stretch glyphs, don't call
58 x_draw_glyph_string_background.
59
60 * w32term.c (x_draw_glyph_string): Likewise.
61
ce952b6e
CY
622008-11-15 Chong Yidong <cyd@stupidchicken.com>
63
64 * xterm.c (x_draw_glyph_string): Stop drawing the background of
65 the next glyph string once past the overhang width.
66
67 * nsterm.m (ns_draw_glyph_string): Likewise.
68
69 * w32term.c (x_draw_glyph_string): Likewise.
70
26ea7079
CY
712008-11-14 Fabrice Popineau <fabrice.popineau@supelec.fr> (tiny change)
72
73 * fileio.c (Finsert_file_contents): Decrement specpdl_ptr to avoid
74 double file close.
75
1c33c906
MR
762008-11-14 Martin Rudalics <rudalics@gmx.at>
77
78 * window.c (window_loop): In DELETE_BUFFER_WINDOWS case, reset
79 dedicated status of window before attempting to display another
80 buffer in it.
81
8fc29035
JB
822008-11-14 Juanma Barranquero <lekktu@gmail.com>
83
84 * msdos.c (Fmsdos_long_file_names):
85 (syms_of_msdos) <dos-unsupported-char-glyph>:
86 * dosfns.c (Fint86): Fix typos in docstrings.
87
55fb4286
EZ
882008-11-14 Eli Zaretskii <eliz@gnu.org>
89
90 * makefile.w32-in (OBJ1, WIN32OBJ): Fix whitespace.
91
3fda0315
KY
922008-11-14 Katsumi Yamaoka <yamaoka@jpl.org>
93
94 * puresize.h (BASE_PURESIZE): Increase to 1260000.
95
7e849c17
CY
962008-11-12 Michal Nazarewicz <mina86@tlen.pl> (tiny change)
97
98 * frame.c (x_set_alpha): Set alpha to -1 if nil given.
99
100 * frame.h: Negative alpha means "don't touch".
101
102 * w32term.c (x_set_frame_alpha): Do nothing if alpha is negative.
103
104 * xterm.c (x_set_frame_alpha): Do nothing if alpha is negative.
105
b9fd67bd
DN
1062008-11-12 Dan Nicolaescu <dann@ics.uci.edu>
107
108 * hftctl.c:
109 * chpdef.h:
110 * acldef.h: Remove files used only for systems no longer supported.
111
112 * Makefile.in: Fix .o alphabetical ordering.
113 (hftctl.o): Remove dependency, file removed.
114 (keymap.o, print.o): Depend on charset.h.
115
d5998e03
KH
1162008-11-10 Kenichi Handa <handa@m17n.org>
117
118 * character.c (Fget_byte): Fix and make it faster for unibyte
119 target.
120
be70e183
CY
1212008-11-08 Chong Yidong <cyd@stupidchicken.com>
122
123 * dired.c (file_name_completion): If completion_ignore_case is
124 enabled, ignore case when checking completion-regexp-list.
125
7cf94eac
EZ
1262008-11-08 Eli Zaretskii <eliz@gnu.org>
127
128 * vm-limit.c (get_lim_data): Fix last change.
129
ee107a89
KH
1302008-11-08 Kenichi Handa <handa@m17n.org>
131
132 * character.c (Fget_byte): New function.
133 (syms_of_character): Defsubr Fget_byte.
134
5fd15622
CY
1352008-11-07 Chong Yidong <cyd@stupidchicken.com>
136
137 * xdisp.c (try_window_reusing_current_matrix): Ensure that window
138 cursor position is valid after scrolling.
139
13d62fad
JB
1402008-11-06 Juanma Barranquero <lekktu@gmail.com>
141
142 * fns.c (Frandom): Rename arg N to LIMIT to match the docs; doc fix.
143
a1dd2936
GM
1442008-11-06 Glenn Morris <rgm@gnu.org>
145
146 * xterm.c (handle_one_xevent): Don't let popup menus cause
147 mouse-autoselect-window related window switching. (Bug#1261)
148
860cd236
CY
1492008-11-04 David Smith <davidsmith@acm.org> (tiny change)
150
151 * xterm.c (xim_close_dpy): Avoid double-free on X11R6 XIM.
152
653a3150
AS
1532008-11-04 Andreas Schwab <schwab@suse.de>
154
155 * xfns.c (Fx_wm_set_size_hint): Add missing return value.
156
870f5cac
CY
1572008-11-03 Chong Yidong <cyd@stupidchicken.com>
158
159 * xfns.c (Fx_wm_set_size_hint): New function.
160
1e02f3cb
MR
1612008-11-03 Martin Rudalics <rudalics@gmx.at>
162
163 * textprop.c (Fprevious_single_char_property_change): Return 0
164 when there's no change in a string. (Bug#1301)
165
e630dfc6
MR
1662008-11-02 Martin Rudalics <rudalics@gmx.at>
167
168 * frame.c (do_switch_frame): New argument NORECORD passed to
169 Fselect_window.
170 (Fselect_frame): New argument NORECORD passed to
171 do_switch_frame.
172 (Fset_frame_selected_window): New argument NORECORD passed to
173 Fselect_frame.
174 (Fhandle_switch_frame, Fdelete_frame): Handle NORECORD argument
175 in call of do_switch_frame.
176 (Fset_mouse_position, Fset_mouse_pixel_position, Fraise_frame):
177 Handle NORECORD argument in call of Fselect_frame.
178 * lisp.h (do_switch_frame, Fselect_frame)
179 (Fset_frame_selected_window): Adjust declarations.
180 * window.c (select_frame_norecord): New function.
181 (run_window_configuration_change_hook): Use it and call
182 Fselect_frame with NORECORD set.
183 (Fselect_window): Pass NORECORD to Fselect_frame.
184 (Fset_window_configuration): Handle NORECORD argument in call of
185 do_switch_frame.
186 * minibuf.c (choose_minibuf_frame): Handle NORECORD in call of
187 Fset_frame_selected_window.
188 * keyboard.c (command_loop_1): Handle NORECORD in call of
189 Fselect_frame (currently ifdefd).
190
9020b223
GM
1912008-11-02 Ulrich Mueller <ulm@kph.uni-mainz.de>
192
193 * emacs.c (USAGE2): Untabify.
194
793ffee8
SM
1952008-11-01 Stefan Monnier <monnier@iro.umontreal.ca>
196
197 * composite.c (fill_gstring_header): Fix copy/paste typo.
198
ab6d1131
MR
1992008-10-31 Martin Rudalics <rudalics@gmx.at>
200
201 * window.c (Fnext_window, Fprevious_window): Rewrite doc-string.
202 (Fother_window): Rename argument and rewrite doc-string.
203 (select_window_norecord): Fix return value. (Bug#1276)
204
601a9cf1
JB
2052008-10-30 Juanma Barranquero <lekktu@gmail.com>
206
207 * w32fns.c (x_create_tip_frame): Prevent default foreground color for
208 new frames overriding foreground for tooltips. Based on similar patch
209 from Martin Rudalics <rudalics@gmx.at>. (Bug#1032)
210
813b0652
CY
2112008-10-29 Chong Yidong <cyd@stupidchicken.com>
212
213 * emacs.c (Fdaemon_initialized): Initialize nfd.
214
4414f58f
MR
2152008-10-29 Martin Rudalics <rudalics@gmx.at>
216
217 * window.c (Fwindow_height, Fdelete_window, set_window_buffer)
218 (Fwindow_text_height): Clarify doc-strings.
219 * xdisp.c (syms_of_xdisp): Mention set-window-buffer in
220 doc-string of window-scroll-functions.
221
ecdcaa09
RS
2222008-10-28 Reiner Steib <Reiner.Steib@gmx.de>
223
224 * category.c (syms_of_category): Fix typo in docstring.
225
23fe745a
JB
2262008-10-28 Juanma Barranquero <lekktu@gmail.com>
227
228 * window.c (Fwindowp, Fwindow_live_p, Fwindow_minibuffer_p)
229 (Fcoordinates_in_window_p, Fscroll_left, Fscroll_right):
230 Fix typos in docstrings.
231
ff808935
DN
2322008-10-28 Dan Nicolaescu <dann@ics.uci.edu>
233
234 * emacs.c (daemon_pipe): Make non-static.
235 (IS_DAEMON): Move definition ...
236 * lisp.h (IS_DAEMON): ... here.
237 (daemon_pipe): Declare.
238 (is_daemon): Remove.
239 * dispnew.c (init_display): Use IS_DAEMON.
240
fc012771
SM
2412008-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
242
243 * xdisp.c (pos_visible_p, redisplay_internal, message3_nolog)
244 (message2_nolog): Check FRAME_INITIAL_P instead of noninteractively.
245
246 * emacs.c (is_daemon): Remove.
247 (main): Don't set is_daemon.
248 (IS_DAEMON): New macro.
249 (Fdaemonp, Fdaemon_initialized): Use it.
601a9cf1 250 (Fdaemon_initialized): Write a char into the pipe to make sure the
fc012771
SM
251 parent exits.
252 (syms_of_emacs): Explicitly initialize daemon_pipe[1].
253
d8bdbe6f
CY
2542008-10-27 Chong Yidong <cyd@stupidchicken.com>
255
d1a072bf
CY
256 * nsterm.m (ns_draw_window_cursor): When hbar cursor is on
257 over-sized glyph, draw it with the default glyph width.
258
e2e325aa
CY
259 * w32term.c (x_draw_bar_cursor): When hbar cursor is on over-sized
260 glyph, draw it with the default glyph width.
261
262 * xterm.c (x_draw_bar_cursor): When hbar cursor is on over-sized
263 glyph, draw it with the default glyph width.
264
d8bdbe6f
CY
265 * xdisp.c (try_scrolling): When computing the distance from the
266 scroll margin to PT, try moving some distance past the window
267 bottom before giving up.
268
7bfac547
MR
2692008-10-27 Martin Rudalics <rudalics@gmx.at>
270
271 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p)
272 (Fset_window_buffer): Explain in doc-string that a window can be
273 "strongly" dedicated to its buffer.
274
4ff029f6
DN
2752008-10-27 Dan Nicolaescu <dann@ics.uci.edu>
276
277 * emacs.c (daemon_name): New variable.
278 (main): Deal with --daemon=SERVER_NAME.
279 (Fdaemonp): Return a name if one was passed to --daemon.
280
5790ef40
DN
2812008-10-26 Romain Francoise <romain@orebokech.com>
282
f9bd0df9 283 * emacs.c (daemon_pipe): New variable.
5790ef40
DN
284 (main): Create a pipe before forking, make the parent exit only after
285 the child has closed its end of the pipe. Move closing the
286 descriptors ...
287 (Fdaemon_initialized): ... here. New function.
288
f5385255
SM
2892008-10-26 Stefan Monnier <monnier@iro.umontreal.ca>
290
4d632321
SM
291 * chartab.c (Foptimize_char_table): Make sure `ascii' doesn't point to
292 the previous unoptimized table.
293
f5385255
SM
294 * window.c (Fset_window_buffer): Undo 2008-10-18 change to re-instate
295 the distinction between non-nil and non-t value of `dedicated'.
296
6c56a0f3
CY
2972008-10-25 Chong Yidong <cyd@stupidchicken.com>
298
299 * keyboard.c (read_char_minibuf_menu_prompt): Ensure that
f5385255 300 read_char_minibuf_menu_text is large enough to hold the menu string.
6c56a0f3 301
fec89261
MR
3022008-10-25 Martin Rudalics <rudalics@gmx.at>
303
304 * window.c (Fget_buffer_window, Fdelete_windows_on)
305 (Freplace_buffer_in_windows): Make buffer argument optional and
306 rename to buffer_or_name.
307
34fcddd0
CY
3082008-10-24 Chong Yidong <cyd@stupidchicken.com>
309
f5385255
SM
310 * xdisp.c (handle_single_display_spec, handle_display_prop):
311 Undo 2005-05-16 change.
34fcddd0
CY
312 (handle_stop): Pop iterator if it's loaded with an empty string.
313 (get_overlay_strings_1): Don't save iterator if it's loaded with
314 an empty string (bug#1201).
315
064766f2
KH
3162008-10-24 Kenichi Handa <handa@m17n.org>
317
318 * ftfont.c (ftfont_otf_features): Fix previous change.
319 (ftfont_otf_capability): Check FeatureList.FeatureCount before
320 calling ftfont_otf_features.
321
f9bd0df9 3222008-10-24 Kenichi Handa <handa@m17n.org>
064766f2
KH
323
324 * font.c (font_match_p): Fix for the case that a vector of
325 characters is in script-representative-chars.
326
1dae9197
MA
3272008-10-24 Michael Albinus <michael.albinus@gmx.de>
328
329 * dbusbind.c (xd_in_read_queued_messages): New variable.
f5385255 330 (XD_SIGNAL1, XD_SIGNAL2, XD_SIGNAL3): New macros. Throw Qdbus_error.
1dae9197
MA
331 (xd_read_queued_messages): Catch Qdbus_error from the macros.
332 (all): Replace xsignal1, xsignal2, xsignal3 by the respective
333 macro. (Bug#1186).
334
f9bd0df9 3352008-10-23 Ali Bahrami <ali_gnu@emvision.com> (tiny change)
9b3362b8
DN
336
337 * s/sol2-10.h: New file.
338
878a4584
JB
3392008-10-23 Juanma Barranquero <lekktu@gmail.com>
340
341 * xdisp.c (fill_glyph_string): Fix typo in source (though the
342 poor beast has survived 9+ years and the jump from xterm.c!).
343
cd265ca6
MR
3442008-10-23 Martin Rudalics <rudalics@gmx.at>
345
346 * buffer.c (Fget_buffer_create): Rename arg to buffer_or_name.
347 Reword doc-string.
f5385255 348 (Fbury_buffer): In doc-string say what happens to the buffer's window.
cd265ca6 349
472a4dc9
JB
3502008-10-23 Juanma Barranquero <lekktu@gmail.com>
351
352 * character.c (syms_of_character) <script-representative-chars>:
353 <unicode-category-table>: Doc fixes.
354
159bd5a2
NF
3552008-10-23 Noah Friedman <friedman@splode.com>
356
357 * coding.c (make_conversion_work_buffer): Check that
358 Vcode_conversion_reused_workbuf is a live buffer, otherwise call
359 Fget_buffer_create.
360
49f9c344
KH
3612008-10-23 Kenichi Handa <handa@m17n.org>
362
363 * font.c (font_add_log): Check the values of extra properties.
364
12bb3111
MR
3652008-10-22 Martin Rudalics <rudalics@gmx.at>
366
367 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
368 Reword doc-string.
369 (Fset_window_parameter): Use NILP.
370 (Fscroll_up, Fscroll_down, Fminibuffer_selected_window)
f5385255 371 (Frecenter): Use "selected" instead of "current" window in doc-strings.
12bb3111 372
bbeb4e99
JB
3732008-10-22 Juanma Barranquero <lekktu@gmail.com>
374
375 * xdisp.c (next_element_from_buffer): Remove bogus xassert condition.
376
3772008-10-22 Adrian Robert <Adrian.B.Robert@gmail.com>
cb83c00b
AR
378
379 * nsfns.m (ns_appkit_version): New function.
380 (x-server-version): Use it.
381 (syms_of_nsfns): Define ns-version-string here, not nsterm.m.
382 (x-server-vendor): Don't check_ns().
383
384 * nsterm.m (syms_of_nsterm): Drop ns-version-string.
385
a9b555d3
JB
3862008-10-22 Juanma Barranquero <lekktu@gmail.com>
387
388 * w32fns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert.
389 Copied from 2005-02-03 change to xfns.c by Kim F. Storm.
390
4626499f
KH
3912008-10-22 Kenichi Handa <handa@m17n.org>
392
e3681952
KH
393 * syntax.c (scan_words): Call word_boundary_p instead of comparing
394 scripts.
395
4626499f
KH
396 * category.c (word_boundary_p): Check scripts instead of charset.
397 Handle nil value in word-separating-categories and
398 word-combining-categories.
399 (syms_of_category): Fix docstrings of word-separating-categories
400 and word-combining-categories.
401
1560f91a
EZ
4022008-10-21 Eli Zaretskii <eliz@gnu.org>
403
404 * coding.c (Fencode_coding_region, Fdecode_coding_region)
405 (Fdecode_coding_string, Fencode_coding_string): Doc fix.
406
f4668441
MR
4072008-10-21 Martin Rudalics <rudalics@gmx.at>
408
409 * buffer.c (Fget_buffer, Fbury_buffer, switch_to_buffer_1):
410 Rename arg "buffer" to "buffer_or_name".
411 (Fkill_buffer): Rename arg "buffer" to "buffer_or_name" and make
412 it optional.
413 (no_switch_window): Remove since the return value is not used.
a9b555d3 414 (Fswitch_to_buffer): Rename arg "buffer" to "buffer_or_name".
f4668441
MR
415 Consider window as dedicated when Fwindow_dedicated_p returns a
416 non-nil value.
417 * lisp.h: Remove prototype for no_switch_window.
418
fd75ddb2
JD
4192008-10-21 Jan Djärv <jan.h.d@swipnet.se>
420
421 * emacs.c (main): Unconditionally set PER_LINUX32 and exec
422 temacs when dumping if HAVE_PERSONALITY_LINUX32 is defined
423
07295713
KH
4242008-10-21 Kenichi Handa <handa@m17n.org>
425
426 * coding.c (detect_coding_charset): For iso-8859-* coding systems,
427 check Vlatin_extra_code_table.
428
712adc82
EZ
4292008-10-20 Eli Zaretskii <eliz@gnu.org>
430
431 * fileio.c (Fset_file_modes): Doc fix.
432
f549eb0b
MA
4332008-10-19 Michael Albinus <michael.albinus@gmx.de>
434
435 * dbusbind.c (XD_OBJECT_TO_DBUS_TYPE): Handle simple type symbols
436 in arrays.
437
aac0c6e3
MR
4382008-10-19 Martin Rudalics <rudalics@gmx.at>
439
440 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
441 Mention kill-buffer in doc-string.
442 (Fset_window_buffer): Reinsert tem check removed in last commit.
443 (Fenlarge_window, Fshrink_window): Have argument names and
444 doc-string follow Elisp manual more closely.
445
4462008-10-18 Eli Zaretskii <eliz@gnu.org>
447
448 * fileio.c (Fset_file_modes): Doc fix.
449
4502008-10-18 Martin Rudalics <rudalics@gmx.at>
451
452 * window.c (Fwindow_width, Fset_window_start)
453 (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter)
f5385255
SM
454 (Fdelete_windows_on, Freplace_buffer_in_windows):
455 Make doc-strings follow code and Elisp manual more closely.
aac0c6e3
MR
456 (Fwindow_dedicated_p): Make window argument optional.
457 (Fset_window_dedicated_p): Rename argument "arg" to "flag".
458 (Fset_window_buffer): Respect any non-nil dedicated value for
459 window. Rename "buffer" argument to "buffer_or_name".
460
4612008-10-18 Ulrich Mueller <ulm@gentoo.org>
462
463 * m/sh3.h: New file, machine description for SuperH.
464
4652008-10-17 Martin Rudalics <rudalics@gmx.at>
466
467 * window.c (Fsplit_window): Rename arg horflag to horizontal.
468
4692008-10-17 Kenichi Handa <handa@m17n.org>
470
471 * ftfont.c (ftfont_otf_features): Fix indexing
472 gsub_gpos->FeatureList.Feature. Check the validity of indices.
473
4742008-10-16 Magnus Henoch <mange@freemail.hu>
475
476 * dbusbind.c (Fdbus_call_method): Unbreak usage line.
477 (Fdbus_call_method_asynchronously): Ditto.
478 This change makes C-h f display the argument list.
479
4802008-10-16 Chong Yidong <cyd@stupidchicken.com>
481
482 * fileio.c (Fexpand_file_name): Doc fix.
483
484 * xfaces.c (Finternal_set_lisp_face_attribute): Make null values
485 of :foreground and :background equivalent to unspecified (20.x
486 compatibility).
487
4882008-10-15 Eli Zaretskii <eliz@gnu.org>
489
490 * buffer.c (syms_of_buffer): Doc fix.
491
4922008-10-14 Kenichi Handa <handa@m17n.org>
493
494 * font.c (font_clear_prop): When clearing font width, clear the
495 average width field too.
496
4972008-10-12 Andreas Schwab <schwab@suse.de>
498
499 * ftfont.c (ftfont_shape_by_flt): Make static.
500 * ftfont.h (ftfont_shape_by_flt): Don't declare.
501
502 * font.c: Don't include <m17n-flt.h>.
503
5042008-10-10 Eli Zaretskii <eliz@gnu.org>
505
506 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Decrease to 10000.
507
5082008-10-09 Eli Zaretskii <eliz@gnu.org>
509
510 * frame.c (make_terminal_frame) [MSDOS]: Remove unused #ifdef'ed
511 away code.
512
5132008-10-09 Chong Yidong <cyd@stupidchicken.com>
514
515 * dispnew.c (update_text_area): Avoid looping due to large glyph
516 overhangs (bug#1070).
517
5182008-10-09 Kenichi Handa <handa@m17n.org>
519
520 * fontset.c (face_for_char): If face->fontset is negative, just
521 return ascii_face.
522
f5385255
SM
523 * font.c (font_delete_unmatched): Fix previous change.
524 Don't reject an entity if DPI and AVGWIDTH of an entity are 0.
aac0c6e3
MR
525
5262008-10-09 Martin Rudalics <rudalics@gmx.at>
527
528 * frame.c (Fraise_frame): On text-only terminals select frame in
529 order to make it visible. (Bug#1061)
530
5312008-10-08 Chong Yidong <cyd@stupidchicken.com>
532
533 * fontset.c (fontset_find_font): Check frame validity.
534
5352008-10-07 Chong Yidong <cyd@stupidchicken.com>
536
a9b555d3 537 * gtkutil.c (xg_display_open): Reset default display if none exists.
aac0c6e3
MR
538 (xg_display_close): Allow Emacs to close all displays (bug#985).
539
5402008-10-06 Andreas Schwab <schwab@suse.de>
541
f5385255 542 * sysdep.c (sys_signal): Always set SA_RESTART when noninteractively.
aac0c6e3
MR
543
5442008-10-06 Chong Yidong <cyd@stupidchicken.com>
545
f5385255 546 * emacs.c (Vbefore_init_time, Vafter_init_time): Move from startup.el.
aac0c6e3 547
a9b555d3 548 * lisp.h (Vbefore_init_time, Vafter_init_time): Declare.
aac0c6e3
MR
549
550 * gtkutil.c (x_wm_set_size_hint): Return immediately if called
551 during initialization.
552
5532008-10-04 Eli Zaretskii <eliz@gnu.org>
554
555 * xdisp.c (redisplay_internal): If frame switched, redisplay the
556 whole thing on MSDOS frames as well as on a TTY.
557
558 * dispnew.c (update_frame): Flush termscript for MSDOS frames as
559 well as for TTY.
560 (Fopen_termscript): Allow opening a termscript on MSDOS frames as
561 well as on a TTY.
562
563 * sysdep.c (init_sys_modes): Set FRAME_GARBAGED_P for MSDOS frames
564 as well as for TTY.
565
566 * systime.h (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
567
568 * dispnew.c (change_frame_size_1): Set FrameRows and FrameCols for
569 MSDOS frames as well.
570
5712008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
572
573 * image.c (x_clear_image_1): Under NS, call ns_free_indexed_color with
574 correct arguments.
575 * menu.c (find_and_return_menu_selection) Add cast.
576
5772008-10-03 Glenn Morris <rgm@gnu.org>
578
579 * emacs.c (USAGE1): Add --daemon.
580
5812008-10-02 Eli Zaretskii <eliz@gnu.org>
582
583 * process.c (procfs_system_process_attributes): Multiply `pcpu' by
584 100, so it's in percents as advertised.
585
5862008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
587
588 * nsterm.h (ns_cursor_types, ns_output.desired_cursor_color)
589 (ns_output.current_cursor, ns_output.desired_cursor)
590 (ns_output.last_inactive, FRAME_CURSOR, FRAME_NEW_CURSOR)
591 (FRAME_NEW_CURSOR_COLOR): Remove.
592
593 * nsfns.m (ns_set_cursor_color): Use FRAME_CURSOR_COLOR.
a9b555d3 594 (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp): Use core Emacs
aac0c6e3
MR
595 enumeration (HOLLOW_BOX_CURSOR, etc.).
596
597 * nsterm.m (ns_frame_rehighlight): Remove commented code.
598 (draw_window_cursor): Simplify code.
f5385255
SM
599 (EmacsView-windowDidBecomeKey:,-windowDidResignKey:):
600 Don't change cursor type. In latter, call rehighlight instead of doing
aac0c6e3 601 updates manually.
a9b555d3
JB
602 (EmacsPrefsController-setPanelFromValues,-setValuesFromPanel):
603 Use core Emacs cursor types.
aac0c6e3 604
b8ff72fa 605 * xdisp.c (draw_glyphs): Don't call notice_overwritten_cursor under NS.
aac0c6e3
MR
606
6072008-10-02 Martin Rudalics <rudalics@gmx.at>
608
609 * process.c (Faccept_process_output): Fix doc-string.
610
6112008-10-02 Dan Nicolaescu <dann@ics.uci.edu>
612
613 * gmalloc.c (__sbrk): Also define for uClibc.
614
615 * s/gnu-linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Add definition
616 for uClibc.
617
6182008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
619
620 * nsfont.m (nsfont_spec_to_traits): Use UnXX masks only for non-normal
621 styles.
622 (nsfont_open): Reenable the cache.
623
6242008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
625
626 * font.c (font_matching_entity): Reflect ATTRS in font selection.
627 (font_find_for_lface) [HAVE_NS]: Don't ignore case.
628
6292008-09-30 Stefan Monnier <monnier@iro.umontreal.ca>
630
631 * dispnew.c (Fsend_string_to_terminal): Don't try to send a string to
632 a suspended terminal.
633
6342008-09-30 Michael Albinus <michael.albinus@gmx.de>
635
636 * dbusbind.c (xd_signature): Use strcat instead of sprintf.
637
6382008-09-30 Eli Zaretskii <eliz@gnu.org>
639
640 * Makefile.in (MSDOS_SUPPORT): Remove ccl.elc and codepage.elc.
641
6422008-09-30 Chong Yidong <cyd@stupidchicken.com>
643
644 * xdisp.c (move_it_to): Don't advance the iterator if the last tab
645 in a continued line coincides with a line beginning.
646
6472008-09-29 Adrian Robert <Adrian.B.Robert@gmail.com>
648
649 * nsfont.m (nsfont_trait_distance): Fix bug.
650 (nsfont_list): Return a list rather than a vector (syncs with Handa
651 changes of 2008-05-14).
652 (nsfont_open): Improve logging.
653
6542008-09-29 Andreas Schwab <schwab@suse.de>
655
656 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
657
6582008-09-28 Martin Rudalics <rudalics@gmx.at>
659
660 * character.c (Fchar_resolve_modifiers): Rewrite Elisp function
661 name as char-resolve-modifiers.
662 Reported by: Markus Triska <markus.triska@gmx.at>
663
6642008-09-28 Dan Nicolaescu <dann@ics.uci.edu>
665
666 * dispnew.c (init_display): Return earlier when running as a daemon.
667
6682008-09-27 Adrian Robert <Adrian.B.Robert@gmail.com>
669
670 * nsfont.m (nsfont_draw): Fix up composition rendering (cmp_from, ...).
671
6722008-09-27 Eli Zaretskii <eliz@gnu.org>
673
674 * composite.c (Fcomposition_get_gstring)
675 (Fcompose_region_internal, Fcompose_string_internal)
676 (Ffind_composition_internal): Doc fix.
677 (syms_of_composite) <compose-chars-after-function>: Doc fix.
678 (syms_of_composite) <auto-composition-function>: Doc fix.
679 (syms_of_composite) <composition-function-table>: Doc fix.
680
6812008-09-25 Chong Yidong <cyd@stupidchicken.com>
682
683 * search.c (wordify): New argument for lax word-ends.
684 (Fword_search_forward_lax, Fword_search_backward_lax): New funs.
685
6862008-09-24 Dan Nicolaescu <dann@ics.uci.edu>
687
688 * lisp.h (is_daemon): Declare.
689 * dispnew.c (init_display): Do not try to initialize the terminal
690 when running as a daemon.
691
6922008-09-22 Chong Yidong <cyd@stupidchicken.com>
693
694 * nsfns.m (compute_tip_xy): Use x_display_pixel_width and
695 x_display_pixel_height.
696
6972008-09-22 Martin Rudalics <rudalics@gmx.at>
698
699 * undo.c (record_point): Don't call Fundo_boundary for first
700 change. (Bug#731)
701
7022008-09-22 Juanma Barranquero <lekktu@gmail.com>
703
704 * emacs.c (Fdaemonp): Doc fix.
705
7062008-09-22 Dan Nicolaescu <dann@ics.uci.edu>
707
708 * emacs.c (main): Place #ifdef in the proper place.
709
7102008-09-21 Dan Nicolaescu <dann@ics.uci.edu>
711
712 * emacs.c (standard_args): Add --daemon.
713 (main): Disconnect from the terminal when --daemon is passed.
714 (is_daemon): New variable.
715 (Fdaemonp): New function.
716 (syms_of_emacs): Defsubr it.
717
7182008-09-20 Chong Yidong <cyd@stupidchicken.com>
719
720 * xdisp.c (get_next_display_element): Handle string display
721 correctly when checking for the end of a box run.
722
7232008-09-20 Glenn Morris <rgm@gnu.org>
724
725 * fileio.c (Qdelete_by_moving_to_trash): New Lisp_Object.
726 (syms_of_fileio): Add Qdelete_by_moving_to_trash.
727 (Frename_file): Avoid copying to trash if a rename involves
728 a delete. (Bug#964).
729
7302008-09-20 Eli Zaretskii <eliz@gnu.org>
731
732 * keyboard.c (Fset_quit_char, Fset_input_meta_mode)
733 (Fset_output_flow_control, Fcurrent_input_mode): Support MSDOS
734 frames as well as termcap frames.
735 (handle_interrupt): Remove "#ifndef MSDOS" around the call to
736 get_named_tty.
737
7382008-09-19 Eli Zaretskii <eliz@gnu.org>
739
740 * process.c (procfs_system_process_attributes): Fix cmdline in
741 case /proc/PID/cmdline is empty.
742
743 * xterm.c (x_wm_set_size_hint): Use x_display_pixel_width and
744 x_display_pixel_height.
745
7462008-09-19 Juanma Barranquero <lekktu@gmail.com>
747
748 * frame.c (x_fullscreen_adjust): Declare var as Display_Info.
749
750 * w32fns.c (Fx_display_pixel_width, Fx_display_pixel_height)
751 (compute_tip_xy): Use x_display_pixel_width, x_display_pixel_height.
752
7532008-09-19 Dan Nicolaescu <dann@ics.uci.edu>
754
755 * dispextern.h (struct it): Move line_wrap away from the middle of
756 bitfields. Move voffset in struct iterator_stack_entry after the
757 bitfields. Move tab_width near after another short.
758
7592008-09-18 Dan Nicolaescu <dann@ics.uci.edu>
760
761 * frame.h (struct frame): Move alpha from the middle of bitfields.
762
763 * window.h (struct window): Move frozen_window_start_p after the
764 rest of the bitfields to reduce padding.
765
7662008-09-18 Chong Yidong <cyd@stupidchicken.com>
767
768 * xterm.h (x_display_info): Remove `height' and `width' members.
769
770 * nsterm.h (ns_display_info): Remove `height' and `width' members.
771
772 * w32term.h (w32_display_info): Remove `height', `width',
773 `height_in', and `width_in' members.
774
b8ff72fa
SM
775 * xterm.c (x_display_pixel_height, x_display_pixel_width):
776 New functions.
aac0c6e3
MR
777 (x_calc_absolute_position): Use them.
778 (x_term_init): Omit removed `height' and `width' members.
779
b8ff72fa
SM
780 * w32term.c (x_display_pixel_height, x_display_pixel_width):
781 New functions.
aac0c6e3
MR
782 (w32_read_socket, x_calc_absolute_position): Use them.
783 (w32_initialize_display_info, w32_term_init): Omit removed members
784 of w32_display_info.
785
b8ff72fa
SM
786 * nsterm.m (x_display_pixel_height, x_display_pixel_width):
787 New functions.
788 (ns_initialize_display_info): Omit removed members of ns_display_info.
aac0c6e3 789
b8ff72fa
SM
790 * xterm.c (x_display_pixel_height, x_display_pixel_width):
791 New functions.
aac0c6e3
MR
792 (x_calc_absolute_position): Use them.
793 (x_term_init): Omit removed `height' and `width' members.
794
795 * xfns.c (Fx_display_pixel_width, Fx_display_pixel_height)
b8ff72fa
SM
796 (compute_tip_xy):
797 * frame.c (x_fullscreen_adjust):
aac0c6e3
MR
798 * xmenu.c (menu_position_func): Use x_display_pixel_height and
799 x_display_pixel_width.
800
8012008-09-18 Kenichi Handa <handa@m17n.org>
802
803 * composite.c (fill_gstring_header): Don't check FROM and TO here.
804 (composition_compute_stop_pos): Fix handling of static composition.
805 (Fcomposition_get_gstring): Check FROM and TO at first.
806
8072008-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
808
809 * composite.c (Fcomposition_get_gstring): Yet another int/Lisp_Oject
810 mixup (YAILOM).
811
8122008-09-17 Chong Yidong <cyd@stupidchicken.com>
813
814 * indent.c (Fvertical_motion): Use position reported by iterator
815 instead of PT for determining screen motion (bug#943).
816
8172008-09-17 Romain Francoise <romain@orebokech.com>
818
819 * composite.c (composition_adjust_point): Fix int/EMACS_INT mixup.
820
8212008-09-17 Kenichi Handa <handa@m17n.org>
822
823 * ftfont.c (ftfont_shape_by_flt): Downcase family name.
824
825 * composite.c (Fcomposition_get_gstring): Make bigger gstring_work
826 if necessary.
827
8282008-09-16 Kenichi Handa <handa@m17n.org>
829
830 * coding.c (make_conversion_work_buffer): Avoid calling
831 Fget_buffer_create if it is not necessary.
832
8332008-09-15 Martin Rudalics <rudalics@gmx.at>
834
835 * window.c (Fselect_window): Don't update window_select_count and
836 use_time when norecord is not nil.
837
8382008-09-14 Kenichi Handa <handa@m17n.org>
839
840 * fileio.c (Finsert_file_contents): Delete incorrect decrement of
841 specpdl_ptr.
842
8432008-09-12 Kenichi Handa <handa@m17n.org>
844
845 * indent.c (scan_for_column): Don't handle automatic composition
846 if the current buffer is not associated with a window.
847
848 * composite.c (composition_reseat_it): If the current buffer is
849 not associated with a window, ignore the automatic composition.
850 (find_automatic_composition): Likewise.
851
8522008-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
853
854 * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
855 (Fgpm_mouse_stop): Use it.
856 * termhooks.h (close_gpm): Declare.
857 * keyboard.c (tty_read_avail_input): Forcefully close the gpm
858 connection if Gpm_GetEvent fails.
859
860 * window.c (set_window_buffer): Always preserve current-buffer.
861
8622008-09-12 Glenn Morris <rgm@gnu.org>
863
864 * charset.c (init_charset): Warn if etc/charsets not found. (Bug#909)
865
8662008-09-11 Glenn Morris <rgm@gnu.org>
867
868 * charset.c (charset-map-path): Doc fix.
869
8702008-09-10 Kenichi Handa <handa@m17n.org>
871
872 * xdisp.c (handle_composition_prop): Set it->cmp_it.ch to -1.
873
874 * font.c (Ffont_shape_gstring): Make glyphs of non-nil adjustment
875 compose a grapheme cluster with the preceding base glyph.
876
877 * composite.c (composition_compute_stop_pos): Fix previous change.
878 Reset cmp_it->id to -1 at first.
879
8802008-09-10 Glenn Morris <rgm@gnu.org>
881
882 * Makefile.in (character.o, chartab.o): Fix config.h typo.
883
8842008-09-09 Chong Yidong <cyd@stupidchicken.com>
885
886 * keyboard.c (read_key_sequence): Reapply translation maps when
887 switching keyboards.
888
8892008-09-09 Kenichi Handa <handa@m17n.org>
890
891 * ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII
892 characters.
893
894 * composite.c (FORWARD_CHAR): Fix calculation
895 of (POSITION).pos_byte.
896 (composition_compute_stop_pos): Limit the search of composition to
897 at most 500 characters ahead. If we reach the limit or find a
898 newline, set cmp_it->ch to -2 and return 0.
899 (composition_reseat_it): Handle the case that cmp_it->ch is -2.
900
9012008-09-08 Kenichi Handa <handa@m17n.org>
902
903 * indent.c (Fvertical_motion): Be sure to set
904 it_overshoot_expected if it.cmp_it.id is non-negative.
905
9062008-09-07 Andreas Schwab <schwab@suse.de>
907
908 * callproc.c (Fcall_process): Don't hold references to string data
909 across garbage collection. Move initialisation of new_argv down
910 to avoid compiler bug.
911
9122008-09-07 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
913
914 * process.c (Fsystem_process_attributes): Doc fix.
915
9162008-09-07 Chong Yidong <cyd@stupidchicken.com>
917
918 * callproc.c (Fcall_process): Canonicalize current directory name.
919
920 * xdisp.c (move_it_to): When moving by vpos, ensure that the
921 iterator advances to the next line if the current line ends in a
922 continued tab.
923
9242008-09-07 Teodor Zlatanov <tzz@lifelogs.com>
925
926 * nsfont.m (nsfont_draw): Fix the references to missing gidx data
927 member to point to cmp_from.
928
929 * xdisp.c: Doc fix for references to gidx data member.
930
9312008-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
932
933 * buffer.c (Fbuffer_swap_text): Reset window->point markers.
934
9352008-09-07 Kenichi Handa <handa@m17n.org>
936
937 * composite.c (FORWARD_CHAR): Check STOP after
938 incrementing (POSITION).pos.
939
9402008-09-06 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
941
942 * process.c (Fsystem_process_attributes): Doc fix.
943
9442008-09-06 Chong Yidong <cyd@stupidchicken.com>
945
946 * keyboard.c (Ftop_level): Doc fix.
947
9482008-09-06 Eli Zaretskii <eliz@gnu.org>
949
950 * xmenu.c (xmenu_show) [!HAVE_X_WINDOWS]: If frame has a
951 minibuffer, don't let lower part of menu invade the echo area.
952
953 * msdos.c (IT_menu_display): Use STRING_CHAR_ADVANCE instead of a
954 "char *q" to access menu text and advance through it. Revert the
955 change that displayed ">" instead of ASCII character 0x10.
956
9572008-09-05 Eli Zaretskii <eliz@gnu.org>
958
959 * menu.c (single_menu_item) [!HAVE_BOXES]: Enable emulation of
960 toggle boxes and radio buttons on MS-DOS as well.
961
9622008-09-05 Kenichi Handa <handa@m17n.org>
963
964 * composite.c (autocmp_chars): Check lookback count.
965 (composition_compute_stop_pos): Set cmp_it->lookback.
966 (composition_reseat_it): Check lookback count.
967 (struct position_record): New struct.
968 (FORWARD_CHAR, BACKWARD_CHAR, CHAR_COMPOSABLE_P): New macros.
969 (find_automatic_composition): New function.
970 (composition_adjust_point): Use find_automatic_composition.
971
972 * dispextern.h (struct composition_it): New member lookback.
973
9742008-09-02 Chong Yidong <cyd@stupidchicken.com>
975
976 * indent.c (Fvertical_motion): Don't call move_it_by_lines again
977 if moving by a single line.
978
9792008-09-02 Andreas Schwab <schwab@suse.de>
980
981 * xterm.c (x_delete_display): Fix merge error.
982
983 * fileio.c (Fexpand_file_name): Remove unused variables.
984
9852008-09-02 Eli Zaretskii <eliz@gnu.org>
986
987 * fileio.c (Fexpand_file_name): Copy argument `name' into local
988 storage on all platforms, not just on DOS_NT.
989
9902008-09-02 Jason Rumney <jasonr@gnu.org>
991
b8ff72fa
SM
992 * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show):
993 Ensure mouse is not grabbed after menu is finished.
aac0c6e3
MR
994
9952008-09-01 Chong Yidong <cyd@stupidchicken.com>
996
997 * xfaces.c (Finternal_set_alternative_font_family_alist)
998 (Finternal_set_alternative_font_registry_alist): Properly copy
999 entire alist structure.
1000
10012008-09-01 Kenichi Handa <handa@m17n.org>
1002
1003 * ftfont.c (ftfont_spec_pattern): Don't create a charset of the
1004 representative chars of the script is a vector.
1005 (ftfont_list): Handle the case the representative chars of the
1006 script is a vector.
1007
1008 * character.c (syms_of_character): Docstring of
1009 script-representative-chars fixed.
1010
10112008-08-31 Eli Zaretskii <eliz@gnu.org>
1012
1013 * msdos.c (BUILD_CHAR_GLYPH): New macro.
1014 (IT_menu_display): Use it instead of SET_CHAR_GLYPH to construct
1015 the menu. Allocate larger buffer for `text', to account for
1016 possible ^C characters.
1017
10182008-08-31 Martin Rudalics <rudalics@gmx.at>
1019
1020 * xdisp.c (prepare_menu_bars): Don't call
1021 Vwindow_size_change_functions with arg Qt.
1022
10232008-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
1024
1025 * font.h (font_range):
1026 * fileio.c (report_file_error):
1027 * composite.c (composition_update_it): Yet another int/Lisp_Oject mixup.
1028
10292008-08-30 Glenn Morris <rgm@gnu.org>
1030
1031 * data.c (Fmake_variable_frame_local): Doc fix.
1032
1033 * frame.c (Fmodify_frame_parameters): Doc fix.
1034
10352008-08-30 Eli Zaretskii <eliz@gnu.org>
1036
1037 * w32.c (init_user_info): Allocate buf[] with xmalloc using the size
1038 needed by GetTokenInformation.
1039 (w32_system_process_attributes): Check return values of all system
1040 APIs.
1041
1042 * msdos.c (IT_display_cursor): Write "CURSOR ON/OFF" to termscript
1043 only when the state changes.
1044 (IT_update_begin, IT_update_end): Add termscript trace.
1045
1046 * w16select.c (Fw16_set_clipboard_data): Don't encode text if
1047 clipboard is unavailable. Set dst to NULL if it doesn't point to
1048 malloc'ed data.
1049 (Fw16_get_clipboard_data): Initialize htext to NULL, to avoid
1050 passing random values to xfree.
1051
1052 * dispnew.c (init_display): Set `tty's association in frame's
b8ff72fa 1053 parameters alist to the name of the terminal device, if that is known.
aac0c6e3
MR
1054
10552008-08-29 Jason Rumney <jasonr@gnu.org>
1056
1057 * w32uniscribe.c (uniscribe_check_otf): Don't fallback on DFLT script.
1058
10592008-08-29 Eli Zaretskii <eliz@gnu.org>
1060
1061 * composite.c (fill_gstring_body): Avoid compiler warnings.
1062
1063 * font.c (font_fill_lglyph_metrics): Use EMACS_INT in
1064 LGLYPH_SET_CODE to avoid compiler warnings.
1065
1066 * makefile.w32-in ($(BLD)/w32uniscribe.$(O)): Depend on composite.h
1067
1068 * composite.h (LGLYPH_SET_CODE): Cast `val' to EMACS_INT.
1069
1070 * w32uniscribe.c (uniscribe_shape): Shut up compiler warning in
1071 LGLYPH_SET_CODE.
1072
10732008-08-29 Kenichi Handa <handa@m17n.org>
1074
1075 * fileio.c (report_file_error): Don't downcase the first character
1076 of errstring if it is still unibyte.
1077
10782008-08-29 Kenichi Handa <handa@m17n.org>
1079
1080 These changes are to re-implement the automatic composition so
1081 that it doesn't use text properties.
1082
1083 * Makefile.in (ftfont.o): Depend on composite.h.
1084 (composite.o): Depend dispextern.h, font.h, frame, and window.h.
1085
1086 * character.h (Vunicode_category_table): Extern it.
1087
1088 * character.c (Vunicode_category_table): New variable.
1089 (syms_of_character): DEFVAR_LISP Vunicode_category_table.
1090
1091 * chartab.c (optimize_sub_char_table): Perform more greedy
1092 optimization.
1093
b8ff72fa
SM
1094 * composite.h (enum composition_method):
1095 Delete COMPOSITION_WITH_GLYPH_STRING.
aac0c6e3
MR
1096 (COMPOSITION_METHOD): Don't check COMPOSITION_WITH_GLYPH_STRING.
1097 (Vcomposition_function_table): Extern it.
1098 (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h.
1099 (composition_gstring_put_cache, composition_gstring_from_id)
1100 (composition_gstring_p, composition_gstring_width)
1101 (composition_compute_stop_pos, composition_reseat_it)
1102 (composition_update_it, composition_adjust_point): Extern them.
1103 (Fcomposition_get_gstring): EXFUN it.
1104
1105 * composite.c: Include window.h, frame.h, dispextern.h font.h.
1106 (Vcomposition_function_table)
1107 (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING.
b8ff72fa
SM
1108 (gstring_hash_table, gstring_work, gstring_work_headers):
1109 New variables.
aac0c6e3
MR
1110 (gstring_lookup_cache, composition_gstring_put_cache)
1111 (composition_gstring_from_id, composition_gstring_p)
1112 (composition_gstring_width, fill_gstring_header)
1113 (fill_gstring_body, autocmp_chars, composition_compute_stop_pos)
1114 (composition_reseat_it, composition_update_it)
b8ff72fa 1115 (composition_adjust_point, Fcomposition_get_gstring): New functions.
aac0c6e3
MR
1116 (syms_of_composite): Initialize gstring_hash_table, gstrint_work,
1117 and gstring_work_headers. DEFVAR_LISP composition-function-table.
1118 Defsubr compostion_get_gstring.
1119
1120 * dispextern.h (struct glyph): New union u.cmp. Delete the member
1121 cmp_id.
1122 (struct glyph_string): Delete the member gidx. New members
1123 cmp_id, cmp_from, and cmp_to.
1124 (enum it_method): Delete GET_FROM_COMPOSITION.
1125 (struct composition_it): New struct.
1126 (struct it): New member cmp_it, and iterator_stack_entry.cmp_it.
1127 Delete c, len, cmp_id, cmp_len in u.comp.
1128
1129 * font.h (enum lgstring_indices): Delete it.
b8ff72fa 1130 (LGSTRING_XXX, LGLYPH_XXX): Move these macros to composite.h.
aac0c6e3 1131 (enum lglyph_indices): Likewise.
b8ff72fa 1132 (font_range): Adjust extern.
aac0c6e3
MR
1133 (font_fill_lglyph_metrics): Extern it.
1134
1135 * font.c (QCf): New variable.
1136 (check_gstring): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
1137 (font_prepare_composition): Delete this function.
1138 (font_range): Type and arguments changed.
1139 (Ffont_make_gstring, Ffont_fill_gstring): Delete them.
1140 (font_fill_lglyph_metrics): New function.
b8ff72fa 1141 (Ffont_shape_text): Rename to Ffont_shape_gstring and change arguments.
aac0c6e3 1142 (syms_of_font): DEFSYM QCf. Delete defsubr for
b8ff72fa
SM
1143 Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text.
1144 Defsubr Sfont_shape_gstring.
aac0c6e3
MR
1145
1146 * fontset.h (font_for_char): Extern it.
1147
1148 * fontset.c (font_for_char): New function.
1149
1150 * ftfont.c: Include composite.h.
1151 (ftfont_resolve_generic_family): Add langset "en" to pattern.
b8ff72fa 1152 (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
aac0c6e3
MR
1153
1154 * indent.c: Include composite.h and dispextern.h.
1155 (check_composition): Delete this function.
1156 (scan_for_column): Handle composition by
1157 composition_compute_stop_pos, composition_reseat_it, and
1158 composition_update_it.
1159 (compute_motion): Likewise.
1160 (Fvertical_motion): Fix checking of composition.
1161
1162 * keyboard.c (adjust_point_for_property): Check composition by
1163 composition_adjust_point.
1164
b8ff72fa 1165 * nsterm.m (ns_draw_glyph_string): Adjust for the change of
aac0c6e3
MR
1166 struct glyph_string.
1167
b8ff72fa
SM
1168 * term.c (encode_terminal_code): Adjust for the change of struct glyph.
1169 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3
MR
1170 struct glyph.
1171 (produce_composite_glyph): Likewise.
1172
b8ff72fa
SM
1173 * w32term.c (x_draw_composite_glyph_string_foreground):
1174 Adjust for the change of struct glyph_string.
aac0c6e3
MR
1175 (x_draw_glyph_string): Likewise.
1176
1177 * w32uniscribe.c (struct uniscribe_font_info): Include composite.h.
1178 (uniscribe_shape): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
1179
1180 * xdisp.c: Include font.h.
1181 (it_props): Delete the entry for Qauto_composed.
1182 (init_iterator): Initialize it->cmp_it.id to -1.
1183 (compute_stop_pos): Call composition_compute_stop_pos.
b8ff72fa 1184 (face_before_or_after_it_pos): Adjust for the change of struct it.
aac0c6e3
MR
1185 (handle_auto_composed_prop): Delete it.
1186 (handle_composition_prop): Handle only static composition.
1187 (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION
1188 from xassert. Initialize it->cmp_it.stop_pos.
b8ff72fa 1189 (push_it): Adjust for the change of struct it.
aac0c6e3
MR
1190 (pop_it): Likewise.
1191 (get_next_element): Delete next_element_from_composition.
1192 (CHAR_COMPOSED_P): New macro.
1193 (get_next_display_element): For automatic composition, get a face
1194 from the font in the glyph-string.
1195 (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING,
b8ff72fa 1196 check composition by it->cmp_it.id. Delete GET_FROM_COMPOSITION case.
aac0c6e3
MR
1197 (next_element_from_string): Check if the character at the current
1198 position is composed by CHAR_COMPOSED_P.
1199 (next_element_from_buffer): Likewise.
b8ff72fa 1200 (next_element_from_composition): Adjust for the change of struct
aac0c6e3 1201 it. Update it->cmp_it.
b8ff72fa
SM
1202 (dump_glyph): Adjust for the change of struct glyph.
1203 (fill_composite_glyph_string): Adjust for the change of struct
aac0c6e3
MR
1204 it and struct glyph. Don't handle automatic composition here.
1205 (fill_gstring_glyph_string): New function.
1206 (x_get_glyph_overhangs): Handle automatic composition.
b8ff72fa 1207 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the change of struct glyph.
aac0c6e3
MR
1208 (BUILD_GSTRING_GLYPH_STRING): New macro.
1209 (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for
1210 automatic composition.
b8ff72fa 1211 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3 1212 struct glyph.
b8ff72fa 1213 (x_produce_glyphs): Adjust for the change of struct it.
aac0c6e3 1214
b8ff72fa 1215 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aac0c6e3
MR
1216 the change of struct glyph_string.
1217 (x_draw_glyph_string): Likewise.
1218
12192008-08-29 Glenn Morris <rgm@gnu.org>
1220
1221 * buffer.c (word-wrap): Doc fix.
1222 * xdisp.c (truncate-partial-width-windows): Doc fix.
1223 Increase default to 50.
1224
12252008-08-29 Chong Yidong <cyd@stupidchicken.com>
1226
1227 * xdisp.c (update_tool_bar_unwind): New function.
1228 (update_tool_bar): Temporarily set selected frame before building
1229 tool-bar items.
1230
12312008-08-28 Michael Albinus <michael.albinus@gmx.de>
1232
1233 * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and
1234 snprintf, respectively.
1235 (xd_append_arg): Convert strings with Fstring_make_unibyte.
1236
12372008-08-28 Chong Yidong <cyd@stupidchicken.com>
1238
1239 * Makefile.in: Revert (undocumented) 2008-08-20 change adding
1240 LDFLAGS to GNUstep CC invocation.
1241
12422008-08-27 Chong Yidong <cyd@stupidchicken.com>
1243
1244 * indent.c (Fvertical_motion): Revert last change. Handle the
1245 general case where we are moving forward, and PT spans multiple
1246 screen lines.
1247
1248 * eval.c (find_handler_clause): Temporarily increase
1249 max-lisp-eval-depth while printing the backtrace buffer, to
1250 guarantee that help-mode code can run.
1251
12522008-08-27 Eli Zaretskii <eliz@gnu.org>
1253
1254 * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame
1255 colors under -rv.
1256 (IT_set_frame_parameters): Don't swap foreground and background
1257 colors if `(reverse . t)' is present in the frame properties.
1258 (internal_terminal_init): Call init_frame_faces only for the
1259 initial frame.
1260
12612008-08-27 Andreas Schwab <schwab@suse.de>
1262
1263 * dired.c (Ffile_attributes): Avoid compiler warning in bitshift.
1264
12652008-08-27 Andreas Schwab <schwab@suse.de>
1266
1267 * search.c (search_buffer): Set char_base to zero only at the end.
1268
12692008-08-27 Kenichi Handa <handa@m17n.org>
1270
b8ff72fa 1271 * fileio.c (report_file_error): Fix handling of multibyte error string.
aac0c6e3
MR
1272
12732008-08-27 Andreas Seltenreich <seltenreich@gmx.de>
1274
1275 * xterm.c (x_term_init): Temporarily hide the partially
1276 initialized terminal while calling vendor-specific-keysyms.
1277
12782008-08-26 Eli Zaretskii <eliz@gnu.org>
1279
1280 * msdos.c (internal_terminal_init): Most initializations done only
1281 once, especially initial_screen_colors[] and termscript open.
1282
12832008-08-26 Chong Yidong <cyd@stupidchicken.com>
1284
1285 * eval.c (Fcondition_case): Doc fix.
1286
1287 * widgetprv.h (EmacsFramePart): Change font member to the new font
1288 struct.
1289
1290 * widget.c: Include character.h and font.h for XSETFONT.
1291 (setup_frame_gcs): Compute X font id from font struct, just once.
1292
12932008-08-26 Eli Zaretskii <eliz@gnu.org>
1294
1295 * term.c (get_named_tty): Fix last change.
1296
12972008-08-26 Chong Yidong <cyd@stupidchicken.com>
1298
1299 * indent.c (Fvertical_motion): If moving forward starting from a
b8ff72fa 1300 multi-line string, move the iterator to the last line of that string.
aac0c6e3
MR
1301
13022008-08-25 Eli Zaretskii <eliz@gnu.org>
1303
1304 * frame.c (do_switch_frame): Mark previously displayed frame as
1305 obscured for FRAME_MSDOS_P frames as well.
1306
13072008-08-24 Eli Zaretskii <eliz@gnu.org>
1308
1309 * frame.c (make_terminal_frame): Initialize f->terminal,
1310 f->terminal->reference_count, and scroll bars on MS-DOS as well.
1311 Set the top frame to newly created frame.
1312 (Fmake_terminal_frame): Reuse the_only_display_info.
1313
1314 * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of
1315 estimating available memory.
1316
13172008-08-23 David Reitter <david.reitter@gmail.com>
1318
1319 * nsterm.m (ns_draw_window_cursor): Don't call
1320 NSDisableScreenUpdates and NSEnableScreenUpdates on
1321 non-NS_IMPL_COCOA systems.
1322
13232008-08-23 Andreas Schwab <schwab@suse.de>
1324
1325 * process.c (procfs_system_process_attributes): Fix use of
1326 uninitialized variables.
1327
13282008-08-23 Eli Zaretskii <eliz@gnu.org>
1329
1330 * emacs.c (main) [MSDOS]: Call syms_of_xmenu.
1331
1332 * dispnew.c (init_display): Remove MS-DOS specific conditions for
1333 calling tty-set-up-initial-frame-faces.
1334
b8ff72fa
SM
1335 * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show):
1336 Allow MSDOS frames along with X frames.
aac0c6e3
MR
1337
1338 * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in
1339 addition to output_termcap.
1340
1341 * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode.
1342
1343 * termchar.h (FRAME_TTY): Support output_msdos_raw.
1344 (struct tty_display_info) [MSDOS]: Add fields related to mouse
1345 highlight.
1346
1347 * process.c [!subprocesses]: Define QCname.
1348 (syms_of_process): Intern and staticpro it.
1349
1350 * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
b8ff72fa
SM
1351 Adjust for changes in encoding/decoding routines.
1352 Use encode_coding_object and decode_coding_object instead of
aac0c6e3
MR
1353 encode_coding and decode_coding.
1354
b8ff72fa 1355 * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as argument.
aac0c6e3
MR
1356
1357 * dosfns.c: Include frame.h before termhooks.h.
1358 (dos_cleanup): Use CURTTY ()->termscript instead of a global
1359 variable termscript.
1360
1361 * s/msdos.h (USER_FULL_NAME): Define.
1362 (SYSTEM_PURESIZE_EXTRA): Bump up to 100K.
1363
1364 * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined.
1365 (Fuser_full_name): Use USER_FULL_NAME instead of a literal
1366 pw->pw_gecos.
1367
1368 * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with
1369 SELECTED_FRAME as additional (1st) argument.
1370 (tty_read_avail_input): Handle output_msdos_raw in
1371 addition to output_termcap.
1372
1373 * msdos.c: Include frame.h before termhooks.h.
1374 (mouse_on, mouse_off, mouse_moveto, mouse_init)
1375 (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs)
1376 (show_mouse_face, IT_clear_end_of_line, IT_clear_screen)
1377 (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto)
1378 (IT_set_terminal_modes, IT_reset_terminal_modes)
1379 (IT_set_frame_parameters): Use tty->termscript instead of a global
1380 variable termscript.
1381 (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a
1382 global variable terminal_coding. Don't refer to
1383 Vnonascii_translation_table.
1384 (internal_terminal_init): Set Vwindow_system in current_kboard.
1385 Don't use TTY_CHAR_INS_DEL_OK. Set Vinitial_window_system.
1386 Announce date and time of session start, if termscript is open.
1387 Don't zero out the_only_display_info (it is done in
b8ff72fa
SM
1388 term.c:init_tty). Open termscript only of not already open.
1389 Log "SCREEN SAVED" here, instead of IT_set_terminal_modes. Init mouse
aac0c6e3
MR
1390 here instead of dos_ttraw. Don't initialize display if this is an
1391 initial tty. Don't set FRAME_FONT.
1392 (Vwindow_system_version): Bump to 23.
1393 (dos_ttraw): Accept a TTY argument; all callers fixed. If mouse
1394 is available, set up mouse_position_hook.
1395 (dos_ttraw, IT_set_terminal_modes): If called with initial
1396 terminal, do nothing.
1397 (IT_set_frame_parameters): Handle the Qtty_type frame
1398 parameter by calling internal_terminal_init.
1399 (dos_set_window_size, show_mouse_face)
1400 (clear_mouse_face, IT_note_mode_line_highlight)
1401 (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date)
1402 (dos_rawgetc): Use tty_display_info instead of x_display_info.
1403 (initialize_msdos_display): New function.
1404 (IT_cursor_to, IT_clear_to_end, IT_clear_screen)
1405 (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs)
1406 (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes)
1407 (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin):
b8ff72fa 1408 Accept additional argument: a pointer to a frame. Update all callers.
aac0c6e3
MR
1409 (request_sigio, unrequest_sigio): Don't define, now defined on
1410 sysdep.c.
1411 (IT_write_glyphs): Rewrite to use encode_terminal_code.
1412
1413 * term.c [MSDOS]: Include msdos.h.
1414 (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch. Change cpp
1415 conditional to DOS_NT. Allow only one call to this function in a
1416 session. Don't allocate a new struct tty_display_info; instead,
1417 reuse the_only_display_info. Call get_tty_size to get screen
1418 dimensions. Call init_baud_rate to set bad_rate.
1419 (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body.
1420 (Fsuspend_tty) [MSDOS]: Don't close input and output.
b8ff72fa 1421 (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use stdin/stdout.
aac0c6e3
MR
1422 (get_tty_terminal, get_named_tty, Ftty_type)
1423 (Fcontrolling_tty_p): Handle output_msdos_raw in addition to
1424 output_termcap.
b8ff72fa
SM
1425 (Fresume_tty, Fsuspend_tty, init_tty, delete_tty):
1426 Call add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor
aac0c6e3
MR
1427 only when subprocesses are supported
1428
1429 * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of
1430 f->output_data.x.
1431 (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new
1432 terminal devices.
1433
1434 * msdos.h Remove definition of struct x_display_info and struct
1435 x_output.
1436 (FRAME_FONT): Use output_data.tty.
1437 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define.
b8ff72fa
SM
1438 (struct x_display_info): Rename from display_info. Update all users in
1439 msdos.c.
aac0c6e3 1440 (struct x_output): Remove background_pixel and foreground_pixel.
b8ff72fa 1441 (the_only_display_info): Rename from the_only_x_display.
aac0c6e3
MR
1442 (dos_ttraw): Update prototype.
1443
1444 * Makefile.in (MSDOS_OBJ): Add xmenu.o.
1445 (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc.
1446
14472008-08-23 Jason Rumney <jasonr@gnu.org>
1448
1449 * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword.
1450 (fn_TIFFSetDirectory): New library function used.
1451 (init_tiff_functions) [HAVE_NTGUI]: Initialize it.
1452 (tiff_load): Use :index to select among multiple images. Set count
1453 property when multiple images exist.
1454 (gif_format): Use :index, not :image.
1455
14562008-08-23 Chong Yidong <cyd@stupidchicken.com>
1457
1458 * xdisp.c (try_scrolling): Check INT_MAX instead of
1459 MOST_POSITIVE_FIXNUM for maximum integer value. Include limits.h
1460 to obtain INT_MAX.
1461
14622008-08-21 İsmail Dönmez <ismail@namtrac.org> (tiny change)
1463
1464 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+.
1465
14662008-08-21 Christian Faulhammer <opfer@gentoo.org> (tiny change)
1467
1468 * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate
1469 GNUstep library location.
1470
14712008-08-21 Chong Yidong <cyd@stupidchicken.com>
1472
1473 * xfaces.c (x_update_menu_appearance): Check validity of menu font
1474 before using it.
1475
1476 * puresize.h (BASE_PURESIZE): Increase to 1250000.
1477
14782008-08-20 Adrian Robert <Adrian.B.Robert@gmail.com>
1479
1480 * nsfns.m (ns-read-file-name): Add casts to avoid warning.
1481 (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly.
1482 * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil.
1483 * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration.
1484 (EmacsApp-cursor_blink_handler): Remove declaration.
1485 * nsterm.m (ns_draw_glyph_string): Update first conditional body to
1486 match 01 Feb 2008 changes in xterm.c.
1487 (ns_read_socket): Add cast to avoid warning.
1488 (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on
1489 GNUstep.
1490
14912008-08-20 Chong Yidong <cyd@stupidchicken.com>
1492
1493 * xselect.c (x_get_foreign_selection): Return nil if desired
1494 selection could not be obtained, instead of signalling an error.
1495
14962008-08-20 David Reitter <david.reitter@gmail.com>
1497
1498 * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c.
1499 * nsterm.m: Remove ns-specific code for cursor blinking.
1500 (ns_draw_window_cursor): Clear cursor properly rather than
1501 redrawing the area. Respect width of bar cursors.
1502 These changes enable the use of generic blink-cursor-mode and
1503 generic cursor types in NS and support smooth cursor movements (do
1504 not blink off after command).
1505 * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on
1506 Nextstep, too.
1507
15082008-08-19 Kenichi Handa <handa@m17n.org>
1509
1510 * font.c (Vfont_log_deferred): New variable.
1511 (font_add_log): Check Vfont_log_deferred.
1512 (font_deferred_log): New function.
1513
1514 * font.h (font_deferred_log): Extern it.
1515
1516 * fontset.c (reorder_font_vector): Use encoding charset of fonts
1517 for sorting.
1518 (face_for_char): Use deferred log.
1519
15202008-08-18 Kenichi Handa <handa@m17n.org>
1521
1522 * fontset.c (face_for_char): Add font log.
1523
1524 * font.c (font_add_log): Add the font properties :script, :lang,
1525 and :otf in the log.
1526
15272008-08-17 Chong Yidong <cyd@stupidchicken.com>
1528
1529 * xdisp.c: Remove dead code.
1530 (handle_invisible_prop, next_overlay_string): Defer call to
1531 setup_for_ellipsis.
1532 (handle_stop, set_iterator_to_next): Call setup_for_ellipsis.
1533
15342008-08-15 Chong Yidong <cyd@stupidchicken.com>
1535
1536 * xfaces.c (lookup_derived_face): Properly handle possible zero
1537 return value of get_lface_attributes.
1538 (merge_faces): Don't tell lookup_derived_face to signal an error
1539 if face is not found.
1540
1541 * dired.c (Fdirectory_files): Doc fix.
1542
1543 * process.c (make_process): Initialize kill_without_query struct
1544 member.
1545
15462008-08-15 Eli Zaretskii <eliz@gnu.org>
1547
1548 * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]:
1549 Alternative calculation of totphys for Visual Studio 6.
1550
1551 * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR.
1552
1553 * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX):
1554 Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX.
1555 All users changed.
1556 (stat): Only root directory passed to GetDriveType. Allow RAM
1557 disk as well as local fixed disk when w32-get-true-file-attributes
1558 is set to `local'.
1559 (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs.
1560 (equal_sid, get_length_sid, copy_sid): New wrapper functions.
1561 (w32_cached_id, w32_add_to_cache): New functions.
1562 (get_name_and_id): Look account names in the cache before calling
1563 lookup_account_sid.
1564 (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid):
1565 New initialization flags.
1566 (globals_of_w32): Initialize them to zero.
1567 (w32_system_process_attributes): Use w32_cached_id and
1568 w32_add_to_cache.
1569
15702008-08-14 Lawrence Mitchell <wence@gmx.li>
1571
1572 * lread.c (Fread_char, Fread_char_exclusive): If no character
1573 event is read before timeout is reached, return nil, rather than
1574 converting to a number.
1575
15762008-08-14 Chong Yidong <cyd@stupidchicken.com>
1577
1578 * fns.c (use_dialog_box): Doc fix.
1579
1580 * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful
1581 on OS X.
1582
15832008-08-13 Chong Yidong <cyd@stupidchicken.com>
1584
1585 * frame.c (Qns_parse_geometry): New var.
1586 (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry.
1587
15882008-08-11 Chong Yidong <cyd@stupidchicken.com>
1589
1590 * xdisp.c (x_produce_glyphs): Handle the case when font has no
1591 space character in calculating tabs.
1592
15932008-08-11 Dan Nicolaescu <dann@ics.uci.edu>
1594
1595 * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case.
1596
15972008-08-10 Glenn Morris <rgm@gnu.org>
1598
1599 * process.c (procfs_system_process_attributes): Use EMACS_INTs to
1600 silence gcc "limited range of data type" warnings in some
1601 make_fixnum_or_float calls.
1602
16032008-08-09 Eli Zaretskii <eliz@gnu.org>
1604
1605 * w32.c (w32_system_process_attributes): If the process does not
1606 exist, return nil.
1607
1608 * w32.c: Include thelp32.h, psapi.h and coding.h.
1609 (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct
1610 declarations.
1611 (CreateToolhelp32Snapshot_Proc, Process32First_Proc)
1612 (Process32Next_Proc): New typedefs.
1613 (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first)
1614 (g_b_init_process32_next, g_b_init_open_thread_token)
1615 (g_b_init_impersonate_self, g_b_init_revert_to_self)
1616 (g_b_init_get_process_memory_info, g_b_init_global_memory_status)
1617 (g_b_init_get_process_working_set_size)
1618 (g_b_init_global_memory_status_ex): New static variables.
1619 (globals_of_w32): Initialize them.
1620 (create_toolhelp32_snapshot, process32_first, process32_next)
1621 (open_thread_token, impersonate_self, revert_to_self)
1622 (get_process_memory_info, get_process_working_set_size)
1623 (global_memory_status, global_memory_status_ex): New wrapper
1624 functions.
1625 (w32_list_system_processes, w32_system_process_attributes)
1626 (enable_privilege, restore_privilege, ltime, process_times):
1627 New functions.
1628 (convert_time_raw): New function.
1629 (convert_time): Remove conversion of FILETIME into time in 100
1630 nsec units, call convert_time_raw instead.
1631
1632 * process.h (w32_list_system_processes, w32_system_process_attributes):
1633 Add prototypes.
1634 (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname)
1635 (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime)
1636 (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup)
1637 (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations.
1638
1639 * process.c (Fsystem_process_attributes): Doc fix.
1640
16412008-08-08 Chong Yidong <cyd@stupidchicken.com>
1642
1643 * xdisp.c (move_it_to): When stopping at a charpos, check if that's
1644 a continued multi-char glyph; if so, advance to the actual glyph.
1645
16462008-08-07 Dan Nicolaescu <dann@ics.uci.edu>
1647
1648 * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in.
1649
1650 * Makefile.in (ALL_OBJC_CFLAGS): New variable.
1651 (.m.o): Use it.
1652 * config.in: Regenerate.
1653
16542008-08-07 Chong Yidong <cyd@stupidchicken.com>
1655
1656 * xdisp.c (redisplay_window): Revert last change.
1657 (try_window): Check bottom scroll margin too.
1658
16592008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
1660
1661 * config.in: Regenerate.
1662
1663 * Makefile.in (emacs): Remove ifndef NS conditional for 'emacs
1664 -list-load-path-shadows'.
1665 (nsgui.h): Reduce number of things depending on it.
1666
16672008-08-06 Chong Yidong <cyd@stupidchicken.com>
1668
1669 * xdisp.c (try_scrolling): Use iterator to find the scroll margin,
1670 instead of window-end which does the wrong thing at eob.
1671 (try_cursor_movement): Minor optimization.
1672 (redisplay_window): If scroll margin is defined, don't assume
1673 window doesn't need scrolling.
1674
16752008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
1676
1677 * config.in: Regenerate.
1678
1679 * Makefile.in: Move nsXXX.m dependencies into big alphabetical list.
1680 (mostlyclean): Don't delete *.d under NS.
1681
1682 * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER.
1683
16842008-08-06 Kenichi Handa <handa@m17n.org>
1685
1686 * xfont.c (xfont_list_family): Return a list of symbols, not strings.
1687
16882008-08-06 Andreas Schwab <schwab@suse.de>
1689
1690 * config.in: Regenerate.
1691
16922008-08-05 Chong Yidong <cyd@stupidchicken.com>
1693
1694 * xdisp.c (redisplay_window): Don't enforce scroll-margin when
1695 forcing a window start.
1696
1697 * fileio.c (Vauto_save_list_file_name): Move here from file.el.
1698 (auto_save_1): Update modtime when auto-save-list-file-name is on.
1699
17002008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
1701
1702 * emacs.c (main): Under NS, set working dir to HOME when get a "psn"
1703 argument.
1704
17052008-08-05 Juanma Barranquero <lekktu@gmail.com>
1706
1707 * buffer.c (syms_of_buffer) <scroll-up-aggressively>:
1708 <scroll-down-aggressively, before-change-functions>:
1709 <after-change-functions>: Reflow docstrings.
1710
17112008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
1712 Ken Raeburn <raeburn@gnu.org>
1713
1714 Dock menu customization, based on a patch by Ken Raeburn, plus some
1715 other fixes.
1716 * nsmenu.m (dockMenu): New variable.
1717 (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17.
1718
1719 * nsterm.h (dockMenu): Declare.
1720
1721 * nsterm.m (KEY_NS_NEW_FRAME): New definition.
1722 (ns_term_init): Initialize dockMenu.
1723 (EmacsApp -newFrame:, -applicationDockMenu:): New methods.
1724 (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame
1725 left.
1726
1727 * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA.
1728
17292008-08-04 Chong Yidong <cyd@stupidchicken.com>
1730
1731 * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it.
1732
1733 * config.in: Regenerate.
1734
17352008-08-04 Seiji Zenitani <zenitani@mac.com>
1736
1737 * nsfns.m (x-create-frame): Set the frame parameter alpha to nil.
1738
17392008-08-04 Chong Yidong <cyd@stupidchicken.com>
1740
1741 * nsterm.h (find_and_call_menu_selection): Fix prototype.
1742
17432008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
1744
1745 * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS.
1746
1747 * keyboard.h: Comment an #endif.
1748
1749 * lisp.h (have_menus_p): Adjust comment.
1750
1751 * menu.c (find_and_return_menu_selection): Fix comparison with
1752 client_data.
1753
1754 * nsmenu.m (popup_activated_flag): New variable.
1755 (popup_activated): New function.
1756 (menu-or-popup-active-p): New exported lisp definition.
1757 (ns_popup_menu): Set popup_activated_flag. Call discard_menu_items()
1758 when popup done.
1759 (ns_popup_dialog): Set popup_activated_flag.
1760
1761 * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger
1762 version for GNUstep (handled by conditional typedef in nsterm.m).
1763 (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now
1764 in rgb.txt).
1765
1766 * process.c (init_process): Use DARWIN_OS, not DARWIN.
1767
1768 * sysselect.h: Conditionalize init_process undef on DARWIN_OS.
1769
1770 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS.
1771
1772 * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS,
1773 shortcircuit if popup_activated like GTK and X toolkit.
1774
1775 * m/inter386.h: Change DARWIN to DARWIN_OS.
1776
1777 * s/darwin.h: Add #define DARWIN_OS. Get rid of C_SWITCH_SYSTEM def.
1778 Change LIBS_MACGUI to LIBS_NSGUI. Move temacs-conditionalized defs
1779 closer to C_SWITCH_SYSTEM_TEMACS so usage is understood. Expand
1780 comment on NO_SOCK_SIGIO.
1781
17822008-08-03 Chong Yidong <cyd@stupidchicken.com>
1783
1784 * nsterm.m (windowDidResize): Remove stopModal call.
1785
17862008-08-03 Andreas Schwab <schwab@suse.de>
1787
1788 * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define.
1789 (check_memory_limits): Don't handle HAVE_GETRLIMIT here.
1790
17912008-08-02 Chong Yidong <cyd@stupidchicken.com>
1792
1793 * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin.
1794 Don't use uninitialized pointer variable when using getrlimit.
1795
17962008-08-02 Jason Rumney <jasonr@gnu.org>
1797
1798 * w32font.c (compute_metrics): Don't mess with glyph_idx setting here.
1799
18002008-08-02 Eli Zaretskii <eliz@gnu.org>
1801
1802 * alloc.c (NSTATICS): Bump to 0x640.
1803
1804 * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
1805
1806 * lisp.h: Add prototype for directory_files_internal.
1807
1808 * process.c (Fsystem_processes_list, Fsystem_process_attributes):
1809 New functions.
1810 (syms_of_process): Defsubr them. Add initializations for various
1811 Q* symbols used in procfs_system_process_attributes.
1812 (procfs_list_system_processes, procfs_system_process_attributes)
1813 [HAVE_PROCFS]: New functions.
1814 (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname)
1815 (procfs_get_total_memory): New functions.
1816
18172008-08-01 Juanma Barranquero <lekktu@gmail.com>
1818
1819 * xfaces.c (Fx_load_color_file): Fix previous change;
1820 it is #ifdef WINDOWSNT, not WINDOWS_NT.
1821
18222008-08-01 Michael Albinus <michael.albinus@gmx.de>
1823
1824 * dbusbind.c (xd_read_message): Handle D-Bus error messages.
1825
18262008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1827
1828 * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard.
1829
18302008-08-01 Chong Yidong <cyd@stupidchicken.com>
1831
1832 * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha.
1833
1834 * nsterm.m (EmacsApp -application:openFiles:): GNUstep does not
1835 define NSApplicationDelegateReplySuccess.
1836 (EmacsView -converstationIdentifier): Use long instead of
1837 NSInteger for GNUstep, since it doesn't have NSInteger.
1838
1839 * xmenu.c: Revert last change.
1840
1841 * keyboard.h: Fix last change.
1842
18432008-08-01 Juanma Barranquero <lekktu@gmail.com>
1844
1845 * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting
1846 on Windows.
1847
18482008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1849
1850 Warning clearing and clean-up in NS port.
1851 * keyboard.h (xmalloc_widget_value, digest_single_submenu):
1852 Add prototypes.
1853 * nsgui.h (FACE_DEFAULT): Remove, unused.
1854 (XGCValues): Change colors to unsigned long.
1855 * nsterm.h (EmacsApp): Add declaration of all methods implemented in
1856 nsterm.m.
1857 (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class.
1858 (ns_list_fonts): Remove, unused.
1859 (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes.
1860 * nsfns.m (interpret_services_menu): Use NSMenuItem class.
1861 * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc.
1862 (nsfont_draw): Compare face colors to 0, not nil.
1863 * nsmenu.m (struct widget_value): Drop unneeded declaration.
1864 (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:)
1865 (-addSubmenuWithTitle:): Use NSMenuItem class.
1866 (ns_popup_menu): Use NO, not NULL, for enabled setting.
1867 * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0.
1868 (ns_clip_to_row): Make gc arg a BOOL.
1869 (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in
1870 ns_clip_to_row() call.
1871 (ns_draw_glyph_string): Drop face comparison to ~0 (no longer
1872 used). Cast FRAME_FONT assignments.
1873 (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:.
1874 (ns_string_to_lispmod): Change arg to const char.
1875 (ns_term_init): Use NSMenuItem class.
1876 (EmacsApp -openFile:): Move to different section of file.
1877 (EmacsApp -application:openFiles:): Don't return a value, call
1878 -replyToOpenOrPrint:.
1879 (EmacsView -keyDown:): Fix up cast.
1880 (EmacsView -converstationIdentifier): Use NSInteger instead of long.
1881 (EmacsView -menuDown:): Cast tag in call to
1882 find_and_call_menu_selection().
1883 (ns_list_fonts): Remove, unused.
1884 (ns_font_to_xlfd): Make static. Cast result of UTF8String.
1885 (ns_fontname_to_xlfd): Make static.
1886 * w32menu.c (xmalloc_widget_value, digest_single_submenu):
1887 Remove prototypes (now in keyboard.h).
1888 (next_menubar_widget_id): Remove, unused.
1889 * xmenu.c (xmalloc_widget_value, digest_single_submenu):
1890 Remove prototypes (now in keyboard.h).
1891 * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused.
1892
18932008-08-01 Dan Nicolaescu <dann@ics.uci.edu>
1894
1895 * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o)
1896 (floatfns.o): Depend on syssignal.h.
1897 (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC).
1898
1899 * systty.h: Fix previous change that removed BSD_TERMIOS.
1900 Add comments to #ifdefs.
1901
19022008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1903
1904 * w32fns.c (w32-load-color-file): Remove.
1905 (x-open-connection): Use renamed Fx_load_color_file.
1906 * xfaces.c (x-load-color-file): Add.
1907 * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of
1908 Emacs.clr.
1909 (hide_hourglass): BLOCK_INPUT before UNBLOCK.
1910
19112008-07-31 Michael Albinus <michael.albinus@gmx.de>
1912
1913 * dbusbind.c (Fdbus_call_method_asynchronously)
1914 (Fdbus_method_error_internal): New defuns.
1915 (xd_read_message): Handle also reply messages.
1916 (Vdbus_registered_functions_table): Extend docstring.
1917
19182008-07-31 Juanma Barranquero <lekktu@gmail.com>
1919
1920 * keyboard.c (gobble_input): Fix previous change.
1921
19222008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
1923
1924 * bitmaps/README:
1925 * xfns.c:
1926 * termcap.c:
1927 * term.c:
1928 * syswait.h:
1929 * systty.h:
1930 * systime.h:
1931 * syssignal.h:
1932 * sysdep.c:
1933 * process.h:
1934 * process.c:
1935 * print.c:
1936 * ndir.h:
1937 * lread.c:
1938 * keyboard.c:
1939 * getpagesize.h:
1940 * floatfns.c:
1941 * fileio.c:
1942 * emacs.c:
1943 * doc.c:
1944 * dispnew.c:
1945 * dired.c:
1946 * data.c:
1947 * callproc.c:
1948 * buffer.c:
1949 * README:
1950 * Makefile.in:
1951 * s/template.h:
1952 * s/msdos.h:
1953 * m/vax.h: Remove VMS support.
1954 * s/vms.h:
1955 * vlimit.h:
1956 * uaf.h:
1957 * temacs.opt:
1958 * param.h:
1959 * ioctl.h: Remove file.
1960
19612008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
1962
1963 * s/ms-w32.h (MULTI_KBOARD): Remove.
1964 * xterm.c:
1965 * xselect.c:
1966 * xfns.c:
1967 * window.c:
1968 * w32term.c:
1969 * w32fns.c:
1970 * terminal.c:
1971 * termhooks.h:
1972 * term.c:
1973 * sysdep.c:
1974 * keyboard.h:
1975 * keyboard.c:
1976 * frame.h:
1977 * frame.c:
1978 * frame.c: Remove references to MULTI_KBOARD, it is now the default.
1979 * config.in: Regenerate.
1980
19812008-07-30 Jason Rumney <jasonr@gnu.org>
1982
1983 * w32font.h (struct w32font_info): Use unicode version of textmetrics.
1984
1985 * w32font.c (w32font_encode_char): Leave as unicode if in range.
1986 (w32font_open_internal): Get unicode version of textmetrics.
1987 Don't enable or disable glyph indices here.
1988 (w32font_open): Disable use of glyph indices.
1989
1990 * w32uniscribe.c (uniscribe_open): Enable use of glyph indices.
1991
19922008-07-30 Chong Yidong <cyd@stupidchicken.com>
1993
1994 * minibuf.c (Vread_buffer_function): Doc fix.
1995
19962008-07-30 John Paul Wallington <jpw@pobox.com>
1997
1998 * minibuf.c (read_buffer_completion_ignore_case): New var.
1999 (Fread_buffer): Use it.
2000
20012008-07-30 Dan Nicolaescu <dann@ics.uci.edu>
2002
2003 * systty.h (sensemode): Remove empty #if. Remove reference to
2004 BSD_TERMIOS, unused.
2005
2006 * sysdep.c: Remove reference to DGUX.
2007 (closedir): Remove reference to BROKEN_CLOSEDIR, unused.
2008
2009 * config.in: Regenerate.
2010
20112008-07-30 Jason Rumney <jasonr@gnu.org>
2012
2013 * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size.
2014
20152008-07-29 Jason Rumney <jasonr@gnu.org>
2016
2017 * w32uniscribe.c (uniscribe_shape): Avoid using context if cache
2018 is populated.
2019 (uniscribe_encode_char): Always use uniscribe.
2020 Avoid using context if cache is populated.
2021
20222008-07-29 Jan Djärv <jan.h.d@swipnet.se>
2023
2024 * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to
2025 open menu.
2026
2027 * gtkutil.c (menu_nav_ended): Remove.
2028 (create_menus): Remove signal connect for menu_nav_ended.
2029
20302008-07-28 Chong Yidong <cyd@stupidchicken.com>
2031
2032 * xdisp.c (redisplay_window): Check return value of
2033 compute_window_start_on_continuation_line before forcing a window
2034 start.
2035
20362008-07-28 Jason Rumney <jasonr@gnu.org>
2037
2038 * w32font.c (w32font_text_extents): Use w32_metric_cache consistently.
2039
2040 * w32term.c (w32_enable_unicode_output, cleartype_active):
2041 Remove obsolete display options.
2042 (x_draw_glyph_string_background): Don't use old cleartype_active
2043 workaround.
2044 (w32_initialize): Remove cleartype_active initialization.
2045 (syms_of_w32term): Remove w32_enable_unicode_output initialization.
2046
20472008-07-28 Andreas Schwab <schwab@suse.de>
2048
2049 * lisp.h (init_weak_hash_tables, syms_of_font)
2050 (xd_read_queued_messages, syms_of_dbusbind): Declare.
2051 (remove_hash_entry): Don't declare.
2052 * eval.c (maybe_call_debugger): Make static and move before use.
2053 * gtkutil.c: Include <X11/Xft/Xft.h> if HAVE_XFT.
2054 * xdisp.c: Include "gtkutil.h" if USE_GTK.
2055 * xterm.h (x_set_frame_alpha): Declare.
2056
20572008-07-28 Jan Djärv <jan.h.d@swipnet.se>
2058
2059 * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24.
2060 (create_menus): Connect selection-done to menu_nav_ended.
2061
20622008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
2063
2064 * nsfns.m (x-create-frame): Add copy of parms argument to beginning.
2065 Set Vx_resource_name to a fallback. Replace read of 'buffered'
2066 parameter with read of 'alpha' one.
2067 (Qns_frame_parameter): Remove.
2068 * nsselection.m (selection-coding-system)
2069 (next-selection-coding-system, Vselection_coding_system)
2070 (Vnext_selection_coding_system): Drop.
2071
20722008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
2073
2074 * nsfns.m (do-applescript, do_applescript): Rename to
2075 ns-do-applescript, ns_do_applescript, and move within file.
2076
20772008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
2078
2079 Remove support for Mac Carbon.
2080 * mactoolbox.c:
2081 * macterm.h:
2082 * macterm.c:
2083 * macselect.c:
2084 * macmenu.c:
2085 * macgui.h:
2086 * macfns.c:
2087 * mac.c: Remove file.
2088 * s/darwin.h:
2089 * m/intel386.h:
2090 * xfaces.c:
2091 * xdisp.c:
2092 * window.c:
2093 * tparam.c:
2094 * termhooks.h:
2095 * termcap.c:
2096 * term.c:
2097 * syssignal.h:
2098 * sysselect.h:
2099 * sysdep.c:
2100 * process.c:
2101 * lread.c:
2102 * lisp.h:
2103 * keyboard.c:
2104 * image.c:
2105 * fringe.c:
2106 * frame.h:
2107 * frame.c:
2108 * fontset.c:
2109 * font.h:
2110 * font.c:
2111 * fns.c:
2112 * fileio.c:
2113 * emacs.c:
2114 * dispnew.c:
2115 * dispextern.h:
2116 * config.in:
2117 * atimer.c:
2118 * Makefile.in: Remove code for Carbon
2119
21202008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2121
2122 * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.
2123
21242008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2125
2126 * macterm.h (kCGBitmapByteOrder32Host): New define for
2127 non-universal SDKs.
2128
2129 * image.c (mac_create_cg_image_from_image, image_load_image_io)
2130 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
2131
2132 * macterm.c (XDrawLine, XCreatePixmapFromBitmapData)
2133 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
2134
21352008-07-26 David Robinow <drobinow@gmail.com> (tiny change)
2136
2137 * w32inevt.c: Include dispextern.h.
2138
21392008-07-26 Andreas Schwab <schwab@suse.de>
2140
2141 * print.c (print_object): Fix off-by-one in last change.
2142
21432008-07-25 Juanma Barranquero <lekktu@gmail.com>
2144
2145 * term.c (syms_of_term): Don't initialize default_orig_pair,
2146 default_set_foreground and default_set_background on Windows.
2147
21482008-07-25 Jason Rumney <jasonr@gnu.org>
2149
2150 * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to
2151 ScriptItemize. Clean up return value checking. Remove unused
2152 variables.
2153 (uniscribe_encode_char): Encode non-BMP characters with uniscribe
2154 shaping engine.
2155
2156 * w32font.c (w32font_has_char): Handle the case where we can't
2157 determine the script for a character.
2158
21592008-07-25 Chong Yidong <cyd@stupidchicken.com>
2160
2161 * term.c (syms_of_term): Initialize default_orig_pair,
2162 default_set_foreground, and default_set_background.
2163
2164 * getloadavg.c (nl): Rename to name_list to avoid ncurses.h
2165 clash (bug#86).
2166 (getloadavg): Callers changed.
2167
2168 * image.c (svg_load_image): Fix last change.
2169 (svg_load_image): Use rsvg_handle_get_dimensions to check that
2170 image size is valid. Use g_object_unref instead of deprecated
2171 rsvg_handle_free to free rsvg handle.
2172 (x_from_xcolors): Don't initialize pixmap (silence compiler).
2173
21742008-07-25 Jason Rumney <jasonr@gnu.org>
2175
2176 * w32font.c (w32font_encode_char): Encode characters outside BMP as
2177 surrogates before looking up glyph index.
2178 (w32font_text_extents): Encode as surrogates if falling back to
2179 functions that need UTF-16 wide chars.
2180
2181 * w32uniscribe.c (uniscribe_encode_char): Encode characters outside
2182 BMP as surrogates before looking up glyph index.
2183
21842008-07-25 Chong Yidong <cyd@stupidchicken.com>
2185
2186 * image.c (svg_load_image): Check for failure in return value of
2187 rsvg_handle_get_pixbuf. Free rsvg handle when done.
2188
21892008-07-25 Jason Rumney <jasonr@gnu.org>
2190
2191 * w32font.c (Fx_select_font): Reverse sense of second arg.
2192
21932008-07-24 Stefan Monnier <monnier@iro.umontreal.ca>
2194
2195 * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos)
2196 (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions.
2197
2198 * puresize.h (PURESIZE_CHECKING_RATIO): New macro.
2199 (PURESIZE): Use it.
2200
22012008-07-24 Dan Nicolaescu <dann@ics.uci.edu>
2202
2203 * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs.
2204 * m/alpha.h (TEXT_END):
2205 * m/ibmrs6000.h (TEXT_END):
2206 * m/macppc.h (TEXT_END):
2207 * s/darwin.h (TEXT_END):
2208 * s/msdos.h (TEXT_END): Remove, unused.
2209 * s/gnu-linux.h (BSD_PGRPS): Add a comment.
2210 * s/cygwin.h: Remove comment.
2211
2212 * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused.
2213 (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES.
2214 * m/intel386.h (DOT_GLOBAL_START):
2215 * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES.
2216 (USG): Remove, file not used on USG platforms.
2217
2218 * Makefile.in (HAVE_X11): Remove empty #else.
2219
22202008-07-24 Andreas Schwab <schwab@suse.de>
2221
2222 * fileio.c (Finsert_file_contents): Properly adjust undo list
2223 after format conversion.
2224
22252008-07-24 Jan Djärv <jan.h.d@swipnet.se>
2226
2227 * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG.
2228 (menu_nav_ended): Remove.
2229 (create_menus): Remove signal connect for menu_nav_ended.
2230 (xg_update_menubar): Also take deactivate_cb as parameter, pass it to
2231 create_menus.
2232 (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar.
2233
22342008-07-23 Jason Rumney <jasonr@gnu.org>
2235
2236 * w32font.c (w32_enumfont_pattern_entity): Return height consistent
2237 with opened font.
2238 (w32font_open): Set font type to gdi.
2239
2240 * w32uniscribe.c (uniscribe_open): Set font type to uniscribe.
2241
22422008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
2243
2244 * s/usg5-4.h (ADDR_CORRECT): Remove, unused.
2245 * unexaix.c (ADDR_CORRECT): Remove conditional, the only user
2246 defines it.
2247 * unexec.c (ADDR_CORRECT): Define unconditionally.
2248
2249 * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove.
2250
2251 * unexec.c: Remove code depending on !COFF and USG, the file is
2252 not used for such systems.
2253
2254 * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
2255 * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused.
2256 (LD_SWITCH_SYSTEM_1): Remove, update users.
2257
2258 * s/darwin.h (DATA_END):
2259 * m/intel386.h (DATA_END):
2260 * m/ibmrs6000.h (DATA_END):
2261 * m/alpha.h (DATA_END): Remove, unused.
2262
2263 * config.in: Regenerate.
2264 * s/ms-w32.h (subprocesses): Define unconditionally.
2265 * s/template.h (subprocesses): Update comment.
2266 * s/vms.h (subprocesses):
2267 * s/usg5-4.h (subprocesses):
2268 * s/hpux10-20.h (subprocesses):
2269 * s/gnu-linux.h (subprocesses):
2270 * s/cygwin.h (subprocesses):
2271 * s/bsd-common.h (subprocesses):
2272 * s/aix4-2.h (subprocesses):
2273 * s/darwin.h (subprocesses): Do not define, defined by default now.
2274
2275 * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused.
2276 Remove all references.
2277 (temacs): Add GNUstep specific ld flags.
2278
2279 * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing,
2280 similarly to what X does.
2281
22822008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
2283
2284 * nsfns.m (x-list-fonts): Remove.
2285 (syms_of_nsfns): Drop the x-list-fonts declaration.
2286 * nsterm.m: Get rid of remaining "//" comments.
2287
22882008-07-22 Chong Yidong <cyd@stupidchicken.com>
2289
2290 * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
2291
2292 * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p)
2293 (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal)
2294 (Fns_own_selection_internal, Fx_disown_selection_internal)
2295 (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal):
2296
2297 * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /*
2298 ... */' style of docstrings. Doc fixes.
2299
23002008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
2301
2302 * terminfo.c (UP, BC, PC): Undo previous change.
2303
2304 * nsfns.m: Rename ns prefixed functions/variables to the
2305 corresponding x versions. Update references.
2306
23072008-07-22 Stefan Monnier <monnier@iro.umontreal.ca>
2308
2309 * syntax.c (char_quoted): Check "charpos > beg" before decrementing.
2310
23112008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
2312
2313 * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):
2314 Remove forwarding functions.
2315 (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make
2316 non-static.
2317 (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make
2318 non-static.
2319 (ns_frame_parm_handlers): Use the new names.
2320 (syms_of_nsfns): Move to the end of file.
2321
2322 * nsterm.m (syms_of_nsterm): Move to the end of file.
2323
2324 * dispnew.c (init_display): Remove code for X10.
2325
23262008-07-22 Jason Rumney <jasonr@gnu.org>
2327
2328 * w32proc.c (Fw32_long_file_name): Don't append dir separator to
2329 bare drive.
2330
23312008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
2332
2333 * nsterm.m (syms_of_nsterm): Remove debugging println.
2334
23352008-07-22 David Reitter <david.reitter@gmail.com>
2336
2337 * nsfns.m (do_applescript, F_do_applescript): NS version of the
2338 Carbon implementation of the same functionality: execute arbitrary
2339 AppleScript code.
2340
23412008-07-21 Adrian Robert <Adrian.B.Robert@gmail.com>
2342
2343 * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
2344 (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
2345 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
2346 (Fx_display_mm_height, Fx_display_mm_width)
2347 (Fx_display_backing_store, Fx_display_visual_class)
2348 (Fx_display_save_under, Fx_open_connection)
2349 (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
2350 (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
2351 (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
2352 (Fx_display_pixel_width, Fx_display_pixel_height)
2353 (Fx_display_usable_bounds, Fx_display_planes)
2354 (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
2355 ... */' style of docstrings.
2356
23572008-07-21 Dan Nicolaescu <dann@ics.uci.edu>
2358
2359 * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
2360 on this platform.
2361 (mips):
2362 * m/iris4d.h (mips): Do not define.
2363 * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
2364
2365 * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
2366
2367 * image.c:
2368 * nsfns.m:
2369 * nsselect.m:
2370 * nsterm.h:
2371 * nsterm.m: Rename ns prefixed functions/variables to the
2372 corresponding x versions. Update references.
2373
2374 * m/ibms390x.h (NO_REMAP): Do not undefine.
2375
2376 * m/amdx86-64.h: Use SOLARIS2 instead of sun.
2377
23782008-07-21 Chong Yidong <cyd@stupidchicken.com>
2379
2380 * nsfns.m: Change NS to Nextstep in docstrings and error messages.
2381 (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
2382 (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
2383 (Fns_server_vendor, Fns_server_version, Fns_display_screens)
2384 (Fns_display_mm_height, Fns_display_mm_width)
2385 (Fns_display_backing_store, Fns_display_visual_class)
2386 (Fns_display_save_under, Fns_open_connection)
2387 (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
2388 (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
2389 (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
2390 (Fns_display_pixel_width, Fns_display_pixel_height)
2391 (Fns_display_usable_bounds, Fx_display_planes)
2392 (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
2393
23942008-07-21 Ami Fischman <ami@fischman.org> (tiny change)
2395
2396 * print.c (print_object): Check print_depth before searching for
2397 circularities.
2398
23992008-07-21 Michael Albinus <michael.albinus@gmx.de>
2400
2401 * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
2402 only sprintf.
2403
24042008-07-21 Kenichi Handa <handa@m17n.org>
2405
2406 * ftfont.c (adjust_anchor): Check if DeltaValue is not NULL.
2407
24082008-07-20 Andreas Schwab <schwab@suse.de>
2409
2410 * syntax.c (find_start_pos, find_start_value)
2411 (find_start_value_byte, find_start_begv, find_defun_start)
2412 (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions.
2413
24142008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
2415
2416 * s/sol2-3.h: Insert contents of s/sol2.h.
2417 (LD_SWITCH_SYSTEM): Remove redundant definition.
2418 * s/sol2.h: Remove, unused.
2419
24202008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
2421
2422 * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV.
2423
24242008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
2425
2426 * Makefile.in (ns_appdir): Fix typo in find command.
2427
24282008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
2429
2430 * m/intel386.h (NO_REMAP): Do no define for USG, not used.
2431
2432 * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
2433 added not supported anymore.
2434
2435 * s/usg5-4-2.h (LIBS_SYSTEM):
2436 * s/sol2.h (LIBS_SYSTEM): Do not undefine.
2437
2438 * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
2439 * s/lynxos.h (GETPGRP_NO_ARG):
2440 * s/hpux10-20.h (NO_SIOCTL_H):
2441 * s/gnu.h (GETPGRP_NO_ARG):
2442 * s/gnu-linux.h (NO_SIOCTL_H):
2443 * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
2444 * s/cygwin.h (GETPGRP_NO_ARG):
2445 * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
2446 (C_DEBUG_SWITCH): Remove duplicate definition.
2447
2448 * m/ibms390.h: Remove boilerplate comments.
2449
2450 * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
2451
2452 * process.c (HAVE_SERIAL): Consolidate ifdefs.
2453 (wait_reading_process_output): Remove code for SunOS, platform not
2454 supported anymore. Use SOLARIS2 instead of sun.
2455
24562008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2457
2458 * font.c (font_open_by_name): Under NS, default lface height to zero.
2459 (font_open_for_lface): Under NS, set size based on frame fontsize.
2460 * nsterm.m (EmacsView-changeFont:): Remove some commented code.
2461 * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
2462
24632008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2464
2465 * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
2466 (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
2467 DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
2468 YES/NO.
2469 * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
2470 * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
2471 * Makefile.in (clean): Clear out build destination dir.
2472
24732008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2474
2475 * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
2476 xterm, xselect.
2477 * lisp.h: Remove declaration of hash_remove.
2478 * nsgui.h: Remove redefinitions of hash_remove.
2479 * fns.c (hash_remove): Rename to hash_remove_from_table.
2480
24812008-07-19 Seiji Zenitani <zenitani@mac.com>
2482
2483 * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
2484 strdup() the family UTF8String before modifying it.
2485
24862008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2487
2488 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
2489 NS_FACE_BACKGROUND with 0 instead of nil.
2490 * nsfont.m (nsfont_draw): Same.
2491
24922008-07-19 Chong Yidong <cyd@stupidchicken.com>
2493
2494 * nsfns.m (ns_set_background_color): Fix crash.
2495
24962008-07-18 Chong Yidong <cyd@stupidchicken.com>
2497
2498 * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
2499
25002008-07-18 Dan Nicolaescu <dann@ics.uci.edu>
2501
2502 * puresize.h (BASE_PURESIZE): Increase to 1240000.
2503
25042008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2505
2506 * gtkutil.c: Include <config.h> instead of "config.h".
2507
2508 * lisp.h (Foverlay_buffer): Add EXFUN.
2509
2510 * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
2511 child process to complete child_setup. Undo 2005-09-21 change.
2512
2513 * s/darwin.h: Mention setsid after vfork.
2514
25152008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2516
2517 * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
2518 Depend on macgui.h.
2519
2520 * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
2521 gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
2522
2523 * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
2524 and f19.
2525 [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
2526
2527 * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
2528 (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
2529 Remove enumerators.
2530
2531 * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
2532 Check if FACE_FROM_ID returns NULL.
2533
25342008-07-17 David Robinow <drobinow@gmail.com> (tiny change)
2535
2536 * w32inevt.c (change_frame_size): Remove extern declaration.
2537 (resize_event, maybe_generate_resize_event): Pass SAFE arg to
2538 change_frame_size.
2539
25402008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
2541
2542 * getloadavg.c: Revert last change (2008-07-15).
2543
25442008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
2545
2546 * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
2547 set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc) set
2548 from configure.
2549
25502008-07-17 Dan Nicolaescu <dann@ics.uci.edu>
2551
2552 * s/sol2.h:
2553 * s/sol2-4.h: Reorganize conditionals.
2554
2555 * ecrt0.c: Remove code depending on m68000, not used anymore.
2556
2557 * fns.c (hash_remove): Make static.
2558 * lisp.h (hash_remove): Don't prototype.
2559
2560 * m/ibmrs6000.h:
2561 * m/ibms390x.h:
2562 * m/macppc.h: Remove boilerplate comments.
2563
2564 * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
2565 Solaris, which does not need them.
2566
2567 * m/vax.h: Remove comments about unsupported systems.
2568
2569 * s/darwin.h: Reorganize ifdefs.
2570
25712008-07-17 Andreas Schwab <schwab@suse.de>
2572
2573 * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
2574
25752008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
2576
2577 Use SDATA. Follow coding convention of placing operators at
2578 beginning of next line rather than end of previous line, and placing
2579 spaces around infix operators.
2580
2581 * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
2582 in case it was defined already.
2583 USE @GNUSTEP_MAKEFILES@ rather than envvars.
2584 * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
2585 ns_default.
2586 (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
2587 Lisp_Objects.
2588 * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
2589 (ns_defined_color, ns_color_to_lisp): Declare.
2590 * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
2591 (Fns_own_selection_internal): Make the big ugly hack more explicit, so
2592 it's accepted even with USE_LISP_UNION_TYPE.
2593 * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
2594 (update_frame_tool_bar): Remove apparently obsolete tests for
2595 non-integerness of f->tool_bar_lines.
2596 (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
2597 hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
2598 * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
2599 (nsfont_open): Don't confuse NULL for Qnil.
2600 * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
2601 * menu.h (find_and_call_menu_selection):
2602 * menu.c (find_and_call_menu_selection): Use just int for vector size.
2603 (find_and_return_menu_selection): Always return something.
2604 * frame.h: Include dispextern.h for Display_Info.
2605 (display_x_get_resource): Declare.
2606
26072008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
2608
2609 * syntax.c: Remove stdio.h include accidentally introduced in
2610 Emacs.app commit.
2611 * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
2612 NS_IMPL_COCOA.
2613 * keyboard.c (handle_async_input, input_available_signal): Remove
2614 BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
2615
26162008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
2617
2618 * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
2619 (ns_lisp_to_color): Don't mess with internal Lisp data fields.
2620 (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
2621 Use SDATA.
2622
2623 * keymap.c: Remove all NS-specific code.
2624 (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
2625 (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
2626 where_is_preferred_modifier, return a different value depending on how
2627 preferred is the binding.
2628 (where_is_internal): Adjust accordingly.
2629 (Fwhere_is_internal): Refresh where_is_preferred_modifier.
2630 Adjust to new preferred_sequence_p.
2631 (syms_of_keymap): Declare `where-is-preferred-modifier'.
2632 * keyboard.c (parse_solitary_modifier): Not static any more.
2633 * keyboard.h (parse_solitary_modifier): Declare.
2634
26352008-07-16 Andreas Schwab <schwab@suse.de>
2636
2637 * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
2638 of easymenu.
2639
26402008-07-16 Chong Yidong <cyd@stupidchicken.com>
2641
2642 * xdisp.c (move_it_in_display_line): Account for word wrap, so
2643 that we don't move off the line.
2644
26452008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
2646
2647 * keyboard.c (Qsuper): Remove.
2648 (parse_menu_item): Don't call where_is_internal specially for NS.
2649
26502008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
2651
2652 * s/gnu-linux.h: Remove boilerplate comments.
2653
2654 * m/alpha.h (__ELF__): Consolidate conditions.
2655
2656 * m/m68k.h (linux): Use GNU_LINUX instead.
2657 Remove boilerplate comments.
2658
2659 * m/intel386.h: Undo refactoring from previous change.
2660 (LIB_STANDARD): All systems that define USG define LIB_STANDARD
2661 too, remove dead code.
2662 (linux): Use GNU_LINUX instead.
2663
26642008-07-16 Jason Rumney <jasonr@gnu.org>
2665
2666 * w32gui.h: Repeat 26 June changes lost by last change.
2667
26682008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
2669
2670 * systty.h: Remove code for Aix on 386, unsupported platform.
2671
2672 * s/ms-w32.h: Remove boilerplate comments.
2673 (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
2674
2675 * s/gnu-linux.h (TERM): Remove support.
2676 (HAVE_SYSVIPC): Remove, unused.
2677 (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
2678 for this system.
2679
2680 * process.c: Remove support for IRIS, unused.
2681 Remove support for TERM, not relevant anymore.
2682
2683 * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
2684 used with the definition.
2685
2686 * s/aix4-2.h (static): Do not undef.
2687
2688 * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
2689 only used on Aix.
2690 (HAVE_SYSVIPC): Remove, unused.
2691
2692 * m/hp800.h (CANNOT_DUMP): Do not undef.
2693
2694 * m/alpha.h: Fix comment.
2695
2696 * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
2697 (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
2698 used by this configuration.
2699 * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
2700 * unexec.c: Remove code depending on HPUX and
2701 USG_SHARED_LIBRARIES, not used with this file. Remove code
2702 depending on IRIS, unused. Remove if 0-ed code.
2703
2704 * s/template.h: Remove comments about static.
2705
2706 * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
2707 Remove if 0-ed code.
2708 (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
2709 were the same as the default.
2710 * s/vms.h (BAUD_CONVERT): Remove, same as the default.
2711 Remove boilerplate comments.
2712 * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
2713 (HAVE_SYSVIPC): Remove, unused.
2714 (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
2715
2716 * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
2717 Remove boilerplate comments.
2718 * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
2719 Remove boilerplate comments.
2720 * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
2721 Remove boilerplate comments.
2722 * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
2723
2724 * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
2725 USG systems which do not use DATA_SEG_BITS.
2726 Refactor code. Remove boilerplate comments.
2727
2728 * m/ibms390.h:
2729 * m/m68k.h:
2730 * s/bsd-common.h:
2731 * s/cygwin.h:
2732 * s/darwin.h:
2733 * s/freebsd.h:
2734 * s/gnu.h:
2735 * s/msdos.h: Remove boilerplate comments.
2736
2737 * m/iris4d.h: Remove boilerplate comments and code for systems that
2738 do not use this file.
2739 (IRIS_4D): Remove, unused.
2740
2741 * m/mips.h: Remove boilerplate comments and code for systems that
2742 do not use this file.
2743 (SIGN_EXTEND_CHAR):
2744 * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
2745 * unexmips.c: Remove file, unused.
2746
2747 * editfns.c (Fuser_full_name): Replace the only use of
2748 USER_FULL_NAME with its value.
2749 * config.in: Regenerate.
2750
27512008-07-16 David Reitter <david.reitter@gmail.com>
2752
2753 * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
2754 easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
2755
27562008-07-16 Glenn Morris <rgm@gnu.org>
2757
2758 * emacs.c (system-type): Doc fix.
2759
27602008-07-15 Stefan Monnier <monnier@iro.umontreal.ca>
2761
2762 * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
2763 If the cache doesn't work, let's fix it, rather than work around it.
2764
27652008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
2766
2767 * Makefile.in: Correct additions for nsfont.o in last commit.
2768 * nsfont.m: New file (forgot last commit).
2769
27702008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
2771
2772 * callproc.c (set_initial_environment): Initialize
2773 Vprocess_environment under CANNOT_DUMP (fixes crash when
2774 batch-compiling for bootstrap).
2775
27762008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
2777 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2778
2779 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
2780 fix crash due to different init order.
2781
27822008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
2783
2784 Changes and additions for NeXTstep windowing system (Cocoa and
2785 GNUstep) support.
2786
2787 * Makefile.in:
2788 * config.in: Support defines and build commands for NS port.
2789 * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
2790 (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
2791 * dispextern.h: Include nsgui.h and add needed typedefs under NS
2792 windowing.
2793 (struct face): Add synth_ital field.
2794 * dispnew.c: Include nsterm.h when compiling under NS windowing.
2795 (init_display): Initialize Vinitial_window_system to "ns" when so
2796 compiled.
2797 * emacs.c: Include GSConfig.h when compiling under GNUstep.
2798 (display_arg): Use under NS.
2799 (main): Under NS, allocate autorelease pool and handle command line
2800 args. Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
2801 (standard_args): Add NS-specific args.
2802 (shut_down_emacs): Shut down NS terminal if compiled under NS.
2803 * font.c (DEFAULT_ENCODING): New variable.
2804 (font_find_for_lface): Use it.
2805 (syms_of_font): Load syms_of_nsfont under NS.
2806 * font.h: Declare nsfont_driver when compiled under NS.
2807 * fontset.c: When compiling under NS, include nsterm.h.
2808 (fontset_from_font): Autoconstruct fontset under NS.
2809 * frame.c (various): Under NS, include nsterm.h, add Qns window system
2810 symbol, document and use it.
2811 (do_switch_frame): When for_deletion under Cocoa, add
2812 Fraise_frame(Qnil).
2813 (x_set_frame_parameters): Ensure font attribute changes are picked up.
2814 (x_get_arg): Allow "yes" and "no" as boolean values.
2815 (syms_of_frame): Declare Qns. Init Vdefault_frame_scroll_bars to
2816 Qright under Cocoa.
2817 (focus-follows-mouse): Default to 0 under NS.
2818 * frame.h (enum output_method): Add output_ns.
2819 (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
2820 (FRAME_EXTERNAL_MENU_BAR): Use under NS.
2821 (FRAME_WINDOW_P): NS-specific definition.
2822 * fringe.c (max_used_fringe_bitmap): Make public.
2823 * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
2824 (getloadavg): Use NeXT code under descendant OS's.
2825 * image.c (includes and header section, x_create_bitmap_from_data)
2826 (x_create_bitmap_from_file, free_bitmap_record, image_background)
2827 (image_background_transparent, x_clear_image_1)
2828 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
2829 (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
2830 (x_to_xcolors, x_from_xcolors, x_disable_image)
2831 (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
2832 other GUIs, including XPM support using code originally written for
2833 Carbon GUI.
2834 (png_load, jpeg_load, tiff_load, gif_load): Add implementations
2835 using NS API.
2836 (image_ascent): Use font metrics macros instead of direct struct field
2837 access.
2838 * keyboard.c (includes): Add nsterm.h when compiling under NS.
2839 (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
2840 Also, handle NS as GTK for menu bar purposes.
2841 (make_lispy_event): Handle NS as other GUI windowing systems, and as X
2842 toolkit where they differ.
2843 (parse_menu_item): Prefer keybindings using 'super' modifier. Also,
2844 use cachelist, still needed under NS.
2845 * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
2846 (struct widget_value): Define it here for menu.c.
2847 * keymap.c (includes): Include modifier internals.
2848 (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
2849 NS.
2850 (where_is_internal, Fwhere_is_internal): When compiled under NS, add
2851 support for preferring sequences using certain modifiers, specified by
2852 the FIRSTONLY argument.
2853 * lisp.h (hash_remove): Rename to avoid name clash when compiling
2854 under NS GNUstep implementation.
2855 (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
2856 * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
2857 * menu.c: Include nsterm.h under NS.
2858 (single_menu_item, parse_single_submenu, xmalloc_widget_value)
2859 (free_menubar_widget_tree_value, update_submenu_strings)
2860 (find_and_call_menu_selection): Treat NS as X and NT.
2861 (find_and_return_menu_selection): New function, used for popup menus.
2862 * nsgui.h:
2863 * nsterm.h:
2864 * nsfns.m:
2865 * nsimage.m:
2866 * nsmenu.m:
2867 * nsselect.m:
2868 * nsterm.m: New files.
2869 * process.c (wait_reading_process_output): Under NS, call ns_select()
2870 instead of plain select().
2871 * syntax.c (char_quoted): Under NS, avoid a crash when called near
2872 beginning of buffer.
2873 * sysselect.h (init_process): Rename when compiling under Cocoa to
2874 avoid name conflict.
2875 * termhooks.h (display_info): Add ns_display_info to union.
2876 * terminal.c (Fterminal_live_p): Add ns to terminal types.
2877 * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
2878 COCOA environment.
2879 * unexnext.c: Update to work with mach API on Mac OS X, and to use new
2880 unexec() signature. (Note, this will dump, but the resulting file
2881 crashes; unexosx is used instead; keeping around for reference and
2882 possible aid in getting dump working under GNUstep.)
2883 * w32gui.h (button_type, widget_value): Remove definitions (now in
2884 keyboard.h).
2885 * window.c: Include nsterm.h when compiling under NS.
2886 * xdisp.c (includes): Include nsterm.h when compiling under NS.
2887 (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
2888 other GUI windowing systems.
2889 (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
2890 GTK.
2891 (x_consider_frame_title): Under NS, set icon type and frame
2892 modified-state indicator; use ns_set_name_as_filename() when using
2893 formatted title.
2894 (update_window_cursor): Make public when compiling under NS.
2895 (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
2896 (hourglass_atimer, Vhourglass_delay
2897 * xfaces.c (header section, init_frame_faces, clear_font_table)
2898 (defined_color, unload_color, x_face_list_fonts)
2899 (prepare_face_for_display): Add NS support parallel to other GUIs.
2900 Emulate GCs like other non-X GUIs.
2901 (split_font_name): Don't lowercase font name under NS.
2902 (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
2903 under NS.
2904 * s/darwin.h: Add support for compilation under NS.
2905
29062008-07-15 Jason Rumney <jasonr@gnu.org>
2907
2908 * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
2909 (w32_show_hourglass): Rename from show_hourglass.
2910 (w32_hide_hourglass): Rename from hide_hourglass.
2911 (DEFAULT_HOURGLASS_DELAY): Revert from last change.
2912 (Vhourglass_delay): Declare extern.
2913 (hourglass_started): Remove.
2914
2915 * xdisp.c (Vhourglass_delay): Remove static.
2916 (hourglass_started, start_hourglass, cancel_hourglass):
2917 Don't include these versions on WINDOWSNT.
2918
29192008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
2920
2921 * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
2922 variables (formerly in xfns.c).
2923 (show_hourglass, hide_hourglass): New prototypes (same).
2924 * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
2925 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
2926 in xfns.c).
2927 (syms_of_xdisp): Declare/initialize display-hourglass,
2928 hourglass-delay. Initialize hourglass_atimer, hourglass_shown_p.
2929 (hourglass_started, start_hourglass, cancel_hourglass): New functions,
2930 formerly in xfns.c.
2931 * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
2932 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
2933 (start_hourglass, cancel_hourglass): Remove.
2934 (show_hourglass, hide_hourglass): Remove prototypes and static
2935 modifiers.
2936 (syms_of_xfns): Remove display-hourglass, hourglass-delay,
2937 hourglass_atimer, hourglass_shown_p declaration/initialization.
2938 * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
2939 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
2940 (start_hourglass, cancel_hourglass): Remove.
2941 (show_hourglass, hide_hourglass): Remove prototypes and static
2942 modifiers.
2943 (syms_of_macfns): Remove display-hourglass, hourglass-delay,
2944 hourglass_atimer, hourglass_shown_p declaration/initialization.
2945 * w32fns.c (display_hourglass_p, Vhourglass_delay)
2946 (DEFAULT_HOURGLASS_DELAY): Remove.
2947 (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
2948 hourglass_shown_p declaration/initialization.
2949
29502008-07-14 Jason Rumney <jasonr@gnu.org>
2951
2952 * w32fns.c (w32_get_arg): Remove wrapper function.
2953 (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
2954 directly.
2955 (Fx_create_frame): Sync with xfns.c. Use x_get_arg directly.
2956
29572008-07-14 Kenichi Handa <handa@m17n.org>
2958
2959 * xfont.c (xfont_open): Add workaround for X's bug.
2960
29612008-07-14 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
2962
2963 * fontset.c: Include <stdio.h> unconditionally.
2964
29652008-07-13 Michael Albinus <michael.albinus@gmx.de>
2966
2967 * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
2968 for filtering.
2969
29702008-07-13 Dan Nicolaescu <dann@ics.uci.edu>
2971
2972 * s/vms.h: Use __GNUC__ instead of _GNUC_.
2973
2974 * m/macppc.h:
2975 * m/alpha.h: Use GNU_LINUX instead of LINUX. Reorganize conditionals.
2976
2977 * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
2978 (SPECIAL_EMACS_INT):
2979 * m/ia64.h (SPECIAL_EMACS_INT):
2980 * m/amdx86-64.h (SPECIAL_EMACS_INT):
2981 * s/gnu.h (NLIST_STRUCT):
2982 * s/aix4-2.h (X11R5_INHIBIT_I18N):
2983 * s/gnu-linux.h (LINUX):
2984 * s/msdos.h (HAVE_FACES):
2985 * s/ms-w32.h (HAVE_FACES): Don't define, unused.
2986
2987 * systty.h:
2988 * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
2989 anymore.
2990
29912008-07-12 Dan Nicolaescu <dann@ics.uci.edu>
2992
2993 * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was
2994 always defined as int.
2995
2996 * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
2997 * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
2998 * s/gnu-linux.h (HAVE_WAIT_HEADER):
2999 * s/freebsd.h (HAVE_WAIT_HEADER):
3000 * s/bsd-common.h (HAVE_UNION_WAIT):
3001 * s/aix4-2.h (HAVE_WAIT_HEADER):
3002 * m/mips.h (HAVE_UNION_WAIT):
3003 * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
3004 (COFF, static): Do not define, they are undefined later in the file.
3005
3006 * process.c (update_status): Don't use a union.
3007 (status_convert):
3008 (sigchld_handler): Use int instead of WAITTYPE.
3009
30102008-07-12 Chong Yidong <cyd@stupidchicken.com>
3011
3012 * indent.c (Fvertical_motion): Restore hscroll before moving to
3013 goal column.
3014
30152008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
3016
3017 * lisp.h: Remove left over code.
3018
30192008-07-11 Andreas Schwab <schwab@suse.de>
3020
3021 * lisp.h: Fix logic in last change.
3022
3023 * menu.h: New file.
3024 * menu.c: Include it.
3025 * xmenu.c: Likewise.
3026 * Makefile.in: Update dependencies.
3027
30282008-07-11 Kenichi Handa <handa@m17n.org>
3029
3030 * fontset.c (fontset_from_font): Cancel the previous change.
3031
30322008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
3033
3034 * lisp.h:
3035 * w32heap.c:
3036 * emacs.c:
3037 * alloc.c: Replace all references of NO_UNION_TYPE with
3038 USE_LISP_UNION_TYPE.
3039
3040 * m/xtensa.h (NO_UNION_TYPE):
3041 * m/vax.h (NO_UNION_TYPE):
3042 * m/template.h (NO_UNION_TYPE):
3043 * m/sparc.h (NO_UNION_TYPE):
3044 * m/mips.h (NO_UNION_TYPE):
3045 * m/macppc.h (NO_UNION_TYPE):
3046 * m/m68k.h (NO_UNION_TYPE):
3047 * m/iris4d.h (NO_UNION_TYPE):
3048 * m/intel386.h (NO_UNION_TYPE):
3049 * m/ibms390x.h (NO_UNION_TYPE):
3050 * m/ibms390.h (NO_UNION_TYPE):
3051 * m/ibmrs6000.h (NO_UNION_TYPE):
3052 * m/ia64.h (NO_UNION_TYPE):
3053 * m/hp800.h (NO_UNION_TYPE):
3054 * m/arm.h (NO_UNION_TYPE):
3055 * m/amdx86-64.h (NO_UNION_TYPE):
3056 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
3057 defining it the same.
3058
30592008-07-10 Chong Yidong <cyd@stupidchicken.com>
3060
3061 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
3062
30632008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
3064
3065 * fileio.c:
3066 * sysdep.c
3067 * systty.h:
3068 * m/ibmrs6000.h:
3069 * m/iris4d.h:
3070 * s/aix4-2.h:
3071 * s/freebsd.h:
3072 * s/gnu-linux.h:
3073 * s/hpux10-20.h:
3074 * s/hpux11.h:
3075 * s/netbsd.h:
3076 * s/sol2-3.h:
3077 * s/sol2-4.h:
3078 * s/sol2.h:
3079 * s/usg5-4.h:
3080 * s/vms.h: Remove references to unused variables.
3081
30822008-07-10 Andreas Schwab <schwab@suse.de>
3083
3084 * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
3085 pattern before matching the generic family.
3086
30872008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
3088
3089 * unexec.c:
3090 * s/vms.h:
3091 * s/usg5-4-2.h:
3092 * s/sol2-5.h:
3093 * s/freebsd.h:
3094 * s/darwin.h: Remove dead code.
3095
3096 * m/template.h:
3097 * m/sparc.h:
3098 * m/mips.h:
3099 * m/m68k.h:
3100 * m/iris4d.h:
3101 * m/intel386.h:
3102 * m/ibms390x.h:
3103 * m/ibms390.h:
3104 * m/ia64.h:
3105 * m/hp800.h:
3106 * m/arm.h:
3107 * m/amdx86-64.h: Remove dead code and references to unused
3108 and compiler defined symbols.
3109
3110 * unexmips.c:
3111 * unexelf.c: Remove references to desupported systems.
3112
3113 * m/powermac.h: Remove file, it is now identical to m/macppc.h.
3114
3115 * m/powermac.h: Remove boilerplate comments.
3116 (NO_REMAP): Remove unused definition.
3117
3118 * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
3119 define them.
3120
31212008-07-10 Kenichi Handa <handa@m17n.org>
3122
3123 * xfont.c (xfont_open): Log the reason of failure.
3124
31252008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
3126
3127 * fontset.c (fontset_get_font_group):
3128 * font.c (font_check_otf): Specify argument types.
3129
31302008-07-09 Kenichi Handa <handa@m17n.org>
3131
3132 * coding.c (detect_coding_utf_8): Set detect_info->found only when
3133 non-ASCII char is found.
3134
3135 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
3136 (reorder_font_vector): Change the arg preferred_family to font.
3137 Prefer the spec matching with font.
3138 (fontset_get_font_group): New function.
3139 (fontset_find_font): Change the format of an element of a realized
3140 fontset. Use fontset_get_font_group.
3141 (fontset_font): Try the current fontset, the default fontset, the
3142 fallbacks of the current fontset, and the fallbacks of the default
3143 fontset in this order.
3144 (face_for_char): Delete the shortcut to use the current font.
3145 (fontset_from_font): Don't set fonts for Latin in the fontset.
3146
3147 * font.h (font_make_object, font_match_p): Adjust prototypes.
3148
3149 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
3150
3151 * font.c (font_make_object): New arg entity and pixelsize.
3152 (font_check_otf_features, font_check_otf): New functions.
3153 (font_match_p): Check :lang, :script, and :otf properties.
3154
3155 * xfont.c (xfont_open): Adjust it for the change of
3156 font_make_object.
3157 (xfont_text_extents): Fix initial setting of metrics.
3158
3159 * ftfont.c (struct ftfont_info): New member index, delete member
3160 fc_charset_idx. Make the member order compatible with struct
3161 xftfont_info.
3162 (fc_charset_table): Change charset names to registry names.
3163 (ftfont_pattern_entity): Delete the args registry and
3164 fc_charset_idx. Change the value of :font-entity property
3165 to (FONTNAME . INDEX). Always set :registry property to
3166 `iso10646-1'.
3167 (struct ftfont_cache_data): New struct.
3168 (ftfont_lookup_cache): New arg for_face.
3169 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
3170 (ftfont_driver): Set the member otf_capability.
3171 (ftfont_get_charset): Adjust it for the change of
3172 fc_charset_table.
3173 (OTF_TAG_SYM): New macro.
3174 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
3175 for the change of fc_charset_table.
3176 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
3177 ftfont_pattern_entity. Add FC_INDEX to objset.
3178 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
3179 and ftfont_pattern_entity.
3180 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
3181 font_make_object, struct ftfont_info.
3182 (ftfont_has_char): Use ftfont_get_fc_charset.
3183 (ftfont_otf_features, ftfont_otf_capability): New functions.
3184 (ftfont_shape): Use ftfont_get_otf.
3185 (ftfont_text_extents): Fix initial setting of metrics.
3186
3187 * xftfont.c (struct xftfont_info): New member ft_size. Make the
3188 member order compatible with struct ftfont_info.
3189 (xftfont_open): Add FC_CHARSET to the pattern. Set
3190 xftfont_info->ft_size. Don't unlock the face. Check BDF
3191 properties if appropriate.
3192 (xftfont_close): Unlock the face.
3193 (xftfont_anchor_point, xftfont_shape): Deleted.
3194 (syms_of_xftfont): Don't set members anchor_point and shape of
3195 xftfont_driver.
3196
3197 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
3198 font_make_object.
3199
3200 * w32font.c (w32font_open): Adjust it for the change of
3201 font_make_object.
3202 (w32font_open_internal): Don't set properties of font_object here.
3203
32042008-07-08 Chong Yidong <cyd@stupidchicken.com>
3205
3206 * macfns.c (x_create_tip_frame):
3207 * w32fns.c (x_create_tip_frame):
3208 * xfns.c (x_create_tip_frame): Pass parameter argument to
3209 face-set-after-frame-default.
3210
3211 * xfaces.c (Finternal_merge_in_global_face): Save merged
3212 attributes for the default face back into the face vector.
3213
32142008-07-08 Andreas Schwab <schwab@suse.de>
3215
3216 * fontset.h: Declare fontset_from_font. Don't declare
3217 new_fontset_from_font and fontset_from_font_name.
3218 * xterm.c: Include "fontset.h".
3219 * Makefile.in (xterm.o): Update dependencies.
3220
32212008-07-08 Glenn Morris <rgm@gnu.org>
3222
3223 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
3224 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
3225
32262008-07-07 Chong Yidong <cyd@stupidchicken.com>
3227
3228 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
3229 (x_set_frame_parameters): Don't bind it.
3230
32312008-07-07 Juanma Barranquero <lekktu@gmail.com>
3232
3233 * w32fns.c (map_w32_filename): Declare extern.
3234
32352008-07-07 Jason Rumney <jasonr@gnu.org>
3236
3237 * w32term.c (WS_EX_LAYERED): Define if not already.
3238
32392008-07-06 Chong Yidong <cyd@stupidchicken.com>
3240
3241 * xfaces.c (set_font_frame_param): Don't try to set the font
3242 parameter if it is still unspecified in the lface.
3243
32442008-07-05 Chong Yidong <cyd@stupidchicken.com>
3245
3246 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
3247 face if it didn't already exist.
3248
3249 * xdisp.c (try_window_id): Give up if word-wrapping is on.
3250
32512008-07-05 Andreas Schwab <schwab@suse.de>
3252
3253 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
3254
32552008-07-05 Chong Yidong <cyd@stupidchicken.com>
3256
3257 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
3258 word-wrapping.
3259 (IT_DISPLAYING_WHITESPACE): New macro.
3260 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
3261 when word-wrapping. Simplify word-wrapping logic. Use correct
3262 pixel positions when saving copies of the iterator.
3263 (display_line): Use proper wrap point if the last character on a
3264 line was preceded by whitespace.
3265
32662008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
3267
3268 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
3269
32702008-07-04 Kenichi Handa <handa@m17n.org>
3271
3272 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
3273
3274 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
3275
32762008-07-02 Jason Rumney <jasonr@gnu.org>
3277
3278 * xfns.c (syms_of_xfns): Only define x-select-font when both
3279 HAVE_FREETYPE and USE_GTK
3280
3281 * xdisp.c (next_element_from_display_vector): Move assignment out
3282 of if statement.
3283
32842008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
3285
3286 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
3287
3288 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
3289 (syms_of_fileio): Initialize and export them.
3290 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
3291
3292 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
3293 (Fsystem_move_file_to_trash): New function.
3294 (syms_of_w32fns): Export it to lisp.
3295
32962008-07-01 Jason Rumney <jasonr@gnu.org>
3297
3298 * w32font.c (w32font_text_extents): Don't count overhang as part
3299 of width.
3300
33012008-06-30 Miles Bader <miles@gnu.org>
3302
3303 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
3304 Add `avoid_cursor_p' field.
3305
3306 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
3307 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
3308 (append_glyph, append_composite_glyph, produce_image_glyph)
3309 (append_stretch_glyph): Initialize avoid_cursor_p.
3310 (get_it_property): Rename from `get_line_height_property'.
3311 (x_produce_glyphs): Use get_it_property.
3312 (handle_line_prefix, push_display_prop): New functions.
3313 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
3314 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
3315 New variables.
3316 (syms_of_xdisp): Initialize them.
3317
33182008-06-30 Kenichi Handa <handa@m17n.org>
3319
3320 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
3321 XftDefaultSubstitute (they are called in XftFontMatch).
3322 (xftfont_open): Fix args to ftfont_font_format.
3323
3324 * ftfont.c (fc_charset_table): New member lang.
3325 (ftfont_resolve_generic_family): New arg pattern.
60612c8f 3326 (ftfont_spec_pattern): Check fc_charset_table[]->lang.
aac0c6e3
MR
3327 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
3328 (ftfont_open): Fix args to ftfont_font_format.
3329 (ftfont_font_format): New arg filename.
3330
33312008-06-30 Chong Yidong <cyd@stupidchicken.com>
3332
3333 * xfaces.c (Finternal_merge_in_global_face): If default face was
3334 modified, realize it again. Update the font face attribute.
3335
33362008-06-29 Jason Rumney <jasonr@gnu.org>
3337
3338 * w32term.c (x_set_frame_alpha): Fix logic.
3339
33402008-06-29 Kenichi Handa <handa@m17n.org>
3341
3342 * fontset.c (Finternal_char_font): Return font-object instead of
3343 font-name.
3344
3345 * composite.c (get_composition_id): Fix the width calculation for TAB.
3346
33472008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
3348
3349 * indent.c (Fvertical_motion): Properly handle float column arg.
3350
33512008-06-28 Jason Rumney <jasonr@gnu.org>
3352
3353 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
3354 (pfnSetLayeredWindowAttributes): New function pointer.
3355 (w32_initialize): Initialize it when supported.
3356 (x_set_frame_alpha): New function.
3357
3358 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
3359 (w32_frame_parm_handlers): Set alpha handler.
3360
3361 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
3362
33632008-06-27 Jason Rumney <jasonr@gnu.org>
3364
3365 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
3366 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
3367 (w32_to_x_charset, x_to_w32_charset)
3368 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
3369 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
3370 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
3371 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
3372 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
3373 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
3374 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
3375 (Qw32_charset_unicode): Remove.
3376 (syms_of_w32fns): Update for above changes.
3377
3378 * w32font.c (w32_to_x_charset, x_to_w32_charset)
3379 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
3380 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
3381 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
3382 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
3383 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
3384 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
3385 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
3386 (syms_of_w32font): Update for above changes.
3387
33882008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
3389
3390 * s/usg5-4.h: Fix previous change: keep the correct branch of a
3391 removed #if.
3392 (USG_SHARED_LIBRARIES): Remove duplicate definition.
3393
33942008-06-26 Juanma Barranquero <lekktu@gmail.com>
3395 Eli Zaretskii <eliz@gnu.org>
3396
3397 * makefile.w32-in (LOCAL_FLAGS):
3398 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
3399
3400 * sysdep.c (_spawnlp, _getpid):
3401 Declare with explicit _cdecl instead of _CRTAPI1.
3402
3403 * editfns.c (Fget_internal_run_time):
3404 Check for WINDOWSNT with #ifdef, not #if.
3405
34062008-06-26 Jason Rumney <jasonr@gnu.org>
3407
3408 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
3409
3410 * w32term.c (x_draw_glyph_string_foreground)
3411 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
3412 Use FONT_HANDLE macro.
3413 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
3414
3415 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
3416 (uniscribe_encode_char): Use FONT_HANDLE macro.
3417
3418 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
3419 (w32font_text_extents): Use precast w32_font.
3420 (w32font_close): Free cached metrics.
3421 (w32font_open_internal): Allocate space for name on stack.
3422
34232008-06-26 Chong Yidong <cyd@stupidchicken.com>
3424
3425 * xdisp.c (extend_face_to_end_of_line): Fix last change.
3426
34272008-06-26 Jason Rumney <jasonr@gnu.org>
3428
3429 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
3430 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
3431
34322008-06-26 Juanma Barranquero <lekktu@gmail.com>
3433
3434 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
3435
34362008-06-26 Jason Rumney <jasonr@gnu.org>
3437
3438 * w32bdf.c, w32bdf.h: Remove obsolete files.
3439
3440 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
3441
3442 * w32gui.h: Don't include w32bdf.h.
3443 (XCharStruct, enum w32_char_font_type, W32FontStruct):
3444 Remove obsolete font support.
3445
3446 * w32font.h (struct w32font_info): Remove compat_w32_font.
3447 Add hfont member.
3448 (FONT_COMPAT): Remove obsolete macro.
3449
3450 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
3451 (w32font_encode_char, w32font_text_extents): Use new hfont member.
3452 (w32font_open_internal): Remove compat code. Set new hfont member.
3453 (Fx_select_font): Use new hfont member.
3454
3455 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
3456 (uniscribe_encode_char): Use new hfont member.
3457
3458 * w32term.c (x_draw_glyph_string_foreground)
3459 (x_draw_composite_glyph_string_foreground): Use new hfont member.
3460 (x_draw_glyph_string): Use metrics in w32font_info.
3461
34622008-06-26 Kenichi Handa <handa@m17n.org>
3463
3464 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
3465
34662008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
3467
3468 * unexnext.c:
3469 * m/ews4800.h:
3470 * m/hp9000s300.h:
3471 * m/ibm370aix.h:
3472 * m/mips-siemens.h:
3473 * m/ncr386.h:
3474 * m/next.h:
3475 * m/pmax.h:
3476 * m/powerpcle.h:
3477 * m/tandem-s2.h:
3478 * s/386bsd.h:
3479 * s/bsd386.h:
3480 * s/bsd4-1.h:
3481 * s/bsd4-2.h:
3482 * s/bsdos2-1.h:
3483 * s/bsdos2.h:
3484 * s/bsdos3.h:
3485 * s/bsdos4.h:
3486 * s/nextstep.h:
3487 * s/ultrix4-3.h:
3488 * s/usg5-0.h:
3489 * s/usg5-2-2.h:
3490 * s/usg5-2.h:
3491 * s/usg5-4-3.h:
3492 * s/ux4800.h:
3493 * s/uxpds.h:
3494 * s/uxpv.h: Remove support for obsolete systems.
3495 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
3496 Remove, insert contents in s/hpux-10.20.h.
3497 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
3498 Remove, insert contents in s/aix4-2.h.
3499 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
3500 * s/bsd4-3.h: Rename to ...
3501 * s/bsd-common.h: ... this.
3502 * data.c:
3503 * doc.c:
3504 * ecrt0.c:
3505 * emacs.c:
3506 * fileio.c:
3507 * floatfns.c:
3508 * keyboard.c:
3509 * mem-limits.h:
3510 * print.c:
3511 * process.c:
3512 * sysdep.c:
3513 * syssignal.h:
3514 * systty.h:
3515 * syswait.h:
3516 * term.c:
3517 * unexec.c:
3518 * unexelf.c:
3519 * unexhp9k800.c:
3520 * m/hp800.h:
3521 * m/ibmrs6000.h:
3522 * m/mips.h:
3523 * m/vax.h:
3524 * s/darwin.h:
3525 * s/freebsd.h:
3526 * s/gnu.h:
3527 * s/ms-w32.h:
3528 * s/msdos.h:
3529 * s/netbsd.h:
3530 * s/template.h: Remove references to obsolete variables.
3531
3532 * Makefile.in: Add dependencies for all unexec files.
3533 (admindir): Remove unused variable.
3534 (UNEXEC_SRC): Remove references.
3535
35362008-06-25 Chong Yidong <cyd@stupidchicken.com>
3537
3538 * xfns.c (x_default_font_parameter): If Xft is available, first
3539 try Monospace-12 for the default font.
3540
35412008-06-25 Jason Rumney <jasonr@gnu.org>
3542
3543 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
3544
35452008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
3546
3547 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
3548
3549 * buffer.c (syms_of_buffer): Remove default-word-wrap.
3550
35512008-06-25 Juanma Barranquero <lekktu@gmail.com>
3552
3553 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
3554 <scroll-conservatively>: Fix typo in docstring.
3555
3556 * xselect.c (Fx_send_client_event): Doc fix.
3557
35582008-06-25 Kenichi Handa <handa@m17n.org>
3559
3560 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
3561
3562 * font.c (font_parse_fcname): Remove unused variables.
3563 (font_sort_entites): Delete the arg SPEC. Caller changed.
3564 Fix for the case of ! best_only.
3565 (font_delete_unmatched): Check DPI and AVGWIDTH too.
3566
3567 * lisp.h (Fstring_to_unibyte): EXFUN it.
3568
3569 * character.h (str_to_unibyte): Extern it.
3570
3571 * character.c (str_to_unibyte): New function.
3572
3573 * fns.c (Fstring_to_unibyte): New function.
3574 (syms_of_fns): Defsubr it.
3575
35762008-06-24 Kenichi Handa <handa@m17n.org>
3577
3578 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
3579 DPI too.
3580 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
3581
35822008-06-24 Andreas Schwab <schwab@suse.de>
3583
3584 * Makefile.in (${lispsource}loaddefs.el): Rename from
3585 ../lisp/loaddefs.el.
3586 (bootstrap-clean): Do what distclean does but don't remove
3587 Makefile.
3588 (distclean): Depend on bootstrap-clean and remove Makefile.
3589
35902008-06-24 Chong Yidong <cyd@stupidchicken.com>
3591
3592 * buffer.h (struct buffer): New member word_wrap.
3593
3594 * buffer.c (syms_of_buffer): New variables default-word-wrap and
3595 word-wrap.
3596 (init_buffer_once): Initialize them.
3597
3598 * dispextern.h (struct it): Replace bool truncate_lines_p with a
3599 line_wrap enum possessing three possible values.
3600
3601 * termopts.h: Replace truncate_partial_width_windows with
3602 Vtruncate_partial_width_windows.
3603
3604 * dispnew.c (direct_output_for_insert): Avoid direct output when
3605 inserting a space with word wrap on.
3606
3607 * indent.c (compute_motion): Obey integer values of
3608 truncate-partial-width-windows.
3609
3610 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
3611 replacing truncate_partial_width_windows.
3612 (init_iterator): If Vtruncate_partial_width_windows is an integer,
3613 truncate only if the window width is below that integer.
3614 (start_display, resize_mini_window, produce_stretch_glyph)
3615 (display_string, move_it_in_display_line_to): Use line_wrap.
3616 (back_to_previous_visible_line_start, reseat_1): Reset
3617 string_from_display_prop_p.
3618 (display_line): Extend default face to end of line when wrapping.
3619
36202008-06-24 Kim F. Storm <storm@cua.dk>
3621
3622 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
3623 to wrap continued lines at word boundaries.
3624
36252008-06-24 Jason Rumney <jasonr@gnu.org>
3626
3627 * font.c (Ffont_face_attributes): Multiply pixel size before point
3628 conversion to avoid multiplying rounding error.
3629
36302008-06-23 Jason Rumney <jasonr@gnu.org>
3631
3632 * w32term.c (x_draw_glyph_string_background)
3633 (x_draw_glyph_string): Remove old bdf font code.
3634
3635 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
3636
36372008-06-22 Kenichi Handa <handa@m17n.org>
3638
3639 * font.c (font_find_for_lface): Try the adstyle specified in
3640 the property of LFACE_FONT of LFACE (if any).
3641
36422008-06-21 Seiji Zenitani <zenitani@mac.com>
3643 Ryo Yoshitake <ryo@shiftmode.net>
3644
3645 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
3646
36472008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
3648
3649 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
3650 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
3651 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
3652 (witness-emacs): Remove.
3653 (lisp, shortlisp): Move loaddefs.el earlier.
3654 (mostlyclean): Forget about witness-emacs.
3655
36562008-06-22 Glenn Morris <rgm@gnu.org>
3657
3658 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
3659 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
3660
36612008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
3662
3663 * Makefile.in (PRECOMP): Remove.
3664 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
3665 (witness-emacs): Run `compile-first'.
3666 (.el.elc): Use the new compile-onefile target.
3667
36682008-06-21 Kenichi Handa <handa@m17n.org>
3669
3670 * xftfont.c (xftfont_open): Handle QCembolden only when
3671 FC_EMBOLDEN is defined.
3672
36732008-06-21 Andreas Schwab <schwab@suse.de>
3674
3675 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
3676 (.el.elc): Likewise.
3677
36782008-06-21 Miles Bader <miles@gnu.org>
3679
3680 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
3681 build dir, not the lisp source dir.
3682
36832008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
3684
3685 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
3686 (bootstrapclean): Remove.
3687 (.el.elc): New rule.
3688 (PRECOMP): New var.
3689 (../lisp/subdirs.el): Remove.
3690 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
3691 (witness-emacs): New target.
3692 (mostlyclean): Remove witness-emacs as well.
3693 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
3694 Add witness-emacs dependency.
3695
36962008-06-20 Chong Yidong <cyd@stupidchicken.com>
3697
3698 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
3699 defined by the font.
3700
37012008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
3702
3703 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
3704 (bootstrap-clean): New target that keeps TAGS around.
3705 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
3706 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
3707
37082008-06-20 Jason Rumney <jasonr@gnu.org>
3709
3710 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
3711 Remove obsolete font code.
3712
3713 * w32font.c (font_matches_spec): Use csb bitfield from font signature
3714 to determine language support.
3715
37162008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
3717
3718 * sysdep.c (cfsetspeed): New fun extracted from the code.
3719 (cfmakeraw): Move before first use.
3720
37212008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
3722
3723 * sysdep.c (cfmakeraw): Provide fallback implementation.
3724 (serial_configure): Provide fallback implementation of cfsetspeed.
3725
37262008-06-20 Kenichi Handa <handa@m17n.org>
3727
3728 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
3729 the pattern.
3730
3731 * fontset.c (fontset_from_font): Copy font_spec before changing
3732 the elements.
3733
3734 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
3735
37362008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
3737
3738 * w32fns.c, xfns.c (x_default_font_parameter): Only set `font-param'
3739 for explicit `font' parameters.
3740
3741 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
3742
37432008-06-19 Kenichi Handa <handa@m17n.org>
3744
3745 * frame.c: Include <ctype.h>.
3746 (x_set_font_backend): Allow spacing characters in the X resource
3747 for FontBackend.
3748
37492008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
3750
3751 * w32fns.c, xfns.c (Qfont_param): New var.
3752 (syms_of_w32fns): Initialize it.
3753 (x_default_font_parameter): Record explicit `font' into
3754 `font-parameter'.
3755
37562008-06-18 Kenichi Handa <handa@m17n.org>
3757
3758 * font.c (font_parse_xlfd): Fix previous change.
3759 (font_parse_fcname): Don't use :fc-unknown-spec.
3760 (FRAME_X_DISPLAY_INFO): Be sure to have at least 1 pixel height.
3761 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
3762 (font_add_log): Prepend the driver name to the resulting fonts.
3763
3764 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
3765 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
3766 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
3767
3768 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
3769 (QCembolden): New variables.
3770 (syms_of_xftfont): DEFSYM them.
3771 (xftfont_open): Call XftFontMatch. Don't trust the result of
3772 XftTextExtents8 if the pixel_size is less than 5.
3773
37742008-06-18 Andreas Schwab <schwab@suse.de>
3775
3776 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
3777 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
3778
37792008-06-18 Jason Rumney <jasonr@gnu.org>
3780
3781 * w32font.c (w32font_list, w32font_match): Add logging.
3782
3783 * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging.
3784
37852008-06-17 Chong Yidong <cyd@stupidchicken.com>
3786
3787 * font.c (font_parse_fcname): Store divider characters for
3788 unknown-spec list. For known key symbols, intern using correct
3789 symbol name.
3790
37912008-06-17 Kenichi Handa <handa@m17n.org>
3792
3793 * xfaces.c (realize_default_face): If the frame is not on window
3794 system, set the fontset of face to nil.
3795
37962008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
3797
3798 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
3799
38002008-06-16 Juanma Barranquero <lekktu@gmail.com>
3801
3802 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
3803 (build_font_name_from_vector): Delete externs.
3804
3805 * xfaces.c (struct font_name): Don't declare.
3806
38072008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
3808
3809 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
3810
38112008-06-16 Chong Yidong <cyd@stupidchicken.com>
3812
3813 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
3814
38152008-06-16 Juanma Barranquero <lekktu@gmail.com>
3816
3817 * font.c (Ffont_spec): Fix usage in docstring.
3818 (Ffont_face_attributes): Doc fix.
3819
38202008-06-16 Andreas Schwab <schwab@suse.de>
3821
3822 * font.c (Ffont_face_attributes): Fix definition.
3823
38242008-06-16 Jason Rumney <jasonr@gnu.org>
3825
3826 * font.h (font_style_symbolic_from_value): Remove.
3827
3828 * font.c (font_style_symbolic_from_value): Remove.
3829 (font_style_symbolic): Revert to pre 2008-06-13 version.
3830
3831 * w32font.c (w32_to_fc_weight): New function.
3832 (w32font_full_name, logfont_to_fcname): Use it.
3833
38342008-06-16 Kenichi Handa <handa@m17n.org>
3835
3836 * font.c (font_check_object): Delete it.
3837 (font_clear_cache): Check if a font-object is alive.
3838 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
3839 font-object to nil.
3840 (font_close_object): Don't check FONT_CLOSE_OBJECT.
3841 (font_at): Don't call font_check_object.
3842 (Ffont_get): Return a symbol for :weight, :slant, and :width.
3843
38442008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
3845
3846 * puresize.h (BASE_PURESIZE): Increase to 1230000.
3847
38482008-06-16 Chong Yidong <cyd@stupidchicken.com>
3849
3850 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
3851
38522008-06-15 Chong Yidong <cyd@stupidchicken.com>
3853
3854 * font.c (font_parse_fcname): Only one decimal point.
3855 (font_unparse_fcname): Handle data in family and foundry indices
3856 as symbols, not strings.
3857 (font_unparse_gtkname, Ffont_face_attributes): New functions.
3858
3859 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
3860
3861 * font.h (font_unparse_gtkname): Add prototype.
3862
38632008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
3864
3865 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
3866
38672008-06-15 Andreas Schwab <schwab@suse.de>
3868
3869 * font.c (font_update_drivers): Fix crash when no drivers match.
3870
38712008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
3872
3873 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
3874 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
3875
38762008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
3877
3878 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
3879
38802008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
3881
3882 * process.c (Fserial_process_configure, Fprocess_send_eof):
3883 Use EQ to compare Lisp_Objects.
3884
38852008-06-13 Jason Rumney <jasonr@gnu.org>
3886
3887 * w32fns.c (Fw32_select_font): Remove old font API function.
3888
3889 * w32font.c (logfont_to_fcname): New function.
3890 (Fx_select_font): New font dialog function compatible with
3891 GTK/fontconfig version.
3892
3893 * font.c (font_style_symbolic_from_value): New function.
3894 (font_style_symbolic): Use it.
3895
3896 * font.h (font_style_symbolic_from_value): Declare new function.
3897
38982008-06-13 Juanma Barranquero <lekktu@gmail.com>
3899
3900 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
3901 <font-width-table>: Fix typos in docstrings.
3902
39032008-06-13 Daniel Engeler <engeler@gmail.com>
3904
3905 These changes add serial port access.
3906 * process.c: Add HAVE_SERIAL.
3907 (Fdelete_process, Fprocess_status, Fset_process_buffer)
3908 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
3909 (list_processes_1, select_wrapper, Fstop_process)
3910 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
3911 (status_notify): Modify to handle serial processes.
3912 [HAVE_SERIAL] (Fserial_process_configure)
3913 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
3914 New functions.
3915 * process.h (struct Lisp_Process): Add `type'.
3916 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
3917 New functions.
3918 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
3919 serial ports.
3920 (serial_open, serial_configure) New functions.
3921 * w32.h: Add FILE_SERIAL.
3922 (struct _child_process): Add ovl_read, ovl_write.
3923
39242008-06-13 Kenichi Handa <handa@m17n.org>
3925
3926 * dispextern.h (enum lface_attribute_index): New member
3927 LFACE_FOUNDRY_INDEX.
3928
3929 * font.c (font_score): Delete arg alternate_families. Check only
3930 weight, slant, width, and size. Ignore the difference of alias
3931 style symbols.
3932 (font_sort_entites): Adjust for the above change. Reflect the
3933 order of font-driver to scores.
3934 (font_list_entities): Don't check alternate_familes here.
3935 (font_clear_prop): Handle foundry.
3936 (font_update_lface): Don't parse "foundry-family" form here.
3937 Handle FONT_FOUNDRY_INDEX.
3938 (font_find_for_lface): Likewise. Handle alternate families here.
3939 If registry is nil, try iso8859-1 and ascii-0.
3940 (font_open_for_lface): Pay attention to size in ENTITY.
3941 (font_open_by_name): Simplify by calling font_load_for_lface.
3942 (free_font_driver_list): Delete it.
3943 (font_update_drivers): Preserve the order of backends.
3944 (syms_of_font): Setting of sort_shift_bits adjusted for the change
3945 of font_score and font_sort_entites.
3946 (font_update_sort_order): Likewise.
3947
3948 * xfaces.c (LFACE_FOUNDRY): New macro.
3949 (check_lface_attrs): Check foundry.
3950 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
3951 (merge_face_vectors): Check foundry.
3952 (merge_face_ref): Likewise.
3953 (Finternal_set_lisp_face_attribute): Likewise.
3954 (x_update_menu_appearance): Likewise.
3955 (Finternal_get_lisp_face_attribute): Likewise.
3956 (lface_hash): Likewise.
3957 (lface_same_font_attributes_p): Likewise.
3958 (x_supports_face_attributes_p): Likewise.
3959 (tty_supports_face_attributes_p): Likewise.
3960 (Finternal_set_alternative_font_family_alist): Intern strings.
3961 (Finternal_set_alternative_font_registry_alist): Downcase strings.
3962 (realize_default_face): Set LFACE_FOUNDRY (lface).
3963
3964 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
3965 font-driver at first.
3966
3967 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
3968
39692008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
3970
3971 * lread.c (Fload): Use xfree, not free on saved_doc_string.
3972
39732008-06-12 Jim Meyering <meyering@redhat.com>
3974
3975 Make unexec_free handle NULL the same way free does.
3976 * unexmacosx.c (unexec_free): Ignore a NULL argument.
3977
39782008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
3979
3980 * character.h (CHAR_TO_BYTE_SAFE): New macro.
3981 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
3982 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
3983 (WEAK_ALIAS): Simplify.
3984 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
3985 when searching a unibyte buffer.
3986
39872008-06-12 Chong Yidong <cyd@stupidchicken.com>
3988
3989 * xfns.c (Fx_select_font): Rename from x-font-dialog.
3990
39912008-06-12 Juanma Barranquero <lekktu@gmail.com>
3992
3993 * w32font.c: Include ctype.h.
3994
39952008-06-11 Jason Rumney <jasonr@gnu.org>
3996
3997 * w32font.c (w32font_encode_char): Detect missing glyphs that are
3998 misreported as space.
3999 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
4000 as aliases for registry iso10646-1.
4001
40022008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
4003
4004 * buffer.c (clone_per_buffer_values): Skip `name'.
4005
40062008-06-11 Chong Yidong <cyd@stupidchicken.com>
4007
4008 * font.c (font_parse_fcname): Fix last change; accept decimal
4009 points in font size.
4010
40112008-06-10 Jason Rumney <jasonr@gnu.org>
4012
4013 * w32uniscribe.c (add_opentype_font_name_to_list):
4014 Skip non unicode fonts.
4015
40162008-06-10 Chong Yidong <cyd@stupidchicken.com>
4017
4018 * xfns.c (Fx_font_dialog): New function.
4019
4020 * gtkutil.c (xg_dialog_response_cb): Rename from
4021 xg_file_response_callback.
4022 (pop_down_dialog): Rename from pop_down_file_dialog.
4023 (xg_get_file_name): Callers changed.
4024 (xg_get_font_name): New function.
4025
4026 * gtkutil.h (xg_get_font_name): Insert prototype.
4027
40282008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
4029
4030 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
4031 x_underline_minimum_display_offset.
4032 (syms_of_xdisp): Declare it here rather than in xterm.c.
4033 * dispextern.h (underline_minimum_offset): Declare it.
4034 * w32term.c (x_draw_glyph_string): Use it.
4035 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
4036 (syms_of_xterm): Don't declare it any more.
4037 (x_draw_glyph_string): Adjust to the new name.
4038
40392008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
4040
4041 * xterm.c (x_underline_minimum_display_offset): New var.
4042 (x_draw_glyph_string): Use it.
4043 (syms_of_xterm): Declare it.
4044
40452008-06-10 Chong Yidong <cyd@stupidchicken.com>
4046
4047 * font.c (font_parse_fcname): Accept GTK-style font names too.
4048
40492008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
4050
4051 * dired.c (file_name_completion): Don't return t if the match is exact
4052 but with different capitalization.
4053 * minibuf.c (Ftry_completion): Simplify.
4054
4055 * window.c (Vwindow_point_insertion_type): New var.
4056 (set_window_buffer): Use it.
4057 (syms_of_window): Init and export it to Lisp.
4058
40592008-06-10 Kenichi Handa <handa@m17n.org>
4060
4061 * font.h (font_intern_prop): Prototype adjusted.
4062
4063 * font.c (font_intern_prop): New arg force_symbol.
4064 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
4065 Adjust for the change of font_intern_prop.
4066
4067 * ftfont.c (ftfont_pattern_entity):
4068 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
4069 (w32_registry):
4070 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
4071 the change of font_intern_prop.
4072
40732008-06-09 Juanma Barranquero <lekktu@gmail.com>
4074
4075 * w32menu.c (digest_single_submenu): Declare extern.
4076
40772008-06-09 Jason Rumney <jasonr@gnu.org>
4078
4079 * w32term.c (x_make_frame_visible): Use alternate restore flags.
4080
4081 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
4082 (parse_single_submenu): Remove.
4083 (digest_single_submenu): Remove.
4084 (syms_of_w32menu): Don't initialise variables that have moved
4085 to menu.c.
4086 (set_frame_menubar): Sync with version in xmenu.c.
4087 (w32_menu_show): Sync with xmenu_show in xmenu.c.
4088
4089 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
4090 Make static again.
4091
40922008-06-09 Jason Rumney <jasonr@gnu.org>
4093
4094 Changes to w32 files related to the move of common menu code
4095 to menu.c on 2008-06-08 by Chong Yidong.
4096
4097 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
4098 defs to w32gui.h.
4099 (single_keymap_panes, push_menu_item, push_menu_pane):
4100 Make globally visible.
4101
4102 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
4103 (local_free, malloc_widget_value, free_widget_value)
4104 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
4105 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
4106 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
4107 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
4108 (menu_items, menu_items_allocated, menu_items_used)
4109 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
4110 (init_menu_items, finish_menu_items, discard_menu_items)
4111 (grow_menu_items, push_submenu_start, push_submenu_end)
4112 (push_left_right_boundary, push_menu_pane, push_menu_item)
4113 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
4114 (free_menubar_widget_tree_value, parse_single_submenu)
4115 (update_submenu_strings): Remove functions.
4116 (xmalloc_widget_value): Remove and declare extern.
4117
4118 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
4119 (OBJ1): Build it.
4120
4121 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
4122 (local_heap, local_alloc, local_free, malloc_widget_value)
4123 (free_widget_value): Define here.
4124
41252008-06-09 Kenichi Handa <handa@m17n.org>
4126
4127 * font.h (Qascii_0): Extern it.
4128
4129 * font.c (Qascii_0): New variable.
4130 (syms_of_font): DEFSYM it.
4131 (font_open_by_name): If the registry "iso8859-1" fails, try also
4132 "ascii-0".
4133
4134 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
4135
41362008-06-08 Kenichi Handa <handa@m17n.org>
4137
4138 * .gdbinit (xfont): New command.
4139
41402008-06-08 Andreas Schwab <schwab@suse.de>
4141
4142 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
4143 * Makefile.in (menu.o): Update dependencies.
4144
4145 * Makefile.in (obj): Always add menu.o.
4146 * emacs.c (main): Always call syms_of_menu.
4147 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
4148
41492008-06-08 Chong Yidong <cyd@stupidchicken.com>
4150
4151 * Makefile.in: Compile menu.c.
4152
4153 * lisp.h: Declare syms_of_menu.
4154
4155 * emacs.c (main): Call syms_of_menu.
4156
4157 * keyboard.h: Relocate platform-independent menu definitions from
4158 xmenu.c.
4159
4160 * menu.c: New file. Relocate platform-independent menu
4161 definitions from xmenu.c. Suggested by Adrian Robert.
4162
4163 * xmenu.c: Remove platform-independent menu definitions.
4164 (menu_items menu_items_inuse, menu_items_allocated)
4165 (menu_items_used, menu_items_n_panes)
4166 (menu_items_submenu_depth): Move to keyboard.h.
4167 (init_menu_items, finish_menu_items, unuse_menu_items)
4168 (discard_menu_items, restore_menu_items, save_menu_items)
4169 (grow_menu_items, push_submenu_start, push_submenu_end)
4170 (push_left_right_boundary, push_menu_pane, push_menu_item)
4171 (keymap_panes, single_keymap_panes, single_menu_item)
4172 (list_of_panes, list_of_items, find_and_call_menu_selection)
4173 (xmalloc_widget_value, free_menubar_widget_value_tree)
4174 (parse_single_submenu, digest_single_submenu)
4175 (update_submenu_strings): Move to menu.c.
4176
41772008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
4178
4179 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
4180
41812008-06-06 Miles Bader <miles@gnu.org>
4182
4183 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
4184 face, not frame default.
4185
41862008-06-05 Martin Rudalics <rudalics@gmx.at>
4187
4188 * window.c (pop_up_windows, pop_up_frames)
4189 (display_buffer_reuse_frames, Vpop_up_frame_function)
4190 (Vdisplay_buffer_function, Veven_window_heights)
4191 (Vspecial_display_buffer_names, Vspecial_display_regexps)
4192 (Vspecial_display_function, Vsame_window_buffer_names)
4193 (Vsame_window_regexps, split_height_threshold)
4194 (Vsplit_window_preferred_function): Move those vars to window.el.
4195 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
4196 (Fdisplay_buffer): Move those functions to window.el.
4197 (syms_of_window): Remove corresponding declarations.
4198 (display_buffer): New function.
4199 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
4200 * dispnew.c (Flast_nonminibuf_frame): New function.
4201 * buffer.c (Fpop_to_buffer): Move to window.el.
4202
42032008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
4204
4205 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
4206
42072008-06-05 Kenichi Handa <handa@m17n.org>
4208
4209 * coding.c (detect_coding): Fix previous change.
4210 (detect_coding_system): Likewise.
4211
42122008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
4213
4214 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
4215
4216 * keymap.c (Vminibuffer_local_filename_must_match_map):
4217 Rename from Vminibuffer_local_must_match_filename_map.
4218 (syms_of_keymap):
4219 * minibuf.c (Fcompleting_read): Adjust accordingly.
4220 * commands.h: Rename declaration as well.
4221
42222008-06-05 Kenichi Handa <handa@m17n.org>
4223
4224 * font.c (Ffont_spec): Don't use font_parse_family_registry for
4225 family name.
4226 (Ffont_put): Likewise.
4227
4228 * fontset.c (fontset_find_font): Call font_open_for_lface with the
4229 current font-spec.
4230
4231 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
4232 is unspecified.
4233
4234 * xfaces.c (realize_x_face): If the font-related face attributes
4235 are the same as those of default face, realize a new fontset from
4236 default->fontset.
4237 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
4238
42392008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
4240
4241 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
4242 (move_it_in_display_line): New wrapper.
4243
4244 * window.c (window_scroll_pixel_based_preserve_x)
4245 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
4246 (window_scroll_pixel_based, window_scroll_line_based):
4247 Use them to preserve column positions.
4248 (syms_of_window): Initialize them.
4249
4250 * indent.c (Fvertical_motion): Extend first arg to allow passing an
4251 (HPOS . VPOS) pair.
4252
4253 * dispextern.h (move_it_in_display_line): Declare.
4254
42552008-06-05 Juanma Barranquero <lekktu@gmail.com>
4256
4257 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
4258 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
4259 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
4260
42612008-06-04 Juanma Barranquero <lekktu@gmail.com>
4262
4263 * window.c (Fset_window_parameter): Doc fix.
4264 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
4265
42662008-06-04 Joakim Verona <joakim@verona.se>
4267
4268 * window.h (struct window): Add new member window_parameters.
4269
4270 * window.c (Fwindow_parameters, Fwindow_parameter)
4271 (Fset_window_parameter): New defuns.
4272 (syms_of_window): Defsubr the new defuns.
4273 (make_window): Initialize window_parameters to nil.
4274
42752008-06-04 John Paul Wallington <jpw@pobox.com>
4276
4277 * eval.c (Fdefmacro): Doc fix.
4278
42792008-06-04 Kenichi Handa <handa@m17n.org>
4280
4281 * coding.c (detect_coding): Fix handling of coding->head_ascii.
4282 Be sure to call setup_coding_system when we find a proper coding system.
4283 (detect_coding_system): Fix handling of coding->head_ascii.
4284
42852008-06-03 Andreas Schwab <schwab@suse.de>
4286
4287 * font.c (font_prop_validate_spacing): Fix last change.
4288
42892008-06-03 Kenichi Handa <handa@m17n.org>
4290
4291 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
4292 (font_parse_fcname): Fix handling of unknown key.
4293
4294 * xfont.c (xfont_list): Try an alias.
4295
4296 * charset.c (char_charset): Return NULL if the arg charset_list is
4297 specified and C doesn't belong to any of them.
4298
42992008-06-02 Chip Coldwell <coldwell@redhat.com>
4300
4301 * font.c (font_pixel_size): Don't take cdr of an integer.
4302
43032008-06-02 Jim Meyering <meyering@redhat.com>
4304
4305 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
4306 * alloc.c (xfree): Return right away for a NULL arg.
4307 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
4308 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
4309 * mac.c (create_apple_event_from_event_ref): Likewise.
4310 (create_apple_event_from_drag_ref, cfstring_create_normalized):
4311 Likewise.
4312 * doprnt.c (doprnt1): Likewise.
4313 * frame.c (frame): Likewise.
4314 * keyboard.c (wipe_kboard): Likewise.
4315 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
4316 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
4317 * term.c (tty_default_color_capabilities, maybe_fatal)
4318 (delete_tty): Likewise.
4319 * w16select.c (string): Likewise.
4320 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
4321 * w32bdf.c (w32_free_bdf_font): Likewise.
4322 * w32fns.c (w32_unload_font): Likewise.
4323 * w32font.c (w32font_close): Likewise.
4324 * window.c (size_window): Likewise.
4325 * xselect.c (receive_incremental_selection): Likewise.
4326 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
4327 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
4328 * w32.c (stat): Likewise.
4329
4330 Remove useless if-before-free tests.
4331 * editfns.c (Fset_time_zone_rule): Likewise.
4332 * lread.c (nosuffix): Likewise.
4333 * ralloc.c (get_bloc): Likewise.
4334 * regex.c (reg_free): Likewise.
4335 * xftfont.c (xftfont_open, xftfont_close): Likewise.
4336 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
4337 * xsmfns.c (smc_save_yourself_CB): Likewise.
4338
43392008-06-02 Kenichi Handa <handa@m17n.org>
4340
4341 * font.c (font_find_for_lface): Handle float font size.
4342 (font_open_for_lface): Likewise.
4343
4344 * xfaces.c (x_supports_face_attributes_p): Check face->font before
4345 comparing the properties.
4346
43472008-06-01 Jason Rumney <jasonr@gnu.org>
4348
4349 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
4350 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
4351 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
4352 Don't add empty script list.
4353 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
4354
43552008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
4356
4357 * Makefile.in (dot, dotdot): Remove, update users.
4358 ".." has been used elsewhere in the file for a long time.
4359 (LIBXT_STATIC): Remove conditional based on unused variable.
4360
43612008-06-01 Miles Bader <miles@gnu.org>
4362
4363 * xfaces.c (Vface_remapping_alist): New variable.
4364 (syms_of_xfaces): Initialize it.
4365 (enum named_merge_point_kind): New type.
4366 (struct named_merge_point): Add `named_merge_point_kind' field.
4367 (push_named_merge_point): Make cycle detection respect different
4368 named-merge-point kinds.
4369 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
4370 Remove face-name alias resolution.
4371 (lface_from_face_name): New definition using
4372 `lface_from_face_name_no_resolve'.
4373 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
4374 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
4375 (get_lface_attributes): New definition that layers face-remapping on
4376 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
4377 (lookup_basic_face): New function.
4378 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
4379 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
4380 `get_lface_attributes'.
4381 (face_at_buffer_position): Use `lookup_basic_face' to lookup
4382 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
4383 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
4384
4385 * xdisp.c (init_iterator): Pass base_face_id through
4386 `lookup_basic_face' when we actually use it as a face-id.
4387 (handle_single_display_prop): Use `lookup_basic_face' to lookup
4388 DEFAULT_FACE_ID.
4389
4390 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
4391 lookup the initial face-id.
4392
4393 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
4394
43952008-06-01 Juanma Barranquero <lekktu@gmail.com>
4396
4397 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
4398 (Fremove_text_properties): Fix typos in docstrings.
4399
44002008-05-31 Kenichi Handa <handa@m17n.org>
4401
4402 * font.c (font_list_entities): Fix the car part of data to be
4403 stored in the cache.
4404
4405 * ftfont.c (ftfont_font_format): Don't use strcasestr.
4406
44072008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
4408
4409 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
4410 Add a `test' argument so another predicate than `equal' can be used.
4411 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
4412 (map_char_table): Remove unused vars `c' and `i'.
4413 * lisp.h (Foptimize_char_table): Adjust declaration.
4414 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
4415
44162008-05-30 Kenichi Handa <handa@m17n.org>
4417
4418 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
4419 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
4420 defined.
4421
44222008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
4423
4424 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
4425 (Fmake_variable_frame_local): Disallow mixing buffer-local and
4426 frame-local settings for the same variable.
4427
44282008-05-30 Kenichi Handa <handa@m17n.org>
4429
4430 * fontset.c (Ffont_info): Move to font.c.
4431 (syms_of_fontset): Delete defsubr of Sfont_info.
4432
4433 * font.c (font_style_to_value, font_score): Delete casting of the
4434 args to xstcasecmp.
4435 (register_font_driver): Increment num_font_drivers only when
4436 registering the driver globally.
4437 (Ffont_info): Move from fontset.c. Handle a font object too.
4438 (syms_of_font): Defsubr Sfont_info.
4439
44402008-05-29 Kenichi Handa <handa@m17n.org>
4441
4442 * coding.h (enum define_coding_utf8_arg_index): New enum.
4443 (enum coding_attr_index): Change coding_attr_utf_16_bom to
4444 coding_attr_utf_bom.
4445 (enum utf_bom_type): Rename from utf_16_bom_type.
4446 (struct utf_16_spec): Adjust for the above change.
4447 (struct coding_system): Add utf_8_bom in `spec' union.
4448
4449 * coding.c (CODING_UTF_8_BOM): New macro.
4450 (enum coding_category): Delete coding_category_utf_8, add
4451 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
4452 coding_category_utf_8_sig.
4453 (CATEGORY_MASK_UTF_8): Delete it.
4454 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
4455 (CATEGORY_MASK_UTF_8_SIG): New macros.
4456 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
4457 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
4458 CATEGORY_MASK_UTF_8_SIG.
4459 (CATEGORY_MASK_UTF_8): New macro.
4460 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
4461 (detect_coding_utf_8): Check BOM.
4462 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
4463 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
4464 (encode_coding_utf_16): Likewise.
4465 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
4466 (detect_coding, detect_coding_system): Handle utf-8-auto.
4467 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
4468 (syms_of_coding): Fix setting up of Vcoding_category_table.
4469
44702008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
4471
4472 * process.c (Faccept_process_output): If `millisec' is non-nil,
4473 `seconds' default to 0.
4474 (wait_reading_process_output): Also return non-nil if we read output
4475 from a non-running process.
4476
44772008-05-29 Jason Rumney <jasonr@gnu.org>
4478
4479 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
4480 `raster' specified.
4481 (add_font_entity_to_list): Allow non-opentype truetype fonts back
4482 in the uniscribe backend, but disallow any font that has no
4483 unicode subrange support.
4484
44852008-05-29 Juanma Barranquero <lekktu@gmail.com>
4486
4487 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
4488 Fix typos in docstrings.
4489
44902008-05-29 Kenichi Handa <handa@m17n.org>
4491
4492 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
4493 (Fx_family_fonts): Set frame correctly.
4494
44952008-05-28 Jason Rumney <jasonr@gnu.org>
4496
4497 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
4498
44992008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
4500
4501 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
4502 calling build_annotations.
4503
45042008-05-28 Juanma Barranquero <lekktu@gmail.com>
4505
4506 * coding.c (Fdecode_coding_region, Fencode_coding_region)
4507 (Fencode_coding_string):
4508 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
4509 <latin-extra-code-table>: Fix typos in docstrings.
4510 (syms_of_coding) <coding-system-alist>: Doc fix.
4511 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
4512
45132008-05-28 Kenichi Handa <handa@m17n.org>
4514
4515 * fontset.c (Ffont_info): Don't call font_close_object.
4516
4517 * font.c (font_parse_family_registry): Use Ffont_put to validate
4518 foundry and family.
4519 (font_delete_unmatched): Don't check spacing.
4520 (font_list_entities): Add spacing to the spec to list fonts.
4521
4522 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
4523 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
4524
4525 * coding.c (encode_coding_raw_text): Fix previous change.
4526 (encode_coding_object): When the dst_object is a buffer and is
4527 different from src_object, move gap to PT.
4528
45292008-05-27 Chong Yidong <cyd@stupidchicken.com>
4530
4531 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
4532
45332008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
4534
4535 * coding.c (encode_coding_raw_text): Set coding->produced_char for
4536 all branches. Compute it differently.
4537
4538 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
4539
45402008-05-27 Juanma Barranquero <lekktu@gmail.com>
4541
4542 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
4543 into "else if () ... else ...".
4544
45452008-05-27 Jason Rumney <jasonr@gnu.org>
4546
4547 * w32font.c (w32font_open_internal): Determine if glyph indices
4548 are likely to work here.
4549
45502008-05-27 Chong Yidong <cyd@stupidchicken.com>
4551
4552 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
4553 draw overlap glyphs with appropriate highlighting.
4554
45552008-05-27 Kenichi Handa <handa@m17n.org>
4556
4557 * xfont.c (xfont_open): Fix calculation of font->average_width.
4558
45592008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
4560
4561 * casefiddle.c (casify_object): Try to guess better whether the
4562 argument is a byte or a char.
4563
45642008-05-26 Andreas Schwab <schwab@suse.de>
4565
4566 * xselect.c (x_reply_selection_request): Properly handle format == 32.
4567 Always send multiples of format size.
4568
4569 * xterm.c (x_set_frame_alpha): Fix type mismatch.
4570
45712008-05-26 Jason Rumney <jasonr@gnu.org>
4572
4573 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
4574 (compute_metrics): Don't set failure if we just cleared the cache.
4575 (w32_weight_table): Remove unused variable.
4576 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
4577 backwards compatibility.
4578
45792008-05-25 Kenichi Handa <handa@m17n.org>
4580
4581 * w32term.c (x_draw_glyph_string):
4582 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
4583
4584 * xfaces.c: Delete unused function prototypes.
4585 (xstrlwr, font_frame): Delete them.
4586 (clear_face_cache): Delete unused variable.
4587
4588 * xftfont.c (xftfont_open): Delete unused variable.
4589 If underline_thickness is not 1, adjust underline_position.
4590
4591 * ftxfont.c (ftxfont_open): Delete unused variable.
4592
4593 * fontset.c (face_for_char): Optimize for the case of no charset
4594 property.
4595
4596 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
4597 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
4598 (otf_open, font_otf_capability, generate_otf_features)
4599 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
4600 Comment out by surrounding "#if 0" and "#endif" for the moment.
4601 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
4602 (syms_of_font): Codes for accessing above commented out.
4603
46042008-05-24 Eli Zaretskii <eliz@gnu.org>
4605
4606 * w32proc.c: Include dispextern.h.
4607
4608 * w32.c: Include dispextern.h.
4609
46102008-05-23 Juanma Barranquero <lekktu@gmail.com>
4611
4612 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
4613 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
4614 Fix typos in docstrings.
4615
46162008-05-23 Jason Rumney <jasonr@gnu.org>
4617
4618 * xsmfns.c: Remove includes that are already included by config.h.
4619
46202008-05-23 Kenichi Handa <handa@m17n.org>
4621
4622 * charset.c (Qemacs, charset_emacs): New variables.
4623 (char_charset): Fix for non-Unicode characters.
4624 (syms_of_charset): Define charset_emacs.
4625
4626 * w32term.c (x_draw_glyph_string): Be sure to update
4627 s->underline_thickness and s->underline_position. Be sure to draw
4628 underline within the current line area.
4629
4630 * xterm.c (x_draw_glyph_string): Be sure to update
4631 s->underline_thickness and s->underline_position. Be sure to draw
4632 underline within the current line area.
4633
4634 * fontset.c: Delete unused variables and add casting for char *
4635 throughout the file.
4636 (fontset_font): Try the fallback fonts of the current fontset
4637 before consulting the default fontset.
4638
4639 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
4640
4641 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
4642
46432008-05-22 Jason Rumney <jasonr@gnu.org>
4644
4645 * font.c: Don't include strings.h.
4646
4647 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
4648
4649 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
4650 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
4651 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
4652 to call xstrcasecmp.
4653
4654 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
4655
4656 * fontset.c (fs_query_fontset): Use xstrcasecmp.
4657
4658 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
4659
4660 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
4661
46622008-05-22 Kenichi Handa <handa@m17n.org>
4663
4664 * puresize.h (BASE_PURESIZE): Increase to 1220000.
4665
4666 * font.c (font_prop_validate_style): Adjust for the format
4667 change of font_style_table.
4668
4669 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
4670 two args.
4671
4672 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
4673 two args.
4674
46752008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
4676
4677 * minibuf.c (keys_of_minibuf): Delete.
4678 * lisp.h (keys_of_minibuf): Delete.
4679 * emacs.c (main): Don't call keys_of_minibuf.
4680
46812008-05-22 Kenichi Handa <handa@m17n.org>
4682
4683 * ftfont.c (ftfont_resolve_generic_family): Rename from
4684 ftfont_list_generic_family. Return a single family for each
4685 generic family.
4686 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
4687 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
4688 Call font_add_log.
4689 (ftfont_match): Call font_add_log.
4690
4691 * font.h (Ffont_xlfd_name): EXFUN adjusted.
4692 (FONT_DEBUG): Define it.
4693 (font_add_log): Extern it.
4694 (font_assert): Rename from xassert.
4695
4696 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
4697 (xfont_list_family): Call font_add_log.
4698 (xfont_match): Likewise.
4699 (memq_no_quit): Delete.
4700
4701 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
4702 call of Ffont_xlfd_name.
4703
4704 * xfaces.c (struct table_entry, slant_table, weight_table)
4705 (swidth_table): Move to font.c.
4706
4707 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
4708 xassert are changed to font_assert. Delete many unused variables.
4709 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
4710 New variables.
4711 (struct table_entry): Move from xfaces.c and modified.
4712 (weight_table, slant_table, width_table): Move from xfaces.c and
4713 contents adjusted for the change of struct table_entry.
4714 (font_style_to_value, font_style_symbolic): Adjust for the
4715 format change of font_style_table.
4716 (font_parse_family_registry): Don't overwrite existing foundry and
4717 family of font_spec.
4718 (font_score): Fix calculation of diff for sizes.
4719 (font_sort_entites): Call font_add_log.
4720 (font_delete_unmatched): Return a newly created list.
4721 (font_list_entities): Fix previous change. Call font_add_log.
4722 (font_matching_entity, font_open_entity, font_close_entity):
4723 Call font_add_log.
4724 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
4725 (Finternal_set_font_style_table): Delete.
4726 (BUILD_STYLE_TABLE): New macro.
4727 (build_style_table): New function.
4728 (Vfont_log, font_log_env_checked): New variables.
4729 (font_add_log): New function.
4730 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
4731 Declare Lisp variables "font-weight-table", "font-slant-table",
4732 "font-width-table", and "font-log". Initialize font_style_table.
4733
47342008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
4735
4736 * xterm.c (x_set_frame_alpha): Move declarations before statements.
4737
47382008-05-21 Seiji Zenitani <zenitani@mac.com>
4739 Ryo Yoshitake <ryo@shiftmode.net>
4740
4741 * frame.c (Qalpha): Add a new frame parameter `alpha'.
4742 (Vframe_alpha_lower_limit): New variable.
4743 (x_set_alpha): New function.
4744
4745 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
4746
4747 * xfns.c (x-create-frame, Qalpha):
4748 Initialize the frame parameter `alpha'.
4749 * xterm.c (OPAQUE, OPACITY): New.
4750 (x_set_frame_alpha): New function.
4751 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
4752
4753 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
4754 * w32fns.c (w32_frame_parm_handlers): Likewise.
4755
47562008-05-20 Jason Rumney <jasonr@gnu.org>
4757
4758 * w32font.c (add_font_entity_to_list): Don't add non-opentype
4759 truetype fonts to opentype list.
4760
47612008-05-20 Juanma Barranquero <lekktu@gmail.com>
4762
4763 * fontset.c (Ffontset_info): Doc fix.
4764 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
4765 <ignore-relative-composition>: Fix typos in docstrings.
4766
4767 * font.c (syms-of-font) <font-encoding-alist>:
4768 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
4769 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
4770 (Ffont_otf_alternates): Doc fixes.
4771
47722008-05-20 Kenichi Handa <handa@m17n.org>
4773
4774 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
4775 font.h through out the file.
4776 (FONT_DRIVERS): Rename from FONTOBJ.
4777 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
4778 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
4779
4780 * emacs.c (main): Call syms_of_font unconditionally.
4781
4782 * font.h (find_font_encoding): Extern it.
4783
4784 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
4785 fontset.c.
4786 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
4787 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
4788 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
4789 only when HAVE_WINDOW_SYSTEM is defined.
4790 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
4791 when HAVE_WINDOW_SYSTEM is defined.
4792
4793 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
4794 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
4795
4796 * xfaces.c: Include font.h unconditionally.
4797 (merge_face_ref, merge_face_vectors)
4798 (Finternal_set_lisp_face_attribute): Cancel the previous change.
4799
48002008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
4801
4802 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
4803 indirect_variable.
4804 * eval.c (lisp_indirect_variable): New fun.
4805 (Fuser_variable_p): Use it.
4806
48072008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
4808
4809 * lisp.h (indirect_variable):
4810 * data.c (indirect_variable, let_shadows_buffer_binding_p):
4811 Use Lisp_Symbol pointers rather than Lisp_Object.
4812 Adjust callers.
4813 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
4814 To this end, change calling-convention.
4815
4816 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
4817 if some non-hidden buffers are selected by string&pred.
4818
48192008-05-19 Chong Yidong <cyd@stupidchicken.com>
4820
4821 * process.c (wait_reading_process_output): Always check status
4822 when in batch mode.
4823
48242008-05-19 Kenichi Handa <handa@m17n.org>
4825
4826 * font.c (font_list_entities): Fix handling of cache.
4827 (font_matching_entity): Likewise.
4828
4829 * ftfont.c (cs_iso8859_1): Delete.
4830 (ft_face_cache): New variable.
4831 (struct ftfont_info): New member fc_charset_idx.
4832 (ftfont_build_basic_charsets): Delete.
4833 (fc_charset_table): New variable.
4834 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
4835 . FC_CHARSET_IDX) as :font-entity property in the font entity.
4836 Callers changed.
4837 (ftfont_lookup_cache, ftfont_get_charset): New functions.
4838 (ftfont_spec_pattern): New argument fc_charset_idx.
4839 Check registry more rigidly. Change callers.
4840 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
4841 change of :font-entity property of the font.
4842
4843 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
4844 property of the font.
4845
48462008-05-18 Juanma Barranquero <lekktu@gmail.com>
4847
4848 * coding.c (Fcoding_system_p): Rename argument to match docstring.
4849 (Funencodable_char_position, Fcheck_coding_systems_region)
4850 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
4851 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
4852 (Ffind_operation_coding_system, Fset_coding_system_priority)
4853 (Fcoding_system_eol_type): Doc fixes.
4854
48552008-05-17 Glenn Morris <rgm@gnu.org>
4856
4857 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
4858
48592008-05-16 Eli Zaretskii <eliz@gnu.org>
4860
4861 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
4862 and st_gid.
4863
4864 * frame.c (Fdelete_frame): Don't call font_update_drivers if
4865 HAVE_WINDOW_SYSTEM is not defined.
4866
4867 * xfaces.c (merge_face_ref, merge_face_vectors)
4868 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
4869 HAVE_WINDOW_SYSTEM is defined.
4870 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
4871
48722008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
4873
4874 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
4875
48762008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4877
4878 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
4879
48802008-05-15 Kenichi Handa <handa@m17n.org>
4881
4882 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
4883 preference.
4884
48852008-05-15 Glenn Morris <rgm@gnu.org>
4886
4887 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
4888
48892008-05-15 Chong Yidong <cyd@stupidchicken.com>
4890
4891 * fns.c (init_fns): Don't initialize weak_hash_tables here.
4892 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
4893
4894 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
4895
48962008-05-15 Kenichi Handa <handa@m17n.org>
4897
4898 * ftfont.c (ftfont_list): Downcase family name to check generic
4899 families.
4900
4901 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
4902 font-spec for QCfont value.
4903
4904 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
4905 buffer. Check the return value of it.
4906
49072008-05-14 Jason Rumney <jasonr@gnu.org>
4908
4909 * w32term.c (w32_get_glyph_overhangs): Remove.
4910 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
4911
49122008-05-14 Kenichi Handa <handa@m17n.org>
4913
4914 * font.c (font_prop_validate): Make nil a valid value.
4915 (font_clear_cache): Check if the cached vector of entities is nil
4916 or not.
4917
49182008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4919
4920 * emacs.c (main_thread): Conditionalize on
4921 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
4922 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
4923
4924 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
4925 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
4926 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
4927
49282008-05-14 Kenichi Handa <handa@m17n.org>
4929
4930 * coding.c (detect_coding_iso_2022): Ignore a coding category that
4931 has no corresponding coding system.
4932
49332008-05-14 Jason Rumney <jasonr@gnu.org>
4934
4935 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
4936
4937 * w32font.h (w32font_open_internal): Update declaration.
4938
4939 * w32font.c (w32font_open_internal): Change last argument from
4940 w32font_info struct to font object. Fill in font object from
4941 font_entity. Get Outline metrics if possible. Use them to
4942 calculate underline position and thickness. Use xlfd name as name
4943 property. Don't set codepage.
4944 (w32font_open): Pass font_object to w32font_open_internal. Don't
4945 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
4946 (w32font_draw): Use s->font.
4947 (clear_cached_metrics): Don't clear non-existent blocks.
4948
4949 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
4950 font was not found.
4951 (x_draw_glyph_string): Use underline position and thickness from font.
4952
4953 * w32uniscribe.c (uniscribe_open): Pass font_object to
4954 w32font_open_internal.
4955
49562008-05-14 Kenichi Handa <handa@m17n.org>
4957
4958 These changes are to delete all legacy font-handling codes, and
4959 make Emacs use only font-backends.
4960
4961 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
4962 (frame.o, image.o, print.o): Depend on $(FONTSRC).
4963
4964 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
4965
4966 * charset.h (Vcharset_non_preferred_head)
4967 (Vcurrent_iso639_language): Extern them.
4968
4969 * charset.c (Vcharset_non_preferred_head): New variable.
4970 (Vcurrent_iso639_language): New variable.
4971 (syms_of_charset): Declare it as a Lisp variable.
4972 (char_charset): Don't check non preferred charsets. As a last
4973 resort, return charset_unicode.
4974 (Fset_charset_priority): Update Vcharset_non_preferred_head.
4975
4976 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
4977 conditionals. Don't check enable_font_backend. Delete all codes
4978 used only when USE_FONT_BACKEND is not defined.
4979
4980 * dispextern.h (struct glyph_string): Change type of `font' to
4981 `struct font *'.
4982 (struct glyph_string): New member underline_position and
4983 underline_thickness.
4984 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
4985 (struct face): Change type of `font' to `struct font *'. Remove
4986 members `font_name', `font_info_id'.
4987 (per_char_metric, encode_char): Delete externs.
4988 (calc_pixel_width_or_height): Adjust the prototype.
4989
4990 * emacs.c (enable_font_backend): Delete extern.
4991 (main): Don't set enable_font_backend. Don't check the command
4992 line argument "-disable-font-backend".
4993
4994 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
4995 (enum font_property_index): New members FONT_DPI_INDEX,
4996 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
4997 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
4998 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
4999 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
5000 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
5001 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
5002 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
5003 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
5004 (struct font_spec, struct font_entity): New structs.
5005 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
5006 (struct font): Many members from old "struct font_info" moved to
5007 here. Members font and entity deleted.
5008 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
5009 the new font-related objects.
5010 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
5011 (CHECK_FONT_GET_OBJECT): Likewise.
5012 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
5013 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
5014 (struct font_driver): New members case_sensitive anc check. Type
5015 of the member list and open changed.
5016 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
5017 (font_symbolic_width, font_find_object, font_get_spec)
5018 (font_set_lface_from_name): Delete extern.
5019 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
5020
5021 * font.c: Include <strings.h>.
5022 (enable_font_backend): Delete it.
5023 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
5024 (CHECK_VALIDATE_FONT_SPEC): Delete it.
5025 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
5026 (null_string): Delete it.
5027 (null_vector): Make it static.
5028 (font_family_alist): Delete it.
5029 (Qnormal): Extern it.
5030 (QCextra, QClanguage): Delete it.
5031 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
5032 (font_make_spec, font_make_entity, font_make_object)
5033 (font_intern_prop): Renamed from intern_downcase. Don't downcase
5034 the string. Callers changed.
5035 (font_pixel_size): Adjusted for the format change of font-related
5036 objects.
5037 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
5038 (font_style_to_value, font_style_symbolic): New function.
5039 (build_font_family_alist): Delete it.
5040 (font_registry_charsets): Use Fassoc_string instead of
5041 assq_no_quit.
5042 (font_prop_validate_symbol): Don't return null_string.
5043 (font_prop_validate_style): Adjusted for the change of
5044 style-related values in a font vector.
5045 (font_property_table): Delete entries for QClanguage and
5046 QCantialias, add entries for QCavgwidth.
5047 (get_font_prop_index): Delete the 2nd argument FROM.
5048 (font_prop_validate): Arguments changed.
5049 (font_put_extra): Adjusted for the change of font-related objects.
5050 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
5051 (font_parse_fcname, font_unparse_fcname)
5052 (font_prepare_composition): Likewise.
5053 (font_parse_family_registry): Renamed from font_merge_old_spec.
5054 (otf_open): Delete the 1st arg entity.
5055 (font_otf_capability): Adjusted for the above change.
5056 (font_score): New arg alternate_families. Adjusted for the change
5057 of font-related objects.
5058 (font_sort_entites): New arg best_only.
5059 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
5060 Delete them.
5061 (font_match_p): Check alternate families.
5062 (font_find_object): Delete it.
5063 (font_check_object): New function.
5064 (font_clear_cache): Adjusted for the change of font-related objects.
5065 (font_delete_unmatched): New arg.
5066 (font_list_entities): Call font_driver->list with a spec that
5067 doesn't specify style-related properties.
5068 (font_matching_entity): Arguments changed. Caller changed.
5069 (font_open_entity): Adjusted for the change of font-related objects.
5070 (font_close_object, font_has_char, font_encode_char)
5071 (font_get_name, font_get_spec): Likewise.
5072 (font_spec_from_name, font_clear_prop, font_update_lface):
5073 New functions.
5074 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
5075 (font_prepare_for_face, font_done_for_face, font_open_by_name)
5076 (font_at): Adjusted for the change of font-related objects.
5077 (font_range): New function.
5078 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
5079 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
5080 (Fcopy_font_spec, Fmerge_font_spec): New function.
5081 (Ffont_family_list): Renamed from list-families.
5082 (Finternal_set_font_style_table): Arguments changed.
5083 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
5084 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
5085 change of font-related objects.
5086 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
5087
5088 * fontset.h (struct font_info): Delete it. Most members go to
5089 struct font.
5090 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
5091 (enum FONT_SPEC_INDEX): Delete it.
5092 (font_info, list_fonts_func, load_font_func, query_font_func)
5093 (set_frame_fontset_func, find_ccl_program_func)
5094 (get_font_repertory_func, new_fontset_from_font_name): Delete
5095 externs.
5096 (fontset_from_font_name): Extern it.
5097 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
5098 (FONT_INFO_FROM_FACE): Deleted.
5099 (face_for_font): Adjust prototype.
5100
5101 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
5102 conditionals. Don't check enable_font_backend. Delete all codes
5103 used only when USE_FONT_BACKEND is not defined.
5104 (get_font_info_func, list_font_func, load_font_func)
5105 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
5106 (get_font_repertory_func): Delete them.
5107 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
5108 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
5109 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
5110 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
5111 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
5112 (fontset_compare_rfontdef): New function.
5113 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
5114 rfont-defs by qsort. Adjusted for the change of font-group vector.
5115 (load_font_get_repertory): Deleted.
5116 (fontset_find_font): Use new macros to ref/set elements of
5117 font-def and rfont-def.
5118 (fontset_font): Fix the timing of remembering that no font for C.
5119 (free_face_fontset): Do nothing if the face has no fontset.
5120 (face_suitable_for_char_p): Use new macros to ref/set elements of
5121 rfont-def.
5122 (face_for_char): Likewise. Call face_for_char with font_object.
5123 (fs_load_font): Delete. Delete #pragma surrounding it.
5124 (fs_query_fontset): Use strcasecmp instead of strcmp.
5125 (generate_ascii_font_name): Adjusted for the format change of
5126 font-spec.
5127 (Fset_fontset_font): Likewise. Use new macros to set elements of
5128 font-def.
5129 (Fnew_fontset): Use font_unparse_xlfd to generate
5130 FONTSET_ASCII (fontset).
5131 (new_fontset_from_font_name): Deleted.
5132 (fontset_from_font): Renamed from new_fontset_from_font. Check if
5133 a fontset is already created for the font. FIx updating of
5134 Vfontset_alias_alist.
5135 (fontset_ascii_font): Deleted.
5136 (Ffont_info): Adjusted for the format change of font-spec.
5137 (Finternal_char_font): Likewise.
5138 (Ffontset_info): Likewise.
5139 (syms_of_fontset): Don't check load_font_func.
5140
5141 * fns.c (internal_equal): Handle PREV_FONT.
5142
5143 * frame.h: Delete USE_FONT_BACKEND conditional.
5144
5145 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
5146 conditionals. Don't check enable_font_backend. Delete all codes
5147 used only when USE_FONT_BACKEND is not defined.
5148 (x_set_font): Call x_new_font, not x_new_fontset2.
5149 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
5150 already set for the frame.
5151
5152 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
5153 a font-entity by font_make_entity. Use font_intern_prop instead
5154 of intern_downcase. Use FONT_SET_STYLE to set a style-related
5155 font property. If a font is scalable, set avgwidth property to 0.
5156 Set font-entity property by font_put_extra.
5157 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
5158 (ffont_driver): Adjusted for the change of struct font_driver.
5159 (ftfont_spec_pattern): New function.
5160 (ftfont_list): Return a list, not vector.
5161 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
5162 (ftfont_list_family): Don't downcase names.
5163 (ftfont_free_entity): Deleted.
5164 (ftfont_open): Return a font-object. Adjusted for the change of
5165 struct font. Get underline_thickness and underline_position from
5166 font property. Don't update dpyinfo->smallest_font_height and
5167 dpyinfo->smallest_char_width.
5168 (ftfont_close): Don't free `struct font'.
5169 (ftfont_has_char): Adjusted for the format change of font-entity.
5170 (ftfont_encode_char, ftfont_text_extents): Likewise.
5171
5172 * ftxfont.c (ftxfont_list): Return a list, not vector.
5173 (ftxfont_open): Return a font-object. Adjusted for the change of
5174 struct font. Get underline_thickness and underline_position from
5175 font property. Don't update dpyinfo->smallest_font_height and
5176 dpyinfo->smallest_char_width.
5177 (ftxfont_close): Don't decrease FRAME_X_DISPLAY_INFO (f)->n_fonts.
5178 (ftxfont_draw): Adjusted for the change of struct font.
5179
5180 * image.c (image_ascent): Don't include "charset.h". Include
5181 "character.h" and "font.h".
5182
5183 * lisp.h (enum pvec_type): New member PREV_FONT.
5184 (Fassoc_string): EXFUN it.
5185
5186 * print.c: Include font.h.
5187 (print_object): Handle font-related objects.
5188
5189 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
5190 conditionals. Don't check enable_font_backend. Delete all codes
5191 used only when USE_FONT_BACKEND is not defined.
5192 (handle_auto_composed_prop): Do nothing if it->f is not on a
5193 window system. Check how many following characters can be
5194 displayed by the same font.
5195 (calc_pixel_width_or_height): Type of the 4th arg is changed to
5196 'struct font *'.
5197 (get_char_face_and_encoding): Assign the whole encoding task to
5198 the `encode-char' method of a font driver.
5199 (fill_composite_glyph_string): Adjusted for the change of `struct
5200 face' and `struct glyph_string'.
5201 (fill_glyph_string): Likewise.
5202 (get_per_char_metric): Arguments changed.
5203 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
5204 and `struct glyph_string'.
5205 (produce_stretch_glyph, calc_line_height_property)
5206 (x_produce_glyphs): Likewise.
5207
5208 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
5209 conditionals. Don't check enable_font_backend. Delete all codes
5210 used only when USE_FONT_BACKEND is not defined. Use
5211 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
5212 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
5213 (Qp): Extern them.
5214 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
5215 Deleted.
5216 (struct font_name): Deleted.
5217 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
5218 (compare_fonts_by_sort_order): New function.
5219 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
5220 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
5221 Deleted.
5222 (Fx_family_fonts): Use font_list_entities, and sort fonts by
5223 compare_fonts_by_sort_order.
5224 (Fx_font_family_list): Call Ffont_family_list.
5225 (face_numeric_value, face_numeric_weight, face_numeric_slant)
5226 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
5227 (face_symbolic_slant, face_symbolic_swidth)
5228 (split_font_name_into_vector, build_font_name_from_vector)
5229 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
5230 (font_rescale_ratio, split_font_name, build_font_name)
5231 (free_font_names, sort_fonts, x_face_list_fonts)
5232 (face_font_available_p, sorted_font_list, cmp_font_names)
5233 (font_list_1, concat_font_list, font_list, remove_duplicates):
5234 Deleted.
5235 (Fx_list_fonts): Use Ffont_list.
5236 (LFACE_AVGWIDTH): Deleted.
5237 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
5238 by FONTP.
5239 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
5240 (set_lface_from_font_name): Delete it.
5241 (set_lface_from_font): Renamed from
5242 set_lface_from_font_and_fontset. Caller changed. Don't set
5243 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
5244 for face.
5245 (merge_face_vectors): Copy font-spec if necessary.
5246 Clear properties of the font-spec if necessary.
5247 (merge_face_ref): Clear properties of the font-spec if necessary.
5248 (Finternal_set_lisp_face_attribute): Likewise.
5249 (set_font_frame_param): Use font_load_for_lface to load a
5250 font-object, and call Fmodify_frame_parameters with it.
5251 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
5252 font name by Ffont_xlfd_name.
5253 (Finternal_lisp_face_attribute_values): Don't check QCweight,
5254 QCslant, and QCwidth.
5255 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
5256 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
5257 Compare fonts by EQ.
5258 (lookup_non_ascii_face): Deleted.
5259 (face_for_font): The 2nd argument changed.
5260 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
5261 Check atomic font properties by case insensitive.
5262 (realize_non_ascii_face): Set face->overstrike correctly.
5263 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
5264 (dump_realized_face): Get font name from
5265 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
5266
5267 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
5268 conditionals. Don't check enable_font_backend. Delete all codes
5269 used only when USE_FONT_BACKEND is not defined.
5270 (xic_create_xfontset): Original code deleted and renamed from
5271 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
5272 (x_make_gc): Don't set GCFont in GCs.
5273 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
5274 opened by "fixed".
5275 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
5276 find_ccl_program_func, query_font_func, set_frame_fontset_func,
5277 get_font_repertory_func.
5278
5279 * xfont.c: Include <stdlib.h> and "ccl.h".
5280 (struct xfont_info): New structure.
5281 (xfont_query_font): Deleted.
5282 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
5283 moved from xterm.c.
5284 (xfont_driver): Adjusted for the change of struct font_driver.
5285 (compare_font_names): New function.
5286 (xfont_list_pattern): Sort font names case insensitively. Make
5287 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
5288 (xfont_list): Return a list, not vector.
5289 (xfont_match): If the font doesn't have QCname property, generate
5290 a name from the other font properties.
5291 (xfont_open): Return a font-object. Adjusted for the change of
5292 struct font. Get underline_thickness and underline_position from
5293 font property. Don't update dpyinfo->smallest_font_height and
5294 dpyinfo->smallest_char_width.
5295 (xfont_close): Don't free struct font.
5296 (xfont_prepare_face): Adjusted for the change of struct font.
5297 (xfont_done_face): Deleted.
5298 (xfont_has_char): Adjusted for the change of struct font.
5299 (xfont_encode_char, xfont_draw): Likewise.
5300 (xfont_check): New function.
5301
5302 * xftfont.c (xftfont_list): Adjusted for the change of `list'
5303 callback function.
5304 (xftfont_match): Adjusted for the format change of font-entity.
5305 (xftfont_open): Adjusted for the format change of font-entity and
5306 font-object. Adjusted for the change of struct font. Return a
5307 font-object. Don't update dpyinfo->smallest_font_height and
5308 dpyinfo->smallest_char_width.
5309 (xftfont_close): Block input while calling XftFontClose.
5310 (xftfont_prepare_face): Don't block input while calling
5311 xftfont_get_colors. Adjusted for the change of struct font.
5312 (xftfont_shape): Return value of error case fixed.
5313
5314 * xrdb.c (x_load_resources): Don't setup a fontset resource.
5315
5316 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
5317 conditionals.
5318 (FONT_WIDTH): Return (f)->max_width.
5319 (struct x_display_info): Delete member `font'.
5320 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
5321 (x_find_ccl_program, x_get_font_repertory): Delete externs.
5322 (struct x_output): Change type of `font' to `struct font *'.
5323
5324 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
5325 conditionals. Don't check enable_font_backend. Delete all codes
5326 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
5327 (x_per_char_metric, x_encode_char): Deleted.
5328 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
5329 (x_compute_glyph_string_overhangs): Adjusted for the change of
5330 `struct face'.
5331 (x_draw_glyph_string_foreground)
5332 (x_draw_composite_glyph_string_foreground): Likewise.
5333 (x_draw_glyph_string): Likewise. Use font->underline_position and
5334 font->underline_thickness.
5335 (x_new_font): Renamed from x_new_fontset2.
5336 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
5337 (x_check_font): Call `check' method of a font driver.
5338 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
5339 (x_query_font, x_get_font_repertory): Deleted.
5340 (x_find_ccl_program): Renamed and moved to xfont.c.
5341 (x_redisplay_interface): Adjusted for the change of `struct
5342 redisplay_interface'.
5343
5344 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
5345 conditionals. Don't check enable_font_backend. Delete all codes
5346 used only when USE_FONT_BACKEND is not defined. Surround non-used
5347 code by "#ifdef OLD_FONT" and "endif".
5348 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
5349
5350 * w32font.h (struct w32font_info): New member.
5351 (FONT_COMPAT): New macro.
5352 (w32font_open_internal): Prototype adjusted.
5353
5354 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
5355 OLD_FONT" and "endif".
5356
5357 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
5358 conditionals. Don't check enable_font_backend. Delete all codes
5359 used only when USE_FONT_BACKEND is not defined.
5360 (w32font_open): Return a font-object. Make a font-object by
5361 font_make_object. Adjusted for the change of struct w32font_info.
5362 (w32font_close): Don't free struct font. Adjusted for the change
5363 of struct w32font_info.
5364 (w32font_encode_char, w32font_text_extents, w32font_draw):
5365 Adjusted for the change of struct w32font_info.
5366 (w32font_draw): Likewise.
5367 (w32font_list_internal): Return a list, not vector.
5368 (w32font_open_internal): Change the 4th arg to font-object.
5369 Adjusted for the change of struct w32font_info and font-object format.
5370 (add_font_name_to_list): Don't downcase names.
5371 (w32_enumfont_pattern_entity): Make a font-entity by
5372 font_make_entity. Adjusted for the format change of font-entity.
5373 Use FONT_SET_STYLE to set a style-related font property. If a
5374 font is scalable, set avgwidth property to 0. Set font-entity
5375 property by font_put_extra.
5376 (font_matches_spec): Adjusted for the format change of font-entity.
5377 (w32_weight_table, w32_decode_weight): New variables.
5378 (w32_encode_weight): New function.
5379 (fill_in_logfont): Adjusted for the format change of font-spec.
5380 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
5381 weight value.
5382 (w32font_driver): Adjusted for the change of struct font_driver.
5383
5384 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
5385 conditionals. Don't check enable_font_backend. Surround non-used
5386 code by "#ifdef OLD_FONT" and "endif".
5387 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
5388 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
5389
5390 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
5391 conditionals. Don't check enable_font_backend. Delete all codes
5392 used only when USE_FONT_BACKEND is not defined. Surround non-used
5393 code by "#ifdef OLD_FONT" and "endif".
5394
5395 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
5396 (uniscribe_open): Return value changed to font-object.
5397 Adjusted for the format change of font-object.
5398 (uniscribe_otf_capability): Adjusted for the change of struct font.
5399 (add_opentype_font_name_to_list): Don't downcase names.
5400 (uniscribe_font_driver): Adjusted for the change of struct
5401 font_driver.
5402
54032008-05-13 Chong Yidong <cyd@stupidchicken.com>
5404
5405 * dispnew.c (update_frame_1): Check if tty output is still valid
5406 before flushing it.
5407
54082008-05-13 Jan Djärv <jan.h.d@swipnet.se>
5409
5410 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
5411 to Gtk+ menus.
5412
54132008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
5414
5415 * dired.c (file_name_completion): Tweak the code so as to always do it
5416 in a single pass. Tighten the scope of some variables.
5417
5418 * dired.c (Qdefault_directory): New var.
5419 (file_name_completion): Use it instead of Fexpand_file_name.
5420 (syms_of_dired): Initialize it.
5421
54222008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
5423
5424 * fileio.c (double_dollars): Remove dead code.
5425
54262008-05-10 Eli Zaretskii <eliz@gnu.org>
5427
5428 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
5429 Mention w32-get-true-file-attributes in doc string.
5430
5431 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
5432
54332008-05-09 Glenn Morris <rgm@gnu.org>
5434
5435 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
5436 2008-04-23.
5437
54382008-05-09 Eli Zaretskii <eliz@gnu.org>
5439
5440 Support for reporting owner and group of each file on MS-Windows:
5441 * dired.c (stat_uname, stat_gname): New functions, with special
5442 implementation for w32.
5443 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
5444
5445 * w32.c: Rename the_passwd_* to dflt_passwd_*.
5446 (dflt_group_name): New static variable.
5447 (dflt_group): Rename from the_group.
5448 (init_user_info): Init dflt_group fields. Get user's group name
5449 from LookupAccountSid.
5450 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
5451 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
5452 New initialization states.
5453 (globals_of_w32): Initialize them to zero. Initialize the default
5454 group name to "None".
5455 (GetFileSecurity_Name): New global var, the name of the function
5456 to call for GetFileSecurity.
5457 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
5458 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
5459 (get_file_security, get_security_descriptor_owner)
5460 (get_security_descriptor_group, is_valid_sid)
5461 (get_file_security_desc, get_rid, get_name_and_id)
5462 (get_file_owner_and_group): New functions.
5463 (stat): Use get_file_security_desc and get_file_owner_and_group to
5464 report the owner and primary group of each file. Don't ignore the
5465 high 32 bits of file's size, now that st_size is 64-bit wide.
5466 Fix test when to get true file attributes.
5467 (init_user_info): Use get_rid instead of equivalent inline code.
5468 (fstat): Don't ignore the high 32 bits of file's size.
5469
54702008-05-09 Chong Yidong <cyd@stupidchicken.com>
5471
5472 * image.c (png_load): Use correct bit-depth for setting background
5473 color.
5474
54752008-05-08 Eli Zaretskii <eliz@gnu.org>
5476
5477 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
5478 epa-hook.elc.
5479
54802008-05-08 Juanma Barranquero <lekktu@gmail.com>
5481
5482 * font.c (Ffont_match_p): Don't use `iff' in docstring.
5483
54842008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
5485
5486 * macfns.c (Fx_create_frame): Make a copy of frame parameters
5487 because the original parameters are in pure storage now.
5488 (mac_window): Remove unused params. Update callers.
5489
54902008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
5491
5492 * lread.c (substitute_object_recurse): Use lower-level primitives.
5493 Don't signal errors when traversing sub-char-tables.
5494 Don't loop over all the possible characters when traversing char-tables.
5495
5496 * print.c (print_preprocess): Add sub-char-tables to the print-table,
5497 just like we do in print.c.
5498
54992008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
5500
5501 * minibuf.c (Ftry_completion): Remove code left over from when we used
5502 scmp instead of Fcompare_strings.
5503
55042008-05-04 Juanma Barranquero <lekktu@gmail.com>
5505
5506 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
5507
55082008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5509
5510 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
5511 Create bitmap context in native byte order.
5512
5513 * macterm.c (XDrawLine)
5514 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
5515 context in native byte order.
5516
55172008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5518
5519 * config.in: Regenerate.
5520
5521 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
5522 New definitions for Image I/O support.
5523 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
5524 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
5525 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
5526 (mac_data_provider_release_data, image_load_image_io)
5527 [USE_MAC_IMAGE_IO]: New functions.
5528 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
5529 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
5530 (init_image_func_pointer) [MAC_OSX]: Remove function.
5531 (image_load_quartz2d) [MAC_OSX]: Check availability of
5532 CGImageCreateWithPNGDataProvider at compile time.
5533 Use lowercase `false' for boolean constant.
5534 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
5535 Use image_load_image_io.
5536 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
5537 Don't check MyCGImageCreateWithPNGDataProvider.
5538 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
5539 Don't call init_image_func_pointer.
5540
5541 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
5542
5543 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
5544 Make variable non-static.
5545 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
5546 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
5547
5548 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
5549 (RED_FROM_ULONG): Mask off higher bits.
5550 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
5551
5552 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
5553 Include AvailabilityMacros.h.
5554 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
5555 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
5556
55572008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
5558
5559 * chartab.c (Fset_char_table_range): If range is t, really set all
5560 chars to that value.
5561
55622008-05-03 Eli Zaretskii <eliz@gnu.org>
5563
5564 * dired.c (Ffile_attributes): Don't allow the device number become
5565 negative.
5566
55672008-05-02 Daiki Ueno <ueno@unixuser.org>
5568
5569 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
5570
55712008-05-02 Juri Linkov <juri@jurta.org>
5572
5573 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
5574 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
5575 DEFAULT argument as a list of default values in docstrings.
5576
55772008-05-01 Chong Yidong <cyd@stupidchicken.com>
5578
5579 * puresize.h (BASE_PURESIZE): Increase to 1210000.
5580
55812008-05-01 Martin Rudalics <rudalics@gmx.at>
5582
5583 * dispnew.c (change_frame_size_1): Preserve small windows when
5584 shrinking frames by calling set_window_height|width with third
5585 arg 2.
5586
5587 * window.h (struct window): Replace field too_small_ok by field
5588 resize_proportionally.
5589
5590 * window.c (make_window): Initialize resize_proportionally.
5591 (enlarge_window): Temporarily set resize_proportionally to make
5592 sure that shrink_windows does scale the window proportionally.
5593 (shrink_windows): When window has resize_proportionally set try
5594 to shrink it proportionally by stealing from other windows.
5595 (struct saved_window, Fset_window_configuration)
5596 (compare_window_configurations): Handle resize_proportionally.
5597 (WINDOW_TOTAL_SIZE): New macro.
5598 (window_min_size, shrink_windows, size_window): Use it.
5599 (check_min_window_sizes): Remove. Invalid values of
5600 window-min-height|width are handled by window_min_size_2 now.
5601 (size_window, Fsplit_window, enlarge_window)
5602 (adjust_window_trailing_edge, grow_mini_window): Don't call
5603 check_min_window_sizes.
5604 (window_min_size_2, window_min_size_1, window_min_size):
5605 New argument safe_p for retrieving "safe" minimum sizes.
5606 (Fdisplay_buffer, Fsplit_window, enlarge_window)
5607 (adjust_window_trailing_edge, grow_mini_window):
5608 Adjust arguments of window_min_size... functions.
5609 (shrink_windows): Argument min_size removed. New argument
5610 safe_p allows shrinking windows to their safe minimum sizes.
5611 Calculate minimum size and decide whether a window shall be
5612 deleted for each window individually.
5613 (size_window): When nodelete_p equals 2, tell shrink_windows to
5614 delete windows only if their new minimum size is no more safe.
5615 (shrink_window_lowest_first): Call window_min_size_1 to make
5616 sure to preserve modeline of bottom-most window when resizing
5617 the minibuffer.
5618 (Fset_window_configuration, Fcurrent_window_configuration)
5619 (compare_window_configurations): Do not handle
5620 window-min-height|width any more.
5621 (syms_of_window): Clarify window-min-height|width doc-strings.
5622
56232008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
5624
5625 * dired.c (file_name_completion): Fix up the encoding/decoding issue
5626 some more. Copy some of the code from Ftry_completions.
5627 Remove special case code that dates back to initial revision when the
5628 slash was only added when necessary and that can't trigger nowadays.
5629
56302008-04-27 Kenichi Handa <handa@m17n.org>
5631
5632 * font.c (font_prop_validate): Signal `error' instead of `font'.
5633
56342008-04-29 Jason Rumney <jasonr@gnu.org>
5635
5636 * w32fns.c (Fw32_battery_status): New defun.
5637 (syms_of_w32fns): Defsubr it.
5638
56392008-04-28 Andreas Schwab <schwab@suse.de>
5640
5641 * dired.c (file_name_completion): Fix another mixing of encoded
5642 and decoded names.
5643
56442008-04-28 Juanma Barranquero <lekktu@gmail.com>
5645
5646 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
5647
56482008-04-27 Juanma Barranquero <lekktu@gmail.com>
5649
5650 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
5651
56522008-04-27 Andreas Schwab <schwab@suse.de>
5653
5654 * dired.c (file_name_completion): Fix inappropriate mixing of
5655 encoded and decoded names.
5656
5657 * xterm.c (XTread_socket): Fix use of uninitialized variable.
5658
5659 * puresize.h (BASE_PURESIZE): Increase to 1200000.
5660
56612008-04-26 Eli Zaretskii <eliz@gnu.org>
5662
5663 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
5664 2008-03-31, it's not needed anymore with `struct stat' definition
5665 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
5666 for the same reasons.
5667
56682008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
5669
5670 * m/sparc.h: Additional redefinitions for GNU/Linux.
5671
56722008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5673
5674 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
5675 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
5676 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
5677 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
5678 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
5679 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
5680 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
5681 Likewise.
5682
5683 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
5684 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
5685 (mac_ax_number_of_characters): Add externs.
5686 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
5687 [USE_MAC_TSM]: Likewise.
5688 (mac_handle_text_input_event) [MAC_OSX]:
5689 Handle kEventTextInputOffsetToPos for no active input area case.
5690 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
5691 (mac_handle_document_access_event)
5692 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
5693 (install_application_handler) [MAC_OSX]: Register handlers for
5694 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
5695 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
5696 Register mac_handle_document_access_event.
5697
5698 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
5699 Make functions non-static.
5700
57012008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
5702
5703 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
5704 (read_file_name_completion_ignore_case, insert_default_directory)
5705 (Qdefault_directory): Move to minibuffer.el.
5706 (Fread_file_name): Call the new `read-file-name' instead.
5707
57082008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5709
5710 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
5711 Make function non-static.
5712 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
5713 Remove function.
5714 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
5715 Move to mactoolbox.c.
5716 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
5717
5718 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
5719 (mac_rect_make): New macro.
5720
5721 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
5722 instead of float.
5723 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
5724 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
5725 (XSetBackground) [USE_CG_DRAWING]: Likewise.
5726 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
5727 CGRectMake.
5728 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
5729 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
5730 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
5731 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
5732 instead of WindowRef in argument type.
5733 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
5734 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
5735 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
5736 instead of DISPLAY. All uses changed.
5737 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
5738 (x_calc_absolute_position): Simplify so as not to use
5739 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
5740
5741 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
5742 instead of WindowRef in argument type.
5743 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
5744 [TARGET_API_MAC_CARBON]: Remove externs.
5745 (create_apple_event, mac_event_parameters_to_lisp)
5746 [TARGET_API_MAC_CARBON]: Add externs.
5747
5748 * mactoolbox.c (Vmac_ts_script_language_on_focus)
5749 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
5750 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
5751 is clicked.
5752 (x_activate_menubar): Remove extern for saved_menu_event_location.
5753 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
5754 Move from mac.c.
5755
57562008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5757
5758 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
5759 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
5760
57612008-04-23 Jason Rumney <jasonr@gnu.org>
5762
5763 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
5764 attributes only for local files.
5765
5766 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
5767 default to Qlocal.
5768
57692008-04-22 Juri Linkov <juri@jurta.org>
5770
5771 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
5772 read-buffer-to-switch instead of using the letter "B".
5773
57742008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
5775
5776 * fileio.c (Qdefault_directory): New variable.
5777 (Fread_file_name): Use it to pass `dir' to the completion functions.
5778
57792008-04-20 Chong Yidong <cyd@stupidchicken.com>
5780
5781 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
5782
57832008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
5784
5785 * keyboard.c (Vpre_help_message): Remove.
5786 (show_help_echo): Remove default C code.
5787
5788 * dired.c (directory_files_internal, file_name_completion):
5789 Only call ENCODE_FILE if the string is indeed decoded.
5790
57912008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
5792
5793 * Makefile.in (TOOLKIT_DEFINES): Remove.
5794 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
5795
57962008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5797
5798 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
5799 (mactoolbox.o): New target.
5800
5801 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
5802 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
5803
5804 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
5805 Use mac_set_frame_window_background instead of XSetWindowBackground.
5806 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
5807 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
5808 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
5809 instead of SetWindowTitleWithCFString.
5810 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
5811 Move function to mactoolbox.c.
5812 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
5813 Use mac_set_window_modified instead of SetWindowModified.
5814 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
5815 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
5816 (Fx_focus_frame): Use mac_front_non_floating_window instead of
5817 FrontNonFloatingWindow. Use mac_activate_window instead of
5818 ActivateWindow. Use mac_active_non_floating_window instead of
5819 ActiveNonFloatingWindow.
5820 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
5821 Use mac_show_hourglass and mac_hide_hourglass.
5822 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
5823 instead of GetGlobalMouse.
5824 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
5825 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
5826 Use mac_bring_window_to_front instead of BringToFront.
5827 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
5828 mactoolbox.c.
5829 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
5830 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
5831 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
5832 mactoolbox.c.
5833
5834 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
5835 (XtPointer): Move typedef from macmenu.c.
5836 (enum button_type): Move enum from macmenu.c.
5837 (widget_value): Move typedef from macmenu.c.
5838 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
5839 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
5840 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
5841 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
5842 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
5843 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
5844 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
5845 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
5846 (Selection): Move typedef from macselect.c.
5847 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
5848 macterm.c.
5849 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
5850 (mac_is_window_collapsed, mac_bring_window_to_front)
5851 (mac_send_window_behind, mac_hide_window, mac_show_window)
5852 (mac_collapse_window, mac_front_non_floating_window)
5853 (mac_active_non_floating_window, mac_activate_window)
5854 (mac_move_window_structure, mac_move_window, mac_size_window)
5855 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
5856
5857 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
5858 (enum mac_menu_kind): Move enum to mactoolbox.c.
5859 (min_menu_id): Move variable to mactoolbox.c.
5860 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
5861 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
5862 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
5863 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
5864 [TARGET_API_MAC_CARBON]: Likewise.
5865 (XtPointer): Move typedef to macgui.h.
5866 (enum button_type): Move enum to macgui.h.
5867 (widget_value): Move typedef to macgui.h.
5868 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
5869 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
5870 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
5871 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
5872 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
5873 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
5874 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
5875 (popup_activated_flag): Make variable non-static.
5876 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
5877 (add_menu_item, fill_menu, dispose_menus):
5878 Move functions to mactoolbox.c.
5879 (restore_show_help_function, menu_target_item_handler)
5880 (install_menu_target_item_handler, mac_handle_dialog_event)
5881 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
5882 [TARGET_API_MAC_CARBON]: Likewise.
5883 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
5884 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
5885 (find_and_call_menu_selection, name_is_separator): Make function
5886 non-static.
5887 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
5888 to mactoolbox.c.
5889 (set_frame_menubar): Don't call install_menu_quit_handler.
5890 (menu_item_selection): New variable.
5891 (mac_menu_show): Use create_and_show_popup_menu.
5892 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
5893 selection but set variable menu_item_selection. All uses changed.
5894 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
5895 Call install_menu_quit_handler. Move to mactoolbox.c.
5896
5897 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
5898 (Selection): Move typedef to macgui.h.
5899 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
5900 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
5901 Make variables non-static.
5902 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
5903 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
5904 Make functions non-static.
5905 (Vmac_service_selection) [MAC_OSX]: Likewise.
5906 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
5907 (mac_valid_selection_target_p, mac_clear_selection)
5908 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
5909 (mac_put_selection_value, mac_selection_has_target_p)
5910 (mac_get_selection_value, mac_get_selection_target_list)
5911 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
5912 Move functions to mactoolbox.c.
5913 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
5914 Likewise.
5915 (copy_scrap_flavor_data, mac_handle_service_event)
5916 (install_service_handler) [MAC_OSX]: Likewise.
5917 (syms_of_macselect) <Vmac_dnd_known_types>:
5918 Use mac_dnd_default_known_types.
5919
5920 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
5921 Move to mactoolbox.c.
5922 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
5923 (Fx_selection_owner_p): Add EXFUN.
5924 (install_window_handler, remove_window_handler, XSetWindowBackground):
5925 Remove externs.
5926 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
5927 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
5928 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
5929 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
5930 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
5931 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
5932 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
5933 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
5934 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
5935 (create_and_show_popup_menu, mac_get_selection_from_symbol)
5936 (mac_valid_selection_target_p, mac_clear_selection)
5937 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
5938 (mac_put_selection_value, mac_selection_has_target_p)
5939 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
5940 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
5941 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
5942 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
5943 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
5944 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
5945 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
5946 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
5947 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
5948
5949 * mactoolbox.c: New file.
5950
59512008-04-18 Jason Rumney <jasonr@gnu.org>
5952
5953 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
5954
59552008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
5956
5957 * character.c (Fmultibyte_char_to_unibyte):
5958 Return latin1 chars unchanged.
5959
5960 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
5961 relocated if it points to `name'.
5962
59632008-04-17 Kenichi Handa <handa@m17n.org>
5964
5965 * data.c (Faset): Allow setting a multibyte character in an
5966 ASCII-only unibyte string.
5967
5968 * lisp.h (STRING_SET_MULTIBYTE): New macro.
5969
59702008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
5971
5972 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
5973 done in config.h.
5974
59752008-04-16 Juanma Barranquero <lekktu@gmail.com>
5976
5977 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
5978 (Fchar_direction): Add usage in the docstring.
5979
59802008-04-15 Chong Yidong <cyd@stupidchicken.com>
5981
5982 * keyboard.c (read_key_sequence): Remove always-true checks.
5983
59842008-04-14 Jason Rumney <jasonr@gnu.org>
5985
5986 * w32font.c (w32font_open_internal): Set max_bounds.descent in
5987 compatibility struct, for better underline positioning.
5988
59892008-04-13 David Hansen <david.hansen@gmx.net>
5990
5991 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
5992 string.
5993
59942008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
5995
5996 * m/hp800.h (XUINT, XSET): Remove.
5997
59982008-04-12 Juanma Barranquero <lekktu@gmail.com>
5999
6000 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
6001 previous change.
6002
60032008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
6004
6005 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
6006 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
6007
60082008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
6009
6010 * keymap.h (map_keymap_canonical): Declare.
6011 * xmenu.c (single_keymap_panes): Use it.
6012
60132008-04-11 Glenn Morris <rgm@gnu.org>
6014
6015 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
6016 set the target's value to that of the alias.
6017
60182008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
6019
6020 * term.c (set_tty_color_mode): Left over typo.
6021
60222008-04-10 Michael Albinus <michael.albinus@gmx.de>
6023
6024 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
6025 only after check for file name handler functions. Signal, when
6026 native functionality is not supported.
6027 (syms_of_fileio): Declare it unconditionally.
6028
60292008-04-10 Jason Rumney <jasonr@gnu.org>
6030
6031 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
6032 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
6033
6034 * w32.c (logon_network_drive): Also logon to remote drives that
6035 are mapped to drive letters.
6036
60372008-04-10 Glenn Morris <rgm@gnu.org>
6038
6039 * xdisp.c (truncate-partial-width-windows): Doc fix.
6040
60412008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
6042
6043 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
6044 Move functions to minibuffer.el.
6045 (syms_of_fileio): Don't declare them.
6046
60472008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
6048
6049 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
6050 (syms_of_minibuf): Remove its initialization.
6051
6052 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
6053
60542008-04-09 Juanma Barranquero <lekktu@gmail.com>
6055
6056 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
6057
60582008-04-09 Jason Rumney <jasonr@gnu.org>
6059
6060 * makefile.w32-in (distclean): Delete makefile too.
6061 (maintainer-clean): New target.
6062
6063 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
6064
6065 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
6066 for new font backend and composite cases.
6067
60682008-04-09 Jan Djärv <jan.h.d@swipnet.se>
6069
6070 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
6071 Most of the code moved to run_timers.
6072 (do_pending_atimers): Call run_timers.
6073 (run_timers): New function.
6074
6075 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
6076 run atimers.
6077
6078 * process.c (wait_reading_process_output): The same as above.
6079
60802008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
6081
6082 * minibuf.c (last_exact_completion): Remove variable.
6083 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
6084 (complete_and_exit_1, complete_and_exit_2)
6085 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
6086 (Fdisplay_completion_list, display_completion_list_1)
6087 (Fminibuffer_completion_help, Fself_insert_and_exit)
6088 (Fexit_minibuffer, Fminibuffer_message): Move functions to
6089 minibuffer.el.
6090 (syms_of_minibuf): Remove corresponding initializations.
6091
6092 * keyboard.c (Qdeactivate_mark): New var.
6093 (command_loop_1): Use it to call `deactivate-mark'.
6094 (syms_of_keyboard): Initialize it.
6095
6096 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
6097 to another frame.
6098 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
6099 Don't call set_tty_color_mode.
6100 (store_frame_param): Reset previous_frame rather than call
6101 set_tty_color_mode.
6102 * term.c (set_tty_color_mode): Rewrite.
6103 * dispextern.h (set_tty_color_mode): New type.
6104 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
6105
61062008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
6107
6108 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
6109 for generic chars, which do not exist any more in emacs-unicode.
6110
61112008-04-08 Michael Albinus <michael.albinus@gmx.de>
6112
6113 * coding.c (detect_coding_emacs_mule)
6114 (Ffind_operation_coding_system): Fix typo.
6115
61162008-04-08 Jason Rumney <jasonr@gnu.org>
6117
6118 * w32uniscribe.c (SNAME): Extract only symbol name.
6119
6120 * w32font.h (struct w32_metric_cache): New struct.
6121 (w32font_info): Use it.
6122 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
6123 (CACHE_BLOCKSIZE): New constants.
6124
6125 * w32font.c (Qja, Qko, Qzh): New symbols.
6126 (syms_of_w32font): Initialise them.
6127 (font_matches_spec): Use them to filter by language.
6128 (recompute_cached_metrics): Remove function.
6129 (compute_metrics, clear_cached_metrics): New functions.
6130 (w32font_encode_char): Use them to manage metric cache.
6131 (w32font_text_extents): Cache metrics for all glyphs on demand.
6132 Delay converting glyph indices to WORD until needed.
6133 (w32font_open_internal): Initialize metric cache to empty.
6134 (registry_to_w32_charset): Charset should always be a symbol.
6135 (fill_in_logfont, list_all_matching_fonts): Family should
6136 always be a symbol.
6137
61382008-04-06 Jason Rumney <jasonr@gnu.org>
6139
6140 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
6141 Give up if glyph indices not supported. Use uniscribe obtained
6142 ABC widths for individual metrics. Map glyph clusters back to
6143 characters using fClusterStart flag. Return number of glyphs
6144 produced, not chars processed.
6145 (uniscribe_shape): Map char at FROM to current glyph.
6146
61472008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6148
6149 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
6150 Use SetMenuItemHierarchicalMenu.
6151
61522008-04-05 Jason Rumney <jasonr@gnu.org>
6153
6154 * image.c (pbm_load): Allow color values up to 65535.
6155 Throw an error if max_color_idx is outside the supported range.
6156 Report an error when image size is invalid.
6157 Read two bytes at a time when raw images have max_color_idx above 255.
6158
61592008-04-05 Eli Zaretskii <eliz@gnu.org>
6160
6161 * w32.c (readdir): If FindFirstFile/FindNextFile return in
6162 cFileName a file name that includes `?' characters, use the 8+3
6163 alias in cAlternateFileName instead.
6164
61652008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
6166
6167 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
6168 append "CCL: Quitted" when the CCL program is quitted.
6169 (setup_ccl_program): Initialize ccl->quit_silently to zero.
6170
6171 * ccl.h (struct ccl_program): New member quit_silently.
6172
61732008-04-05 Chong Yidong <cyd@stupidchicken.com>
6174
6175 * search.c (compile_pattern_1): Treat non-nil and non-string of
6176 search-spaces-regexp as nil.
6177
6178 * minibuf.c (Fassoc_string): Tweak docstring.
6179
61802008-04-05 Eli Zaretskii <eliz@gnu.org>
6181
6182 * dired.c (Ffile_attributes): Support inode numbers wider than 32
6183 bits. Remove ugly WINDOWSNT-specific kludge introduced on
6184 2008-03-14 to force inode be positive.
6185
6186 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
6187 _S_* ones, since we now use our own sys/stat.h.
6188 (stat, fstat): Don't mangle the inode number.
6189 (init_user_info): Don't restrict UID and GID to 0-60000 range.
6190
61912008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
6192
6193 * frame.h (struct frame): Give one more bit to `visible' since we use
6194 values larger than 1 to indicate obscured frames on ttys.
6195
6196 * keymap.c (Qkeymap_canonicalize): New var.
6197 (Fmap_keymap_internal): New fun.
6198 (describe_map): Use keymap-canonicalize.
6199
6200 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
6201 (Fundo_boundary): Set them.
6202 (syms_of_undo): Initialize them.
6203 (record_point): Use them instead of last_point_position*.
6204 (last_undo_buffer): Change type.
6205
62062008-04-04 Jason Rumney <jasonr@gnu.org>
6207
6208 * w32font.c (w32font_text_extents): Use font's ascent and descent.
6209 (recompute_cached_metrics): Don't set ascent and descent per char.
6210
6211 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
6212 (uniscribe_check_otf): Add GC protection before consing.
6213 Rearrange loop for counting features.
6214
62152008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
6216
6217 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
6218 buffer with byte-size of source buffer.
6219
62202008-04-03 Chong Yidong <cyd@stupidchicken.com>
6221
6222 * callint.c (Fcall_interactively): Handle temporary region even
6223 when shift-select-mode is off.
6224
62252008-04-03 Jason Rumney <jasonr@gnu.org>
6226
6227 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
6228
62292008-04-03 Kenichi Handa <handa@m17n.org>
6230
6231 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
6232 (CATEGORY_MASK_UTF_16): Likewise.
6233 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
6234 binary file.
6235 (detect_coding): Add null-byte detection for a binary file.
6236 (detect_coding_system): Likewise.
6237
62382008-04-03 Jason Rumney <jasonr@gnu.org>
6239
6240 * w32uniscribe.c: New file.
6241
6242 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
6243
6244 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
6245
6246 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
6247 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
6248 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
6249 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
6250 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
6251 (Qphonetic): New symbols.
6252 (syms_of_w32font): Initialize them.
6253 (font_supported_scripts): Use them.
6254 (w32font_list_family): List all charsets.
6255 (w32font_text_extents, recompute_cached_metrics): Fix metric
6256 calculations.
6257 (w32_enumfont_pattern_entity): Make full_type a DWORD.
6258 Give opentype fonts their own format.
6259 (font_matches_spec): New arguments backend and logfont.
6260 Handle :otf spec for uniscribe backend.
6261 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
6262 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
6263
6264 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
6265 font backend.
6266 (globals_of_w32fns): Initialize uniscribe font backend.
6267
6268 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
6269 dependencies.
6270 (w32uniscribe.$(O)): New file to build.
6271 (FONT_OBJ): Include w32uniscribe.$(O).
6272 (LIBS): Add uniscribe libraries.
6273
6274 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
6275
62762008-04-02 Chong Yidong <cyd@stupidchicken.com>
6277
6278 * callint.c (Vshift_select_mode): New var.
6279 (Finteractive): Document new ^ spec.
6280 (Fcall_interactively): Call handle-shift-selection if the ^ spec
6281 is present.
6282
6283 * keyboard.c (Vthis_command_keys_shift_translated): New var.
6284 (command_loop_1): Avoid running the direct display versions of
6285 forward-char and backward-char if shift-selection may occur.
6286 (read_key_sequence): Set Vthis_command_keys_shift_translated if
6287 shift-translation takes place.
6288
6289 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
6290 avoid clobbering by define-minor-mode.
6291
6292 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
6293 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
6294
6295 * syntax.c (Fforward_word): Add ^ interactive spec.
6296
6297 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
6298 (Fscroll_right): Add ^ interactive spec.
6299
63002008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
6301
6302 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
6303
6304 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
6305
6306 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
6307
63082008-03-31 Juri Linkov <juri@jurta.org>
6309
6310 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
6311
63122008-03-30 Jan Djärv <jan.h.d@swipnet.se>
6313
6314 * gtkutil.c (xg_set_geometry): Fix indentation.
6315 (xg_resize_outer_widget): Remove.
6316 (x_wm_size_hint_off): Fix indentation.
6317 (xg_frame_set_char_size): Call flush_and_sync after
6318 gtk_window_resize.
6319 (x_wm_set_size_hint): Pass NULL as geometry window to
6320 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
6321 Add menu bar and tool bar height to base height.
6322 (xg_update_frame_menubar, free_frame_menubar)
6323 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
6324 (update_frame_tool_bar, free_frame_tool_bar):
6325 Change xg_resize_outer_widget to xg_frame_set_char_size.
6326
63272008-03-30 Michael Albinus <michael.albinus@gmx.de>
6328
6329 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
6330 (Fdbus_call_method): New parameter TIMEOUT.
6331 (dbus-send-signal): Optimize UNGCPRO call.
6332
63332008-03-29 Juri Linkov <juri@jurta.org>
6334
6335 * window.c (Fdisplay_buffer): Move call to
6336 Vsplit_window_preferred_function out of conditions that check
6337 if window is eligible for vertical splitting.
6338 When Vsplit_window_preferred_function is non-nil, call it and use
6339 its non-nil return value as window. Otherwise, continue doing
6340 vertical splitting using Fsplit_window with arg horflag=nil.
6341 (syms_of_window) <Vsplit_window_preferred_function>: Change the
6342 default value from `split-window' to nil.
6343
63442008-03-29 Juri Linkov <juri@jurta.org>
6345
6346 * callint.c (Fcall_interactively): Revert 2008-03-16 change
6347 for interactive code letters 'b' and 'B'.
6348
63492008-03-29 Eli Zaretskii <eliz@gnu.org>
6350
6351 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
6352 multibyte string.
6353
63542008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
6355
6356 * keyboard.c (pending_funcalls): New var.
6357 (timer_check): Run it.
6358 (syms_of_keyboard): Initialize it.
6359 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
6360 (Vdelete_terminal_functions): New vars.
6361 (syms_of_terminal): Initialize them.
6362 (Fdelete_terminal): Run delete-terminal-functions.
6363 * xdisp.c (safe_eval): Rewrite.
6364 (safe_call2): New fun.
6365 * frame.c (Qdelete_frame_functions): New var.
6366 (syms_of_frame): Initialize it.
6367 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
6368 * lisp.h (safe_call2, pending_funcalls): Declare.
6369
63702008-03-28 Andreas Schwab <schwab@suse.de>
6371
6372 * indent.c (Fmove_to_column): Move declaration before statements.
6373
63742008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
6375
6376 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
6377 (struct frame): Use bit fields for boolean vars.
6378
6379 * process.c (server_accept_connection): Simplify naming.
6380 (emacs_get_tty_pgrp): Use SDATA.
6381
6382 * coding.c (decode_coding_object): Fix last change.
6383
63842008-03-27 Jason Rumney <jasonr@gnu.org>
6385
6386 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
6387
63882008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
6389
6390 * charset.c (Fdefine_charset_internal): Change the way of
6391 registering charsets in Vcharset_order_list.
6392 (syms_of_charset): Make the charset `eight-bit' supplementary.
6393
63942008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
6395
6396 * regex.c (EXTEND_BUFFER): Change order of pointer addition
6397 operations, to avoid having the difference between pointers
6398 overflow.
6399
64002008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
6401
6402 * indent.c (check_display_width): New fun.
6403 (scan_for_column): Use it.
6404
6405 * data.c (syms_of_data): Mark most-positive-fixnum and
6406 most-negative-fixnum as constants.
6407
6408 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
6409
6410 * indent.c (scan_for_column): Extract from current_column_1.
6411 Merge with the same code from Fmove_to_column.
6412 (current_column_1, Fmove_to_column): Use it.
6413
64142008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
6415
6416 * keymap.c (map_keymap_internal): New fun.
6417 (map_keymap): Use it.
6418 (Fmap_keymap_internal): New fun.
6419 (Fmap_keymap): Remove left-out test from before make_save_value.
6420
6421 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
6422
6423 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
6424 Use XCAR/XCDR.
6425
6426 * process.h (struct Lisp_Process): Remove filter_multibyte.
6427 * process.c (QCfilter_multibyte): Remove.
6428 (setup_process_coding_systems): Don't use filter_multibyte.
6429 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
6430 (read_process_output): Don't adjust multibyteness to filter_multibyte.
6431 (Fset_process_filter_multibyte): Change the coding-system to
6432 approximate the previous behavior.
6433 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
6434 coding-system.
6435
6436 * coding.c (decode_coding_object): When not decoding into a buffer,
6437 obey the coding system's preference of (uni|multi)byte.
6438
64392008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
6440
6441 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
6442 every char is changed and has a different byte-length.
6443 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
6444 Fix int -> EMACS_INT.
6445
64462008-03-23 David Hansen <david.hansen@gmx.net>
6447
6448 * dbusbind.c (xd_read_message): Remove extra copying of message
6449 strings. Check for NULL `interface' or `member'.
6450
64512008-03-22 Eli Zaretskii <eliz@gnu.org>
6452
6453 * w32.c (readdir): If FindFirstFile/FindNextFile return in
6454 cFileName a file name that includes `?' characters, use the 8+3
6455 alias in cAlternateFileName instead.
6456
64572008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
6458
6459 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
6460
64612008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
6462
6463 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
6464 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
6465 work on current_buffer only instead (that was already the case
6466 for some of the code anyway).
6467 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
6468 (temp_set_point, temp_set_point_both): Use EMACS_INT.
6469 (SET_PT, SET_PT_BOTH): Adjust.
6470 * intervals.h (set_point, temp_set_point, set_point_both)
6471 (temp_set_point_both): Remove redundant declarations.
6472
64732008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
6474
6475 * fileio.c (Finsert_file_contents):
6476 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
6477 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
6478 when buffer != current_buffer anyway.
6479
64802008-03-20 Andreas Schwab <schwab@suse.de>
6481
6482 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
6483 as default.
6484
64852008-03-19 Jason Rumney <jasonr@gnu.org>
6486
6487 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
6488 (syms_of_w32fns): Initialize them.
6489 (HOURGLASS_ID): New constant.
6490 (x_window_to_frame): Don't check hourglass_window.
6491 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
6492 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
6493 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
6494 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
6495 Only change the cursor if hourglass is not active.
6496 (Fx_create_frame): Initialize frame's current_cursor.
6497 (hourglass_atimer): Remove.
6498 (hourglass_started): New function.
6499 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
6500 (show_hourglass): Adapt to w32, changing argument to frame.
6501
6502 * w32term.h (struct w32_output): Remove hourglass_window.
6503 Add current_cursor.
6504
6505 * eval.c (call_debugger, Fsignal):
6506 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
6507 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
6508 (Fexecute_extended_command, cancel_hourglass_unwind):
6509 * minibuf.c (read_minibuf):
6510 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
6511
65122008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
6513
6514 * window.c (run_funs): New fun.
6515 (run_window_configuration_change_hook): Use it to run the buffer-local
6516 and the global part of the hook.
6517
6518 * xdisp.c (format_mode_line_unwind_data): Add window argument.
6519 (unwind_format_mode_line): Restore selected window.
6520 (x_consider_frame_title, Fformat_mode_line): Set selected window.
6521
65222008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
6523
6524 * editfns.c (Fchar_equal): Check they are valid characters.
6525
6526 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
6527
65282008-03-17 Andreas Schwab <schwab@suse.de>
6529
6530 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
6531 against a charset.
6532
6533 * lisp.h (Fbuffer_list): Declare.
6534
65352008-03-17 Jan Djärv <jan.h.d@swipnet.se>
d6c952f8 6536
aac0c6e3
MR
6537 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
6538 handlebox_widget is != 0.
6539
65402008-03-16 Juri Linkov <juri@jurta.org>
6541
6542 * callint.c (Fcall_interactively): For interactive code letters
6543 'b' and 'B' put the buffer list into the list of default "future"
6544 values of the minibuffer.
6545
65462008-03-16 Andreas Schwab <schwab@suse.de>
6547
6548 * keyboard.c (read_key_sequence): Fix downcasing of letters with
6549 modifiers.
6550
6551 * regex.c (re_match_2_internal): Correct matching of a charset
6552 against latin-1 characters.
6553
65542008-03-16 Kenichi Handa <handa@m17n.org>
6555
6556 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
6557 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
6558 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
6559 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
6560 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
6561 CHAR_STRING_ADVANCE.
6562 (produce_chars): Fix for the case that the source and the
6563 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
6564 instead of CHAR_STRING_ADVANCE.
6565 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
6566 STRING_CHAR_ADVANCE.
6567
65682008-03-15 Andreas Schwab <schwab@suse.de>
6569
6570 * regex.c (re_match_2_internal): Correct matching of eight bit
6571 characters in unibyte strings.
6572
65732008-03-15 Martin Rudalics <rudalics@gmx.at>
6574
6575 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
6576 at end of range when it coincides with the end of the buffer.
6577
65782008-03-14 Eli Zaretskii <eliz@gnu.org>
6579
6580 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
6581
6582 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
6583
65842008-03-14 Jason Rumney <jasonr@gnu.org>
6585
6586 * editfns.c (initial_tz): New variable.
6587 (syms_of_editfns): Initialize it.
6588 (Fset_time_zone_rule): Set it when first called.
6589 Use it when TZSTRING is nil.
6590
6591 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
6592 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
6593 (monitor_from_point_fn, get_monitor_info_fn): New globals.
6594 (globals_of_w32fns): Initialize them.
6595 (compute_tip_xy): Use them to position tooltips.
6596
65972008-03-14 Glenn Morris <rgm@gnu.org>
6598
6599 * emacs.c (main): Revert previous change.
6600 (standard_args): Revert -internal-script back to -scriptload,
6601 and remove the long-option form.
6602
66032008-03-13 Glenn Morris <rgm@gnu.org>
6604
6605 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
6606 Remove option -enable-font-backend.
6607
66082008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
6609
6610 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
6611
66122008-03-11 Jan Djärv <jan.h.d@swipnet.se>
6613
6614 * xterm.c (x_connection_closed): For GTK: If this is the last
6615 terminal just exit without closing the display.
6616
66172008-03-11 Jason Rumney <jasonr@gnu.org>
6618
6619 * w32font.c (w32font_full_name): Use floor to round.
6620
66212008-03-10 dhruva <dhruvakm@gmail.com> (tiny change)
6622
6623 * sound.c (alsa_configure): Declare vol at beginning of block.
6624
6625 * fontset.c (Ffontset_info): Remove extra semicolon.
6626
66272008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
6628
6629 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
6630 size of resulting string.
6631
66322008-03-10 Jason Rumney <jasonr@gnu.org>
6633
6634 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
6635
66362008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6637
6638 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
6639 Don't pretend as if characters with display property haven't been
6640 consumed for string-replacing-string case.
6641
66422008-03-08 Kim F. Storm <storm@cua.dk>
6643
6644 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
6645 (get_next_display_element, next_element_from_string)
6646 (next_element_from_ellipsis, next_element_from_buffer): Use it.
6647
66482008-03-08 Andreas Schwab <schwab@suse.de>
6649
6650 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
6651
66522008-03-06 Jason Rumney <jasonr@gnu.org>
6653
6654 * w32font.c (w32_registry): Take font_type argument. Use ANSI
6655 when charset not specified. Only translate ANSI to unicode when
6656 font_type is truetype.
6657 (w32font_coverage_ok): New function.
6658 (add_font_entity_to_list): Use it to filter unsuitable fonts.
6659
66602008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
6661
6662 * lread.c (Fread_char): Resolve modifiers.
6663 (Fread_char_exclusive): Likewise.
6664
6665 * character.c (char_resolve_modifier_mask): New function.
6666 (char_string): Use char_resolve_modifier_mask.
6667 (Fchar_resolve_modifiers): New function.
6668 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
6669 function.
6670
66712008-03-04 Jason Rumney <jasonr@gnu.org>
6672
6673 * makefile.w32-in: Always include w32font.c in the build.
6674 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
6675
66762008-03-04 Andreas Schwab <schwab@suse.de>
6677
6678 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
6679 (versionclean): Likewise.
6680
66812008-03-04 Juanma Barranquero <lekktu@gmail.com>
6682
6683 * .cvsignore: Add oo.
6684
66852008-03-03 Andreas Schwab <schwab@suse.de>
6686
6687 * coding.c (decode_coding_object): Inhibit gap shrinking while
6688 decoding in place.
6689
66902008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
6691
6692 * w32term.c: Remove unused include "gnu.h".
6693 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
6694
6695 * gnu.h: Rename to ...
6696 * emacs-icon.h: ... this.
6697 * xterm.c: Use emacs-icon.h instead of gnu.h.
6698 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
6699
67002008-03-03 Juanma Barranquero <lekktu@gmail.com>
6701
6702 * w32font.c: Include math.h.
6703
67042008-03-03 Jason Rumney <jasonr@gnu.org>
6705
6706 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
6707 Compute options separately.
6708 (w32font_open_internal): Set glyph_idx before caching metrics.
6709
6710 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
6711 Define if system headers don't.
6712 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
6713 (w32font_encode_char): Don't declare here.
6714
6715 * w32font.c (Quniscribe, QCformat): New symbols.
6716 (syms_of_w32font): Define them.
6717 (w32font_has_char): Indicate uncertainty.
6718 (w32font_encode_char): Encode as glyph point. Make static.
6719 (recompute_cached_metrics): New function.
6720 (w32font_open_internal): Use it. Set font to use glyph points
6721 initially. Set format based on type of font.
6722 (w32font_text_extents, w32font_draw): Optionally use glyph points.
6723 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
6724 on it. Set format based on information available here.
6725 (add_font_entity_to_list): Identify backend based on opentype_only.
6726
67272008-03-02 Andreas Schwab <schwab@suse.de>
6728
6729 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
6730
6731 * coding.c (decode_coding_big5, produce_chars):
6732 Fix typos in last change.
6733
67342008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
6735
6736 * gnu.h: New icon.
6737
67382008-03-02 Kenichi Handa <handa@m17n.org>
6739
6740 * coding.c (decode_coding_utf_8): When eol-type of CODING is
6741 `dos', don't decode '\r' if that is the last in the source.
6742 (decode_coding_utf_16, decode_coding_emacs_mule)
6743 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
6744 (decode_coding_raw_text, decode_coding_charset): Likewise.
6745 (produce_chars): Don't decode EOL here. Use EMACS_INT.
6746
67472008-03-01 Jason Rumney <jasonr@gnu.org>
6748
6749 * w32font.c (w32font_full_name): Report point size for scalable fonts.
6750
67512008-03-01 Kim F. Storm <storm@cua.dk>
6752
6753 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
6754
67552008-03-01 Jason Rumney <jasonr@gnu.org>
6756
6757 * w32font.c (w32font_full_name): New function.
6758 (w32font_open_internal): Use it.
6759
67602008-03-01 Kim F. Storm <storm@cua.dk>
6761
6762 * dispnew.c (line_draw_cost): Fix invalid glyph check.
6763
67642008-03-01 Jason Rumney <jasonr@gnu.org>
6765
6766 * font.c (font_unparse_fcname): Increase len when style is a symbol.
6767
67682008-03-01 Jan Djärv <jan.h.d@swipnet.se>
6769
6770 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
6771 xg_frame_resized when the event is for the edit widget.
6772
6773 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
6774
6775 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
6776 set_char_size.
6777 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
6778 operations on widgets here. Just set frame size if needed.
6779 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
6780 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
6781 (x_wm_set_size_hint): Set size hints on the edit widget only, not
6782 the whole frame.
6783 (xg_create_tool_bar): Move attachment of the tool bar to
6784 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
6785 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
6786
67872008-03-01 Jason Rumney <jasonr@gnu.org>
6788
6789 * w32fns.c (w32_msg_pump): Disable debug code.
6790
67912008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6792
6793 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
6794
67952008-02-29 Chong Yidong <cyd@stupidchicken.com>
6796
6797 * xdisp.c (next_overlay_string): Don't set
6798 overlay_strings_at_end_processed_p if we're currently reading from
6799 a display string.
6800
68012008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
6802
6803 * xdisp.c (get_overlay_strings_1): Fix typo.
6804
68052008-02-29 Chong Yidong <cyd@stupidchicken.com>
6806
6807 * xdisp.c (get_overlay_strings_1): Add missing argument type.
6808
68092008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
6810
6811 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
6812
6813 * xdisp.c (display_mode_element): Cancel the previous change.
6814 (decode_mode_spec): Likewise.
6815 (handle_auto_composed_prop): Don't make composition if it->string
6816 is a string.
6817
68182008-02-27 Kim F. Storm <storm@cua.dk>
6819
6820 * lisp.h (GLYPH): Change type from int to struct with separate char
6821 and face_id members.
6822 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
6823 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
6824 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
6825 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
6826 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
6827 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
6828 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
6829 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
6830 handle new Lisp glyph code encoding, either an integer or a cons.
6831
6832 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
6833 (GLYPH_ALIAS): Delete.
6834 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
6835 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
6836 (GLYPH_FROM_CHAR): Replace macro by ...
6837 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
6838
6839 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
6840 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
6841 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
6842 (GLYPH_INVALID_P): New macro.
6843 (spec_glyph_lookup_face): Update prototype.
6844
6845 * dispnew.c (line_draw_cost): Adapt to new glyph type.
6846 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
6847 new glyph code encoding.
6848 (spec_glyph_lookup_face): No return value; update passed glyph instead.
6849 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
6850
6851 * xdisp.c (get_next_display_element, next_element_from_display_vector):
6852 Adapt to new glyph type and new glyph code encoding.
6853
6854 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
6855
6856 * indent.c (current_column, current_column_1, Fmove_to_column)
6857 (compute_motion): Adapt to new glyph code encoding.
6858
6859 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
6860
68612008-02-27 Chong Yidong <cyd@stupidchicken.com>
6862
6863 * process.c (wait_reading_process_output): Check for window
6864 changes caused by timers.
6865 Suggested by Johan Bockgård.
6866
68672008-02-27 Glenn Morris <rgm@gnu.org>
6868
6869 * emacs.c (USAGE1): Add `--disable-font-backend'.
6870
68712008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
6872
6873 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
6874 is made to the buffer.
6875
68762008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
6877
6878 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
6879 (face_at_string_position):
6880 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
6881 (face_at_string_position):
6882 * xdisp.c (display_string, next_overlay_change):
6883 * buffer.h (overlays_at):
6884 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
6885 Update callers.
6886
68872008-02-26 Chong Yidong <cyd@stupidchicken.com>
6888
6889 * editfns.c (Fformat): Doc fix.
6890
68912008-02-26 Juanma Barranquero <lekktu@gmail.com>
6892
6893 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
6894 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
6895 (Ffont_otf_alternates, Fquery_font): Doc fixes.
6896
68972008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
6898
6899 * buffer.c (Fbuffer_swap_text): New function.
6900 (syms_of_buffer): Defsubr it.
6901
69022008-02-25 Chong Yidong <cyd@stupidchicken.com>
6903
6904 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
6905
69062008-02-25 Jason Rumney <jasonr@gnu.org>
6907
6908 * w32font.c (w32font_draw): Draw one character at a time when padding.
6909
69102008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
6911
6912 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
6913 Handle a nil arg. Use run_window_configuration_change_hook.
6914 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
6915 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
6916 Use run_window_configuration_change_hook.
6917
69182008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
6919
6920 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
6921 1-pixel width.
6922
69232008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
6924
6925 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
6926 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
6927 if the glyph in the font is zero pixel with.
6928
6929 * dispextern.h (struct glyph_string): New member padding_p.
6930
6931 * w32font.c (w32font_draw): Pay attention to s->padding_p.
6932
6933 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
6934
6935 * xfont.c (xfont_draw): Pay attention to s->padding_p.
6936
6937 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
6938
6939 * font.c: If the font driver doesn't have `shape' function, return Qnil.
6940
69412008-02-25 Jason Rumney <jasonr@gnu.org>
6942
6943 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
6944
69452008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
6946
6947 Allow fine-grained image-cache flushing.
6948 * dispextern.h (struct image): Add `dependencies' field.
6949 (clear_image_caches): Change arg to Lisp_Object.
6950 * image.c (make_image): Initialize `dependencies' field.
6951 (clear_image_cache): Change arg to allow fine-grained flushing.
6952 Perform the flush even if image-cache-eviction-delay is nil.
6953 (clear_image_caches): Change arg to Lisp_Object.
6954 (Fclear_image_cache): Expand meaning of the argument.
6955 (mark_image): Mark `dependencies' field.
6956 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
6957 (lface_hash): Use XHASH rather than XFASTINT.
6958 (face_at_buffer_position): Fix int -> EMACS_INT position.
6959 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
6960 (select_frame_for_redisplay): Remove code duplication.
6961 (redisplay_internal): Adapt arg to call to clear_image_caches.
6962
69632008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
6964
6965 * s/vms4-0.h:
6966 * s/vms4-2.h:
6967 * s/vms4-4.h:
6968 * s/vms5-5.h: Remove, unused.
6969
6970 * s/irix5-2.h:
6971 * s/irix6-0.h:
6972 * s/riscos5.h:
6973 * s/mach-bsd4-3.h:
6974 * m/mips4.h: Remove files for obsolete systems.
6975
6976 * Makefile.in:
6977 * filelock.c:
6978 * unexmips.c:
6979 * m/hp9000s300.h:
6980 * m/iris4d.h:
6981 * s/aix3-1.h:
6982 * s/hpux.h:
6983 * s/msdos.h:
6984 * s/usg5-0.h:
6985 * s/usg5-2-2.h:
6986 * s/usg5-2.h:
6987 * s/usg5-3.h: Remove references to obsolete variables.
6988
6989 * s/irix5-0.h: Remove, move all the contents ...
6990 * s/irix6-5.h: ... here. Simplify.
6991 * config.in: Regenerate.
6992
69932008-02-24 Jason Rumney <jasonr@gnu.org>
6994
6995 * w32term.c (x_draw_glyph_string_background): Clear the background
6996 manually when cleartype is in use.
6997 (x_draw_glyph_string_foreground): Draw text transparently when
6998 cleartype is in use.
6999
7000 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
7001 a font into it unless we have to.
7002
70032008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
7004
7005 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
7006 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
d6c952f8 7007
aac0c6e3
MR
70082008-02-18 Jason Rumney <jasonr@gnu.org>
7009
7010 * w32fns.c (Fw32_shell_execute): Encode parameters.
7011
70122008-02-09 Eli Zaretskii <eliz@gnu.org>
7013
7014 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
7015
70162008-02-05 Juanma Barranquero <lekktu@gmail.com>
7017
7018 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
7019
70202008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
7021
7022 * xterm.c (x_set_offset): Don't change the gravity if
7023 CHANGE_GRAVITY is -1.
7024
70252008-02-23 Chong Yidong <cyd@stupidchicken.com>
7026
7027 * fileio.c (auto_save_error_occurred): New var.
7028 (auto_save_error): Set it.
7029 (Fdo_auto_save): Don't overwrite the error message if an auto-save
7030 error occurred.
7031
70322008-02-23 Eli Zaretskii <eliz@gnu.org>
7033
7034 * w32.c (globals_of_w32): Add initializations for
7035 g_b_init_get_sid_sub_authority and
7036 g_b_init_get_sid_sub_authority_count.
7037
70382008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
7039
7040 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
7041 (font_parse_xlfd): Use them for sanity check.
7042 (Finternal_set_font_style_table): Make sure the table is bijective.
7043
7044 Consolidate the image_cache to the terminal struct.
7045 * termhooks.h (P_): Remove redundant def.
7046 (struct terminal): New field `image_cache'.
7047 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
7048 of FRAME_X_IMAGE_CACHE.
7049 * xterm.h (struct x_display_info): Remove image_cache field.
7050 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7051 * w32term.h (struct w32_display_info): Remove image_cache field.
7052 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7053 * macterm.h (struct mac_display_info): Remove image_cache field.
7054 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7055 * xterm.c (x_term_init):
7056 * w32term.c (w32_term_init):
7057 * macterm.c (mac_term_init): Set the image_cache in the terminal.
7058 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
7059 Remove declarations.
7060 (clear_image_caches, mark_image_cache): New declarations.
7061 * xfaces.c (clear_face_cache):
7062 * xdisp.c (redisplay_internal): Use clear_image_caches.
7063 * image.c (clear_image_cache): Don't check that a frame is on
7064 a window-system before checking if it shares the same cache.
7065 (clear_image_caches): New function.
7066 (Fclear_image_cache): Use it.
7067 (mark_image): Move from allo.c.
7068 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
7069 * alloc.c (mark_image, mark_image_cache): Move to image.c.
7070 (mark_object): Don't call mark_image_cache for frames.
7071 (mark_terminals): Call mark_image_cache.
7072
7073 * lisp.h (Fdelete_terminal): Declare.
7074
7075 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
7076 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
7077 wrong_type_argument.
7078
70792008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
7080
7081 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
7082 malayalam.el, and tamil.el. Add sinhala.el.
7083
70842008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
7085
7086 * xterm.c (x_connection_closed): Consolidate identical tests.
7087 (x_delete_terminal): Don't crash if called via x_connection_closed.
7088
70892008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
7090
7091 * xdisp.c (decode_mode_spec): New arg string.
7092 (display_mode_element): Adjust for the above change.
7093
70942008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
7095
7096 * callint.c (Fcall_interactively): Use AREF.
7097
70982008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
7099
7100 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
7101
71022008-02-18 Jan Djärv <jan.h.d@swipnet.se>
7103
7104 * xfns.c (Fx_show_tip): Set string to " " if empty.
7105
71062008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
7107
7108 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
7109 with Qt.
7110
71112008-02-17 Kenichi Handa <handa@m17n.org>
7112
7113 * ftfont.c (ftfont_shape): Return Lispy number.
7114
7115 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
7116 for GCs.
7117 (Finternal_set_font_selection_order): Call font_update_sort_order
7118 only when enable_font_backend is set.
7119 (realize_x_face): Set face->font_info to that of default face only
7120 when enable_font_backend is set.
7121
7122 * xdisp.c (handle_composition_prop): Set it->c to the fist
7123 character of the composed region.
7124 (fill_composite_glyph_string): Set base_face->font_info to
7125 s->font_info. Get a face for ascii from base_face->ascii_face.
7126 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
7127 with a face already decided.
7128 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
7129 non-negative.
7130 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
7131 call font_prepare_composition unconditionally.
7132
7133 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
7134
7135 * xterm.h (struct x_display_info): New member font.
7136
7137 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
7138 (x_set_mouse_face_gc, x_new_font): Likewise.
7139 (x_term_init): Setup display_info->font.
7140 (x_delete_terminal): Free display_info->font.
7141
7142 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
7143
7144 * ftxfont.c (ftxfont_default_fid): Delete it.
7145 (ftxfont_open): Set xfont->fid to 0.
7146 (ftxfont_end_for_frame): Clear data specific to the frame and the
7147 font-driver.
7148
7149 * xftfont.c (xftfont_default_fid): Delete it.
7150 (xftfont_open): Set xfont->fid to 0.
7151
7152 * fontset.c (FONTSET_OBJLIST): New macro.
7153 (fontset_find_font): Update font-object list of the fontset.
7154 (free_realized_fontset): New function.
7155 (free_face_fontset): Call free_realized_fontset.
7156 (Ffont_info): Call font_close_object only when enable_font_backend
7157 is set.
7158
7159 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
7160 [HAVE_NTGUI]: Include w32term.h.
7161 [MAC_OS]: Include macterm.ch.
7162 (font_otf_ValueRecord): Use make_number.
7163 (font_finish_cache): Fix handling of reference count.
7164 (font_clear_cache): Update num_fonts.
7165 (font_open_entity): Update smallest_char_width and
7166 smallest_font_height of the frame.
7167 (font_close_object): Update num_fonts.
7168 (Fclear_font_cache): Fix finding the target cache data.
7169
71702008-02-16 Glenn Morris <rgm@gnu.org>
7171
7172 * fontset.c (Finternal_char_font): Fix compilation warning.
7173
71742008-02-16 Eli Zaretskii <eliz@gnu.org>
7175
7176 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
7177 instead of char arrays. Enlarge the size of array passed to
7178 get_token_information.
7179
7180 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
7181 warnings.
7182
71832008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
7184
7185 * .gdbinit: Don't set `args', it breaks gdb --args.
7186
71872008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
7188
7189 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
7190 within a narrowed buffer.
7191
71922008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
7193
7194 * coding.c (decode_coding_object, encode_coding_object):
7195 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
7196
71972008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
7198
7199 * coding.c (coding_set_destination): Use BEG_BYTE rather than
7200 hardcoding 1.
7201 (detect_coding_system):
7202 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
7203 (string_char_to_byte, string_byte_to_char, insert_from_gap):
7204 * insdel.c (insert_from_gap):
7205 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
7206 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
7207 (string_to_multibyte):
7208 * character.c (chars_in_text, multibyte_chars_in_text):
7209 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
7210
7211 * character.h (FETCH_STRING_CHAR_ADVANCE)
7212 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
7213 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
7214 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
7215
7216 * casefiddle.c (casify_region): Only call after-change and composition
7217 functions on the part of the region that was changed.
7218
7219 * keyboard.c (read_avail_input):
7220 * frame.c (Fdelete_frame): Call Fdelete_terminal.
7221
72222008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
7223
7224 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
7225 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
7226
72272008-02-11 Juanma Barranquero <lekktu@gmail.com>
7228
7229 * w32menu.c (push_submenu_start, push_submenu_end)
7230 (push_left_right_boundary, push_menu_pane, push_menu_item):
7231 * keyboard.c (read_key_sequence): Don't pass args with side effects
7232 to AREF, it fails when compiling with -DENABLE_CHECKING.
7233
72342008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
7235
7236 * Makefile.in (${lispsource}international/charprop.el):
7237 Delete this target.
7238
7239 * search.c (boyer_moore): Fix incorrect synching of the trunk and
7240 emacs-unicode-2.
7241
72422008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
7243
7244 * terminal.c (Fdelete_terminal): Clean up the `force' path.
7245
72462008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
7247
7248 * frame.c (Qnoelisp): New symbol.
7249 (syms_of_frame): Initialize it.
7250 (Fdelete_frame): Use it to distinguish a mere `force' passed from some
7251 harmless Elisp code, from a strong `force' from x_connection_closed.
7252 * frame.h (Qnoelisp): Declare.
7253 * xterm.c (x_connection_closed): Pass `noelisp'.
7254
7255 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
7256 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
7257 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
7258 rather than `int' for the type of `type'.
7259
72602008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
7261
7262 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
7263
7264 * Makefile.in (GNUC): Remove support for gcc-1.x.
7265
72662008-02-10 Richard Stallman <rms@gnu.org>
7267
7268 * lisp.h (ASET): Use AREF, not ASLOT.
7269
72702008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
7271
7272 * lisp.h (ASET): Check bounds.
7273
72742008-02-10 Glenn Morris <rgm@gnu.org>
7275
7276 * buffer.c (mode-name): Doc fix.
7277
72782008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
7279
7280 * Makefile.in:
7281 * emacs.c:
7282 * gmalloc.c:
7283 * keyboard.c:
7284 * lisp.h:
7285 * m/ibm370aix.h:
7286 * process.c:
7287 * regex.c:
7288 * s/hpux.h:
7289 * sysdep.c:
7290 * sysselect.h:
7291 * systty.h:
7292 * unexec.c:
7293 * w32term.c:
7294 * xsmfns.c:
7295 * xterm.c: Remove code that deals with obsolete variables.
7296
7297 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
7298
7299 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
7300 nothing else needs it anymore.
7301
73022008-02-09 Eli Zaretskii <eliz@gnu.org>
7303
7304 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
7305 instead of unibyte_char_to_multibyte.
7306
73072008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
7308
7309 * s/gnu-linux.h: Remove commented out code.
7310
7311 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
7312
7313 * Makefile.in: Update what RMS says about using autoconf.
7314 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
7315 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
7316 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
7317 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
7318
73192008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
7320
7321 * keymap.c (Fkey_description): Move side effect outside of macro call.
7322
7323 * xfaces.c (Finternal_make_lisp_face):
7324 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
7325
7326 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
7327 (syms_of_fontset): Use ASET.
7328
7329 * fns.c (concat): Move side effect outside of macro call.
7330 (hash_clear): Use ASET.
7331
73322008-02-08 Richard Stallman <rms@gnu.org>
7333
7334 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
7335 If FORCE, and frame has a surrogate minibuffer for another frame,
7336 delete the other frame first.
7337
73382008-02-07 Timo Savola <timo.savola@iki.fi>
7339
7340 * xterm.c (x_detect_focus_change): Handle embed client message.
7341 (handle_one_xevent): Ditto.
7342 (handle_one_xevent): If embedded and we get a button press/release,
7343 request focus.
7344 (xembed_set_info, xembed_send_message): New functions.
7345 (x_make_frame_visible): Call xembed_set_info if embedded.
7346 (x_make_frame_invisible): Call xembed_set_info if embedded.
7347 (x_term_init): Initialize Xatom_XEMBED.
7348 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
7349 (x_iconify_frame): Ditto.
7350
7351 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
7352 (enum xembed_info, enum xembed_message, enum xembed_focus)
7353 (enum xembed_modifier, enum xembed_accelerator): New.
7354 (xembed_set_info, xembed_send_message): Declare.
7355 (FRAME_X_EMBEDDED_P): New.
7356
7357 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
7358 gtk_plug_new.
7359
7360 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
7361 window ID of a frame.
7362 (x_window): Reparent frame if embedded.
7363 (Fx_create_frame): Don't set border width if embedded.
7364
7365 * emacs.c (USAGE3): Add --parent-id.
7366 (standard_args): Ditto.
7367
73682008-02-07 Jan Djärv <jan.h.d@swipnet.se>
7369
7370 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
7371
73722008-02-07 Jim Meyering <meyering@redhat.com>
7373
7374 Use "do...while (0)", not "if (1)...else" in macro definitions.
7375 The latter provokes a warning from gcc about the empty else, when
7376 followed by ";". Also, without that trailing semicolon, it would
7377 silently swallow up any following statement.
7378 * syntax.h (SETUP_SYNTAX_TABLE)
7379 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
7380 * buffer.h (DECODE_POSITION): Likewise.
7381 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
7382 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
7383 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
7384 (FETCH_CHAR_ADVANCE): Likewise.
7385 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
7386
73872008-02-07 Jim Meyering <meyering@redhat.com>
7388
7389 * lread.c [lint]: Don't include <sys/inode.h>.
7390
73912008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
7392
7393 * xselect.c (x_handle_dnd_message):
7394 * xmenu.c (digest_single_submenu, xmenu_show):
7395 * xdisp.c (with_echo_area_buffer_unwind_data)
7396 (format_mode_line_unwind_data, unwind_format_mode_line)
7397 (display_menu_bar):
7398 * eval.c (Ffetch_bytecode):
7399 * doc.c (store_function_docstring):
7400 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
7401 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
7402 * buffer.c (add_overlay_mod_hooklist): Use ASET.
7403
74042008-02-07 Kenichi Handa <handa@m17n.org>
7405
7406 * ftxfont.c (ftxfont_open): Don't set
7407 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
7408
7409 * ftfont.c (ftfont_open): Fix previous change.
7410
74112008-02-06 Jason Rumney <jasonr@gnu.org>
7412
7413 * w32font.c (w32font_text_extents): Fill in lbearing metric.
7414 Use cached metrics for ASCII characters.
7415 (w32font_open_internal): Don't set font's owning_frame.
7416 Cache metrics for ASCII characters.
7417
7418 * w32font.h (struct w32font_info): Add ascii_metrics.
7419 Remove owning_frame.
7420
74212008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
7422
7423 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
7424 to negative value.
7425
7426 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
7427
7428 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
7429
7430 * charset.c (syms_of_charset): Set QCtest and Qeq.
7431
74322008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
7433
7434 * process.c (Fstart_process):
7435 * callproc.c (Fcall_process): Handle the case where
7436 Funhandled_file_name_directory returns nil.
7437
7438 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
7439 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
7440 * font.c (check_gstring): Use them and AREF to access the vector before
7441 we know it's really a gstring.
7442 (Ffont_shape_text): Fix typo.
7443 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Oject mixups.
7444
7445 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
7446 Declare.
7447
7448 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
7449
74502008-02-05 Jason Rumney <jasonr@gnu.org>
7451
7452 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
7453 Set smallest_font_height and smallest_char_width in display info.
7454
74552008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
7456
7457 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
7458
74592008-02-05 Miles Bader <miles@gnu.org>
7460
7461 * xfaces.c (get_lface_attributes, merge_named_face)
7462 (lookup_named_face, lookup_derived_face, realize_named_face):
7463 Revert 2008-02-01 change by cyd@stupidchicken.com.
7464
74652008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
7466
7467 * fontset.c (Ffontset_info): Handle the case of inhibitting the
7468 fallback fonts.
7469 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
7470
74712008-02-04 Jason Rumney <jasonr@gnu.org>
7472
7473 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
7474 set full_name.
7475 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
7476
74772008-02-03 Jason Rumney <jasonr@gnu.org>
7478
7479 * makefile.w32-in (OBJ1): Include font.o here.
7480 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
7481
74822008-02-02 Jason Rumney <jasonr@gnu.org>
7483
7484 * makefile.w32-in (temacs): Bump EMHEAP to 21.
7485
74862008-02-01 Jason Rumney <jasonr@gnu.org>
7487
7488 * s/cygwin.h: Define VIRT_ADDR_VARIES.
7489
7490 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
7491
74922008-02-01 Andreas Schwab <schwab@suse.de>
7493
7494 * Makefile.in (shortlisp, lisp): Update for rename of
7495 ../lisp/language/myanmar.el.
7496
74972008-02-01 Chong Yidong <cyd@stupidchicken.com>
7498
7499 * xfaces.c (get_lface_attributes): Delete function.
7500 (merge_named_face, lookup_named_face, lookup_derived_face)
7501 (realize_named_face): Call lface_from_face_name directly, and use
7502 the fact that merge_face_vectors does not alter its FROM argument.
7503
75042008-02-01 Jason Rumney <jasonr@gnu.org>
7505
7506 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
7507 input in the default locale. Handle non-Unicode multibyte input.
7508
75092008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7510
7511 * fontset.c (reorder_font_vector): Exclude nil elements from the
7512 font group. Don't try multiple fonts.
7513 (fontset_font): Adjust for the above change.
7514 (Finternal_char_font): Return nil if the found font doesn't
7515 contain the character ch.
7516
7517 * Makefile.in (lisp, shortlisp): Add cham.el.
7518
75192008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7520
7521 * font.h (FONTP): Make it return 1 also for a font-object.
7522
7523 * .gdbinit (xfontset): New function.
7524
7525 * font.c (font_find_for_lface): Check if the character C is
7526 supported or not only for the first font.
7527
7528 * fontset.c (reorder_font_vector): Fix typo.
7529 (fontset_find_font): Don't add a font-spec specifying a script.
7530 Use 0 (not Qt) for the indication of empty font-group. Change the
7531 format of RFONT-DEF. Return Qt if no font in the font-group
7532 support the character.
7533 (fontset_font): Adjust for the above change. If no font was
7534 found the character, remember that.
7535 (face_for_char): Adjust for the change of RFONT-DEF.
7536 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
7537 no font for the target.
7538 (Finternal_char_font): Adjust for the change of RFONT-DEF.
7539
75402008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7541
7542 * font.c (font_load_for_face): Handle the case that the font in
7543 face->lface is a string.
7544
75452008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7546
7547 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
7548
75492008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7550
7551 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
7552 Fix previous change. If the frame is not on a window system,
7553 signal an error.
7554
75552008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7556
7557 * coding.c (decode_coding_object, encode_coding_object): Adjust
7558 marker positions after conversion.
7559
7560 * lisp.h (struct Lisp_Marker): New member need_adjustment.
7561
75622008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7563
7564 * font.c (font_find_for_lface): Fix the handling of the return
7565 value of font_has_char.
7566 (Ffont_shape_text): Fix previous change.
7567
7568 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
7569 (fontset_ref_and_range): Delete it.
7570 (fontset_find_font): Call char_table_ref_and_range instead of
7571 FONTSET_REF_AND_RANGE.
7572 (make_fontset): Don't setup font groups of Latin here.
7573 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
7574 (new_fontset_from_font): Make the specified font the default for
7575 all Latin characters.
7576
75772008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7578
7579 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
7580 is on a window system before accessing the fontset of the frame.
7581
75822008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7583
7584 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
7585
7586 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
7587 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
7588
7589 * font.c (Ffont_shape_text): If the font driver doesn't have a
7590 shaper function, make zero-width glyphs to have at least one-pixel
7591 width. Fix setting of `to' field of glyphs.
7592
75932008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7594
7595 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
7596 glyphs.
7597
7598 * font.h (struct font_driver): Improve docstring of member `shape'.
7599
76002008-02-01 Kenichi Handa <handa@m17n.org>
7601
7602 * composite.c (syms_of_composite): Fix docstring of
7603 auto-composition-function.
7604
7605 * font.h (LGLYPH_SIZE): New macro.
7606
7607 * font.c (Ffont_fill_gstring): Stop filling when a character not
7608 supported by the font is found.
7609 (Ffont_shape_text): When a shape callback function returns nil,
7610 try at most two more times with larger gstring.
7611 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
7612
7613 * xdisp.c (handle_auto_composed_prop): Change the argument to
7614 auto-composition-function.
7615
7616 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
7617 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
7618 Lispy glyph and store it in the lgstring.
7619
7620 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
7621
7622 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
7623
76242008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7625
7626 * font.c (Ffont_shape_text): Avoid unnecessary composition.
7627
7628 * fontset.c (Vfont_encoding_charset_alist): New variable.
7629 (syms_of_fontset): DEFVAR it.
7630 (reorder_font_vector, fontset_find_font): Optimize for the case of
7631 no need of reordering.
7632 (face_for_char): Map the charset property by
7633 Vfont_encoding_charset_alist.
7634
76352008-02-01 Jason Rumney <jasonr@gnu.org>
7636
7637 * w32font.c (logfonts_match): Don't check adstyle here.
7638 (font_matches_spec): Check here against physical font instead.
7639 (add_font_entity_to_list): Avoid some substitutions.
7640
7641 * font.c (font_parse_fcname): Default weight and slant to normal.
7642 (font_score): Prefer normal fonts if weight or slant unspecified.
7643 (font_score) [WINDOWSNT]: Scale weight difference down to closer
7644 match freetype scores.
7645
76462008-02-01 Jason Rumney <jasonr@gnu.org>
7647
7648 * w32font.c (w32font_text_extents): Don't use the frame stored in the
7649 font, as it may have been deleted.
7650 (w32_enumfont_pattern_entity): Map generic family to adstyle using
7651 most common hyphenless variation.
7652 (logfonts_match): Check generic family.
7653 (font_matches_spec): Don't check generic family here.
7654 (fill_in_logfont): Set generic family based on adstyle.
7655
7656 * w32font.h (w32font_get_cache): Update declaration.
7657
76582008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7659
7660 * ftfont.c (ftfont_get_cache): Adjust the argument type.
7661
7662 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
7663 If none of the new drivers are available, call font_update_drivers
7664 with the old drivers.
7665
7666 * w32font.c (w32font_get_cache): Adjust the argument type.
7667
7668 * xfont.c (xfont_get_cache): Adjust the argument type.
7669
7670 * font.h (struct font_driver): Change argument type of get_cache.
7671
7672 * xftfont.c (xftfont_start_for_frame): Delete prototype.
7673
7674 * font.c (Ffont_get): Fix arguments to Fassoc.
7675 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
7676 (font_clear_cache): New function.
7677 (font_list_entities, font_matching_entity): Use font_get_cache.
7678 (font_update_drivers): Call font_clear_cache when finishing a driver.
7679
7680 * fontset.c (fontset_find_font): Fix previous change.
7681
76822008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7683
7684 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
7685 dpyinfo->font_table.
7686 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
7687 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
7688
7689 * font.c (font_at): Handle the case that the arg C is negative.
7690 Handle the unibyte case.
7691 (Ffont_at): Call font_at with the arg C -1.
7692
7693 * xdisp.c (handle_auto_composed_prop): Don't get a character at
7694 the position here, and call font_at with the arg C -1.
7695 Don't check the range of the existing composition at the point.
7696
76972008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7698
7699 * fontset.c (fontset_add): New args charset_id and family.
7700 Change caller.
7701 (load_font_get_repertory, fontset_find_font): Assume that
7702 font_spec is always a font-spec object.
7703 (Fset_fontset_font): Always store a font-spec object in a fontset.
7704
7705 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
7706 instead of get_property_and_range.
7707
77082008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7709
7710 * xftfont.c (struct xftfont_info): Delete the member ft_face.
7711 (xftfont_open): Don't keep locking face.
7712 (xftfont_close): Don't unlock face.
7713 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
7714
7715 * fontset.c (fontset_find_font): Don't prefer a font of
7716 supplementary charset.
7717
77182008-02-01 Kenichi Handa <handa@m17n.org>
7719
7720 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
7721 script, langsys_tag to langsys, new member script.
7722 (OTF_TAG_STR): Terminate by '\0'.
7723 (ftfont_get_open_type_spec): If :otf prop is is spec, Limit the
7724 listing to the script specified in that property. Fix arg to
7725 OTF_check_features.
7726
77272008-02-01 Jason Rumney <jasonr@gnu.org>
7728
7729 * w32font.h: New file.
7730
7731 * w32font.c: Include it.
7732 (struct w32font_info): Add owning_frame field. Move to w32font.h.
7733 (w32font_open): Set owning_frame.
7734 (w32font_text_extents): Use owning_frame.
7735 (struct font_callback_data): Add opentype_only field.
7736 (add_font_entity_to_list): Use it to filter fonts.
7737 Don't check against full name.
7738 (w32font_list_internal): New function.
7739 (w32font_list): Use it.
7740 (w32font_match_internal): New function.
7741 (w32font_match): Use it.
7742 (w32font_open_internal): New function.
7743 (w32font_open): Use it.
7744 (w32font_get_cache, w32font_close, w32font_has_char)
7745 (w32font_encode_char, w32font_text_extents, w32font_draw):
7746 Make non-static.
7747
7748 * makefile.w32-in (w32font.o): Depend on w32font.h.
7749
77502008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7751
7752 * charset.c (Fdefine_charset_internal): Record a supplementary
7753 charset at the tail of Vcharset_order_list.
7754
7755 * font.c (Ffont_shape_text): Fix the return value.
7756
7757 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
7758
7759 * xdisp.c (handle_auto_composed_prop): Fix previous change.
7760
77612008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7762
7763 * ftfont.c (struct OpenTypeSpec): New struct.
7764 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
7765 (ftfont_get_open_type_spec): New function.
7766 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
7767
7768 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
7769
77702008-02-01 Jason Rumney <jasonr@gnu.org>
7771
7772 * w32font.c (add_font_entity_to_list): Compare only the beginning
7773 of full name.
7774
77752008-02-01 Kenichi Handa <handa@m17n.org>
7776
7777 * xdisp.c (handle_auto_composed_prop): Simplify the code.
7778 Never return HANDLED_RECOMPUTE_PROPS.
7779
77802008-02-01 Kenichi Handa <handa@m17n.org>
7781
7782 * font.c (font_gstring_produce): Delete it.
7783
7784 * composite.h (COMPOSITION_METHOD):
7785 Handle COMPOSITION_WITH_GLYPH_STRING.
7786
77872008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7788
7789 * xfont.c (Qx): Delete.
7790 (syms_of_xfont): Don't initialize Qx.
7791
7792 * composite.h (enum composition_method):
7793 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
7794
77952008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7796
7797 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
7798 (choose_face_font): Accept new form of font-spec.
7799
7800 * frame.h (font_driver_list): Declare it unconditionally.
7801 (struct frame): Define members font_driver_list and font_data_list
7802 unconditionally.
7803
7804 * fontset.c: Include "font.h" unconditionally.
7805 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
7806 (Fset_fontset_font): Accept a font-spec object.
7807
7808 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
7809 PIXEL_SIZE part a wild card.
7810
7811 * dispextern.h (struct glyph_string): Define members clip and
7812 num_clips unconditionally.
7813 (struct face): Define members font_info and extra unconditionally.
7814
7815 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
7816 ftfont_info only when HAVE_LIBOTF is defined.
7817
78182008-02-01 Andreas Schwab <schwab@suse.de>
7819
7820 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
7821 and end.
7822
78232008-02-01 Jason Rumney <jasonr@gnu.org>
7824
7825 * w32font.c (w32font_driver): Add new fields.
7826
78272008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7828
7829 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
7830 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
7831 (LIBES): Add @M17N_FLT_CFLAGS@.
7832
7833 * composite.c (compose_text): Don't treat the new style
7834 composition specially.
7835
7836 * emacs.c (main): Call syms_of_font unconditionally.
7837
7838 * font.h (FONT_ENTITY_NOT_LOADABLE)
7839 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
7840 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
7841 (struct font_driver): New member shape.
7842 (font_registry_charsets): Extern it.
7843 (font_find_for_lface, font_prepare_composition): Adjust prototype.
7844 (font_otf_capability, font_drive_otf): Delete their externs.
7845
7846 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
7847 (font_charset_alist, font_registry_charsets): Move from xfont.c
7848 and rename.
7849 (font_prop_validate_otf): New function.
7850 (font_property_table): Register it for QCotf.
7851 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
7852 (font_drive_otf): Delete.
7853 (font_prepare_composition): New arg F. Adjust for the change of
7854 lispy gstring.
7855 (font_find_for_lface): New arg C.
7856 (font_load_for_face): Adjust for the change of font_find_for_lface.
7857 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
7858 lispy gstring.
7859 (Ffont_shape_text): New function.
7860 (Fopen_font): If the font size is not given, use 12-pixel.
7861 (Ffont_at): New arg STRING.
7862 (syms_of_font): Initalize font_charset_alist.
7863 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
7864 conditionally.
7865
7866 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
7867 fonts of the same font-spec. Change the format of RFONT-DEF.
7868 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
7869 Adjust for the change of RFONT-DEF.
7870 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
7871
7872 * ftfont.h: New file.
7873
7874 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
7875 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
7876 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
7877 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
7878 font_otf_capability and font_drive_otf, set ftfont_shape.
7879 (ftfont_list): Adjust for the change of :otf property value.
7880 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
7881 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
7882 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
7883 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
7884 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
7885 (otf_gstring, gstring, m17n_flt_initialized): New variables.
7886
7887 * w32term.c (x_draw_composite_glyph_string_foreground):
7888 Adjust for the change of lispy gstring.
7889
7890 * xdisp.c (handle_composition_prop): Adjust for the change of
7891 lispy gstring. Call a function for auto-composition with the
7892 third arg it->window.
7893 (fill_composite_glyph_string): Adjust for the change of lispy string.
7894 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
7895
7896 * xfaces.c (set_font_frame_param): Adjust for the change of
7897 font_find_for_lface.
7898
7899 * xfont.c (x_font_charset_alist): Move to font.c and rename.
7900 (xfont_registry_charsets): Likewise. Change caller.
7901 (syms_of_xfont): Don't handle x_font_charset_alist.
7902
7903 * xftfont.c: Include "ftfont.h".
7904 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
7905 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
7906 (xftfont_close) [HAVE_LIBOTF]: Close otf.
7907 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
7908 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
7909 Set xftfont_driver.shape to xftfont_shape.
7910
7911 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
7912 the change of lispy gstring.
7913
79142008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7915
7916 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
7917
79182008-02-01 Jason Rumney <jasonr@gnu.org>
7919
7920 * w32font.c (w32font_draw): Fill background manually.
7921
79222008-02-01 Jason Rumney <jasonr@gnu.org>
7923
7924 * font.c (Qfontp): Remove unused symbol.
7925 (QCantialias): New symbol.
7926 (syms_of_font): Define it.
7927 (font_property_table): Set a validator for QCantialias.
7928
7929 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
7930 Define if not already.
7931 (QCfamily): Share with xfaces.c.
7932 (Qstandard, Qsubpixel, Qnatural): New symbols.
7933 (syms_of_w32font): Define them. Don't define QCfamily here.
7934 (w32_antialias_type, lispy_antialias_type): New functions.
7935 (w32_enumfont_pattern_entity): New arg requested_font.
7936 Set antialias parameter if non-default was requested.
7937 (fill_in_logfont): Fill in lfQuality if :antialias specified.
7938
79392008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7940
7941 * lread.c (read1): Undo the previous change.
7942
79432008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
7944
7945 * frame.c (Fdelete_frame): Call font_update_drivers only when
7946 USE_FONT_BACKEND is defined.
7947
79482008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7949
7950 * font.h (struct font_bitmap): New member bits_per_pixel.
7951 (struct font_driver): New members start_for_frame and end_for_frame.
7952 (struct font_data_list): New struct.
7953 (font_put_frame_data, font_get_frame_data): Extern them.
7954
7955 * frame.h (struct frame): New member font_data_list.
7956
7957 * font.c (font_update_drivers): Call driver->start_for_frame and
7958 driver->end_for_frame at proper timings.
7959 (font_put_frame_data, font_get_frame_data): New functions.
7960 (Ffont_spec): Add usage in the docstring.
7961
7962 * frame.c (make_frame): Initialize f->font_data_list to NULL.
7963 (Fdelete_frame): Call font_update_drivers.
7964
7965 * xftfont.c (struct xftface_info): Delete the member xft_draw.
7966 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
7967 (xftfont_get_xft_draw): New function.
7968 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
7969 (xftfont_end_for_frame): New function.
7970 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
7971
7972 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
7973 Change argument. Cache GCs in the per-frame data.
7974 (struct ftxfont_frame_data): New struct.
7975 (ftxfont_draw_bitmap): New arg gc_fore and flush.
7976 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
7977 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
7978 (ftxfont_end_for_frame): New function.
7979 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
7980
7981 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
7982
79832008-02-01 Kenichi Handa <handa@m17n.org>
7984
7985 * xselect.c (Vselection_coding_system)
7986 (Vnext_selection_coding_system): Delete them.
7987 (syms_of_xselect): Don't declare selection-coding-system and
7988 next-selection-coding-system. They are declared in select.el.
7989
79902008-02-01 Jason Rumney <jasonr@gnu.org>
7991
7992 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
7993
7994 * w32fns.c: Include imm.h.
7995 (get_composition_string_fn, get_ime_context_fn): New optional
7996 system functions.
7997 (globals_of_w32fns): Load them from imm32.dll.
7998 (ignore_ime_char): New flag.
7999 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
8000 WM_IME_ENDCOMPOSITION messages.
8001
8002 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
8003 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
8004
80052008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8006
8007 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
8008 (READCHAR_REPORT_MULTIBYTE): New macro.
8009 (readchar): New 2nd arg MULTIBYTE.
8010 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
8011 Make symbol's name multibyte according to the multibyteness of the
8012 source.
8013
80142008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8015
8016 * xfaces.c (face_for_overlay_string): Call lookup_face with
8017 correct arguments (fix of synching with the trunk).
8018
80192008-02-01 Kenichi Handa <handa@m17n.org>
8020
8021 * font.c (font_prop_validate_symbol, font_prop_validate_style)
8022 (font_prop_validate_non_neg, font_prop_validate_spacing):
8023 Delete argument prop_index.
8024 (font_property_table): Change arguments to validater. Change Callers.
8025 (font_lispy_object): Delete.
8026 (font_at): Use font_find_object instead fo font_lispy_object.
8027
80282008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8029
8030 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
8031 and file names.
8032
80332008-02-01 Jason Rumney <jasonr@gnu.org>
8034
8035 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
8036 (font_matches_spec): Remove debug output.
8037 (add_font_entity_to_list): Avoid using substituted fonts.
8038
80392008-02-01 Jason Rumney <jasonr@gnu.org>
8040
8041 * doc.c (Fsnarf_documentation):
8042 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
8043
80442008-02-01 Miles Bader <miles@gnu.org>
8045
8046 * dispextern.h (struct glyph_row): Only define "clip" field if
8047 HAVE_WINDOW_SYSTEM is defined.
8048
80492008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
8050
8051 Fix up multi-tty merge.
8052
8053 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
8054 and indentation.
8055
8056 * xfaces.c (free_realized_face, clear_face_gcs):
8057 Include font_done_for_face in the input_blocked section, just in case.
8058
8059 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
8060 (get_char_face_and_encoding): Undo last change and remove the *other*
8061 duplicate definition (i.e. keep the one that's better scoped and that
8062 includes code for the font-backend).
8063
8064 * terminal.c (create_terminal): Default keyboard_coding to
8065 `no-conversion' and terminal_coding to `undecided'.
8066
8067 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
8068
8069 * fontset.c (free_realized_fontsets): Check that the table entry does
8070 contain a fontset before trying to compare it to `base'.
8071
8072 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
8073 syms_of_charset, and syms_of_coding earlier because init_window_once
8074 now needs Vcoding_system_hash_table to be setup.
8075
8076 * coding.h (default_buffer_file_coding): Remove.
8077
8078 * coding.c (default_buffer_file_coding): Remove.
8079 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
8080 than ->symbol, and use the terminal-local coding system.
8081 (syms_of_coding): Don't setup the coding-systems that are not
8082 terminal-local.
8083 (Fdefine_coding_system_internal): Use XCAR/XCDR.
8084
8085 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
8086 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
8087
8088 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
8089 in chartab.c and were re-added here by mistake.
8090 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
8091
8092 * doc.c (Fsnarf_documentation):
8093 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
8094 src to etc.
8095
8096 * ChangeLog.10: Add mistakenly removed entry.
8097
80982008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
8099
8100 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
8101
81022008-02-01 Miles Bader <miles@gnu.org>
8103
8104 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
8105 Add extra args to FACE_FOR_CHAR.
8106
81072008-02-01 Kenichi Handa <handa@m17n.org>
8108
8109 * keymap.c (where_is_internal_1): If key is a cons, store the copy
8110 in sequence.
8111
8112 * chartab.c (map_sub_char_table, map_char_table): If the range
8113 contains just one character, call the function with that character
8114 even if the depth is not 3.
8115
81162008-02-01 Jason Rumney <jasonr@gnu.org>
8117
8118 * w32font.c (w32font_text_extents): Calculate metrics for the
8119 whole string.
8120
81212008-02-01 Jason Rumney <jasonr@gnu.org>
8122
8123 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
8124
81252008-02-01 Jason Rumney <jasonr@gnu.org>
8126
8127 * w32term.c (x_set_glyph_string_clipping): Use
8128 get_glyph_string_clip_rects.
8129 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
8130 Adjust for the change of struct glyph_string.
8131
8132 * w32font.c (w32font_draw): Do clipping here.
8133
81342008-02-01 Kenichi Handa <handa@m17n.org>
8135
8136 * xftfont.c (xftfont_draw): Adjust for the change of struct
8137 glyph_string.
8138
8139 * xterm.c (x_set_glyph_string_clipping): Use
8140 get_glyph_string_clip_rects.
8141 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
8142 Adjust for the change of struct glyph_string.
8143
8144 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
8145 the resulting clip(s}.
8146 (expose_overlaps): Add arg r. Change callers. Set it to
8147 row->clip temporarily.
8148 (expose_window): Redraw rows overlapping the exposed area.
8149
8150 * dispextern.h (struct glyph_row): New member clip.
8151 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
8152 clip_height, new member clip, and num_clips.
8153
81542008-02-01 Kenichi Handa <handa@m17n.org>
8155
8156 * data.c (Fchar_or_string_p): Fix docstring.
8157
81582008-02-01 Kenichi Handa <handa@m17n.org>
8159
8160 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
8161 create a temporary XftDraw object.
8162
81632008-02-01 Kenichi Handa <handa@m17n.org>
8164
8165 * font.c (Ffontp): Fix docstring.
8166
8167 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
8168 strong evidence of ISO-2022.
8169
81702008-02-01 Kenichi Handa <handa@m17n.org>
8171
8172 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
8173 SYNTAX_ENTRY_FOLLOW_PARENT.
8174
81752008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
8176
8177 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
8178 its type.
8179 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
8180 Update to the new type of weak_hash_tables and next_weak.
8181
8182 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
8183 a plain C pointer to Lisp_Hash_Table.
8184
8185 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
8186 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
8187 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
8188 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
8189 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
8190 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
8191 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
8192 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
8193 (GC_EQ): Remove since they've been identical to their non-GC_
8194 alter-egos ever since the markbit was eradicated.
8195
8196 * alloc.c:
8197 * buffer.c:
8198 * buffer.h:
8199 * data.c:
8200 * fileio.c:
8201 * filelock.c:
8202 * fns.c:
8203 * frame.h:
8204 * lisp.h:
8205 * macterm.c:
8206 * print.c:
8207 * process.c:
8208 * w32fns.c:
8209 * w32menu.c:
8210 * w32term.c:
8211 * xfns.c:
8212 * xmenu.c:
8213 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
8214
82152008-02-01 Kenichi Handa <handa@m17n.org>
8216
8217 * chartab.c (map_sub_char_table): Make it work for the top-level
8218 char-table. Fix handling of parent char-table.
8219 (map_char_table): Adjust for the above change.
8220
82212008-02-01 Jason Rumney <jasonr@gnu.org>
8222
8223 * w32font.c (Qgdi): Rename from Qw32.
8224
82252008-02-01 Jason Rumney <jasonr@gnu.org>
8226
8227 * w32bdf.c (get_quoted_string): Make function static.
8228
82292008-02-01 Kenichi Handa <handa@m17n.org>
8230
8231 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
8232 bigger ascent and descent than those of the font, use them as
8233 font's ascent and descent.
8234
82352008-02-01 Kenichi Handa <handa@m17n.org>
8236
8237 * Makefile.in (${lispsource}international/charprop.el): Move this
8238 target within "#ifdef HAVE_UNIDATA" and "#endif".
8239
82402008-02-01 Kenichi Handa <handa@m17n.org>
8241
8242 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
8243 (shortlisp): Add ../lisp/language/tai-viet.el.
8244
82452008-02-01 Ulrich Mueller <ulm@gentoo.org>
8246
8247 * Makefile.in (${lispsource}international/charprop.el): Depend on
8248 temacs${EXEEXT}.
8249
82502008-02-01 Jason Rumney <jasonr@gnu.org>
8251
8252 * w32font.c (w32font_close): Delete the GDI font object.
8253
8254 * w32menu.c: Include character.h.
8255
8256 * w32proc.c: Likewise.
8257
8258 * w32select.c: Likewise.
8259
8260 * makefile.w32-in (w32proc.o): Depend on character.h.
8261
82622008-02-01 Jason Rumney <jasonr@gnu.org>
8263
8264 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
8265
8266 * w32menu.c (syms_of_w32menu): Likewise.
8267
8268 * w32proc.c (syms_of_ntproc): Likewise.
8269
8270 * w32select.c (syms_of_w32select): Likewise.
8271
8272 * w32term.c (syms_of_w32term): Likewise.
8273
82742008-02-01 Jason Rumney <jasonr@gnu.org>
8275
8276 * w32font.c (w32font_draw): Delete brush after using it.
8277
82782008-02-01 Jason Rumney <jasonr@gnu.org>
8279
8280 * w32font.c (w32font_open): Don't set font_idx.
8281 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
8282 to font settings.
8283 (w32font_draw): Fill background explicitly.
8284
82852008-02-01 Jason Rumney <jasonr@gnu.org>
8286
8287 * w32term.c (w32_initialize): Don't call w32font_initialize.
8288
8289 * w32font.c (w32font_info): Remove subranges.
8290 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
8291 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
8292 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
8293 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
8294 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
8295 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
8296 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
8297 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
8298 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
8299 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
8300 New symbols.
8301 (font_callback_data): New struct.
8302 (w32font_list, w32font_match): Use it.
8303 (w32font_open): Don't populate subranges.
8304 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
8305 (w32font_encode_char): Always return unicode code-point as-is.
8306 (w32font_text_extents): Supply a transformation matrix to
8307 GetGlyphOutline. Never look up by glyph index. Avoid looping
8308 twice. Use unicode version of GetTexExtentPoint32 instead of
8309 glyph index version.
8310 (set_fonts_frame): Remove.
8311 (w32_enumfont_pattern_entity): Add frame parameter, use it to
8312 set frame parameter. Use backward compatible fake foundries.
8313 Save generic family in extra slot under QCfamily. Make width slot
8314 constant. Save QCspacing value. Save list of scripts instead of
8315 binary subranges.
8316 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
8317 (add_font_entity_to_list): Use font_callback_data struct. Filter
8318 unwanted fonts.
8319 (add_one_font_entity_to_list): Use font_callback_data struct.
8320 (w32_registry): Default to iso10646_1.
8321 (fill_in_logfont): Use dpi from extra slot. Don't bother with
8322 string font registries. Don't fill in font name if it is a generic
8323 family name, fill family instead. Use spacing, family and script
8324 extra info to fill pitch, family and charset fields.
8325 (list_all_matching_fonts): Use font_callback_data struct.
8326 (unicode_range_for_char): Remove.
8327 (font_supported_scripts): New function.
8328 (w32font_initialize): Remove.
8329 (syms_of_w32font): Update which symbols are defined.
8330
83312008-02-01 Jason Rumney <jasonr@gnu.org>
8332
8333 * font.c (font_pixel_size): Reverse assq_no_quit args.
8334
8335 * w32term.h (FONT_WIDTH): Report max width, not average.
8336 (FONT_MAX_WIDTH): Remove.
8337 (FONT_AVG_WIDTH): New macro.
8338
8339 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
8340 redefinition of FONT_WIDTH.
8341
8342 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
8343 (w32_cache_char_metrics): Use FONT_WIDTH.
8344
8345 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
8346
83472008-02-01 Jason Rumney <jasonr@gnu.org>
8348
8349 * w32font.c (w32font_open): Make lfHeight negative.
8350
8351 * w32fns.c (x_default_font_parameter): Use new style font name.
8352 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
8353
83542008-02-01 Jason Rumney <jasonr@gnu.org>
8355
8356 * w32font.c (QCsubranges): New symbol.
8357 (w32font_open, w32font_has_char): Get subranges from subproperty
8358 of extra.
8359 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
8360 (syms_of_w32font): Define :subranges symbol.
8361
8362 * font.c (font_put_extra): Expose externally.
8363
8364 * font.h (font_put_extra): Move declaration from font.c.
8365
8366 * font.c (Ffont_get): Use font driver to determine otf capability.
8367 (adjust_anchor): Check if driver defines anchor_point before using.
8368
8369 * w32font.c (w32font_open): Handle size, height and pixel_size better.
8370 (w32font_draw): Use options.
8371 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
8372 Fix detection of truetype fonts.
8373 (registry_to_w32_charset): Handle charsets other than iso8859-1
8374 expressed as lisp symbols.
8375 (w32_registry): Express charset as lisp symbol.
8376 (fill_in_logfont): Reverse pixel and point height logic.
8377 Don't set width here. Set quality to default.
8378
8379 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
8380 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
8381
8382 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
8383 Remove redundant loop and allocation.
8384
8385 * makefile.w32-in (font.o, w32font.o): New objects.
8386 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
8387 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
8388
8389 * xdisp.c (fill_composite_glyph_string): Make the first arg to
8390 STORE_XCHARB a valid l-value.
8391
8392 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
8393 calculations for non-Truetype fonts.
8394 (x_draw_glyph_string): Sync with xterm.c.
8395 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
8396 Remove redundant code.
8397 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
8398
8399 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
8400 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
8401
8402 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
8403 (x_to_w32_charset, w32_to_x_charset): Expose externally.
8404
8405 * w32font.c: New file for w32 font backend.
8406
84072008-02-01 Kenichi Handa <handa@m17n.org>
8408
8409 * term.c: Don't include "buffer.h" twice.
8410
84112008-02-01 Kenichi Handa <handa@m17n.org>
8412
8413 * character.c (Funibyte_string): New function.
8414 (syms_of_character): Defsubr it.
8415
84162008-02-01 Jason Rumney <jasonr@gnu.org>
8417
8418 * w32term.c [USE_FONT_BACKEND]:
8419 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
8420 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
8421 (x_draw_glyph_string, x_draw_glyph_string_foreground)
8422 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
8423 (x_free_frame_resources): Sync with xterm.c.
8424
84252008-02-01 Andreas Schwab <schwab@suse.de>
8426
8427 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
8428 char-table size.
8429
84302008-02-01 Kenichi Handa <handa@m17n.org>
8431
8432 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
8433
84342008-02-01 Kenichi Handa <handa@m17n.org>
8435
8436 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
8437 font_otf_gpos, add font_drive_otf.
8438
8439 * fontset.c (fontset_find_font): Pay attention to font size
8440 specified for a font.
8441 (reorder_font_vector): Check contents of font_def.
8442
8443 * font.c (struct otf_list): Delete it.
8444 (otf_list): Make it a lisp variable.
8445 (otf_open): Use lispy otf_list.
8446 (generate_otf_features): Rename from parse_gsub_gpos_spec.
8447 (check_otf_features): New function.
8448 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
8449 New functions.
8450 (font_drive_otf): New function merging font_otf_gsub and
8451 font_otf_gpos.
8452 (font_open_for_lface): New arg spec. Change argument order.
8453 (font_load_for_face): Adjust for the change of font_open_for_lface.
8454 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
8455 Ffont_otf_gpos.
8456 (syms_of_font): Staticpro otf_list. Delete defsubr of
8457 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
8458
8459 * xfaces.c (set_font_frame_param): Adjust for the change of
8460 font_open_for_lface.
8461
8462 * font.h (font_open_for_lface): Adjust prototype.
8463 (struct font_driver): Delete members otf_gsub and otf_gpos, add
8464 member otf_drive.
8465 (font_otf_gsub, font_otf_gpos): Delete externs.
8466 (font_drive_otf): Extern it.
8467
84682008-02-01 Kenichi Handa <handa@m17n.org>
8469
8470 * font.c (font_at): If the window W is not on a window system,
8471 return Qnil.
8472
8473 * coding.c (produce_chars, encode_coding): Don't call
8474 insert_from_gap if no characters to produce.
8475
84762008-02-01 Kenichi Handa <handa@m17n.org>
8477
8478 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
8479 Fclear_face_cache.
8480
8481 * xfaces.c (face_for_font): Check also face->font==font->font.font.
8482
84832008-02-01 Miles Bader <miles@gnu.org>
8484
8485 * emacs.c (main): Change default value of `enable_font_backend' to 1.
8486 Parse "--disable-font-backend" option.
8487 (standard_args): Add "--disable-font-backend" option.
8488
84892008-02-01 Kenichi Handa <handa@m17n.org>
8490
8491 * fontset.c (fontset_find_font): New function.
8492 (fontset_font): Use fontset_find_font.
8493 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
8494 Register the specified font for all Latin characters.
8495 (new_fontset_from_font): Register the specified font for all Latin
8496 characters.
8497 (dump_fontset): For a realized fontset, include the base fontset
8498 name in the returned vector.
8499
85002008-02-01 Kenichi Handa <handa@m17n.org>
8501
8502 * character.h (CHAR_STRING): Cast C to unsigned on calling
8503 char_string.
8504
8505 * character.c (char_string): Type of arg C changed to unsigned.
8506 Signal an error if C is an invalid character code.
8507
8508 * editfns.c (general_insert_function, Fchar_to_string):
8509 Use CHARACTERP, not INTEGERP.
8510
85112008-02-01 Kenichi Handa <handa@m17n.org>
8512
8513 * character.h (MIN_MULTIBYTE_LEADING_CODE)
8514 (MAX_MULTIBYTE_LEADING_CODE): New macros.
8515
8516 * regex.c (analyse_first): Fix for multibyte characters in "case
8517 charset:" and "case categoryspec:".
8518
85192008-02-01 Andreas Schwab <schwab@suse.de>
8520
8521 * Makefile.in (LIBES): Move standard libraries to the end.
8522
85232008-02-01 Kenichi Handa <handa@m17n.org>
8524
8525 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
8526 nonzero, don't shrink the buffer nextb.
8527
8528 * buffer.h (struct buffer_text): New member inhibit_shrinking.
8529
8530 * coding.c (coding_alloc_by_making_gap): New arg offset.
8531 (alloc_destination): Call coding_alloc_by_making_gap with the arg
8532 offset.
8533 (decode_coding_iso_2022): Update coding->safe_charsets.
8534 (decode_coding_gap): Temporarily set
8535 current_buffer->text->inhibit_shrinking to 1.
8536
85372008-02-01 Kenichi Handa <handa@m17n.org>
8538
8539 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
8540 indexing into elements of s->cmp and s->char2b.
8541
85422008-02-01 Juanma Barranquero <lekktu@gmail.com>
8543
8544 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
8545
85462008-02-01 Kenichi Handa <handa@m17n.org>
8547
8548 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
8549 target_multibyte instead of multibyte.
8550 (re_match_2_internal): Call bcmp_translate with target_multibyte.
8551 (bcmp_translate): Change the argument name from multibyte to
8552 target_multibyte.
8553
85542008-02-01 Kenichi Handa <handa@m17n.org>
8555
8556 These changes are to compile a regexp into a pattern that can be
8557 used both for multibyte and unibyte targets.
8558
8559 * Makefile.in (search.o): Depend on charset.h.
8560
8561 * character.c (multibyte_char_to_unibyte_safe): New function.
8562
8563 * search.c: Include "charset.h".
8564 (compile_pattern_1): Delete argument multibyte. Don't set
8565 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
8566 (compile_pattern): Don't compare cp->buf.target_multibyte.
8567 Compare cp->buf.charset_unibyte.
8568 (compile_pattern): Set cp->buf.target_multibyte.
8569
8570 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
8571
8572 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
8573
8574 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
8575 multibyte. Change callers.
8576 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
8577 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
8578 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
8579 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
8580 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
8581 (regex_compile): Make the compiled pattern usable both for
8582 multibyte and unibyte targets.
8583 (analyse_first): Make the fastmap usable both for multibyte and
8584 unibyte targets.
8585 (TRANSLATE_VIA_MULTIBYTE): Delete.
8586 (re_match_2_internal): Pay attention to the case that the
8587 multibyteness of bufp and target may be different.
8588
85892008-02-01 Kenichi Handa <handa@m17n.org>
8590
8591 * xdisp.c (x_produce_glyphs): When a font is not found, make the
8592 empty box occupy at least one column width.
8593
85942008-02-01 Miles Bader <miles@gnu.org>
8595
8596 * Makefile.in: Remove redundant HAVE_XFT clause.
8597
85982008-02-01 Kenichi Handa <handa@m17n.org>
8599
8600 * xrdb.c (x_load_resources): Setup the default fontSet X resource.
8601
86022008-02-01 Kenichi Handa <handa@m17n.org>
8603
8604 * fontset.c (Finternal_char_font): Fix for the case of POSITION
8605 being nil.
8606
86072008-02-01 Kenichi Handa <handa@m17n.org>
8608
8609 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
8610
86112008-02-01 Kenichi Handa <handa@m17n.org>
8612
8613 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
8614
86152008-02-01 Kenichi Handa <handa@m17n.org>
8616
8617 * search.c (simple_search): Fix previous change.
8618
86192008-02-01 Kenichi Handa <handa@m17n.org>
8620
8621 * xftfont.c (ftfont_font_format): Extern declaration.
8622
8623 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
8624
8625 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
8626 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
8627
8628 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
8629 (ftfont_font_format): Fix previous change.
8630
8631 * font.h (Ffont_xlfd_name): EXFUN it.
8632
8633 * font.c (font_parse_xlfd): Fix the array size of `f'.
8634 (register_font_driver): Use EQ to compare driver->type.
8635
8636 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
8637 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
8638 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
8639
86402008-02-01 Kenichi Handa <handa@m17n.org>
8641
8642 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
8643 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
8644
86452008-02-01 Kenichi Handa <handa@m17n.org>
8646
8647 * xfont.c (xfont_open): Set font->format.
8648
8649 * xftfont.c (xftfont_open): Set font->format.
8650
8651 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
8652 (ftfont_list): Include FC_FONTFORMAT in FcObject.
8653 (ftfont_open): Set font->format.
8654 (ftfont_font_format): New function.
8655
8656 * font.h (struct font): New member format.
8657
8658 * font.c (Qopentype): New variable.
8659 (syms_of_font): Defsym it.
8660 (Fquery_font): Change the format of the last element of the return
8661 value.
8662
86632008-02-01 Kenichi Handa <handa@m17n.org>
8664
8665 * xfns.c (xic_create_xfontset): Try the default fontset name as a
8666 last resort.
8667
86682008-02-01 Kenichi Handa <handa@m17n.org>
8669
8670 * coding.c (detect_coding_charset): Fix detection of multi-byte
8671 charset.
8672
86732008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
8674
8675 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
8676
86772008-02-01 Kenichi Handa <handa@m17n.org>
8678
8679 * xdisp.c (get_next_display_element): Set it->face_id for the
8680 first component of a composition.
8681 (x_produce_glyphs): Check if the font is changed or not for composition.
8682
86832008-02-01 Kenichi Handa <handa@m17n.org>
8684
8685 * fontset.c (Qlatin): New variable.
8686 (syms_of_fontset): Define it as a lisp symbol.
8687 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
8688
86892008-02-01 Kenichi Handa <handa@m17n.org>
8690
8691 * font.c (font_unparse_fcname): Pay attention to the case that
8692 some of font property is a null string.
8693
86942008-02-01 Kenichi Handa <handa@m17n.org>
8695
8696 * term.c: Include "composite.h".
8697 (encode_terminal_code): Output all components of composition.
8698 Check the size of encode_terminal_src.
8699 (produce_glyphs): For composition, call produce_composite_glyph.
8700 (append_composite_glyph, produce_composite_glyph): New functions.
8701
8702 * xdisp.c (x_produce_glyphs): In handling composition, if a font
8703 is not found, get font_info from the current ascii face.
8704
87052008-02-01 Kenichi Handa <handa@m17n.org>
8706
8707 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
8708 buffer-file-name to Qnil before calling insert_from_buffer.
8709
8710 * font.c (font_unparse_fcname): Pay attention to the case that
8711 foundry is a null string.
8712
87132008-02-01 Kenichi Handa <handa@m17n.org>
8714
8715 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
8716
8717 * font.c (Qunicode_sip): New variable.
8718 (syms_of_font): Declare it as a Lisp symbol.
8719
8720 * font.h (Qunicode_sip): Extern it.
8721
87222008-02-01 Kenichi Handa <handa@m17n.org>
8723
8724 * composite.c (get_composition_id): Pay attention to TAB component.
8725
8726 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
8727 TAB. Adjust for the change of s->char2b which always points to
8728 the first element of allocated memory.
8729
8730 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
8731
8732 * xdisp.c (handle_composition_prop): Set it->c to the first
8733 non-TAB component.
8734 (fill_composite_glyph_string): Change argument.
8735 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
8736 (x_produce_glyphs): Fix handling of left/right padding.
8737
87382008-02-01 Kenichi Handa <handa@m17n.org>
8739
8740 * coding.c (detect_coding_system): Fix for handling off
8741 inhibit_iso_escape_detection. Fix for the case that no coding
8742 system is defined for a specific coding category.
8743
87442008-02-01 Kenichi Handa <handa@m17n.org>
8745
8746 * font.c (font_matching_entity): Delete unused local var.
8747
8748 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
8749 opening a font.
8750
8751 * fileio.c (Finsert_file_contents): On recovering a file, assume
8752 Unix-like eol.
8753 (choose_write_coding_system): On auto-saving a file, force
8754 Unix-like eol.
8755
8756 * coding.c (setup_coding_system): Fix setting of
8757 coding->common_flags based on eol_type.
8758 (coding_inherit_eol_type): If PARENT is not nil, be sure to
8759 inherit from it.
8760
87612008-02-01 Kenichi Handa <handa@m17n.org>
8762
8763 * alloc.c (NSTATICS): Increas to 0x600.
8764
87652008-02-01 Kenichi Handa <handa@m17n.org>
8766
8767 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
8768 (ftfont_list): Don't check :name property.
8769 (ftfont_match): New function.
8770 (ftfont_pattern_entity): If the pattern doesn't contain
8771 FC_SPACING, don't assume FC_MONO.
8772
8773 * font.h (struct font_driver): New member `match'.
8774 (font_update_drivers): Adjust prototype.
8775
8776 * font.c (font_parse_fcname, font_parse_name): Don't change :name
8777 property of FONT.
8778 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
8779 them unconditionally.
8780 (font_matching_entity): New function.
8781 (font_open_by_name): Try font_matching_entity if exact match is
8782 not found.
8783 (font_update_drivers): Delete the arg FONT. Return a list of
8784 actually used backends. Don't free faces, font caches here.
8785 Don't store data in frame parameters. Don't call x_set_font.
8786 (Ffont_spec): Store :name property as is.
8787 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
8788 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
8789 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
8790 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
8791 Call font->driver->otf_gsub instead of font_otf_gsub.
8792
8793 * frame.c (x_set_font_backend): Do more works that were done in
8794 font_update_drivers before.
8795
8796 * xfont.c (xfont_match): New function.
8797 (xfont_driver): Set xfont_driver.match to xfont_match.
8798 (xfont_draw): Set font in GC if necessary.
8799
8800 * ftxfont.c (ftxfont_match): New function.
8801 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
8802
8803 * xftfont.c (xftfont_match): New function.
8804 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
8805
88062008-02-01 Kenichi Handa <handa@m17n.org>
8807
8808 * font.h (struct font): New member scalable.
8809 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
8810 (font_otf_gsub): Adjust prototype.
8811
8812 * font.c (font_otf_capability): Fix handling of the default langsys.
8813 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
8814 Check the contents of SPEC.
8815 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
8816 (check_gstring): New function.
8817 (REPLACEMENT_CHARACTER): New macro.
8818 (font_otf_gsub): New arg alternate_subst. Be sure to set all
8819 glyph codes of GSTRING.
8820 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
8821 (font_prepare_composition): Set cmp->glyph_len.
8822 (font_open_entity): Set font->scalable.
8823 (Ffont_get): Handle :otf property.
8824 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
8825 functions.
8826 (Fquery_font): Use font->font.full_name.
8827 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
8828 Sfont_otf_alternates.
8829
8830 * ftfont.c (ftfont_open): Set font->font.full_name and
8831 font->font.name properly. Fix calculation of font->font.height
8832 and font->min_width.
8833
8834 * ftxfont.c (ftxfont_create_gcs): New function.
8835 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
8836 (ftxfont_draw_backgrond): Fix filling region.
8837 (ftxfont_default_fid): New function.
8838 (ftxfont_open): Set xfont->fid to the return value of
8839 ftxfont_default_fid.
8840 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
8841 (ftxfont_done_face): Free only GCs that are created by
8842 ftxfont_create_gcs.
8843 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
8844
8845 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
8846 Clip to src->width, etc (not src->clip_XXX).
8847
8848 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
8849 FontBackend frame parameter.
8850
88512008-02-01 Kenichi Handa <handa@m17n.org>
8852
8853 * font.h (struct font_driver_list): New member `on'.
8854 (Fclear_font_cache): EXFUN it.
8855 (font_update_drivers): Extern it.
8856
8857 * font.c (font_unparse_fcname): Fix typo (swidth->width).
8858 (font_list_entities): Check driver_list->on.
8859 (register_font_driver): Initalize `on' member to 0.
8860 (font_update_drivers): New function.
8861 (Fclear_font_cache): Check driver_list->on.
8862
8863 * frame.h (Qfont_backend): Extern it.
8864 (x_set_font_backend): Extern it.
8865
8866 * frame.c (Qfont_backend): New variable.
8867 (frame_parms): New element for font-backend.
8868 (x_set_font_backend): New function.
8869
8870 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
8871 FontBackend frame parameter.
8872 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
8873 x_set_font_backend.
8874
8875 * xfont.c (xfont_list): Don't try listing by :name property if the
8876 name is not for XLFD.
8877
88782008-02-01 Kenichi Handa <handa@m17n.org>
8879
8880 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
8881 (LGLYPH_SET_TO): New macros.
8882 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
8883 element of G is vector or not.
8884 (font_at): Extern it.
8885
8886 * font.c: Include window.h.
8887 (font_lispy_object): New function.
8888 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
8889 end of valid glyph.
8890 (font_close_object): Fix getting (struct font *).
8891 (font_at): New function.
8892 (Ffont_get): If FONT is a font-object, get entity from it.
8893 (Ffont_make_gstring): Initialize elements of glyphs with nil.
8894 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
8895 range check.
8896 (Ffont_at): New function.
8897 (syms_of_font): Defsubr Sfont_at.
8898
8899 * xdisp.c (it_props): Move the entry for Qauto_composed to just
8900 before the entry for Qcomposition.
8901 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
8902 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
8903 the font in gstring.
8904 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
8905 LGLYPH_FORM (g) to detect the end of valid glyph.
8906 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
8907 we are composing with gstring.
8908
8909 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
8910 Check if adjustment is vector or not.
8911
8912 * Makefile.in (font.o): Make it depends on window.h.
8913
89142008-02-01 Kenichi Handa <handa@m17n.org>
8915
8916 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
8917 adjustment is vector or not.
8918
89192008-02-01 Miles Bader <miles@gnu.org>
8920
8921 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
8922
89232008-02-01 Kenichi Handa <handa@m17n.org>
8924
8925 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
8926 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
8927 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
8928
8929 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
8930 (DEVICE_DELTA): Fix typo.
8931 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
8932 LGLYPH format.
8933
8934 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
8935 the change of LGLYPH format.
8936
89372008-02-01 Kenichi Handa <handa@m17n.org>
8938
8939 * ftfont.c (ftfont_list): Fix typo.
8940 (ftfont_build_basic_charsets): Don't include letters with diacritics.
8941
89422008-02-01 Jan Djärv <jan.h.d@swipnet.se>
8943
8944 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
8945
8946 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
8947 xftface_info is non-NULL.
8948
89492008-02-01 Jan Djärv <jan.h.d@swipnet.se>
8950
8951 * ftfont.c (ftfont_list): Move misplaced #endif.
8952
89532008-02-01 Kenichi Handa <handa@m17n.org>
8954
8955 * ftfont.c (ftfont_list): Pay attention to the case that
8956 FC_CAPABILITY is not defined.
8957
89582008-02-01 Kenichi Handa <handa@m17n.org>
8959
8960 * xftfont.c (xftfont_open): Set charset related members to -1.
8961
8962 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
8963 QCname.
8964 (ftfont_open): Set charset related members to -1.
8965
8966 * fontset.c (Votf_script_alist): New variable.
8967 (syms_of_fontset): Initialize it.
8968 (fontset_font): Delete unused variable.
8969
8970 * fontset.h (Votf_script_alist): Extern it.
8971
8972 * font.c (font_find_for_lface): Optimize code.
8973
8974 * font.h (font_close_object, font_merge_old_spec): Extern them.
8975
89762008-02-01 Kenichi Handa <handa@m17n.org>
8977
8978 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
8979 (syms_of_font): Initialize them.
8980 (font_pixel_size): Allow float value in dpi.
8981 (font_prop_validate_type): Delete.
8982 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
8983 Change caller.
8984 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
8985 (font_prop_validate_extra): Delete.
8986 (font_prop_validate_spacing): New function.
8987 (font_property_table): Add elements for all known properties.
8988 (get_font_prop_index): Rename from check_font_prop_name. New
8989 argument FROM. Change caller.
8990 (font_prop_validate): Validate all known properties.
8991 (font_put_extra): Delete argument force. Change caller.
8992 (font_expand_wildcards): Make it static. Fix the way of shrinking
8993 the possible range.
8994 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
8995 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
8996 Change caller.
8997 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
8998 (font_parse_fcname): Delete argument merge. Fix parsing of point
8999 size. Don't validate properties values here. Change caller.
9000 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
9001 (font_open_by_name): Delete unused variable.
9002 (Ffont_spec): Likewise. Validate property values.
9003 (Ffont_match_p): New function.
9004
9005 * font.h (QCscalable): Extern it.
9006 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
9007
9008 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
9009
9010 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
9011 (xfont_list_pattern): New function.
9012 (xfont_list): Use xfont_list_pattern.
9013
90142008-02-01 Kenichi Handa <handa@m17n.org>
9015
9016 * font.h (Flist_fonts): EXFUN it.
9017
90182008-02-01 Jason Rumney <jasonr@gnu.org>
9019
9020 * w32term.c (w32_initialize): Add back smoothing_type and
9021 smoothing_enabled definitions.
9022
90232008-02-01 Kenichi Handa <handa@m17n.org>
9024
9025 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
9026 s->face->font on determining underline position.
9027
90282008-02-01 Kenichi Handa <handa@m17n.org>
9029
9030 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
9031 (font_has_char): Accept font-object too.
9032 (font_find_for_lface): Try at first with a size specified in face.
9033
90342008-02-01 Kenichi Handa <handa@m17n.org>
9035
9036 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
9037 font_open_by_name.
9038
90392008-02-01 Kenichi Handa <handa@m17n.org>
9040
9041 * font.h (QCspacing, QCdpi): Extern them.
9042 (enum font_spacing): New enum.
9043 (FONT_PIXEL_SIZE_QUANTUM): New macro.
9044
9045 * font.c (POINT_TO_PIXEL): Don't divide POINT by 10.
9046 (QCspacing, QCdpi): New variables.
9047 (syms_of_font): Initialize them.
9048 (font_pixel_size): New function.
9049 (font_put_extra): New function.
9050 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
9051 in FONT_EXTRA.
9052 (font_parse_fcname): Handle enumerated values (e.g. bold).
9053 Fix handling font size. Add QCname property that contains only
9054 unknown properties.
9055 (font_score): Change argument. Change caller. Pay attention to
9056 FONT_PIXEL_SIZE_QUANTUM.
9057 (font_sort_entites, font_list_entities, font_find_for_lface)
9058 (font_open_for_lface, font_open_by_name): Fix handling of font size.
9059 (Ffont_spec): Add QCname property that contains only unknown properties.
9060
9061 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
9062 include weight in listing pattern, instead check weight of each
9063 listed font. Don't include scalable in pattern. Pay attention to
9064 FONT_PIXEL_SIZE_QUANTUM.
9065
90662008-02-01 Kenichi Handa <handa@m17n.org>
9067
9068 * font.c (font_parse_fcname): Fix parsing of point-size.
9069 (font_unparse_fcname): Produce symbolic names for style properties.
9070 (font_list_entities): Handle float size correctly.
9071 (font_open_by_name): Prefer `normal' property values if the name
9072 doesn't specify them.
9073
9074 * fontset.c (Finternal_char_font): Use font_get_name, not
9075 Ffont_xlfd_name.
9076
9077 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
9078 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
9079 pattern. Don't force scalable.
9080
9081 * xftfont.c (xftfont_open): For generating a name, start from
9082 96-byte buffer.
9083
90842008-02-01 Jan Djärv <jan.h.d@swipnet.se>
9085
9086 * frame.h (x_new_fontset2): Fix prototype.
9087
90882008-02-01 Kenichi Handa <handa@m17n.org>
9089
9090 * font.h (struct font_driver): Delete member parse_name.
9091 (font_match_p, font_get_spec, font_parse_fcname)
9092 (font_unparse_fcname): Extern them.
9093 (font_get_name): Adjust prototype.
9094
9095 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
9096 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
9097 (font_expand_wildcards): Fix handling ENCODING field. Avoid
9098 unnecessary checks for weight, slant, and swidth.
9099 (font_parse_fcname): New function.
9100 (font_unparse_fcname): New function.
9101 (font_parse_name): New function.
9102 (font_match_p): New function.
9103 (font_get_name): Change return value to Lisp string.
9104 (font_get_spec): New function.
9105 (Qunspecified, Qignore_defface): Don't extern them.
9106 (font_find_for_lface): Assume that LFACE is fully specified.
9107 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
9108 object, use it for FACE.
9109 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
9110 driver->parse_name.
9111 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
9112
9113 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
9114 prototype.
9115
9116 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
9117 argument F. Don't call Fnew_fontset. Instead, directly call
9118 make_fontset.
9119
9120 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
9121
9122 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
9123 of x_new_fontset2.
9124
9125 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
9126 (Qsans__serif): New variables.
9127 (ftfont_generic_family_list): New variable.
9128 (syms_of_ftfont): Initialize the above variables.
9129 (ftfont_pattern_entity): Delete argument NAME.
9130 (ftfont_list_generic_family): New function.
9131 (ftfont_parse_name): Delete this function.
9132 (ftfont_list): Try generic family only when FcFontList found no font.
9133 (ftfont_list_family): Fix args to FcObjectSetBuild.
9134
9135 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
9136 object in attrs[LFACE_FONT_INDEX].
9137 (set_lface_from_font_name): Cancel all changes for font-backend.
9138 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
9139 function.
9140 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
9141 font object in QCfont attribute.
9142 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
9143 (realize_default_face) [USE_FONT_BACKEND]: Call
9144 set_lface_from_font_and_fontset.
9145
9146 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
9147 "fixed", and signal error here if no suitable font was found.
9148
9149 * xfont.c (xfont_parse_name): Delete this function.
9150
9151 * xftfont.c (xftfont_open): Change coding style of error
9152 handling. Generate fontconfig's fontname pattern.
9153
9154 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
9155 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
9156
9157 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
9158 Both args FONTSET and FONT_OBJECT must be existing ones.
9159
91602008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9161
9162 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
9163
91642008-02-01 Kenichi Handa <handa@m17n.org>
9165
9166 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
9167
9168 * font.h (struct font): Fix typo.
9169
9170 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
9171 XLFD_XXX_INDEX.
9172 (enum xlfd_field_mask): New enum.
9173 (intern_font_field): Changed argument. Change caller. If digits
9174 are followed by non-digits, return a symbol.
9175 (font_expand_wildcards): New function.
9176 (font_parse_xlfd): Fix wildcard handling.
9177 (Ffont_spec): If :name is specified, reflect the info in the other
9178 properties.
9179
9180 * ftfont.c (ftfont_pattern_entity): Fix typo.
9181 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
9182 locale.
9183
91842008-02-01 Kenichi Handa <handa@m17n.org>
9185
9186 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
9187
9188 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
9189 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
9190 registry doesn't specify encoding part.
9191 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
9192 (font_open_by_name): At first try parsing the name.
9193 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
9194 as Lisp symbols.
9195
9196 * fontset.c (reorder_font_vector): Pay attention to the case that
9197 the 3rd element of font_def is nil.
9198 (fontset_font): For the default fontset, append one more fontset
9199 elements for a script-based font specification. Don't add script
9200 attribute on finding a font.
9201 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
9202 font name.
9203 (fontset_ascii_font): If a font can't be opened, return nil.
9204
9205 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
9206 (ftfont_pattern_entity): New function.
9207 (ftfont_get_cache): Assume that freetype_font_cache is already
9208 initialized.
9209 (ftfont_list): Handle the case that a file is specified in font
9210 name. Use ftfont_pattern_entity to generate entities.
9211 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
9212 (syms_of_ftfont): Initialize freetype_font_cache.
9213
9214 * xftfont.c (xftfont_open): Make the font name fontconfig's
9215 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
9216 (xftfont_close): Free font->font.name if not NULL.
9217
9218 * xfont.c (xfont_list): If script is specified for a font, return
9219 null_vector.
9220 (xfont_list_family): Declare argument type.
9221
9222 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
9223 name, set LFACE_FONT (lface) to nil.
9224
9225 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
9226 return Qnil.
9227
92282008-02-01 Kenichi Handa <handa@m17n.org>
9229
9230 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
9231 (standard_args): Add "-enable-font-backend".
9232
92332008-02-01 Kenichi Handa <handa@m17n.org>
9234
9235 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
9236 (struct xftdraw_list, xftdraw_list): Delete them.
9237 (register_xftdraw, check_xftdraw): Delete them.
9238 (xftfont_prepare_face): Don't call register_xftdraw.
9239 (xftfont_done_face): Don't call check_xftdraw.
9240 (xftfont_draw): Get background color only when with_background is
9241 nonzero.
9242
9243 * xfont.c (xfont_encode_char): Fix calculation of char2b.
9244
92452008-02-01 Kenichi Handa <handa@m17n.org>
9246
9247 These changes are for the new font handling codes.
9248
9249 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
9250 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
9251 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
9252 (FONTSRC, FONTOBJ): New variables.
9253 (obj): Add $(FONTOBJ).
9254 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
9255 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
9256 @LIBOTF_LIBS@.
9257 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
9258 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
9259
9260 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
9261
9262 * character.h (Vscript_representative_chars): Extern it.
9263
9264 * character.c (Vscript_representative_chars): New variable.
9265 (syms_of_character): Declare it as a Lisp variable.
9266
9267 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
9268 enable_font_backend is nonzero, accept the composition method
9269 COMPOSITION_WITH_GLYPH_STRING.
9270
9271 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
9272 enumeration COMPOSITION_WITH_GLYPH_STRING.
9273
9274 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
9275 members clip_x, clip_y, clip_width, and clip_height.
9276 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
9277
9278 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
9279 --enable-font-backend. Call syms_of_font.
9280
9281 * fns.c (assoc_no_quit): New function.
9282
9283 * fontset.h (FONT_INFO_FROM_FACE): New macro.
9284 (face_for_font, new_fontset_from_font)
9285 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
9286
9287 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
9288 (fontset_font, fontset_ascii, face_for_char)
9289 (make_fontset_for_ascii_face, Ffont_info)
9290 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
9291 is nonzero, use font-backend mechanism.
9292 (find_font_encoding): Make it non-static.
9293 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
9294 New functions.
9295
9296 * frame.h (struct frame): New members resx and resy.
9297 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
9298 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
9299
9300 * frame.c [USE_FONT_BACKEND]: Include "font.h".
9301 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
9302
9303 * lisp.h (assoc_no_quit): Extern it.
9304
9305 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
9306 Through out the file, use FONT_INFO_FROM_FACE instead of
9307 FONT_INFO_FROM_ID, use get_per_char_metric instead of
9308 rif->per_char_metric.
9309 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
9310 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
9311 (get_glyph_face_and_encoding, fill_composite_glyph_string)
9312 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
9313 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
9314 nonzero, use font-backend mechanism.
9315 (get_per_char_metric): New function.
9316
9317 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
9318 (set_lface_from_font_name)
9319 (set_font_frame_param, free_realized_face)
9320 (prepare_face_for_display, clear_face_gcs)
9321 (Finternal_set_font_selection_order, realize_x_face)
9322 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
9323 font-backend mechanism.
9324 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
9325 (load_face_font) [USE_FONT_BACKEND]: Abort.
9326 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
9327 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
9328
9329 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
9330 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
9331 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
9332 nonzero, register all available font drivers. Call
9333 x_default_font_parameter for deciding a font.
9334 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
9335
9336 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
9337 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
9338 (x_set_glyph_string_clipping_exactly)
9339 (x_compute_glyph_string_overhangs)
9340 (x_draw_glyph_string_foreground)
9341 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
9342 (x_free_frame_resources) [USE_FONT_BACKEND]: If
9343 enable_font_backend is nonzero, use font-backend mechanism.
9344 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
9345
93462008-02-01 Kenichi Handa <handa@m17n.org>
9347
9348 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
9349 system_eol_type.
9350 (syms_of_coding): Initialize system_eol_type.
9351
9352 * process.c (Fset_process_coding_system): Inherit system's eol
9353 format if necessary.
9354
93552008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9356
9357 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
9358
93592008-02-01 Kenichi Handa <handa@m17n.org>
9360
9361 * coding.c (decode_eol): Pay attention to buffer relocation in
9362 del_range_2.
9363 (decode_coding): Call decode_eol before restoring undo_list.
9364
93652008-02-01 Kenichi Handa <handa@m17n.org>
9366
9367 * charset.c (Fdefine_charset_internal): Fix setting of
9368 emacs_mule_bytes.
9369
93702008-02-01 Kenichi Handa <handa@m17n.org>
9371
9372 * keyboard.c (read_char): Check if C is a character or not before
9373 looking up Vkeyboard_translate_table.
9374
93752008-02-01 Kenichi Handa <handa@m17n.org>
9376
9377 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
9378 condition to terminate the loop.
9379
93802008-02-01 Kenichi Handa <handa@m17n.org>
9381
9382 * coding.c (produce_composition): Compare charbuf[i] instead of
9383 args[i] against 0.
9384 (Fterminal_coding_system): Use EQ to compare Lisp objects.
9385
93862008-02-01 Kenichi Handa <handa@m17n.org>
9387
9388 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
9389 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
9390 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
9391 detect_coding.
9392 (emacs_mule_char): Handle old style (Emacs 20) component character
9393 of a composition.
9394 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
9395 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
9396 composition rule.
9397 (decode_coding_emacs_mule): Handle invalid bytes correctly.
9398
93992008-02-01 Kenichi Handa <handa@m17n.org>
9400
9401 * coding.c (encode_coding_ccl): Allocate destination dynamically
9402 when necessary.
9403
94042008-02-01 Kenichi Handa <handa@m17n.org>
9405
9406 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
9407 the loop. When quitted, show a proper error message.
9408
94092008-02-01 Kenichi Handa <handa@m17n.org>
9410
9411 * xterm.c (x_set_glyph_string_clipping_exactly): Set
9412 src->clip_head and src->clip_tail temporarily instead of src->hl.
9413
9414 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
9415 character sequence.
9416 (Fccl_execute_on_string): Use ASET, not XSET.
9417
94182008-02-01 Kenichi Handa <handa@m17n.org>
9419
9420 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
9421
94222008-02-01 Kenichi Handa <handa@m17n.org>
9423
9424 * coding.c (decode_coding): Fix the condition of terminating the
9425 decoding loop.
9426
94272008-02-01 Kenichi Handa <handa@m17n.org>
9428
9429 * data.c (Faset): On setting a character bigger than 255 in a
9430 unibyte string, signal an error instead of make the string multibyte.
9431
94322008-02-01 Kenichi Handa <handa@m17n.org>
9433
9434 * charset.c (map_charset_chars): Fix for ascii-compatible charset
9435 made by a mapping table.
9436
94372008-02-01 Kenichi Handa <handa@m17n.org>
9438
9439 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
9440 not.
9441 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
9442 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
9443
9444 * xterm.c (x_draw_composite_glyph_string_foreground): Check
9445 s->face is NULL or not.
9446
94472008-02-01 Kenichi Handa <handa@m17n.org>
9448
9449 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
9450 (x_draw_glyph_string): Fix drawing of right_overhang and
9451 left_overhang around/on cursor.
9452
9453 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
9454
94552008-02-01 Kenichi Handa <handa@m17n.org>
9456
9457 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
9458
94592008-02-01 Kenichi Handa <handa@m17n.org>
9460
9461 * coding.c (Fdefine_coding_system_internal)
9462 (Fdefine_coding_system_alias): Avoid a duplicated element in
9463 Vcoding_system_alist.
9464
94652008-02-01 Kenichi Handa <handa@m17n.org>
9466
9467 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
9468
9469 * coding.c (Qcoding_system_define_form): New variable.
9470 (syms_of_coding): Intern and staticpro it.
9471 (Fcoding_system_p): Check Qcoding_system_define_form.
9472 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
9473
9474 * coding.h (CODING_SYSTEM_P): If ID is not available, call
9475 Fcoding_system_p.
9476 (CHECK_CODING_SYSTEM): If ID is not available, call
9477 Fcheck_coding_system.
9478 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
9479 Try also Fcheck_coding_system.
9480
94812008-02-01 Kenichi Handa <handa@m17n.org>
9482
9483 * coding.c (code_conversion_restore): GCPRO arg.
9484
94852008-02-01 Kenichi Handa <handa@m17n.org>
9486
9487 * character.c (lisp_string_width): Check multibyteness of STRING.
9488
94892008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9490
9491 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
9492 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
9493 (decode_mac_font_name): Use decode_coding_c_string instead of
9494 decode_coding.
9495 (x_load_font): Initialize fontp->fontset to -1. Set
9496 fontp->encoding_type.
9497
94982008-02-01 Kenichi Handa <handa@m17n.org>
9499
9500 * search.c (search_buffer): Give up BM search on case-fold-search
9501 if one of a target character has a case-equivalence of different
9502 byte length even if that target charcter is an ASCII.
9503 (simple_search): Fix calculation of byte length of matched text.
9504 (boyer_moore): Fix handling of case-equivalent multibyte characters.
9505
95062008-02-01 Kenichi Handa <handa@m17n.org>
9507
9508 * coding.c (decode_coding): Fix handling of invalid bytes.
9509
95102008-02-01 Kenichi Handa <handa@m17n.org>
9511
9512 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
9513 Unicode characters.
9514
95152008-02-01 Kenichi Handa <handa@m17n.org>
9516
9517 * coding.c (encode_coding_object): If a pre-write-conversion
9518 function makes a new buffer, kill it.
9519
95202008-02-01 Kenichi Handa <handa@m17n.org>
9521
9522 * coding.c (QCascii_compatible_p): New variable.
9523 (syms_of_coding): Initialize it.
9524 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
9525 calling string_char.
9526 (record_conversion_result): Add `default:' case.
9527 (coding_charset_list): Delete unused variable `coding_type'.
9528 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
9529 property in the plist of the coding system.
9530 (Fcoding_system_put): Check QCascii_compatible_p.
9531
95322008-02-01 Miles Bader <miles@gnu.org>
9533
9534 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
9535 removed calculation of frame `f', as it's now used.
9536
95372008-02-01 Kenichi Handa <handa@m17n.org>
9538
9539 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
9540 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
9541 (UNIDATA): New variable.
9542 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
9543 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
9544 $(RUN_TEMACS) unconditionally.
9545
95462008-02-01 Kenichi Handa <handa@m17n.org>
9547
9548 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
9549 (admindir): New variable.
9550 ($(lispsource)international/charprop.el): New target.
9551
95522008-02-01 Miles Bader <miles@gnu.org>
9553
9554 * character.c (chars-in-region): Remove obsolete function.
9555 (syms_of_character): Remove its initialization.
9556
95572008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
9558
9559 * w32select.c (validate_coding_system)
9560 (setup_windows_coding_system): New functions.
9561 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
9562 setup_windows_coding_system.
9563 (setup_config, Fw32_get_clipboard_data): Use
9564 validate_coding_system.
9565 (Fx_selection_exists): Move call to setup_config to a place
9566 where signals are allowed.
9567
9568 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
9569 (Fcheck_coding_system): Add declarations.
9570
95712008-02-01 Kenichi Handa <handa@m17n.org>
9572
9573 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
9574
95752008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9576
9577 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
9578 string as the second argument for x_new_fontset.
9579
95802008-02-01 Kenichi Handa <handa@m17n.org>
9581
9582 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
9583 (encode_coding_object): Use safe_call instead of call2.
9584
95852008-02-01 Kenichi Handa <handa@m17n.org>
9586
9587 * fontset.c (Fset_fontset_font): Check family element of a given vector.
9588
9589 * Makefile.in (lisp): Include charprop.el.
9590
95912008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9592
9593 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
9594 Not sure if it's unnecessary.
9595
95962008-02-01 Steven Tamm <steventamm@mac.com>
9597
9598 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
9599 some possibly unnecessary fontset checking code that crashed
9600 when creating a new frame.
9601
96022008-02-01 Kenichi Handa <handa@m17n.org>
9603
9604 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
9605 lookup_face.
9606
9607 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
9608
9609 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
9610
96112008-02-01 Kenichi Handa <handa@m17n.org>
9612
9613 * coding.c: Cancel the change done in HEAD on 2008-02-01.
9614 (coding_charset_list): New function.
9615
9616 * coding.h (coding_charset_list): Extern it.
9617
96182008-02-01 Kenichi Handa <handa@m17n.org>
9619
9620 * fontset.c (Fset_fontset_font): Call find_font_encoding with
9621 concatenation of family and registry.
9622
96232008-02-01 Kenichi Handa <handa@m17n.org>
9624
9625 * character.h (BYTE8_STRING): Fix typo.
9626
9627 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
9628 string to multibyte (sync to HEAD).
9629
9630 * casefiddle.c (casify_region): Handle changes in byte-length
9631 using replace_range_2 (sync to HEAD).
9632
96332008-02-01 Andreas Schwab <schwab@suse.de>
9634
9635 * chartab.c (map_char_table): GCPRO table and arg.
9636
96372008-02-01 Kenichi Handa <handa@m17n.org>
9638
9639 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
9640 already at limit.
9641
96422008-02-01 Kenichi Handa <handa@m17n.org>
9643
9644 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
9645 instead of fast_c_string_match_ignore_case.
9646 (find_font_encoding): Change argument to Lisp_Object. Use
9647 fast_string_match_ignore_case instead of
9648 fast_c_string_match_ignore_case. Change caller.
9649
96502008-02-01 Kenichi Handa <handa@m17n.org>
9651
9652 * xdisp.c (get_next_display_element): In unibyte case, decide to
9653 display in octal form by checking a character by
9654 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
9655
9656 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
9657
9658 * character.c (unibyte_has_multibyte_table): New variable.
9659
9660 * character.h (unibyte_has_multibyte_table): Extern it.
9661 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
9662
96632008-02-01 Kenichi Handa <handa@m17n.org>
9664
9665 * coding.c (encode_coding_iso_2022): Fix handling of charset
9666 annotation.
9667
96682008-02-01 Kenichi Handa <handa@m17n.org>
9669
9670 * coding.c (setup_coding_system): If coding_system is nil, use
9671 Qundecided.
9672 (Fterminal_coding_system): Return nil if terminal coding system is
9673 `undecided'.
9674 (syms_of_coding): Define coding-system `undecided' here. Setup
9675 terminal_coding as `undecided'.
9676
96772008-02-01 Kenichi Handa <handa@m17n.org>
9678
9679 * xdisp.c (message_dolog, set_message_1): Call
9680 unibyte_char_to_multibyte with arg type int.
9681
9682 * lread.c (read1): Fix reading of a char-table.
9683
9684 * print.c (print_object): Include sub char-table in circularities
9685 detection.
9686
96872008-02-01 Kenichi Handa <handa@m17n.org>
9688
9689 * keymap.c (where_is_internal_2): Fix for the case that KEY is a cons.
9690 Append the found sequences in car of ARGS instead of prepending.
9691
96922008-02-01 Kenichi Handa <handa@m17n.org>
9693
9694 * fileio.c (report_file_error): Make a unibyte string from
9695 strerror (errorno).
9696 (Fsubstitute_in_file_name): Fix the arg to
9697 unibyte_char_to_multibyte. It is evaluated twice.
9698
96992008-02-01 Kenichi Handa <handa@m17n.org>
9700
9701 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
9702
97032008-02-01 Kenichi Handa <handa@m17n.org>
9704
9705 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
9706 BOM is not found.
9707 (detect_coding, detect_coding_system): Optimization for ISO-2022
9708 when no 8-bit data is found.
9709
97102008-02-01 Jason Rumney <jasonr@gnu.org>
9711
9712 * w32fns.c (x_to_w32_font): Update to use new coding struct.
9713
97142008-02-01 Kenichi Handa <handa@m17n.org>
9715
9716 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
9717 CHARS.
9718
97192008-02-01 Steven Tamm <steventamm@mac.com>
9720
9721 * macterm.c (mac_encode_char): Add charset argument and update
9722 to use encoding_type.
9723 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
9724 switch to pure fontset.
9725 (decode_mac_font_name): Temporarily remove decoding.
9726 (x_font_name_to_mac_font_name): Temporarily remove encoding.
9727 (x_load_font): Temporarily remove encoding.
9728
97292008-02-01 Kenichi Handa <handa@m17n.org>
9730
9731 * xfaces.c (Fface_font): If frame is not on a window system,
9732 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
9733 refer to face->font.
9734 (split_font_name_into_vector, build_font_name_from_vector)
9735 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
9736 when HAVE_WINDOW_SYSTEM is defined.
9737
97382008-02-01 Kenichi Handa <handa@m17n.org>
9739
9740 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
9741 (x_produce_glyphs): Fix setting of members of cmp in case
9742 cmp->glyph_len is zero.
9743
9744 * fontset.c (Fset_fontset_font): Fix docstring.
9745 (Ffontset_info): Make it backward compatible. New arg ALL.
9746
97472008-02-01 Kim F. Storm <storm@cua.dk>
9748
9749 * process.c (read_process_output): Grow decoding_buf when needed;
9750 this could cause a crash in allocate_string and compact_small_strings.
9751
97522008-02-01 Kenichi Handa <handa@m17n.org>
9753
9754 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
9755
97562008-02-01 Kenichi Handa <handa@m17n.org>
9757
9758 * coding.c (setup_coding_system): Set coding->common_flags
9759 correctly for raw-text.
9760 (consume_chars): On encoding unibyte text by raw-text, don't check
9761 multibyte form.
9762 (encode_coding): On encoding by raw-text, never use translation tables.
9763
9764 * fileio.c (e_write): Short cut for the case of no encoding.
9765
97662008-02-01 Kenichi Handa <handa@m17n.org>
9767
9768 * coding.c (detect_coding, detect_coding_system): Delete unused
9769 variables.
9770
97712008-02-01 Kenichi Handa <handa@m17n.org>
9772
9773 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
9774 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
9775
97762008-02-01 Kenichi Handa <handa@m17n.org>
9777
9778 * coding.c (Ffind_coding_systems_region_internal): Include
9779 raw-text and no-conversion in the result.
9780
97812008-02-01 Kenichi Handa <handa@m17n.org>
9782
9783 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
9784 (load_font_get_repertory): Delete unnecessary check of ENCODING of
9785 FONT_DEF.
9786 (font_def_arg, add_arg, from_arg, to_arg): New args.
9787 (set_fontset_font): Change argument.
9788 (Fset_fontset_font): Fix for the case that TARGET is a script
9789 name and charset name.
9790 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
9791
97922008-02-01 Kenichi Handa <handa@m17n.org>
9793
9794 * fontset.c (fontset_font): Rename from fontset_face. Change return
9795 value.
9796 (face_suitable_for_char_p, face_for_char): Adjust for the change
9797 of fontset_font.
9798 (make_fontset_for_ascii_face): Fix setting of the fontset element
9799 for ASCII.
9800 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
9801 to get a font name.
9802 (Ffontset_info): Adjust for the change of fontset_font.
9803
9804 * coding.c (emacs_mule_char): Check invalid code more rigidly.
9805
9806 * character.h (LEADING_CODE_LATIN_1_MIN)
9807 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
9808
98092008-02-01 Kenichi Handa <handa@m17n.org>
9810
9811 * editfns.c (check_translation): New function.
9812 (Ftranslate_region_internal): Handle M:N mapping.
9813
98142008-02-01 Kenichi Handa <handa@m17n.org>
9815
9816 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
9817
98182008-02-01 Kenichi Handa <handa@m17n.org>
9819
9820 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
9821 goto invalid_code.
9822 (decode_coding_iso_2022): Fix handling of invalid designation.
9823
9824 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
9825 after calling code_conversion_save.
9826
98272008-02-01 Kenichi Handa <handa@m17n.org>
9828
9829 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
9830
9831 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
9832
9833 * fontset.c: Include "intervals.h".
9834 (fontset_face): Fix comparing of Lisp_Objects.
9835 (free_face_fontset, new_fontset_from_font_name): Fix
9836 Lisp_Object/int mixup.
9837
9838 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
9839
9840 * coding.c: Add many prototypes for static functions.
9841 (get_translation_table): Allow max_lookup to be NULL.
9842 (decode_coding, Ffind_coding_systems_region_internal)
9843 (Funencodable_char_position, Fcheck_coding_systems_region): Call
9844 get_translation_table with max_lookup NULL.
9845
98462008-02-01 Kenichi Handa <handa@m17n.org>
9847
9848 * coding.c (get_translation_table): Declare it as Lisp_Object.
9849 (LOOKUP_TRANSLATION_TABLE): New macro.
9850 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
9851 instead of CHAR_TABLE_REF.
9852
98532008-02-01 Kenichi Handa <handa@m17n.org>
9854
9855 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
9856 annotation data format.
9857 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
9858 Change arguments FROM and TO to single argument NCHARS. Change caller.
9859 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
9860 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
9861 (decode_coding_ccl, decode_coding_charset): Pay attention to
9862 coding->charbuf_used.
9863 (get_translation): New function.
9864 (produce_chars): New arguments translation_table and last_block.
9865 Translate characters here. Return number of carryover chars.
9866 Change caller.
9867 (produce_composition): New argument pos. Change caller.
9868 Adjust for the change of annotation data format.
9869 (produce_charset, produce_annotation): Likewise.
9870 (decode_coding, encode_coding): Don't call translate_chars.
9871 (consume_chars): New arg translation_table. Change caller.
9872 (translate_chars): Delete.
9873 (syms_of_coding): Make translation-table's number of extra slots 2.
9874
98752008-02-01 Kenichi Handa <handa@m17n.org>
9876
9877 * search.c (simple_search): Fix setting this_pos_byte in backward
9878 search.
9879
9880 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
9881 byte sequence.
9882 (detect_coding_ccl): Fix setting of the variable valids.
9883
98842008-02-01 Kenichi Handa <handa@m17n.org>
9885
9886 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
9887
9888 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
9889
9890 * editfns.c (Ftranslate_region_internal): Rename from
9891 Ftranslate_region. Accept a char-table in TABLE.
9892 (syms_of_editfns): Defsubr Stranslate_region_internal.
9893
9894 * xfaces.c (set_lface_from_font_name): If a font is specified for
9895 a frame, generate a fontset from the font.
9896 (build_scalable_font_name): If the scalable font is requested for
9897 a specific size, don't change that size.
9898 (try_font_list): Try a scalable font also in the case that a
9899 pattern string is specified.
9900
99012008-02-01 Kenichi Handa <handa@m17n.org>
9902
9903 * xfaces.c (Fface_font): New optional arg CHARACTER.
9904
99052008-02-01 Kenichi Handa <handa@m17n.org>
9906
9907 * charset.h (CHARSET_OFFSET): New macro.
9908
99092008-02-01 Kenichi Handa <handa@m17n.org>
9910
9911 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
9912
9913 * fontset.c (fontset_face): Handle the case that repertory is a
9914 char-table.
9915 (find_font_encoding): Return nil for unknown encoding.
9916 (Fset_fontset_font): Ignore a font of unknown encoding.
9917
99182008-02-01 Kenichi Handa <handa@m17n.org>
9919
9920 * keymap.c (describe_vector): Handle default value of a char table.
9921
9922 * fontset.c (fontset_face): Handle fallback fonts correctly.
9923 (Ffontset_info): Return infomation about fallback fonts.
9924
99252008-02-01 Kenichi Handa <handa@m17n.org>
9926
9927 * fontset.c (FONTSET_DEFAULT): New macro.
9928 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
9929 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
9930 the case that it is nil.
9931 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
9932 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
9933
9934 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
9935 subset or superset.
9936
99372008-02-01 Kenichi Handa <handa@m17n.org>
9938
9939 * emacs.c (main): Call init_charset after syms_of_XXX.
9940
9941 * charset.c (Vcharset_map_directory): Delete.
9942 (Vcharset_map_path): New variable.
9943 (load_charset_map_from_file): Use Vcharset_map_path instead.
9944 (init_charset): Initialize Vcharset_map_path.
9945 (syms_of_charset): Delete declaration of "charset-map-directory",
9946 add declaration of "charset-map-path".
9947
99482008-02-01 Kenichi Handa <handa@m17n.org>
9949
9950 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
9951 ASCII only string.
9952
9953 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
9954
9955 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
9956 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
9957
99582008-02-01 Kenichi Handa <handa@m17n.org>
9959
9960 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
9961
9962 * coding.c (QCmnemonic, QCdefalut_char)
9963 (QCdecode_translation_table, QCencode_translation_table)
9964 (QCpost_read_conversion, QCpre_write_conversion): New variables.
9965 (get_translation_table): Return a list of translation tables if
9966 necessary.
9967 (decode_coding): Call get_translation_table with ENCODEP 0.
9968 (char_encodable_p): If translation_table is non-nil, always call
9969 translate_char.
9970 (Fdefine_coding_system_internal): Accept list of translation
9971 tables as :encode-translation-table and :decode-translation-table.
9972 (Fcoding_system_put): New function.
9973 (syms_of_coding): Declare new symbols. Defsubr
9974 Scoding_system_put.
9975 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
9976 typically JISX0212.
9977
9978 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
9979 when the charset is superset type.
9980
9981 * character.c (translate_char): Accept list of translation tables.
9982
99832008-02-01 Kenichi Handa <handa@m17n.org>
9984
9985 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
9986 (CODING_ATTR_TRANS_TBL): New macro.
9987
9988 * coding.c (get_translation_table): New function.
9989 (translate_chars): Fix the bug of skipping annotation data.
9990 (decode_coding, encode_coding): Utilize get_translation_table.
9991 (char_encodable_p, Funencodable_char_position): Translate char if
9992 necessary.
9993 (Ffind_coding_systems_region_internal)
9994 (Fcheck_coding_systems_region): Setup translation table for encode
9995 in a coding system attribute vector in advance.
9996 (Fdefine_coding_system_internal): Allow a symbol as translation
9997 table. For shift-jis type coding system, allow 4th charset.
9998
99992008-02-01 Kenichi Handa <handa@m17n.org>
10000
10001 * coding.c (decode_coding_sjis): Check the first byte rigidly.
10002
10003 * xdisp.c (get_next_display_element): Pass -1 as POS to
10004 FACE_FOR_CHAR if displaying a C-string.
10005
100062008-02-01 Kenichi Handa <handa@m17n.org>
10007
10008 * composite.c (get_composition_id): Handle xoff and yoff in a
10009 composition rule.
10010
10011 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
10012 (struct composition): New member lbearing and rbearing.
10013
10014 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
10015 (x_get_glyph_overhangs): Handle a composition glyph.
10016 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
10017
10018 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
10019 composition glyph.
10020
100212008-02-01 Kenichi Handa <handa@m17n.org>
10022
10023 * print.c: Include charset.h.
10024 (Vprint_charset_text_property): New variable.
10025 (Qdefault): Extern it.
10026 (PRINT_STRING_NON_CHARSET_FOUND)
10027 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
10028 (print_check_string_result): New variable.
10029 (print_check_string_charset_prop): New function.
10030 (print_prune_charset_plist): New variable.
10031 (print_prune_string_charset): New function.
10032 (print_object): Call print_prune_string_charset if
10033 Vprint_charset_text_property is not t.
10034 (print_interval): Print nothing if interval->plist is nil.
10035 (syms_of_print): Declare Vprint_charset_text_property as a lisp
10036 variable. Init and staticpro print_prune_charset_plist.
10037
100382008-02-01 Kenichi Handa <handa@m17n.org>
10039
10040 * fontset.c (new_fontset_from_font_name): Use the specified font
10041 for all characters in the new fontset.
10042
10043 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
10044 OBJECT args.
10045
10046 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
10047 OBJECT args for composition too.
10048
10049 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
10050 OBJECT args.
10051
100522008-02-01 Kenichi Handa <handa@m17n.org>
10053
10054 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
10055
10056 * fontset.c (reorder_font_vector): Adjust for the change of
10057 FONT_DEF format.
10058 (fontset_face): New arg id. Change caller.
10059 (face_for_char): New args pos and object.
10060 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
10061 (fs_query_fontset): Check NAME by Fassoc too.
10062 (Fset_fontset_font): Allow non-XLFD font name.
10063 (Ffontset_info): Adjust for the change of FONT_DEF format.
10064
10065 * fontset.h (face_for_char): Adjust prototype.
10066
10067 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
10068 (append_space, extend_face_to_end_of_line)
10069 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
10070 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
10071
10072 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
10073 POS and OBJECT args.
10074
10075 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
10076 POS and OBJECT args.
10077
100782008-02-01 Jason Rumney <jasonr@gnu.org>
10079
10080 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
10081 of GlobalAlloc'ed memory.
10082
100832008-02-01 Kenichi Handa <handa@m17n.org>
10084
10085 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
10086
10087 * charset.h (charset_table_used): Delete extern.
10088
10089 * charset.c (charset_table_used): Make it static.
10090 (map_charset_chars): Fix args to c_function with.
10091
10092 * chartab.c (map_sub_char_table_for_charset): Fix args to
10093 c_function with.
10094
10095 * coding.h (enum coding_result_code): Delete
10096 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
10097
10098 * coding.c (Qinsufficient_source, Qinconsistent_eol)
10099 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
10100 (Vlast_code_conversion_error): New variables.
10101 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
10102 (ONE_MORE_BYTE): Record error if any instead of signaling an
10103 error. If non-ASCII multibyte char is found, return the negative
10104 value of the code. All callers changed to check it.
10105 (ONE_MORE_BYTE_NO_CHECK): Likewise.
10106 (record_conversion_result): New function. Change all codes setting
10107 coding->result to call this function.
10108 (detect_coding_utf_8, decode_coding_utf_8)
10109 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
10110 Don't use the local variable incomplete.
10111 (emacs_mule_char): Change the second arg to `const'.
10112 (decode_coding): Fix of flushing out unprocessed data.
10113 (make_conversion_work_buffer): Fix making of a work buffer.
10114 (decode_coding_object): Return coding->dst_object.
10115
10116 * fontset.c (set_fontset_font): Fix args.
10117
10118 * lisp.h (CHARACTERBITS): Define as 22.
10119
10120 * process.c (send_process): Be sure to set coding->src_multibyte.
10121
10122 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
10123
101242008-02-01 Kenichi Handa <handa@m17n.org>
10125
10126 * xdisp.c (handle_auto_composed_prop): Give limit to
10127 Fnext_single_char_property_change.
10128
101292008-02-01 Kenichi Handa <handa@m17n.org>
10130
10131 * composite.c (syms_of_composite): Don't make the composition hash
10132 table weak.
10133
10134 * fontset.c (Fset_fontset_font): Fix docstring.
10135
10136 * lisp.h (detect_coding_system): Adjust prototype.
10137
10138 * fileio.c (kill_workbuf_unwind): Delete this function.
10139 (Finsert_file_contents): Adjust the call of detect_coding_system.
10140 Get conversion_buffer by code_conversion_save. Use the macro
10141 CODING_MAY_REQUIRE_DECODING. After decoding, update
10142 coding_system.
10143
10144 * coding.h (make_conversion_work_buffer): Delete extern.
10145 (code_conversion_save): Extern it.
10146
10147 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
10148 (CODING_GET_INFO): Delete argument eol_type. Change callers.
10149 (decode_coding_utf_8): Don't do eol converion.
10150 (detect_coding_utf_16): Check coding->src_chars, not
10151 coding->src_bytes. Add heuristics for those that have no signature.
10152 (decode_coding_emacs_mule, decode_coding_iso_2022)
10153 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
10154 Don't do eol converion.
10155 (adjust_coding_eol_type): Return a new coding system.
10156 (detect_coding): Don't detect eol. Fix for utf-16 detection.
10157 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
10158 each change.
10159 (decode_coding): Pay attention to undo_list. Do eol conversion for
10160 all types of coding-systems (if necessary).
10161 (Vcode_conversion_work_buf_list): Delete it.
10162 (Vcode_conversion_reused_workbuf): Rename from
10163 Vcode_conversion_reused_work_buf.
10164 (Vcode_conversion_workbuf_name): New variable.
10165 (reused_workbuf_in_use): New variable.
10166 (make_conversion_work_buffer): Delete the arg DEPTH.
10167 (code_conversion_restore): Change argument to cons.
10168 (code_conversion_save): Delete the argument BUFFER. Change callers.
10169 (detect_coding_system): New argument src_chars. Change callers.
10170 Fix for utf-16 detection.
10171 (init_coding_once): Don't use ISO_carriage_return.
10172 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
10173 reused_workbuf_in_use.
10174
101752008-02-01 Kenichi Handa <handa@m17n.org>
10176
10177 * keymap.c (store_in_keymap): Pay attention to the case that idx
10178 is a cons specifying a character range.
10179
101802008-02-01 Kenichi Handa <handa@m17n.org>
10181
10182 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
10183 HANDLED_RECOMPUTE_PROPS.
10184
10185 * coding.c (Fdefine_coding_system_internal): Fix checking of
10186 ascii compatibility.
10187
101882008-02-01 Kenichi Handa <handa@m17n.org>
10189
10190 * charset.c (find_charsets_in_text): Delete unused locale variable.
10191 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
10192
10193 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
10194 Resync charset_list to Vemacs_mule_charset_list.
10195
10196 * keymap.c (store_in_keymap): Pay attention to the case that idx
10197 is a cons specifying a character range.
10198
101992008-02-01 Kenichi Handa <handa@m17n.org>
10200
10201 * composite.c (update_compositions): Bind inhibit-read-only, etc
10202 to t before calling remove-list-of-text-properties.
10203
10204 * print.c (print_object): Always print ASCII chars as is.
10205
102062008-02-01 Kenichi Handa <handa@m17n.org>
10207
10208 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
10209
10210 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
10211 is a char table.
10212
102132008-02-01 Kenichi Handa <handa@m17n.org>
10214
10215 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
10216
102172008-02-01 Kenichi Handa <handa@m17n.org>
10218
10219 * xfaces.c (set_lface_from_font_name): Fix for the case that
10220 FONTNAME is not fontset name.
10221
102222008-02-01 Kenichi Handa <handa@m17n.org>
10223
10224 * fns.c (base64_encode_1): Fix previous change.
10225
102262008-02-01 Kenichi Handa <handa@m17n.org>
10227
10228 * fontset.c (set_fontset_font): New function.
10229 (Fset_fontset_font): If a font is specified for a charset, use
10230 map_charset_chars to store the font spec in a fontset.
10231
102322008-02-01 Kenichi Handa <handa@m17n.org>
10233
10234 * fontset.c (fontset_face): Create a fallback fontset on demand.
10235 (make_fontset): Don't create a fallback fontset here.
10236 (free_face_fontset): Free a fallback fontset (if any) too.
10237 (n_auto_fontsets): Delete this variable.
10238 (auto_fontset_alist): New variable.
10239 (new_fontset_from_font_name): Check auto_fontset_alist.
10240 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
10241 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
10242 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
10243 Defsubr Sfontset_list_all.
10244
102452008-02-01 Kenichi Handa <handa@m17n.org>
10246
10247 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
10248
102492008-02-01 Kenichi Handa <handa@m17n.org>
10250
10251 * fontset.c (Fnew_fontset): Check NAME more rigidly.
10252
102532008-02-01 Kenichi Handa <handa@m17n.org>
10254
10255 * editfns.c (Fgoto_char): Fix docstring.
10256
102572008-02-01 Kenichi Handa <handa@m17n.org>
10258
10259 * insdel.c (insert_from_gap): Adjust intervals correctly.
10260
102612008-02-01 Jason Rumney <jasonr@gnu.org>
10262
10263 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
10264 (pfnGetFontUnicodeRanges): New dynamically loaded function.
10265 (w32_initialize): Try to load it.
10266 (x_get_font_repertory): Use it if available.
10267 (w32_encode_char): Add shortcut for unicode output.
10268
10269 * w32fns.c (w32_load_system_font): Default charset to -1.
10270 (x_to_w32_charset): Match all fonts for unicode.
10271 (w32_to_x_charset): New parameter matching. Don't return partial
10272 or wildcard charsets.
10273 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
10274 (w32_codepage_for_font): Return CP_UNICODE for unicode.
10275 (w32_to_x_font): Match charset to real charset.
10276 (enum_font_cb2): Always list unicode versions.
10277
10278 * makefile.w32-in (temacs): Increase EMHEAP.
10279
102802008-02-01 Jason Rumney <jasonr@gnu.org>
10281
10282 * w32term.c (w32_encode_char): New charset parameter.
10283 font_info.encoding becomes encoding_type.
10284 (x_get_font_repertory): New function. Warning: stub only!
10285 (x_new_font): Return quickly if font already set.
10286 (x_new_fontset): fontsetname parameter is Lisp_Object.
10287 Use new fs_query_fontset. Try new_fontset_from_font_name.
10288 Use fontset_name for return value.
10289
10290 * w32term.h: Declare x_get_font_repertory.
10291
10292 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
10293 place of find_charset_in_text. Use encode_coding_object in place
10294 of encode_coding.
10295 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
10296 decode_coding.
10297
10298 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
10299 of x_new_fontset.
10300 (w32_load_system_font): Initialize charset as unicode.
10301 font_info.encoding becomes encoding_type.
10302 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
10303 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
10304 (syms_of_w32fns): Set get_font_repertory_func.
10305
10306 * w32console.c: Include character.h. Use terminal_encode_buffer
10307 from term.c.
10308 (write_glyphs): Use new version of encode_terminal_code. Use
10309 encode_coding_object in place of encode_coding.
10310
10311 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
10312 encoding becomes encoding_type.
10313
10314 * term.c (terminal_encode_buffer): Make externally visible.
10315
10316 * makefile.w32-in: Add character.h dependancies.
10317 (character.o, chartab.o): New targets.
10318
103192008-02-01 Kenichi Handa <handa@m17n.org>
10320
10321 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
10322 CODING_ID_EOL_TYPE.
10323
103242008-02-01 Andreas Schwab <schwab@suse.de>
10325
10326 * coding.c (produce_chars): Revert last change.
10327
103282008-02-01 Kenichi Handa <handa@m17n.org>
10329
10330 * charset.h (charset_unicode): Extern it.
10331
10332 * charset.c (string_xstring_p): Check by (C >= 0x100).
10333 (find_charsets_in_text): Change format of the arc CHARSETS. New
10334 arg MULTIBYTE.
10335 (Ffind_charset_region, Ffind_charset_string): Adjust for the
10336 change of find_charsets_in_text.
10337 (Fsplit_char): Fix doc. Never return unknown.
10338
10339 * chartab.c (char_table_translate): Use CHARACTERP, not INTEGERP.
10340
10341 * coding.c (Fdefine_coding_system_alias): Update
10342 Vcoding_system_list.
10343
10344 * fontset.c (load_font_get_repertory): Pay attention to the case
10345 that ENCODING of a font is specified by a char-table.
10346
10347 * xterm.c (x_get_font_repertory): Handle the case that the
10348 encoding of font is other than Unicode.
10349
103502008-02-01 Kenichi Handa <handa@m17n.org>
10351
10352 * term.c (encode_terminal_code): Don't handle glyph-table. Check
10353 if a character is encodable by the terminal coding system. If
10354 not, produces proper number of `?'s. Update
10355 terminal_encode_buffer and terminal_encode_buf_size if necessary.
10356 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
10357
103582008-02-01 Kenichi Handa <handa@m17n.org>
10359
10360 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
10361 variables.
10362 (encode_terminal_code): Change argument. Encode multiple
10363 characters at once. Store the result of encoding in
10364 terminal_encode_buffer.
10365 (write_glyphs, insert_glyphs): Adjust for the change of
10366 encode_terminal_code.
10367 (term_init): Initialize terminal_encode_buffer and
10368 terminal_encode_buf_size.
10369
10370 * coding.c (consume_chars): If coding->src_object is nil, don't
10371 check annotation.
10372
103732008-02-01 Kenichi Handa <handa@m17n.org>
10374
10375 * character.c (char_string): Use ASCII_CHAR_P instead of
10376 SINGLE_BYTE_CHAR_P.
10377
103782008-02-01 Kenichi Handa <handa@m17n.org>
10379
10380 * xdisp.c (handle_auto_composed_prop): Check if the last
10381 characters of auto-composed region is newly composed with the
10382 following characters.
10383 (handle_composition_prop): Fix checking of point being inside
10384 composition.
10385
103862008-02-01 Kenichi Handa <handa@m17n.org>
10387
10388 * fns.c (concat): Don't change multibyteness of the result by
10389 concatenating an 8-bit character.
10390
10391 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
10392 multibyteness of the result when newelt is an 8-bit character.
10393
103942008-02-01 Dave Love <fx@gnu.org>
10395
10396 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
10397 EMACS_INT.
10398
10399 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
10400
10401 * xfaces.c (face_numeric_value): Declare dim size_t.
10402 (Finternal_lisp_face_equal_p): Remove unused f.
10403
10404 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
10405 (MATRIX_ROW): Remove unused vars.
10406 (draw_glyphs, x_insert_glyphs, fast_find_position)
10407 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
10408 byte/char counts.
10409
10410 * regex.c (regex_compile): Remove unused var.
10411
10412 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
10413
10414 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
10415 (Faccessible_keymaps, where_is_internal): Remove unused vars.
10416
10417 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
10418
10419 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
10420
10421 * fileio.c (Fwrite_region): Remove unused var.
10422
10423 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
10424 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
10425
10426 * composite.c (Fremove_list_of_text_properties): Declare.
10427
10428 * coding.c (inhibit_pre_post_conversion): Remove (unused).
10429 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
10430 (coding_inherit_eol_type): Remove unused attrs.
10431 (detect_coding): Cast arg of detect_eol.
10432
10433 * charset.c (syms_of_charset): Remove unused var p.
10434 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
10435 byte/char counts.
10436
10437 * casetab.c (set_case_table): Remove unused var.
10438
10439 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
10440 unused vars.
10441
104422008-02-01 Dave Love <fx@gnu.org>
10443
10444 * xterm.c (x_bitmap_mask): Declare.
10445
104462008-02-01 Dave Love <fx@gnu.org>
10447
10448 * xterm.c (x_term_init): Fix type error.
10449
10450 * lisp.h: Add Funibyte_char_to_multibyte.
10451
10452 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
10453 (Fset_coding_system_priority): Doc fix.
10454
10455 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
10456
10457 * indent.c (check_composition): Make start and end EMACS_INT.
10458
10459 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
10460
10461 * xdisp.c (handle_composition_prop, check_point_in_composition):
10462 Make buffer positions EMACS_INT.
10463
10464 * composite.c (find_composition, run_composition_function)
10465 (update_compositions, Ffind_composition_internal): Make buffer
10466 positions EMACS_INT.
10467
10468 * composite.h (find_composition, update_compositions): Make
10469 position args EMACS_INT.
10470
10471 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
10472
10473 * intervals.c (get_property_and_range):
10474 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
10475
10476 * unexalpha.c: Don't include varargs.h.
10477
104782008-02-01 Dave Love <fx@gnu.org>
10479
10480 * coding.h (ENCODE_UTF_8): New.
10481
10482 * Makefile.in (gtkutil.o): Depend on coding.h.
10483
10484 * coding.c (Fset_coding_system_priority): Doc fix.
10485
104862008-02-01 Kenichi Handa <handa@m17n.org>
10487
10488 * fileio.c (Finsert_file_contents): Call setup_coding_system in
10489 the case of auto saving.
10490
104912008-02-01 Andreas Schwab <schwab@suse.de>
10492
10493 * chartab.c (map_char_table, map_char_table_for_charset): Protect
10494 `range' from GC.
10495
104962008-02-01 Kenichi Handa <handa@m17n.org>
10497
10498 * coding.c (decode_coding_sjis): Check bytes more rigidly.
10499
105002008-02-01 Kenichi Handa <handa@m17n.org>
10501
10502 * fileio.c (choose_write_coding_system): Return a decided coding system.
10503 (Fwrite_region): Set Vlast_coding_system_used to the return value
10504 of choose_write_coding_system.
10505
105062008-02-01 Kenichi Handa <handa@m17n.org>
10507
10508 * charset.c (Fset_charset_priority): Pay attention to duplicated
10509 arguments.
10510
10511 * coding.c (QCcategory): New variable.
10512 (syms_of_coding): Defsym it. Set all elements of
10513 Vcoding_category_table and their symbol values.
10514 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
10515 coding-category-XXX, and coding-category-list.
10516 (Fdefine_coding_system_internal): Add category in the plist.
10517
105182008-02-01 Kenichi Handa <handa@m17n.org>
10519
10520 * callproc.c (Fcall_process): Handle carryover correctly.
10521
10522 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
10523 (raw_text_coding_system): Check NILP (coding_system).
10524 (coding_inherit_eol_type): Check NILP (coding_system) and
10525 NILP (parent).
10526 (consume_chars): Fix for the case of raw-text.
10527
10528 * process.c (read_process_output): Handle carryover correctly.
10529
105302008-02-01 Dave Love <fx@gnu.org>
10531
10532 * regex.c (re_search_2): Fix last change.
10533
105342008-02-01 Kenichi Handa <handa@m17n.org>
10535
10536 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
10537 target_multibyte. Even in a unibyte case, return a converted
10538 multibyte char.
10539 (GET_CHAR_AFTER): New macro.
10540 (PATFETCH): Translate via multibyte char.
10541 (HANDLE_UNIBYTE_RANGE): Delete this macro.
10542 (SETUP_MULTIBYTE_RANGE): New macro.
10543 (regex_compile): Setup compiled code so that its multibyteness
10544 matches that of a target. Fix the handling of "[X-YZ]" using
10545 SETUP_MULTIBYTE_RANGE.
10546 (analyse_first) <charset>: For filling fastmap for all multibyte
10547 characters, don't check by BASE_LEADING_CODE_P.
10548 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
10549 the same as RE_MULTIBYTE_P (bufp) now.
10550 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
10551 (TARGET_CHAR_AND_LENGTH): Delete this macro.
10552 (TRANSLATE_VIA_MULTIBYTE): New macro.
10553 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
10554 It is the same as RE_MULTIBYTE_P (bufp) now.
10555 <exactn>: Translate via multibyte.
10556 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
10557 translate it.
10558 <charset, charset_not>: Fetch a character by
10559 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
10560 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
10561 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
10562 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
10563 by GET_CHAR_AFTER.
10564 (bcmp_translate): Likewise.
10565
10566 * search.c (compile_pattern): Check the member target_multibyte,
10567 not the member multibyte of buf.
10568
10569 * lread.c (read1): While reading a string, set force_singlebyte
10570 and force_multibyte correctly.
10571
10572 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
10573 up of unibyte_to_multibyte_table.
10574
105752008-02-01 Kenichi Handa <handa@m17n.org>
10576
10577 * coding.c (setup_coding_system): If coding has
10578 post-read-conversion or pre-write-conversion, set
10579 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
10580 respectively.
10581 (decode_coding_gap): Run post-read-conversion if any.
10582
10583 * fileio.c (Finsert_file_contents): Even if we read into a
10584 unibyte buffer, check if we must decode the result or not.
10585
105862008-02-01 Kenichi Handa <handa@m17n.org>
10587
10588 * coding.c (make_conversion_work_buffer): Change the work buffer
10589 name to the same one as that of Emacs 21.
10590
105912008-02-01 Kenichi Handa <handa@m17n.org>
10592
10593 * coding.h (make_conversion_work_buffer): Adjust prototype.
10594 (code_conversion_restore): Don't extern it.
10595
10596 * coding.c (detected_mask): Delete unused variable.
10597 (decode_coding_iso_2022): Pay attention to the byte sequence of
10598 CTEXT extended segment, and retain those bytes as is.
10599 (decode_coding_ccl): Delete unused variable `valids'.
10600 (setup_coding_system): Delete unused variable `category'.
10601 (consume_chars): Delete unused variable `category'. Make it work
10602 for non-multibyte case.
10603 (make_conversion_work_buffer): Change argument.
10604 (saved_coding): Delete unused variable.
10605 (code_conversion_restore): Don't check saved_coding->destination.
10606 (code_conversion_save): New function.
10607 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
10608 instead of record_unwind_protect.
10609 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
10610 (detect_coding_system): Delete unused variable `mask'.
10611 (Fdefine_coding_system_internal): Delete unused variable id.
10612
10613 * fileio.c (kill_workbuf_unwind): New function.
10614 (Finsert_file_contents): On replacing, call
10615 make_conversion_work_buffer with correct args, and call
10616 record_unwind_protect with the first arg kill_workbuf_unwind.
10617
10618 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
10619
106202008-02-01 Kenichi Handa <handa@m17n.org>
10621
10622 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
10623 (fontset_add): Fix for the case that TO is less than TO1.
10624 (Ffontset_info): Don't use fallback fontset on checking the
10625 default fontset.
10626 (dump_fontset): New function for debugging.
10627
10628 * coding.c (Fdefine_coding_system_internal): Fix for the case that
10629 coding_type is Qcharset.
10630
106312008-02-01 Kenichi Handa <handa@m17n.org>
10632
10633 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
10634 (map_char_table): Don't inherit the value from the parent on
10635 initializing VAL. Adjust for the above change.
10636
106372008-02-01 Kenichi Handa <handa@m17n.org>
10638
10639 * coding.c (Qsignature, Qendian): Delete these variables.
10640 (syms_of_coding): Don't initialize them.
10641 (CATEGORY_MASK_UTF_16_AUTO): New macro.
10642 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
10643 detect_info->found.
10644 (decode_coding_utf_16): Don't detect BOM here.
10645 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
10646 is NOT utf_16_without_bom.
10647 (setup_coding_system): For a coding system of type utf-16, check
10648 if the attribute :endian is Qbig or not (not nil or not), and set
10649 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
10650 (detect_coding): If coding type is utf-16 and BOM detection is
10651 required, detect it.
10652 (Fdefine_coding_system_internal): For a coding system of type
10653 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
10654
106552008-02-01 Kenichi Handa <handa@m17n.org>
10656
10657 * coding.c (coding_set_source): Fix for the case that the current
10658 buffer is different from coding->src_object.
10659 (decode_coding_object): Don't use the conversion work buffer if
10660 DST_OBJECT is a buffer.
10661
106622008-02-01 Dave Love <fx@gnu.org>
10663
10664 * lread.c (read_emacs_mule_char) [len==2]: Index
10665 emacs_mule_charset correctly.
10666
106672008-02-01 Dave Love <fx@gnu.org>
10668
10669 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
10670 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
10671 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
10672 treated specially.)
10673 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
10674 (detected_mask): Remove Big5 bits.
10675
106762008-02-01 Kenichi Handa <handa@m17n.org>
10677
10678 The following changes are to make the font rescaling facility
10679 compatible with Emacs 21.
10680
10681 * xfaces.c (Vface_font_rescale_alist): Rename from
10682 Vface_resizing_fonts.
10683 (struct font_name): Rename member resizing_ratio to rescale_ratio.
10684 (font_rescale_ratio): Rename from font_resizing_ratio.
10685 (split_font_name): Set font->rescale_ratio.
10686 (better_font_p): Pay attention to font->rescale_ratio.
10687 (build_scalable_font_name): Likewise. Change RESX, and RESY
10688 fields.
10689 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
10690
106912008-02-01 Kenichi Handa <handa@m17n.org>
10692
10693 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
10694 (Qutf_16_le): Remove these variables.
10695 (syms_of_coding): Don't DEFSYM them.
10696 (decode_coding_utf_16): Fix handling of BOM.
10697 (encode_coding_utf_16): Fix handling of BOM.
10698
106992008-02-01 Kenichi Handa <handa@m17n.org>
10700
10701 * fileio.c (Finsert_file_contents): On replacing, before decoding
10702 the file into the work buffer, set point of the work buffer to the end.
10703
107042008-02-01 Dave Love <fx@gnu.org>
10705
10706 * coding.c (Fcheck_coding_systems_region): Fix type errors.
10707
107082008-02-01 Dave Love <fx@gnu.org>
10709
10710 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
10711 and fix C types.
10712
107132008-02-01 Kenichi Handa <handa@m17n.org>
10714
10715 * xdisp.c (SKIP_GLYPHS): New macro.
10716 (set_cursor_from_row): Pay attention to string display properties.
10717
10718 * category.c (copy_category_entry): Fix for the case that RANGE
10719 is an integer.
10720
10721 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
10722
10723 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
10724
107252008-02-01 Kenichi Handa <handa@m17n.org>
10726
10727 * charset.c (Fcharset_id_internal): New function.
10728 (syms_of_charset): Defsubr it.
10729
10730 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
10731 with the last arg charset_list acquired from coding.
10732 (Fdefine_coding_system_internal): For ccl-based coding system, fix
10733 the attribute coding_attr_ccl_valids.
10734
10735 * coding.h (enum define_coding_ccl_arg_index): Set the first
10736 member coding_arg_ccl_decoder to coding_arg_max.
10737
10738 * ccl.h (ccl_driver): Adjust prototype.
10739
10740 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
10741 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
60612c8f 10742 of DECODE_CHAR, ENCODE_CHAR, CHAR_CHARSET.
aac0c6e3
MR
10743 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
10744 last arg Qnil.
10745
107462008-02-01 Kenichi Handa <handa@m17n.org>
10747
10748 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
10749 call encode_char.
10750
10751 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
10752
107532008-02-01 Dave Love <fx@gnu.org>
10754
10755 * composite.c (syms_of_composite): Make composition_hash_table weak.
10756
107572008-02-01 Kenichi Handa <handa@m17n.org>
10758
10759 * dispextern.h (check_face_attributes, generate_ascii_font_name)
10760 (font_name_registry): Don't extern them.
10761 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
10762
10763 * fontset.h (Qfontset): Don't extern it.
10764 (new_fontset_from_font_name): Extern it.
10765
10766 * fontset.c: Give 8 extra slots to fontset objects.
10767 (Qfontset_info): New variable.
10768 (syms_of_fontset): Defsym it.
10769 (FONTSET_FALLBACK): New macro.
10770 (fontset_face): Try also the default fontset.
10771 (make_fontset): Realize a fallback fontset from the default fontset.
10772 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
10773 using split_font_name_into_vector and build_font_name_from_vector.
10774 (Fset_fontset_font): Access the elements of font_spec by enum
10775 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
10776 name by using split_font_name_into_vector.
10777 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
10778 generate a proper font name from the fontset name. Update
10779 Vfontset_alias_alist.
10780 (n_auto_fontsets): New variable.
10781 (new_fontset_from_font_name): New function.
10782 (Ffont_info): Store the information about fonts generated from the
10783 default fontset in the first extra slot of the returned char-table.
10784
10785 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
10786 (font_name_registry): Delete function.
10787 (split_font_name_into_vector): New function.
10788 (build_font_name_from_vector): New function.
10789 (font_list): The argument REGISTRY is now a list of registry names.
10790 (choose_face_font): If we are choosing an ASCII font, and ATTRS
10791 specifies an explicit font name, return the name as is. Make a
10792 list of registy names.
10793
10794 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
10795 of x_new_fontset.
10796 (Fx_create_frame): Don't call x_new_fontset here. Just use
10797 x_list_fonts to check the existence of fonts.
10798
10799 * xterm.h (x_new_fontset): Adjust prototype.
10800
10801 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
10802 string. Use new_fontset_from_font_name to create a fontset from a
10803 font name.
10804
108052008-02-01 Kenichi Handa <handa@m17n.org>
10806
10807 * syntax.c (Vfind_word_boundary_function_table): New name for
10808 Vnext_word_boundary_function_table.
10809 (find-word-boundary-function-table): New name for
10810 next-word-boundary-function-table.
10811
108122008-02-01 Dave Love <fx@gnu.org>
10813
10814 * Makefile.in: Fix some dependencies.
10815
10816 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
10817 set it to nil before returning.
10818
10819 * composite.c (update_compositions): Fix type error.
10820
10821 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
10822
108232008-02-01 Kenichi Handa <handa@m17n.org>
10824
10825 * xterm.c (x_new_font): Optimize for the case that the font is
10826 already set for the frame.
10827
108282008-02-01 Kenichi Handa <handa@m17n.org>
10829
10830 * chartab.c (char_table_ascii): Check if the char table contents
10831 is sub-char-table or not.
10832 (char_table_set, char_table_set_range): Fix argument to
10833 char_table_ascii.
10834
10835 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
10836 (detect_coding_utf_8, detect_coding_utf_16)
10837 (detect_coding_emacs_mule, detect_coding_iso_2022)
10838 (detect_coding_sjis, detect_coding_big5)
10839 (detect_coding_ccl, detect_coding_charset): Change argument MASK
10840 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
10841 sequence is valid in this coding system. Change callers.
10842 (MAX_ANNOTATION_LENGTH): New macro.
10843 (ADD_ANNOTATION_DATA): New macro.
10844 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
10845 ADD_ANNOTATION_DATA. Change the format of annotation data.
10846 (ADD_CHARSET_DATA): New macro.
10847 (emacs_mule_char): New argument ID. Change callers.
10848 (decode_coding_emacs_mule, decode_coding_iso_2022)
10849 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
10850 Produce charset annotation data in coding->charbuf.
10851 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
10852 to charset annotation data in coding->charbuf.
10853 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
10854 coding->common_flags if the coding system is iso-2022 based and
10855 uses designation.
10856 (produce_composition): Adjust for the new annotation data format.
10857 (produce_charset): New function.
10858 (produce_annotation): Handle charset annotation.
10859 (handle_composition_annotation, handle_charset_annotation): New
10860 functions.
10861 (consume_chars): Handle charset annotation. Utilize the above two
10862 functions.
10863 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
10864 buffer, get the deleted text as a string and set
10865 coding->src_object to that string.
10866 (detect_coding, detect_coding_system): Use the new struct
10867 coding_detection_info.
10868
10869 * coding.h (struct coding_detection_info): New structure.
10870 (struct coding_system): Adjust prototype of the member `detector'.
10871 (CODING_ANNOTATE_CHARSET_MASK): New macro.
10872
108732008-02-01 Kenichi Handa <handa@m17n.org>
10874
10875 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
10876
108772008-02-01 Dave Love <fx@gnu.org>
10878
10879 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
10880 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
10881 to new local and nullify apropos_accumulate before returning.
10882 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
10883
108842008-02-01 Kenichi Handa <handa@m17n.org>
10885
10886 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
10887 correctly.
10888
108892008-02-01 Dave Love <fx@gnu.org>
10890
10891 * fns.c (Flanginfo): Call synchronize_system_time_locale.
10892
108932008-02-01 Kenichi Handa <handa@m17n.org>
10894
10895 The following changes are to make character composition happen
10896 automatically on displaying.
10897
10898 * Makefile.in (lisp, shortlisp): Add composite.elc.
10899
10900 * composite.h (Qauto_composed, Vauto_composition_function)
10901 (Qauto_composition_function): Extern them.
10902
10903 * composite.c (Vcomposition_function_table)
10904 (Qcomposition_function_table): Delete variables.
10905 (Qauto_composed, Vauto_composition_function)
10906 (Qauto_composition_function): New variables.
10907 (run_composition_function): Don't call
10908 compose-chars-after-function.
10909 (update_compositions): Clear `auto-composed' text property.
10910 (compose_chars_in_text): Delete this function.
10911 (syms_of_composite): Staticpro Qauto_composed and
10912 Qauto_composition_function. Declare Vauto_composition_function as
10913 a Lisp variable.
10914
10915 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
10916
10917 * xdisp.c (it_props): Add an entry for Qauto_composed.
10918 (handle_auto_composed_prop): New function.
10919
10920 * xselect.c (selection_data_to_lisp_data): Don't call
10921 compose_chars_in_text.
10922
109232008-02-01 Dave Love <fx@gnu.org>
10924
10925 * keyboard.c (read_char): Modify checking around use of
10926 Vkeyboard_translate_table.
10927
10928 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
10929 and fix C types.
10930
109312008-02-01 Kenichi Handa <handa@m17n.org>
10932
10933 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
10934 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
10935 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
10936 the case that the last byte is '\r' correctly.
10937 (decode_coding): Flush out the unprocessed data correctly.
10938 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
10939
109402008-02-01 Dave Love <fx@gnu.org>
10941
10942 * xterm.c (XTread_socket): Fix changes for defined keysyms.
10943 Add XK_ISO... case.
10944 (xaw_scroll_callback): Revert last change.
10945
109462008-02-01 Kenichi Handa <handa@m17n.org>
10947
10948 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
10949
109502008-02-01 Kenichi Handa <handa@m17n.org>
10951
10952 * xfaces.c (Vface_resizing_fonts): New variable.
10953 (struct font_name): New member `resizing_ratio'.
10954 (font_resizing_ratio): New function.
10955 (split_font_name): Set font->resizing_ratio.
10956 (better_font_p): Pay attention to font->resizing_ratio.
10957 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
10958 RESX, and RESY fields.
10959 (try_alternative_families): Try scalable fonts if
10960 Vscalable_fonts_allowed is not Qt.
10961 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
10962
109632008-02-01 Dave Love <fx@gnu.org>
10964
10965 * xterm.c (xaw_scroll_callback): Cast correctly.
10966
109672008-02-01 Dave Love <fx@gnu.org>
10968
10969 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
10970 (lispy_kana_keys): Comment out.
10971 (make_lispy_event) [XK_kana_A]: Comment out.
10972
10973 * xterm.c (xaw_scroll_callback): Cast call_data.
10974 (XTread_socket): Deal with ASCII keysyms.
10975 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
10976
109772008-02-01 Dave Love <fx@gnu.org>
10978
10979 * xterm.c (Vx_keysym_table): New.
10980 (syms_of_xterm): Initialize it.
10981 (XTread_socket): Use it.
10982 From head: Eliminate incorrect optimization that tried to avoid
10983 decoding the output of X*LookupString.
10984 (x_get_font_repertory): Delete charset declaration.
10985
109862008-02-01 Kenichi Handa <handa@m17n.org>
10987
10988 * coding.c (detect_coding_charset): If only ASCII bytes are found,
10989 return 0.
10990 (Fdefine_coding_system_internal): Setup
10991 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
10992
109932008-02-01 Dave Love <fx@gnu.org>
10994
10995 * coding.c (Fcheck_coding_system): Doc fix.
10996
10997 * editfns.c (Finsert_byte): Return a proper value.
10998
109992008-02-01 Kenichi Handa <handa@m17n.org>
11000
11001 * coding.c (decode_coding): Fix args to translate_chars. Pay
11002 attention to Vstandard_translation_table_for_decode.
11003 (encode_coding): Fix args to translate_chars. Pay attention to
11004 Vstandard_translation_table_for_encode.
11005
11006 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
11007 SINGLE_BYTE_CHAR_P.
11008
11009 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
11010 not by SINGLE_BYTE_CHAR_P.
11011
11012 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
11013 SINGLE_BYTE_CHAR_P.
11014
11015 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
11016 SINGLE_BYTE_CHAR_P.
11017
11018 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
11019 by SINGLE_BYTE_CHAR_P.
11020
11021 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
11022 SINGLE_BYTE_CHAR_P.
11023
110242008-02-01 Dave Love <fx@gnu.org>
11025
11026 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
11027
110282008-02-01 Dave Love <fx@gnu.org>
11029
11030 * fns.c (Flanginfo): Fix typo.
11031
11032 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
11033
110342008-02-01 Kenichi Handa <handa@m17n.org>
11035
11036 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
11037 (detect_coding_emacs_mule, detect_coding_iso_2022)
11038 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
11039 incomplete byte sequence. Don't update *mask when correctly detected.
11040 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
11041 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
11042 (detect_coding, detect_coding_system): Adjust for the changes above.
11043
110442008-02-01 Kenichi Handa <handa@m17n.org>
11045
11046 * character.c (char_string): Rename from
11047 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
11048 (string_char): Rename from string_char.
11049
11050 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
11051 if C is greater than MAX_3_BYTE_CHAR.
11052 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
11053 string_char instead of string_char_with_unification.
11054
110552008-02-01 Dave Love <fx@gnu.org>
11056
11057 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
11058
110592008-02-01 Kenichi Handa <handa@m17n.org>
11060
11061 * keymap.c (push_key_description): Pay attention to force_multibyte.
11062
11063 * regex.c (re_search_2): Fix for the case of unibyte buffer.
11064
110652008-02-01 Dave Love <fx@gnu.org>
11066
11067 * charset.c (define_charset_internal): Rename `supprementary'.
11068
11069 * Makefile.in (lisp, shortlisp): Remove latin-N.
11070
110712008-02-01 Dave Love <fx@gnu.org>
11072
11073 * xfns.c (x_window, x_window): Use use_xim.
11074
11075 * xterm.c (use_xim): Initialize.
11076 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
11077 (x_term_init): Maybe set use_xim.
11078
11079 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
11080
110812008-02-01 Kenichi Handa <handa@m17n.org>
11082
11083 * search.c (search_buffer): Fix case-fold-search of multibyte
11084 characters.
11085 (boyer_moore): Rename the last argument to char_high_bits.
11086
110872008-02-01 Kenichi Handa <handa@m17n.org>
11088
11089 * xdisp.c (display_string): Fix for the case of zero width glyph.
11090
11091 * xfns.c (x_set_font): Change the error message of the case that
11092 x_new_fontset returns Qt.
11093
11094 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
11095 (Finternal_set_lisp_face_attribute): Use signal_error for the
11096 error of invalid fontset.
11097
11098 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
11099 fontset, return Qt.
11100
111012008-02-01 Dave Love <fx@gnu.org>
11102
11103 * unexelf.c (unexec): Make .got handling not SGI-specific.
11104
11105 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
11106
11107 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
11108
11109 * keyboard.c (read_key_sequence): Fix type error.
11110
11111 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
11112 type error.
11113
11114 * fontset.c (fontset_add): Return Lisp_Object.
11115
111162008-02-01 Dave Love <fx@gnu.org>
11117
11118 * charset.h (charset_ordered_list_tick): Declare extern.
11119
111202008-02-01 Kenichi Handa <handa@m17n.org>
11121
11122 The following changes (and some of 2008-02-01 changes of mine) are
11123 for handling syntax, category, and case conversion for unibyte
11124 characters by converting them to multibyte on the fly. With these
11125 changes, we don't have to setup syntax and case tables for unibyte
11126 characters in each language environment.
11127
11128 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
11129 multibyte if necessary.
11130
11131 * bytecode.c (Fbyte_code): Likewise.
11132
11133 * character.h (LEADING_CODE_LATIN_1_MIN)
11134 (LEADING_CODE_LATIN_1_MAX): New macros.
11135 (unibyte_to_multibyte_table): Extern it.
11136 (unibyte_char_to_multibyte): New macro.
11137 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
11138 (CHAR_LEADING_CODE): New macro.
11139 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
11140
11141 * character.c (unibyte_to_multibyte_table): New variable.
11142 (unibyte_char_to_multibyte): Move to character.h and define as macro.
11143 (multibyte_char_to_unibyte): If C is an eight-bit character,
11144 convert it to the corresponding byte value.
11145
11146 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
11147 not 1, signals an error. Update the elements of
11148 unibyte_to_multibyte_table.
11149 (init_charset_once): Initialize unibyte_to_multibyte_table.
11150 (syms_of_charset): Define the charset `iso-8859-1'.
11151
11152 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
11153 as is without converting it to unibyte. In a unibyte buffer,
11154 convert C to multibyte before checking the syntax.
11155
11156 * lisp.h (unibyte_char_to_multibyte): Delete extern.
11157
11158 * minibuf.c (Fminibuffer_complete_word): Use the macro
11159 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
11160
11161 * regex.h (struct re_pattern_buffer): New member target_multibyte.
11162
11163 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
11164 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
11165 that is zero, convert an eight-bit char to multibyte.
11166 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
11167 non-emacs case.
11168 (PATFETCH): Convert an eight-bit char to multibyte.
11169 (HANDLE_UNIBYTE_RANGE): New macro.
11170 (regex_compile): Setup the compiled pattern for multibyte chars
11171 even if the given regex string is unibyte. Use PATFETCH_RAW
11172 instead of PATFETCH in many places. To handle `charset'
11173 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
11174 only for ASCII chars.
11175 (analyse_first) <exactn>: Simplify because the compiled pattern
11176 is multibyte.
11177 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
11178 <charset>: Use CHAR_LEADING_CODE to get leading codes.
11179 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
11180 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
11181 multibyte always 1.
11182 (re_search_2): In emacs, set the locale variable multibyte to 1,
11183 otherwise to 0. New local variable target_multibyte. Check it
11184 to decide the multibyteness of STR1 and STR2. If
11185 target_multibyte is zero, convert unibyte chars to multibyte
11186 before translating and checking fastmap.
11187 (TARGET_CHAR_AND_LENGTH): New macro.
11188 (re_match_2_internal): In emacs, set the locale variable multibyte
11189 to 1, otherwise to 0. New local variable target_multibyte. Check
11190 it to decide the multibyteness of STR1 and STR2. Use
11191 TARGET_CHAR_AND_LENGTH to fetch a character from D.
11192 <charset, charset_not>: If multibyte is nonzero, check fastmap
11193 only for ASCII chars. Call bcmp_translate with
11194 target_multibyte, not with multibyte.
11195 <begline>: Declare the local variable C as `unsigned'.
11196 (bcmp_translate): Change the last arg name to target_multibyte.
11197
11198 * search.c (compile_pattern_1): Don't adjust the multibyteness of
11199 the regexp pattern and the matching target. Set cp->buf.multibyte
11200 to the multibyteness of the regexp pattern. Set
11201 cp->but.target_multibyte to the multibyteness of the matching target.
11202 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
11203 FETCH_STRING_CHAR_ADVANCE.
11204 (Freplace_match): Convert unibyte chars to multibyte.
11205
11206 * syntax.c (char_quoted, back_comment, scan_words)
11207 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
11208 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
11209 unibyte chars to multibyte.
11210 (skip_chars): Delete the arg syntaxp, and move the code for
11211 handling syntaxes to skip_syntaxes. Change callers.
11212 Fix the case that the multibyteness of STRING and the current
11213 buffer doesn't match.
11214 (skip_syntaxes): New function.
11215 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
11216 SINGLE_BYTE_CHAR_P.
11217
112182008-02-01 Kenichi Handa <handa@m17n.org>
11219
11220 * xfaces.c (QCfontset): New variable.
11221 (LFACE_FONTSET): New macro.
11222 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
11223 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
11224 (Finternal_set_lisp_face_attribute)
11225 (Finternal_get_lisp_face_attribute): Handle QCfontset.
11226 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
11227 check also LFACE_FONTSET_INDEX.
11228 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
11229 attrs[LFACE_FONT_INDEX].
11230 (syms_of_xfaces): Intern and staticpro QCfontset.
11231
11232 * dispextern.h (enum lface_attribute_index): New member
11233 LFACE_FONTSET_INDEX.
11234
11235 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
11236
112372008-02-01 Kenichi Handa <handa@m17n.org>
11238
11239 * coding.c (coding_set_destination): Fix coding->destination for
11240 the case converting a region.
11241 (encode_coding_utf_8): Encode eight-bit chars as single byte.
11242 (encode_coding_object): Fix coding->dst_pos and
11243 coding->dst_pos_byte for the case converting a region.
11244
11245 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
11246
11247 * character.h (BYTE8_STRING): New macro.
11248
11249 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
11250
112512008-02-01 Kenichi Handa <handa@m17n.org>
11252
11253 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
11254 characters by octal form.
11255
11256 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
11257
11258 * buffer.h (_fetch_multibyte_char_len): Delete extern.
11259 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
11260 _fetch_multibyte_char_len.
11261 (FETCH_CHAR_AS_MULTIBYTE): New macro.
11262
11263 * casetab.c (set_canon, set_identity, shuffle): Simplify.
11264
11265 * casefiddle.c (casify_object): Simplify. Handle the case that
11266 the case conversion change the byte length.
11267 (casify_region): Likewise.
11268
11269 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
11270
11271 * character.c (_fetch_multibyte_char_len): Delete this variable.
11272 (syms_of_character): Setup Vprintable_chars.
11273
11274 * editfns.c (Fchar_equal): Fix for the unibyte case.
11275 (Finsert_byte): New function.
11276 (syms_of_editfns): Defsubr it.
11277
11278 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
11279 of direct code 0x3ffff.
11280
11281 * search.c (Freplace_match): Fix for the unibyte case.
11282
112832008-02-01 Kenichi Handa <handa@m17n.org>
11284
11285 * lread.c (safe_to_load_p): Fix the logic.
11286
11287 * syntax.c (scan_words): Don't treat characters belonging to
11288 different scripts as constituting a word.
11289
11290 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
11291
11292 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
11293
11294 * emacs.c (main): In the case of --unibyte, instead of aborting on
11295 finding non-empty buffer, make it unibyte.
11296
112972008-02-01 Kenichi Handa <handa@m17n.org>
11298
11299 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
11300 to create a fontset.
11301
113022008-02-01 Dave Love <fx@gnu.org>
11303
11304 * character.c (Funibyte_char_to_multibyte): Doc fix.
11305
11306 * xfns.c [HAVE_STDLIB_H]: Fix last change.
11307
113082008-02-01 Kenichi Handa <handa@m17n.org>
11309
11310 * fontset.c (fontset_add): Make the type `int'.
11311 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
11312
11313 * character.c (unibyte_char_to_multibyte)
11314 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
11315 charset_unibyte, not charset_primary.
11316
11317 * charset.h (charset_unibyte): Extern it instead of charset_primary.
11318
11319 * charset.c (charset_unibyte): Rename from charset_primary.
11320 (Funibyte_charset): Rename from Fprimary_charset.
11321 (Fset_unibyte_charset): Rename from Fset_primary_charset.
11322 (syms_of_charset): Adjust for the above changes.
11323
11324 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
11325 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
11326 it->multibyte_p is zero.
11327
11328 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
11329 Delete extern.
11330
113312008-02-01 Kenichi Handa <handa@m17n.org>
11332
11333 * coding.c (Fdefine_coding_system_internal): Fix category setting
11334 for a coding system of type iso-2022.
11335
113362008-02-01 Kenichi Handa <handa@m17n.org>
11337
11338 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
11339
113402008-02-01 Kenichi Handa <handa@m17n.org>
11341
11342 * syntax.c (Vnext_word_boundary_function_table): New variable.
11343 (next-word-boundary-function-table): Declare it as a Lisp variable
11344 in syms_of_syntax.
11345 (scan_words): Call functions in Vnext_word_boundary_function_table
11346 if any.
11347
11348 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
11349
11350 * fontset.c (fs_load_font): If fontp->charset is not negative,
11351 return fontp without setting its members.
11352
113532008-02-01 Dave Love <fx@gnu.org>
11354
11355 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
11356
11357 * m/sparc.h (HAVE_ALLOCA): Delete.
11358
11359 * s/irix6-5.h: Don't include strings.h.
11360 (bcopy, bzero, bcmp): Don't undef.
11361
11362 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
11363
11364 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
11365 (TIOCSIGSEND): Don't test IRIX6.
11366 (bcopy, bzero, bcmp): Define conditionally.
11367
113682008-02-01 Kenichi Handa <handa@m17n.org>
11369
11370 * buffer.c (Qas, Qmake, Qto): New variables.
11371 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
11372 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
11373
11374 * callproc.c (Fcall_process): Don't call insert_1_both directly if
11375 we are inserting a process output into a multibyte buffer.
11376
11377 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
11378 multibyte_char_to_unibyte.
11379
11380 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
11381 by the primary charset, make it eight-bit char.
11382 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
11383
11384 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
11385 (charset_8_bit__control, charset_8_bit_graphic)
11386 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
11387 (define_charset_internal): New function.
11388 (syms_of_charset): Call define_charset_internal for pre-defined
11389 charsets.
11390
11391 * charset.h (charset_8_bit): Extern it.
11392
11393 * coding.c (make_conversion_work_buffer): Adjust for the change
11394 of Fset_buffer_multibyte.
11395 (encode_coding_raw_text): Increment p0 in the loop.
11396
11397 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
11398
11399 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
11400 for the change of Fset_buffer_multibyte.
11401
11402 * fns.c (Fstring_to_multibyte): New function.
11403 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
11404
114052008-02-01 Dave Love <fx@gnu.org>
11406
11407 * xfns.c (x_put_x_image): Declare args.
11408
11409 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
11410 (try_font_list): Declare an arg.
11411
11412 * xdisp.c (message2_nolog, set_message): Declare an arg.
11413
11414 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
11415
11416 * syntax.c (scan_sexps_forward): Declare an arg.
11417
11418 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
11419 Declare an arg.
11420
11421 * lisp.h (Fnew_fontset): Declare.
11422
11423 * keymap.c (push_key_description): Call CHARACTERP correctly.
11424
11425 * fontset.c (fontset_add): Declare args. Call make_number correctly.
11426 (face_for_char): Delete unused vars.
11427 (Fset_fontset_font): Doc fix. Delete unused vars.
11428
11429 * doc.c (Fsubstitute_command_keys): Delete unused vars.
11430
11431 * composite.c (update_compositions): Declare arg.
11432
11433 * cm.c (calccost, cmgoto): Declare args.
11434
11435 * charset.c: Remove `emacs' conditional. Doc fixes.
11436 (map_char_table_for_charset): Declare.
11437
11438 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
11439
11440 * ccl.c: Remove `emacs' conditional.
11441
114422008-02-01 Kenichi Handa <handa@m17n.org>
11443
11444 The following changes are to allow specifying multiple font
11445 patterns for a character range (specified by script or charset).
11446
11447 * Makefile.in (abbrev.o): Depend on syntax.h.
11448 (xfaces.o): Depend on charset.h.
11449
11450 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
11451 SINGLE_BYTE_CHAR_P.
11452
11453 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
11454
11455 * character.h (Vchar_script_table): Extern it.
11456
11457 * character.c (Vscript_alist): Delete.
11458 (Vchar_script_table, Qchar_script_table): New variable.
11459 (syms_of_character): Declare Vchar_script_table as a lisp variable
11460 and initialize it.
11461
11462 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
11463 have property char-table-extra-slots, make no extra slot.
11464
11465 * dispextern.h (struct face): Delete member `charset'.
11466 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
11467 SINGLE_BYTE_CHAR_P.
11468 (choose_face_font, lookup_non_ascii_face, font_name_registry):
11469 Add prototypes.
11470 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
11471 (generate_ascii_font_name): Rename from generate_ascii_font.
11472
11473 * fontset.h (get_font_repertory_func): New prototype.
11474 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
11475 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
11476
11477 * fontset.c (Qprepend, Qappend): New variables.
11478 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
11479 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
11480 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
11481 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
11482 (fontset_ref_and_range, fontset_add, reorder_font_vector)
11483 (load_font_get_repertory): New functions.
11484 (fontset_set): Delete.
11485 (fontset_face): New arg FACE. Return face ID, not face.
11486 Complete re-write to handle new fontset structure. Change caller.
11487 (free_face_fontset): Use ASET istead of AREF (X) = Y.
11488 (face_for_char): Don't call lookup_face.
11489 (make_fontset_for_ascii_face): New arg FACE.
11490 (fs_load_font): New arg CHARSET_ID. Don't check
11491 Vfont_encoding_alist here.
11492 (find_font_encoding): New function.
11493 (list_fontsets): Use STRINGP, not ! NILP.
11494 (accumulate_script_ranges): New function.
11495 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
11496 re-written to handle new fontset structure.
11497 (Ffontset_font): Return a copy of element.
11498 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
11499 docstring of font-encoding-alist.
11500
11501 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
11502 (Fset_fotset_font): Fix arguments to 5.
11503
11504 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
11505
11506 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
11507 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
11508 (highlight_trailing_whitespace): Adjust for the change of
11509 lookup_named_face.
11510
11511 * xfaces.c: Include charset.h.
11512 (load_face_font): Delete argument C. Change caller.
11513 (generate_ascii_font_name): Rename from generate_ascii_font.
11514 (font_name_registry): New function.
11515 (cache_face): Store ascii faces before non-ascii faces in buckets.
11516 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
11517 Lookup only ascii faces.
11518 (lookup_non_ascii_face): New function.
11519 (lookup_named_face): Delete argument C. Change caller.
11520 (lookup_derived_face): Delete argument C. Change caller.
11521 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
11522 a string, just call font_list with it.
11523 (choose_face_font): Delete arguments FACE and C. New arg
11524 FONT_SPEC. Change caller.
11525 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
11526 Change caller.
11527 (realize_non_ascii_face): New function.
11528 (realize_x_face): Call load_face_font here.
11529 (realize_tty_face): Delete argument C. Change caller.
11530 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
11531 get a face ID.
11532 (dump_realized_face): Don't print charset of FACE.
11533
11534 * xfns.c (x_set_font): Always call x_new_fontset and
11535 store_frame_parameter.
11536 (Fx_create_frame): Call x_new_fontset, not x_new_font.
11537 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
11538
11539 * xterm.h (x_get_font_repertory): Extern it.
11540
11541 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
11542 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
11543 it->multibyte_p is zero.
11544 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
11545 (x_new_fontset): If FONTSETNAME doesn't match any existing
11546 fontsets, create a new one.
11547 (x_get_font_repertory): New function.
11548
115492008-02-01 Kenichi Handa <handa@m17n.org>
11550
11551 * coding.c (Ffind_coding_systems_region_internal): Detect an
11552 ASCII only string correctly.
11553
11554 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
11555 version is 0.
11556
115572008-02-01 Kenichi Handa <handa@m17n.org>
11558
11559 * lread.c: Include "coding.h".
11560 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
11561 (load_each_byte, unread_char): New variables.
11562 (readchar_backlog): Delete.
11563 (readchar): Return a character unless load_each_byte is nonzero.
11564 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
11565 cons. If unread_char is not -1, simply return it.
11566 (unreadchar): Handle the case that readcharfun is
11567 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
11568 (read_multibyte): Delete.
11569 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
11570 (read_emacs_mule_char): New functions.
11571 (Fload): Even if the file doesn't have the extension ".elc", if
11572 safe_to_load_p returns a positive version number, assume that the
11573 file contains bytecompiled code. If the version is less than 22,
11574 load the file while decoding multibyte sequences by emacs-mule.
11575 (readevalloop): Don't use readchar_backlog.
11576 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
11577 (Fread_from_string): Pay attention to the case that STREAM is a cons.
11578 (read_escape): Delete the arg BYTEREP.
11579 (read1): Set load_each_byte to 1 temporarily while handling
11580 #@NUMBER. Don't call read_multibyte.
11581 (read_vector): Call Fread with a cons. If readcharfun is
11582 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
11583 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
11584 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
11585 and Qload_force_doc_strings.
11586
115872008-02-01 Kenichi Handa <handa@m17n.org>
11588
11589 * xdisp.c (face_before_or_after_it_pos): Call
11590 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
11591
115922008-02-01 Kenichi Handa <handa@m17n.org>
11593
11594 * character.h (TRAILING_CODE_P): New macro.
11595 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
11596 (string_char_with_unification): Fix prototype.
11597 (Vscript_alist): Extern it.
11598
11599 * character.c (Vscript_alist): New variable.
11600 (string_char_with_unification, str_as_unibyte)
11601 (string_escape_byte8): Add `const' to local variables.
11602 (syms_of_character): Declare script-alist as a Lisp variable.
11603
11604 * charset.h (Vcharset_ordered_list): Extern it.
11605 (charset_ordered_list_tick): Extern it.
11606 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
11607 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
11608 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
11609 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
11610 (Funify_charset): Adjust for the change of Funify_charset.
11611
11612 * charset.c (charset_ordered_list_tick): New variable.
11613 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
11614 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
11615 deunify intead of unify a charset.
11616 (string_xstring_p): Add `const' to local variables.
11617 (find_charsets_in_text): Add `const' to arguments and local variables.
11618 (encode_char): Adjust for the change of Funify_charset. Fix
11619 detecting of invalid code.
11620 (Fset_charset_priority): Increment charset_ordered_list_tick.
11621 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
11622 and TO_CODE.
11623
11624 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
11625 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
11626 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
11627 (decode_coding_ccl, consume_chars)
11628 (Ffind_coding_systems_region_internal)
11629 (Fcheck_coding_systems_region): Add `const' to local variables.
11630
11631 * print.c (print_object): Use octal form for printing the
11632 contents of a bool vector.
11633
116342008-02-01 Dave Love <fx@gnu.org>
11635
11636 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
11637 <version == 20>: Refuse to load.
11638
116392008-02-01 Dave Love <fx@gnu.org>
11640
11641 * fns.c: Move coding.h.
11642 (Qcodeset, Qdays, Qmonths): New.
11643 (concat): Use CHARACTERP instead of INTEGERP.
11644 (Flocale_codeset): Delete.
11645 (Flanginfo): New function.
11646 (syms_of_fns): Change accordingly.
11647
11648 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
11649
116502008-02-01 Dave Love <fx@gnu.org>
11651
11652 * casetab.c (init_casetab_once, init_casetab_once): Fix
11653 CHAR_TABLE_SET call.
11654
11655 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
11656
11657 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
11658
11659 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
11660 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
11661 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
11662
11663 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
11664
11665 * coding.c (ENCODE_DESIGNATION, decode_eol)
11666 (make_conversion_work_buffer, code_conversion_restore)
11667 (Fdefine_coding_system_internal): Convert Lisp types.
11668 (code_conversion_restore): Use EQ, not ==.
11669 (Fencode_coding_string): Fix code_convert_string call.
11670
11671 * coding.h (code_convert_region): Fix prototype.
11672
11673 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
11674
11675 * fontset.c (fontset_ref, fontset_set, fs_load_font)
11676 (Ffontset_info): Convert Lisp types.
11677
11678 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
11679
11680 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
11681
11682 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
11683
11684 * chartab.c: Include "...h", not <...h> in some cases.
11685
11686 * callproc.c (Fcall_process): Remove unused variables.
11687
116882008-02-01 Dave Love <fx@gnu.org>
11689
11690 * coding.c (Fset_coding_system_priority): Allow null arg list.
11691
116922008-02-01 Dave Love <fx@gnu.org>
11693
11694 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
11695 (Fself_insert_and_exit): Use CHARACTERP.
11696
11697 * callproc.c (Fcall_process): Remove unused vars.
11698
11699 * xterm.c (XTread_socket): Add extra dead keysyms.
11700
11701 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
11702
11703 * dispextern.h: Remove prototypes for redraw_frame,
11704 redraw_garbaged_frames.
11705
11706 * cmds.c (Fself_insert_command): Use CHARACTERP.
11707
11708 * chartab.c (make_sub_char_table): Remove unused var.
11709 (Fset_char_table_default, Fmap_char_table): Doc fix.
11710
11711 * keymap.c (access_keymap): Remove generic char code.
11712 (push_key_description): Use CHARACTERP.
11713
117142008-02-01 Dave Love <fx@gnu.org>
11715
11716 * charset.c: Doc fixes.
11717 (Funify_charset): Extra checking.
11718
117192008-02-01 Dave Love <fx@gnu.org>
11720
11721 * lread.c: Remove some unused variables.
11722 (safe_to_load_p): If safe, return the magic number version byte.
11723 (Fload): Maybe use load-with-code-conversion.
11724
117252008-02-01 Kenichi Handa <handa@m17n.org>
11726
11727 * category.c (Fmodify_category_entry): Don't modify the contents
11728 of category_set for characters out of the range. Avoid
11729 unnecessary modification.
11730
11731 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
11732 Vchar_unify_table. The default value of the table is now nil.
11733
11734 * character.c (syms_of_character): Setup Vchar_width_table for
11735 eight-bit-control and raw-byte chars.
11736
11737 * charset.h (enum define_charset_arg_index): Delete
11738 charset_arg_parents and add charset_arg_subset and
11739 charset_arg_superset.
11740 (enum charset_attr_index): Delete charset_parents and add
11741 charset_subset and charset_superset.
11742 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
11743 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
11744 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
11745 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
11746 (CHARSET_SUPERSET): New macros.
11747 (charset_work): Extern it.
11748 (ENCODE_CHAR): Use charset_work.
11749 (CHAR_CHARSET_P): Adjust for the change of encoder format.
11750 (map_charset_chars): Extern it.
11751
11752 * charset.c (load_charset_map): Set the default value of encoder
11753 and deunifier char-tables to nil.
11754 (map_charset_chars): Change argument. Change callers. Use
11755 map_char_table_for_charset instead of map_char_table.
11756 (Fmap_charset_chars): New optional args from_code and to_code.
11757 (Fdefine_charset_internal): Adjust for the change of
11758 `define-charset' (:parents -> :subset or :superset).
11759 (charset_work): New variable.
11760 (encode_char, syms_of_charset): Adjust for the change of
11761 Fdefine_charset_internal.
11762 (Ffind_charset_string): Setup the vector `charsets' correctly.
11763
11764 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
11765 the previous change.
11766 (char_table_ref_and_range): Adjust for the above change.
11767 (map_sub_char_table_for_charset): New function.
11768 (map_char_table_for_charset): New function.
11769
11770 * keymap.c (describe_vector): Handle a char-table directly here.
11771 (describe_char_table): Delete.
11772
11773 * lisp.h (map_charset_chars): Delete.
11774
117752008-02-01 Dave Love <fx@gnu.org>
11776
11777 * fns.c (count_combining): Comment out (unused).
11778 (Flocale_codeset): New.
11779 (syms_of_fns): Defsubr it.
11780
11781 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
11782 (size_t): Remove.
11783
117842008-02-01 Dave Love <fx@gnu.org>
11785
11786 * Makefile.in (chartab.o): Depend on charset.h.
11787
117882008-02-01 Kenichi Handa <handa@m17n.org>
11789
11790 * character.c (syms_of_character): Set the default value of
11791 Vprintable_chars to Qnil.
11792
117932008-02-01 Dave Love <fx@gnu.org>
11794
11795 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
11796
117972008-02-01 Kenichi Handa <handa@m17n.org>
11798
11799 * charset.c (load_charset_map): Handle the case that from < to
11800 correctly.
11801
11802 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
11803 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
11804 Pay attention to raw-8-bit chars.
11805
118062008-02-01 Kenichi Handa <handa@m17n.org>
11807
11808 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
11809 It is not bytecompiled now.
11810
11811 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
11812 (charset_jisx0208): New variables.
11813 (Fdefine_charset_internal): Setup them if appropriate.
11814 (init_charset_once): Initialize them to -1.
11815
11816 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
11817 (charset_jisx0208): Extern them.
11818
11819 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
11820 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
11821 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
11822 (setup_iso_safe_charsets): Fix arguments to Fassq.
11823 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
11824 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
11825 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
11826 (encode_coding_iso_2022): Change the 1st arg to
11827 ENCODE_ISO_CHARACTER to a variable.
11828
118292008-02-01 Kenichi Handa <handa@m17n.org>
11830
11831 * charset.h (enum define_charset_arg_index): New enums
11832 charset_arg_min_code and charset_arg_max_code.
11833 (struct charset): New member char_index_offset.
11834
11835 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
11836 Take charset->char_index_offset into account.
11837 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
11838 args[charset_arg_max_code]. Setup charset.char_index_offset.
11839 (syms_of_charset): Fix args to Fdefine_charset_internal.
11840
118412008-02-01 Dave Love <fx@gnu.org>
11842
11843 * coding.c (decode_coding_utf_8): Reject overlong sequences.
11844
118452008-02-01 Dave Love <fx@gnu.org>
11846
11847 * coding.c: Doc fixes.
11848 (Fcoding_system_aliases): Fix return value.
11849 (Qmac): Remove (duplicated) definition.
11850
118512008-02-01 Dave Love <fx@gnu.org>
11852
11853 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
11854 functions.
11855
11856 * character.c (Fstring): Doc fix.
11857
11858 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
11859
11860 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
11861 ids.
11862 (font-encoding-alist): Doc fix.
11863
118642008-02-01 Dave Love <fx@gnu.org>
11865
11866 * term.c (costs_set): Declare static, non-initialized for pcc.
11867 (encode_terminal_code): Remove unused var.
11868
11869 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
11870 for K&R.
11871
11872 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
11873
11874 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
11875 (suffixes): Move out of make_subsidiaries for K&R.
11876
11877 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
11878
11879 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
11880
118812008-02-01 Dave Love <fx@gnu.org>
11882
11883 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
11884
11885 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
11886
118872008-02-01 Yong Lu <lyongu@asia-infonet.com>
11888
11889 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
11890
11891 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
11892
118932008-02-01 Kenichi Handa <handa@m17n.org>
11894
11895 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
11896 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
11897
118982008-02-01 Kenichi Handa <handa@m17n.org>
11899
11900 * coding.c (decode_coding_charset): Adjust for the change of
11901 Fdefine_coding_system_internal.
11902 (Fdefine_coding_system_internal): For a coding system of
11903 `charset' type, store a list of charset IDs in
11904 `charset_attr_charset_valids' element of coding attributes.
11905
119062008-02-01 Kenichi Handa <handa@m17n.org>
11907
11908 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
11909 (emacs_mule_char): New arg src. Delete arg `composition'. Change
11910 caller. Handle 2-byte and 3-byte charsets correctly.
11911 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
11912 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
11913 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
11914 (DECODE_EMACS_MULE_21_COMPOSITION): Call
11915 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
11916 sequence.
11917 (decode_coding_emacs_mule): Handle composition correctly. Rewind
11918 `src' and `consumed_chars' correctly before calling emacs_mule_char.
11919 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
11920 and alt&rule composition.
11921 (decode_coding_iso_2022): Handle composition correctly.
11922 (init_coding_once): Setup emacs_mule_bytes for private charsets.
11923
11924 * charset.c (Fdefine_charset_internal): Fix bug for the case of
11925 re-defining a charset. If the charset has :emacs-mule-id, setup
11926 emacs_mule_bytes.
11927 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
11928
119292008-02-01 Kenichi Handa <handa@m17n.org>
11930
11931 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
11932 (encode_coding_big5, encode_coding_charset): If coding requires safe
11933 encoding, produce a character specified by
11934 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
11935
119362008-02-01 Dave Love <fx@gnu.org>
11937
11938 * xterm.c (XSetIMValues): Declare.
11939
11940 * process.c: Conditionally include sys/wait.h, pty.h.
11941
11942 * print.c (print_object): Fix print format for 64-bit systems.
11943
11944 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
11945
11946 * buffer.c (emacs_strerror): Declare.
11947
11948 * fontset.c (Fclear_face_cache): Declare.
11949 (accumulate_font_info): Comment-out (unused).
11950 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
11951 variables.
11952
11953 * character.h (string_escape_byte8): Declare.
11954
11955 * charset.c (load_charset_map, load_charset_map_from_file): Remove
11956 unused vars.
11957 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
11958 (Fmap_charset_chars): Doc fix.
11959
11960 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
11961 (Fset_coding_system_priority, Fset_coding_system_priority)
11962 (Fdefine_coding_system_internal): Doc fix.
11963
119642008-02-01 Dave Love <fx@gnu.org>
11965
11966 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
11967
119682008-02-01 Kenichi Handa <handa@m17n.org>
11969
11970 * character.c (string_escape_byte8): Make multibyte string with
11971 correct size.
11972
11973 * charset.c (Fmake_char): Delete unnecessary code.
11974
119752008-02-01 Kenichi Handa <handa@m17n.org>
11976
11977 * xfns.c (x_encode_text): Allocate coding.destination here, and
11978 call encode_coding_object with dst_object Qnil.
11979
11980 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
11981 multibyte form correctly.
11982
11983 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
11984 against Vfont_encoding_alist.
11985
11986 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
11987 handling of charset list.
11988 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
11989 (decode_coding_object): Move point to coding->dst_pos before
11990 calling post-read-conversion function.
11991 (encode_coding_object): Give correct arguments to
11992 pre-write-conversion. Ignore the return value of
11993 pre-write-conversion function. Pay attention to the case that
11994 pre-write-conversion changes the current buffer. If dst_object is
11995 Qt, even if coding->src_bytes is zero, allocate at least one byte
11996 to coding->destination.
11997
11998 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
11999
12000 * charset.c (Fmake_char): Make it more backward compatible.
12001 (Fmap_charset_chars): Fix docstring.
12002
120032008-02-01 Dave Love <fx@gnu.org>
12004
12005 * coding.c: Doc fixes.
12006 (Fdefine_coding_system_alias): Use names, not symbols, in
12007 coding-system-alist.
12008
120092008-02-01 Kenichi Handa <handa@m17n.org>
12010
12011 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
12012 of calling free_realized_face.
12013
120142008-02-01 Yong Lu <lyongu@asia-infonet.com>
12015
12016 * charset.c (read_hex): Don't treat SPC as a comment starter.
12017 (decode_char): If CODE_POINT_TO_INDEX returns -1, always return -1.
12018 (Fdecode_char): Fix typo.
12019
120202008-02-01 Kenichi Handa <handa@m17n.org>
12021
12022 * charset.h (struct charset): New member `code_space_mask'.
12023
12024 * coding.c (coding_set_source): Delete the local variable beg_byte.
12025 (encode_coding_charset, Fdefine_coding_system_internal):
12026 Delete the local variable charset.
12027 (Fdefine_coding_system_internal): Setup
12028 attrs[coding_attr_charset_valids] correctly.
12029
12030 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
12031 member to check if CODE is valid or not.
12032 (Fdefine_charset_internal): Initialize `code_space_mask' member.
12033 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
12034 is within the range of charset->min_code and carset->max_code.
12035
120362008-02-01 Dave Love <fx@gnu.org>
12037
12038 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
12039
12040 * dispextern.h (generate_ascii_font): Fix return type.
12041
12042 * xfaces.c (generate_ascii_font): Fix arg declaration.
12043
12044 * coding.c (coding_inherit_eol_type)
12045 (Fset_terminal_coding_system_internal)
12046 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
12047
120482008-02-01 Kenichi Handa <handa@m17n.org>
12049
12050 * coding.c (decode_coding_charset, encode_coding_charset): Handle
12051 multiple charsets correctly.
12052
120532008-02-01 Kenichi Handa <handa@m17n.org>
12054
12055 * search.c (boyer_moore): Fix handling of multibyte character
12056 translation.
12057
12058 * xdisp.c (display_mode_element): When the variable `elt' is
12059 changed, update `this' and `lisp_string'.
12060
120612008-02-01 Kenichi Handa <handa@m17n.org>
12062
12063 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
12064
12065 * callproc.c (Fcall_process): Be sure to give the current buffer
12066 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
12067
12068 * charset.c (struct charset_map_entries): New struct.
12069 (load_charset_map): Rename from parse_charset_map. New args
12070 entries and n_entries. Change caller.
12071 (load_charset_map_from_file): Rename from load_charset_map.
12072 Change caller. New arg control_flag. Call load_charset_map at
12073 the tail.
12074 (load_charset_map_from_vector): New function.
12075 (Fdefine_charset_internal): Setup charset.compact_codes_p.
12076 (encode_char): If the charset is compact, change a character index
12077 to a code point.
12078
12079 * coding.c (coding_alloc_by_making_gap): Check the case that the
12080 source and destination are the same correctly.
12081 (decode_coding_raw_text): Set coding->consumed_char and
12082 coding->consumed to 0.
12083 (produce_chars): If coding->chars_at_source is nonzero, update
12084 coding->consumed_char and coding->consumed before calling
12085 alloc_destination.
12086 (Fdefine_coding_system_alias): Register ALIAS in
12087 Vcoding_system_alist.
12088 (syms_of_coding): Define `no-conversion' coding system at the tail.
12089
12090 * fileio.c (Finsert_file_contents): Set coding_system instead of
12091 val. If the current buffer is multibyte, always call
12092 decode_coding_gap.
12093
12094 * xfaces.c (try_font_list): Give higher priority to fontset's
12095 family than face's family.
12096
120972008-02-01 Kenichi Handa <handa@m17n.org>
12098
12099 * callproc.c (Fcall_process): Be sure to give the current buffer
12100 to decode_coding_c_string.
12101
12102 * xfaces.c (try_font_list): Give a family specified in a fontset
12103 higher priority than a family specified in a face.
12104
121052008-02-01 Kenichi Handa <handa@m17n.org>
12106
12107 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
12108 Fix arguments to insert_from_buffer.
12109
12110 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
12111
121122008-02-01 Kenichi Handa <handa@m17n.org>
12113
12114 * coding.c (produce_chars): Set the variable `multibytep' correctly.
12115 (decode_coding_gap): Set coding->dst_multibyte correctly.
12116
121172008-02-01 Kenichi Handa <handa@m17n.org>
12118
12119 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
12120 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
12121 (encode_coding_utf_16): Substitute coding->default_char for
12122 non-Unicode characters.
12123 (decode_coding): Don't call record_insert here.
12124 (setup_coding_system): Initialize `surrogate' of
12125 coding->spec.utf_16 to 0.
12126 (EMIT_ONE_BYTE): Fix for multibyte case.
12127
12128 * insdel.c (insert_from_gap): Call record_insert.
12129
121302008-02-01 Kenichi Handa <handa@m17n.org>
12131
12132 * casefiddle.c (casify_region): Fix multibyte case.
12133
12134 * character.c (c_string_width): Add return type `int'.
12135 (char_string_with_unification): Delete arg ADVANCED.
12136
12137 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
12138 (CHAR_STRING): Adjust for the change of char_string_with_unification.
12139 (CHAR_STRING_ADVANCE): Make it do-while statement.
12140
12141 * chartab.c (sub_char_table_set_range): Optimize for the case
12142 DEPTH == 3. Add workaround code for a GCC optimization bug.
12143
12144 * charset.c (parse_charset_map): Remove an unused variable.
12145
12146 * coding.c: Delete unused variables.
12147
12148 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
12149 earlier. If inserted is zero and the coding system doesn't
12150 require flushing, don't call decode_coding_gap.
12151
12152 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
12153
121542008-02-01 Kenichi Handa <handa@m17n.org>
12155
12156 The following changes are for using Unicode as an internal
12157 character model, and use UTF-8 format for buffer/string
12158 representation.
12159
12160 * .gdbinit (xchartable): Adjust for the change of char table structure.
12161 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
12162
12163 * Makefile.in (obj): Add character.o and chartab.o.
12164 (lisp, shortlisp): Remove utf-8.elc.
12165 (*.o): For many files, change dependency on charset.h to
12166 character.h, and add dependency on character.h.
12167 (character.o, chartab.o): New targets.
12168
12169 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
12170 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
12171 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
12172 of "charset.h".
12173
12174 * dired.c, filelock.c: Include "character.h".
12175
12176 * alloc.c: Include "character.h" instead of "charset.h".
12177 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
12178 (syms_of_alloc): Remove defsubr for Smake_char_table.
12179
12180 * buffer.c: Include "character.h" instead of "charset.h", don't
12181 include "coding.h".
12182 (Fset_buffer_multibyte): Adjust for UTF-8.
12183
12184 * buffer.h: EXFUN Fbuffer_live_p.
12185
12186 * callproc.c: Include "character.h" instead of "charset.h".
12187 (Fcall_process): Big change for the new code-conversion APIs.
12188
12189 * casetab.c: Include "character.h" instead of "charset.h".
12190 (set_canon, set_identity, shuffle): Adjust for the new
12191 map_char_table spec.
12192 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
12193 accessing the char table structure.
12194
12195 * chartab.c: New file that implements char table.
12196
12197 * category.c: Include "character.h".
12198 (copy_category_entry): New function.
12199 (copy_category_table): Call map_char_table and copy_category_entry.
12200 (Fmake_category_table): Initialize all top-level slots.
12201 (char_category_set): New function.
12202 (modify_lower_category_set): Delete.
12203 (Fmodify_category_entry): Call char_table_ref_and_range.
12204
12205 * category.h (CATEGORY_SET): Just call char_category_set.
12206
12207 * ccl.c: Include "character.h".
12208 (Qccl, Qcclp): New variables.
12209 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
12210 it's less than 256.
12211 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
12212 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
12213 and DST type.
12214 (ccl_driver): Change types of argument, adjust code accordingly.
12215 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
12216 ccl_driver.
12217 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
12218
12219 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
12220 New members src_multibyte, dst_multibyte, consumed, and produced.
12221 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
12222 (CODING_SPEC_CCL_PROGRAM): New macro.
12223 (ccl_driver): Update prototype.
12224 (Qccl, Qcclp, Fccl_program_p): Extern them.
12225 (CHECK_CCL_PROGRAM): New macro.
12226
12227 * character.c, character.h, chartab.c: New files.
12228
12229 * charset.c: Mostly re-written. Move character and multibyte sequence
12230 handling codes to character.c.
12231
12232 * charset.h: Mostly re-written. Move character and multibyte sequence
12233 handling codes to character.h.
12234
12235 * coding.c, coding.h: Mostly re-written.
12236
12237 * composite.c: Include "character.h" instead of "charset.h".
12238 (CHAR_WIDTH): Move to character.h.
12239 (HASH_KEY, HASH_VALUE): Delete.
12240
12241 * composite.h (enum composition_method): Change order of enumeration
12242 symbols.
12243
12244 * data.c: Include "character.h" instead of "charset.h".
12245 (Faref): Call CHAR_TABLE_REF for a char table.
12246 (Faset): Call CHAR_TABLE_SET for a char table.
12247
12248 * dispextern.h (free_realized_face, check_face_attribytes)
12249 (generate_ascii_font): Extern them.
12250 (free_realized_multibyte_face): Delete extern.
12251
12252 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
12253 table structure.
12254
12255 * editfns.c: Include "character.h" instead of "charset.h".
12256 (Fchar_to_string): Always call CHAR_STRING.
12257
12258 * emacs.c (main): Call init_charset_once, init_charset,
12259 syms_of_chartab, and syms_of_character.
12260
12261 * fileio.c: Include "character.h" instead of "charset.h".
12262 (Finsert_file_contents): Big change for the new code-conversion API.
12263 (choose_write_coding_system, Fwrite_region): Likewise.
12264 (build_annotations_2): Delete.
12265 (e_write): Big change for the new code-conversion API.
12266
12267 * fns.c: Include "character.h" instead of "charset.h".
12268 (copy_sub_char_table): Move to chartab.c.
12269 (Fcopy_sequence): Call copy_char_table for a char table.
12270 (concat): Delete codes calling count_multibyte.
12271 (string_char_to_byte, string_byte_to_char): Adjust for the new
12272 multibyte form.
12273 (internal_equal): Adjust for the change of char table structure.
12274 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
12275 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
12276 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
12277 (char_table_translate, optimize_sub_char_table)
12278 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
12279 chartab.c.
12280 (char_table_ref_and_index): Delete.
12281 (HASH_KEY, HASH_VALUE): Move to lisp.h.
12282 (Fmd5): Call preferred_coding_system instead of accessing
12283 Vcoding_category_list. Adjust for the new code-conversion API.
12284 (syms_of_fns): Move defsubr for char table related functions to
12285 chartab.c.
12286
12287 * fontset.c: Mostly re-written.
12288
12289 * fontset.h (struct font_info): Change type of the member encoding_type.
12290 (enum FONT_SPEC_INDEX): New enum.
12291 (fontset_font_pattern, fs_load_font): Update prototype.
12292 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
12293
12294 * indent.c: Include "character.h" instead of "charset.h".
12295 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
12296
12297 * insdel.c: Include "character.h" instead of "charset.h".
12298 (copy_text): Don't refer to Vnonascii_translation_table.
12299 (insert_from_gap): New function.
12300
12301 * keyboard.c: Include "character.h" instead of "charset.h".
12302 (command_loop_1): Never call direct_output_forward_char before
12303 a non-ASCII character.
12304 (read_char): If Vkeyboard_translate_table is a char table, always
12305 translate a character.
12306
12307 * keymap.c: Include "character.h".
12308 (store_in_keymap): Handle the case that IDX is a cons.
12309 (Fdefine_key): Handle the case that KEY is a cons and the car part
12310 is also a cons (range).
12311 (push_key_description): Adjust for the new character code.
12312 (describe_vector): Call describe_char_table for a char table.
12313 (describe_char_table): New function.
12314
12315 * keymap.h (describe_char_table): Extern it.
12316
12317 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
12318 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
12319 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
12320 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
12321 Delete.
12322 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
12323 structure.
12324 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
12325 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
12326 (CHARTAB_SIZE_BITS_3): New macros.
12327 (chartab_size): Extern it.
12328 (struct Lisp_Char_Table): Re-design.
12329 (struct Lisp_Sub_Char_Table): New structure.
12330 (HASH_KEY, HASH_VALUE): Move from fns.c.
12331 (CHARACTERBITS): Define as 22.
12332 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
12333 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
12334 (GC_SUB_CHAR_TABLE_P): New macro.
12335 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
12336 (code_convert_string_norecord): Deleted extern.
12337 (init_character_once, syms_of_character, init_charset)
12338 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
12339
12340 * lread.c: Include "character.h".
12341 (read_multibyte): New arg NBYTES.
12342 (read_escape): Change the meaning of returned *BYTEREP.
12343 (to_multibyte): Delete.
12344 (read1): Adjust the handling of char table and string.
12345
12346 * print.c: Include "character.h" instead of "charset.h".
12347 (print_string): Convert 8-bit raw bytes to octal form by
12348 string_escape_byte8.
12349 (print_object): Adjust for the new multibyte form. Print 8-bit
12350 raw bytes always in octal form. Handle sub char table correctly.
12351
12352 * process.c: Include "character.h" instead of "charset.h".
12353 (read_process_output, send_process): Adjust for the new
12354 code-conversion API.
12355
12356 * puresize.h (BASE_PURESIZE): Increase.
12357
12358 * regex.c: Include "character.h" instead of "charset.h".
12359 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
12360 (regex_compile): Accept a range whose starting and ending
12361 character have different leading bytes.
12362 (analyse_first): Adjust for the above change.
12363
12364 * search.c: Include "character.h" instead of "charset.h".
12365 (search_buffer, boyer_moore): Adjust for the new multibyte form.
12366 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
12367
12368 * syntax.c: Include "character.h" instead of "charset.h".
12369 (syntax_parent_lookup): Delete.
12370 (Fmodify_syntax_entry): Accept a cons as CHAR.
12371 (skip_chars): Adjust for the new multibyte form.
12372 (init_syntax_once): Call char_table_set_range instead of directly
12373 accessing the structure of a char table.
12374
12375 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
12376 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
12377 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
12378 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
12379
12380 * term.c: Include "buffer.h" and "character.h".
12381 (encode_terminal_code, write_glyphs): Adjust for the new
12382 code-conversion API.
12383 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
12384
12385 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
12386
12387 * xdisp.c: Include "character.h".
12388 (get_next_display_element): Adjust for the new multibyte form.
12389 (disp_char_vector): Adjust for the new char table structure.
12390 (decode_mode_spec_coding): Adjust for the new structure of
12391 coding system.
12392 (decode_mode_spec): Adjust for the new code-conversion API.
12393
12394 * xfaces.c: Include "character.h" instead of "charset.h".
12395 (load_face_font): Adjust for the change of choose_face_font and
12396 FS_LOAD_FONT.
12397 (generate_ascii_font): New function.
12398 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
12399 (set_font_frame_param): Adjust for the change of choose_face_font.
12400 (free_realized_face): Make it public.
12401 (free_realized_faces_for_fontset): Rename from
12402 free_realized_multibyte_face. Free also faces realized for ASCII.
12403 (choose_face_font): Change arguments. Adjust for the change of
12404 fontset_font_pattern and FS_LOAD_FONT.
12405
12406 * xfns.c: Include "character.h".
12407 (x_encode_text): Adjust for the new code-conversion API.
12408
12409 * xselect.c: Don't include "charset.h".
12410 (selection_data_to_lisp_data): Adjust for the new code conversion API.
12411
12412 * xterm.c: Include "character.h".
12413 (x_encode_char): New argument CHARSET. Change caller.
12414 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
12415 Call ENCODE_CHAR instead of SPLIT_CHAR.
12416 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
12417 CHAR_WIDTH instead of CHARSET_WIDTH.
12418 (XTread_socket): Adjust for the new code-conversion API.
12419 (x_new_font): Adjust for the change of FS_LOAD_FONT.
12420 (x_load_font): Adjust for the change of struct font.
12421
124222008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
12423
12424 * xfaces.c (face_at_buffer_position): Remove unused vars.
12425
124262008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12427
12428 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
12429 Fix overflow checking.
12430
124312008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12432
12433 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
12434 Cancel previous change.
12435
124362008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
12437
12438 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
12439 ccl->eight_bit_control. Fix check for buffer overflow.
12440 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
12441 (ccl_driver): Initialize extra_bytes to 0.
12442
124432008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
12444
12445 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
12446 return it ORed with ctrl_modifier.
12447
124482008-01-29 Miles Bader <miles@gnu.org>
12449
12450 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
12451
124522008-01-28 Jason Rumney <jasonr@gnu.org>
12453
12454 * w32.c (stat): Don't double check for networked drive.
12455
124562008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
12457
12458 * window.c (run_window_configuration_change_hook): New function.
12459 Code extracted from set_window_buffer. Set the selected frame.
12460 (set_window_buffer): Use it.
12461 * window.h (run_window_configuration_change_hook): Declare.
12462 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
12463
12464 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
12465
124662008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
12467
12468 * Makefile.in: Remove references to unused macros.
12469
124702008-01-26 Eli Zaretskii <eliz@gnu.org>
12471
12472 * w32.c (g_b_init_get_sid_sub_authority)
12473 (g_b_init_get_sid_sub_authority_count): New static variables.
12474 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
12475 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
12476 (init_user_info): Use them to retrieve uid and gid.
12477 Use 500/513, the Windows defaults, as Administrator's uid/gid.
12478 (fstat): Use pw_uid and pw_gid from the_passwd structure for
12479 st_uid and st_gid of the file.
12480
124812008-01-26 Jason Rumney <jasonr@gnu.org>
12482
12483 * w32.c (logon_network_drive): New function.
12484 (stat): Use it.
12485
124862008-01-26 Chong Yidong <cyd@stupidchicken.com>
12487
12488 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
12489 invisible text covered with an ellipsis.
12490
124912008-01-25 Richard Stallman <rms@gnu.org>
12492
12493 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
12494 jump back to beginning. Move some other initializations after that.
12495 (Qwindow_text_change_functions, Vwindow_text_change_functions):
12496 New variables.
12497 (syms_of_xdisp): Init them.
12498
12499 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
12500
12501 * buffer.c (reset_buffer_local_variables):
12502 Implement `permanent-local-hook'.
12503 (Qpermanent_local_hook): New variable.
12504 (syms_of_buffer): Init and staticpro it.
12505
125062008-01-25 Michael Albinus <michael.albinus@gmx.de>
12507
12508 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
12509
125102008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
12511
12512 * fns.c (Fclrhash): Return TABLE.
12513
125142008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12515
12516 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
12517 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
12518 is set even without positional changes.
12519 (x_scroll_bar_clear): Set bar->redraw_needed_p.
12520
12521 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
12522
125232008-01-23 Jason Rumney <jasonr@gnu.org>
12524
12525 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
12526
12527 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
12528 the unicode range available in MULE by locale-coding-system.
12529 Improve dbcs lead byte detection. Set event timestamp and modifiers
12530 earlier.
12531
125322008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12533
12534 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
12535 [MAC_OSX] (init_mac_osx_environment): Initialize it.
12536 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
12537 when used on child processes.
12538
125392008-01-21 Michael Albinus <michael.albinus@gmx.de>
12540
12541 * dbusbind.c (Fdbus_method_return_internal): Rename from
12542 Fdbus_method_return.
12543 (Fdbus_unregister_object): Move to dbus.el.
12544 (Fdbus_call_method, Fdbus_method_return_internal)
12545 (Fdbus_send_signal): Improve debug messages.
12546
125472008-01-20 Martin Rudalics <rudalics@gmx.at>
12548
12549 * undo.c (undo_inhibit_record_point): New variable.
12550 (syms_of_undo): Initialize it.
12551 (record_point): Don't record point when undo_inhibit_record_point
12552 is set.
12553
125542008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
12555
12556 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
12557
12558 * xdisp.c (Qauto_hscroll_mode): New var.
12559 (syms_of_xdisp): Initialize it.
12560 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
12561 window's buffer.
12562 (hscroll_windows): Don't check automatic_hscrolling_p here.
12563
12564 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
12565 vscroll if we're setting window-buffer to the value it already has.
12566
125672008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
12568
12569 * m/intel386.h: Remove references to XENIX.
12570
125712008-01-17 Andreas Schwab <schwab@suse.de>
12572
12573 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
12574 instead of HAVE_X86_64_LIB64_DIR.
12575 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
12576
125772008-01-17 Glenn Morris <rgm@gnu.org>
12578
12579 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
12580 to HAVE_X86_64_LIB64_DIR.
12581
125822008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
12583
12584 * s/irix3-3.h:
12585 * s/irix4-0.h:
12586 * s/386-ix.h:
12587 * s/domain.h:
12588 * s/hpux9-x11r4.h:
12589 * s/hpux9shxr4.h: Remove files for systems no longer supported.
12590
12591 * sysdep.c: Remove code containing references to symbols defined
12592 by unsupported systems.
12593
125942008-01-16 Glenn Morris <rgm@gnu.org>
12595
12596 * coding.c (select-safe-coding-system-function): Doc fix.
12597
125982008-01-15 Glenn Morris <rgm@gnu.org>
12599
12600 * config.in: Revert 2008-01-13 change: this is a generated file.
12601
126022008-01-13 Tom Tromey <tromey@redhat.com>
12603
12604 * lisp.h: Fix typo.
12605
126062008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
12607
12608 * m/sequent-ptx.h:
12609 * m/sequent.h:
12610 * s/ptx.h:
12611 * s/ptx4-2.h:
12612 * s/ptx4.h: Remove files for systems no longer supported.
12613
12614 * callproc.c (Fcall_process): Fix previous change.
12615
126162008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
12617
12618 * unexsunos4.c: Remove file, system not supported anymore.
12619
12620 * m/mips.h:
12621 * m/intel386.h:
12622 * callproc.c:
12623 * config.in:
12624 * ecrt0.c:
12625 * emacs.c:
12626 * fileio.c:
12627 * frame.c:
12628 * getpagesize.h:
12629 * keyboard.c:
12630 * lread.c:
12631 * process.c:
12632 * puresize.h:
12633 * sysdep.c:
12634 * systty.h:
12635 * syswait.h:
12636 * unexec.c:
12637 * xdisp.c:
12638 * alloc.c: Remove code containing references to symbols defined by
12639 unsupported systems.
12640
126412008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
12642
12643 * coding.c (detect_coding_mask): Fix previous change.
12644
126452008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
12646
12647 * coding.c (detect_coding_iso2022): New arg
12648 latin_extra_code_state. Allow Latin extra codes only
12649 when *latin_extra_code_state is nonzero.
12650 (detect_coding_mask): If there is a NULL byte, detect the encoding
12651 as UTF-16 or binary. If Latin extra codes exist, detect the
12652 encoding as ISO-2022 only when there's no other proper encoding is
12653 found.
12654
126552008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12656
12657 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
12658 #ifdef MAC_OS.
12659
126602008-01-08 Richard Stallman <rms@gnu.org>
12661
12662 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
12663
126642008-01-06 Nick Roberts <nickrob@snap.net.nz>
12665
12666 * keyboard.c (parse_menu_item): Don't enclose key bindings on
12667 menu bar in parentheses.
12668
126692008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
12670
12671 * m/7300.h:
12672 * m/acorn.h:
12673 * m/alliant-2800.h:
12674 * m/alliant.h:
12675 * m/alliant1.h:
12676 * m/alliant4.h:
12677 * m/altos.h:
12678 * m/amdahl.h:
12679 * m/apollo.h:
12680 * m/att3b.h:
12681 * m/aviion-intel.h:
12682 * m/aviion.h:
12683 * m/celerity.h:
12684 * m/clipper.h:
12685 * m/cnvrgnt.h:
12686 * m/convex.h:
12687 * m/cydra5.h:
12688 * m/delta88k.h:
12689 * m/dpx2.h:
12690 * m/dual.h:
12691 * m/elxsi.h:
12692 * m/f301.h:
12693 * m/gould-np1.h:
12694 * m/gould.h:
12695 * m/i860.h:
12696 * m/ibmps2-aix.h:
12697 * m/ibmrt-aix.h:
12698 * m/ibmrt.h:
12699 * m/irist.h:
12700 * m/is386.h:
12701 * m/isi-ov.h:
12702 * m/mega68.h:
12703 * m/mg1.h:
12704 * m/news-r6.h:
12705 * m/news-risc.h:
12706 * m/news.h:
12707 * m/nh3000.h:
12708 * m/nh4000.h:
12709 * m/ns16000.h:
12710 * m/ns32000.h:
12711 * m/nu.h:
12712 * m/orion.h:
12713 * m/orion105.h:
12714 * m/paragon.h:
12715 * m/pfa50.h:
12716 * m/plexus.h:
12717 * m/pyramid.h:
12718 * m/pyrmips.h:
12719 * m/sh3el.h:
12720 * m/sps7.h:
12721 * m/sr2k.h:
12722 * m/stride.h:
12723 * m/sun1.h:
12724 * m/sun2.h:
12725 * m/sun3-68881.h:
12726 * m/sun3-fpa.h:
12727 * m/sun3-soft.h:
12728 * m/sun3.h:
12729 * m/sun386.h:
12730 * m/symmetry.h:
12731 * m/tad68k.h:
12732 * m/tahoe.h:
12733 * m/targon31.h:
12734 * m/tek4300.h:
12735 * m/tekxd88.h:
12736 * m/tower32.h:
12737 * m/tower32v3.h:
12738 * m/ustation.h:
12739 * m/wicat.h:
12740 * m/xps100.h:
12741 * s/cxux.h:
12742 * s/cxux7.h:
12743 * s/dgux.h:
12744 * s/dgux4.h:
12745 * s/dgux5-4-3.h:
12746 * s/dgux5-4r2.h:
12747 * s/esix.h:
12748 * s/esix5r4.h:
12749 * s/hiuxmpp.h:
12750 * s/hiuxwe2.h:
12751 * s/iris3-5.h:
12752 * s/iris3-6.h:
12753 * s/isc2-2.h:
12754 * s/isc3-0.h:
12755 * s/isc4-0.h:
12756 * s/isc4-1.h:
12757 * s/newsos5.h:
12758 * s/newsos6.h:
12759 * s/osf1.h:
12760 * s/osf5-0.h:
12761 * s/riscix1-1.h:
12762 * s/riscix12.h:
12763 * s/sco4.h:
12764 * s/sco5.h:
12765 * s/sunos4-0.h:
12766 * s/sunos4-1.h:
12767 * s/sunos413.h:
12768 * s/sunos4shr.h:
12769 * s/umax.h:
12770 * s/unipl5-2.h:
12771 * s/xenix.h:
12772 * cxux-crt0.s:
12773 * unexapollo.c:
12774 * unexconvex.c:
12775 * unexenix.c:
12776 * unexsni.c: Remove files for systems no longer supported.
12777
12778 * m/intel386.h: Remove references to unsupported systems.
12779
12780 * w32.c (get_emacs_configuration): Remove reference to i860.
12781
12782 * sysdep.c: Remove dead code.
12783
127842008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
12785
12786 * s/rtu.h:
12787 * m/masscomp.h: Remove files. Platform is obsolete.
12788
127892008-01-04 Michael Albinus <michael.albinus@gmx.de>
12790
12791 * dbusbind.c (Fdbus_method_return): New function.
12792 (xd_read_message): Add the serial number to the event.
12793 (Fdbus_register_method): Activate the function.
12794
127952008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
12796
12797 * keyboard.c (read_key_sequence): Fix typo.
12798
127992008-01-03 Michael Albinus <michael.albinus@gmx.de>
12800
12801 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
12802 (xd_signature, xd_append_arg): Handle element type detection for
12803 empty arrays.
12804 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
12805 SDATA () calls; this must be solved more general.
12806 (Fdbus_register_signal): Use SBYTES instead of strlen.
12807
128082008-01-03 Magnus Henoch <magnus@zemdatav>
12809
12810 * dbusbind.c (xd_append_arg): Use unsigned char instead of
12811 unsigned int for byte values (necessary for big-endian platform).
12812 (Fdbus_call_method): Handle the case of no returned arguments.
12813
128142007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
12815
12816 * dbusbind.c (xd_read_message): Use non-static input_event struct.
12817
128182007-12-31 Magnus Henoch <mange@freemail.hu>
12819
12820 * dbusbind.c (xd_signature): Signature of variant is just "v".
12821
128222007-12-30 Michael Albinus <michael.albinus@gmx.de>
12823
12824 * dbusbind.c: Fix several errors and compiler warnings.
12825 Reported by Tom Tromey <tromey@redhat.com>.
12826 (XD_ERROR, XD_DEBUG_MESSAGE)
12827 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
12828 (xd_append_arg): Part for basic D-Bus types rewritten.
12829 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
12830 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
12831 appropriate.
12832 (xd_read_message): Return Qnil. Don't signal an error; it is not
12833 useful during event reading.
12834 (Fdbus_register_signal): Signal an error if the check for
12835 FUNCTIONP fails.
12836 (Fdbus_register_method): New function. The implementation is not
12837 complete, the call of the function signals an error therefore.
12838 (Fdbus_unregister_object): New function, renamed from
12839 Fdbus_unregister_signal. The initial check signals an error, if
12840 the object is not well formed.
12841
128422007-12-30 Richard Stallman <rms@gnu.org>
12843
12844 * textprop.c (get_char_property_and_overlay):
12845 Signal error if POSITION is out of range in a buffer.
12846
128472007-12-29 Martin Rudalics <rudalics@gmx.at>
12848
12849 * w32fns.c (Fx_create_frame): Make copy of frame parameters
12850 because the original parameters are in pure storage now.
12851
128522007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12853
12854 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
12855
128562007-12-22 Eli Zaretskii <eliz@gnu.org>
12857
12858 * callint.c (syms_of_callint) <command-history>: Add reference to
12859 history-length in the doc string.
12860
128612007-12-17 Jason Rumney <jasonr@gnu.org>
12862
12863 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
12864 before passing as wParam.
12865
128662007-12-22 Michael Albinus <michael.albinus@gmx.de>
12867
12868 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
12869 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
12870 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
12871 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
12872 as number.
12873 (Fdbus_call_method): Fix docstring.
12874
128752007-12-21 Michael Albinus <michael.albinus@gmx.de>
12876
12877 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
12878 New macros.
12879 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
12880 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
12881 Simplify.
12882 (xd_signature): New function.
12883 (xd_append_arg): Compute also signatures. Major rewrite.
12884 (xd_retrieve_arg): Make debug messages friendly.
12885 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
12886 Check for signatures of arguments.
12887
128882007-12-19 Michael Albinus <michael.albinus@gmx.de>
12889
12890 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
12891 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
12892 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
12893 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
12894 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
12895 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
12896 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
12897 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
12898 (xd_retrieve_value): Remove. Functionality included in ...
12899 (xd_append_arg): New function.
12900 (Fdbus_call_method, Fdbus_send_signal): Apply it.
12901
129022007-12-16 Michael Albinus <michael.albinus@gmx.de>
12903
12904 * dbusbind.c (top): Include <stdio.h>.
12905 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
12906 dbus_message_new_method_call and dbus_message_new_signal.
12907 (Fdbus_register_signal): Rename unique_name to uname.
12908 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
12909 non-existing unique name. Fix typos in matching rule. Return an
12910 object which is useful in Fdbus_unregister_signal.
12911 (Fdbus_unregister_signal): Reimplementation, in order to remove
12912 only the corresponding entry.
12913 (Vdbus_registered_functions_table): Change the order of entries.
12914 Apply these changes in xd_read_message and Fdbus_register_signal.
12915
129162007-12-16 Andreas Schwab <schwab@suse.de>
12917
12918 * fileio.c (Finsert_file_contents): Fix overflow check to not
12919 depend on undefined integer overflow.
12920
129212007-12-14 Jason Rumney <jasonr@gnu.org>
12922
12923 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
12924 for characters above 127.
12925
129262007-12-13 Jason Rumney <jasonr@gnu.org>
12927
12928 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
12929 before dereferencing array.
12930 (lookup_vk_code): Remove zero comparison.
12931
129322007-12-14 Michael Albinus <michael.albinus@gmx.de>
12933
12934 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
12935 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
12936 Use `unsigned int' instead of `uint'.
12937 (xd_read_message, Fdbus_register_signal): Split expressions into
12938 multiple lines before operators "&&" and "||", according to the
12939 GNU Coding Standards.
12940
129412007-12-14 Eli Zaretskii <eliz@gnu.org>
12942
12943 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
12944
129452007-12-12 Juri Linkov <juri@jurta.org>
12946
12947 * buffer.c (Frename_buffer): In interactive spec replace
12948 `read-buffer' with `read-string' that uses `buffer-name-history'
12949 as history, and the current buffer's name as default.
12950
129512007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
12952
12953 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
12954 manipulating the backtrace manually.
12955 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
12956 (struct backtrace, backtrace_list): Remove.
12957 (command_loop_1): Remove dead var `no_direct'.
12958
12959 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
12960 preserve non-built-in buffer-local variables.
12961 (Fkill_all_local_variables): Don't re-create&re-set permanent
12962 buffer-local variables.
12963
129642007-12-09 Juri Linkov <juri@jurta.org>
12965
12966 * buffer.c (Frename_buffer): Change interactive spec from "s" to
12967 Lisp code that uses `read-buffer' with current buffer as default.
12968
129692007-12-08 Michael Albinus <michael.albinus@gmx.de>
12970
12971 * dbusbind.c (xd_read_message): Generate an event for every
12972 registered handler. There might be several handlers registered
12973 for the same signal.
12974 (Fdbus_register_signal): Don't overwrite a registration for the
12975 same signal. Add a new registration if handlers are different.
12976 (Vdbus_registered_functions_table): Rework doc string.
12977
129782007-12-07 Michael Albinus <michael.albinus@gmx.de>
12979
12980 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
12981 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
12982 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
12983 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
12984 Unify argument lists.
12985 (xd_read_message, Fdbus_register_signal): Reorder and extend event
12986 arguments and hash table keys. Use unique name for service.
12987 (Fdbus_unregister_signal): Remove checks.
12988 (Vdbus_registered_functions_table): Fix doc string.
12989
129902007-12-05 Magnus Henoch <mange@freemail.hu>
12991
12992 * process.c (make_process): Initialize pty_flag to 0.
12993
129942007-12-05 Jason Rumney <jasonr@gnu.org>
12995
12996 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
12997 specified XBMs.
12998
129992007-12-05 Richard Stallman <rms@gnu.org>
13000
13001 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
13002
130032007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13004
13005 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
13006 New variable.
13007 (mac_try_close_socket) [MAC_OSX]: New function.
13008 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
13009 Update cfsockets_for_select. Replace invalid CFRunLoop source.
13010
13011 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
13012 Use mac_try_close_socket.
13013
130142007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13015
13016 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
13017 reloc_base.
13018 (copy_dysymtab): Compute relocation base here.
13019 (rebase_reloc_address) [__ppc64__]: New function.
13020 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
13021 changed.
13022
130232007-12-05 Jason Rumney <jasonr@gnu.org>
13024
13025 * w32proc.c (sys_spawnve): Quote args with wildcards.
13026
130272007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13028
13029 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
13030 __objc_* sections.
13031 (unrelocate) [_LP64]: Set relocation base to address of data segment.
13032
130332007-12-05 Michael Albinus <michael.albinus@gmx.de>
13034
13035 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
13036 Move check for Vdbus_registered_functions_table to
13037 xd_read_queued_messages.
13038 (xd_read_queued_messages): Protect xd_read_message calls by
13039 internal_condition_case_1.
13040
130412007-12-04 Michael Albinus <michael.albinus@gmx.de>
13042
13043 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
13044 Qdbus_system_bus and Qdbus_session_bus, respectively.
13045 (Vdbus_intern_symbols): Remove.
13046 (Vdbus_registered_functions_table): New hash table.
13047 (XD_SYMBOL_INTERN_SYMBOL): Remove.
13048 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
13049 Rewrite in order to manage registered functions by hash table
13050 Vdbus_registered_functions_table.
13051
130522007-12-03 Jan Djärv <jan.h.d@swipnet.se>
13053
13054 * xterm.c: Update URL to Window Manager Specification in comment.
13055
130562007-12-02 Michael Albinus <michael.albinus@gmx.de>
13057
13058 * config.in (HAVE_DBUS): Add.
13059
13060 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
13061 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
13062 (obj): Add $(DBUS_OBJ).
13063 (LIBES): Add $(DBUS_LIBS).
13064 (dbusbind.o): New target.
13065
13066 * dbusbind.c: New file.
13067
13068 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
13069
13070 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
13071 (Qdbus_event): New Lisp symbol.
13072 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
13073 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
13074 (keys_of_keyboard ): Define dbus-event.
13075
13076 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
13077
130782007-12-01 Richard Stallman <rms@gnu.org>
13079
13080 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
13081
130822007-11-30 Jason Rumney <jasonr@gnu.org>
13083
13084 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
13085 (w32con_reset_terminal_modes): Clear screen buffer.
13086 (w32_face_attributes): Don't use color indexes that are out of range.
13087 Only reverse the default colors.
13088
13089 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
13090 WINDOWSNT.
13091
13092 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
13093
130942007-11-29 Jason Rumney <jasonr@gnu.org>
13095
13096 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
13097 (w32_face_attributes): Use Vtty_defined_color_alist to determine
13098 if the terminal colors are initialized.
13099 (unspecified_fg, unspecified_bg): Remove unused declarations.
13100
131012007-11-29 Andreas Schwab <schwab@suse.de>
13102
13103 * keyboard.c (apply_modifiers): Fix typo.
13104
131052007-11-29 Richard Stallman <rms@gnu.org>
13106
13107 * keymap.c (Fcurrent_local_map): Doc fix.
13108
131092007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
13110
13111 * s/gnu-kfreebsd.h: New file.
13112
131132007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
13114
13115 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
13116 Don't cast redundantly.
13117
13118 * keyboard.c (KEY_TO_CHAR): New macro.
13119 (parse_modifiers, apply_modifiers): Accept integer arguments.
13120 (read_key_sequence): Use them to unify the "shift->unshift" mapping
13121 for chars and symbol keys.
13122 After doing such remapping, apply function-key-map again.
13123
131242007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
13125
13126 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
13127 compiled anymore.
13128
131292007-11-26 Andreas Schwab <schwab@suse.de>
13130
13131 * process.c (list_processes_1): Fix indentation level of the
13132 command column.
13133
131342007-11-23 Andreas Schwab <schwab@suse.de>
13135
13136 * editfns.c (Fformat): Handle %c specially since it requires the
13137 argument to be of type int.
13138
131392007-11-23 Markus Triska <markus.triska@gmx.at>
13140
13141 * emacs.c (main): Call init_editfns before init_process, since
13142 init_process sets Vprocess_connection_type depending on OS release.
13143
131442007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
13145
13146 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
13147 (find_symbol_value): Use do_symval_forwarding.
13148
13149 * data.c (set_internal): Set the value in the `cons-cell' (for
13150 Buffer_Local_values) not only for frame-local variables.
13151
131522007-11-22 Andreas Schwab <schwab@suse.de>
13153
13154 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
13155 values to sprintf.
13156 * keymap.c (Fsingle_key_description): Likewise.
13157 * print.c (print_object): Likewise.
13158
131592007-11-22 Jan Djärv <jan.h.d@swipnet.se>
13160
13161 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
13162 file for image is nil.
13163
131642007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
13165
13166 * term.c: Include stdarg.h.
13167 (fatal): Implement using varargs.
13168 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
13169
131702007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
13171
13172 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
13173 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
13174 Update call to buffer_slot_type_mismatch.
13175 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
13176 (buffer_slot_type_mismatch): Update.
13177 * buffer.c (buffer_local_types): Remove.
13178 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
13179 (defvar_per_buffer): Set the type in the buffer_objfwd.
13180
131812007-11-21 Jason Rumney <jasonr@gnu.org>
13182
13183 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
13184 CreateFileMapping returns NULL on failure.
13185
131862007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
13187
13188 * search.c (Fset_match_data): Remove the `evaporate' feature.
13189 (unwind_set_match_data): Don't use the `evaporate' feature.
13190
131912007-11-21 Jason Rumney <jasonr@gnu.org>
13192
13193 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
13194
13195 * w32console.c (w32con_write_glyphs): Remove unused variables.
13196
131972007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
13198
13199 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
13200
13201 * s/darwin.h (MULTI_KBOARD): Remove.
13202
13203 * macfns.c (x_create_tip_frame, Fx_create_frame)
13204 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
13205
132062007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
13207
13208 * buffer.c (Fbuffer_local_value): Remove redundant test.
13209 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
13210 than in `current-buffer' to match the comment.
13211 Do the swap using swap_in_global_binding.
13212
13213 * data.c (store_symval_forwarding, set_internal):
13214 * eval.c (specbind): Remove dead code.
13215
13216 * coding.c (detect_coding, Fupdate_coding_systems_internal):
13217 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
13218 Since we do not want to see internal Lisp_*fwd objects here.
13219
132202007-11-18 Jan Djärv <jan.h.d@swipnet.se>
13221
13222 * sysdep.c (init_system_name): Use getaddrinfo if available.
13223
13224 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
13225 (x_scroll_bar_note_movement): start, end, with, height in struct
13226 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
13227
132282007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
13229
13230 * puresize.h (BASE_PURESIZE): Increase to 1190000.
13231
132322007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
13233
13234 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
13235 This undoes Richard's change of 14-Oct-2002.
13236
13237 * alloc.c (allocate_other_vector):
13238 * lisp.h (allocate_other_vector): Remove.
13239
13240 * window.c (struct save_window_data): Move non-lisp data to the end
13241 and make it `int' rather than Lisp_Object.
13242 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
13243 Done wrap/unwrap integer values.
13244 (Fset_window_configuration, compare_window_configurations):
13245 Update use of fields to their new types.
13246
13247 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
13248 Turn integer fields into `int'. Merge x_window_low and x_window_high.
13249 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
13250 (SET_SCROLL_BAR_X_WINDOW): Remove.
13251 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
13252 Access the new x_window field directly.
13253 * xterm.c (x_scroll_bar_create): Use a pseudovector.
13254 Don't wrap/unwrap integers into Lisp_Objects.
13255 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
13256 (x_scroll_bar_report_motion):
13257 Don't wrap/unwrap integers into Lisp_Objects.
13258 (x_term_init): Use SDATA.
13259 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
13260 (x_scroll_bar_set_handle, x_scroll_bar_remove)
13261 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
13262 (x_scroll_bar_report_motion, x_scroll_bar_clear):
13263 * xfns.c (x_set_background_color):
13264 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
13265 Access the new x_window field directly.
13266
13267 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
13268 (allocate_pseudovector): Make non-static.
13269
13270 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
13271 (allocate_pseudovector): Declare.
13272 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
13273
132742007-11-15 Andreas Schwab <schwab@suse.de>
13275
13276 * editfns.c (Fformat): Correctly format EMACS_INT values.
13277 Also take precision into account when formatting an integer.
13278
13279 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
13280
132812007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
13282
13283 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
13284 (syms_of_keyboard): Defsubr it.
13285
13286 * data.c (swap_in_global_binding): Fix longstanding bug where
13287 store_symval_forwarding was not called with the right second argument,
13288 thus causing objfwd-ing from being dropped.
13289
132902007-11-14 Juanma Barranquero <lekktu@gmail.com>
13291
13292 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
13293 (Fx_display_pixel_height, Fx_display_planes)
13294 (Fx_display_color_cells, Fx_server_max_request_size)
13295 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
13296 (Fx_display_visual_class, Fx_display_save_under):
13297 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
13298 (Fx_display_pixel_height, Fx_display_planes)
13299 (Fx_display_color_cells, Fx_server_max_request_size)
13300 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
13301 (Fx_display_mm_height, Fx_display_mm_width)
13302 (Fx_display_backing_store, Fx_display_visual_class)
13303 (Fw32_select_font, Fx_display_save_under):
13304 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
13305 (Fx_display_pixel_height, Fx_display_planes)
13306 (Fx_display_color_cells, Fx_server_max_request_size)
13307 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
13308 (Fx_display_save_under): Fix typos in docstrings.
13309
133102007-11-14 Juanma Barranquero <lekktu@gmail.com>
13311
13312 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
13313 corresponding to deleted entries; they are an implementation detail.
13314 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
13315 Remove variables.
13316 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
13317 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
13318 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
13319 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
13320 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
13321 (Fw32_define_rgb_color, Fw32_load_color_file)
13322 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
13323 Fix typos in docstrings.
13324 (Fx_server_version): Reflow docstring.
13325 (Fw32_shell_execute): Doc fixes.
13326
133272007-11-13 Juanma Barranquero <lekktu@gmail.com>
13328
13329 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
13330 if w32_parse_hot_key returned nil.
13331
133322007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
13333
13334 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
13335
133362007-11-09 Jason Rumney <jasonr@gnu.org>
d6c952f8 13337
aac0c6e3
MR
13338 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
13339
13340 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
13341
13342 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
13343 Remove W32_SCROLL_BAR_CLICK_EVENT.
13344
13345 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
13346 Add MULTIMEDIA_KEY_EVENT.
13347
13348 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
13349 (lispy_multimedia_keys) [WINDOWSNT]: New array.
13350 (make_lispy_event) [WINDOWSNT]: Use it to translate
13351 MULTIMEDIA_KEY_EVENT.
13352
13353 * w32term.h (WM_APPCOMMAND): Define if not already.
13354 (GET_APPCOMMAND_LPARAM): Likewise.
13355
13356 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
13357 WM_APPCOMMAND.
13358
13359 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
13360 (syms_of_w32fns): Export and initialize it.
13361 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
13362
133632007-11-09 Chong Yidong <cyd@stupidchicken.com>
13364
13365 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
13366 twice.
13367
13368 * xdisp.c (handle_face_prop): Fix last change.
13369
133702007-11-09 Richard Stallman <rms@gnu.org>
13371
13372 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
13373 not just for after-strings and before-strings.
13374 Call face_for_overlay_string and pass the overlay to it.
13375 (handle_display_prop): Determine whether property came from an overlay.
13376 Pass OVERLAY arg to handle_single_display_spec.
13377 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
13378 (load_overlay_strings): Fill in it->string_overlays.
13379 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
13380
13381 * xfaces.c (face_for_overlay_string): Function renamed from
13382 face_at_buffer_position_no_overlays, and add arg OVERLAY.
13383
13384 * dispextern.h (struct it): New elt string_overlays.
13385 New elt from_overlay, also in stack.
13386 Rearrange a few elements.
13387 (face_for_overlay_string): Decl renamed from
13388 face_at_buffer_position_no_overlays, and add argument.
13389
133902007-11-09 Richard Stallman <rms@gnu.org>
13391
13392 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
13393 to get the base face for an overlay string.
13394
13395 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
13396
13397 * xfaces.c (face_at_buffer_position_no_overlays): New function.
13398
13399 * xdisp.c (handle_stop): Move some code out of loop.
13400
134012007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13402
13403 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
13404 Fix conversion from Lisp object to ATSUFontID.
13405
134062007-11-09 Jason Rumney <jasonr@gnu.org>
13407
13408 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
13409
134102007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13411
13412 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
13413 Don't assume regions are aligned to page boundary.
13414 (print_load_command_name): Add LC_UUID if defined.
13415
134162007-11-09 Richard Stallman <rms@gnu.org>
13417
13418 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
13419
134202007-11-07 Jason Rumney <jasonr@gnu.org>
13421
13422 * s/windows95.h: Remove.
13423
134242007-11-06 Jan Djärv <jan.h.d@swipnet.se>
13425
13426 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
13427 abort with a message on unhandled store_type values.
13428
134292007-11-01 Jan Djärv <jan.h.d@swipnet.se>
13430
13431 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
13432 Remove HAVE_X11R5 and HAVE_X11R4.
13433
134342007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
13435
13436 * Makefile.in: Remove references to sunfns.c and sunfns.o.
13437
134382007-11-01 Johan Bockgård <bojohan@gnu.org>
13439
13440 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
13441 Don't set s->stippled_p here, since it has already been set by
13442 x_set_glyph_string_gc from x_draw_glyph_string.
13443
134442007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
13445
13446 * sunfns.c: Remove file.
13447
13448 * m/sun386.h:
13449 * m/sun2.h:
13450 * m/sparc.h: Remove Sun windows code.
13451
134522007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
13453
13454 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
13455 (init_keyboard): Set current_kboard's window-system to nil.
13456 (tty_read_avail_input): Typo.
13457 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
13458
134592007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
13460
13461 * s/usg5-4.h:
13462 * s/usg5-3.h:
13463 * s/ptx.h:
13464 * m/is386.h:
13465 * m/ibmps2-aix.h:
13466 * Makefile.in: Remove all mentions of X10.
13467
13468 * dispnew.c (syms_of_display): Don't mention version 10.
13469
134702007-10-28 Juanma Barranquero <lekktu@gmail.com>
13471
13472 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
13473 ($(BLD)/abbrev.$(O)): Remove.
13474
134752007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
13476
13477 Rewrite abbrev.c in Elisp.
13478 * image.c (Qcount): Don't declare as extern.
13479 (syms_of_image): Initialize and staticpro `Qcount'.
13480 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
13481 * emacs.c (main): Don't call syms_of_abbrev.
13482 * Makefile.in (obj): Remove abbrev.o.
13483 (abbrev.o): Remove.
13484 * abbrev.c: Remove.
13485
134862007-10-26 Martin Rudalics <rudalics@gmx.at>
13487
13488 * window.c (window_min_size_2): Don't count header-line.
13489
134902007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
13491
13492 * frame.h (struct frame): Move all bit fields after the first bit
13493 field to take advantage of the available space. Group all the
13494 chars together to reduce wasted space due to padding.
13495
134962007-10-26 Juanma Barranquero <lekktu@gmail.com>
13497
13498 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
13499
13500 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
13501 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
13502 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
13503 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
13504 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
13505 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
13506 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
13507 (last_marked, mark_object_loop_halt): Make static.
13508
13509 * frame.c (syms_of_frame) <delete-frame-functions>:
13510 Fix typo in docstring.
13511
135122007-10-25 Juanma Barranquero <lekktu@gmail.com>
13513
13514 * w32.c (init_environment): Fix tiny memory leak.
13515 (w32_get_resource): Remove unused variable `ok'.
13516
135172007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
13518
13519 Make `window-system' into a keyboard-local variable (rather than
13520 frame-local as done originally by multi-tty).
13521
13522 * keyboard.h (struct kboard): Add Vwindow_system.
13523 * keyboard.c (init_kboard): Set a default for Vwindow_system.
13524 (mark_kboards): Mark Vwindow_system.
13525
13526 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
13527 (init_display): Don't set the obsolete `window-system' frame-param.
13528
13529 * xterm.c (x_term_init):
13530 * w32term.c (w32_create_terminal):
13531 * term.c (init_tty): Set Vwindow_system.
13532 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
13533 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
13534
13535 * xfns.c (Fx_create_frame, x_create_tip_frame):
13536 * w32fns.c (Fx_create_frame, x_create_tip_frame):
13537 * macfns.c (Fx_create_frame):
13538 Don't set the obsolete `window-system' frame-param.
13539
13540 * frame.h (Qwindow_system): Remove.
13541 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
13542 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
13543
135442007-10-24 Richard Stallman <rms@gnu.org>
13545
13546 * frame.c (x_figure_window_size): For fullscreen case,
13547 set USPosition | PPosition without clobbering rest of window_prompting.
13548
13549 * keyboard.c (Fcurrent_idle_time): Doc fix.
13550
13551 * print.c (Fwith_output_to_temp_buffer): Doc fix.
13552
135532007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
13554
13555 * process.c (unwind_request_sigio): Only define if __ultrix__.
13556
13557 * callproc.c (child_setup): Remove spurious *.
13558
13559 * lisp.h (Fget_text_property): Declare.
13560 (have_menus_p): Declare it here rather than in sys-dep header files.
13561 * macterm.h (have_menus_p):
13562 * msdos.h (have_menus_p):
13563 * xterm.h (have_menus_p): Remove.
13564
13565 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
13566 (Fmake_variable_frame_local): Just check the variable's const-ness
13567 rather than checking nil or t.
13568
135692007-10-22 Jason Rumney <jasonr@gnu.org>
13570
13571 * w32fns.c: Include math.h.
13572 (w32_abort): Declaration moved to nt/config.nt.
13573
13574 * s/ms-w32.h (HAVE_STDLIB_H): Define.
13575 (abort): Redefinition moved to nt/config.nt.
13576
13577 * m/windowsnt.h: Remove.
13578
135792007-10-22 Juanma Barranquero <lekktu@gmail.com>
13580
13581 * emacs.c (Fdump_emacs): Fix typo in message.
13582 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
13583 <installation-directory>: Reflow docstring.
13584
135852007-10-22 Juri Linkov <juri@jurta.org>
13586
13587 * minibuf.c: Allow minibuffer default to be a list of default values.
13588 With empty input use the first element of this list as returned default.
13589 (string_to_object)
13590 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
13591 (read_minibuf): If defalt is cons, set histstring to its car.
13592 (Fread_string): If default_value is cons, set val to its car.
13593 (Fread_buffer): If def is cons, use its car.
13594 (Fcompleting_read): If defalt is cons, set val to its car.
13595
135962007-10-21 Michael Albinus <michael.albinus@gmx.de>
13597
13598 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
13599
136002007-10-20 Juanma Barranquero <lekktu@gmail.com>
13601
13602 * doc.c (Fdocumentation): Check for advice in all cases.
13603
136042007-10-19 Chong Yidong <cyd@stupidchicken.com>
13605
13606 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
13607
136082007-10-19 Richard Stallman <rms@gnu.org>
13609
13610 * doc.c (Fdocumentation): Check for and handle an advised function.
13611
136122007-10-19 Juanma Barranquero <lekktu@gmail.com>
13613
13614 * process.c (Fset_process_filter): Doc fix.
13615
136162007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
13617
13618 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
13619 which caused key-translation-map to applied repeatedly (thus breaking
13620 double-mode).
13621
136222007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
13623
13624 * xselect.c (x_own_selection, x_handle_selection_clear)
13625 (x_clear_frame_selections):
13626 * w32menu.c (list_of_panes, list_of_items):
13627 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
13628 * textprop.c (validate_plist, interval_has_all_properties)
13629 (interval_has_some_properties, interval_has_some_properties_list)
13630 (add_properties, text_property_list):
13631 * process.c (Fget_buffer_process, list_processes_1, status_notify):
13632 * minibuf.c (Fassoc_string):
13633 * macselect.c (x_own_selection, x_clear_frame_selections)
13634 (Fx_disown_selection_internal):
13635 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
13636 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
13637
136382007-10-17 Chong Yidong <cyd@stupidchicken.com>
13639
13640 * process.c: Link to libs for calling res_init() if available.
13641 (Fmake_network_process): Call res_init() before getaddrinfo or
13642 gethostbyname, if possible.
13643
136442007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
13645
13646 * lread.c (read1): Set pvectype for char_tables.
13647
13648 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
13649 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
13650 Add type checks.
13651 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
13652
13653 * alloc.c (free_misc): Use XMISCTYPE.
13654 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
13655
136562007-10-17 Glenn Morris <rgm@gnu.org>
13657
13658 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
13659 (syms_of_minibuf): Add Qcompletion_ignore_case.
13660 * dired.c (Qcompletion_ignore_case): Change to external.
13661 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
13662 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
13663 (Fread_file_name): Use it rather than intern'ing.
13664
13665 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
13666 (Fread_coding_system): Ignore case of user input.
13667
136682007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13669
13670 * xdisp.c (handle_display_prop): Ignore display specs after
13671 replacing one when string text is being replaced.
13672 (handle_single_display_spec): Pretend as if characters with display
13673 property haven't been consumed only when buffer text is being replaced.
13674
136752007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
13676
13677 * xfns.c (Fx_create_frame, Fx_display_list):
13678 * window.c (window_fixed_size_p, enlarge_window)
13679 (shrink_window_lowest_first):
13680 * macterm.c (init_font_name_table):
13681 * macfns.c (Fx_create_frame, Fx_display_list):
13682 * lread.c (close_load_descs):
13683 * keyboard.c (read_char_x_menu_prompt):
13684 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
13685 * coding.c (code_convert_region_unwind): Test the type of an object
13686 rather than just !NILP before extracting data from it.
13687
13688 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
13689
13690 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
13691 (XMISCANY): New macro.
13692 (XMISCTYPE): Use it.
13693 (struct Lisp_Misc_Any): New type.
13694 (union Lisp_Misc): Use it.
13695 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
13696 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
13697 (find_symbol_value, set_internal, default_value, Fset_default)
13698 (Fmake_variable_buffer_local, Fmake_local_variable)
13699 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
13700 (Flocal_variable_if_set_p, Fvariable_binding_locus):
13701 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
13702 * alloc.c (allocate_buffer): Set the size and tag.
13703 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
13704 Use XMISCANY.
13705 (die): Follow the GNU convention for error messages.
13706 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
13707 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
13708 tag any more.
13709 (set_buffer_internal_1):
13710 * frame.c (store_frame_param):
13711 * eval.c (specbind):
13712 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
13713
13714 * doc.c (Fsnarf_documentation): Simplify.
13715
137162007-10-14 Juanma Barranquero <lekktu@gmail.com>
13717
13718 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
13719 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
13720
137212007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
13722
13723 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
13724
137252007-10-14 Juanma Barranquero <lekktu@gmail.com>
13726
13727 * eval.c (do_autoload): Don't save autoloads.
13728
13729 * data.c (Ffset): Save autoload of the function being set.
13730
137312007-10-07 John Paul Wallington <jpw@pobox.com>
13732
13733 * xfns.c (x_create_tip_frame): Set the `display-type' frame
13734 parameter before setting up faces.
13735
137362007-10-13 Eli Zaretskii <eliz@gnu.org>
13737
13738 * ccl.c (Fregister_code_conversion_map):
13739 * keyboard.c (append_tool_bar_item): Reformat last change.
13740
13741 * lisp.h (eabs): Rename from `abs'. All callers changed.
13742
137432007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
13744
13745 * buffer.c (add_overlay_mod_hooklist):
13746 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
13747 * fontset.c (make_fontset):
13748 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
13749 (append_tool_bar_item):
13750 * macmenu.c (grow_menu_items):
13751 * w32menu.c (grow_menu_items):
13752 * xmenu.c (grow_menu_items): Use larger_vector.
13753
137542007-10-13 Eli Zaretskii <eliz@gnu.org>
13755
13756 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
13757 selected frame'' on MSDOS).
13758
137592007-10-12 Martin Rudalics <rudalics@gmx.at>
13760
13761 * frame.c (Qexplicit_name): New variable.
13762 (x_report_frame_params): Report it in parameter alist.
13763 (syms_of_frame): Intern and staticpro it.
13764
137652007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
13766
13767 * macfns.c (x_create_tip_frame): Set terminal for frame.
13768
137692007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
13770
13771 * frame.c (Qenvironment): Remove.
13772 (syms_of_frame) <Qenvironment>: Don't initialize.
13773 (Fdelete_frame): Don't treat the `environment' param specially.
13774 * frame.h (Qenvironment): Don't declare.
13775 * callproc.c (set_initial_environment): Don't set unused frame param.
13776
13777 * frame.c (Fframe_with_environment): Remove.
13778 (syms_of_frame) <Sframe_with_environment>: Don't declare.
13779
13780 * lisp.h (Fframe_with_environment): Don't declare.
13781
137822007-10-10 Juanma Barranquero <lekktu@gmail.com>
13783
13784 * indent.c (indent_tabs_mode, last_known_column)
13785 (last_known_column_modified): Make static.
13786 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
13787
137882007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
13789
13790 * puresize.h (BASE_PURESIZE): Increase to 1170000.
13791
137922007-10-09 Jason Rumney <jasonr@gnu.org>
13793
13794 * w32term.c (x_set_window_size): Disable code that attempts to tell
13795 Lisp code about a size change before it actually happens.
13796
137972007-10-09 Richard Stallman <rms@gnu.org>
13798
13799 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
13800 return HANDLED_RETURN.
13801
138022007-10-08 Martin Rudalics <rudalics@gmx.at>
13803
13804 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
13805 when there's an unread command event.
13806
13807 * frame.c (focus_follows_mouse): Move here from frame.el to allow
13808 window autoselection act appropriately when leaving selected frame.
13809 (syms_of_frame): Initialize focus_follows_mouse.
13810 * frame.h (focus_follows_mouse): Extern it.
13811 * macterm.c (XTread_socket): When focus_follows_mouse is nil
13812 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
13813 * msdos.c (dos_rawgetc): Likewise.
13814 * w32term.c (w32_read_socket): Likewise.
13815 * xterm.c (handle_one_xevent): Likewise.
13816 * xdisp.c (syms_of_xdisp): In doc-string of
13817 mouse-autoselect-window mention focus-follows-mouse.
13818
138192007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13820
13821 * macterm.c (mac_load_query_font): Fix missing return value.
13822 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
13823 Add BLOCK_INPUT.
13824
138252007-10-08 Richard Stallman <rms@gnu.org>
13826
13827 * xdisp.c (get_window_cursor_type): Implement documented behavior
13828 for cursor-in-non-selected-windows = t.
13829
138302007-10-08 Jason Rumney <jasonr@gnu.org>
13831
13832 * w32.c (w32_get_resource): Always close registry keys.
13833
138342007-10-08 Jason Rumney <jasonr@gnu.org>
13835
13836 * makefile.w32-in (LIBS): Add COMCTL32.
13837
13838 * w32fns.c (globals_of_w32fns): Init common controls.
13839
138402007-10-08 Richard Stallman <rms@gnu.org>
13841
13842 * image.c (our_memory_buffer): Rename from omfib_buffer.
13843
138442007-10-08 Richard Stallman <rms@gnu.org>
13845
13846 * buffer.c (Foverlays_at): Doc fix.
13847
138482007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
13849
13850 * fns.c (Fplist_put): Preserve uneven tail data.
13851
138522007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
13853
13854 * termhooks.h (enum event_kind): Remove trailing comma.
13855
13856 * frame.h (enum): Remove trailing comma.
13857
138582007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
13859
13860 * w32proc.c (delete_child): Don't terminate threads of zombies.
13861
138622007-10-08 Martin Rudalics <rudalics@gmx.at>
13863
13864 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
13865
13866 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
13867 last-repeatable-command.
13868 (init_kboard): Initialize Vlast_repeatable_command.
13869 (command_loop_1): Set it to real_this_command unless that was
13870 bound to an input event.
13871 (mark_kboards): Mark it.
13872
138732007-10-08 Richard Stallman <rms@gnu.org>
13874
13875 * eval.c (condition-case): Doc fix.
13876
138772007-10-08 Masatake YAMATO <jet@gyve.org>
13878
13879 * xfaces.c (tty_supports_face_attributes_p): Fix code
13880 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
13881 was copied and not edited.
13882
138832007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
13884
13885 Add new `input-decode-map' keymap and use it for terminal
13886 escape sequences.
13887 * keyboard.h (struct kboard): Add Vinput_decode_map.
13888 Remove Vlocal_key_translation_map.
13889 * keyboard.c (read_key_sequence): Add support for input-decode-map.
13890 (init_kboard): Init input-decode-map.
13891 Replace local-key-translation-map back with key-translation-map.
13892 (syms_of_keyboard): Declare input-decode-map.
13893 Remove local-key-translation-map. Update docstrings.
13894 (mark_kboards): Mark Vinput_decode_map.
13895 Don't mark Vlocal_key_translation_map.
13896 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
13897 Replace local-key-translation-map back with key-translation-map.
13898 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
13899 Bind in input-decode-map rather than function-key-map.
13900
13901 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
13902 This was made redundant by the previous introduction of XSETPVECTYPE.
13903
139042007-10-09 Richard Stallman <rms@gnu.org>
13905
13906 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
13907
139082007-09-29 Richard Stallman <rms@gnu.org>
13909
13910 * eval.c (internal_condition_case_2, internal_condition_case_1)
13911 (internal_condition_case): Reenable abort if x_catching_errors ()
13912 to see if that really happens and why.
13913
139142007-10-06 Andreas Schwab <schwab@suse.de>
13915
13916 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
13917
139182007-10-04 Juanma Barranquero <lekktu@gmail.com>
13919
13920 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
13921
139222007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
13923
13924 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
13925
139262007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
13927
13928 * window.h (struct window):
13929 * window.c (struct save_window_data, struct saved_window):
13930 * termhooks.h (struct terminal):
13931 * process.h (struct Lisp_Process):
13932 * frame.h (struct frame):
13933 * buffer.h (struct buffer):
13934 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
13935 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
13936 The size field of (pseudo)vectors is now unsigned.
13937 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
13938
13939 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
13940 Turn `count' into an integer.
13941
13942 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
13943 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
13944 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
13945 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
13946 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
13947
13948 * alloc.c (allocate_pseudovector): New fun.
13949 (ALLOCATE_PSEUDOVECTOR): New macro.
13950 (allocate_window, allocate_terminal, allocate_frame)
13951 (allocate_process): Use it.
13952 (mark_vectorlike): New function.
13953 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
13954 (mark_terminals): Use it.
13955 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
13956 (Fmake_byte_code): Use XSETPVECTYPE.
13957
13958 * frame.c (Fframe_parameters): Minor simplification.
13959
13960 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
13961
13962 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
13963
13964 * buffer.c (Fget_buffer_create, init_buffer_once):
13965 * lread.c (defsubr):
13966 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
13967
13968 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
13969 defined differently in the m/*.h files.
13970 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
13971 (XSETPVECTYPE): New macro.
13972 (XSETPSEUDOVECTOR): Use it.
13973
13974 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
13975 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
13976
13977 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
13978 * lread.c (defvar_per_buffer):
13979 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
13980
13981 * window.c (candidate_window_p): Only consider as visible frames that
13982 are on the same terminal.
13983
13984 * m/ibms390x.h (MARKBIT): Remove unused macro.
13985
139862007-10-01 Juanma Barranquero <lekktu@gmail.com>
13987
13988 * lread.c (Fload): Fix typo in docstring.
13989
139902007-10-01 Michaël Cadilhac <michael@cadilhac.name>
13991
13992 * floatfns.c (Fexpt): Manually check for overflows, so that a power
13993 of a non-zero value can't yield zero.
13994
139952007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
13996
13997 * term.c (term_clear_mouse_face, term_mouse_highlight)
13998 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
13999
14000 * print.c (safe_debug_print): Use XHASH.
14001
14002 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
14003 Lisp elements such as tags.
14004 (XHASH): New macro.
14005 (EQ): Use it.
14006 (SREF, SSET, STRING_COPYIN): Use SDATA.
14007 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
14008
14009 * alloc.c (mark_terminal): Remove left-over declaration.
14010 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
14011 (allocate_vectorlike): Remove type argument. Adjust callers.
14012 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
14013 Only handle the one remaining MEM_TYPE_VECTORLIKE.
14014
14015 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
14016 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
14017 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
14018 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
14019 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
14020 Use them.
14021
14022 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
14023 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
14024 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
14025
140262007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
14027
14028 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
14029 loaded by default.
14030
140312007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
14032
14033 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
14034 on this tty.
14035 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
14036
14037 * term.c (mouse_face_window): Rename from Qmouse_face_window.
14038 Update all users.
14039 (handle_one_term_event): Use Gpm_DrawPointer.
14040 (Fgpm_mouse_start): Rename from Fterm_open_connection.
14041 Signal errors instead of returning nil. Always return nil.
14042 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
14043 Make it a noop if gpm-mouse was not activated.
14044 (syms_of_term): Update names.
14045
140462007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
14047
14048 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
14049 (init_sys_modes): Check that gpm_tty is the current tty.
14050
14051 * alloc.c (allocate_terminal): Set the vector size to only count the
14052 lisp fields. Initialize those to nil.
14053 (mark_object): Don't treat terminals specially.
14054 (mark_terminal): Remove.
14055 (mark_terminals): Use mark_object instead.
14056
14057 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
14058 the GC to the beginning.
14059
14060 * indent.h:
14061 * indent.c: Use EMACS_INT for ints coming from Elisp data.
14062
14063 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
14064
140652007-09-25 Jason Rumney <jasonr@gnu.org>
14066
14067 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
14068
14069 * w32console.c (create_w32cons_output): Remove.
14070
14071 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
14072
14073 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
14074 (reset_sys_modes): Use reset_terminal_modes_hook.
14075
140762007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
14077
14078 * eval.c (do_autoload): Don't output any message.
14079
140802007-09-24 Juri Linkov <juri@jurta.org>
14081
14082 * emacs.c (standard_args): Change priority of "--no-splash"
14083 from 40 to 3. Add "--no-desktop" with the same priority.
14084
140852007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
14086
14087 * alloc.c (gc_sweep): Check cons cell mark bits word by word
14088 and optimize the case where they are all 1.
14089
140902007-09-23 Johannes Weiner <hannes@saeurebad.de>
14091
14092 * lisp.h (abs): Define if not defined.
14093 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
14094 Don't define `abs', since it's defined in lisp.h.
14095
140962007-09-22 Eli Zaretskii <eliz@gnu.org>
14097
14098 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
14099 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
14100 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
14101 (init_tty): Use DEV_TTY instead of "/dev/tty".
14102 [WINDOWSNT]: No need to protect from NAME arg being null.
14103
141042007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
14105
14106 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
14107 up the tty state.
14108
141092007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
14110
14111 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
14112 (gpm_tty): Change its type.
14113 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
14114 (gpm_tty): Change its type and initialize it.
14115 (Fterm_open_connection): Check the frame is indeed a tty.
14116 Use the new gpm_tty.
14117 (Fterm_close_connection): Use the new gpm_tty.
14118 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
14119 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
14120
141212007-09-21 Juanma Barranquero <lekktu@gmail.com>
14122
14123 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
14124 underline_color, to draw strike-through.
14125
141262007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
14127
14128 * lisp.h (allocate_terminal): Declare.
14129
14130 * window.c (candidate_window_p): Consider frames that are being placed
14131 by the user as somewhere between visible and iconified.
14132 (window_loop): Prefer windows on the current frame.
14133 (Fselect_window): Move the use of select-frame to the beginning so we
14134 can just delegate all the work (it'll call us back anyway).
14135
14136 * frame.c (Qdisplay_environment_variable):
14137 * frame.h (Qdisplay_environment_variable): Delete.
14138
14139 * .gdbinit (xbacktrace): Print the arg's address rather than the value
14140 of the first arg, since that value may be a union.
14141
14142 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
14143 parameter rather than Qdisplay_environment_variable. If all else
14144 fails, look for DISPLAY in initial-environment.
14145
141462007-09-21 Glenn Morris <rgm@gnu.org>
14147
14148 * Makefile.in (emacstool): Remove target.
14149 (lisp, shortlisp): Remove termdev.elc.
14150
141512007-09-21 Markus Triska <markus.triska@gmx.at>
14152
14153 * xterm.c (x_delete_display): Compile session management conditionally.
14154
141552007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
14156
14157 * callproc.c (getenv_internal_1): New function.
14158 (getenv_internal): Use it.
14159 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
14160
14161 * terminal.c (get_terminal): Don't accept ints to represent terminals.
14162 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
14163 (Fset_terminal_parameter): Work with dead terminals as well.
14164 (Fmodify_terminal_parameters): Remove.
14165
14166 * terminal.c (get_terminal): Handle terminals.
14167 Make sure the terminal returned is live.
14168 (create_terminal): Use allocate_terminal.
14169 (mark_terminals): Move to alloc.c.
14170 (delete_terminal): Use terminal->name as liveness status.
14171 NULL out fields after freeing their contents.
14172 Don't deallocate the object.
14173 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
14174 rather than an int.
14175 (Fterminal_live_p): Accept non-integer arguments.
14176 (Fterminal_list): Return terminal objects rather than an ints.
14177
14178 * alloc.c (enum mem_type): New member for `terminal' objects.
14179 (allocate_terminal): New function.
14180 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
14181 Handle terminals.
14182 (mark_terminal): New fun.
14183 (mark_terminals): Move from terminal.c.
14184
14185 * term.c (get_tty_terminal): Don't treat output_initial specially.
14186 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
14187 (delete_tty): Use terminal->name as liveness status.
14188
14189 * termhooks.h (struct terminal): Make it into a pseudovector.
14190 Remove `deleted' replaced by checking `name's nullness.
14191
14192 * print.c (print_object): Handle terminals.
14193
14194 * lisp.h (enum pvec_type): New `terminal' pseudovector.
14195 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
14196
14197 * frame.c (make_terminal_frame):
14198 * keyboard.c (tty_read_avail_input):
14199 * w32term.c (x_delete_terminal):
14200 * xfns.c (Fx_create_frame, x_create_tip_frame):
14201 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
14202
142032007-09-20 Glenn Morris <rgm@gnu.org>
14204
14205 * process.c (Fmake_network_process): Doc fix.
14206
142072007-09-19 Jason Rumney <jasonr@gnu.org>
14208
14209 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
14210
142112007-09-19 Michaël Cadilhac <michael@cadilhac.name>
14212
14213 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
14214 Fix a C warning regarding variable constness.
14215
14216 * xterm.c (handle_one_xevent): Fix a C warning.
14217
142182007-09-18 Jason Rumney <jasonr@gnu.org>
14219
14220 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
14221
142222007-09-17 Jan Djärv <jan.h.d@swipnet.se>
14223
14224 * gtkutil.c (gdpy_def): New variable.
14225 (xg_initialize): Initialize gdpy_def.
14226 (xg_display_close): If no other display exists, set gdpy_def to a
14227 new connection.
14228
142292007-09-16 Jan Djärv <jan.h.d@swipnet.se>
14230
14231 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
14232 when we have no file name for the icon.
14233 (xg_tool_bar_expose_callback): Remove.
14234 (xg_create_tool_bar): Don't connect expose signal to
14235 xg_tool_bar_expose_callback.
14236 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
14237
142382007-09-16 Andreas Schwab <schwab@suse.de>
14239
14240 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
14241 values instead of zapping them.
14242
142432007-09-14 Glenn Morris <rgm@gnu.org>
14244
14245 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
14246 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
14247 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
14248 scope and rename to omfib_buffer for clarity.
14249 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
14250
142512007-09-14 Kenichi Handa <handa@m17n.org>
14252
14253 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
14254
142552007-09-13 Jason Rumney <jasonr@gnu.org>
14256
14257 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
14258
14259 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
14260
14261 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
14262 (mac_term_init): Call here instead, passing rif.
14263
142642007-09-13 Glenn Morris <rgm@gnu.org>
14265
14266 * s/hpux.h: No longer define `static' as nothing.
14267
142682007-09-13 Johan Bockgård <bojohan@gnu.org>
14269
14270 * callint.c (Fcall_interactively): Remove unused var `fun'.
14271
142722007-09-12 Romain Francoise <romain@orebokech.com>
14273
14274 * window.c (prefer_window_split_horizontally, display_buffer):
14275 Revert 2007-09-08 change.
14276
142772007-09-12 Glenn Morris <rgm@gnu.org>
14278
14279 * alloca.c: Remove file.
14280 * Makefile.in (alloca): Do not undef.
14281 (allocaobj, alloca.o): Remove.
14282 (otherobj): Remove allocaobj.
14283 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
14284 * regex.c (C_ALLOCA): Remove all references and code that was only
14285 used when this was defined.
14286 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
14287 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
14288 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
14289
14290 * Makefile.in (SOURCES, unlock, relock): Delete.
14291
14292 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
14293 (menu_grab_callback): All uses changed.
14294
14295 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
14296 (x_reply_selection_request): All uses changed.
14297
142982007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
14299
14300 * lread.c (load_warn_old_style_backquotes): Change message to look
14301 better when it appears in the middle of byte-compiler messages.
14302
143032007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
14304
14305 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
14306
14307 * xterm.c (x_create_terminal): Add comment.
14308
14309 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
14310
143112007-09-10 Richard Stallman <rms@gnu.org>
14312
14313 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
14314
143152007-09-10 Michaël Cadilhac <michael@cadilhac.name>
14316
14317 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
14318 (DEFUN): Document `intspec', use it instead of `prompt'.
14319
14320 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
14321
14322 * data.c (Finteractive_form): If the interactive specification starts
14323 with a `(', use it as a Lisp form.
14324
14325 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
14326 name and file modes.
14327
14328 * callint.c (Fcall_interactively): Comment fixes.
14329
143302007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
14331
14332 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
14333 and compiled functions.
14334
143352007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
14336
14337 * window.c (prefer_window_split_horizontally): New variable.
14338 (display_buffer): Consider splitting window horizontally depending
14339 on prefer_window_split_horizontally.
14340
143412007-09-08 Eli Zaretskii <eliz@gnu.org>
14342
14343 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
14344
143452007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
14346
14347 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
14348
14349 * frame.c (x_set_frame_parameters): Check number is positive before
14350 using XFASTINT.
14351
14352 * window.c (freeze_window_start): Don't presume selected_window holds
14353 a window object.
14354 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
14355
143562007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
14357
14358 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
14359
143602007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
14361
14362 * window.c (Vsplit_window_preferred_function): New var.
14363 (Fdisplay_buffer): Use it.
14364 (syms_of_window): Export, and initialize it.
14365
143662007-09-06 Pixel <pixel@mandriva.com> (tiny change)
14367
14368 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
14369
143702007-09-06 Glenn Morris <rgm@gnu.org>
14371
14372 * gtkutil.c (menu_grab_callback) <cnt>:
14373 * xselect.c (x_reply_selection_request) <cnt>: Move static
14374 variable to file scope.
14375
143762007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
14377
14378 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
14379 consistent values of selected_frame and selected_window.
14380
143812007-09-04 Jason Rumney <jasonr@gnu.org>
14382
14383 * w32console.c (initialize_w32_display): Zero unused hooks.
14384
143852007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
14386
14387 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
14388 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
14389
143902007-09-04 Jason Rumney <jasonr@gnu.org>
14391
14392 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
14393 in w32console.c. Set up input. Remove XXX comments that have been
14394 confirmed as correct.
14395
14396 * s/ms-w32.h (MULTI_KBOARD): Define.
14397
14398 * w32console.c (one_and_only_w32cons): Remove.
14399 (initialize_w32_display): Take terminal argument.
14400
14401 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
14402 initialize_w32_display.
14403 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
14404
14405 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
14406
14407 * keyboard.c (discard_mouse_events): Discard it.
14408 (make_lispy_event): Translate it to a lisp event.
14409 (lispy_wheel_names): Add wheel-left and right events.
14410 (syms_of_keyboard): Enlarge wheel_syms.
14411
14412 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
14413 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
14414
14415 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
14416
14417 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
14418 from WM_MOUSEHWHEEL.
14419 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
14420
14421 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
14422 terminal.
14423
14424 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
14425 keyboard for the terminal.
14426
144272007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
14428
14429 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
14430 (Vresume_tty_hook): Rename from Vresume_tty_functions.
14431 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
14432 and resume-tty-function to resume-tty-hook.
14433 (Fsuspend_tty, Fresume_tty): Use new names.
14434
144352007-09-02 Jan Djärv <jan.h.d@swipnet.se>
14436
14437 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
14438 if it starts with "n:".
14439
144402007-08-31 Jan Djärv <jan.h.d@swipnet.se>
14441
14442 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
14443
144442007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
14445
14446 * frame.h:
14447 * frame.c (Qterm_environment_variable): Remove.
14448 (syms_of_frame): Don't init and staticpro it.
14449
14450 * callproc.c (getenv_internal): Remove special case for $TERM.
14451
14452 * callproc.c (Vinitial_environment): New variable.
14453 (set_initial_environment): Initialize it.
14454 (syms_of_callproc): Declare it.
14455 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
14456 TERM under which a process runs is never related to the TERM in which
14457 Emacs is running.
14458
144592007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
14460
14461 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
14462 * s/darwin.h: ... do it here.
14463
144642007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
14465
14466 * lisp.h (set_initial_environment): Rename from set_global_environment.
14467
14468 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
14469 removed by mistake on the multi-tty branch.
14470
14471 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
14472 (Fmodify_frame_parameters): Return a value.
14473
14474 * image.c (png_load): Comment-out var only used in commented-out code.
14475
14476 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
14477 before passing it to mark_object.
14478
14479 * xfaces.c (internal_resolve_face_name): Return a value.
14480 (internal_resolve_face_name, resolve_face_name_error): Comment out.
14481
14482 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
14483 (x_icon): Comment-out var only used in commented-out code.
14484
144852007-08-29 Romain Francoise <romain@orebokech.com>
14486
14487 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
14488 QUIT hasn't been provided.
14489
144902007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
14491
14492 * callproc.c (child_setup, getenv_internal): Use the
14493 display-environment-variable and term-environment-variable frame params.
14494 (set_initial_environment): Initialise Vprocess_environment.
14495
14496 * config.in: Disable multi-keyboard support on a mac.
14497
14498 * frame.c (Qterm_environment_variable)
14499 (Qdisplay_environment_variable): New variables.
14500 (syms_of_frame): Intern and staticpro them.
14501 (Fmake_terminal_frame): Disable output method test.
14502
14503 * frame.h: Declare them here.
14504
14505 * macfns.c (x_set_mouse_color): Get rif from the frame.
14506 (x_set_tool_bar_lines): Don't use updating_frame.
14507 (mac_window): Add 2 new parameters for consistency with other systems.
14508 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
14509 frame parameters following what is done in X11 and w32. Don't use
14510 FRAME_MAC_DISPLAY_INFO.
14511 (Fx_open_connection, start_hourglass): Remove window-system check.
14512 (x_create_tip_frame): Get the keyboard from the terminal.
14513
14514 * macmenu.c: Reorder includes.
14515 (Fx_popup_menu): Use terminal specific mouse_position_hook.
14516
14517 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
14518 terminal parameter.
14519 (x_clear_frame): Add a frame parameter.
14520 (note_mouse_movement): Get rif from the frame.
14521 (mac_term_init): Initialize the terminal.
14522 (mac_initialize): Make static and move terminal initialization ...
14523 (mac_create_terminal): ... to this new function.
14524
14525 * macterm.h (struct mac_display_info): Add terminal.
14526 (mac_initialize): Delete declaration.
14527
14528 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
14529
14530 * sysdep.c: Comment out text after #endif.
14531
14532 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
14533 is defined. Better initialize ttys in windows. Use terminal
14534 specific mouse_position_hook.
14535
14536 * termhooks.h (union display_info): Add mac_display_info.
14537
14538 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
14539 Set the default minibuffer frame, window_system and the rest of the
14540 frame parameters following what is done in X11.
14541
14542 * w32term.c (w32_initialize): Make static.
14543
14544 * xselect.c (x_handle_selection_clear): Only access
14545 terminal->kboard when MULTI_KBOARD is defined.
14546
14547 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
14548 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
14549
145502007-08-29 Jason Rumney <jasonr@gnu.org>
14551
14552 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
14553 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
14554
14555 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
14556 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
14557
14558 * keyboard.c (restore_kboard_configuration): Only define when
14559 MULTI_KBOARD defined.
14560
14561 * makefile.w32-in: Update dependancies from Makefile.in.
14562 (OBJ1): Add terminal.$(O)
14563
14564 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
14565 Don't define function body.
14566 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
14567
14568 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
14569
14570 * w32.c (request_sigio, unrequest_sigio): Remove.
14571
14572 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
14573 (w32con_clear_frame, w32con_clear_end_of_line)
14574 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
14575 (w32con_delete_glyphs, w32con_set_terminal_window)
14576 (scroll_line, w32_sys_ring_bell): Add frame arg.
14577 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
14578 Add terminal arg.
14579 (PICK_FRAME): Remove.
14580 (w32con_write_glyphs): Use frame specific terminal coding.
14581 (one_and_only_w32cons): New global variable.
14582 (initialize_w32_display): Use it for storing hooks.
14583 (create_w32cons_output): New function.
14584
14585 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
14586 arg a frame.
14587
14588 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
14589 Set window_system.
14590 (x_set_tool_bar_lines): Don't use updating_frame.
14591 (Fx_create_frame): Set terminal and ref count.
14592 (Fx_open_connection): Remove window-system check.
14593
14594 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
14595
14596 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
14597 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
14598 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
14599 Add frame arg.
14600 (x_delete_terminal, w32_create_terminal): New functions.
14601 (w32_term_init): Create a terminal.
14602 (w32_initialize): Move terminal specific initialization to
14603 w32_create_terminal.
14604
14605 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
14606 (w32_clear_rect, w32_clear_area): Use background from frame.
14607 (w32_display_info): Add terminal.
14608 (w32_sys_ring_bell, x_delete_display): Declare here.
14609
14610 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
14611
14612 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
14613
146142007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
14615
14616 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
14617 Fix get_named_tty calls for the controlling tty.
14618
146192007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
14620
14621 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
14622
146232007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
14624
14625 * term.c (tty_insert_glyphs): Add missing first parameter.
14626
146272007-08-29 Károly Lőrentey <karoly@lorentey.hu>
14628
14629 * buffer.c (Fbuffer_list, Fbury_buffer):
14630 Take frame->buried_buffer_list into account.
14631
14632 * cm.c (current_tty): New variable, for cmputc().
14633 (cmputc): Use it.
14634 (cmcheckmagic): Add tty parameter, look up terminal streams there.
14635 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
14636 (cmgoto): Add tty parameter. Pass it on to calccost().
14637 Use emacs_tputs() instead of tputs().
14638
14639 * cm.h (emacs_tputs): New macro to set current_tty, and then call
14640 tputs().
14641 (current_tty): New variable, for cmputc().
14642 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
14643
14644 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
14645 (internal_condition_case, internal_condition_case_1)
14646 (internal_condition_case_2): Don't abort when x_catching_errors.
14647
14648 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
14649 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
14650 prevent crashes caused by bogus longjmps in read_char.
14651
14652 * keymap.h (Fset_keymap_parent): Add EXFUN.
14653
14654 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
14655 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
14656 Remove redundant definition.
14657
14658 * macfns.c (x_set_mouse_color, x_make_gc):
14659 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14660
14661 * w32term.c (x_free_frame_resources):
14662 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14663 (w32_initialize): Use the accessor macros for terminal characteristics.
14664
14665 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
14666 Use the accessor macros for terminal characteristics.
14667 * msdos.c (internal_terminal_init): Use the accessor macros for
14668 terminal characteristics.
14669 (ScreenVisualBell, internal_terminal_init):
14670 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14671
14672 * termopts.h (no_redraw_on_reenter): Declare.
14673
14674 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
14675 (mark_terminals, mark_ttys): Declare.
14676 (Fgarbage_collect): Call them.
14677 (mark_object): Mark buried_buffer_list.
14678
14679 * prefix-args.c: Include stdlib.h for exit.
14680
14681 * syssignal.h: Add comment.
14682
14683 * indent.c: Include stdio.h.
14684
14685 * window.h (Vinitial_window_system): Declare.
14686 (Vwindow_system): Delete declaration.
14687
14688 * fontset.c (Finternal_char_font): Use FRAME_RIF.
14689
14690 * image.c (lookup_image): Don't initialize `c' until the xasserts
14691 have been run.
14692
14693 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
14694 FRAME_FOREGROUND_PIXEL.
14695
14696 * print.c (print_preprocess): Don't lose print_depth levels while
14697 iterating.
14698
14699 * widget.c (update_from_various_frame_slots):
14700 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14701
14702 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
14703 frames.
14704 (window_internal_height): Remove bogus make_number call.
14705 (init_window_once): Call make_terminal_frame with two zero parameters.
14706
14707 * fileio.c (Fread_file_name): Update comment.
14708
14709 * callint.c (Fcall_interactively):
14710 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
14711 Make sure it is correctly unwound.
14712
14713 * xsmfns.c (x_session_close): New function.
14714
14715 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
14716 Delete declarations.
14717
14718 * xterm.h: Remove declaration for x_fully_uncatch_errors.
14719 (x_output): Remove background_pixel and foreground_pixel fields.
14720 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
14721 (x_delete_device, x_session_close): Declare.
14722
14723 * lread.c: Include setjmp.h. Update declaration of `read_char'.
14724 (read_filtered_event): Call `read_char' with a local
14725 `wrong_kboard_jmpbuf'.
14726
14727 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
14728 Don't call single_kboard_state. Use FRAME_RIF.
14729
14730 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
14731 systems.
14732
14733 * lisp.h (set_process_environment): Rename to `set_global_environment'.
14734 (Fframe_with_environment, Fset_input_meta_mode)
14735 (Fset_quit_char): EXFUN.
14736 (x_create_device, tty_output, terminal, tty_display_info): Declare.
14737 (init_sys_modes, reset_sys_modes): Update prototypes.
14738 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
14739
14740 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
14741 Vlocal_key_translation_map, and Vkeyboard_translate_table.
14742 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
14743 Delete declarations.
14744 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
14745 (temporarily_switch_to_single_kboard, tty_read_avail_input):
14746 New declarations.
14747
14748 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
14749 already does that during init_display(). Call syms_of_keymap
14750 before syms_of_keyboard. Call `syms_of_terminal'.
14751 Call set_initial_environment, not set_process_environment.
14752 (shut_down_emacs): Call reset_all_sys_modes() instead of
14753 reset_sys_modes().
14754
14755 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
14756 (internal_resolve_face_name, resolve_face_name_error): New functions.
14757 (resolve_face_name): Protect against loops and errors thrown by Fget.
14758 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
14759 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
14760
14761 * scroll.c: Replace CURTTY() with local variables throughout the
14762 file (where applicable).
14763 (calculate_scrolling, calculate_direct_scrolling)
14764 (scrolling_1, scroll_cost): Use the accessor macros for terminal
14765 characteristics.
14766
14767 * keymap.c (Vfunction_key_map): Remove.
14768 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
14769 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
14770 (Vkey_translation_map): Remove.
14771 (syms_of_keymap): Remove DEFVAR for key-translation-map.
14772 (Fdescribe_buffer_bindings)
14773 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
14774 Update for terminal-local key-translation-map.
14775
14776 * Makefile.in (callproc.o): Update dependencies.
14777 (lisp, shortlisp): Add termdev.elc.
14778 (obj): Add terminal.o.
14779 (terminal.o): Add dependencies.
14780 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
14781 (data.o, fns.o): Add termhooks.h dependency.
14782 (SOME_MACHINE_LISP): Add dnd.elc.
14783 (minibuf.o): Fix typo.
14784 Update dependencies.
14785
14786 * data.c (do_symval_forwarding, store_symval_forwarding)
14787 (find_symbol_value): Use the selected frame's keyboard, not
14788 current_kboard.
14789
14790 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
14791 Vwindow_system.
14792
14793 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
14794 Fmenu_bar_open.
14795 (syms_of_xmenu): Update defsubr.
14796 (mouse_position_for_popup, Fx_popup_menu)
14797 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
14798 (set_frame_menubar, free_frame_menubar)
14799 (create_and_show_popup_menu, xmenu_show, )
14800 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
14801 an X frame.
14802
14803 * xselect.c (x_own_selection): Abort if not an X frame.
14804 (some_frame_on_display): Check if it is an X frame.
14805 (x_handle_selection_clear): Deal with MULTI_KBOARD.
14806
14807 * coding.c: Include frame.h and termhooks.h.
14808 (terminal_coding, keyboard_coding): Delete.
14809 (Fset_terminal_coding_system_internal)
14810 (Fset_keyboard_coding_system_internal)
14811 (Fkeyboard_coding_system)
14812 (Fterminal_coding_system): Add a terminal parameter.
14813 Get terminal_coding from the terminal.
14814 (init_coding_once): Don't call setup_coding_system here.
14815
14816 * dispextern.h (set_scroll_region, turn_off_insert)
14817 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
14818 (tty_clear_end_of_line, tty_setup_colors)
14819 (delete_tty, updating_frame)
14820 (produce_special_glyphs, produce_glyphs, write_glyphs)
14821 (insert_glyphs): Remove.
14822 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
14823 (tty_turn_off_highlight, get_tty_size): Add declaration.
14824 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
14825
14826 * frame.h (enum output_method): Add output_initial.
14827 (struct x_output): Delete.
14828 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
14829 Access foreground_pixel and background_pixel directly from the frame.
14830 (tty_display): Delete.
14831 (struct frame): Add buried_buffer_list, foreground_pixel,
14832 background_pixel and terminal. Delete kboard.
14833 (union output_data): Add tty.
14834 (FRAME_KBOARD): Get the kboard from the terminal.
14835 (FRAME_INITIAL_P): New macro.
14836 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
14837 (Qterm_environment_variable, Qdisplay_environment_variable)
14838 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
14839 New declarations.
14840
14841 * termchar.h (tty_output, tty_display_info): New structures.
14842 (tty_list): Declare.
14843 (FRAME_TTY, CURTTY): New macros.
14844 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
14845 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
14846 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
14847 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
14848
14849 * callproc.c: Include frame.h and termhooks.h, for terminal
14850 parameters.
14851 (add_env): New function.
14852 (child_setup): Use it.
14853 (child_setup, getenv_internal): Handle the new Vprocess_environment.
14854 (getenv_internal): Fix get_terminal_param call.
14855 (Fgetenv_internal, egetenv): Update doc.
14856 (syms_of_callproc): Initialize Vprocess_environment to nil.
14857 Register and initialize them. Remove obsolete defvars. Update doc
14858 strings.
14859 (child_setup): Handle Vlocal_environment_variables.
14860 (getenv_internal): Add terminal parameter.
14861 Handle Vlocal_environment_variables.
14862 (Fgetenv_internal): Add terminal parameter.
14863 (child_setup, getenv_internal, Fgetenv_internal): Store the local
14864 environment in a frame (not terminal) parameter. Update doc strings.
14865 (set_initial_environment): Rename from set_global_environment.
14866 Store Emacs environment in initial frame parameter.
14867
14868 * xdisp.c (redisplay_internal): Update references to
14869 `previous_terminal_frame'.
14870 (display_mode_line, Fformat_mode_line): Replace calls to
14871 `push_frame_kboard' with `push_kboard'.
14872 (get_glyph_string_clip_rects): Add extra parentheses and
14873 braces to prevent compiler warnings.
14874 (calc_pixel_width_or_height): Add xassert to check that the
14875 frame is alive. Don't call `lookup_image' on a termcap frame.
14876 (message2_nolog, message3_nolog, redisplay_internal)
14877 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
14878 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
14879 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
14880 (Fx_display_pixel_width, Fx_display_pixel_height)
14881 (Fx_display_planes, Fx_display_color_cells)
14882 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
14883 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
14884 (Fx_display_backing_store, Fx_display_visual_class)
14885 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
14886 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
14887
14888 * xfns.c (x_set_foreground_color x_set_background_color)
14889 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
14890 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14891 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
14892 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
14893 terminal that is being deleted.
14894 (Fx_create_frame): Use `store_frame_param' to set `window-system'
14895 frame parameter, and make sure it overrides any user-supplied setting.
14896 (Fx_close_connection, Fx_synchronize): Unify argument names with
14897 the rest of the DEFUNs.
14898
14899 * dispnew.c (Fsend_string_to_terminal): Update call to
14900 `get_tty_terminal'.
14901 (Fredraw_frame, Fsend_string_to_terminal)
14902 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
14903 FRAME_TERMCAP_P and FRAME_TTY.
14904 (window_change_signal): Don't believe width/height values that are
14905 impossibly small.
14906 (Vinitial_window_system): Rename from Vwindow_system.
14907 (termscript, Wcm, rif): Delete.
14908
14909 * termhooks.h (struct terminal): New struct containing the
14910 previously global text display hooks and new members NAME,
14911 DELETED and PARAM_ALIST.
14912 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
14913 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
14914 (FRAME_RIF): New macros.
14915 (get_terminal_param, get_device): New declarations.
14916 (termscript): Delete declaration.
14917
14918 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
14919 (XTflash, x_free_frame_resources, x_scroll_bar_create)
14920 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
14921 FRAME_FOREGROUND_PIXEL.
14922 (x_fully_uncatch_errors): Disable definition.
14923 (x_scroll_bar_expose): Fix reference to foreground pixel.
14924 (XTread_socket): Disable loop on all X displays.
14925 (x_delete_terminal): Don't set terminal->deleted and let
14926 delete_terminal delete the frames on the terminal.
14927 (x_delete_display): Doc update to reflect changes in
14928 delete_terminal.
14929 (x_display_info) <terminal>: Move member earlier in the struct.
14930 (deleting_tty): Remove old variable.
14931 (Fsuspend_tty): Call clear_tty_hooks.
14932 (Fresume_tty, init_tty): Call set_tty_hooks.
14933 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
14934 errors on X frames.
14935 (x_catch_errors_unwind): Abort if x_error_message is NULL.
14936 (handle_one_xevent): Initialize `f' to NULL.
14937 (x_delete_terminal, x_create_terminal): New functions.
14938 (XTset_terminal_modes, XTreset_terminal_modes)
14939 (XTread_socket, x_connection_closed, x_term_init)
14940 (x_term_init, x_delete_display): Add terminal parameter.
14941 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
14942 X connections.
14943
14944 * frame.c: Include termchar.h.
14945 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
14946 (Qwindow_system, Qenvironment, Qterm_environment_variable)
14947 (Qdisplay_environment_variable): New vars.
14948 (Fframep): Deal with output_initial.
14949 (Fframe-live-p): Doc fix.
14950 (Fwindow-system): New function.
14951 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
14952 (make_terminal_frame): Don't create frames on a terminal that is
14953 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14954 (store_frame_param): Check for found_for_frame before calling XFRAME.
14955 (Fmake_terminal_frame): Handle NULL tty names correctly.
14956 (syms_of_frame): Enhance doc string of `default-frame-alist'.
14957 (Fdelete_frame): Remove unused variable `count'. Don't allow other
14958 frames to refer to a deleted frame in their 'environment parameter.
14959 (Fframe_with_environment): New function.
14960 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
14961 (get_future_frame_param): New function.
14962 (Fmake_terminal_frame): Use it.
14963 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
14964
14965 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
14966 * sysdep.c (reset_sys_modes): Update for renames.
14967
14968 * keyboard.c (tty_read_avail_input): New function.
14969 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
14970 (syms_of_keyboard): Defsubr them.
14971 (Fset_input_meta_mode, Fset_quit_char): New functions.
14972 (Fset_input_mode): Split to above functions.
14973 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
14974 parameter. Use it in call to `read_char'.
14975 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
14976 Set wrong_kboard_jmpbuf correctly in recursive calls.
14977 Use current_kboard to access Vkeyboard_translate_table.
14978 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
14979 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
14980 Update longjmp invocations. Remember the original current_kboard,
14981 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
14982 changes it. Comment out unnecessary calls to
14983 `record_single_kboard_state' and `any_kboard_state'.
14984 Update recursive calls.
14985 (wrong_kboard_jmpbuf): Remove global variable.
14986 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
14987 Handle deleted interrupted_kboards correctly; that is a legal
14988 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
14989 and read_char calls. Abort if interrupted_kboard died in read_char.
14990 (any_kboard_state, single_kboard_state)
14991 (push_frame_kboard): Remove function.
14992 (pop_kboard): Switch out of single_kboard mode if the kboard has
14993 been deleted. Remove unused variable. Help debugging by not
14994 changing current_kboard unnecessarily. Set current_kboard to the
14995 kboard of the selected frame when the stored kboard object has
14996 been deleted before pop_kboard.
14997 (temporarily_switch_to_single_kboard): Change first parameter to a
14998 frame pointer. Throw an error when caller wants to change kboards
14999 while in single_kboard mode. Don't push_kboard if we weren't in
15000 single kboard state. Don't pop_kboard if we popped into any
15001 kboard state.
15002 (restore_kboard_configuration): Abort if pop_kboard changed the
15003 kboard in single_kboard mode. Call pop_kboard only after setting
15004 up single_kboard mode.
15005 (Frecursive_edit): Switch to single_kboard mode only in nested
15006 command loops.
15007 (cmd_error, command_loop, command_loop_1, timer_check):
15008 Comment out unnecessary call to `any_kboard_state' and
15009 `record_single_kboard_state'.
15010 (delete_kboard): Exit single_kboard mode if we have just deleted
15011 that kboard. Use FRAME_KBOARD.
15012 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
15013 `fatal_error_signal'.
15014 (record_single_kboard_state): Don't push_kboard if we weren't in
15015 single kboard state. Don't pop_kboard if we popped into any
15016 kboard state.
15017 (push_frame_kboard): Rename to push_kboard.
15018 (kbd_buffer_get_event): Use FRAME_TERMINAL.
15019 (read_avail_input): Read input from all terminals.
15020 (mark_kboards): Also mark Vkeyboard_translate_table.
15021 (kbd_buffer_store_event_hold): Simplify condition.
15022 (read_key_sequence): Reinitialize fkey and keytran at each replay.
15023 (Vkeyboard_translate_table): Move to struct kboard.
15024 (init_kboard): Initialize Vkeyboard_translate_table.
15025 (syms_of_keyboard): Use DEFVAR_KBOARD to define
15026 Vkeyboard_translate_table. Update doc strings. Update docs of
15027 local-function-key-map and function-key-map.
15028
15029 * terminal.c: New file.
15030
15031 * term.c: Include errno.h.
15032 (Vring_bell_function, device_list, initial_device)
15033 (next_device_id, ring_bell, update_begin, update_end)
15034 (set_terminal_window, cursor_to, raw_cursor_to)
15035 (clear_to_end, clear_frame, clear_end_of_line)
15036 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
15037 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
15038 (syms_of_term): Move their initialization to terminal.c.
15039 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
15040 (Ftty_display_color_cells)
15041 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
15042 (clear_tty_hooks, set_tty_hooks)
15043 (init_tty, maybe_fatal): New functions.
15044 (Ftty_type): Return nil if terminal is not on a tty instead of
15045 throwing an error. Doc update.
15046 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
15047 Doc update. Initialize new subrs and variables.
15048 (delete_tty): Use terminal->deleted.
15049 (tty_set_terminal_modes): Rename from set_terminal_modes.
15050 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
15051 (set_scroll_region): Rename to `tty_set_scroll_region'.
15052 (turn_on_insert): Rename to `tty_turn_on_insert'.
15053 (turn_off_insert): Rename to `tty_turn_off_insert'.
15054 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
15055 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
15056 (toggle_highligh): Rename to `tty_toggle_highlight'.
15057 (background_highlight): Rename to `tty_background_highlight'.
15058 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
15059 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
15060 (tty_set_scroll_region, tty_background_highlight)
15061 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
15062 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
15063 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
15064 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
15065 Add static modifier.
15066 (tty_reset_terminal_modes, tty_set_terminal_window)
15067 (tty_set_scroll_region, tty_background_highlight)
15068 (tty_highlight_if_desired, tty_cursor_to)
15069 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
15070 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
15071 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
15072 renames.
15073
150742007-08-28 Jan Djärv <jan.h.d@swipnet.se>
15075
15076 * keyboard.c: Qrtl is new.
15077 (parse_tool_bar_item): Handle :rtl keyword.
15078 (syms_of_keyboard): Intern :rtl keyword.
15079
15080 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
15081
15082 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
15083 so no Lisp code is executed.
15084 (file_for_image, find_rtl_image): New functions.
15085 (xg_get_image_for_pixmap): Use file_for_image.
15086 (update_frame_tool_bar): If direction is RTL, use RTL image if
15087 defined. Use Gtk stock images if defined.
15088
150892007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15090
15091 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
15092 for nonexistent or zero-width glyph in composition glyph.
15093
150942007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
15095
15096 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
15097
15098 * xdisp.c (Finvisible_p): New function.
15099 (syms_of_xdisp): defsubr it.
15100
151012007-08-24 Juanma Barranquero <lekktu@gmail.com>
15102
15103 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
15104 Doc fixes.
15105
151062007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15107
15108 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
15109
151102007-08-24 Martin Rudalics <rudalics@gmx.at>
15111
15112 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
15113 whether decoding has modified buffer contents.
15114
151152007-08-24 Jason Rumney <jasonr@gnu.org>
15116
15117 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
15118 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
15119 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
15120 (init_svg_functions) [HAVE_NTGUI]: New function.
15121 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
15122 (svg_load_image): Use them.
15123 (svg_load_image) [HAVE_NTGUI]: Implement background.
15124
151252007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15126
15127 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
15128 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
15129 (LIBX): Remove @RSVG_LIBS@.
15130 (LIBES): Add $(RSVG_LIBS).
15131
15132 * image.c (svg_load_image): Blend with specified background if exists.
15133 Use IMAGE_BACKGROUND. Add Mac OS Support.
15134
15135 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
15136 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
15137 Remove macros.
15138 [MAC_OSX] (socket_callback): Do nothing.
15139 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
15140 ReceiveNextEvent.
15141 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
15142 socket_callback.
15143 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
15144
151452007-08-22 Glenn Morris <rgm@gnu.org>
15146
15147 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
15148
151492007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
15150
15151 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
15152
15153 * image.c: Add support for SVG images. Some additional comments
15154 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
15155 (svg_image_p): New function to test for SVG image.
15156 (svg_load): New function to load SVG image.
15157 (svg_load_image): New function, helper for svg_load.
15158 (Qsvg): New Lisp_object.
15159 (svg_keyword_index): New enum.
15160 (svg_format): New static `image_keyword' struct.
15161 (svg_type): New static `image_type' struct.
15162 (librsvg/rsvg.h): Include it.
15163
151642007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
15165
15166 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
15167
151682007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
15169
15170 * lread.c (Qold_style_backquotes): New var.
15171 (syms_of_lread): Init and staticpro it.
15172 (load_warn_old_style_backquotes): New fun.
15173 (Fload): Use them to warn about old style backquotes.
15174 (end_of_file_error, Fload): Remove unused vars.
15175
15176 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
15177
15178 * lread.c (Vold_style_backquotes): New var.
15179 (syms_of_lread): Init and export it to Elisp.
15180 (read1): Set it when we find an old-style (back)quote.
15181
151822007-08-22 Jason Rumney <jasonr@gnu.org>
15183
15184 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
15185
151862007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
15187
15188 * puresize.h (BASE_PURESIZE): Increase to 1140000.
15189
151902007-08-19 Richard Stallman <rms@gnu.org>
15191
15192 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
15193
151942007-08-19 Andreas Schwab <schwab@suse.de>
15195
15196 * alloc.c (pure): Round PURESIZE up.
15197
151982007-08-17 Jan Djärv <jan.h.d@swipnet.se>
15199
15200 * xterm.c (handle_one_xevent): Remove check that mouse click is in
15201 active frame.
15202
152032007-08-16 Richard Stallman <rms@gnu.org>
15204
15205 * eval.c (Fcommandp): Add parens to clarify.
15206
15207 * minibuf.c (Fall_completions): Use enum for type of table.
15208
15209 * emacs.c (USAGE2): Improve text.
15210
152112007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
15212
15213 * term.c (tty_default_color_capabilities): Declare static
15214 variables in file scope, to avoid HPUX compiler problem.
15215
152162007-08-13 Jan Djärv <jan.h.d@swipnet.se>
15217
15218 * gtkutil.c (update_frame_tool_bar): Use -1 as index
15219 to gtk_toolbar_insert.
15220
152212007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
15222
15223 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
15224
15225 * insdel.c (reset_var_on_error): New fun.
15226 (signal_before_change, signal_after_change):
15227 Use it to reset (after|before)-change-functions to nil in case of error.
15228 Bind inhibit-modification-hooks to t.
15229 Don't bind (after|before)-change-functions to nil while they run.
15230
152312007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15232
15233 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
15234 filling pixmap with stippled background.
15235
152362007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15237
15238 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
15239 Don't use invisible frame as parent window for repositioning.
15240
152412007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
15242
15243 * print.c (new_backquote_output): Rename from old_backquote_output.
15244 (print): Inverse its logic (according to its name) so as to match the
15245 behavior of new_backquote_flag in lread.c.
15246
152472007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15248
15249 * gmalloc.c (posix_memalign): New function.
15250
15251 * macterm.c (frame_highlight, frame_unhighlight): Don't call
15252 ActivateControl/DeactivateControl here.
15253 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
15254 frame-notice-user-settings is non-nil.
15255 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
15256 for kEventParamFMFontStyle.
15257 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
15258 mac_pass_command_to_system and mac_pass_control_to_system here.
15259 (XTread_socket): Call ActivateControl/DeactivateControl here.
15260 (XTread_socket) [TARGET_API_MAC_CARBON]:
15261 Check mac_pass_command_to_system and mac_pass_control_to_system here.
15262 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
15263 for window repositioning.
15264
152652007-08-08 Glenn Morris <rgm@gnu.org>
15266
15267 * Replace `iff' in doc-strings and comments.
15268
152692007-08-07 Chong Yidong <cyd@stupidchicken.com>
15270
15271 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
15272
152732007-08-07 Martin Rudalics <rudalics@gmx.at>
15274
15275 * fileio.c (Finsert_file_contents): Run format-decode and
15276 after_insert_file_functions on entire buffer when REPLACE is
15277 non-nil and inhibit modification_hooks and point_motion_hooks.
15278 For consistency, run after_insert_file_functions iff something
15279 got inserted. Move signal_after_change and update_compositions
15280 after code running after_insert_file_functions. Make sure that
15281 undo_list doesn't record intermediate steps of the decoding process.
15282
152832007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15284
15285 * emacs.c (main)
15286 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
15287 Call malloc_enable_thread on interactive startup.
15288
15289 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
15290 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
15291 [USE_PTHREAD]: Conditionalize with it.
15292 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
15293 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
15294 New functions.
15295
152962007-08-06 Chong Yidong <cyd@stupidchicken.com>
15297
15298 * xdisp.c (redisplay_window): When restoring original buffer
15299 position, make sure it is still valid.
15300
15301 * image.c (png_load): Ignore png-supplied background color.
15302
153032007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15304
15305 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
15306 Use kCFAbsoluteTimeIntervalSince1970.
15307
15308 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
15309 New variable.
15310 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
15311 event loop should be quit.
15312 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
15313 Quit dialog event loop if quit_dialog_event_loop is set.
15314
15315 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
15316 (Selection): New typedef. Use instead of ScrapRef.
15317 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
15318 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
15319 (mac_clear_selection): Rename from clear_scrap.
15320 (get_flavor_type_from_symbol): New argument SEL and subsume function of
15321 scrap_has_target_type. All uses changed.
15322 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
15323 (mac_selection_has_target_p): New functions.
15324 (mac_put_selection_value): Rename from put_scrap_string.
15325 (mac_get_selection_value): Rename from get_scrap_string.
15326 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
15327 (put_scrap_private_timestamp, scrap_has_target_type)
15328 (get_scrap_private_timestamp): Remove functions.
15329 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
15330 (x_own_selection, x_get_local_selection):
15331 Use mac_valid_selection_value_p.
15332 (x_own_selection): Don't use put_scrap_private_timestamp.
15333 Record OWNERSHIP-INFO into Vselection_alist instead.
15334 (x_get_local_selection): Don't check type if request is local.
15335 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
15336 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
15337
153382007-08-04 Jan Djärv <jan.h.d@swipnet.se>
15339
15340 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
15341 add comment explaining why.
15342
153432007-08-03 Richard Stallman <rms@gnu.org>
15344
15345 * fileio.c (Fvisited_file_modtime): Use make_time.
15346
153472007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
15348
15349 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
15350 build.
15351
153522007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
15353
15354 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
15355
153562007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
15357
15358 * puresize.h (BASE_PURESIZE): Increase to 1130000.
15359
153602007-07-30 Richard Stallman <rms@gnu.org>
15361
15362 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
15363
153642007-07-29 Jan Djärv <jan.h.d@swipnet.se>
15365
15366 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
15367
153682007-07-28 Nick Roberts <nickrob@snap.net.nz>
15369
15370 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
15371 remote default-directory.
15372
15373 * buffer.c (mode-line-format): Update doc string.
15374
153752007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15376
15377 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
15378 scroll bar gap.
15379 (x_scroll_bar_create): Set bar->fringe_extended_p.
15380 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
15381 on frame edge. Check fringe background extension. Don't clear
15382 extended fringe background area.
15383
15384 * w32term.h (struct scroll_bar): New member fringe_extended_p.
15385 (w32_fill_area): Enclose multiple statements with do ... while (0).
15386
15387 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
15388 Extend fringe background to scroll bar gap.
15389 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
15390 Set bar->fringe_extended_p.
15391 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
15392 Put leftmost/rightmost scroll bars on frame edge. Check fringe
15393 background extension. Don't clear extended fringe background area.
15394
15395 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
15396 New member fringe_extended_p.
15397
153982007-07-25 Glenn Morris <rgm@gnu.org>
15399
15400 * Relicense all FSF files to GPLv3 or later.
15401
15402 * COPYING: Switch to GPLv3.
15403
154042007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
15405
15406 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
15407
15408 * data.c (Finteractive_form): Check for the presence of an
15409 `interactive-form' symbol property more thoroughly.
15410
15411 * data.c (Finteractive_form): Use an `interactive-form' property if
15412 present, analogous to the function-documentation property.
15413
154142007-07-24 Jason Rumney <jasonr@gnu.org>
15415
15416 * w32fns.c (x_real_positions): Get real position from OS instead of
15417 calculating it.
15418
154192007-07-23 Jason Rumney <jasonr@gnu.org>
15420
15421 * filelock.c (current_lock_owner): Allow for @ sign in username.
15422
154232007-07-22 Nick Roberts <nickrob@snap.net.nz>
15424
15425 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
15426 remote default-directory.
15427
15428 * buffer.c (mode-line-format): Describe above case in doc string.
15429
154302007-07-20 Eli Zaretskii <eliz@gnu.org>
15431
15432 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
15433 Define if not defined.
15434
154352007-07-18 Jason Rumney <jasonr@gnu.org>
15436
15437 * w32proc.c (w32_executable_type): Handle 64 bit executables.
15438
154392007-07-18 Richard Stallman <rms@gnu.org>
15440
15441 * data.c (Fsetq_default): Doc fix.
15442
15443 * eval.c (Fsetq): Doc fix.
15444
154452007-07-18 Juanma Barranquero <lekktu@gmail.com>
15446
15447 * coding.c (Ffind_operation_coding_system):
15448 * eval.c (For, Fand): Doc fixes.
15449 Reported by Johan Bockgård.
15450
154512007-07-18 Jan Djärv <jan.h.d@swipnet.se>
15452
15453 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
15454
15455 * xterm.h: Declare x_ewmh_activate_frame.
15456
15457 * xterm.c (x_ewmh_activate_frame): New function.
15458 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
15459
154602007-07-17 Martin Rudalics <rudalics@gmx.at>
15461
15462 * window.c (Fdisplay_buffer): If largest or LRU window is the
15463 only window, split it even if it is not eligible for splitting.
15464 This restores the original behavior broken by the 2007-07-15
15465 change.
15466
154672007-07-17 Glenn Morris <rgm@gnu.org>
15468
15469 * abbrev.c (abbrev_check_chars): New function.
15470 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
15471 Call abbrev_check_chars to check abbrev characters are word
15472 constituents. Doc fix.
15473
154742007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
15475
15476 * process.c (Fstart_process, Fmake_network_process)
15477 (read_process_output): Fix up last changes.
15478
154792007-07-16 Eli Zaretskii <eliz@gnu.org>
15480
15481 * makefile.w32-in (clean): Don't delete *~.
15482
154832007-07-16 Andreas Schwab <schwab@suse.de>
15484
15485 * window.c (Fdisplay_buffer): Use NILP.
15486 (Fset_window_scroll_bars): Likewise.
15487
154882007-07-15 Martin Rudalics <rudalics@gmx.at>
15489
15490 * window.c (window_min_size_2): New function.
15491 (window_min_size_1, size_window, Fdisplay_buffer)
15492 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
15493 windows without mode- or header-lines when window-min-height is
15494 too small.
15495 (size_window): Reset nodelete_p after testing it, following an
15496 earlier note by Kim F. Storm.
15497 (display_buffer): Do not set split_height_threshold to twice the
15498 value of window_min_height to avoid changing the value of a
15499 customizable variable. Rather explicitly check whether the
15500 height of the window that shall be splitted is at least as large
15501 as split_height_threshold.
15502 (Fwindow_full_width_p): New defun.
15503 (syms_of_window): Defsubr it.
15504
15505 * window.h: Add EXFUN for Fwindow_full_width_p.
15506
155072007-07-14 Jason Rumney <jasonr@gnu.org>
15508
15509 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
15510
155112007-07-14 Richard Stallman <rms@gnu.org>
15512
15513 * eval.c (maybe_call_debugger): New function.
15514 (find_handler_clause): Use maybe_call_debugger.
15515 Call it when the handler says `debug'.
15516 Eliminate DEBUGGER_VALUE_PTR.
15517 (Fsignal): Eliminate debugger_value.
15518 (Qdebug): New variable.
15519 (syms_of_eval): Initialize it.
15520
155212007-07-14 Juanma Barranquero <lekktu@gmail.com>
15522
15523 * eval.c (Fprogn):
15524 * keyboard.c (Ftrack_mouse):
15525 * print.c (Fwith_output_to_temp_buffer):
15526 * window.c (Fsave_window_excursion): Doc fix.
15527
155282007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
15529
15530 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
15531
155322007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
15533
15534 * process.h (struct Lisp_Process): Turn slots infd, outfd,
15535 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
15536 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
15537 read_output_delay, and read_output_skip from Lisp_Objects to ints.
15538 Remove unused encoding_carryover.
15539 * process.c: Adjust all functions accordingly.
15540
155412007-07-12 Richard Stallman <rms@gnu.org>
15542
15543 * term.c: Include unistd.h only if HAVE_UNISTD_H.
15544
155452007-07-11 Jason Rumney <jasonr@gnu.org>
15546
15547 * makefile.w32-in (LIBS): Include OLE32.
15548
15549 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
15550 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
15551
155522007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
15553
15554 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
15555 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
15556 from a Lisp_Object into a bare pointer.
15557 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
15558 Adjust the code correspondingly.
15559
15560 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
15561
15562 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
15563 (term_show_mouse_face): Remove unused var `j'.
15564 (handle_one_term_event): Remove unused vars `i' and `j'.
15565 Don't cast return value of ttyname since it's not necessary.
15566
155672007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
15568
15569 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
15570 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
15571
15572 * fns.c (map_char_table): Use an array of int for `indices' rather than
15573 an array of Lisp_Objects (which are only ever integers anyway).
15574 (Fmap_char_table): Update caller.
15575 * lisp.h: Update prototype.
15576 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
15577 * fontset.c (Ffontset_info):
15578 * casetab.c (set_case_table): Update callers.
15579
15580 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
15581
15582 * keymap.c (struct accessible_keymaps_data)
15583 (struct where_is_internal_data): New structures.
15584 (accessible_keymaps_1, where_is_internal_1): Use them to change
15585 interface to adhere to the one used by map_keymap.
15586 (Faccessible_keymaps, where_is_internal): Use map_keymap.
15587 (accessible_keymaps_char_table, where_is_internal_2): Remove.
15588
15589 * keymap.h (map_keymap_function_t): More informative prototype.
15590
155912007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
15592
15593 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
15594 (looking_at_1): Don't change search_regs and last_thing_searched
15595 if `inhibit-changing-match-data' is non-nil.
15596 (string_match_1, search_buffer, set_search_regs): Likewise.
15597 (syms_of_search): Add Lisp level definition for
15598 `inhibit-changing-match-data' and set it to nil.
15599 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
15600 start and end of the match, instead of using values in search_regs.
15601
156022007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
15603
15604 * minibuf.c (Fcompleting_read): New value `confirm-only'
15605 for `require-match'.
15606
156072007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
15608
15609 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
15610 part of the 2007-06-27 change to syms_of_fileio.
15611
156122007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15613
15614 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
15615 Check WINDOWP before using XWINDOW. Consolidate return statements.
15616
156172007-06-27 Richard Stallman <rms@gnu.org>
15618
15619 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
15620
156212007-06-27 Juanma Barranquero <lekktu@gmail.com>
15622
15623 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
15624
156252007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15626
15627 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
15628 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
15629 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
15630 (_free_internal, memalign): Use them.
15631 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
15632 Initialize to PTHREAD_MUTEX_INITIALIZER.
15633 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
15634 (morecore_nolock): Rename from morecore. All uses changed.
15635 Use only nolock versions of internal allocation functions.
15636 (_malloc_internal_nolock, _realloc_internal_nolock)
15637 (_free_internal_nolock): New functions created from
15638 _malloc_internal, _realloc_internal, and _free_internal.
15639 (_malloc_internal, _realloc_internal, _free_internal): Use them.
15640 Copy hook value to automatic variable before its use.
15641 (memalign): Copy hook value to automatic variable before its use.
15642
156432007-06-26 Kenichi Handa <handa@m17n.org>
15644
15645 * coding.c (Ffind_operation_coding_system): Docstring improved.
15646 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
15647
156482007-06-25 David Kastrup <dak@gnu.org>
15649
15650 * keymap.c (Fcurrent_active_maps): Add `position' argument.
15651 (Fwhere_is_internal): Adjust call to `current-active-maps' to
15652 cater for additional parameter.
15653
15654 * keymap.h: Adjust number of parameters to `current-active-maps'.
15655
15656 * doc.c (Fsubstitute_command_keys): Adjust call of
15657 `current-active-maps'.
15658
156592007-06-25 David Kastrup <dak@gnu.org>
15660
15661 * callint.c (Fcall_interactively): Make the parsing of interactive
15662 specs somewhat more readable.
15663
156642007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15665
15666 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
15667 to scroll bar gap also when bitmap fills fringe. Draw only foreground
15668 if extended background has already been filled.
15669
156702007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15671
15672 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
15673 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
15674
15675 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
15676 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
15677 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
15678 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
15679 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
15680 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
15681 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
15682 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
15683 Run timers during dialog popup.
15684 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
15685
156862007-06-21 Jason Rumney <jasonr@gnu.org>
15687
15688 * image.c (convert_mono_to_color_image): Swap fore and background.
15689
156902007-06-20 Jason Rumney <jasonr@gnu.org>
15691
15692 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
15693 (w32_free_bdf_font): Unmap memory not handle.
15694
156952007-06-20 Sam Steingold <sds@gnu.org>
15696
15697 * gmalloc.c (__morecore): Fix the declaration to comply with the
15698 definition.
15699
157002007-06-20 Juanma Barranquero <lekktu@gmail.com>
15701
15702 * w32term.c (w32_delete_display): Remove leftover declaration.
15703 (w32_define_cursor, w32_initialize): Make static.
15704
15705 * w32.c (_wsa_errlist): Fix typo in error message.
15706 (init_environment): Ignore any environment variable from the
15707 registry having a null value.
15708
157092007-06-20 Glenn Morris <rgm@gnu.org>
15710
15711 * Makefile.in (LIBGIF): Default to -lgif.
15712
157132007-06-17 Jason Rumney <jasonr@gnu.org>
15714
15715 * w32menu.c (add_menu_item): Don't use multibyte string functions on
15716 unicode strings.
15717
157182007-06-16 Juanma Barranquero <lekktu@gmail.com>
15719
15720 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
15721 Fix typo in docstring.
15722
157232007-06-16 Eli Zaretskii <eliz@gnu.org>
15724
15725 * w32menu.c (add_menu_item): Escape `&' characters in menu items
15726 and their keybindings.
15727
157282007-06-15 Chong Yidong <cyd@stupidchicken.com>
15729
15730 * composite.c (update_compositions): Fix last fix.
15731
157322007-06-14 Jason Rumney <jasonr@gnu.org>
15733
15734 * w32.c (get_process_times_fn): New function pointer.
15735 (globals_of_w32): Intialize it if present in kernel32.dll.
15736 (w32_get_internal_run_time): New function.
15737
15738 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
15739
157402007-06-14 Kenichi Handa <handa@etlken.m17n.org>
15741
15742 * composite.c (update_compositions): Check the validness of
15743 compositions.
15744
157452007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15746
15747 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
15748 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
15749
15750 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
15751 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
15752
15753 * macgui.h (USE_MAC_TOOLBAR): New define.
15754
15755 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
15756 Return immediately unless popup is activated.
15757
15758 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
15759 background to scroll bar gap.
15760 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
15761 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
15762 scroll bars on frame edge. Check fringe background extension.
15763 Don't clear extended fringe background area.
15764 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
15765 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
15766 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
15767 [USE_MAC_TOOLBAR]: New macros.
15768 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
15769 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
15770 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
15771 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
15772 [USE_MAC_TOOLBAR]: New functions.
15773 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
15774 manually if previous repositioning has failed.
15775 (mac_handle_keyboard_event): Use precomputed event kind.
15776 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
15777 as tool bar item click. Handle mouse movement over tool bar items.
15778
15779 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
15780 toolbar_win_gravity.
15781 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
15782 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
15783 Add externs.
15784
15785 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
15786 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
15787
157882007-06-14 Chong Yidong <cyd@stupidchicken.com>
15789
15790 * image.c (search_image_cache): Remove unused variable.
15791
157922007-06-13 Chong Yidong <cyd@stupidchicken.com>
15793
15794 * xfns.c, xmenu.c: Link to xaw3d if available.
15795
157962007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15797
15798 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
15799 frame_foreground and frame_background.
15800
15801 * image.c (lookup_image): Save frame foreground and background colors.
15802 (search_image_cache): Check if saved and current frame colors match.
15803
158042007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
15805
15806 * regex.c (regex_compile): Remove the `regnum' counter.
15807 Use bufp->re_nsub instead. Add support for \(?N:RE\).
15808
158092007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
15810
15811 * term.c: Include intervals.h to declare Fget_text_property.
15812
158132007-06-10 Jason Rumney <jasonr@gnu.org>
15814
15815 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
15816
158172007-06-08 Juanma Barranquero <lekktu@gmail.com>
15818
15819 * callint.c (Fcall_interactively):
15820 * editfns.c (Fdelete_and_extract_region):
15821 * fileio.c (Fread_file_name):
15822 * fns.c (Fmapconcat):
15823 * keyboard.c (cmd_error_internal):
15824 * keymap.c (Fkey_description):
15825 * lread.c (openp):
15826 * minibuf.c (read_minibuf):
15827 * search.c (wordify):
15828 * sunfns.c (sel_read):
15829 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
15830 * xfns.c (x_default_scroll_bar_color_parameter):
15831 * xmenu.c (menu_help_callback):
15832 * xselect.c (Fx_get_atom_name):
15833 * xterm.c (x_term_init): Use empty_unibyte_string.
15834
158352007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
15836
15837 * alloc.c (init_strings): Initialize canonical empty strings.
15838 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
15839 canonical empty string when the requested size is 0.
15840
15841 * emacs.c (empty_unibyte_string): Rename from empty_string.
15842 (empty_multibyte_string): New canonical empty string.
15843 (syms_of_emacs): Don't initialize empty_string.
15844
15845 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
15846 string, if appropriate.
15847 (empty_unibyte_string, empty_multibyte_string): New externs.
15848 (empty_string): Remove extern.
15849
15850 * lread.c (syms_of_lread): Use empty_unibyte_string.
15851
158522007-06-07 Jason Rumney <jasonr@gnu.org>
15853
15854 * s/ms-w32.h: Don't define HAVE_TZNAME.
15855
15856 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
15857
158582007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15859
15860 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
15861
15862 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
15863 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
15864
15865 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
15866 Don't call next handler.
15867 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
15868 Remove argument. Install handler to application.
15869 (set_frame_menubar): Don't change deep_p.
15870 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
15871 FRAME_OUTER_TO_INNER_DIFF_Y.
15872 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
15873 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
15874 [HAVE_DIALOGS]: New macros.
15875 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
15876 Use them.
15877 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
15878
15879 * macselect.c [MAC_OSX] (install_service_handler): Rename from
15880 init_service_handler. All callers changed. Return OSStatus value.
15881
15882 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
15883 All callers changed so as not to call SetPortWindowPort.
15884 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
15885 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
15886 mac_draw_string_common.
15887 (mac_draw_image_string_qd): Likewise.
15888 (mac_draw_string_common): Use them. Add INLINE.
15889 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
15890 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
15891 GetGlobalMouse.
15892 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
15893 and FRAME_OUTER_TO_INNER_DIFF_Y.
15894 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
15895 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
15896 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
15897 repositioning window to mac_handle_window_event.
15898 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
15899 saving window location to mac_handle_window_event
15900 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
15901 (install_menu_target_item_handler): Remove argument in extern.
15902 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
15903 Also accept command events.
15904 (do_keystroke): New function created from XTread_socket.
15905 (init_command_handler): Remove functions.
15906 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
15907 and save window location by kEventWindowShowing and kEventWindowHiding
15908 handlers here. Don't call next handler for window state change and
15909 focus events.
15910 (mac_handle_application_event, mac_handle_keyboard_event)
15911 [TARGET_API_MAC_CARBON]: New functions.
15912 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
15913 kEventWindowShowing and kEventWindowHiding events. Move installation
15914 of mouse, font, text input and menu target item handlers to
15915 install_application_handler.
15916 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
15917 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
15918 New function.
15919 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
15920 Register it.
15921 (XTread_socket) [TARGET_API_MAC_CARBON]:
15922 Consolidate SendEventToEventTarget calls.
15923 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
15924 Move application activation handler to mac_handle_application_event.
15925 Move keyboard handler to mac_handle_keyboard_event.
15926 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
15927 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
15928 init_command_handler. Call install_application_handler.
15929
15930 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
15931 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
15932
159332007-06-07 Glenn Morris <rgm@gnu.org>
15934
15935 * emacs.c (main): Use `emacs-copyright' in --version output.
15936
159372007-06-06 Chong Yidong <cyd@stupidchicken.com>
15938
15939 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
15940
159412007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15942
15943 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
15944
15945 * macgui.h: Replace WindowPtr with WindowRef.
15946
15947 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
15948 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
15949 Replace ControlHandle with ControlRef.
15950 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
15951
15952 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
15953 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
15954 Replace ControlHandle with ControlRef.
15955 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
15956 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
15957
15958 * macterm.h (struct scroll_bar): Rename member control_handle_low
15959 and control_handle_high to control_ref_low and control_ref_high.
15960 All uses changed.
15961 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
15962 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
15963 respectively. All uses changed.
15964 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
15965 (install_window_handler, remove_window_handler): Replace WindowPtr
15966 with WindowRef in externs.
15967
159682007-06-05 Juanma Barranquero <lekktu@gmail.com>
15969
15970 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
15971
159722007-06-03 Nick Roberts <nickrob@snap.net.nz>
15973
15974 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
15975
15976 * frame.c (Fmouse_position, Fmouse_pixel_position):
15977 Condition on HAVE_GPM too.
15978
15979 * term.c (term_mouse_highlight): Remove unused variables.
15980 (Fterm_open_connection): Set gpm_zerobased to 1.
15981 (term_mouse_movement, term_mouse_click, handle_one_term_event):
15982 Use zero based co-ordinates.
15983 (handle_one_term_event): Report a drag as mouse movement too.
15984
15985 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
15986
159872007-06-03 Chong Yidong <cyd@stupidchicken.com>
15988
15989 * image.c (search_image_cache): New function. Require background
15990 color match if background color is unspecified in the image spec.
15991 (uncache_image, lookup_image): Use it.
15992
159932007-06-01 Juanma Barranquero <lekktu@gmail.com>
15994
15995 * window.c (Fshrink_window): Reflow docstring.
15996
159972007-06-02 Chong Yidong <cyd@stupidchicken.com>
15998
15999 * Version 22.1 released.
16000
160012007-06-01 Richard Stallman <rms@gnu.org>
16002
16003 * xfns.c (x_encode_text): Add GCPRO.
16004
160052007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16006
16007 * xfns.c (x_set_name_internal): Save encoded name before
16008 x_encode_text in case string data is relocated.
16009
160102007-05-31 Richard Stallman <rms@gnu.org>
16011
16012 * buffer.c (syms_of_buffer): Doc fix.
16013
160142007-05-30 Nick Roberts <nickrob@snap.net.nz>
16015
16016 * sysdep.c (init_sys_modes): Add rather than replace with
16017 O_NONBLOCK.
16018
16019 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
16020 term_mouse_moveto.
16021
16022 * termhooks.h (term_mouse_moveto): New extern.
16023
16024 * term.c (mouse_face_window): Rename...
16025 (Qmouse_face_window): ...to this.
16026 (term_show_mouse_face, term_clear_mouse_face)
16027 (term_mouse_highlight): Use Qmouse_face_window.
16028 (term_mouse_moveto): New function.
16029 (term_mouse_position): Make it work.
16030 (syms_of_term): Uncomment assignment to mouse_position_hook.
16031 Staticpro Qmouse_face_window.
16032
160332007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16034
16035 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
16036 around current_column call.
16037
160382007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
16039
16040 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
16041 * xdisp.c (next_element_from_buffer):
16042 * window.c (delete_window):
16043 * term.c (term_mouse_highlight):
16044 * msdos.c (getdefdir):
16045 * macterm.c (mac_create_bitmap_from_bitmap_data)
16046 (init_font_name_table):
16047 * fns.c (Fsxhash):
16048 * data.c (Fmake_local_variable):
16049 * ccl.c (ccl_driver): Likewise.
16050
160512007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16052
16053 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
16054 Call mac_wakeup_from_rne on window size change.
16055
160562007-05-25 Chong Yidong <cyd@stupidchicken.com>
16057
16058 * image.c (uncache_image): Fix typo.
16059
160602007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
16061
16062 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
16063
160642007-05-22 Richard Stallman <rms@gnu.org>
16065
16066 * xterm.c (x_connection_closed): Remove NO_RETURN.
16067
160682007-05-22 Martin Rudalics <rudalics@gmx.at>
16069
16070 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
16071
160722007-05-21 Chong Yidong <cyd@stupidchicken.com>
16073
16074 * image.c (uncache_image): New function.
16075 (Fimage_refresh): New function.
16076
160772007-05-20 Jan Djärv <jan.h.d@swipnet.se>
16078
16079 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
16080
160812007-05-20 Nick Roberts <nickrob@snap.net.nz>
16082
16083 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
16084 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
16085
160862007-05-20 Nick Roberts <nickrob@snap.net.nz>
16087
16088 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
16089 conditional on [HAVE_GPM_H].
16090
160912007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
16092
16093 * syntax.c (skip_chars): Update syntax-table only after we checked that
16094 the new location is valid.
16095
160962007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16097
16098 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
16099 mac_get_window_bounds.
16100
161012007-05-20 Nick Roberts <nickrob@snap.net.nz>
16102
16103 * Makefile.in (LIBGPM): Allow it to be set from configure.
16104 If set then link Emacs with it.
16105
16106 * config.in: Regenerate.
16107
16108 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
16109 New externs.
16110
16111 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
16112 Include gpm.h.
16113 (handle_one_term_event, term_gpm): New externs.
16114
16115 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
16116 and allow it to be interrupted by SIGIO.
16117
16118 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
16119 (wait_reading_process_output): Wait on gpm_fd too.
16120 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
16121 (add_gpm_wait_descriptor_called_flag): New variable.
16122 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
16123
16124 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
16125 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
16126 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
16127 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
16128 (make_lispy_event): Add case GPM_CLICK_EVENT.
16129 (read_avail_input): Handle mouse input.
16130
16131 * term.c (write_glyphs_with_face): New function.
16132 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
16133 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
16134 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
16135 (mouse_face_face_id, term_gpm, pos_x, pos_y)
16136 (last_mouse_x, last_mouse_y): New variables.
16137 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
16138 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
16139 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
16140 (Fterm_close_connection): New functions.
16141 (term_init): Initialise mouse_face_window.
16142
161432007-05-19 Chong Yidong <cyd@stupidchicken.com>
16144
16145 * xdisp.c (redisplay_window): If first window line is a
16146 continuation line, recompute the new window start instead of
16147 recentering.
16148
161492007-05-18 Glenn Morris <rgm@gnu.org>
16150
16151 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
16152 Suggested by Alfred M. Szmidt <ams@gnu.org>.
16153
161542007-05-17 Glenn Morris <rgm@gnu.org>
16155
16156 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
16157
161582007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16159
16160 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
16161 dead key repeat and up events.
16162
161632007-05-14 Chong Yidong <cyd@stupidchicken.com>
16164
16165 * image.c (pbm_load): Check image size for monochrome pbm.
16166
161672007-05-13 Chong Yidong <cyd@stupidchicken.com>
16168
16169 * xterm.c (XTread_socket): Revert last change.
16170
161712007-05-12 Chong Yidong <cyd@stupidchicken.com>
16172
16173 * image.c (pbm_load): Correctly check image size for greyscale pbm.
16174
16175 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
16176
161772007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
16178
16179 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
16180 mixup (YAILOM).
16181
161822007-05-07 Andreas Schwab <schwab@suse.de>
16183
16184 * keymap.c (Flookup_key): Fix typo in last change.
16185
161862007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
16187
16188 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
16189 mapping for unibyte strings.
16190
161912007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16192
16193 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
16194 (Fx_popup_dialog) [MAC_OSX]: Likewise.
16195
161962007-04-29 Richard Stallman <rms@gnu.org>
16197
16198 * insdel.c (replace_range): For undo, record insertion first.
16199
162002007-04-29 Andreas Schwab <schwab@suse.de>
16201
16202 * lisp.h (VECSIZE): Use OFFSETOF.
16203
162042007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16205
16206 * xdisp.c (try_window_reusing_current_matrix): Fix number of
16207 disabled lines.
16208
162092007-04-28 Richard Stallman <rms@gnu.org>
16210
16211 * lread.c (read_escape): In a string, \s is always space.
16212
162132007-04-27 Jan Djärv <jan.h.d@swipnet.se>
16214
16215 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
16216
16217 * gtkutil.c (xg_update_menubar, create_menus): Create empty
16218 submenu for menu bar items.
16219
16220See ChangeLog.10 for earlier changes.
16221
16222;; Local Variables:
16223;; coding: utf-8
16224;; add-log-time-zone-rule: t
16225;; bug-reference-url-format: "http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=%s"
16226;; End:
16227
16228 Copyright (C) 2007, 2008 Free Software Foundation, Inc.
16229
16230 This file is part of GNU Emacs.
16231
16232 GNU Emacs is free software: you can redistribute it and/or modify
16233 it under the terms of the GNU General Public License as published by
16234 the Free Software Foundation, either version 3 of the License, or
16235 (at your option) any later version.
16236
16237 GNU Emacs is distributed in the hope that it will be useful,
16238 but WITHOUT ANY WARRANTY; without even the implied warranty of
16239 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16240 GNU General Public License for more details.
16241
16242 You should have received a copy of the GNU General Public License
16243 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
16244
16245;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40