Fix typo in previous commit.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
9f688acf
GM
12008-11-26 Glenn Morris <rgm@gnu.org>
2
3 * xfaces.c (Fx_font_family_list): Replace lisp/term/pc-win.el
4 redefinition with ifdef. (Bug#1383)
5
90d19aff
AR
62008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
7
8 * nsterm.m (ns_get_color): Handle long hex strings (fixes bug #1044).
9
102008-11-24 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
11
12 * nsterm.m (-otherMouseDown:, -otherMouseUp:, -otherMouseDragged):
13 New EmacsView methods.
14 (EV_UDMODIFIERS, EV_BUTTON): Add OtherMouse constants.
15 Fixes bug #1048,1357,1414.
16
172008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
18
19 Fix bug #1362.
20 * image.c (x_clear_image_1): Do not free background under HAVE_NS, it
21 is not an indexed color.
22 * nsterm.m (free_indexed_color): Add argument checking.
23 * nsfns.m: Move config.h to before system includes (advised by Dan N.).
24
e7d5ecb3
CY
252008-11-24 Chong Yidong <cyd@stupidchicken.com>
26
27 * minibuf.c (Fcompleting_read, Vminibuffer_completion_confirm):
28 Document confirm-after-completion value for
29 minibuffer-completion-confirm.
30
c285743c
JR
312008-11-24 Jason Rumney <jasonr@gnu.org>
32
33 * w32font.c (check_face_name): Use xstrcasecmp. Avoid compiler
34 warning.
35
b0857706
JR
362008-11-23 Jason Rumney <jasonr@gnu.org>
37
38 * w32uniscribe.c (uniscribe_encode_char): Ensure context is
39 restored before returning.
40
41 * w32font.c (check_face_name): New function.
42 (add_font_entity_to_list): Use it to filter out common substituted
43 fonts.
44
ee50ff07
MR
452008-11-22 Martin Rudalics <rudalics@gmx.at>
46
47 * buffer.c (Fswitch_to_buffer): Reword and mention new option
48 confirm-nonexistent-file-or-buffer in doc-string.
49
b8ff72fa
SM
502008-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
51
52 * buffer.c (Fbuffer_swap_text): Remove redundant marker manipulation.
53 Fix copy/paste typo. Add checks.
54
cee53ed4
KH
552008-11-21 Kenichi Handa <handa@m17n.org>
56
57 * coding.c (detect_coding_iso_2022): Reject invalid composition
58 sequence.
59 (DECODE_COMPOSITION_START): If the current source is the last
60 block, and the current composition doesn't end, regard this
61 sequence as invalid.
62 (decode_coding_iso_2022): Handle invalid composition sequence.
63
f6ef1e65
MR
642008-11-20 Martin Rudalics <rudalics@gmx.at>
65
66 * window.c (coordinates_in_window): Don't return
67 ON_VERTICAL_BORDER for the rightmost position of a mode/header
68 line when the window is not the rightmost one. (Bug#1372)
69
e08b1705
MR
702008-11-16 Ben North <ben@redfrontdoor.org> (tiny change)
71
72 * buffer.c (syms_of_buffer): Fix doc-string of cursor-type.
73
ad98e89f
EZ
742008-11-15 Eli Zaretskii <eliz@gnu.org>
75
76 * msdos.c (run_msdos_command): Don't call dos_ttcooked, dos_ttraw,
77 and bright_bg if noninteractive is non-zero.
78
fb098a4b
CY
792008-11-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
80
81 * xterm.c (x_draw_glyph_string): For stretch glyphs, don't call
82 x_draw_glyph_string_background.
83
84 * w32term.c (x_draw_glyph_string): Likewise.
85
ce952b6e
CY
862008-11-15 Chong Yidong <cyd@stupidchicken.com>
87
88 * xterm.c (x_draw_glyph_string): Stop drawing the background of
89 the next glyph string once past the overhang width.
90
91 * nsterm.m (ns_draw_glyph_string): Likewise.
92
93 * w32term.c (x_draw_glyph_string): Likewise.
94
26ea7079
CY
952008-11-14 Fabrice Popineau <fabrice.popineau@supelec.fr> (tiny change)
96
97 * fileio.c (Finsert_file_contents): Decrement specpdl_ptr to avoid
98 double file close.
99
1c33c906
MR
1002008-11-14 Martin Rudalics <rudalics@gmx.at>
101
102 * window.c (window_loop): In DELETE_BUFFER_WINDOWS case, reset
103 dedicated status of window before attempting to display another
104 buffer in it.
105
8fc29035
JB
1062008-11-14 Juanma Barranquero <lekktu@gmail.com>
107
108 * msdos.c (Fmsdos_long_file_names):
109 (syms_of_msdos) <dos-unsupported-char-glyph>:
110 * dosfns.c (Fint86): Fix typos in docstrings.
111
55fb4286
EZ
1122008-11-14 Eli Zaretskii <eliz@gnu.org>
113
114 * makefile.w32-in (OBJ1, WIN32OBJ): Fix whitespace.
115
3fda0315
KY
1162008-11-14 Katsumi Yamaoka <yamaoka@jpl.org>
117
118 * puresize.h (BASE_PURESIZE): Increase to 1260000.
119
7e849c17
CY
1202008-11-12 Michal Nazarewicz <mina86@tlen.pl> (tiny change)
121
122 * frame.c (x_set_alpha): Set alpha to -1 if nil given.
123
124 * frame.h: Negative alpha means "don't touch".
125
126 * w32term.c (x_set_frame_alpha): Do nothing if alpha is negative.
127
128 * xterm.c (x_set_frame_alpha): Do nothing if alpha is negative.
129
b9fd67bd
DN
1302008-11-12 Dan Nicolaescu <dann@ics.uci.edu>
131
132 * hftctl.c:
133 * chpdef.h:
134 * acldef.h: Remove files used only for systems no longer supported.
135
136 * Makefile.in: Fix .o alphabetical ordering.
137 (hftctl.o): Remove dependency, file removed.
138 (keymap.o, print.o): Depend on charset.h.
139
d5998e03
KH
1402008-11-10 Kenichi Handa <handa@m17n.org>
141
142 * character.c (Fget_byte): Fix and make it faster for unibyte
143 target.
144
be70e183
CY
1452008-11-08 Chong Yidong <cyd@stupidchicken.com>
146
147 * dired.c (file_name_completion): If completion_ignore_case is
148 enabled, ignore case when checking completion-regexp-list.
149
7cf94eac
EZ
1502008-11-08 Eli Zaretskii <eliz@gnu.org>
151
152 * vm-limit.c (get_lim_data): Fix last change.
153
ee107a89
KH
1542008-11-08 Kenichi Handa <handa@m17n.org>
155
156 * character.c (Fget_byte): New function.
157 (syms_of_character): Defsubr Fget_byte.
158
5fd15622
CY
1592008-11-07 Chong Yidong <cyd@stupidchicken.com>
160
161 * xdisp.c (try_window_reusing_current_matrix): Ensure that window
162 cursor position is valid after scrolling.
163
13d62fad
JB
1642008-11-06 Juanma Barranquero <lekktu@gmail.com>
165
166 * fns.c (Frandom): Rename arg N to LIMIT to match the docs; doc fix.
167
a1dd2936
GM
1682008-11-06 Glenn Morris <rgm@gnu.org>
169
170 * xterm.c (handle_one_xevent): Don't let popup menus cause
171 mouse-autoselect-window related window switching. (Bug#1261)
172
860cd236
CY
1732008-11-04 David Smith <davidsmith@acm.org> (tiny change)
174
175 * xterm.c (xim_close_dpy): Avoid double-free on X11R6 XIM.
176
653a3150
AS
1772008-11-04 Andreas Schwab <schwab@suse.de>
178
179 * xfns.c (Fx_wm_set_size_hint): Add missing return value.
180
870f5cac
CY
1812008-11-03 Chong Yidong <cyd@stupidchicken.com>
182
183 * xfns.c (Fx_wm_set_size_hint): New function.
184
1e02f3cb
MR
1852008-11-03 Martin Rudalics <rudalics@gmx.at>
186
187 * textprop.c (Fprevious_single_char_property_change): Return 0
188 when there's no change in a string. (Bug#1301)
189
e630dfc6
MR
1902008-11-02 Martin Rudalics <rudalics@gmx.at>
191
192 * frame.c (do_switch_frame): New argument NORECORD passed to
193 Fselect_window.
194 (Fselect_frame): New argument NORECORD passed to
195 do_switch_frame.
196 (Fset_frame_selected_window): New argument NORECORD passed to
197 Fselect_frame.
198 (Fhandle_switch_frame, Fdelete_frame): Handle NORECORD argument
199 in call of do_switch_frame.
200 (Fset_mouse_position, Fset_mouse_pixel_position, Fraise_frame):
201 Handle NORECORD argument in call of Fselect_frame.
202 * lisp.h (do_switch_frame, Fselect_frame)
203 (Fset_frame_selected_window): Adjust declarations.
204 * window.c (select_frame_norecord): New function.
205 (run_window_configuration_change_hook): Use it and call
206 Fselect_frame with NORECORD set.
207 (Fselect_window): Pass NORECORD to Fselect_frame.
208 (Fset_window_configuration): Handle NORECORD argument in call of
209 do_switch_frame.
210 * minibuf.c (choose_minibuf_frame): Handle NORECORD in call of
211 Fset_frame_selected_window.
212 * keyboard.c (command_loop_1): Handle NORECORD in call of
213 Fselect_frame (currently ifdefd).
214
9020b223
GM
2152008-11-02 Ulrich Mueller <ulm@kph.uni-mainz.de>
216
217 * emacs.c (USAGE2): Untabify.
218
793ffee8
SM
2192008-11-01 Stefan Monnier <monnier@iro.umontreal.ca>
220
221 * composite.c (fill_gstring_header): Fix copy/paste typo.
222
ab6d1131
MR
2232008-10-31 Martin Rudalics <rudalics@gmx.at>
224
225 * window.c (Fnext_window, Fprevious_window): Rewrite doc-string.
226 (Fother_window): Rename argument and rewrite doc-string.
227 (select_window_norecord): Fix return value. (Bug#1276)
228
601a9cf1
JB
2292008-10-30 Juanma Barranquero <lekktu@gmail.com>
230
231 * w32fns.c (x_create_tip_frame): Prevent default foreground color for
232 new frames overriding foreground for tooltips. Based on similar patch
233 from Martin Rudalics <rudalics@gmx.at>. (Bug#1032)
234
813b0652
CY
2352008-10-29 Chong Yidong <cyd@stupidchicken.com>
236
237 * emacs.c (Fdaemon_initialized): Initialize nfd.
238
4414f58f
MR
2392008-10-29 Martin Rudalics <rudalics@gmx.at>
240
241 * window.c (Fwindow_height, Fdelete_window, set_window_buffer)
242 (Fwindow_text_height): Clarify doc-strings.
243 * xdisp.c (syms_of_xdisp): Mention set-window-buffer in
244 doc-string of window-scroll-functions.
245
ecdcaa09
RS
2462008-10-28 Reiner Steib <Reiner.Steib@gmx.de>
247
248 * category.c (syms_of_category): Fix typo in docstring.
249
23fe745a
JB
2502008-10-28 Juanma Barranquero <lekktu@gmail.com>
251
252 * window.c (Fwindowp, Fwindow_live_p, Fwindow_minibuffer_p)
253 (Fcoordinates_in_window_p, Fscroll_left, Fscroll_right):
254 Fix typos in docstrings.
255
ff808935
DN
2562008-10-28 Dan Nicolaescu <dann@ics.uci.edu>
257
258 * emacs.c (daemon_pipe): Make non-static.
259 (IS_DAEMON): Move definition ...
260 * lisp.h (IS_DAEMON): ... here.
261 (daemon_pipe): Declare.
262 (is_daemon): Remove.
263 * dispnew.c (init_display): Use IS_DAEMON.
264
fc012771
SM
2652008-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
266
267 * xdisp.c (pos_visible_p, redisplay_internal, message3_nolog)
268 (message2_nolog): Check FRAME_INITIAL_P instead of noninteractively.
269
270 * emacs.c (is_daemon): Remove.
271 (main): Don't set is_daemon.
272 (IS_DAEMON): New macro.
273 (Fdaemonp, Fdaemon_initialized): Use it.
601a9cf1 274 (Fdaemon_initialized): Write a char into the pipe to make sure the
fc012771
SM
275 parent exits.
276 (syms_of_emacs): Explicitly initialize daemon_pipe[1].
277
d8bdbe6f
CY
2782008-10-27 Chong Yidong <cyd@stupidchicken.com>
279
d1a072bf
CY
280 * nsterm.m (ns_draw_window_cursor): When hbar cursor is on
281 over-sized glyph, draw it with the default glyph width.
282
e2e325aa
CY
283 * w32term.c (x_draw_bar_cursor): When hbar cursor is on over-sized
284 glyph, draw it with the default glyph width.
285
286 * xterm.c (x_draw_bar_cursor): When hbar cursor is on over-sized
287 glyph, draw it with the default glyph width.
288
d8bdbe6f
CY
289 * xdisp.c (try_scrolling): When computing the distance from the
290 scroll margin to PT, try moving some distance past the window
291 bottom before giving up.
292
7bfac547
MR
2932008-10-27 Martin Rudalics <rudalics@gmx.at>
294
295 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p)
296 (Fset_window_buffer): Explain in doc-string that a window can be
297 "strongly" dedicated to its buffer.
298
4ff029f6
DN
2992008-10-27 Dan Nicolaescu <dann@ics.uci.edu>
300
301 * emacs.c (daemon_name): New variable.
302 (main): Deal with --daemon=SERVER_NAME.
303 (Fdaemonp): Return a name if one was passed to --daemon.
304
5790ef40
DN
3052008-10-26 Romain Francoise <romain@orebokech.com>
306
f9bd0df9 307 * emacs.c (daemon_pipe): New variable.
5790ef40
DN
308 (main): Create a pipe before forking, make the parent exit only after
309 the child has closed its end of the pipe. Move closing the
310 descriptors ...
311 (Fdaemon_initialized): ... here. New function.
312
f5385255
SM
3132008-10-26 Stefan Monnier <monnier@iro.umontreal.ca>
314
4d632321
SM
315 * chartab.c (Foptimize_char_table): Make sure `ascii' doesn't point to
316 the previous unoptimized table.
317
f5385255
SM
318 * window.c (Fset_window_buffer): Undo 2008-10-18 change to re-instate
319 the distinction between non-nil and non-t value of `dedicated'.
320
6c56a0f3
CY
3212008-10-25 Chong Yidong <cyd@stupidchicken.com>
322
323 * keyboard.c (read_char_minibuf_menu_prompt): Ensure that
f5385255 324 read_char_minibuf_menu_text is large enough to hold the menu string.
6c56a0f3 325
fec89261
MR
3262008-10-25 Martin Rudalics <rudalics@gmx.at>
327
328 * window.c (Fget_buffer_window, Fdelete_windows_on)
329 (Freplace_buffer_in_windows): Make buffer argument optional and
330 rename to buffer_or_name.
331
34fcddd0
CY
3322008-10-24 Chong Yidong <cyd@stupidchicken.com>
333
f5385255
SM
334 * xdisp.c (handle_single_display_spec, handle_display_prop):
335 Undo 2005-05-16 change.
34fcddd0
CY
336 (handle_stop): Pop iterator if it's loaded with an empty string.
337 (get_overlay_strings_1): Don't save iterator if it's loaded with
338 an empty string (bug#1201).
339
064766f2
KH
3402008-10-24 Kenichi Handa <handa@m17n.org>
341
342 * ftfont.c (ftfont_otf_features): Fix previous change.
343 (ftfont_otf_capability): Check FeatureList.FeatureCount before
344 calling ftfont_otf_features.
345
f9bd0df9 3462008-10-24 Kenichi Handa <handa@m17n.org>
064766f2
KH
347
348 * font.c (font_match_p): Fix for the case that a vector of
349 characters is in script-representative-chars.
350
1dae9197
MA
3512008-10-24 Michael Albinus <michael.albinus@gmx.de>
352
353 * dbusbind.c (xd_in_read_queued_messages): New variable.
f5385255 354 (XD_SIGNAL1, XD_SIGNAL2, XD_SIGNAL3): New macros. Throw Qdbus_error.
1dae9197
MA
355 (xd_read_queued_messages): Catch Qdbus_error from the macros.
356 (all): Replace xsignal1, xsignal2, xsignal3 by the respective
357 macro. (Bug#1186).
358
f9bd0df9 3592008-10-23 Ali Bahrami <ali_gnu@emvision.com> (tiny change)
9b3362b8
DN
360
361 * s/sol2-10.h: New file.
362
878a4584
JB
3632008-10-23 Juanma Barranquero <lekktu@gmail.com>
364
365 * xdisp.c (fill_glyph_string): Fix typo in source (though the
366 poor beast has survived 9+ years and the jump from xterm.c!).
367
cd265ca6
MR
3682008-10-23 Martin Rudalics <rudalics@gmx.at>
369
370 * buffer.c (Fget_buffer_create): Rename arg to buffer_or_name.
371 Reword doc-string.
f5385255 372 (Fbury_buffer): In doc-string say what happens to the buffer's window.
cd265ca6 373
472a4dc9
JB
3742008-10-23 Juanma Barranquero <lekktu@gmail.com>
375
376 * character.c (syms_of_character) <script-representative-chars>:
377 <unicode-category-table>: Doc fixes.
378
159bd5a2
NF
3792008-10-23 Noah Friedman <friedman@splode.com>
380
381 * coding.c (make_conversion_work_buffer): Check that
382 Vcode_conversion_reused_workbuf is a live buffer, otherwise call
383 Fget_buffer_create.
384
49f9c344
KH
3852008-10-23 Kenichi Handa <handa@m17n.org>
386
387 * font.c (font_add_log): Check the values of extra properties.
388
12bb3111
MR
3892008-10-22 Martin Rudalics <rudalics@gmx.at>
390
391 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
392 Reword doc-string.
393 (Fset_window_parameter): Use NILP.
394 (Fscroll_up, Fscroll_down, Fminibuffer_selected_window)
f5385255 395 (Frecenter): Use "selected" instead of "current" window in doc-strings.
12bb3111 396
bbeb4e99
JB
3972008-10-22 Juanma Barranquero <lekktu@gmail.com>
398
399 * xdisp.c (next_element_from_buffer): Remove bogus xassert condition.
400
4012008-10-22 Adrian Robert <Adrian.B.Robert@gmail.com>
cb83c00b
AR
402
403 * nsfns.m (ns_appkit_version): New function.
404 (x-server-version): Use it.
405 (syms_of_nsfns): Define ns-version-string here, not nsterm.m.
406 (x-server-vendor): Don't check_ns().
407
408 * nsterm.m (syms_of_nsterm): Drop ns-version-string.
409
a9b555d3
JB
4102008-10-22 Juanma Barranquero <lekktu@gmail.com>
411
412 * w32fns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert.
413 Copied from 2005-02-03 change to xfns.c by Kim F. Storm.
414
4626499f
KH
4152008-10-22 Kenichi Handa <handa@m17n.org>
416
e3681952
KH
417 * syntax.c (scan_words): Call word_boundary_p instead of comparing
418 scripts.
419
4626499f
KH
420 * category.c (word_boundary_p): Check scripts instead of charset.
421 Handle nil value in word-separating-categories and
422 word-combining-categories.
423 (syms_of_category): Fix docstrings of word-separating-categories
424 and word-combining-categories.
425
1560f91a
EZ
4262008-10-21 Eli Zaretskii <eliz@gnu.org>
427
428 * coding.c (Fencode_coding_region, Fdecode_coding_region)
429 (Fdecode_coding_string, Fencode_coding_string): Doc fix.
430
f4668441
MR
4312008-10-21 Martin Rudalics <rudalics@gmx.at>
432
433 * buffer.c (Fget_buffer, Fbury_buffer, switch_to_buffer_1):
434 Rename arg "buffer" to "buffer_or_name".
435 (Fkill_buffer): Rename arg "buffer" to "buffer_or_name" and make
436 it optional.
437 (no_switch_window): Remove since the return value is not used.
a9b555d3 438 (Fswitch_to_buffer): Rename arg "buffer" to "buffer_or_name".
f4668441
MR
439 Consider window as dedicated when Fwindow_dedicated_p returns a
440 non-nil value.
441 * lisp.h: Remove prototype for no_switch_window.
442
fd75ddb2
JD
4432008-10-21 Jan Djärv <jan.h.d@swipnet.se>
444
445 * emacs.c (main): Unconditionally set PER_LINUX32 and exec
446 temacs when dumping if HAVE_PERSONALITY_LINUX32 is defined
447
07295713
KH
4482008-10-21 Kenichi Handa <handa@m17n.org>
449
450 * coding.c (detect_coding_charset): For iso-8859-* coding systems,
451 check Vlatin_extra_code_table.
452
712adc82
EZ
4532008-10-20 Eli Zaretskii <eliz@gnu.org>
454
455 * fileio.c (Fset_file_modes): Doc fix.
456
f549eb0b
MA
4572008-10-19 Michael Albinus <michael.albinus@gmx.de>
458
459 * dbusbind.c (XD_OBJECT_TO_DBUS_TYPE): Handle simple type symbols
460 in arrays.
461
aac0c6e3
MR
4622008-10-19 Martin Rudalics <rudalics@gmx.at>
463
464 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
465 Mention kill-buffer in doc-string.
466 (Fset_window_buffer): Reinsert tem check removed in last commit.
467 (Fenlarge_window, Fshrink_window): Have argument names and
468 doc-string follow Elisp manual more closely.
469
4702008-10-18 Eli Zaretskii <eliz@gnu.org>
471
472 * fileio.c (Fset_file_modes): Doc fix.
473
4742008-10-18 Martin Rudalics <rudalics@gmx.at>
475
476 * window.c (Fwindow_width, Fset_window_start)
477 (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter)
f5385255
SM
478 (Fdelete_windows_on, Freplace_buffer_in_windows):
479 Make doc-strings follow code and Elisp manual more closely.
aac0c6e3
MR
480 (Fwindow_dedicated_p): Make window argument optional.
481 (Fset_window_dedicated_p): Rename argument "arg" to "flag".
482 (Fset_window_buffer): Respect any non-nil dedicated value for
483 window. Rename "buffer" argument to "buffer_or_name".
484
4852008-10-18 Ulrich Mueller <ulm@gentoo.org>
486
487 * m/sh3.h: New file, machine description for SuperH.
488
4892008-10-17 Martin Rudalics <rudalics@gmx.at>
490
491 * window.c (Fsplit_window): Rename arg horflag to horizontal.
492
4932008-10-17 Kenichi Handa <handa@m17n.org>
494
495 * ftfont.c (ftfont_otf_features): Fix indexing
496 gsub_gpos->FeatureList.Feature. Check the validity of indices.
497
4982008-10-16 Magnus Henoch <mange@freemail.hu>
499
500 * dbusbind.c (Fdbus_call_method): Unbreak usage line.
501 (Fdbus_call_method_asynchronously): Ditto.
502 This change makes C-h f display the argument list.
503
5042008-10-16 Chong Yidong <cyd@stupidchicken.com>
505
506 * fileio.c (Fexpand_file_name): Doc fix.
507
508 * xfaces.c (Finternal_set_lisp_face_attribute): Make null values
509 of :foreground and :background equivalent to unspecified (20.x
510 compatibility).
511
5122008-10-15 Eli Zaretskii <eliz@gnu.org>
513
514 * buffer.c (syms_of_buffer): Doc fix.
515
5162008-10-14 Kenichi Handa <handa@m17n.org>
517
518 * font.c (font_clear_prop): When clearing font width, clear the
519 average width field too.
520
5212008-10-12 Andreas Schwab <schwab@suse.de>
522
523 * ftfont.c (ftfont_shape_by_flt): Make static.
524 * ftfont.h (ftfont_shape_by_flt): Don't declare.
525
526 * font.c: Don't include <m17n-flt.h>.
527
5282008-10-10 Eli Zaretskii <eliz@gnu.org>
529
530 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Decrease to 10000.
531
5322008-10-09 Eli Zaretskii <eliz@gnu.org>
533
534 * frame.c (make_terminal_frame) [MSDOS]: Remove unused #ifdef'ed
535 away code.
536
5372008-10-09 Chong Yidong <cyd@stupidchicken.com>
538
539 * dispnew.c (update_text_area): Avoid looping due to large glyph
540 overhangs (bug#1070).
541
5422008-10-09 Kenichi Handa <handa@m17n.org>
543
544 * fontset.c (face_for_char): If face->fontset is negative, just
545 return ascii_face.
546
f5385255
SM
547 * font.c (font_delete_unmatched): Fix previous change.
548 Don't reject an entity if DPI and AVGWIDTH of an entity are 0.
aac0c6e3
MR
549
5502008-10-09 Martin Rudalics <rudalics@gmx.at>
551
552 * frame.c (Fraise_frame): On text-only terminals select frame in
553 order to make it visible. (Bug#1061)
554
5552008-10-08 Chong Yidong <cyd@stupidchicken.com>
556
557 * fontset.c (fontset_find_font): Check frame validity.
558
5592008-10-07 Chong Yidong <cyd@stupidchicken.com>
560
a9b555d3 561 * gtkutil.c (xg_display_open): Reset default display if none exists.
aac0c6e3
MR
562 (xg_display_close): Allow Emacs to close all displays (bug#985).
563
5642008-10-06 Andreas Schwab <schwab@suse.de>
565
f5385255 566 * sysdep.c (sys_signal): Always set SA_RESTART when noninteractively.
aac0c6e3
MR
567
5682008-10-06 Chong Yidong <cyd@stupidchicken.com>
569
f5385255 570 * emacs.c (Vbefore_init_time, Vafter_init_time): Move from startup.el.
aac0c6e3 571
a9b555d3 572 * lisp.h (Vbefore_init_time, Vafter_init_time): Declare.
aac0c6e3
MR
573
574 * gtkutil.c (x_wm_set_size_hint): Return immediately if called
575 during initialization.
576
5772008-10-04 Eli Zaretskii <eliz@gnu.org>
578
579 * xdisp.c (redisplay_internal): If frame switched, redisplay the
580 whole thing on MSDOS frames as well as on a TTY.
581
582 * dispnew.c (update_frame): Flush termscript for MSDOS frames as
583 well as for TTY.
584 (Fopen_termscript): Allow opening a termscript on MSDOS frames as
585 well as on a TTY.
586
587 * sysdep.c (init_sys_modes): Set FRAME_GARBAGED_P for MSDOS frames
588 as well as for TTY.
589
590 * systime.h (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
591
592 * dispnew.c (change_frame_size_1): Set FrameRows and FrameCols for
593 MSDOS frames as well.
594
5952008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
596
597 * image.c (x_clear_image_1): Under NS, call ns_free_indexed_color with
598 correct arguments.
599 * menu.c (find_and_return_menu_selection) Add cast.
600
6012008-10-03 Glenn Morris <rgm@gnu.org>
602
603 * emacs.c (USAGE1): Add --daemon.
604
6052008-10-02 Eli Zaretskii <eliz@gnu.org>
606
607 * process.c (procfs_system_process_attributes): Multiply `pcpu' by
608 100, so it's in percents as advertised.
609
6102008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
611
612 * nsterm.h (ns_cursor_types, ns_output.desired_cursor_color)
613 (ns_output.current_cursor, ns_output.desired_cursor)
614 (ns_output.last_inactive, FRAME_CURSOR, FRAME_NEW_CURSOR)
615 (FRAME_NEW_CURSOR_COLOR): Remove.
616
617 * nsfns.m (ns_set_cursor_color): Use FRAME_CURSOR_COLOR.
a9b555d3 618 (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp): Use core Emacs
aac0c6e3
MR
619 enumeration (HOLLOW_BOX_CURSOR, etc.).
620
621 * nsterm.m (ns_frame_rehighlight): Remove commented code.
622 (draw_window_cursor): Simplify code.
f5385255
SM
623 (EmacsView-windowDidBecomeKey:,-windowDidResignKey:):
624 Don't change cursor type. In latter, call rehighlight instead of doing
aac0c6e3 625 updates manually.
a9b555d3
JB
626 (EmacsPrefsController-setPanelFromValues,-setValuesFromPanel):
627 Use core Emacs cursor types.
aac0c6e3 628
b8ff72fa 629 * xdisp.c (draw_glyphs): Don't call notice_overwritten_cursor under NS.
aac0c6e3
MR
630
6312008-10-02 Martin Rudalics <rudalics@gmx.at>
632
633 * process.c (Faccept_process_output): Fix doc-string.
634
6352008-10-02 Dan Nicolaescu <dann@ics.uci.edu>
636
637 * gmalloc.c (__sbrk): Also define for uClibc.
638
639 * s/gnu-linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Add definition
640 for uClibc.
641
6422008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
643
644 * nsfont.m (nsfont_spec_to_traits): Use UnXX masks only for non-normal
645 styles.
646 (nsfont_open): Reenable the cache.
647
6482008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
649
650 * font.c (font_matching_entity): Reflect ATTRS in font selection.
651 (font_find_for_lface) [HAVE_NS]: Don't ignore case.
652
6532008-09-30 Stefan Monnier <monnier@iro.umontreal.ca>
654
655 * dispnew.c (Fsend_string_to_terminal): Don't try to send a string to
656 a suspended terminal.
657
6582008-09-30 Michael Albinus <michael.albinus@gmx.de>
659
660 * dbusbind.c (xd_signature): Use strcat instead of sprintf.
661
6622008-09-30 Eli Zaretskii <eliz@gnu.org>
663
664 * Makefile.in (MSDOS_SUPPORT): Remove ccl.elc and codepage.elc.
665
6662008-09-30 Chong Yidong <cyd@stupidchicken.com>
667
668 * xdisp.c (move_it_to): Don't advance the iterator if the last tab
669 in a continued line coincides with a line beginning.
670
6712008-09-29 Adrian Robert <Adrian.B.Robert@gmail.com>
672
673 * nsfont.m (nsfont_trait_distance): Fix bug.
674 (nsfont_list): Return a list rather than a vector (syncs with Handa
675 changes of 2008-05-14).
676 (nsfont_open): Improve logging.
677
6782008-09-29 Andreas Schwab <schwab@suse.de>
679
680 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
681
6822008-09-28 Martin Rudalics <rudalics@gmx.at>
683
684 * character.c (Fchar_resolve_modifiers): Rewrite Elisp function
685 name as char-resolve-modifiers.
686 Reported by: Markus Triska <markus.triska@gmx.at>
687
6882008-09-28 Dan Nicolaescu <dann@ics.uci.edu>
689
690 * dispnew.c (init_display): Return earlier when running as a daemon.
691
6922008-09-27 Adrian Robert <Adrian.B.Robert@gmail.com>
693
694 * nsfont.m (nsfont_draw): Fix up composition rendering (cmp_from, ...).
695
6962008-09-27 Eli Zaretskii <eliz@gnu.org>
697
698 * composite.c (Fcomposition_get_gstring)
699 (Fcompose_region_internal, Fcompose_string_internal)
700 (Ffind_composition_internal): Doc fix.
701 (syms_of_composite) <compose-chars-after-function>: Doc fix.
702 (syms_of_composite) <auto-composition-function>: Doc fix.
703 (syms_of_composite) <composition-function-table>: Doc fix.
704
7052008-09-25 Chong Yidong <cyd@stupidchicken.com>
706
707 * search.c (wordify): New argument for lax word-ends.
708 (Fword_search_forward_lax, Fword_search_backward_lax): New funs.
709
7102008-09-24 Dan Nicolaescu <dann@ics.uci.edu>
711
712 * lisp.h (is_daemon): Declare.
713 * dispnew.c (init_display): Do not try to initialize the terminal
714 when running as a daemon.
715
7162008-09-22 Chong Yidong <cyd@stupidchicken.com>
717
718 * nsfns.m (compute_tip_xy): Use x_display_pixel_width and
719 x_display_pixel_height.
720
7212008-09-22 Martin Rudalics <rudalics@gmx.at>
722
723 * undo.c (record_point): Don't call Fundo_boundary for first
724 change. (Bug#731)
725
7262008-09-22 Juanma Barranquero <lekktu@gmail.com>
727
728 * emacs.c (Fdaemonp): Doc fix.
729
7302008-09-22 Dan Nicolaescu <dann@ics.uci.edu>
731
732 * emacs.c (main): Place #ifdef in the proper place.
733
7342008-09-21 Dan Nicolaescu <dann@ics.uci.edu>
735
736 * emacs.c (standard_args): Add --daemon.
737 (main): Disconnect from the terminal when --daemon is passed.
738 (is_daemon): New variable.
739 (Fdaemonp): New function.
740 (syms_of_emacs): Defsubr it.
741
7422008-09-20 Chong Yidong <cyd@stupidchicken.com>
743
744 * xdisp.c (get_next_display_element): Handle string display
745 correctly when checking for the end of a box run.
746
7472008-09-20 Glenn Morris <rgm@gnu.org>
748
749 * fileio.c (Qdelete_by_moving_to_trash): New Lisp_Object.
750 (syms_of_fileio): Add Qdelete_by_moving_to_trash.
751 (Frename_file): Avoid copying to trash if a rename involves
752 a delete. (Bug#964).
753
7542008-09-20 Eli Zaretskii <eliz@gnu.org>
755
756 * keyboard.c (Fset_quit_char, Fset_input_meta_mode)
757 (Fset_output_flow_control, Fcurrent_input_mode): Support MSDOS
758 frames as well as termcap frames.
759 (handle_interrupt): Remove "#ifndef MSDOS" around the call to
760 get_named_tty.
761
7622008-09-19 Eli Zaretskii <eliz@gnu.org>
763
764 * process.c (procfs_system_process_attributes): Fix cmdline in
765 case /proc/PID/cmdline is empty.
766
767 * xterm.c (x_wm_set_size_hint): Use x_display_pixel_width and
768 x_display_pixel_height.
769
7702008-09-19 Juanma Barranquero <lekktu@gmail.com>
771
772 * frame.c (x_fullscreen_adjust): Declare var as Display_Info.
773
774 * w32fns.c (Fx_display_pixel_width, Fx_display_pixel_height)
775 (compute_tip_xy): Use x_display_pixel_width, x_display_pixel_height.
776
7772008-09-19 Dan Nicolaescu <dann@ics.uci.edu>
778
779 * dispextern.h (struct it): Move line_wrap away from the middle of
780 bitfields. Move voffset in struct iterator_stack_entry after the
781 bitfields. Move tab_width near after another short.
782
7832008-09-18 Dan Nicolaescu <dann@ics.uci.edu>
784
785 * frame.h (struct frame): Move alpha from the middle of bitfields.
786
787 * window.h (struct window): Move frozen_window_start_p after the
788 rest of the bitfields to reduce padding.
789
7902008-09-18 Chong Yidong <cyd@stupidchicken.com>
791
792 * xterm.h (x_display_info): Remove `height' and `width' members.
793
794 * nsterm.h (ns_display_info): Remove `height' and `width' members.
795
796 * w32term.h (w32_display_info): Remove `height', `width',
797 `height_in', and `width_in' members.
798
b8ff72fa
SM
799 * xterm.c (x_display_pixel_height, x_display_pixel_width):
800 New functions.
aac0c6e3
MR
801 (x_calc_absolute_position): Use them.
802 (x_term_init): Omit removed `height' and `width' members.
803
b8ff72fa
SM
804 * w32term.c (x_display_pixel_height, x_display_pixel_width):
805 New functions.
aac0c6e3
MR
806 (w32_read_socket, x_calc_absolute_position): Use them.
807 (w32_initialize_display_info, w32_term_init): Omit removed members
808 of w32_display_info.
809
b8ff72fa
SM
810 * nsterm.m (x_display_pixel_height, x_display_pixel_width):
811 New functions.
812 (ns_initialize_display_info): Omit removed members of ns_display_info.
aac0c6e3 813
b8ff72fa
SM
814 * xterm.c (x_display_pixel_height, x_display_pixel_width):
815 New functions.
aac0c6e3
MR
816 (x_calc_absolute_position): Use them.
817 (x_term_init): Omit removed `height' and `width' members.
818
819 * xfns.c (Fx_display_pixel_width, Fx_display_pixel_height)
b8ff72fa
SM
820 (compute_tip_xy):
821 * frame.c (x_fullscreen_adjust):
aac0c6e3
MR
822 * xmenu.c (menu_position_func): Use x_display_pixel_height and
823 x_display_pixel_width.
824
8252008-09-18 Kenichi Handa <handa@m17n.org>
826
827 * composite.c (fill_gstring_header): Don't check FROM and TO here.
828 (composition_compute_stop_pos): Fix handling of static composition.
829 (Fcomposition_get_gstring): Check FROM and TO at first.
830
8312008-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
832
833 * composite.c (Fcomposition_get_gstring): Yet another int/Lisp_Oject
834 mixup (YAILOM).
835
8362008-09-17 Chong Yidong <cyd@stupidchicken.com>
837
838 * indent.c (Fvertical_motion): Use position reported by iterator
839 instead of PT for determining screen motion (bug#943).
840
8412008-09-17 Romain Francoise <romain@orebokech.com>
842
843 * composite.c (composition_adjust_point): Fix int/EMACS_INT mixup.
844
8452008-09-17 Kenichi Handa <handa@m17n.org>
846
847 * ftfont.c (ftfont_shape_by_flt): Downcase family name.
848
849 * composite.c (Fcomposition_get_gstring): Make bigger gstring_work
850 if necessary.
851
8522008-09-16 Kenichi Handa <handa@m17n.org>
853
854 * coding.c (make_conversion_work_buffer): Avoid calling
855 Fget_buffer_create if it is not necessary.
856
8572008-09-15 Martin Rudalics <rudalics@gmx.at>
858
859 * window.c (Fselect_window): Don't update window_select_count and
860 use_time when norecord is not nil.
861
8622008-09-14 Kenichi Handa <handa@m17n.org>
863
864 * fileio.c (Finsert_file_contents): Delete incorrect decrement of
865 specpdl_ptr.
866
8672008-09-12 Kenichi Handa <handa@m17n.org>
868
869 * indent.c (scan_for_column): Don't handle automatic composition
870 if the current buffer is not associated with a window.
871
872 * composite.c (composition_reseat_it): If the current buffer is
873 not associated with a window, ignore the automatic composition.
874 (find_automatic_composition): Likewise.
875
8762008-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
877
878 * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
879 (Fgpm_mouse_stop): Use it.
880 * termhooks.h (close_gpm): Declare.
881 * keyboard.c (tty_read_avail_input): Forcefully close the gpm
882 connection if Gpm_GetEvent fails.
883
884 * window.c (set_window_buffer): Always preserve current-buffer.
885
8862008-09-12 Glenn Morris <rgm@gnu.org>
887
888 * charset.c (init_charset): Warn if etc/charsets not found. (Bug#909)
889
8902008-09-11 Glenn Morris <rgm@gnu.org>
891
892 * charset.c (charset-map-path): Doc fix.
893
8942008-09-10 Kenichi Handa <handa@m17n.org>
895
896 * xdisp.c (handle_composition_prop): Set it->cmp_it.ch to -1.
897
898 * font.c (Ffont_shape_gstring): Make glyphs of non-nil adjustment
899 compose a grapheme cluster with the preceding base glyph.
900
901 * composite.c (composition_compute_stop_pos): Fix previous change.
902 Reset cmp_it->id to -1 at first.
903
9042008-09-10 Glenn Morris <rgm@gnu.org>
905
906 * Makefile.in (character.o, chartab.o): Fix config.h typo.
907
9082008-09-09 Chong Yidong <cyd@stupidchicken.com>
909
910 * keyboard.c (read_key_sequence): Reapply translation maps when
911 switching keyboards.
912
9132008-09-09 Kenichi Handa <handa@m17n.org>
914
915 * ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII
916 characters.
917
918 * composite.c (FORWARD_CHAR): Fix calculation
919 of (POSITION).pos_byte.
920 (composition_compute_stop_pos): Limit the search of composition to
921 at most 500 characters ahead. If we reach the limit or find a
922 newline, set cmp_it->ch to -2 and return 0.
923 (composition_reseat_it): Handle the case that cmp_it->ch is -2.
924
9252008-09-08 Kenichi Handa <handa@m17n.org>
926
927 * indent.c (Fvertical_motion): Be sure to set
928 it_overshoot_expected if it.cmp_it.id is non-negative.
929
9302008-09-07 Andreas Schwab <schwab@suse.de>
931
932 * callproc.c (Fcall_process): Don't hold references to string data
933 across garbage collection. Move initialisation of new_argv down
934 to avoid compiler bug.
935
9362008-09-07 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
937
938 * process.c (Fsystem_process_attributes): Doc fix.
939
9402008-09-07 Chong Yidong <cyd@stupidchicken.com>
941
942 * callproc.c (Fcall_process): Canonicalize current directory name.
943
944 * xdisp.c (move_it_to): When moving by vpos, ensure that the
945 iterator advances to the next line if the current line ends in a
946 continued tab.
947
9482008-09-07 Teodor Zlatanov <tzz@lifelogs.com>
949
950 * nsfont.m (nsfont_draw): Fix the references to missing gidx data
951 member to point to cmp_from.
952
953 * xdisp.c: Doc fix for references to gidx data member.
954
9552008-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
956
957 * buffer.c (Fbuffer_swap_text): Reset window->point markers.
958
9592008-09-07 Kenichi Handa <handa@m17n.org>
960
961 * composite.c (FORWARD_CHAR): Check STOP after
962 incrementing (POSITION).pos.
963
9642008-09-06 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
965
966 * process.c (Fsystem_process_attributes): Doc fix.
967
9682008-09-06 Chong Yidong <cyd@stupidchicken.com>
969
970 * keyboard.c (Ftop_level): Doc fix.
971
9722008-09-06 Eli Zaretskii <eliz@gnu.org>
973
974 * xmenu.c (xmenu_show) [!HAVE_X_WINDOWS]: If frame has a
975 minibuffer, don't let lower part of menu invade the echo area.
976
977 * msdos.c (IT_menu_display): Use STRING_CHAR_ADVANCE instead of a
978 "char *q" to access menu text and advance through it. Revert the
979 change that displayed ">" instead of ASCII character 0x10.
980
9812008-09-05 Eli Zaretskii <eliz@gnu.org>
982
983 * menu.c (single_menu_item) [!HAVE_BOXES]: Enable emulation of
984 toggle boxes and radio buttons on MS-DOS as well.
985
9862008-09-05 Kenichi Handa <handa@m17n.org>
987
988 * composite.c (autocmp_chars): Check lookback count.
989 (composition_compute_stop_pos): Set cmp_it->lookback.
990 (composition_reseat_it): Check lookback count.
991 (struct position_record): New struct.
992 (FORWARD_CHAR, BACKWARD_CHAR, CHAR_COMPOSABLE_P): New macros.
993 (find_automatic_composition): New function.
994 (composition_adjust_point): Use find_automatic_composition.
995
996 * dispextern.h (struct composition_it): New member lookback.
997
9982008-09-02 Chong Yidong <cyd@stupidchicken.com>
999
1000 * indent.c (Fvertical_motion): Don't call move_it_by_lines again
1001 if moving by a single line.
1002
10032008-09-02 Andreas Schwab <schwab@suse.de>
1004
1005 * xterm.c (x_delete_display): Fix merge error.
1006
1007 * fileio.c (Fexpand_file_name): Remove unused variables.
1008
10092008-09-02 Eli Zaretskii <eliz@gnu.org>
1010
1011 * fileio.c (Fexpand_file_name): Copy argument `name' into local
1012 storage on all platforms, not just on DOS_NT.
1013
10142008-09-02 Jason Rumney <jasonr@gnu.org>
1015
b8ff72fa
SM
1016 * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show):
1017 Ensure mouse is not grabbed after menu is finished.
aac0c6e3
MR
1018
10192008-09-01 Chong Yidong <cyd@stupidchicken.com>
1020
1021 * xfaces.c (Finternal_set_alternative_font_family_alist)
1022 (Finternal_set_alternative_font_registry_alist): Properly copy
1023 entire alist structure.
1024
10252008-09-01 Kenichi Handa <handa@m17n.org>
1026
1027 * ftfont.c (ftfont_spec_pattern): Don't create a charset of the
1028 representative chars of the script is a vector.
1029 (ftfont_list): Handle the case the representative chars of the
1030 script is a vector.
1031
1032 * character.c (syms_of_character): Docstring of
1033 script-representative-chars fixed.
1034
10352008-08-31 Eli Zaretskii <eliz@gnu.org>
1036
1037 * msdos.c (BUILD_CHAR_GLYPH): New macro.
1038 (IT_menu_display): Use it instead of SET_CHAR_GLYPH to construct
1039 the menu. Allocate larger buffer for `text', to account for
1040 possible ^C characters.
1041
10422008-08-31 Martin Rudalics <rudalics@gmx.at>
1043
1044 * xdisp.c (prepare_menu_bars): Don't call
1045 Vwindow_size_change_functions with arg Qt.
1046
10472008-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
1048
1049 * font.h (font_range):
1050 * fileio.c (report_file_error):
1051 * composite.c (composition_update_it): Yet another int/Lisp_Oject mixup.
1052
10532008-08-30 Glenn Morris <rgm@gnu.org>
1054
1055 * data.c (Fmake_variable_frame_local): Doc fix.
1056
1057 * frame.c (Fmodify_frame_parameters): Doc fix.
1058
10592008-08-30 Eli Zaretskii <eliz@gnu.org>
1060
1061 * w32.c (init_user_info): Allocate buf[] with xmalloc using the size
1062 needed by GetTokenInformation.
1063 (w32_system_process_attributes): Check return values of all system
1064 APIs.
1065
1066 * msdos.c (IT_display_cursor): Write "CURSOR ON/OFF" to termscript
1067 only when the state changes.
1068 (IT_update_begin, IT_update_end): Add termscript trace.
1069
1070 * w16select.c (Fw16_set_clipboard_data): Don't encode text if
1071 clipboard is unavailable. Set dst to NULL if it doesn't point to
1072 malloc'ed data.
1073 (Fw16_get_clipboard_data): Initialize htext to NULL, to avoid
1074 passing random values to xfree.
1075
1076 * dispnew.c (init_display): Set `tty's association in frame's
b8ff72fa 1077 parameters alist to the name of the terminal device, if that is known.
aac0c6e3
MR
1078
10792008-08-29 Jason Rumney <jasonr@gnu.org>
1080
1081 * w32uniscribe.c (uniscribe_check_otf): Don't fallback on DFLT script.
1082
10832008-08-29 Eli Zaretskii <eliz@gnu.org>
1084
1085 * composite.c (fill_gstring_body): Avoid compiler warnings.
1086
1087 * font.c (font_fill_lglyph_metrics): Use EMACS_INT in
1088 LGLYPH_SET_CODE to avoid compiler warnings.
1089
1090 * makefile.w32-in ($(BLD)/w32uniscribe.$(O)): Depend on composite.h
1091
1092 * composite.h (LGLYPH_SET_CODE): Cast `val' to EMACS_INT.
1093
1094 * w32uniscribe.c (uniscribe_shape): Shut up compiler warning in
1095 LGLYPH_SET_CODE.
1096
10972008-08-29 Kenichi Handa <handa@m17n.org>
1098
1099 * fileio.c (report_file_error): Don't downcase the first character
1100 of errstring if it is still unibyte.
1101
11022008-08-29 Kenichi Handa <handa@m17n.org>
1103
1104 These changes are to re-implement the automatic composition so
1105 that it doesn't use text properties.
1106
1107 * Makefile.in (ftfont.o): Depend on composite.h.
1108 (composite.o): Depend dispextern.h, font.h, frame, and window.h.
1109
1110 * character.h (Vunicode_category_table): Extern it.
1111
1112 * character.c (Vunicode_category_table): New variable.
1113 (syms_of_character): DEFVAR_LISP Vunicode_category_table.
1114
1115 * chartab.c (optimize_sub_char_table): Perform more greedy
1116 optimization.
1117
b8ff72fa
SM
1118 * composite.h (enum composition_method):
1119 Delete COMPOSITION_WITH_GLYPH_STRING.
aac0c6e3
MR
1120 (COMPOSITION_METHOD): Don't check COMPOSITION_WITH_GLYPH_STRING.
1121 (Vcomposition_function_table): Extern it.
1122 (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h.
1123 (composition_gstring_put_cache, composition_gstring_from_id)
1124 (composition_gstring_p, composition_gstring_width)
1125 (composition_compute_stop_pos, composition_reseat_it)
1126 (composition_update_it, composition_adjust_point): Extern them.
1127 (Fcomposition_get_gstring): EXFUN it.
1128
1129 * composite.c: Include window.h, frame.h, dispextern.h font.h.
1130 (Vcomposition_function_table)
1131 (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING.
b8ff72fa
SM
1132 (gstring_hash_table, gstring_work, gstring_work_headers):
1133 New variables.
aac0c6e3
MR
1134 (gstring_lookup_cache, composition_gstring_put_cache)
1135 (composition_gstring_from_id, composition_gstring_p)
1136 (composition_gstring_width, fill_gstring_header)
1137 (fill_gstring_body, autocmp_chars, composition_compute_stop_pos)
1138 (composition_reseat_it, composition_update_it)
b8ff72fa 1139 (composition_adjust_point, Fcomposition_get_gstring): New functions.
aac0c6e3
MR
1140 (syms_of_composite): Initialize gstring_hash_table, gstrint_work,
1141 and gstring_work_headers. DEFVAR_LISP composition-function-table.
1142 Defsubr compostion_get_gstring.
1143
1144 * dispextern.h (struct glyph): New union u.cmp. Delete the member
1145 cmp_id.
1146 (struct glyph_string): Delete the member gidx. New members
1147 cmp_id, cmp_from, and cmp_to.
1148 (enum it_method): Delete GET_FROM_COMPOSITION.
1149 (struct composition_it): New struct.
1150 (struct it): New member cmp_it, and iterator_stack_entry.cmp_it.
1151 Delete c, len, cmp_id, cmp_len in u.comp.
1152
1153 * font.h (enum lgstring_indices): Delete it.
b8ff72fa 1154 (LGSTRING_XXX, LGLYPH_XXX): Move these macros to composite.h.
aac0c6e3 1155 (enum lglyph_indices): Likewise.
b8ff72fa 1156 (font_range): Adjust extern.
aac0c6e3
MR
1157 (font_fill_lglyph_metrics): Extern it.
1158
1159 * font.c (QCf): New variable.
1160 (check_gstring): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
1161 (font_prepare_composition): Delete this function.
1162 (font_range): Type and arguments changed.
1163 (Ffont_make_gstring, Ffont_fill_gstring): Delete them.
1164 (font_fill_lglyph_metrics): New function.
b8ff72fa 1165 (Ffont_shape_text): Rename to Ffont_shape_gstring and change arguments.
aac0c6e3 1166 (syms_of_font): DEFSYM QCf. Delete defsubr for
b8ff72fa
SM
1167 Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text.
1168 Defsubr Sfont_shape_gstring.
aac0c6e3
MR
1169
1170 * fontset.h (font_for_char): Extern it.
1171
1172 * fontset.c (font_for_char): New function.
1173
1174 * ftfont.c: Include composite.h.
1175 (ftfont_resolve_generic_family): Add langset "en" to pattern.
b8ff72fa 1176 (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
aac0c6e3
MR
1177
1178 * indent.c: Include composite.h and dispextern.h.
1179 (check_composition): Delete this function.
1180 (scan_for_column): Handle composition by
1181 composition_compute_stop_pos, composition_reseat_it, and
1182 composition_update_it.
1183 (compute_motion): Likewise.
1184 (Fvertical_motion): Fix checking of composition.
1185
1186 * keyboard.c (adjust_point_for_property): Check composition by
1187 composition_adjust_point.
1188
b8ff72fa 1189 * nsterm.m (ns_draw_glyph_string): Adjust for the change of
aac0c6e3
MR
1190 struct glyph_string.
1191
b8ff72fa
SM
1192 * term.c (encode_terminal_code): Adjust for the change of struct glyph.
1193 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3
MR
1194 struct glyph.
1195 (produce_composite_glyph): Likewise.
1196
b8ff72fa
SM
1197 * w32term.c (x_draw_composite_glyph_string_foreground):
1198 Adjust for the change of struct glyph_string.
aac0c6e3
MR
1199 (x_draw_glyph_string): Likewise.
1200
1201 * w32uniscribe.c (struct uniscribe_font_info): Include composite.h.
1202 (uniscribe_shape): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
1203
1204 * xdisp.c: Include font.h.
1205 (it_props): Delete the entry for Qauto_composed.
1206 (init_iterator): Initialize it->cmp_it.id to -1.
1207 (compute_stop_pos): Call composition_compute_stop_pos.
b8ff72fa 1208 (face_before_or_after_it_pos): Adjust for the change of struct it.
aac0c6e3
MR
1209 (handle_auto_composed_prop): Delete it.
1210 (handle_composition_prop): Handle only static composition.
1211 (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION
1212 from xassert. Initialize it->cmp_it.stop_pos.
b8ff72fa 1213 (push_it): Adjust for the change of struct it.
aac0c6e3
MR
1214 (pop_it): Likewise.
1215 (get_next_element): Delete next_element_from_composition.
1216 (CHAR_COMPOSED_P): New macro.
1217 (get_next_display_element): For automatic composition, get a face
1218 from the font in the glyph-string.
1219 (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING,
b8ff72fa 1220 check composition by it->cmp_it.id. Delete GET_FROM_COMPOSITION case.
aac0c6e3
MR
1221 (next_element_from_string): Check if the character at the current
1222 position is composed by CHAR_COMPOSED_P.
1223 (next_element_from_buffer): Likewise.
b8ff72fa 1224 (next_element_from_composition): Adjust for the change of struct
aac0c6e3 1225 it. Update it->cmp_it.
b8ff72fa
SM
1226 (dump_glyph): Adjust for the change of struct glyph.
1227 (fill_composite_glyph_string): Adjust for the change of struct
aac0c6e3
MR
1228 it and struct glyph. Don't handle automatic composition here.
1229 (fill_gstring_glyph_string): New function.
1230 (x_get_glyph_overhangs): Handle automatic composition.
b8ff72fa 1231 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the change of struct glyph.
aac0c6e3
MR
1232 (BUILD_GSTRING_GLYPH_STRING): New macro.
1233 (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for
1234 automatic composition.
b8ff72fa 1235 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3 1236 struct glyph.
b8ff72fa 1237 (x_produce_glyphs): Adjust for the change of struct it.
aac0c6e3 1238
b8ff72fa 1239 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aac0c6e3
MR
1240 the change of struct glyph_string.
1241 (x_draw_glyph_string): Likewise.
1242
12432008-08-29 Glenn Morris <rgm@gnu.org>
1244
1245 * buffer.c (word-wrap): Doc fix.
1246 * xdisp.c (truncate-partial-width-windows): Doc fix.
1247 Increase default to 50.
1248
12492008-08-29 Chong Yidong <cyd@stupidchicken.com>
1250
1251 * xdisp.c (update_tool_bar_unwind): New function.
1252 (update_tool_bar): Temporarily set selected frame before building
1253 tool-bar items.
1254
12552008-08-28 Michael Albinus <michael.albinus@gmx.de>
1256
1257 * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and
1258 snprintf, respectively.
1259 (xd_append_arg): Convert strings with Fstring_make_unibyte.
1260
12612008-08-28 Chong Yidong <cyd@stupidchicken.com>
1262
1263 * Makefile.in: Revert (undocumented) 2008-08-20 change adding
1264 LDFLAGS to GNUstep CC invocation.
1265
12662008-08-27 Chong Yidong <cyd@stupidchicken.com>
1267
1268 * indent.c (Fvertical_motion): Revert last change. Handle the
1269 general case where we are moving forward, and PT spans multiple
1270 screen lines.
1271
1272 * eval.c (find_handler_clause): Temporarily increase
1273 max-lisp-eval-depth while printing the backtrace buffer, to
1274 guarantee that help-mode code can run.
1275
12762008-08-27 Eli Zaretskii <eliz@gnu.org>
1277
1278 * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame
1279 colors under -rv.
1280 (IT_set_frame_parameters): Don't swap foreground and background
1281 colors if `(reverse . t)' is present in the frame properties.
1282 (internal_terminal_init): Call init_frame_faces only for the
1283 initial frame.
1284
12852008-08-27 Andreas Schwab <schwab@suse.de>
1286
1287 * dired.c (Ffile_attributes): Avoid compiler warning in bitshift.
1288
12892008-08-27 Andreas Schwab <schwab@suse.de>
1290
1291 * search.c (search_buffer): Set char_base to zero only at the end.
1292
12932008-08-27 Kenichi Handa <handa@m17n.org>
1294
b8ff72fa 1295 * fileio.c (report_file_error): Fix handling of multibyte error string.
aac0c6e3
MR
1296
12972008-08-27 Andreas Seltenreich <seltenreich@gmx.de>
1298
1299 * xterm.c (x_term_init): Temporarily hide the partially
1300 initialized terminal while calling vendor-specific-keysyms.
1301
13022008-08-26 Eli Zaretskii <eliz@gnu.org>
1303
1304 * msdos.c (internal_terminal_init): Most initializations done only
1305 once, especially initial_screen_colors[] and termscript open.
1306
13072008-08-26 Chong Yidong <cyd@stupidchicken.com>
1308
1309 * eval.c (Fcondition_case): Doc fix.
1310
1311 * widgetprv.h (EmacsFramePart): Change font member to the new font
1312 struct.
1313
1314 * widget.c: Include character.h and font.h for XSETFONT.
1315 (setup_frame_gcs): Compute X font id from font struct, just once.
1316
13172008-08-26 Eli Zaretskii <eliz@gnu.org>
1318
1319 * term.c (get_named_tty): Fix last change.
1320
13212008-08-26 Chong Yidong <cyd@stupidchicken.com>
1322
1323 * indent.c (Fvertical_motion): If moving forward starting from a
b8ff72fa 1324 multi-line string, move the iterator to the last line of that string.
aac0c6e3
MR
1325
13262008-08-25 Eli Zaretskii <eliz@gnu.org>
1327
1328 * frame.c (do_switch_frame): Mark previously displayed frame as
1329 obscured for FRAME_MSDOS_P frames as well.
1330
13312008-08-24 Eli Zaretskii <eliz@gnu.org>
1332
1333 * frame.c (make_terminal_frame): Initialize f->terminal,
1334 f->terminal->reference_count, and scroll bars on MS-DOS as well.
1335 Set the top frame to newly created frame.
1336 (Fmake_terminal_frame): Reuse the_only_display_info.
1337
1338 * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of
1339 estimating available memory.
1340
13412008-08-23 David Reitter <david.reitter@gmail.com>
1342
1343 * nsterm.m (ns_draw_window_cursor): Don't call
1344 NSDisableScreenUpdates and NSEnableScreenUpdates on
1345 non-NS_IMPL_COCOA systems.
1346
13472008-08-23 Andreas Schwab <schwab@suse.de>
1348
1349 * process.c (procfs_system_process_attributes): Fix use of
1350 uninitialized variables.
1351
13522008-08-23 Eli Zaretskii <eliz@gnu.org>
1353
1354 * emacs.c (main) [MSDOS]: Call syms_of_xmenu.
1355
1356 * dispnew.c (init_display): Remove MS-DOS specific conditions for
1357 calling tty-set-up-initial-frame-faces.
1358
b8ff72fa
SM
1359 * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show):
1360 Allow MSDOS frames along with X frames.
aac0c6e3
MR
1361
1362 * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in
1363 addition to output_termcap.
1364
1365 * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode.
1366
1367 * termchar.h (FRAME_TTY): Support output_msdos_raw.
1368 (struct tty_display_info) [MSDOS]: Add fields related to mouse
1369 highlight.
1370
1371 * process.c [!subprocesses]: Define QCname.
1372 (syms_of_process): Intern and staticpro it.
1373
1374 * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
b8ff72fa
SM
1375 Adjust for changes in encoding/decoding routines.
1376 Use encode_coding_object and decode_coding_object instead of
aac0c6e3
MR
1377 encode_coding and decode_coding.
1378
b8ff72fa 1379 * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as argument.
aac0c6e3
MR
1380
1381 * dosfns.c: Include frame.h before termhooks.h.
1382 (dos_cleanup): Use CURTTY ()->termscript instead of a global
1383 variable termscript.
1384
1385 * s/msdos.h (USER_FULL_NAME): Define.
1386 (SYSTEM_PURESIZE_EXTRA): Bump up to 100K.
1387
1388 * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined.
1389 (Fuser_full_name): Use USER_FULL_NAME instead of a literal
1390 pw->pw_gecos.
1391
1392 * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with
1393 SELECTED_FRAME as additional (1st) argument.
1394 (tty_read_avail_input): Handle output_msdos_raw in
1395 addition to output_termcap.
1396
1397 * msdos.c: Include frame.h before termhooks.h.
1398 (mouse_on, mouse_off, mouse_moveto, mouse_init)
1399 (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs)
1400 (show_mouse_face, IT_clear_end_of_line, IT_clear_screen)
1401 (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto)
1402 (IT_set_terminal_modes, IT_reset_terminal_modes)
1403 (IT_set_frame_parameters): Use tty->termscript instead of a global
1404 variable termscript.
1405 (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a
1406 global variable terminal_coding. Don't refer to
1407 Vnonascii_translation_table.
1408 (internal_terminal_init): Set Vwindow_system in current_kboard.
1409 Don't use TTY_CHAR_INS_DEL_OK. Set Vinitial_window_system.
1410 Announce date and time of session start, if termscript is open.
1411 Don't zero out the_only_display_info (it is done in
b8ff72fa
SM
1412 term.c:init_tty). Open termscript only of not already open.
1413 Log "SCREEN SAVED" here, instead of IT_set_terminal_modes. Init mouse
aac0c6e3
MR
1414 here instead of dos_ttraw. Don't initialize display if this is an
1415 initial tty. Don't set FRAME_FONT.
1416 (Vwindow_system_version): Bump to 23.
1417 (dos_ttraw): Accept a TTY argument; all callers fixed. If mouse
1418 is available, set up mouse_position_hook.
1419 (dos_ttraw, IT_set_terminal_modes): If called with initial
1420 terminal, do nothing.
1421 (IT_set_frame_parameters): Handle the Qtty_type frame
1422 parameter by calling internal_terminal_init.
1423 (dos_set_window_size, show_mouse_face)
1424 (clear_mouse_face, IT_note_mode_line_highlight)
1425 (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date)
1426 (dos_rawgetc): Use tty_display_info instead of x_display_info.
1427 (initialize_msdos_display): New function.
1428 (IT_cursor_to, IT_clear_to_end, IT_clear_screen)
1429 (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs)
1430 (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes)
1431 (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin):
b8ff72fa 1432 Accept additional argument: a pointer to a frame. Update all callers.
aac0c6e3
MR
1433 (request_sigio, unrequest_sigio): Don't define, now defined on
1434 sysdep.c.
1435 (IT_write_glyphs): Rewrite to use encode_terminal_code.
1436
1437 * term.c [MSDOS]: Include msdos.h.
1438 (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch. Change cpp
1439 conditional to DOS_NT. Allow only one call to this function in a
1440 session. Don't allocate a new struct tty_display_info; instead,
1441 reuse the_only_display_info. Call get_tty_size to get screen
1442 dimensions. Call init_baud_rate to set bad_rate.
1443 (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body.
1444 (Fsuspend_tty) [MSDOS]: Don't close input and output.
b8ff72fa 1445 (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use stdin/stdout.
aac0c6e3
MR
1446 (get_tty_terminal, get_named_tty, Ftty_type)
1447 (Fcontrolling_tty_p): Handle output_msdos_raw in addition to
1448 output_termcap.
b8ff72fa
SM
1449 (Fresume_tty, Fsuspend_tty, init_tty, delete_tty):
1450 Call add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor
aac0c6e3
MR
1451 only when subprocesses are supported
1452
1453 * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of
1454 f->output_data.x.
1455 (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new
1456 terminal devices.
1457
1458 * msdos.h Remove definition of struct x_display_info and struct
1459 x_output.
1460 (FRAME_FONT): Use output_data.tty.
1461 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define.
b8ff72fa
SM
1462 (struct x_display_info): Rename from display_info. Update all users in
1463 msdos.c.
aac0c6e3 1464 (struct x_output): Remove background_pixel and foreground_pixel.
b8ff72fa 1465 (the_only_display_info): Rename from the_only_x_display.
aac0c6e3
MR
1466 (dos_ttraw): Update prototype.
1467
1468 * Makefile.in (MSDOS_OBJ): Add xmenu.o.
1469 (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc.
1470
14712008-08-23 Jason Rumney <jasonr@gnu.org>
1472
1473 * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword.
1474 (fn_TIFFSetDirectory): New library function used.
1475 (init_tiff_functions) [HAVE_NTGUI]: Initialize it.
1476 (tiff_load): Use :index to select among multiple images. Set count
1477 property when multiple images exist.
1478 (gif_format): Use :index, not :image.
1479
14802008-08-23 Chong Yidong <cyd@stupidchicken.com>
1481
1482 * xdisp.c (try_scrolling): Check INT_MAX instead of
1483 MOST_POSITIVE_FIXNUM for maximum integer value. Include limits.h
1484 to obtain INT_MAX.
1485
14862008-08-21 İsmail Dönmez <ismail@namtrac.org> (tiny change)
1487
1488 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+.
1489
14902008-08-21 Christian Faulhammer <opfer@gentoo.org> (tiny change)
1491
1492 * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate
1493 GNUstep library location.
1494
14952008-08-21 Chong Yidong <cyd@stupidchicken.com>
1496
1497 * xfaces.c (x_update_menu_appearance): Check validity of menu font
1498 before using it.
1499
1500 * puresize.h (BASE_PURESIZE): Increase to 1250000.
1501
15022008-08-20 Adrian Robert <Adrian.B.Robert@gmail.com>
1503
1504 * nsfns.m (ns-read-file-name): Add casts to avoid warning.
1505 (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly.
1506 * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil.
1507 * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration.
1508 (EmacsApp-cursor_blink_handler): Remove declaration.
1509 * nsterm.m (ns_draw_glyph_string): Update first conditional body to
1510 match 01 Feb 2008 changes in xterm.c.
1511 (ns_read_socket): Add cast to avoid warning.
1512 (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on
1513 GNUstep.
1514
15152008-08-20 Chong Yidong <cyd@stupidchicken.com>
1516
1517 * xselect.c (x_get_foreign_selection): Return nil if desired
1518 selection could not be obtained, instead of signalling an error.
1519
15202008-08-20 David Reitter <david.reitter@gmail.com>
1521
1522 * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c.
1523 * nsterm.m: Remove ns-specific code for cursor blinking.
1524 (ns_draw_window_cursor): Clear cursor properly rather than
1525 redrawing the area. Respect width of bar cursors.
1526 These changes enable the use of generic blink-cursor-mode and
1527 generic cursor types in NS and support smooth cursor movements (do
1528 not blink off after command).
1529 * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on
1530 Nextstep, too.
1531
15322008-08-19 Kenichi Handa <handa@m17n.org>
1533
1534 * font.c (Vfont_log_deferred): New variable.
1535 (font_add_log): Check Vfont_log_deferred.
1536 (font_deferred_log): New function.
1537
1538 * font.h (font_deferred_log): Extern it.
1539
1540 * fontset.c (reorder_font_vector): Use encoding charset of fonts
1541 for sorting.
1542 (face_for_char): Use deferred log.
1543
15442008-08-18 Kenichi Handa <handa@m17n.org>
1545
1546 * fontset.c (face_for_char): Add font log.
1547
1548 * font.c (font_add_log): Add the font properties :script, :lang,
1549 and :otf in the log.
1550
15512008-08-17 Chong Yidong <cyd@stupidchicken.com>
1552
1553 * xdisp.c: Remove dead code.
1554 (handle_invisible_prop, next_overlay_string): Defer call to
1555 setup_for_ellipsis.
1556 (handle_stop, set_iterator_to_next): Call setup_for_ellipsis.
1557
15582008-08-15 Chong Yidong <cyd@stupidchicken.com>
1559
1560 * xfaces.c (lookup_derived_face): Properly handle possible zero
1561 return value of get_lface_attributes.
1562 (merge_faces): Don't tell lookup_derived_face to signal an error
1563 if face is not found.
1564
1565 * dired.c (Fdirectory_files): Doc fix.
1566
1567 * process.c (make_process): Initialize kill_without_query struct
1568 member.
1569
15702008-08-15 Eli Zaretskii <eliz@gnu.org>
1571
1572 * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]:
1573 Alternative calculation of totphys for Visual Studio 6.
1574
1575 * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR.
1576
1577 * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX):
1578 Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX.
1579 All users changed.
1580 (stat): Only root directory passed to GetDriveType. Allow RAM
1581 disk as well as local fixed disk when w32-get-true-file-attributes
1582 is set to `local'.
1583 (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs.
1584 (equal_sid, get_length_sid, copy_sid): New wrapper functions.
1585 (w32_cached_id, w32_add_to_cache): New functions.
1586 (get_name_and_id): Look account names in the cache before calling
1587 lookup_account_sid.
1588 (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid):
1589 New initialization flags.
1590 (globals_of_w32): Initialize them to zero.
1591 (w32_system_process_attributes): Use w32_cached_id and
1592 w32_add_to_cache.
1593
15942008-08-14 Lawrence Mitchell <wence@gmx.li>
1595
1596 * lread.c (Fread_char, Fread_char_exclusive): If no character
1597 event is read before timeout is reached, return nil, rather than
1598 converting to a number.
1599
16002008-08-14 Chong Yidong <cyd@stupidchicken.com>
1601
1602 * fns.c (use_dialog_box): Doc fix.
1603
1604 * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful
1605 on OS X.
1606
16072008-08-13 Chong Yidong <cyd@stupidchicken.com>
1608
1609 * frame.c (Qns_parse_geometry): New var.
1610 (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry.
1611
16122008-08-11 Chong Yidong <cyd@stupidchicken.com>
1613
1614 * xdisp.c (x_produce_glyphs): Handle the case when font has no
1615 space character in calculating tabs.
1616
16172008-08-11 Dan Nicolaescu <dann@ics.uci.edu>
1618
1619 * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case.
1620
16212008-08-10 Glenn Morris <rgm@gnu.org>
1622
1623 * process.c (procfs_system_process_attributes): Use EMACS_INTs to
1624 silence gcc "limited range of data type" warnings in some
1625 make_fixnum_or_float calls.
1626
16272008-08-09 Eli Zaretskii <eliz@gnu.org>
1628
1629 * w32.c (w32_system_process_attributes): If the process does not
1630 exist, return nil.
1631
1632 * w32.c: Include thelp32.h, psapi.h and coding.h.
1633 (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct
1634 declarations.
1635 (CreateToolhelp32Snapshot_Proc, Process32First_Proc)
1636 (Process32Next_Proc): New typedefs.
1637 (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first)
1638 (g_b_init_process32_next, g_b_init_open_thread_token)
1639 (g_b_init_impersonate_self, g_b_init_revert_to_self)
1640 (g_b_init_get_process_memory_info, g_b_init_global_memory_status)
1641 (g_b_init_get_process_working_set_size)
1642 (g_b_init_global_memory_status_ex): New static variables.
1643 (globals_of_w32): Initialize them.
1644 (create_toolhelp32_snapshot, process32_first, process32_next)
1645 (open_thread_token, impersonate_self, revert_to_self)
1646 (get_process_memory_info, get_process_working_set_size)
1647 (global_memory_status, global_memory_status_ex): New wrapper
1648 functions.
1649 (w32_list_system_processes, w32_system_process_attributes)
1650 (enable_privilege, restore_privilege, ltime, process_times):
1651 New functions.
1652 (convert_time_raw): New function.
1653 (convert_time): Remove conversion of FILETIME into time in 100
1654 nsec units, call convert_time_raw instead.
1655
1656 * process.h (w32_list_system_processes, w32_system_process_attributes):
1657 Add prototypes.
1658 (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname)
1659 (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime)
1660 (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup)
1661 (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations.
1662
1663 * process.c (Fsystem_process_attributes): Doc fix.
1664
16652008-08-08 Chong Yidong <cyd@stupidchicken.com>
1666
1667 * xdisp.c (move_it_to): When stopping at a charpos, check if that's
1668 a continued multi-char glyph; if so, advance to the actual glyph.
1669
16702008-08-07 Dan Nicolaescu <dann@ics.uci.edu>
1671
1672 * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in.
1673
1674 * Makefile.in (ALL_OBJC_CFLAGS): New variable.
1675 (.m.o): Use it.
1676 * config.in: Regenerate.
1677
16782008-08-07 Chong Yidong <cyd@stupidchicken.com>
1679
1680 * xdisp.c (redisplay_window): Revert last change.
1681 (try_window): Check bottom scroll margin too.
1682
16832008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
1684
1685 * config.in: Regenerate.
1686
1687 * Makefile.in (emacs): Remove ifndef NS conditional for 'emacs
1688 -list-load-path-shadows'.
1689 (nsgui.h): Reduce number of things depending on it.
1690
16912008-08-06 Chong Yidong <cyd@stupidchicken.com>
1692
1693 * xdisp.c (try_scrolling): Use iterator to find the scroll margin,
1694 instead of window-end which does the wrong thing at eob.
1695 (try_cursor_movement): Minor optimization.
1696 (redisplay_window): If scroll margin is defined, don't assume
1697 window doesn't need scrolling.
1698
16992008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
1700
1701 * config.in: Regenerate.
1702
1703 * Makefile.in: Move nsXXX.m dependencies into big alphabetical list.
1704 (mostlyclean): Don't delete *.d under NS.
1705
1706 * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER.
1707
17082008-08-06 Kenichi Handa <handa@m17n.org>
1709
1710 * xfont.c (xfont_list_family): Return a list of symbols, not strings.
1711
17122008-08-06 Andreas Schwab <schwab@suse.de>
1713
1714 * config.in: Regenerate.
1715
17162008-08-05 Chong Yidong <cyd@stupidchicken.com>
1717
1718 * xdisp.c (redisplay_window): Don't enforce scroll-margin when
1719 forcing a window start.
1720
1721 * fileio.c (Vauto_save_list_file_name): Move here from file.el.
1722 (auto_save_1): Update modtime when auto-save-list-file-name is on.
1723
17242008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
1725
1726 * emacs.c (main): Under NS, set working dir to HOME when get a "psn"
1727 argument.
1728
17292008-08-05 Juanma Barranquero <lekktu@gmail.com>
1730
1731 * buffer.c (syms_of_buffer) <scroll-up-aggressively>:
1732 <scroll-down-aggressively, before-change-functions>:
1733 <after-change-functions>: Reflow docstrings.
1734
17352008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
1736 Ken Raeburn <raeburn@gnu.org>
1737
1738 Dock menu customization, based on a patch by Ken Raeburn, plus some
1739 other fixes.
1740 * nsmenu.m (dockMenu): New variable.
1741 (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17.
1742
1743 * nsterm.h (dockMenu): Declare.
1744
1745 * nsterm.m (KEY_NS_NEW_FRAME): New definition.
1746 (ns_term_init): Initialize dockMenu.
1747 (EmacsApp -newFrame:, -applicationDockMenu:): New methods.
1748 (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame
1749 left.
1750
1751 * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA.
1752
17532008-08-04 Chong Yidong <cyd@stupidchicken.com>
1754
1755 * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it.
1756
1757 * config.in: Regenerate.
1758
17592008-08-04 Seiji Zenitani <zenitani@mac.com>
1760
1761 * nsfns.m (x-create-frame): Set the frame parameter alpha to nil.
1762
17632008-08-04 Chong Yidong <cyd@stupidchicken.com>
1764
1765 * nsterm.h (find_and_call_menu_selection): Fix prototype.
1766
17672008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
1768
1769 * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS.
1770
1771 * keyboard.h: Comment an #endif.
1772
1773 * lisp.h (have_menus_p): Adjust comment.
1774
1775 * menu.c (find_and_return_menu_selection): Fix comparison with
1776 client_data.
1777
1778 * nsmenu.m (popup_activated_flag): New variable.
1779 (popup_activated): New function.
1780 (menu-or-popup-active-p): New exported lisp definition.
1781 (ns_popup_menu): Set popup_activated_flag. Call discard_menu_items()
1782 when popup done.
1783 (ns_popup_dialog): Set popup_activated_flag.
1784
1785 * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger
1786 version for GNUstep (handled by conditional typedef in nsterm.m).
1787 (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now
1788 in rgb.txt).
1789
1790 * process.c (init_process): Use DARWIN_OS, not DARWIN.
1791
1792 * sysselect.h: Conditionalize init_process undef on DARWIN_OS.
1793
1794 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS.
1795
1796 * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS,
1797 shortcircuit if popup_activated like GTK and X toolkit.
1798
1799 * m/inter386.h: Change DARWIN to DARWIN_OS.
1800
1801 * s/darwin.h: Add #define DARWIN_OS. Get rid of C_SWITCH_SYSTEM def.
1802 Change LIBS_MACGUI to LIBS_NSGUI. Move temacs-conditionalized defs
1803 closer to C_SWITCH_SYSTEM_TEMACS so usage is understood. Expand
1804 comment on NO_SOCK_SIGIO.
1805
18062008-08-03 Chong Yidong <cyd@stupidchicken.com>
1807
1808 * nsterm.m (windowDidResize): Remove stopModal call.
1809
18102008-08-03 Andreas Schwab <schwab@suse.de>
1811
1812 * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define.
1813 (check_memory_limits): Don't handle HAVE_GETRLIMIT here.
1814
18152008-08-02 Chong Yidong <cyd@stupidchicken.com>
1816
1817 * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin.
1818 Don't use uninitialized pointer variable when using getrlimit.
1819
18202008-08-02 Jason Rumney <jasonr@gnu.org>
1821
1822 * w32font.c (compute_metrics): Don't mess with glyph_idx setting here.
1823
18242008-08-02 Eli Zaretskii <eliz@gnu.org>
1825
1826 * alloc.c (NSTATICS): Bump to 0x640.
1827
1828 * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
1829
1830 * lisp.h: Add prototype for directory_files_internal.
1831
1832 * process.c (Fsystem_processes_list, Fsystem_process_attributes):
1833 New functions.
1834 (syms_of_process): Defsubr them. Add initializations for various
1835 Q* symbols used in procfs_system_process_attributes.
1836 (procfs_list_system_processes, procfs_system_process_attributes)
1837 [HAVE_PROCFS]: New functions.
1838 (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname)
1839 (procfs_get_total_memory): New functions.
1840
18412008-08-01 Juanma Barranquero <lekktu@gmail.com>
1842
1843 * xfaces.c (Fx_load_color_file): Fix previous change;
1844 it is #ifdef WINDOWSNT, not WINDOWS_NT.
1845
18462008-08-01 Michael Albinus <michael.albinus@gmx.de>
1847
1848 * dbusbind.c (xd_read_message): Handle D-Bus error messages.
1849
18502008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1851
1852 * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard.
1853
18542008-08-01 Chong Yidong <cyd@stupidchicken.com>
1855
1856 * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha.
1857
1858 * nsterm.m (EmacsApp -application:openFiles:): GNUstep does not
1859 define NSApplicationDelegateReplySuccess.
1860 (EmacsView -converstationIdentifier): Use long instead of
1861 NSInteger for GNUstep, since it doesn't have NSInteger.
1862
1863 * xmenu.c: Revert last change.
1864
1865 * keyboard.h: Fix last change.
1866
18672008-08-01 Juanma Barranquero <lekktu@gmail.com>
1868
1869 * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting
1870 on Windows.
1871
18722008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1873
1874 Warning clearing and clean-up in NS port.
1875 * keyboard.h (xmalloc_widget_value, digest_single_submenu):
1876 Add prototypes.
1877 * nsgui.h (FACE_DEFAULT): Remove, unused.
1878 (XGCValues): Change colors to unsigned long.
1879 * nsterm.h (EmacsApp): Add declaration of all methods implemented in
1880 nsterm.m.
1881 (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class.
1882 (ns_list_fonts): Remove, unused.
1883 (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes.
1884 * nsfns.m (interpret_services_menu): Use NSMenuItem class.
1885 * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc.
1886 (nsfont_draw): Compare face colors to 0, not nil.
1887 * nsmenu.m (struct widget_value): Drop unneeded declaration.
1888 (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:)
1889 (-addSubmenuWithTitle:): Use NSMenuItem class.
1890 (ns_popup_menu): Use NO, not NULL, for enabled setting.
1891 * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0.
1892 (ns_clip_to_row): Make gc arg a BOOL.
1893 (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in
1894 ns_clip_to_row() call.
1895 (ns_draw_glyph_string): Drop face comparison to ~0 (no longer
1896 used). Cast FRAME_FONT assignments.
1897 (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:.
1898 (ns_string_to_lispmod): Change arg to const char.
1899 (ns_term_init): Use NSMenuItem class.
1900 (EmacsApp -openFile:): Move to different section of file.
1901 (EmacsApp -application:openFiles:): Don't return a value, call
1902 -replyToOpenOrPrint:.
1903 (EmacsView -keyDown:): Fix up cast.
1904 (EmacsView -converstationIdentifier): Use NSInteger instead of long.
1905 (EmacsView -menuDown:): Cast tag in call to
1906 find_and_call_menu_selection().
1907 (ns_list_fonts): Remove, unused.
1908 (ns_font_to_xlfd): Make static. Cast result of UTF8String.
1909 (ns_fontname_to_xlfd): Make static.
1910 * w32menu.c (xmalloc_widget_value, digest_single_submenu):
1911 Remove prototypes (now in keyboard.h).
1912 (next_menubar_widget_id): Remove, unused.
1913 * xmenu.c (xmalloc_widget_value, digest_single_submenu):
1914 Remove prototypes (now in keyboard.h).
1915 * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused.
1916
19172008-08-01 Dan Nicolaescu <dann@ics.uci.edu>
1918
1919 * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o)
1920 (floatfns.o): Depend on syssignal.h.
1921 (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC).
1922
1923 * systty.h: Fix previous change that removed BSD_TERMIOS.
1924 Add comments to #ifdefs.
1925
19262008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1927
1928 * w32fns.c (w32-load-color-file): Remove.
1929 (x-open-connection): Use renamed Fx_load_color_file.
1930 * xfaces.c (x-load-color-file): Add.
1931 * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of
1932 Emacs.clr.
1933 (hide_hourglass): BLOCK_INPUT before UNBLOCK.
1934
19352008-07-31 Michael Albinus <michael.albinus@gmx.de>
1936
1937 * dbusbind.c (Fdbus_call_method_asynchronously)
1938 (Fdbus_method_error_internal): New defuns.
1939 (xd_read_message): Handle also reply messages.
1940 (Vdbus_registered_functions_table): Extend docstring.
1941
19422008-07-31 Juanma Barranquero <lekktu@gmail.com>
1943
1944 * keyboard.c (gobble_input): Fix previous change.
1945
19462008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
1947
1948 * bitmaps/README:
1949 * xfns.c:
1950 * termcap.c:
1951 * term.c:
1952 * syswait.h:
1953 * systty.h:
1954 * systime.h:
1955 * syssignal.h:
1956 * sysdep.c:
1957 * process.h:
1958 * process.c:
1959 * print.c:
1960 * ndir.h:
1961 * lread.c:
1962 * keyboard.c:
1963 * getpagesize.h:
1964 * floatfns.c:
1965 * fileio.c:
1966 * emacs.c:
1967 * doc.c:
1968 * dispnew.c:
1969 * dired.c:
1970 * data.c:
1971 * callproc.c:
1972 * buffer.c:
1973 * README:
1974 * Makefile.in:
1975 * s/template.h:
1976 * s/msdos.h:
1977 * m/vax.h: Remove VMS support.
1978 * s/vms.h:
1979 * vlimit.h:
1980 * uaf.h:
1981 * temacs.opt:
1982 * param.h:
1983 * ioctl.h: Remove file.
1984
19852008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
1986
1987 * s/ms-w32.h (MULTI_KBOARD): Remove.
1988 * xterm.c:
1989 * xselect.c:
1990 * xfns.c:
1991 * window.c:
1992 * w32term.c:
1993 * w32fns.c:
1994 * terminal.c:
1995 * termhooks.h:
1996 * term.c:
1997 * sysdep.c:
1998 * keyboard.h:
1999 * keyboard.c:
2000 * frame.h:
2001 * frame.c:
2002 * frame.c: Remove references to MULTI_KBOARD, it is now the default.
2003 * config.in: Regenerate.
2004
20052008-07-30 Jason Rumney <jasonr@gnu.org>
2006
2007 * w32font.h (struct w32font_info): Use unicode version of textmetrics.
2008
2009 * w32font.c (w32font_encode_char): Leave as unicode if in range.
2010 (w32font_open_internal): Get unicode version of textmetrics.
2011 Don't enable or disable glyph indices here.
2012 (w32font_open): Disable use of glyph indices.
2013
2014 * w32uniscribe.c (uniscribe_open): Enable use of glyph indices.
2015
20162008-07-30 Chong Yidong <cyd@stupidchicken.com>
2017
2018 * minibuf.c (Vread_buffer_function): Doc fix.
2019
20202008-07-30 John Paul Wallington <jpw@pobox.com>
2021
2022 * minibuf.c (read_buffer_completion_ignore_case): New var.
2023 (Fread_buffer): Use it.
2024
20252008-07-30 Dan Nicolaescu <dann@ics.uci.edu>
2026
2027 * systty.h (sensemode): Remove empty #if. Remove reference to
2028 BSD_TERMIOS, unused.
2029
2030 * sysdep.c: Remove reference to DGUX.
2031 (closedir): Remove reference to BROKEN_CLOSEDIR, unused.
2032
2033 * config.in: Regenerate.
2034
20352008-07-30 Jason Rumney <jasonr@gnu.org>
2036
2037 * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size.
2038
20392008-07-29 Jason Rumney <jasonr@gnu.org>
2040
2041 * w32uniscribe.c (uniscribe_shape): Avoid using context if cache
2042 is populated.
2043 (uniscribe_encode_char): Always use uniscribe.
2044 Avoid using context if cache is populated.
2045
20462008-07-29 Jan Djärv <jan.h.d@swipnet.se>
2047
2048 * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to
2049 open menu.
2050
2051 * gtkutil.c (menu_nav_ended): Remove.
2052 (create_menus): Remove signal connect for menu_nav_ended.
2053
20542008-07-28 Chong Yidong <cyd@stupidchicken.com>
2055
2056 * xdisp.c (redisplay_window): Check return value of
2057 compute_window_start_on_continuation_line before forcing a window
2058 start.
2059
20602008-07-28 Jason Rumney <jasonr@gnu.org>
2061
2062 * w32font.c (w32font_text_extents): Use w32_metric_cache consistently.
2063
2064 * w32term.c (w32_enable_unicode_output, cleartype_active):
2065 Remove obsolete display options.
2066 (x_draw_glyph_string_background): Don't use old cleartype_active
2067 workaround.
2068 (w32_initialize): Remove cleartype_active initialization.
2069 (syms_of_w32term): Remove w32_enable_unicode_output initialization.
2070
20712008-07-28 Andreas Schwab <schwab@suse.de>
2072
2073 * lisp.h (init_weak_hash_tables, syms_of_font)
2074 (xd_read_queued_messages, syms_of_dbusbind): Declare.
2075 (remove_hash_entry): Don't declare.
2076 * eval.c (maybe_call_debugger): Make static and move before use.
2077 * gtkutil.c: Include <X11/Xft/Xft.h> if HAVE_XFT.
2078 * xdisp.c: Include "gtkutil.h" if USE_GTK.
2079 * xterm.h (x_set_frame_alpha): Declare.
2080
20812008-07-28 Jan Djärv <jan.h.d@swipnet.se>
2082
2083 * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24.
2084 (create_menus): Connect selection-done to menu_nav_ended.
2085
20862008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
2087
2088 * nsfns.m (x-create-frame): Add copy of parms argument to beginning.
2089 Set Vx_resource_name to a fallback. Replace read of 'buffered'
2090 parameter with read of 'alpha' one.
2091 (Qns_frame_parameter): Remove.
2092 * nsselection.m (selection-coding-system)
2093 (next-selection-coding-system, Vselection_coding_system)
2094 (Vnext_selection_coding_system): Drop.
2095
20962008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
2097
2098 * nsfns.m (do-applescript, do_applescript): Rename to
2099 ns-do-applescript, ns_do_applescript, and move within file.
2100
21012008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
2102
2103 Remove support for Mac Carbon.
2104 * mactoolbox.c:
2105 * macterm.h:
2106 * macterm.c:
2107 * macselect.c:
2108 * macmenu.c:
2109 * macgui.h:
2110 * macfns.c:
2111 * mac.c: Remove file.
2112 * s/darwin.h:
2113 * m/intel386.h:
2114 * xfaces.c:
2115 * xdisp.c:
2116 * window.c:
2117 * tparam.c:
2118 * termhooks.h:
2119 * termcap.c:
2120 * term.c:
2121 * syssignal.h:
2122 * sysselect.h:
2123 * sysdep.c:
2124 * process.c:
2125 * lread.c:
2126 * lisp.h:
2127 * keyboard.c:
2128 * image.c:
2129 * fringe.c:
2130 * frame.h:
2131 * frame.c:
2132 * fontset.c:
2133 * font.h:
2134 * font.c:
2135 * fns.c:
2136 * fileio.c:
2137 * emacs.c:
2138 * dispnew.c:
2139 * dispextern.h:
2140 * config.in:
2141 * atimer.c:
2142 * Makefile.in: Remove code for Carbon
2143
21442008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2145
2146 * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.
2147
21482008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2149
2150 * macterm.h (kCGBitmapByteOrder32Host): New define for
2151 non-universal SDKs.
2152
2153 * image.c (mac_create_cg_image_from_image, image_load_image_io)
2154 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
2155
2156 * macterm.c (XDrawLine, XCreatePixmapFromBitmapData)
2157 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
2158
21592008-07-26 David Robinow <drobinow@gmail.com> (tiny change)
2160
2161 * w32inevt.c: Include dispextern.h.
2162
21632008-07-26 Andreas Schwab <schwab@suse.de>
2164
2165 * print.c (print_object): Fix off-by-one in last change.
2166
21672008-07-25 Juanma Barranquero <lekktu@gmail.com>
2168
2169 * term.c (syms_of_term): Don't initialize default_orig_pair,
2170 default_set_foreground and default_set_background on Windows.
2171
21722008-07-25 Jason Rumney <jasonr@gnu.org>
2173
2174 * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to
2175 ScriptItemize. Clean up return value checking. Remove unused
2176 variables.
2177 (uniscribe_encode_char): Encode non-BMP characters with uniscribe
2178 shaping engine.
2179
2180 * w32font.c (w32font_has_char): Handle the case where we can't
2181 determine the script for a character.
2182
21832008-07-25 Chong Yidong <cyd@stupidchicken.com>
2184
2185 * term.c (syms_of_term): Initialize default_orig_pair,
2186 default_set_foreground, and default_set_background.
2187
2188 * getloadavg.c (nl): Rename to name_list to avoid ncurses.h
2189 clash (bug#86).
2190 (getloadavg): Callers changed.
2191
2192 * image.c (svg_load_image): Fix last change.
2193 (svg_load_image): Use rsvg_handle_get_dimensions to check that
2194 image size is valid. Use g_object_unref instead of deprecated
2195 rsvg_handle_free to free rsvg handle.
2196 (x_from_xcolors): Don't initialize pixmap (silence compiler).
2197
21982008-07-25 Jason Rumney <jasonr@gnu.org>
2199
2200 * w32font.c (w32font_encode_char): Encode characters outside BMP as
2201 surrogates before looking up glyph index.
2202 (w32font_text_extents): Encode as surrogates if falling back to
2203 functions that need UTF-16 wide chars.
2204
2205 * w32uniscribe.c (uniscribe_encode_char): Encode characters outside
2206 BMP as surrogates before looking up glyph index.
2207
22082008-07-25 Chong Yidong <cyd@stupidchicken.com>
2209
2210 * image.c (svg_load_image): Check for failure in return value of
2211 rsvg_handle_get_pixbuf. Free rsvg handle when done.
2212
22132008-07-25 Jason Rumney <jasonr@gnu.org>
2214
2215 * w32font.c (Fx_select_font): Reverse sense of second arg.
2216
22172008-07-24 Stefan Monnier <monnier@iro.umontreal.ca>
2218
2219 * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos)
2220 (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions.
2221
2222 * puresize.h (PURESIZE_CHECKING_RATIO): New macro.
2223 (PURESIZE): Use it.
2224
22252008-07-24 Dan Nicolaescu <dann@ics.uci.edu>
2226
2227 * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs.
2228 * m/alpha.h (TEXT_END):
2229 * m/ibmrs6000.h (TEXT_END):
2230 * m/macppc.h (TEXT_END):
2231 * s/darwin.h (TEXT_END):
2232 * s/msdos.h (TEXT_END): Remove, unused.
2233 * s/gnu-linux.h (BSD_PGRPS): Add a comment.
2234 * s/cygwin.h: Remove comment.
2235
2236 * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused.
2237 (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES.
2238 * m/intel386.h (DOT_GLOBAL_START):
2239 * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES.
2240 (USG): Remove, file not used on USG platforms.
2241
2242 * Makefile.in (HAVE_X11): Remove empty #else.
2243
22442008-07-24 Andreas Schwab <schwab@suse.de>
2245
2246 * fileio.c (Finsert_file_contents): Properly adjust undo list
2247 after format conversion.
2248
22492008-07-24 Jan Djärv <jan.h.d@swipnet.se>
2250
2251 * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG.
2252 (menu_nav_ended): Remove.
2253 (create_menus): Remove signal connect for menu_nav_ended.
2254 (xg_update_menubar): Also take deactivate_cb as parameter, pass it to
2255 create_menus.
2256 (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar.
2257
22582008-07-23 Jason Rumney <jasonr@gnu.org>
2259
2260 * w32font.c (w32_enumfont_pattern_entity): Return height consistent
2261 with opened font.
2262 (w32font_open): Set font type to gdi.
2263
2264 * w32uniscribe.c (uniscribe_open): Set font type to uniscribe.
2265
22662008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
2267
2268 * s/usg5-4.h (ADDR_CORRECT): Remove, unused.
2269 * unexaix.c (ADDR_CORRECT): Remove conditional, the only user
2270 defines it.
2271 * unexec.c (ADDR_CORRECT): Define unconditionally.
2272
2273 * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove.
2274
2275 * unexec.c: Remove code depending on !COFF and USG, the file is
2276 not used for such systems.
2277
2278 * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
2279 * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused.
2280 (LD_SWITCH_SYSTEM_1): Remove, update users.
2281
2282 * s/darwin.h (DATA_END):
2283 * m/intel386.h (DATA_END):
2284 * m/ibmrs6000.h (DATA_END):
2285 * m/alpha.h (DATA_END): Remove, unused.
2286
2287 * config.in: Regenerate.
2288 * s/ms-w32.h (subprocesses): Define unconditionally.
2289 * s/template.h (subprocesses): Update comment.
2290 * s/vms.h (subprocesses):
2291 * s/usg5-4.h (subprocesses):
2292 * s/hpux10-20.h (subprocesses):
2293 * s/gnu-linux.h (subprocesses):
2294 * s/cygwin.h (subprocesses):
2295 * s/bsd-common.h (subprocesses):
2296 * s/aix4-2.h (subprocesses):
2297 * s/darwin.h (subprocesses): Do not define, defined by default now.
2298
2299 * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused.
2300 Remove all references.
2301 (temacs): Add GNUstep specific ld flags.
2302
2303 * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing,
2304 similarly to what X does.
2305
23062008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
2307
2308 * nsfns.m (x-list-fonts): Remove.
2309 (syms_of_nsfns): Drop the x-list-fonts declaration.
2310 * nsterm.m: Get rid of remaining "//" comments.
2311
23122008-07-22 Chong Yidong <cyd@stupidchicken.com>
2313
2314 * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
2315
2316 * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p)
2317 (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal)
2318 (Fns_own_selection_internal, Fx_disown_selection_internal)
2319 (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal):
2320
2321 * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /*
2322 ... */' style of docstrings. Doc fixes.
2323
23242008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
2325
2326 * terminfo.c (UP, BC, PC): Undo previous change.
2327
2328 * nsfns.m: Rename ns prefixed functions/variables to the
2329 corresponding x versions. Update references.
2330
23312008-07-22 Stefan Monnier <monnier@iro.umontreal.ca>
2332
2333 * syntax.c (char_quoted): Check "charpos > beg" before decrementing.
2334
23352008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
2336
2337 * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):
2338 Remove forwarding functions.
2339 (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make
2340 non-static.
2341 (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make
2342 non-static.
2343 (ns_frame_parm_handlers): Use the new names.
2344 (syms_of_nsfns): Move to the end of file.
2345
2346 * nsterm.m (syms_of_nsterm): Move to the end of file.
2347
2348 * dispnew.c (init_display): Remove code for X10.
2349
23502008-07-22 Jason Rumney <jasonr@gnu.org>
2351
2352 * w32proc.c (Fw32_long_file_name): Don't append dir separator to
2353 bare drive.
2354
23552008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
2356
2357 * nsterm.m (syms_of_nsterm): Remove debugging println.
2358
23592008-07-22 David Reitter <david.reitter@gmail.com>
2360
2361 * nsfns.m (do_applescript, F_do_applescript): NS version of the
2362 Carbon implementation of the same functionality: execute arbitrary
2363 AppleScript code.
2364
23652008-07-21 Adrian Robert <Adrian.B.Robert@gmail.com>
2366
2367 * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
2368 (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
2369 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
2370 (Fx_display_mm_height, Fx_display_mm_width)
2371 (Fx_display_backing_store, Fx_display_visual_class)
2372 (Fx_display_save_under, Fx_open_connection)
2373 (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
2374 (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
2375 (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
2376 (Fx_display_pixel_width, Fx_display_pixel_height)
2377 (Fx_display_usable_bounds, Fx_display_planes)
2378 (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
2379 ... */' style of docstrings.
2380
23812008-07-21 Dan Nicolaescu <dann@ics.uci.edu>
2382
2383 * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
2384 on this platform.
2385 (mips):
2386 * m/iris4d.h (mips): Do not define.
2387 * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
2388
2389 * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
2390
2391 * image.c:
2392 * nsfns.m:
2393 * nsselect.m:
2394 * nsterm.h:
2395 * nsterm.m: Rename ns prefixed functions/variables to the
2396 corresponding x versions. Update references.
2397
2398 * m/ibms390x.h (NO_REMAP): Do not undefine.
2399
2400 * m/amdx86-64.h: Use SOLARIS2 instead of sun.
2401
24022008-07-21 Chong Yidong <cyd@stupidchicken.com>
2403
2404 * nsfns.m: Change NS to Nextstep in docstrings and error messages.
2405 (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
2406 (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
2407 (Fns_server_vendor, Fns_server_version, Fns_display_screens)
2408 (Fns_display_mm_height, Fns_display_mm_width)
2409 (Fns_display_backing_store, Fns_display_visual_class)
2410 (Fns_display_save_under, Fns_open_connection)
2411 (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
2412 (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
2413 (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
2414 (Fns_display_pixel_width, Fns_display_pixel_height)
2415 (Fns_display_usable_bounds, Fx_display_planes)
2416 (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
2417
24182008-07-21 Ami Fischman <ami@fischman.org> (tiny change)
2419
2420 * print.c (print_object): Check print_depth before searching for
2421 circularities.
2422
24232008-07-21 Michael Albinus <michael.albinus@gmx.de>
2424
2425 * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
2426 only sprintf.
2427
24282008-07-21 Kenichi Handa <handa@m17n.org>
2429
2430 * ftfont.c (adjust_anchor): Check if DeltaValue is not NULL.
2431
24322008-07-20 Andreas Schwab <schwab@suse.de>
2433
2434 * syntax.c (find_start_pos, find_start_value)
2435 (find_start_value_byte, find_start_begv, find_defun_start)
2436 (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions.
2437
24382008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
2439
2440 * s/sol2-3.h: Insert contents of s/sol2.h.
2441 (LD_SWITCH_SYSTEM): Remove redundant definition.
2442 * s/sol2.h: Remove, unused.
2443
24442008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
2445
2446 * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV.
2447
24482008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
2449
2450 * Makefile.in (ns_appdir): Fix typo in find command.
2451
24522008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
2453
2454 * m/intel386.h (NO_REMAP): Do no define for USG, not used.
2455
2456 * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
2457 added not supported anymore.
2458
2459 * s/usg5-4-2.h (LIBS_SYSTEM):
2460 * s/sol2.h (LIBS_SYSTEM): Do not undefine.
2461
2462 * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
2463 * s/lynxos.h (GETPGRP_NO_ARG):
2464 * s/hpux10-20.h (NO_SIOCTL_H):
2465 * s/gnu.h (GETPGRP_NO_ARG):
2466 * s/gnu-linux.h (NO_SIOCTL_H):
2467 * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
2468 * s/cygwin.h (GETPGRP_NO_ARG):
2469 * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
2470 (C_DEBUG_SWITCH): Remove duplicate definition.
2471
2472 * m/ibms390.h: Remove boilerplate comments.
2473
2474 * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
2475
2476 * process.c (HAVE_SERIAL): Consolidate ifdefs.
2477 (wait_reading_process_output): Remove code for SunOS, platform not
2478 supported anymore. Use SOLARIS2 instead of sun.
2479
24802008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2481
2482 * font.c (font_open_by_name): Under NS, default lface height to zero.
2483 (font_open_for_lface): Under NS, set size based on frame fontsize.
2484 * nsterm.m (EmacsView-changeFont:): Remove some commented code.
2485 * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
2486
24872008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2488
2489 * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
2490 (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
2491 DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
2492 YES/NO.
2493 * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
2494 * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
2495 * Makefile.in (clean): Clear out build destination dir.
2496
24972008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2498
2499 * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
2500 xterm, xselect.
2501 * lisp.h: Remove declaration of hash_remove.
2502 * nsgui.h: Remove redefinitions of hash_remove.
2503 * fns.c (hash_remove): Rename to hash_remove_from_table.
2504
25052008-07-19 Seiji Zenitani <zenitani@mac.com>
2506
2507 * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
2508 strdup() the family UTF8String before modifying it.
2509
25102008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2511
2512 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
2513 NS_FACE_BACKGROUND with 0 instead of nil.
2514 * nsfont.m (nsfont_draw): Same.
2515
25162008-07-19 Chong Yidong <cyd@stupidchicken.com>
2517
2518 * nsfns.m (ns_set_background_color): Fix crash.
2519
25202008-07-18 Chong Yidong <cyd@stupidchicken.com>
2521
2522 * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
2523
25242008-07-18 Dan Nicolaescu <dann@ics.uci.edu>
2525
2526 * puresize.h (BASE_PURESIZE): Increase to 1240000.
2527
25282008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2529
2530 * gtkutil.c: Include <config.h> instead of "config.h".
2531
2532 * lisp.h (Foverlay_buffer): Add EXFUN.
2533
2534 * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
2535 child process to complete child_setup. Undo 2005-09-21 change.
2536
2537 * s/darwin.h: Mention setsid after vfork.
2538
25392008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2540
2541 * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
2542 Depend on macgui.h.
2543
2544 * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
2545 gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
2546
2547 * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
2548 and f19.
2549 [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
2550
2551 * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
2552 (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
2553 Remove enumerators.
2554
2555 * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
2556 Check if FACE_FROM_ID returns NULL.
2557
25582008-07-17 David Robinow <drobinow@gmail.com> (tiny change)
2559
2560 * w32inevt.c (change_frame_size): Remove extern declaration.
2561 (resize_event, maybe_generate_resize_event): Pass SAFE arg to
2562 change_frame_size.
2563
25642008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
2565
2566 * getloadavg.c: Revert last change (2008-07-15).
2567
25682008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
2569
2570 * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
2571 set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc) set
2572 from configure.
2573
25742008-07-17 Dan Nicolaescu <dann@ics.uci.edu>
2575
2576 * s/sol2.h:
2577 * s/sol2-4.h: Reorganize conditionals.
2578
2579 * ecrt0.c: Remove code depending on m68000, not used anymore.
2580
2581 * fns.c (hash_remove): Make static.
2582 * lisp.h (hash_remove): Don't prototype.
2583
2584 * m/ibmrs6000.h:
2585 * m/ibms390x.h:
2586 * m/macppc.h: Remove boilerplate comments.
2587
2588 * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
2589 Solaris, which does not need them.
2590
2591 * m/vax.h: Remove comments about unsupported systems.
2592
2593 * s/darwin.h: Reorganize ifdefs.
2594
25952008-07-17 Andreas Schwab <schwab@suse.de>
2596
2597 * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
2598
25992008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
2600
2601 Use SDATA. Follow coding convention of placing operators at
2602 beginning of next line rather than end of previous line, and placing
2603 spaces around infix operators.
2604
2605 * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
2606 in case it was defined already.
2607 USE @GNUSTEP_MAKEFILES@ rather than envvars.
2608 * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
2609 ns_default.
2610 (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
2611 Lisp_Objects.
2612 * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
2613 (ns_defined_color, ns_color_to_lisp): Declare.
2614 * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
2615 (Fns_own_selection_internal): Make the big ugly hack more explicit, so
2616 it's accepted even with USE_LISP_UNION_TYPE.
2617 * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
2618 (update_frame_tool_bar): Remove apparently obsolete tests for
2619 non-integerness of f->tool_bar_lines.
2620 (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
2621 hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
2622 * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
2623 (nsfont_open): Don't confuse NULL for Qnil.
2624 * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
2625 * menu.h (find_and_call_menu_selection):
2626 * menu.c (find_and_call_menu_selection): Use just int for vector size.
2627 (find_and_return_menu_selection): Always return something.
2628 * frame.h: Include dispextern.h for Display_Info.
2629 (display_x_get_resource): Declare.
2630
26312008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
2632
2633 * syntax.c: Remove stdio.h include accidentally introduced in
2634 Emacs.app commit.
2635 * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
2636 NS_IMPL_COCOA.
2637 * keyboard.c (handle_async_input, input_available_signal): Remove
2638 BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
2639
26402008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
2641
2642 * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
2643 (ns_lisp_to_color): Don't mess with internal Lisp data fields.
2644 (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
2645 Use SDATA.
2646
2647 * keymap.c: Remove all NS-specific code.
2648 (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
2649 (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
2650 where_is_preferred_modifier, return a different value depending on how
2651 preferred is the binding.
2652 (where_is_internal): Adjust accordingly.
2653 (Fwhere_is_internal): Refresh where_is_preferred_modifier.
2654 Adjust to new preferred_sequence_p.
2655 (syms_of_keymap): Declare `where-is-preferred-modifier'.
2656 * keyboard.c (parse_solitary_modifier): Not static any more.
2657 * keyboard.h (parse_solitary_modifier): Declare.
2658
26592008-07-16 Andreas Schwab <schwab@suse.de>
2660
2661 * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
2662 of easymenu.
2663
26642008-07-16 Chong Yidong <cyd@stupidchicken.com>
2665
2666 * xdisp.c (move_it_in_display_line): Account for word wrap, so
2667 that we don't move off the line.
2668
26692008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
2670
2671 * keyboard.c (Qsuper): Remove.
2672 (parse_menu_item): Don't call where_is_internal specially for NS.
2673
26742008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
2675
2676 * s/gnu-linux.h: Remove boilerplate comments.
2677
2678 * m/alpha.h (__ELF__): Consolidate conditions.
2679
2680 * m/m68k.h (linux): Use GNU_LINUX instead.
2681 Remove boilerplate comments.
2682
2683 * m/intel386.h: Undo refactoring from previous change.
2684 (LIB_STANDARD): All systems that define USG define LIB_STANDARD
2685 too, remove dead code.
2686 (linux): Use GNU_LINUX instead.
2687
26882008-07-16 Jason Rumney <jasonr@gnu.org>
2689
2690 * w32gui.h: Repeat 26 June changes lost by last change.
2691
26922008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
2693
2694 * systty.h: Remove code for Aix on 386, unsupported platform.
2695
2696 * s/ms-w32.h: Remove boilerplate comments.
2697 (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
2698
2699 * s/gnu-linux.h (TERM): Remove support.
2700 (HAVE_SYSVIPC): Remove, unused.
2701 (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
2702 for this system.
2703
2704 * process.c: Remove support for IRIS, unused.
2705 Remove support for TERM, not relevant anymore.
2706
2707 * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
2708 used with the definition.
2709
2710 * s/aix4-2.h (static): Do not undef.
2711
2712 * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
2713 only used on Aix.
2714 (HAVE_SYSVIPC): Remove, unused.
2715
2716 * m/hp800.h (CANNOT_DUMP): Do not undef.
2717
2718 * m/alpha.h: Fix comment.
2719
2720 * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
2721 (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
2722 used by this configuration.
2723 * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
2724 * unexec.c: Remove code depending on HPUX and
2725 USG_SHARED_LIBRARIES, not used with this file. Remove code
2726 depending on IRIS, unused. Remove if 0-ed code.
2727
2728 * s/template.h: Remove comments about static.
2729
2730 * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
2731 Remove if 0-ed code.
2732 (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
2733 were the same as the default.
2734 * s/vms.h (BAUD_CONVERT): Remove, same as the default.
2735 Remove boilerplate comments.
2736 * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
2737 (HAVE_SYSVIPC): Remove, unused.
2738 (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
2739
2740 * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
2741 Remove boilerplate comments.
2742 * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
2743 Remove boilerplate comments.
2744 * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
2745 Remove boilerplate comments.
2746 * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
2747
2748 * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
2749 USG systems which do not use DATA_SEG_BITS.
2750 Refactor code. Remove boilerplate comments.
2751
2752 * m/ibms390.h:
2753 * m/m68k.h:
2754 * s/bsd-common.h:
2755 * s/cygwin.h:
2756 * s/darwin.h:
2757 * s/freebsd.h:
2758 * s/gnu.h:
2759 * s/msdos.h: Remove boilerplate comments.
2760
2761 * m/iris4d.h: Remove boilerplate comments and code for systems that
2762 do not use this file.
2763 (IRIS_4D): Remove, unused.
2764
2765 * m/mips.h: Remove boilerplate comments and code for systems that
2766 do not use this file.
2767 (SIGN_EXTEND_CHAR):
2768 * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
2769 * unexmips.c: Remove file, unused.
2770
2771 * editfns.c (Fuser_full_name): Replace the only use of
2772 USER_FULL_NAME with its value.
2773 * config.in: Regenerate.
2774
27752008-07-16 David Reitter <david.reitter@gmail.com>
2776
2777 * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
2778 easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
2779
27802008-07-16 Glenn Morris <rgm@gnu.org>
2781
2782 * emacs.c (system-type): Doc fix.
2783
27842008-07-15 Stefan Monnier <monnier@iro.umontreal.ca>
2785
2786 * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
2787 If the cache doesn't work, let's fix it, rather than work around it.
2788
27892008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
2790
2791 * Makefile.in: Correct additions for nsfont.o in last commit.
2792 * nsfont.m: New file (forgot last commit).
2793
27942008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
2795
2796 * callproc.c (set_initial_environment): Initialize
2797 Vprocess_environment under CANNOT_DUMP (fixes crash when
2798 batch-compiling for bootstrap).
2799
28002008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
2801 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2802
2803 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
2804 fix crash due to different init order.
2805
28062008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
2807
2808 Changes and additions for NeXTstep windowing system (Cocoa and
2809 GNUstep) support.
2810
2811 * Makefile.in:
2812 * config.in: Support defines and build commands for NS port.
2813 * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
2814 (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
2815 * dispextern.h: Include nsgui.h and add needed typedefs under NS
2816 windowing.
2817 (struct face): Add synth_ital field.
2818 * dispnew.c: Include nsterm.h when compiling under NS windowing.
2819 (init_display): Initialize Vinitial_window_system to "ns" when so
2820 compiled.
2821 * emacs.c: Include GSConfig.h when compiling under GNUstep.
2822 (display_arg): Use under NS.
2823 (main): Under NS, allocate autorelease pool and handle command line
2824 args. Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
2825 (standard_args): Add NS-specific args.
2826 (shut_down_emacs): Shut down NS terminal if compiled under NS.
2827 * font.c (DEFAULT_ENCODING): New variable.
2828 (font_find_for_lface): Use it.
2829 (syms_of_font): Load syms_of_nsfont under NS.
2830 * font.h: Declare nsfont_driver when compiled under NS.
2831 * fontset.c: When compiling under NS, include nsterm.h.
2832 (fontset_from_font): Autoconstruct fontset under NS.
2833 * frame.c (various): Under NS, include nsterm.h, add Qns window system
2834 symbol, document and use it.
2835 (do_switch_frame): When for_deletion under Cocoa, add
2836 Fraise_frame(Qnil).
2837 (x_set_frame_parameters): Ensure font attribute changes are picked up.
2838 (x_get_arg): Allow "yes" and "no" as boolean values.
2839 (syms_of_frame): Declare Qns. Init Vdefault_frame_scroll_bars to
2840 Qright under Cocoa.
2841 (focus-follows-mouse): Default to 0 under NS.
2842 * frame.h (enum output_method): Add output_ns.
2843 (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
2844 (FRAME_EXTERNAL_MENU_BAR): Use under NS.
2845 (FRAME_WINDOW_P): NS-specific definition.
2846 * fringe.c (max_used_fringe_bitmap): Make public.
2847 * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
2848 (getloadavg): Use NeXT code under descendant OS's.
2849 * image.c (includes and header section, x_create_bitmap_from_data)
2850 (x_create_bitmap_from_file, free_bitmap_record, image_background)
2851 (image_background_transparent, x_clear_image_1)
2852 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
2853 (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
2854 (x_to_xcolors, x_from_xcolors, x_disable_image)
2855 (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
2856 other GUIs, including XPM support using code originally written for
2857 Carbon GUI.
2858 (png_load, jpeg_load, tiff_load, gif_load): Add implementations
2859 using NS API.
2860 (image_ascent): Use font metrics macros instead of direct struct field
2861 access.
2862 * keyboard.c (includes): Add nsterm.h when compiling under NS.
2863 (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
2864 Also, handle NS as GTK for menu bar purposes.
2865 (make_lispy_event): Handle NS as other GUI windowing systems, and as X
2866 toolkit where they differ.
2867 (parse_menu_item): Prefer keybindings using 'super' modifier. Also,
2868 use cachelist, still needed under NS.
2869 * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
2870 (struct widget_value): Define it here for menu.c.
2871 * keymap.c (includes): Include modifier internals.
2872 (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
2873 NS.
2874 (where_is_internal, Fwhere_is_internal): When compiled under NS, add
2875 support for preferring sequences using certain modifiers, specified by
2876 the FIRSTONLY argument.
2877 * lisp.h (hash_remove): Rename to avoid name clash when compiling
2878 under NS GNUstep implementation.
2879 (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
2880 * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
2881 * menu.c: Include nsterm.h under NS.
2882 (single_menu_item, parse_single_submenu, xmalloc_widget_value)
2883 (free_menubar_widget_tree_value, update_submenu_strings)
2884 (find_and_call_menu_selection): Treat NS as X and NT.
2885 (find_and_return_menu_selection): New function, used for popup menus.
2886 * nsgui.h:
2887 * nsterm.h:
2888 * nsfns.m:
2889 * nsimage.m:
2890 * nsmenu.m:
2891 * nsselect.m:
2892 * nsterm.m: New files.
2893 * process.c (wait_reading_process_output): Under NS, call ns_select()
2894 instead of plain select().
2895 * syntax.c (char_quoted): Under NS, avoid a crash when called near
2896 beginning of buffer.
2897 * sysselect.h (init_process): Rename when compiling under Cocoa to
2898 avoid name conflict.
2899 * termhooks.h (display_info): Add ns_display_info to union.
2900 * terminal.c (Fterminal_live_p): Add ns to terminal types.
2901 * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
2902 COCOA environment.
2903 * unexnext.c: Update to work with mach API on Mac OS X, and to use new
2904 unexec() signature. (Note, this will dump, but the resulting file
2905 crashes; unexosx is used instead; keeping around for reference and
2906 possible aid in getting dump working under GNUstep.)
2907 * w32gui.h (button_type, widget_value): Remove definitions (now in
2908 keyboard.h).
2909 * window.c: Include nsterm.h when compiling under NS.
2910 * xdisp.c (includes): Include nsterm.h when compiling under NS.
2911 (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
2912 other GUI windowing systems.
2913 (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
2914 GTK.
2915 (x_consider_frame_title): Under NS, set icon type and frame
2916 modified-state indicator; use ns_set_name_as_filename() when using
2917 formatted title.
2918 (update_window_cursor): Make public when compiling under NS.
2919 (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
2920 (hourglass_atimer, Vhourglass_delay
2921 * xfaces.c (header section, init_frame_faces, clear_font_table)
2922 (defined_color, unload_color, x_face_list_fonts)
2923 (prepare_face_for_display): Add NS support parallel to other GUIs.
2924 Emulate GCs like other non-X GUIs.
2925 (split_font_name): Don't lowercase font name under NS.
2926 (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
2927 under NS.
2928 * s/darwin.h: Add support for compilation under NS.
2929
29302008-07-15 Jason Rumney <jasonr@gnu.org>
2931
2932 * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
2933 (w32_show_hourglass): Rename from show_hourglass.
2934 (w32_hide_hourglass): Rename from hide_hourglass.
2935 (DEFAULT_HOURGLASS_DELAY): Revert from last change.
2936 (Vhourglass_delay): Declare extern.
2937 (hourglass_started): Remove.
2938
2939 * xdisp.c (Vhourglass_delay): Remove static.
2940 (hourglass_started, start_hourglass, cancel_hourglass):
2941 Don't include these versions on WINDOWSNT.
2942
29432008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
2944
2945 * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
2946 variables (formerly in xfns.c).
2947 (show_hourglass, hide_hourglass): New prototypes (same).
2948 * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
2949 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
2950 in xfns.c).
2951 (syms_of_xdisp): Declare/initialize display-hourglass,
2952 hourglass-delay. Initialize hourglass_atimer, hourglass_shown_p.
2953 (hourglass_started, start_hourglass, cancel_hourglass): New functions,
2954 formerly in xfns.c.
2955 * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
2956 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
2957 (start_hourglass, cancel_hourglass): Remove.
2958 (show_hourglass, hide_hourglass): Remove prototypes and static
2959 modifiers.
2960 (syms_of_xfns): Remove display-hourglass, hourglass-delay,
2961 hourglass_atimer, hourglass_shown_p declaration/initialization.
2962 * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
2963 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
2964 (start_hourglass, cancel_hourglass): Remove.
2965 (show_hourglass, hide_hourglass): Remove prototypes and static
2966 modifiers.
2967 (syms_of_macfns): Remove display-hourglass, hourglass-delay,
2968 hourglass_atimer, hourglass_shown_p declaration/initialization.
2969 * w32fns.c (display_hourglass_p, Vhourglass_delay)
2970 (DEFAULT_HOURGLASS_DELAY): Remove.
2971 (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
2972 hourglass_shown_p declaration/initialization.
2973
29742008-07-14 Jason Rumney <jasonr@gnu.org>
2975
2976 * w32fns.c (w32_get_arg): Remove wrapper function.
2977 (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
2978 directly.
2979 (Fx_create_frame): Sync with xfns.c. Use x_get_arg directly.
2980
29812008-07-14 Kenichi Handa <handa@m17n.org>
2982
2983 * xfont.c (xfont_open): Add workaround for X's bug.
2984
29852008-07-14 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
2986
2987 * fontset.c: Include <stdio.h> unconditionally.
2988
29892008-07-13 Michael Albinus <michael.albinus@gmx.de>
2990
2991 * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
2992 for filtering.
2993
29942008-07-13 Dan Nicolaescu <dann@ics.uci.edu>
2995
2996 * s/vms.h: Use __GNUC__ instead of _GNUC_.
2997
2998 * m/macppc.h:
2999 * m/alpha.h: Use GNU_LINUX instead of LINUX. Reorganize conditionals.
3000
3001 * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
3002 (SPECIAL_EMACS_INT):
3003 * m/ia64.h (SPECIAL_EMACS_INT):
3004 * m/amdx86-64.h (SPECIAL_EMACS_INT):
3005 * s/gnu.h (NLIST_STRUCT):
3006 * s/aix4-2.h (X11R5_INHIBIT_I18N):
3007 * s/gnu-linux.h (LINUX):
3008 * s/msdos.h (HAVE_FACES):
3009 * s/ms-w32.h (HAVE_FACES): Don't define, unused.
3010
3011 * systty.h:
3012 * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
3013 anymore.
3014
30152008-07-12 Dan Nicolaescu <dann@ics.uci.edu>
3016
3017 * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was
3018 always defined as int.
3019
3020 * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
3021 * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
3022 * s/gnu-linux.h (HAVE_WAIT_HEADER):
3023 * s/freebsd.h (HAVE_WAIT_HEADER):
3024 * s/bsd-common.h (HAVE_UNION_WAIT):
3025 * s/aix4-2.h (HAVE_WAIT_HEADER):
3026 * m/mips.h (HAVE_UNION_WAIT):
3027 * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
3028 (COFF, static): Do not define, they are undefined later in the file.
3029
3030 * process.c (update_status): Don't use a union.
3031 (status_convert):
3032 (sigchld_handler): Use int instead of WAITTYPE.
3033
30342008-07-12 Chong Yidong <cyd@stupidchicken.com>
3035
3036 * indent.c (Fvertical_motion): Restore hscroll before moving to
3037 goal column.
3038
30392008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
3040
3041 * lisp.h: Remove left over code.
3042
30432008-07-11 Andreas Schwab <schwab@suse.de>
3044
3045 * lisp.h: Fix logic in last change.
3046
3047 * menu.h: New file.
3048 * menu.c: Include it.
3049 * xmenu.c: Likewise.
3050 * Makefile.in: Update dependencies.
3051
30522008-07-11 Kenichi Handa <handa@m17n.org>
3053
3054 * fontset.c (fontset_from_font): Cancel the previous change.
3055
30562008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
3057
3058 * lisp.h:
3059 * w32heap.c:
3060 * emacs.c:
3061 * alloc.c: Replace all references of NO_UNION_TYPE with
3062 USE_LISP_UNION_TYPE.
3063
3064 * m/xtensa.h (NO_UNION_TYPE):
3065 * m/vax.h (NO_UNION_TYPE):
3066 * m/template.h (NO_UNION_TYPE):
3067 * m/sparc.h (NO_UNION_TYPE):
3068 * m/mips.h (NO_UNION_TYPE):
3069 * m/macppc.h (NO_UNION_TYPE):
3070 * m/m68k.h (NO_UNION_TYPE):
3071 * m/iris4d.h (NO_UNION_TYPE):
3072 * m/intel386.h (NO_UNION_TYPE):
3073 * m/ibms390x.h (NO_UNION_TYPE):
3074 * m/ibms390.h (NO_UNION_TYPE):
3075 * m/ibmrs6000.h (NO_UNION_TYPE):
3076 * m/ia64.h (NO_UNION_TYPE):
3077 * m/hp800.h (NO_UNION_TYPE):
3078 * m/arm.h (NO_UNION_TYPE):
3079 * m/amdx86-64.h (NO_UNION_TYPE):
3080 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
3081 defining it the same.
3082
30832008-07-10 Chong Yidong <cyd@stupidchicken.com>
3084
3085 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
3086
30872008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
3088
3089 * fileio.c:
3090 * sysdep.c
3091 * systty.h:
3092 * m/ibmrs6000.h:
3093 * m/iris4d.h:
3094 * s/aix4-2.h:
3095 * s/freebsd.h:
3096 * s/gnu-linux.h:
3097 * s/hpux10-20.h:
3098 * s/hpux11.h:
3099 * s/netbsd.h:
3100 * s/sol2-3.h:
3101 * s/sol2-4.h:
3102 * s/sol2.h:
3103 * s/usg5-4.h:
3104 * s/vms.h: Remove references to unused variables.
3105
31062008-07-10 Andreas Schwab <schwab@suse.de>
3107
3108 * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
3109 pattern before matching the generic family.
3110
31112008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
3112
3113 * unexec.c:
3114 * s/vms.h:
3115 * s/usg5-4-2.h:
3116 * s/sol2-5.h:
3117 * s/freebsd.h:
3118 * s/darwin.h: Remove dead code.
3119
3120 * m/template.h:
3121 * m/sparc.h:
3122 * m/mips.h:
3123 * m/m68k.h:
3124 * m/iris4d.h:
3125 * m/intel386.h:
3126 * m/ibms390x.h:
3127 * m/ibms390.h:
3128 * m/ia64.h:
3129 * m/hp800.h:
3130 * m/arm.h:
3131 * m/amdx86-64.h: Remove dead code and references to unused
3132 and compiler defined symbols.
3133
3134 * unexmips.c:
3135 * unexelf.c: Remove references to desupported systems.
3136
3137 * m/powermac.h: Remove file, it is now identical to m/macppc.h.
3138
3139 * m/powermac.h: Remove boilerplate comments.
3140 (NO_REMAP): Remove unused definition.
3141
3142 * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
3143 define them.
3144
31452008-07-10 Kenichi Handa <handa@m17n.org>
3146
3147 * xfont.c (xfont_open): Log the reason of failure.
3148
31492008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
3150
3151 * fontset.c (fontset_get_font_group):
3152 * font.c (font_check_otf): Specify argument types.
3153
31542008-07-09 Kenichi Handa <handa@m17n.org>
3155
3156 * coding.c (detect_coding_utf_8): Set detect_info->found only when
3157 non-ASCII char is found.
3158
3159 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
3160 (reorder_font_vector): Change the arg preferred_family to font.
3161 Prefer the spec matching with font.
3162 (fontset_get_font_group): New function.
3163 (fontset_find_font): Change the format of an element of a realized
3164 fontset. Use fontset_get_font_group.
3165 (fontset_font): Try the current fontset, the default fontset, the
3166 fallbacks of the current fontset, and the fallbacks of the default
3167 fontset in this order.
3168 (face_for_char): Delete the shortcut to use the current font.
3169 (fontset_from_font): Don't set fonts for Latin in the fontset.
3170
3171 * font.h (font_make_object, font_match_p): Adjust prototypes.
3172
3173 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
3174
3175 * font.c (font_make_object): New arg entity and pixelsize.
3176 (font_check_otf_features, font_check_otf): New functions.
3177 (font_match_p): Check :lang, :script, and :otf properties.
3178
3179 * xfont.c (xfont_open): Adjust it for the change of
3180 font_make_object.
3181 (xfont_text_extents): Fix initial setting of metrics.
3182
3183 * ftfont.c (struct ftfont_info): New member index, delete member
3184 fc_charset_idx. Make the member order compatible with struct
3185 xftfont_info.
3186 (fc_charset_table): Change charset names to registry names.
3187 (ftfont_pattern_entity): Delete the args registry and
3188 fc_charset_idx. Change the value of :font-entity property
3189 to (FONTNAME . INDEX). Always set :registry property to
3190 `iso10646-1'.
3191 (struct ftfont_cache_data): New struct.
3192 (ftfont_lookup_cache): New arg for_face.
3193 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
3194 (ftfont_driver): Set the member otf_capability.
3195 (ftfont_get_charset): Adjust it for the change of
3196 fc_charset_table.
3197 (OTF_TAG_SYM): New macro.
3198 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
3199 for the change of fc_charset_table.
3200 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
3201 ftfont_pattern_entity. Add FC_INDEX to objset.
3202 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
3203 and ftfont_pattern_entity.
3204 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
3205 font_make_object, struct ftfont_info.
3206 (ftfont_has_char): Use ftfont_get_fc_charset.
3207 (ftfont_otf_features, ftfont_otf_capability): New functions.
3208 (ftfont_shape): Use ftfont_get_otf.
3209 (ftfont_text_extents): Fix initial setting of metrics.
3210
3211 * xftfont.c (struct xftfont_info): New member ft_size. Make the
3212 member order compatible with struct ftfont_info.
3213 (xftfont_open): Add FC_CHARSET to the pattern. Set
3214 xftfont_info->ft_size. Don't unlock the face. Check BDF
3215 properties if appropriate.
3216 (xftfont_close): Unlock the face.
3217 (xftfont_anchor_point, xftfont_shape): Deleted.
3218 (syms_of_xftfont): Don't set members anchor_point and shape of
3219 xftfont_driver.
3220
3221 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
3222 font_make_object.
3223
3224 * w32font.c (w32font_open): Adjust it for the change of
3225 font_make_object.
3226 (w32font_open_internal): Don't set properties of font_object here.
3227
32282008-07-08 Chong Yidong <cyd@stupidchicken.com>
3229
3230 * macfns.c (x_create_tip_frame):
3231 * w32fns.c (x_create_tip_frame):
3232 * xfns.c (x_create_tip_frame): Pass parameter argument to
3233 face-set-after-frame-default.
3234
3235 * xfaces.c (Finternal_merge_in_global_face): Save merged
3236 attributes for the default face back into the face vector.
3237
32382008-07-08 Andreas Schwab <schwab@suse.de>
3239
3240 * fontset.h: Declare fontset_from_font. Don't declare
3241 new_fontset_from_font and fontset_from_font_name.
3242 * xterm.c: Include "fontset.h".
3243 * Makefile.in (xterm.o): Update dependencies.
3244
32452008-07-08 Glenn Morris <rgm@gnu.org>
3246
3247 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
3248 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
3249
32502008-07-07 Chong Yidong <cyd@stupidchicken.com>
3251
3252 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
3253 (x_set_frame_parameters): Don't bind it.
3254
32552008-07-07 Juanma Barranquero <lekktu@gmail.com>
3256
3257 * w32fns.c (map_w32_filename): Declare extern.
3258
32592008-07-07 Jason Rumney <jasonr@gnu.org>
3260
3261 * w32term.c (WS_EX_LAYERED): Define if not already.
3262
32632008-07-06 Chong Yidong <cyd@stupidchicken.com>
3264
3265 * xfaces.c (set_font_frame_param): Don't try to set the font
3266 parameter if it is still unspecified in the lface.
3267
32682008-07-05 Chong Yidong <cyd@stupidchicken.com>
3269
3270 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
3271 face if it didn't already exist.
3272
3273 * xdisp.c (try_window_id): Give up if word-wrapping is on.
3274
32752008-07-05 Andreas Schwab <schwab@suse.de>
3276
3277 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
3278
32792008-07-05 Chong Yidong <cyd@stupidchicken.com>
3280
3281 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
3282 word-wrapping.
3283 (IT_DISPLAYING_WHITESPACE): New macro.
3284 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
3285 when word-wrapping. Simplify word-wrapping logic. Use correct
3286 pixel positions when saving copies of the iterator.
3287 (display_line): Use proper wrap point if the last character on a
3288 line was preceded by whitespace.
3289
32902008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
3291
3292 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
3293
32942008-07-04 Kenichi Handa <handa@m17n.org>
3295
3296 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
3297
3298 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
3299
33002008-07-02 Jason Rumney <jasonr@gnu.org>
3301
3302 * xfns.c (syms_of_xfns): Only define x-select-font when both
3303 HAVE_FREETYPE and USE_GTK
3304
3305 * xdisp.c (next_element_from_display_vector): Move assignment out
3306 of if statement.
3307
33082008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
3309
3310 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
3311
3312 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
3313 (syms_of_fileio): Initialize and export them.
3314 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
3315
3316 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
3317 (Fsystem_move_file_to_trash): New function.
3318 (syms_of_w32fns): Export it to lisp.
3319
33202008-07-01 Jason Rumney <jasonr@gnu.org>
3321
3322 * w32font.c (w32font_text_extents): Don't count overhang as part
3323 of width.
3324
33252008-06-30 Miles Bader <miles@gnu.org>
3326
3327 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
3328 Add `avoid_cursor_p' field.
3329
3330 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
3331 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
3332 (append_glyph, append_composite_glyph, produce_image_glyph)
3333 (append_stretch_glyph): Initialize avoid_cursor_p.
3334 (get_it_property): Rename from `get_line_height_property'.
3335 (x_produce_glyphs): Use get_it_property.
3336 (handle_line_prefix, push_display_prop): New functions.
3337 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
3338 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
3339 New variables.
3340 (syms_of_xdisp): Initialize them.
3341
33422008-06-30 Kenichi Handa <handa@m17n.org>
3343
3344 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
3345 XftDefaultSubstitute (they are called in XftFontMatch).
3346 (xftfont_open): Fix args to ftfont_font_format.
3347
3348 * ftfont.c (fc_charset_table): New member lang.
3349 (ftfont_resolve_generic_family): New arg pattern.
60612c8f 3350 (ftfont_spec_pattern): Check fc_charset_table[]->lang.
aac0c6e3
MR
3351 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
3352 (ftfont_open): Fix args to ftfont_font_format.
3353 (ftfont_font_format): New arg filename.
3354
33552008-06-30 Chong Yidong <cyd@stupidchicken.com>
3356
3357 * xfaces.c (Finternal_merge_in_global_face): If default face was
3358 modified, realize it again. Update the font face attribute.
3359
33602008-06-29 Jason Rumney <jasonr@gnu.org>
3361
3362 * w32term.c (x_set_frame_alpha): Fix logic.
3363
33642008-06-29 Kenichi Handa <handa@m17n.org>
3365
3366 * fontset.c (Finternal_char_font): Return font-object instead of
3367 font-name.
3368
3369 * composite.c (get_composition_id): Fix the width calculation for TAB.
3370
33712008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
3372
3373 * indent.c (Fvertical_motion): Properly handle float column arg.
3374
33752008-06-28 Jason Rumney <jasonr@gnu.org>
3376
3377 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
3378 (pfnSetLayeredWindowAttributes): New function pointer.
3379 (w32_initialize): Initialize it when supported.
3380 (x_set_frame_alpha): New function.
3381
3382 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
3383 (w32_frame_parm_handlers): Set alpha handler.
3384
3385 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
3386
33872008-06-27 Jason Rumney <jasonr@gnu.org>
3388
3389 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
3390 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
3391 (w32_to_x_charset, x_to_w32_charset)
3392 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
3393 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
3394 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
3395 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
3396 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
3397 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
3398 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
3399 (Qw32_charset_unicode): Remove.
3400 (syms_of_w32fns): Update for above changes.
3401
3402 * w32font.c (w32_to_x_charset, x_to_w32_charset)
3403 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
3404 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
3405 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
3406 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
3407 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
3408 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
3409 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
3410 (syms_of_w32font): Update for above changes.
3411
34122008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
3413
3414 * s/usg5-4.h: Fix previous change: keep the correct branch of a
3415 removed #if.
3416 (USG_SHARED_LIBRARIES): Remove duplicate definition.
3417
34182008-06-26 Juanma Barranquero <lekktu@gmail.com>
3419 Eli Zaretskii <eliz@gnu.org>
3420
3421 * makefile.w32-in (LOCAL_FLAGS):
3422 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
3423
3424 * sysdep.c (_spawnlp, _getpid):
3425 Declare with explicit _cdecl instead of _CRTAPI1.
3426
3427 * editfns.c (Fget_internal_run_time):
3428 Check for WINDOWSNT with #ifdef, not #if.
3429
34302008-06-26 Jason Rumney <jasonr@gnu.org>
3431
3432 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
3433
3434 * w32term.c (x_draw_glyph_string_foreground)
3435 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
3436 Use FONT_HANDLE macro.
3437 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
3438
3439 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
3440 (uniscribe_encode_char): Use FONT_HANDLE macro.
3441
3442 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
3443 (w32font_text_extents): Use precast w32_font.
3444 (w32font_close): Free cached metrics.
3445 (w32font_open_internal): Allocate space for name on stack.
3446
34472008-06-26 Chong Yidong <cyd@stupidchicken.com>
3448
3449 * xdisp.c (extend_face_to_end_of_line): Fix last change.
3450
34512008-06-26 Jason Rumney <jasonr@gnu.org>
3452
3453 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
3454 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
3455
34562008-06-26 Juanma Barranquero <lekktu@gmail.com>
3457
3458 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
3459
34602008-06-26 Jason Rumney <jasonr@gnu.org>
3461
3462 * w32bdf.c, w32bdf.h: Remove obsolete files.
3463
3464 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
3465
3466 * w32gui.h: Don't include w32bdf.h.
3467 (XCharStruct, enum w32_char_font_type, W32FontStruct):
3468 Remove obsolete font support.
3469
3470 * w32font.h (struct w32font_info): Remove compat_w32_font.
3471 Add hfont member.
3472 (FONT_COMPAT): Remove obsolete macro.
3473
3474 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
3475 (w32font_encode_char, w32font_text_extents): Use new hfont member.
3476 (w32font_open_internal): Remove compat code. Set new hfont member.
3477 (Fx_select_font): Use new hfont member.
3478
3479 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
3480 (uniscribe_encode_char): Use new hfont member.
3481
3482 * w32term.c (x_draw_glyph_string_foreground)
3483 (x_draw_composite_glyph_string_foreground): Use new hfont member.
3484 (x_draw_glyph_string): Use metrics in w32font_info.
3485
34862008-06-26 Kenichi Handa <handa@m17n.org>
3487
3488 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
3489
34902008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
3491
3492 * unexnext.c:
3493 * m/ews4800.h:
3494 * m/hp9000s300.h:
3495 * m/ibm370aix.h:
3496 * m/mips-siemens.h:
3497 * m/ncr386.h:
3498 * m/next.h:
3499 * m/pmax.h:
3500 * m/powerpcle.h:
3501 * m/tandem-s2.h:
3502 * s/386bsd.h:
3503 * s/bsd386.h:
3504 * s/bsd4-1.h:
3505 * s/bsd4-2.h:
3506 * s/bsdos2-1.h:
3507 * s/bsdos2.h:
3508 * s/bsdos3.h:
3509 * s/bsdos4.h:
3510 * s/nextstep.h:
3511 * s/ultrix4-3.h:
3512 * s/usg5-0.h:
3513 * s/usg5-2-2.h:
3514 * s/usg5-2.h:
3515 * s/usg5-4-3.h:
3516 * s/ux4800.h:
3517 * s/uxpds.h:
3518 * s/uxpv.h: Remove support for obsolete systems.
3519 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
3520 Remove, insert contents in s/hpux-10.20.h.
3521 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
3522 Remove, insert contents in s/aix4-2.h.
3523 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
3524 * s/bsd4-3.h: Rename to ...
3525 * s/bsd-common.h: ... this.
3526 * data.c:
3527 * doc.c:
3528 * ecrt0.c:
3529 * emacs.c:
3530 * fileio.c:
3531 * floatfns.c:
3532 * keyboard.c:
3533 * mem-limits.h:
3534 * print.c:
3535 * process.c:
3536 * sysdep.c:
3537 * syssignal.h:
3538 * systty.h:
3539 * syswait.h:
3540 * term.c:
3541 * unexec.c:
3542 * unexelf.c:
3543 * unexhp9k800.c:
3544 * m/hp800.h:
3545 * m/ibmrs6000.h:
3546 * m/mips.h:
3547 * m/vax.h:
3548 * s/darwin.h:
3549 * s/freebsd.h:
3550 * s/gnu.h:
3551 * s/ms-w32.h:
3552 * s/msdos.h:
3553 * s/netbsd.h:
3554 * s/template.h: Remove references to obsolete variables.
3555
3556 * Makefile.in: Add dependencies for all unexec files.
3557 (admindir): Remove unused variable.
3558 (UNEXEC_SRC): Remove references.
3559
35602008-06-25 Chong Yidong <cyd@stupidchicken.com>
3561
3562 * xfns.c (x_default_font_parameter): If Xft is available, first
3563 try Monospace-12 for the default font.
3564
35652008-06-25 Jason Rumney <jasonr@gnu.org>
3566
3567 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
3568
35692008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
3570
3571 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
3572
3573 * buffer.c (syms_of_buffer): Remove default-word-wrap.
3574
35752008-06-25 Juanma Barranquero <lekktu@gmail.com>
3576
3577 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
3578 <scroll-conservatively>: Fix typo in docstring.
3579
3580 * xselect.c (Fx_send_client_event): Doc fix.
3581
35822008-06-25 Kenichi Handa <handa@m17n.org>
3583
3584 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
3585
3586 * font.c (font_parse_fcname): Remove unused variables.
3587 (font_sort_entites): Delete the arg SPEC. Caller changed.
3588 Fix for the case of ! best_only.
3589 (font_delete_unmatched): Check DPI and AVGWIDTH too.
3590
3591 * lisp.h (Fstring_to_unibyte): EXFUN it.
3592
3593 * character.h (str_to_unibyte): Extern it.
3594
3595 * character.c (str_to_unibyte): New function.
3596
3597 * fns.c (Fstring_to_unibyte): New function.
3598 (syms_of_fns): Defsubr it.
3599
36002008-06-24 Kenichi Handa <handa@m17n.org>
3601
3602 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
3603 DPI too.
3604 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
3605
36062008-06-24 Andreas Schwab <schwab@suse.de>
3607
3608 * Makefile.in (${lispsource}loaddefs.el): Rename from
3609 ../lisp/loaddefs.el.
3610 (bootstrap-clean): Do what distclean does but don't remove
3611 Makefile.
3612 (distclean): Depend on bootstrap-clean and remove Makefile.
3613
36142008-06-24 Chong Yidong <cyd@stupidchicken.com>
3615
3616 * buffer.h (struct buffer): New member word_wrap.
3617
3618 * buffer.c (syms_of_buffer): New variables default-word-wrap and
3619 word-wrap.
3620 (init_buffer_once): Initialize them.
3621
3622 * dispextern.h (struct it): Replace bool truncate_lines_p with a
3623 line_wrap enum possessing three possible values.
3624
3625 * termopts.h: Replace truncate_partial_width_windows with
3626 Vtruncate_partial_width_windows.
3627
3628 * dispnew.c (direct_output_for_insert): Avoid direct output when
3629 inserting a space with word wrap on.
3630
3631 * indent.c (compute_motion): Obey integer values of
3632 truncate-partial-width-windows.
3633
3634 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
3635 replacing truncate_partial_width_windows.
3636 (init_iterator): If Vtruncate_partial_width_windows is an integer,
3637 truncate only if the window width is below that integer.
3638 (start_display, resize_mini_window, produce_stretch_glyph)
3639 (display_string, move_it_in_display_line_to): Use line_wrap.
3640 (back_to_previous_visible_line_start, reseat_1): Reset
3641 string_from_display_prop_p.
3642 (display_line): Extend default face to end of line when wrapping.
3643
36442008-06-24 Kim F. Storm <storm@cua.dk>
3645
3646 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
3647 to wrap continued lines at word boundaries.
3648
36492008-06-24 Jason Rumney <jasonr@gnu.org>
3650
3651 * font.c (Ffont_face_attributes): Multiply pixel size before point
3652 conversion to avoid multiplying rounding error.
3653
36542008-06-23 Jason Rumney <jasonr@gnu.org>
3655
3656 * w32term.c (x_draw_glyph_string_background)
3657 (x_draw_glyph_string): Remove old bdf font code.
3658
3659 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
3660
36612008-06-22 Kenichi Handa <handa@m17n.org>
3662
3663 * font.c (font_find_for_lface): Try the adstyle specified in
3664 the property of LFACE_FONT of LFACE (if any).
3665
36662008-06-21 Seiji Zenitani <zenitani@mac.com>
3667 Ryo Yoshitake <ryo@shiftmode.net>
3668
3669 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
3670
36712008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
3672
3673 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
3674 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
3675 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
3676 (witness-emacs): Remove.
3677 (lisp, shortlisp): Move loaddefs.el earlier.
3678 (mostlyclean): Forget about witness-emacs.
3679
36802008-06-22 Glenn Morris <rgm@gnu.org>
3681
3682 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
3683 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
3684
36852008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
3686
3687 * Makefile.in (PRECOMP): Remove.
3688 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
3689 (witness-emacs): Run `compile-first'.
3690 (.el.elc): Use the new compile-onefile target.
3691
36922008-06-21 Kenichi Handa <handa@m17n.org>
3693
3694 * xftfont.c (xftfont_open): Handle QCembolden only when
3695 FC_EMBOLDEN is defined.
3696
36972008-06-21 Andreas Schwab <schwab@suse.de>
3698
3699 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
3700 (.el.elc): Likewise.
3701
37022008-06-21 Miles Bader <miles@gnu.org>
3703
3704 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
3705 build dir, not the lisp source dir.
3706
37072008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
3708
3709 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
3710 (bootstrapclean): Remove.
3711 (.el.elc): New rule.
3712 (PRECOMP): New var.
3713 (../lisp/subdirs.el): Remove.
3714 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
3715 (witness-emacs): New target.
3716 (mostlyclean): Remove witness-emacs as well.
3717 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
3718 Add witness-emacs dependency.
3719
37202008-06-20 Chong Yidong <cyd@stupidchicken.com>
3721
3722 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
3723 defined by the font.
3724
37252008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
3726
3727 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
3728 (bootstrap-clean): New target that keeps TAGS around.
3729 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
3730 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
3731
37322008-06-20 Jason Rumney <jasonr@gnu.org>
3733
3734 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
3735 Remove obsolete font code.
3736
3737 * w32font.c (font_matches_spec): Use csb bitfield from font signature
3738 to determine language support.
3739
37402008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
3741
3742 * sysdep.c (cfsetspeed): New fun extracted from the code.
3743 (cfmakeraw): Move before first use.
3744
37452008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
3746
3747 * sysdep.c (cfmakeraw): Provide fallback implementation.
3748 (serial_configure): Provide fallback implementation of cfsetspeed.
3749
37502008-06-20 Kenichi Handa <handa@m17n.org>
3751
3752 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
3753 the pattern.
3754
3755 * fontset.c (fontset_from_font): Copy font_spec before changing
3756 the elements.
3757
3758 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
3759
37602008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
3761
3762 * w32fns.c, xfns.c (x_default_font_parameter): Only set `font-param'
3763 for explicit `font' parameters.
3764
3765 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
3766
37672008-06-19 Kenichi Handa <handa@m17n.org>
3768
3769 * frame.c: Include <ctype.h>.
3770 (x_set_font_backend): Allow spacing characters in the X resource
3771 for FontBackend.
3772
37732008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
3774
3775 * w32fns.c, xfns.c (Qfont_param): New var.
3776 (syms_of_w32fns): Initialize it.
3777 (x_default_font_parameter): Record explicit `font' into
3778 `font-parameter'.
3779
37802008-06-18 Kenichi Handa <handa@m17n.org>
3781
3782 * font.c (font_parse_xlfd): Fix previous change.
3783 (font_parse_fcname): Don't use :fc-unknown-spec.
3784 (FRAME_X_DISPLAY_INFO): Be sure to have at least 1 pixel height.
3785 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
3786 (font_add_log): Prepend the driver name to the resulting fonts.
3787
3788 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
3789 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
3790 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
3791
3792 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
3793 (QCembolden): New variables.
3794 (syms_of_xftfont): DEFSYM them.
3795 (xftfont_open): Call XftFontMatch. Don't trust the result of
3796 XftTextExtents8 if the pixel_size is less than 5.
3797
37982008-06-18 Andreas Schwab <schwab@suse.de>
3799
3800 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
3801 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
3802
38032008-06-18 Jason Rumney <jasonr@gnu.org>
3804
3805 * w32font.c (w32font_list, w32font_match): Add logging.
3806
3807 * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging.
3808
38092008-06-17 Chong Yidong <cyd@stupidchicken.com>
3810
3811 * font.c (font_parse_fcname): Store divider characters for
3812 unknown-spec list. For known key symbols, intern using correct
3813 symbol name.
3814
38152008-06-17 Kenichi Handa <handa@m17n.org>
3816
3817 * xfaces.c (realize_default_face): If the frame is not on window
3818 system, set the fontset of face to nil.
3819
38202008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
3821
3822 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
3823
38242008-06-16 Juanma Barranquero <lekktu@gmail.com>
3825
3826 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
3827 (build_font_name_from_vector): Delete externs.
3828
3829 * xfaces.c (struct font_name): Don't declare.
3830
38312008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
3832
3833 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
3834
38352008-06-16 Chong Yidong <cyd@stupidchicken.com>
3836
3837 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
3838
38392008-06-16 Juanma Barranquero <lekktu@gmail.com>
3840
3841 * font.c (Ffont_spec): Fix usage in docstring.
3842 (Ffont_face_attributes): Doc fix.
3843
38442008-06-16 Andreas Schwab <schwab@suse.de>
3845
3846 * font.c (Ffont_face_attributes): Fix definition.
3847
38482008-06-16 Jason Rumney <jasonr@gnu.org>
3849
3850 * font.h (font_style_symbolic_from_value): Remove.
3851
3852 * font.c (font_style_symbolic_from_value): Remove.
3853 (font_style_symbolic): Revert to pre 2008-06-13 version.
3854
3855 * w32font.c (w32_to_fc_weight): New function.
3856 (w32font_full_name, logfont_to_fcname): Use it.
3857
38582008-06-16 Kenichi Handa <handa@m17n.org>
3859
3860 * font.c (font_check_object): Delete it.
3861 (font_clear_cache): Check if a font-object is alive.
3862 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
3863 font-object to nil.
3864 (font_close_object): Don't check FONT_CLOSE_OBJECT.
3865 (font_at): Don't call font_check_object.
3866 (Ffont_get): Return a symbol for :weight, :slant, and :width.
3867
38682008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
3869
3870 * puresize.h (BASE_PURESIZE): Increase to 1230000.
3871
38722008-06-16 Chong Yidong <cyd@stupidchicken.com>
3873
3874 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
3875
38762008-06-15 Chong Yidong <cyd@stupidchicken.com>
3877
3878 * font.c (font_parse_fcname): Only one decimal point.
3879 (font_unparse_fcname): Handle data in family and foundry indices
3880 as symbols, not strings.
3881 (font_unparse_gtkname, Ffont_face_attributes): New functions.
3882
3883 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
3884
3885 * font.h (font_unparse_gtkname): Add prototype.
3886
38872008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
3888
3889 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
3890
38912008-06-15 Andreas Schwab <schwab@suse.de>
3892
3893 * font.c (font_update_drivers): Fix crash when no drivers match.
3894
38952008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
3896
3897 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
3898 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
3899
39002008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
3901
3902 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
3903
39042008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
3905
3906 * process.c (Fserial_process_configure, Fprocess_send_eof):
3907 Use EQ to compare Lisp_Objects.
3908
39092008-06-13 Jason Rumney <jasonr@gnu.org>
3910
3911 * w32fns.c (Fw32_select_font): Remove old font API function.
3912
3913 * w32font.c (logfont_to_fcname): New function.
3914 (Fx_select_font): New font dialog function compatible with
3915 GTK/fontconfig version.
3916
3917 * font.c (font_style_symbolic_from_value): New function.
3918 (font_style_symbolic): Use it.
3919
3920 * font.h (font_style_symbolic_from_value): Declare new function.
3921
39222008-06-13 Juanma Barranquero <lekktu@gmail.com>
3923
3924 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
3925 <font-width-table>: Fix typos in docstrings.
3926
39272008-06-13 Daniel Engeler <engeler@gmail.com>
3928
3929 These changes add serial port access.
3930 * process.c: Add HAVE_SERIAL.
3931 (Fdelete_process, Fprocess_status, Fset_process_buffer)
3932 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
3933 (list_processes_1, select_wrapper, Fstop_process)
3934 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
3935 (status_notify): Modify to handle serial processes.
3936 [HAVE_SERIAL] (Fserial_process_configure)
3937 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
3938 New functions.
3939 * process.h (struct Lisp_Process): Add `type'.
3940 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
3941 New functions.
3942 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
3943 serial ports.
3944 (serial_open, serial_configure) New functions.
3945 * w32.h: Add FILE_SERIAL.
3946 (struct _child_process): Add ovl_read, ovl_write.
3947
39482008-06-13 Kenichi Handa <handa@m17n.org>
3949
3950 * dispextern.h (enum lface_attribute_index): New member
3951 LFACE_FOUNDRY_INDEX.
3952
3953 * font.c (font_score): Delete arg alternate_families. Check only
3954 weight, slant, width, and size. Ignore the difference of alias
3955 style symbols.
3956 (font_sort_entites): Adjust for the above change. Reflect the
3957 order of font-driver to scores.
3958 (font_list_entities): Don't check alternate_familes here.
3959 (font_clear_prop): Handle foundry.
3960 (font_update_lface): Don't parse "foundry-family" form here.
3961 Handle FONT_FOUNDRY_INDEX.
3962 (font_find_for_lface): Likewise. Handle alternate families here.
3963 If registry is nil, try iso8859-1 and ascii-0.
3964 (font_open_for_lface): Pay attention to size in ENTITY.
3965 (font_open_by_name): Simplify by calling font_load_for_lface.
3966 (free_font_driver_list): Delete it.
3967 (font_update_drivers): Preserve the order of backends.
3968 (syms_of_font): Setting of sort_shift_bits adjusted for the change
3969 of font_score and font_sort_entites.
3970 (font_update_sort_order): Likewise.
3971
3972 * xfaces.c (LFACE_FOUNDRY): New macro.
3973 (check_lface_attrs): Check foundry.
3974 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
3975 (merge_face_vectors): Check foundry.
3976 (merge_face_ref): Likewise.
3977 (Finternal_set_lisp_face_attribute): Likewise.
3978 (x_update_menu_appearance): Likewise.
3979 (Finternal_get_lisp_face_attribute): Likewise.
3980 (lface_hash): Likewise.
3981 (lface_same_font_attributes_p): Likewise.
3982 (x_supports_face_attributes_p): Likewise.
3983 (tty_supports_face_attributes_p): Likewise.
3984 (Finternal_set_alternative_font_family_alist): Intern strings.
3985 (Finternal_set_alternative_font_registry_alist): Downcase strings.
3986 (realize_default_face): Set LFACE_FOUNDRY (lface).
3987
3988 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
3989 font-driver at first.
3990
3991 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
3992
39932008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
3994
3995 * lread.c (Fload): Use xfree, not free on saved_doc_string.
3996
39972008-06-12 Jim Meyering <meyering@redhat.com>
3998
3999 Make unexec_free handle NULL the same way free does.
4000 * unexmacosx.c (unexec_free): Ignore a NULL argument.
4001
40022008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
4003
4004 * character.h (CHAR_TO_BYTE_SAFE): New macro.
4005 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
4006 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
4007 (WEAK_ALIAS): Simplify.
4008 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
4009 when searching a unibyte buffer.
4010
40112008-06-12 Chong Yidong <cyd@stupidchicken.com>
4012
4013 * xfns.c (Fx_select_font): Rename from x-font-dialog.
4014
40152008-06-12 Juanma Barranquero <lekktu@gmail.com>
4016
4017 * w32font.c: Include ctype.h.
4018
40192008-06-11 Jason Rumney <jasonr@gnu.org>
4020
4021 * w32font.c (w32font_encode_char): Detect missing glyphs that are
4022 misreported as space.
4023 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
4024 as aliases for registry iso10646-1.
4025
40262008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
4027
4028 * buffer.c (clone_per_buffer_values): Skip `name'.
4029
40302008-06-11 Chong Yidong <cyd@stupidchicken.com>
4031
4032 * font.c (font_parse_fcname): Fix last change; accept decimal
4033 points in font size.
4034
40352008-06-10 Jason Rumney <jasonr@gnu.org>
4036
4037 * w32uniscribe.c (add_opentype_font_name_to_list):
4038 Skip non unicode fonts.
4039
40402008-06-10 Chong Yidong <cyd@stupidchicken.com>
4041
4042 * xfns.c (Fx_font_dialog): New function.
4043
4044 * gtkutil.c (xg_dialog_response_cb): Rename from
4045 xg_file_response_callback.
4046 (pop_down_dialog): Rename from pop_down_file_dialog.
4047 (xg_get_file_name): Callers changed.
4048 (xg_get_font_name): New function.
4049
4050 * gtkutil.h (xg_get_font_name): Insert prototype.
4051
40522008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
4053
4054 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
4055 x_underline_minimum_display_offset.
4056 (syms_of_xdisp): Declare it here rather than in xterm.c.
4057 * dispextern.h (underline_minimum_offset): Declare it.
4058 * w32term.c (x_draw_glyph_string): Use it.
4059 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
4060 (syms_of_xterm): Don't declare it any more.
4061 (x_draw_glyph_string): Adjust to the new name.
4062
40632008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
4064
4065 * xterm.c (x_underline_minimum_display_offset): New var.
4066 (x_draw_glyph_string): Use it.
4067 (syms_of_xterm): Declare it.
4068
40692008-06-10 Chong Yidong <cyd@stupidchicken.com>
4070
4071 * font.c (font_parse_fcname): Accept GTK-style font names too.
4072
40732008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
4074
4075 * dired.c (file_name_completion): Don't return t if the match is exact
4076 but with different capitalization.
4077 * minibuf.c (Ftry_completion): Simplify.
4078
4079 * window.c (Vwindow_point_insertion_type): New var.
4080 (set_window_buffer): Use it.
4081 (syms_of_window): Init and export it to Lisp.
4082
40832008-06-10 Kenichi Handa <handa@m17n.org>
4084
4085 * font.h (font_intern_prop): Prototype adjusted.
4086
4087 * font.c (font_intern_prop): New arg force_symbol.
4088 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
4089 Adjust for the change of font_intern_prop.
4090
4091 * ftfont.c (ftfont_pattern_entity):
4092 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
4093 (w32_registry):
4094 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
4095 the change of font_intern_prop.
4096
40972008-06-09 Juanma Barranquero <lekktu@gmail.com>
4098
4099 * w32menu.c (digest_single_submenu): Declare extern.
4100
41012008-06-09 Jason Rumney <jasonr@gnu.org>
4102
4103 * w32term.c (x_make_frame_visible): Use alternate restore flags.
4104
4105 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
4106 (parse_single_submenu): Remove.
4107 (digest_single_submenu): Remove.
4108 (syms_of_w32menu): Don't initialise variables that have moved
4109 to menu.c.
4110 (set_frame_menubar): Sync with version in xmenu.c.
4111 (w32_menu_show): Sync with xmenu_show in xmenu.c.
4112
4113 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
4114 Make static again.
4115
41162008-06-09 Jason Rumney <jasonr@gnu.org>
4117
4118 Changes to w32 files related to the move of common menu code
4119 to menu.c on 2008-06-08 by Chong Yidong.
4120
4121 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
4122 defs to w32gui.h.
4123 (single_keymap_panes, push_menu_item, push_menu_pane):
4124 Make globally visible.
4125
4126 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
4127 (local_free, malloc_widget_value, free_widget_value)
4128 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
4129 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
4130 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
4131 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
4132 (menu_items, menu_items_allocated, menu_items_used)
4133 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
4134 (init_menu_items, finish_menu_items, discard_menu_items)
4135 (grow_menu_items, push_submenu_start, push_submenu_end)
4136 (push_left_right_boundary, push_menu_pane, push_menu_item)
4137 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
4138 (free_menubar_widget_tree_value, parse_single_submenu)
4139 (update_submenu_strings): Remove functions.
4140 (xmalloc_widget_value): Remove and declare extern.
4141
4142 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
4143 (OBJ1): Build it.
4144
4145 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
4146 (local_heap, local_alloc, local_free, malloc_widget_value)
4147 (free_widget_value): Define here.
4148
41492008-06-09 Kenichi Handa <handa@m17n.org>
4150
4151 * font.h (Qascii_0): Extern it.
4152
4153 * font.c (Qascii_0): New variable.
4154 (syms_of_font): DEFSYM it.
4155 (font_open_by_name): If the registry "iso8859-1" fails, try also
4156 "ascii-0".
4157
4158 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
4159
41602008-06-08 Kenichi Handa <handa@m17n.org>
4161
4162 * .gdbinit (xfont): New command.
4163
41642008-06-08 Andreas Schwab <schwab@suse.de>
4165
4166 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
4167 * Makefile.in (menu.o): Update dependencies.
4168
4169 * Makefile.in (obj): Always add menu.o.
4170 * emacs.c (main): Always call syms_of_menu.
4171 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
4172
41732008-06-08 Chong Yidong <cyd@stupidchicken.com>
4174
4175 * Makefile.in: Compile menu.c.
4176
4177 * lisp.h: Declare syms_of_menu.
4178
4179 * emacs.c (main): Call syms_of_menu.
4180
4181 * keyboard.h: Relocate platform-independent menu definitions from
4182 xmenu.c.
4183
4184 * menu.c: New file. Relocate platform-independent menu
4185 definitions from xmenu.c. Suggested by Adrian Robert.
4186
4187 * xmenu.c: Remove platform-independent menu definitions.
4188 (menu_items menu_items_inuse, menu_items_allocated)
4189 (menu_items_used, menu_items_n_panes)
4190 (menu_items_submenu_depth): Move to keyboard.h.
4191 (init_menu_items, finish_menu_items, unuse_menu_items)
4192 (discard_menu_items, restore_menu_items, save_menu_items)
4193 (grow_menu_items, push_submenu_start, push_submenu_end)
4194 (push_left_right_boundary, push_menu_pane, push_menu_item)
4195 (keymap_panes, single_keymap_panes, single_menu_item)
4196 (list_of_panes, list_of_items, find_and_call_menu_selection)
4197 (xmalloc_widget_value, free_menubar_widget_value_tree)
4198 (parse_single_submenu, digest_single_submenu)
4199 (update_submenu_strings): Move to menu.c.
4200
42012008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
4202
4203 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
4204
42052008-06-06 Miles Bader <miles@gnu.org>
4206
4207 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
4208 face, not frame default.
4209
42102008-06-05 Martin Rudalics <rudalics@gmx.at>
4211
4212 * window.c (pop_up_windows, pop_up_frames)
4213 (display_buffer_reuse_frames, Vpop_up_frame_function)
4214 (Vdisplay_buffer_function, Veven_window_heights)
4215 (Vspecial_display_buffer_names, Vspecial_display_regexps)
4216 (Vspecial_display_function, Vsame_window_buffer_names)
4217 (Vsame_window_regexps, split_height_threshold)
4218 (Vsplit_window_preferred_function): Move those vars to window.el.
4219 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
4220 (Fdisplay_buffer): Move those functions to window.el.
4221 (syms_of_window): Remove corresponding declarations.
4222 (display_buffer): New function.
4223 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
4224 * dispnew.c (Flast_nonminibuf_frame): New function.
4225 * buffer.c (Fpop_to_buffer): Move to window.el.
4226
42272008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
4228
4229 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
4230
42312008-06-05 Kenichi Handa <handa@m17n.org>
4232
4233 * coding.c (detect_coding): Fix previous change.
4234 (detect_coding_system): Likewise.
4235
42362008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
4237
4238 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
4239
4240 * keymap.c (Vminibuffer_local_filename_must_match_map):
4241 Rename from Vminibuffer_local_must_match_filename_map.
4242 (syms_of_keymap):
4243 * minibuf.c (Fcompleting_read): Adjust accordingly.
4244 * commands.h: Rename declaration as well.
4245
42462008-06-05 Kenichi Handa <handa@m17n.org>
4247
4248 * font.c (Ffont_spec): Don't use font_parse_family_registry for
4249 family name.
4250 (Ffont_put): Likewise.
4251
4252 * fontset.c (fontset_find_font): Call font_open_for_lface with the
4253 current font-spec.
4254
4255 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
4256 is unspecified.
4257
4258 * xfaces.c (realize_x_face): If the font-related face attributes
4259 are the same as those of default face, realize a new fontset from
4260 default->fontset.
4261 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
4262
42632008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
4264
4265 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
4266 (move_it_in_display_line): New wrapper.
4267
4268 * window.c (window_scroll_pixel_based_preserve_x)
4269 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
4270 (window_scroll_pixel_based, window_scroll_line_based):
4271 Use them to preserve column positions.
4272 (syms_of_window): Initialize them.
4273
4274 * indent.c (Fvertical_motion): Extend first arg to allow passing an
4275 (HPOS . VPOS) pair.
4276
4277 * dispextern.h (move_it_in_display_line): Declare.
4278
42792008-06-05 Juanma Barranquero <lekktu@gmail.com>
4280
4281 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
4282 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
4283 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
4284
42852008-06-04 Juanma Barranquero <lekktu@gmail.com>
4286
4287 * window.c (Fset_window_parameter): Doc fix.
4288 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
4289
42902008-06-04 Joakim Verona <joakim@verona.se>
4291
4292 * window.h (struct window): Add new member window_parameters.
4293
4294 * window.c (Fwindow_parameters, Fwindow_parameter)
4295 (Fset_window_parameter): New defuns.
4296 (syms_of_window): Defsubr the new defuns.
4297 (make_window): Initialize window_parameters to nil.
4298
42992008-06-04 John Paul Wallington <jpw@pobox.com>
4300
4301 * eval.c (Fdefmacro): Doc fix.
4302
43032008-06-04 Kenichi Handa <handa@m17n.org>
4304
4305 * coding.c (detect_coding): Fix handling of coding->head_ascii.
4306 Be sure to call setup_coding_system when we find a proper coding system.
4307 (detect_coding_system): Fix handling of coding->head_ascii.
4308
43092008-06-03 Andreas Schwab <schwab@suse.de>
4310
4311 * font.c (font_prop_validate_spacing): Fix last change.
4312
43132008-06-03 Kenichi Handa <handa@m17n.org>
4314
4315 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
4316 (font_parse_fcname): Fix handling of unknown key.
4317
4318 * xfont.c (xfont_list): Try an alias.
4319
4320 * charset.c (char_charset): Return NULL if the arg charset_list is
4321 specified and C doesn't belong to any of them.
4322
43232008-06-02 Chip Coldwell <coldwell@redhat.com>
4324
4325 * font.c (font_pixel_size): Don't take cdr of an integer.
4326
43272008-06-02 Jim Meyering <meyering@redhat.com>
4328
4329 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
4330 * alloc.c (xfree): Return right away for a NULL arg.
4331 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
4332 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
4333 * mac.c (create_apple_event_from_event_ref): Likewise.
4334 (create_apple_event_from_drag_ref, cfstring_create_normalized):
4335 Likewise.
4336 * doprnt.c (doprnt1): Likewise.
4337 * frame.c (frame): Likewise.
4338 * keyboard.c (wipe_kboard): Likewise.
4339 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
4340 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
4341 * term.c (tty_default_color_capabilities, maybe_fatal)
4342 (delete_tty): Likewise.
4343 * w16select.c (string): Likewise.
4344 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
4345 * w32bdf.c (w32_free_bdf_font): Likewise.
4346 * w32fns.c (w32_unload_font): Likewise.
4347 * w32font.c (w32font_close): Likewise.
4348 * window.c (size_window): Likewise.
4349 * xselect.c (receive_incremental_selection): Likewise.
4350 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
4351 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
4352 * w32.c (stat): Likewise.
4353
4354 Remove useless if-before-free tests.
4355 * editfns.c (Fset_time_zone_rule): Likewise.
4356 * lread.c (nosuffix): Likewise.
4357 * ralloc.c (get_bloc): Likewise.
4358 * regex.c (reg_free): Likewise.
4359 * xftfont.c (xftfont_open, xftfont_close): Likewise.
4360 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
4361 * xsmfns.c (smc_save_yourself_CB): Likewise.
4362
43632008-06-02 Kenichi Handa <handa@m17n.org>
4364
4365 * font.c (font_find_for_lface): Handle float font size.
4366 (font_open_for_lface): Likewise.
4367
4368 * xfaces.c (x_supports_face_attributes_p): Check face->font before
4369 comparing the properties.
4370
43712008-06-01 Jason Rumney <jasonr@gnu.org>
4372
4373 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
4374 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
4375 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
4376 Don't add empty script list.
4377 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
4378
43792008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
4380
4381 * Makefile.in (dot, dotdot): Remove, update users.
4382 ".." has been used elsewhere in the file for a long time.
4383 (LIBXT_STATIC): Remove conditional based on unused variable.
4384
43852008-06-01 Miles Bader <miles@gnu.org>
4386
4387 * xfaces.c (Vface_remapping_alist): New variable.
4388 (syms_of_xfaces): Initialize it.
4389 (enum named_merge_point_kind): New type.
4390 (struct named_merge_point): Add `named_merge_point_kind' field.
4391 (push_named_merge_point): Make cycle detection respect different
4392 named-merge-point kinds.
4393 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
4394 Remove face-name alias resolution.
4395 (lface_from_face_name): New definition using
4396 `lface_from_face_name_no_resolve'.
4397 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
4398 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
4399 (get_lface_attributes): New definition that layers face-remapping on
4400 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
4401 (lookup_basic_face): New function.
4402 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
4403 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
4404 `get_lface_attributes'.
4405 (face_at_buffer_position): Use `lookup_basic_face' to lookup
4406 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
4407 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
4408
4409 * xdisp.c (init_iterator): Pass base_face_id through
4410 `lookup_basic_face' when we actually use it as a face-id.
4411 (handle_single_display_prop): Use `lookup_basic_face' to lookup
4412 DEFAULT_FACE_ID.
4413
4414 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
4415 lookup the initial face-id.
4416
4417 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
4418
44192008-06-01 Juanma Barranquero <lekktu@gmail.com>
4420
4421 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
4422 (Fremove_text_properties): Fix typos in docstrings.
4423
44242008-05-31 Kenichi Handa <handa@m17n.org>
4425
4426 * font.c (font_list_entities): Fix the car part of data to be
4427 stored in the cache.
4428
4429 * ftfont.c (ftfont_font_format): Don't use strcasestr.
4430
44312008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
4432
4433 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
4434 Add a `test' argument so another predicate than `equal' can be used.
4435 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
4436 (map_char_table): Remove unused vars `c' and `i'.
4437 * lisp.h (Foptimize_char_table): Adjust declaration.
4438 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
4439
44402008-05-30 Kenichi Handa <handa@m17n.org>
4441
4442 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
4443 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
4444 defined.
4445
44462008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
4447
4448 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
4449 (Fmake_variable_frame_local): Disallow mixing buffer-local and
4450 frame-local settings for the same variable.
4451
44522008-05-30 Kenichi Handa <handa@m17n.org>
4453
4454 * fontset.c (Ffont_info): Move to font.c.
4455 (syms_of_fontset): Delete defsubr of Sfont_info.
4456
4457 * font.c (font_style_to_value, font_score): Delete casting of the
4458 args to xstcasecmp.
4459 (register_font_driver): Increment num_font_drivers only when
4460 registering the driver globally.
4461 (Ffont_info): Move from fontset.c. Handle a font object too.
4462 (syms_of_font): Defsubr Sfont_info.
4463
44642008-05-29 Kenichi Handa <handa@m17n.org>
4465
4466 * coding.h (enum define_coding_utf8_arg_index): New enum.
4467 (enum coding_attr_index): Change coding_attr_utf_16_bom to
4468 coding_attr_utf_bom.
4469 (enum utf_bom_type): Rename from utf_16_bom_type.
4470 (struct utf_16_spec): Adjust for the above change.
4471 (struct coding_system): Add utf_8_bom in `spec' union.
4472
4473 * coding.c (CODING_UTF_8_BOM): New macro.
4474 (enum coding_category): Delete coding_category_utf_8, add
4475 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
4476 coding_category_utf_8_sig.
4477 (CATEGORY_MASK_UTF_8): Delete it.
4478 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
4479 (CATEGORY_MASK_UTF_8_SIG): New macros.
4480 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
4481 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
4482 CATEGORY_MASK_UTF_8_SIG.
4483 (CATEGORY_MASK_UTF_8): New macro.
4484 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
4485 (detect_coding_utf_8): Check BOM.
4486 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
4487 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
4488 (encode_coding_utf_16): Likewise.
4489 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
4490 (detect_coding, detect_coding_system): Handle utf-8-auto.
4491 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
4492 (syms_of_coding): Fix setting up of Vcoding_category_table.
4493
44942008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
4495
4496 * process.c (Faccept_process_output): If `millisec' is non-nil,
4497 `seconds' default to 0.
4498 (wait_reading_process_output): Also return non-nil if we read output
4499 from a non-running process.
4500
45012008-05-29 Jason Rumney <jasonr@gnu.org>
4502
4503 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
4504 `raster' specified.
4505 (add_font_entity_to_list): Allow non-opentype truetype fonts back
4506 in the uniscribe backend, but disallow any font that has no
4507 unicode subrange support.
4508
45092008-05-29 Juanma Barranquero <lekktu@gmail.com>
4510
4511 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
4512 Fix typos in docstrings.
4513
45142008-05-29 Kenichi Handa <handa@m17n.org>
4515
4516 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
4517 (Fx_family_fonts): Set frame correctly.
4518
45192008-05-28 Jason Rumney <jasonr@gnu.org>
4520
4521 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
4522
45232008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
4524
4525 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
4526 calling build_annotations.
4527
45282008-05-28 Juanma Barranquero <lekktu@gmail.com>
4529
4530 * coding.c (Fdecode_coding_region, Fencode_coding_region)
4531 (Fencode_coding_string):
4532 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
4533 <latin-extra-code-table>: Fix typos in docstrings.
4534 (syms_of_coding) <coding-system-alist>: Doc fix.
4535 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
4536
45372008-05-28 Kenichi Handa <handa@m17n.org>
4538
4539 * fontset.c (Ffont_info): Don't call font_close_object.
4540
4541 * font.c (font_parse_family_registry): Use Ffont_put to validate
4542 foundry and family.
4543 (font_delete_unmatched): Don't check spacing.
4544 (font_list_entities): Add spacing to the spec to list fonts.
4545
4546 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
4547 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
4548
4549 * coding.c (encode_coding_raw_text): Fix previous change.
4550 (encode_coding_object): When the dst_object is a buffer and is
4551 different from src_object, move gap to PT.
4552
45532008-05-27 Chong Yidong <cyd@stupidchicken.com>
4554
4555 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
4556
45572008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
4558
4559 * coding.c (encode_coding_raw_text): Set coding->produced_char for
4560 all branches. Compute it differently.
4561
4562 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
4563
45642008-05-27 Juanma Barranquero <lekktu@gmail.com>
4565
4566 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
4567 into "else if () ... else ...".
4568
45692008-05-27 Jason Rumney <jasonr@gnu.org>
4570
4571 * w32font.c (w32font_open_internal): Determine if glyph indices
4572 are likely to work here.
4573
45742008-05-27 Chong Yidong <cyd@stupidchicken.com>
4575
4576 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
4577 draw overlap glyphs with appropriate highlighting.
4578
45792008-05-27 Kenichi Handa <handa@m17n.org>
4580
4581 * xfont.c (xfont_open): Fix calculation of font->average_width.
4582
45832008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
4584
4585 * casefiddle.c (casify_object): Try to guess better whether the
4586 argument is a byte or a char.
4587
45882008-05-26 Andreas Schwab <schwab@suse.de>
4589
4590 * xselect.c (x_reply_selection_request): Properly handle format == 32.
4591 Always send multiples of format size.
4592
4593 * xterm.c (x_set_frame_alpha): Fix type mismatch.
4594
45952008-05-26 Jason Rumney <jasonr@gnu.org>
4596
4597 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
4598 (compute_metrics): Don't set failure if we just cleared the cache.
4599 (w32_weight_table): Remove unused variable.
4600 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
4601 backwards compatibility.
4602
46032008-05-25 Kenichi Handa <handa@m17n.org>
4604
4605 * w32term.c (x_draw_glyph_string):
4606 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
4607
4608 * xfaces.c: Delete unused function prototypes.
4609 (xstrlwr, font_frame): Delete them.
4610 (clear_face_cache): Delete unused variable.
4611
4612 * xftfont.c (xftfont_open): Delete unused variable.
4613 If underline_thickness is not 1, adjust underline_position.
4614
4615 * ftxfont.c (ftxfont_open): Delete unused variable.
4616
4617 * fontset.c (face_for_char): Optimize for the case of no charset
4618 property.
4619
4620 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
4621 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
4622 (otf_open, font_otf_capability, generate_otf_features)
4623 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
4624 Comment out by surrounding "#if 0" and "#endif" for the moment.
4625 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
4626 (syms_of_font): Codes for accessing above commented out.
4627
46282008-05-24 Eli Zaretskii <eliz@gnu.org>
4629
4630 * w32proc.c: Include dispextern.h.
4631
4632 * w32.c: Include dispextern.h.
4633
46342008-05-23 Juanma Barranquero <lekktu@gmail.com>
4635
4636 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
4637 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
4638 Fix typos in docstrings.
4639
46402008-05-23 Jason Rumney <jasonr@gnu.org>
4641
4642 * xsmfns.c: Remove includes that are already included by config.h.
4643
46442008-05-23 Kenichi Handa <handa@m17n.org>
4645
4646 * charset.c (Qemacs, charset_emacs): New variables.
4647 (char_charset): Fix for non-Unicode characters.
4648 (syms_of_charset): Define charset_emacs.
4649
4650 * w32term.c (x_draw_glyph_string): Be sure to update
4651 s->underline_thickness and s->underline_position. Be sure to draw
4652 underline within the current line area.
4653
4654 * xterm.c (x_draw_glyph_string): Be sure to update
4655 s->underline_thickness and s->underline_position. Be sure to draw
4656 underline within the current line area.
4657
4658 * fontset.c: Delete unused variables and add casting for char *
4659 throughout the file.
4660 (fontset_font): Try the fallback fonts of the current fontset
4661 before consulting the default fontset.
4662
4663 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
4664
4665 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
4666
46672008-05-22 Jason Rumney <jasonr@gnu.org>
4668
4669 * font.c: Don't include strings.h.
4670
4671 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
4672
4673 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
4674 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
4675 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
4676 to call xstrcasecmp.
4677
4678 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
4679
4680 * fontset.c (fs_query_fontset): Use xstrcasecmp.
4681
4682 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
4683
4684 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
4685
46862008-05-22 Kenichi Handa <handa@m17n.org>
4687
4688 * puresize.h (BASE_PURESIZE): Increase to 1220000.
4689
4690 * font.c (font_prop_validate_style): Adjust for the format
4691 change of font_style_table.
4692
4693 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
4694 two args.
4695
4696 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
4697 two args.
4698
46992008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
4700
4701 * minibuf.c (keys_of_minibuf): Delete.
4702 * lisp.h (keys_of_minibuf): Delete.
4703 * emacs.c (main): Don't call keys_of_minibuf.
4704
47052008-05-22 Kenichi Handa <handa@m17n.org>
4706
4707 * ftfont.c (ftfont_resolve_generic_family): Rename from
4708 ftfont_list_generic_family. Return a single family for each
4709 generic family.
4710 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
4711 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
4712 Call font_add_log.
4713 (ftfont_match): Call font_add_log.
4714
4715 * font.h (Ffont_xlfd_name): EXFUN adjusted.
4716 (FONT_DEBUG): Define it.
4717 (font_add_log): Extern it.
4718 (font_assert): Rename from xassert.
4719
4720 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
4721 (xfont_list_family): Call font_add_log.
4722 (xfont_match): Likewise.
4723 (memq_no_quit): Delete.
4724
4725 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
4726 call of Ffont_xlfd_name.
4727
4728 * xfaces.c (struct table_entry, slant_table, weight_table)
4729 (swidth_table): Move to font.c.
4730
4731 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
4732 xassert are changed to font_assert. Delete many unused variables.
4733 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
4734 New variables.
4735 (struct table_entry): Move from xfaces.c and modified.
4736 (weight_table, slant_table, width_table): Move from xfaces.c and
4737 contents adjusted for the change of struct table_entry.
4738 (font_style_to_value, font_style_symbolic): Adjust for the
4739 format change of font_style_table.
4740 (font_parse_family_registry): Don't overwrite existing foundry and
4741 family of font_spec.
4742 (font_score): Fix calculation of diff for sizes.
4743 (font_sort_entites): Call font_add_log.
4744 (font_delete_unmatched): Return a newly created list.
4745 (font_list_entities): Fix previous change. Call font_add_log.
4746 (font_matching_entity, font_open_entity, font_close_entity):
4747 Call font_add_log.
4748 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
4749 (Finternal_set_font_style_table): Delete.
4750 (BUILD_STYLE_TABLE): New macro.
4751 (build_style_table): New function.
4752 (Vfont_log, font_log_env_checked): New variables.
4753 (font_add_log): New function.
4754 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
4755 Declare Lisp variables "font-weight-table", "font-slant-table",
4756 "font-width-table", and "font-log". Initialize font_style_table.
4757
47582008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
4759
4760 * xterm.c (x_set_frame_alpha): Move declarations before statements.
4761
47622008-05-21 Seiji Zenitani <zenitani@mac.com>
4763 Ryo Yoshitake <ryo@shiftmode.net>
4764
4765 * frame.c (Qalpha): Add a new frame parameter `alpha'.
4766 (Vframe_alpha_lower_limit): New variable.
4767 (x_set_alpha): New function.
4768
4769 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
4770
4771 * xfns.c (x-create-frame, Qalpha):
4772 Initialize the frame parameter `alpha'.
4773 * xterm.c (OPAQUE, OPACITY): New.
4774 (x_set_frame_alpha): New function.
4775 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
4776
4777 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
4778 * w32fns.c (w32_frame_parm_handlers): Likewise.
4779
47802008-05-20 Jason Rumney <jasonr@gnu.org>
4781
4782 * w32font.c (add_font_entity_to_list): Don't add non-opentype
4783 truetype fonts to opentype list.
4784
47852008-05-20 Juanma Barranquero <lekktu@gmail.com>
4786
4787 * fontset.c (Ffontset_info): Doc fix.
4788 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
4789 <ignore-relative-composition>: Fix typos in docstrings.
4790
4791 * font.c (syms-of-font) <font-encoding-alist>:
4792 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
4793 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
4794 (Ffont_otf_alternates): Doc fixes.
4795
47962008-05-20 Kenichi Handa <handa@m17n.org>
4797
4798 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
4799 font.h through out the file.
4800 (FONT_DRIVERS): Rename from FONTOBJ.
4801 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
4802 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
4803
4804 * emacs.c (main): Call syms_of_font unconditionally.
4805
4806 * font.h (find_font_encoding): Extern it.
4807
4808 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
4809 fontset.c.
4810 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
4811 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
4812 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
4813 only when HAVE_WINDOW_SYSTEM is defined.
4814 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
4815 when HAVE_WINDOW_SYSTEM is defined.
4816
4817 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
4818 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
4819
4820 * xfaces.c: Include font.h unconditionally.
4821 (merge_face_ref, merge_face_vectors)
4822 (Finternal_set_lisp_face_attribute): Cancel the previous change.
4823
48242008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
4825
4826 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
4827 indirect_variable.
4828 * eval.c (lisp_indirect_variable): New fun.
4829 (Fuser_variable_p): Use it.
4830
48312008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
4832
4833 * lisp.h (indirect_variable):
4834 * data.c (indirect_variable, let_shadows_buffer_binding_p):
4835 Use Lisp_Symbol pointers rather than Lisp_Object.
4836 Adjust callers.
4837 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
4838 To this end, change calling-convention.
4839
4840 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
4841 if some non-hidden buffers are selected by string&pred.
4842
48432008-05-19 Chong Yidong <cyd@stupidchicken.com>
4844
4845 * process.c (wait_reading_process_output): Always check status
4846 when in batch mode.
4847
48482008-05-19 Kenichi Handa <handa@m17n.org>
4849
4850 * font.c (font_list_entities): Fix handling of cache.
4851 (font_matching_entity): Likewise.
4852
4853 * ftfont.c (cs_iso8859_1): Delete.
4854 (ft_face_cache): New variable.
4855 (struct ftfont_info): New member fc_charset_idx.
4856 (ftfont_build_basic_charsets): Delete.
4857 (fc_charset_table): New variable.
4858 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
4859 . FC_CHARSET_IDX) as :font-entity property in the font entity.
4860 Callers changed.
4861 (ftfont_lookup_cache, ftfont_get_charset): New functions.
4862 (ftfont_spec_pattern): New argument fc_charset_idx.
4863 Check registry more rigidly. Change callers.
4864 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
4865 change of :font-entity property of the font.
4866
4867 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
4868 property of the font.
4869
48702008-05-18 Juanma Barranquero <lekktu@gmail.com>
4871
4872 * coding.c (Fcoding_system_p): Rename argument to match docstring.
4873 (Funencodable_char_position, Fcheck_coding_systems_region)
4874 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
4875 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
4876 (Ffind_operation_coding_system, Fset_coding_system_priority)
4877 (Fcoding_system_eol_type): Doc fixes.
4878
48792008-05-17 Glenn Morris <rgm@gnu.org>
4880
4881 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
4882
48832008-05-16 Eli Zaretskii <eliz@gnu.org>
4884
4885 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
4886 and st_gid.
4887
4888 * frame.c (Fdelete_frame): Don't call font_update_drivers if
4889 HAVE_WINDOW_SYSTEM is not defined.
4890
4891 * xfaces.c (merge_face_ref, merge_face_vectors)
4892 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
4893 HAVE_WINDOW_SYSTEM is defined.
4894 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
4895
48962008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
4897
4898 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
4899
49002008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4901
4902 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
4903
49042008-05-15 Kenichi Handa <handa@m17n.org>
4905
4906 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
4907 preference.
4908
49092008-05-15 Glenn Morris <rgm@gnu.org>
4910
4911 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
4912
49132008-05-15 Chong Yidong <cyd@stupidchicken.com>
4914
4915 * fns.c (init_fns): Don't initialize weak_hash_tables here.
4916 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
4917
4918 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
4919
49202008-05-15 Kenichi Handa <handa@m17n.org>
4921
4922 * ftfont.c (ftfont_list): Downcase family name to check generic
4923 families.
4924
4925 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
4926 font-spec for QCfont value.
4927
4928 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
4929 buffer. Check the return value of it.
4930
49312008-05-14 Jason Rumney <jasonr@gnu.org>
4932
4933 * w32term.c (w32_get_glyph_overhangs): Remove.
4934 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
4935
49362008-05-14 Kenichi Handa <handa@m17n.org>
4937
4938 * font.c (font_prop_validate): Make nil a valid value.
4939 (font_clear_cache): Check if the cached vector of entities is nil
4940 or not.
4941
49422008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4943
4944 * emacs.c (main_thread): Conditionalize on
4945 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
4946 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
4947
4948 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
4949 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
4950 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
4951
49522008-05-14 Kenichi Handa <handa@m17n.org>
4953
4954 * coding.c (detect_coding_iso_2022): Ignore a coding category that
4955 has no corresponding coding system.
4956
49572008-05-14 Jason Rumney <jasonr@gnu.org>
4958
4959 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
4960
4961 * w32font.h (w32font_open_internal): Update declaration.
4962
4963 * w32font.c (w32font_open_internal): Change last argument from
4964 w32font_info struct to font object. Fill in font object from
4965 font_entity. Get Outline metrics if possible. Use them to
4966 calculate underline position and thickness. Use xlfd name as name
4967 property. Don't set codepage.
4968 (w32font_open): Pass font_object to w32font_open_internal. Don't
4969 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
4970 (w32font_draw): Use s->font.
4971 (clear_cached_metrics): Don't clear non-existent blocks.
4972
4973 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
4974 font was not found.
4975 (x_draw_glyph_string): Use underline position and thickness from font.
4976
4977 * w32uniscribe.c (uniscribe_open): Pass font_object to
4978 w32font_open_internal.
4979
49802008-05-14 Kenichi Handa <handa@m17n.org>
4981
4982 These changes are to delete all legacy font-handling codes, and
4983 make Emacs use only font-backends.
4984
4985 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
4986 (frame.o, image.o, print.o): Depend on $(FONTSRC).
4987
4988 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
4989
4990 * charset.h (Vcharset_non_preferred_head)
4991 (Vcurrent_iso639_language): Extern them.
4992
4993 * charset.c (Vcharset_non_preferred_head): New variable.
4994 (Vcurrent_iso639_language): New variable.
4995 (syms_of_charset): Declare it as a Lisp variable.
4996 (char_charset): Don't check non preferred charsets. As a last
4997 resort, return charset_unicode.
4998 (Fset_charset_priority): Update Vcharset_non_preferred_head.
4999
5000 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
5001 conditionals. Don't check enable_font_backend. Delete all codes
5002 used only when USE_FONT_BACKEND is not defined.
5003
5004 * dispextern.h (struct glyph_string): Change type of `font' to
5005 `struct font *'.
5006 (struct glyph_string): New member underline_position and
5007 underline_thickness.
5008 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
5009 (struct face): Change type of `font' to `struct font *'. Remove
5010 members `font_name', `font_info_id'.
5011 (per_char_metric, encode_char): Delete externs.
5012 (calc_pixel_width_or_height): Adjust the prototype.
5013
5014 * emacs.c (enable_font_backend): Delete extern.
5015 (main): Don't set enable_font_backend. Don't check the command
5016 line argument "-disable-font-backend".
5017
5018 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
5019 (enum font_property_index): New members FONT_DPI_INDEX,
5020 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
5021 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
5022 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
5023 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
5024 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
5025 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
5026 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
5027 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
5028 (struct font_spec, struct font_entity): New structs.
5029 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
5030 (struct font): Many members from old "struct font_info" moved to
5031 here. Members font and entity deleted.
5032 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
5033 the new font-related objects.
5034 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
5035 (CHECK_FONT_GET_OBJECT): Likewise.
5036 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
5037 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
5038 (struct font_driver): New members case_sensitive anc check. Type
5039 of the member list and open changed.
5040 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
5041 (font_symbolic_width, font_find_object, font_get_spec)
5042 (font_set_lface_from_name): Delete extern.
5043 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
5044
5045 * font.c: Include <strings.h>.
5046 (enable_font_backend): Delete it.
5047 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
5048 (CHECK_VALIDATE_FONT_SPEC): Delete it.
5049 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
5050 (null_string): Delete it.
5051 (null_vector): Make it static.
5052 (font_family_alist): Delete it.
5053 (Qnormal): Extern it.
5054 (QCextra, QClanguage): Delete it.
5055 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
5056 (font_make_spec, font_make_entity, font_make_object)
5057 (font_intern_prop): Renamed from intern_downcase. Don't downcase
5058 the string. Callers changed.
5059 (font_pixel_size): Adjusted for the format change of font-related
5060 objects.
5061 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
5062 (font_style_to_value, font_style_symbolic): New function.
5063 (build_font_family_alist): Delete it.
5064 (font_registry_charsets): Use Fassoc_string instead of
5065 assq_no_quit.
5066 (font_prop_validate_symbol): Don't return null_string.
5067 (font_prop_validate_style): Adjusted for the change of
5068 style-related values in a font vector.
5069 (font_property_table): Delete entries for QClanguage and
5070 QCantialias, add entries for QCavgwidth.
5071 (get_font_prop_index): Delete the 2nd argument FROM.
5072 (font_prop_validate): Arguments changed.
5073 (font_put_extra): Adjusted for the change of font-related objects.
5074 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
5075 (font_parse_fcname, font_unparse_fcname)
5076 (font_prepare_composition): Likewise.
5077 (font_parse_family_registry): Renamed from font_merge_old_spec.
5078 (otf_open): Delete the 1st arg entity.
5079 (font_otf_capability): Adjusted for the above change.
5080 (font_score): New arg alternate_families. Adjusted for the change
5081 of font-related objects.
5082 (font_sort_entites): New arg best_only.
5083 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
5084 Delete them.
5085 (font_match_p): Check alternate families.
5086 (font_find_object): Delete it.
5087 (font_check_object): New function.
5088 (font_clear_cache): Adjusted for the change of font-related objects.
5089 (font_delete_unmatched): New arg.
5090 (font_list_entities): Call font_driver->list with a spec that
5091 doesn't specify style-related properties.
5092 (font_matching_entity): Arguments changed. Caller changed.
5093 (font_open_entity): Adjusted for the change of font-related objects.
5094 (font_close_object, font_has_char, font_encode_char)
5095 (font_get_name, font_get_spec): Likewise.
5096 (font_spec_from_name, font_clear_prop, font_update_lface):
5097 New functions.
5098 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
5099 (font_prepare_for_face, font_done_for_face, font_open_by_name)
5100 (font_at): Adjusted for the change of font-related objects.
5101 (font_range): New function.
5102 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
5103 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
5104 (Fcopy_font_spec, Fmerge_font_spec): New function.
5105 (Ffont_family_list): Renamed from list-families.
5106 (Finternal_set_font_style_table): Arguments changed.
5107 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
5108 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
5109 change of font-related objects.
5110 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
5111
5112 * fontset.h (struct font_info): Delete it. Most members go to
5113 struct font.
5114 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
5115 (enum FONT_SPEC_INDEX): Delete it.
5116 (font_info, list_fonts_func, load_font_func, query_font_func)
5117 (set_frame_fontset_func, find_ccl_program_func)
5118 (get_font_repertory_func, new_fontset_from_font_name): Delete
5119 externs.
5120 (fontset_from_font_name): Extern it.
5121 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
5122 (FONT_INFO_FROM_FACE): Deleted.
5123 (face_for_font): Adjust prototype.
5124
5125 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
5126 conditionals. Don't check enable_font_backend. Delete all codes
5127 used only when USE_FONT_BACKEND is not defined.
5128 (get_font_info_func, list_font_func, load_font_func)
5129 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
5130 (get_font_repertory_func): Delete them.
5131 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
5132 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
5133 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
5134 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
5135 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
5136 (fontset_compare_rfontdef): New function.
5137 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
5138 rfont-defs by qsort. Adjusted for the change of font-group vector.
5139 (load_font_get_repertory): Deleted.
5140 (fontset_find_font): Use new macros to ref/set elements of
5141 font-def and rfont-def.
5142 (fontset_font): Fix the timing of remembering that no font for C.
5143 (free_face_fontset): Do nothing if the face has no fontset.
5144 (face_suitable_for_char_p): Use new macros to ref/set elements of
5145 rfont-def.
5146 (face_for_char): Likewise. Call face_for_char with font_object.
5147 (fs_load_font): Delete. Delete #pragma surrounding it.
5148 (fs_query_fontset): Use strcasecmp instead of strcmp.
5149 (generate_ascii_font_name): Adjusted for the format change of
5150 font-spec.
5151 (Fset_fontset_font): Likewise. Use new macros to set elements of
5152 font-def.
5153 (Fnew_fontset): Use font_unparse_xlfd to generate
5154 FONTSET_ASCII (fontset).
5155 (new_fontset_from_font_name): Deleted.
5156 (fontset_from_font): Renamed from new_fontset_from_font. Check if
5157 a fontset is already created for the font. FIx updating of
5158 Vfontset_alias_alist.
5159 (fontset_ascii_font): Deleted.
5160 (Ffont_info): Adjusted for the format change of font-spec.
5161 (Finternal_char_font): Likewise.
5162 (Ffontset_info): Likewise.
5163 (syms_of_fontset): Don't check load_font_func.
5164
5165 * fns.c (internal_equal): Handle PREV_FONT.
5166
5167 * frame.h: Delete USE_FONT_BACKEND conditional.
5168
5169 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
5170 conditionals. Don't check enable_font_backend. Delete all codes
5171 used only when USE_FONT_BACKEND is not defined.
5172 (x_set_font): Call x_new_font, not x_new_fontset2.
5173 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
5174 already set for the frame.
5175
5176 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
5177 a font-entity by font_make_entity. Use font_intern_prop instead
5178 of intern_downcase. Use FONT_SET_STYLE to set a style-related
5179 font property. If a font is scalable, set avgwidth property to 0.
5180 Set font-entity property by font_put_extra.
5181 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
5182 (ffont_driver): Adjusted for the change of struct font_driver.
5183 (ftfont_spec_pattern): New function.
5184 (ftfont_list): Return a list, not vector.
5185 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
5186 (ftfont_list_family): Don't downcase names.
5187 (ftfont_free_entity): Deleted.
5188 (ftfont_open): Return a font-object. Adjusted for the change of
5189 struct font. Get underline_thickness and underline_position from
5190 font property. Don't update dpyinfo->smallest_font_height and
5191 dpyinfo->smallest_char_width.
5192 (ftfont_close): Don't free `struct font'.
5193 (ftfont_has_char): Adjusted for the format change of font-entity.
5194 (ftfont_encode_char, ftfont_text_extents): Likewise.
5195
5196 * ftxfont.c (ftxfont_list): Return a list, not vector.
5197 (ftxfont_open): Return a font-object. Adjusted for the change of
5198 struct font. Get underline_thickness and underline_position from
5199 font property. Don't update dpyinfo->smallest_font_height and
5200 dpyinfo->smallest_char_width.
5201 (ftxfont_close): Don't decrease FRAME_X_DISPLAY_INFO (f)->n_fonts.
5202 (ftxfont_draw): Adjusted for the change of struct font.
5203
5204 * image.c (image_ascent): Don't include "charset.h". Include
5205 "character.h" and "font.h".
5206
5207 * lisp.h (enum pvec_type): New member PREV_FONT.
5208 (Fassoc_string): EXFUN it.
5209
5210 * print.c: Include font.h.
5211 (print_object): Handle font-related objects.
5212
5213 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
5214 conditionals. Don't check enable_font_backend. Delete all codes
5215 used only when USE_FONT_BACKEND is not defined.
5216 (handle_auto_composed_prop): Do nothing if it->f is not on a
5217 window system. Check how many following characters can be
5218 displayed by the same font.
5219 (calc_pixel_width_or_height): Type of the 4th arg is changed to
5220 'struct font *'.
5221 (get_char_face_and_encoding): Assign the whole encoding task to
5222 the `encode-char' method of a font driver.
5223 (fill_composite_glyph_string): Adjusted for the change of `struct
5224 face' and `struct glyph_string'.
5225 (fill_glyph_string): Likewise.
5226 (get_per_char_metric): Arguments changed.
5227 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
5228 and `struct glyph_string'.
5229 (produce_stretch_glyph, calc_line_height_property)
5230 (x_produce_glyphs): Likewise.
5231
5232 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
5233 conditionals. Don't check enable_font_backend. Delete all codes
5234 used only when USE_FONT_BACKEND is not defined. Use
5235 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
5236 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
5237 (Qp): Extern them.
5238 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
5239 Deleted.
5240 (struct font_name): Deleted.
5241 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
5242 (compare_fonts_by_sort_order): New function.
5243 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
5244 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
5245 Deleted.
5246 (Fx_family_fonts): Use font_list_entities, and sort fonts by
5247 compare_fonts_by_sort_order.
5248 (Fx_font_family_list): Call Ffont_family_list.
5249 (face_numeric_value, face_numeric_weight, face_numeric_slant)
5250 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
5251 (face_symbolic_slant, face_symbolic_swidth)
5252 (split_font_name_into_vector, build_font_name_from_vector)
5253 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
5254 (font_rescale_ratio, split_font_name, build_font_name)
5255 (free_font_names, sort_fonts, x_face_list_fonts)
5256 (face_font_available_p, sorted_font_list, cmp_font_names)
5257 (font_list_1, concat_font_list, font_list, remove_duplicates):
5258 Deleted.
5259 (Fx_list_fonts): Use Ffont_list.
5260 (LFACE_AVGWIDTH): Deleted.
5261 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
5262 by FONTP.
5263 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
5264 (set_lface_from_font_name): Delete it.
5265 (set_lface_from_font): Renamed from
5266 set_lface_from_font_and_fontset. Caller changed. Don't set
5267 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
5268 for face.
5269 (merge_face_vectors): Copy font-spec if necessary.
5270 Clear properties of the font-spec if necessary.
5271 (merge_face_ref): Clear properties of the font-spec if necessary.
5272 (Finternal_set_lisp_face_attribute): Likewise.
5273 (set_font_frame_param): Use font_load_for_lface to load a
5274 font-object, and call Fmodify_frame_parameters with it.
5275 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
5276 font name by Ffont_xlfd_name.
5277 (Finternal_lisp_face_attribute_values): Don't check QCweight,
5278 QCslant, and QCwidth.
5279 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
5280 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
5281 Compare fonts by EQ.
5282 (lookup_non_ascii_face): Deleted.
5283 (face_for_font): The 2nd argument changed.
5284 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
5285 Check atomic font properties by case insensitive.
5286 (realize_non_ascii_face): Set face->overstrike correctly.
5287 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
5288 (dump_realized_face): Get font name from
5289 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
5290
5291 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
5292 conditionals. Don't check enable_font_backend. Delete all codes
5293 used only when USE_FONT_BACKEND is not defined.
5294 (xic_create_xfontset): Original code deleted and renamed from
5295 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
5296 (x_make_gc): Don't set GCFont in GCs.
5297 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
5298 opened by "fixed".
5299 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
5300 find_ccl_program_func, query_font_func, set_frame_fontset_func,
5301 get_font_repertory_func.
5302
5303 * xfont.c: Include <stdlib.h> and "ccl.h".
5304 (struct xfont_info): New structure.
5305 (xfont_query_font): Deleted.
5306 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
5307 moved from xterm.c.
5308 (xfont_driver): Adjusted for the change of struct font_driver.
5309 (compare_font_names): New function.
5310 (xfont_list_pattern): Sort font names case insensitively. Make
5311 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
5312 (xfont_list): Return a list, not vector.
5313 (xfont_match): If the font doesn't have QCname property, generate
5314 a name from the other font properties.
5315 (xfont_open): Return a font-object. Adjusted for the change of
5316 struct font. Get underline_thickness and underline_position from
5317 font property. Don't update dpyinfo->smallest_font_height and
5318 dpyinfo->smallest_char_width.
5319 (xfont_close): Don't free struct font.
5320 (xfont_prepare_face): Adjusted for the change of struct font.
5321 (xfont_done_face): Deleted.
5322 (xfont_has_char): Adjusted for the change of struct font.
5323 (xfont_encode_char, xfont_draw): Likewise.
5324 (xfont_check): New function.
5325
5326 * xftfont.c (xftfont_list): Adjusted for the change of `list'
5327 callback function.
5328 (xftfont_match): Adjusted for the format change of font-entity.
5329 (xftfont_open): Adjusted for the format change of font-entity and
5330 font-object. Adjusted for the change of struct font. Return a
5331 font-object. Don't update dpyinfo->smallest_font_height and
5332 dpyinfo->smallest_char_width.
5333 (xftfont_close): Block input while calling XftFontClose.
5334 (xftfont_prepare_face): Don't block input while calling
5335 xftfont_get_colors. Adjusted for the change of struct font.
5336 (xftfont_shape): Return value of error case fixed.
5337
5338 * xrdb.c (x_load_resources): Don't setup a fontset resource.
5339
5340 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
5341 conditionals.
5342 (FONT_WIDTH): Return (f)->max_width.
5343 (struct x_display_info): Delete member `font'.
5344 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
5345 (x_find_ccl_program, x_get_font_repertory): Delete externs.
5346 (struct x_output): Change type of `font' to `struct font *'.
5347
5348 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
5349 conditionals. Don't check enable_font_backend. Delete all codes
5350 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
5351 (x_per_char_metric, x_encode_char): Deleted.
5352 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
5353 (x_compute_glyph_string_overhangs): Adjusted for the change of
5354 `struct face'.
5355 (x_draw_glyph_string_foreground)
5356 (x_draw_composite_glyph_string_foreground): Likewise.
5357 (x_draw_glyph_string): Likewise. Use font->underline_position and
5358 font->underline_thickness.
5359 (x_new_font): Renamed from x_new_fontset2.
5360 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
5361 (x_check_font): Call `check' method of a font driver.
5362 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
5363 (x_query_font, x_get_font_repertory): Deleted.
5364 (x_find_ccl_program): Renamed and moved to xfont.c.
5365 (x_redisplay_interface): Adjusted for the change of `struct
5366 redisplay_interface'.
5367
5368 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
5369 conditionals. Don't check enable_font_backend. Delete all codes
5370 used only when USE_FONT_BACKEND is not defined. Surround non-used
5371 code by "#ifdef OLD_FONT" and "endif".
5372 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
5373
5374 * w32font.h (struct w32font_info): New member.
5375 (FONT_COMPAT): New macro.
5376 (w32font_open_internal): Prototype adjusted.
5377
5378 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
5379 OLD_FONT" and "endif".
5380
5381 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
5382 conditionals. Don't check enable_font_backend. Delete all codes
5383 used only when USE_FONT_BACKEND is not defined.
5384 (w32font_open): Return a font-object. Make a font-object by
5385 font_make_object. Adjusted for the change of struct w32font_info.
5386 (w32font_close): Don't free struct font. Adjusted for the change
5387 of struct w32font_info.
5388 (w32font_encode_char, w32font_text_extents, w32font_draw):
5389 Adjusted for the change of struct w32font_info.
5390 (w32font_draw): Likewise.
5391 (w32font_list_internal): Return a list, not vector.
5392 (w32font_open_internal): Change the 4th arg to font-object.
5393 Adjusted for the change of struct w32font_info and font-object format.
5394 (add_font_name_to_list): Don't downcase names.
5395 (w32_enumfont_pattern_entity): Make a font-entity by
5396 font_make_entity. Adjusted for the format change of font-entity.
5397 Use FONT_SET_STYLE to set a style-related font property. If a
5398 font is scalable, set avgwidth property to 0. Set font-entity
5399 property by font_put_extra.
5400 (font_matches_spec): Adjusted for the format change of font-entity.
5401 (w32_weight_table, w32_decode_weight): New variables.
5402 (w32_encode_weight): New function.
5403 (fill_in_logfont): Adjusted for the format change of font-spec.
5404 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
5405 weight value.
5406 (w32font_driver): Adjusted for the change of struct font_driver.
5407
5408 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
5409 conditionals. Don't check enable_font_backend. Surround non-used
5410 code by "#ifdef OLD_FONT" and "endif".
5411 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
5412 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
5413
5414 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
5415 conditionals. Don't check enable_font_backend. Delete all codes
5416 used only when USE_FONT_BACKEND is not defined. Surround non-used
5417 code by "#ifdef OLD_FONT" and "endif".
5418
5419 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
5420 (uniscribe_open): Return value changed to font-object.
5421 Adjusted for the format change of font-object.
5422 (uniscribe_otf_capability): Adjusted for the change of struct font.
5423 (add_opentype_font_name_to_list): Don't downcase names.
5424 (uniscribe_font_driver): Adjusted for the change of struct
5425 font_driver.
5426
54272008-05-13 Chong Yidong <cyd@stupidchicken.com>
5428
5429 * dispnew.c (update_frame_1): Check if tty output is still valid
5430 before flushing it.
5431
54322008-05-13 Jan Djärv <jan.h.d@swipnet.se>
5433
5434 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
5435 to Gtk+ menus.
5436
54372008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
5438
5439 * dired.c (file_name_completion): Tweak the code so as to always do it
5440 in a single pass. Tighten the scope of some variables.
5441
5442 * dired.c (Qdefault_directory): New var.
5443 (file_name_completion): Use it instead of Fexpand_file_name.
5444 (syms_of_dired): Initialize it.
5445
54462008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
5447
5448 * fileio.c (double_dollars): Remove dead code.
5449
54502008-05-10 Eli Zaretskii <eliz@gnu.org>
5451
5452 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
5453 Mention w32-get-true-file-attributes in doc string.
5454
5455 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
5456
54572008-05-09 Glenn Morris <rgm@gnu.org>
5458
5459 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
5460 2008-04-23.
5461
54622008-05-09 Eli Zaretskii <eliz@gnu.org>
5463
5464 Support for reporting owner and group of each file on MS-Windows:
5465 * dired.c (stat_uname, stat_gname): New functions, with special
5466 implementation for w32.
5467 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
5468
5469 * w32.c: Rename the_passwd_* to dflt_passwd_*.
5470 (dflt_group_name): New static variable.
5471 (dflt_group): Rename from the_group.
5472 (init_user_info): Init dflt_group fields. Get user's group name
5473 from LookupAccountSid.
5474 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
5475 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
5476 New initialization states.
5477 (globals_of_w32): Initialize them to zero. Initialize the default
5478 group name to "None".
5479 (GetFileSecurity_Name): New global var, the name of the function
5480 to call for GetFileSecurity.
5481 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
5482 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
5483 (get_file_security, get_security_descriptor_owner)
5484 (get_security_descriptor_group, is_valid_sid)
5485 (get_file_security_desc, get_rid, get_name_and_id)
5486 (get_file_owner_and_group): New functions.
5487 (stat): Use get_file_security_desc and get_file_owner_and_group to
5488 report the owner and primary group of each file. Don't ignore the
5489 high 32 bits of file's size, now that st_size is 64-bit wide.
5490 Fix test when to get true file attributes.
5491 (init_user_info): Use get_rid instead of equivalent inline code.
5492 (fstat): Don't ignore the high 32 bits of file's size.
5493
54942008-05-09 Chong Yidong <cyd@stupidchicken.com>
5495
5496 * image.c (png_load): Use correct bit-depth for setting background
5497 color.
5498
54992008-05-08 Eli Zaretskii <eliz@gnu.org>
5500
5501 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
5502 epa-hook.elc.
5503
55042008-05-08 Juanma Barranquero <lekktu@gmail.com>
5505
5506 * font.c (Ffont_match_p): Don't use `iff' in docstring.
5507
55082008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
5509
5510 * macfns.c (Fx_create_frame): Make a copy of frame parameters
5511 because the original parameters are in pure storage now.
5512 (mac_window): Remove unused params. Update callers.
5513
55142008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
5515
5516 * lread.c (substitute_object_recurse): Use lower-level primitives.
5517 Don't signal errors when traversing sub-char-tables.
5518 Don't loop over all the possible characters when traversing char-tables.
5519
5520 * print.c (print_preprocess): Add sub-char-tables to the print-table,
5521 just like we do in print.c.
5522
55232008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
5524
5525 * minibuf.c (Ftry_completion): Remove code left over from when we used
5526 scmp instead of Fcompare_strings.
5527
55282008-05-04 Juanma Barranquero <lekktu@gmail.com>
5529
5530 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
5531
55322008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5533
5534 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
5535 Create bitmap context in native byte order.
5536
5537 * macterm.c (XDrawLine)
5538 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
5539 context in native byte order.
5540
55412008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5542
5543 * config.in: Regenerate.
5544
5545 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
5546 New definitions for Image I/O support.
5547 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
5548 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
5549 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
5550 (mac_data_provider_release_data, image_load_image_io)
5551 [USE_MAC_IMAGE_IO]: New functions.
5552 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
5553 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
5554 (init_image_func_pointer) [MAC_OSX]: Remove function.
5555 (image_load_quartz2d) [MAC_OSX]: Check availability of
5556 CGImageCreateWithPNGDataProvider at compile time.
5557 Use lowercase `false' for boolean constant.
5558 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
5559 Use image_load_image_io.
5560 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
5561 Don't check MyCGImageCreateWithPNGDataProvider.
5562 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
5563 Don't call init_image_func_pointer.
5564
5565 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
5566
5567 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
5568 Make variable non-static.
5569 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
5570 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
5571
5572 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
5573 (RED_FROM_ULONG): Mask off higher bits.
5574 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
5575
5576 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
5577 Include AvailabilityMacros.h.
5578 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
5579 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
5580
55812008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
5582
5583 * chartab.c (Fset_char_table_range): If range is t, really set all
5584 chars to that value.
5585
55862008-05-03 Eli Zaretskii <eliz@gnu.org>
5587
5588 * dired.c (Ffile_attributes): Don't allow the device number become
5589 negative.
5590
55912008-05-02 Daiki Ueno <ueno@unixuser.org>
5592
5593 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
5594
55952008-05-02 Juri Linkov <juri@jurta.org>
5596
5597 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
5598 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
5599 DEFAULT argument as a list of default values in docstrings.
5600
56012008-05-01 Chong Yidong <cyd@stupidchicken.com>
5602
5603 * puresize.h (BASE_PURESIZE): Increase to 1210000.
5604
56052008-05-01 Martin Rudalics <rudalics@gmx.at>
5606
5607 * dispnew.c (change_frame_size_1): Preserve small windows when
5608 shrinking frames by calling set_window_height|width with third
5609 arg 2.
5610
5611 * window.h (struct window): Replace field too_small_ok by field
5612 resize_proportionally.
5613
5614 * window.c (make_window): Initialize resize_proportionally.
5615 (enlarge_window): Temporarily set resize_proportionally to make
5616 sure that shrink_windows does scale the window proportionally.
5617 (shrink_windows): When window has resize_proportionally set try
5618 to shrink it proportionally by stealing from other windows.
5619 (struct saved_window, Fset_window_configuration)
5620 (compare_window_configurations): Handle resize_proportionally.
5621 (WINDOW_TOTAL_SIZE): New macro.
5622 (window_min_size, shrink_windows, size_window): Use it.
5623 (check_min_window_sizes): Remove. Invalid values of
5624 window-min-height|width are handled by window_min_size_2 now.
5625 (size_window, Fsplit_window, enlarge_window)
5626 (adjust_window_trailing_edge, grow_mini_window): Don't call
5627 check_min_window_sizes.
5628 (window_min_size_2, window_min_size_1, window_min_size):
5629 New argument safe_p for retrieving "safe" minimum sizes.
5630 (Fdisplay_buffer, Fsplit_window, enlarge_window)
5631 (adjust_window_trailing_edge, grow_mini_window):
5632 Adjust arguments of window_min_size... functions.
5633 (shrink_windows): Argument min_size removed. New argument
5634 safe_p allows shrinking windows to their safe minimum sizes.
5635 Calculate minimum size and decide whether a window shall be
5636 deleted for each window individually.
5637 (size_window): When nodelete_p equals 2, tell shrink_windows to
5638 delete windows only if their new minimum size is no more safe.
5639 (shrink_window_lowest_first): Call window_min_size_1 to make
5640 sure to preserve modeline of bottom-most window when resizing
5641 the minibuffer.
5642 (Fset_window_configuration, Fcurrent_window_configuration)
5643 (compare_window_configurations): Do not handle
5644 window-min-height|width any more.
5645 (syms_of_window): Clarify window-min-height|width doc-strings.
5646
56472008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
5648
5649 * dired.c (file_name_completion): Fix up the encoding/decoding issue
5650 some more. Copy some of the code from Ftry_completions.
5651 Remove special case code that dates back to initial revision when the
5652 slash was only added when necessary and that can't trigger nowadays.
5653
56542008-04-27 Kenichi Handa <handa@m17n.org>
5655
5656 * font.c (font_prop_validate): Signal `error' instead of `font'.
5657
56582008-04-29 Jason Rumney <jasonr@gnu.org>
5659
5660 * w32fns.c (Fw32_battery_status): New defun.
5661 (syms_of_w32fns): Defsubr it.
5662
56632008-04-28 Andreas Schwab <schwab@suse.de>
5664
5665 * dired.c (file_name_completion): Fix another mixing of encoded
5666 and decoded names.
5667
56682008-04-28 Juanma Barranquero <lekktu@gmail.com>
5669
5670 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
5671
56722008-04-27 Juanma Barranquero <lekktu@gmail.com>
5673
5674 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
5675
56762008-04-27 Andreas Schwab <schwab@suse.de>
5677
5678 * dired.c (file_name_completion): Fix inappropriate mixing of
5679 encoded and decoded names.
5680
5681 * xterm.c (XTread_socket): Fix use of uninitialized variable.
5682
5683 * puresize.h (BASE_PURESIZE): Increase to 1200000.
5684
56852008-04-26 Eli Zaretskii <eliz@gnu.org>
5686
5687 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
5688 2008-03-31, it's not needed anymore with `struct stat' definition
5689 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
5690 for the same reasons.
5691
56922008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
5693
5694 * m/sparc.h: Additional redefinitions for GNU/Linux.
5695
56962008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5697
5698 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
5699 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
5700 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
5701 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
5702 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
5703 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
5704 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
5705 Likewise.
5706
5707 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
5708 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
5709 (mac_ax_number_of_characters): Add externs.
5710 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
5711 [USE_MAC_TSM]: Likewise.
5712 (mac_handle_text_input_event) [MAC_OSX]:
5713 Handle kEventTextInputOffsetToPos for no active input area case.
5714 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
5715 (mac_handle_document_access_event)
5716 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
5717 (install_application_handler) [MAC_OSX]: Register handlers for
5718 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
5719 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
5720 Register mac_handle_document_access_event.
5721
5722 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
5723 Make functions non-static.
5724
57252008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
5726
5727 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
5728 (read_file_name_completion_ignore_case, insert_default_directory)
5729 (Qdefault_directory): Move to minibuffer.el.
5730 (Fread_file_name): Call the new `read-file-name' instead.
5731
57322008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5733
5734 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
5735 Make function non-static.
5736 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
5737 Remove function.
5738 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
5739 Move to mactoolbox.c.
5740 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
5741
5742 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
5743 (mac_rect_make): New macro.
5744
5745 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
5746 instead of float.
5747 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
5748 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
5749 (XSetBackground) [USE_CG_DRAWING]: Likewise.
5750 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
5751 CGRectMake.
5752 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
5753 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
5754 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
5755 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
5756 instead of WindowRef in argument type.
5757 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
5758 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
5759 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
5760 instead of DISPLAY. All uses changed.
5761 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
5762 (x_calc_absolute_position): Simplify so as not to use
5763 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
5764
5765 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
5766 instead of WindowRef in argument type.
5767 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
5768 [TARGET_API_MAC_CARBON]: Remove externs.
5769 (create_apple_event, mac_event_parameters_to_lisp)
5770 [TARGET_API_MAC_CARBON]: Add externs.
5771
5772 * mactoolbox.c (Vmac_ts_script_language_on_focus)
5773 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
5774 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
5775 is clicked.
5776 (x_activate_menubar): Remove extern for saved_menu_event_location.
5777 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
5778 Move from mac.c.
5779
57802008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5781
5782 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
5783 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
5784
57852008-04-23 Jason Rumney <jasonr@gnu.org>
5786
5787 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
5788 attributes only for local files.
5789
5790 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
5791 default to Qlocal.
5792
57932008-04-22 Juri Linkov <juri@jurta.org>
5794
5795 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
5796 read-buffer-to-switch instead of using the letter "B".
5797
57982008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
5799
5800 * fileio.c (Qdefault_directory): New variable.
5801 (Fread_file_name): Use it to pass `dir' to the completion functions.
5802
58032008-04-20 Chong Yidong <cyd@stupidchicken.com>
5804
5805 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
5806
58072008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
5808
5809 * keyboard.c (Vpre_help_message): Remove.
5810 (show_help_echo): Remove default C code.
5811
5812 * dired.c (directory_files_internal, file_name_completion):
5813 Only call ENCODE_FILE if the string is indeed decoded.
5814
58152008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
5816
5817 * Makefile.in (TOOLKIT_DEFINES): Remove.
5818 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
5819
58202008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5821
5822 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
5823 (mactoolbox.o): New target.
5824
5825 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
5826 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
5827
5828 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
5829 Use mac_set_frame_window_background instead of XSetWindowBackground.
5830 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
5831 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
5832 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
5833 instead of SetWindowTitleWithCFString.
5834 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
5835 Move function to mactoolbox.c.
5836 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
5837 Use mac_set_window_modified instead of SetWindowModified.
5838 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
5839 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
5840 (Fx_focus_frame): Use mac_front_non_floating_window instead of
5841 FrontNonFloatingWindow. Use mac_activate_window instead of
5842 ActivateWindow. Use mac_active_non_floating_window instead of
5843 ActiveNonFloatingWindow.
5844 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
5845 Use mac_show_hourglass and mac_hide_hourglass.
5846 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
5847 instead of GetGlobalMouse.
5848 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
5849 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
5850 Use mac_bring_window_to_front instead of BringToFront.
5851 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
5852 mactoolbox.c.
5853 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
5854 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
5855 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
5856 mactoolbox.c.
5857
5858 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
5859 (XtPointer): Move typedef from macmenu.c.
5860 (enum button_type): Move enum from macmenu.c.
5861 (widget_value): Move typedef from macmenu.c.
5862 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
5863 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
5864 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
5865 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
5866 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
5867 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
5868 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
5869 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
5870 (Selection): Move typedef from macselect.c.
5871 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
5872 macterm.c.
5873 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
5874 (mac_is_window_collapsed, mac_bring_window_to_front)
5875 (mac_send_window_behind, mac_hide_window, mac_show_window)
5876 (mac_collapse_window, mac_front_non_floating_window)
5877 (mac_active_non_floating_window, mac_activate_window)
5878 (mac_move_window_structure, mac_move_window, mac_size_window)
5879 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
5880
5881 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
5882 (enum mac_menu_kind): Move enum to mactoolbox.c.
5883 (min_menu_id): Move variable to mactoolbox.c.
5884 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
5885 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
5886 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
5887 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
5888 [TARGET_API_MAC_CARBON]: Likewise.
5889 (XtPointer): Move typedef to macgui.h.
5890 (enum button_type): Move enum to macgui.h.
5891 (widget_value): Move typedef to macgui.h.
5892 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
5893 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
5894 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
5895 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
5896 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
5897 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
5898 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
5899 (popup_activated_flag): Make variable non-static.
5900 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
5901 (add_menu_item, fill_menu, dispose_menus):
5902 Move functions to mactoolbox.c.
5903 (restore_show_help_function, menu_target_item_handler)
5904 (install_menu_target_item_handler, mac_handle_dialog_event)
5905 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
5906 [TARGET_API_MAC_CARBON]: Likewise.
5907 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
5908 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
5909 (find_and_call_menu_selection, name_is_separator): Make function
5910 non-static.
5911 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
5912 to mactoolbox.c.
5913 (set_frame_menubar): Don't call install_menu_quit_handler.
5914 (menu_item_selection): New variable.
5915 (mac_menu_show): Use create_and_show_popup_menu.
5916 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
5917 selection but set variable menu_item_selection. All uses changed.
5918 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
5919 Call install_menu_quit_handler. Move to mactoolbox.c.
5920
5921 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
5922 (Selection): Move typedef to macgui.h.
5923 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
5924 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
5925 Make variables non-static.
5926 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
5927 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
5928 Make functions non-static.
5929 (Vmac_service_selection) [MAC_OSX]: Likewise.
5930 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
5931 (mac_valid_selection_target_p, mac_clear_selection)
5932 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
5933 (mac_put_selection_value, mac_selection_has_target_p)
5934 (mac_get_selection_value, mac_get_selection_target_list)
5935 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
5936 Move functions to mactoolbox.c.
5937 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
5938 Likewise.
5939 (copy_scrap_flavor_data, mac_handle_service_event)
5940 (install_service_handler) [MAC_OSX]: Likewise.
5941 (syms_of_macselect) <Vmac_dnd_known_types>:
5942 Use mac_dnd_default_known_types.
5943
5944 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
5945 Move to mactoolbox.c.
5946 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
5947 (Fx_selection_owner_p): Add EXFUN.
5948 (install_window_handler, remove_window_handler, XSetWindowBackground):
5949 Remove externs.
5950 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
5951 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
5952 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
5953 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
5954 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
5955 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
5956 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
5957 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
5958 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
5959 (create_and_show_popup_menu, mac_get_selection_from_symbol)
5960 (mac_valid_selection_target_p, mac_clear_selection)
5961 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
5962 (mac_put_selection_value, mac_selection_has_target_p)
5963 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
5964 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
5965 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
5966 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
5967 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
5968 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
5969 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
5970 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
5971 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
5972
5973 * mactoolbox.c: New file.
5974
59752008-04-18 Jason Rumney <jasonr@gnu.org>
5976
5977 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
5978
59792008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
5980
5981 * character.c (Fmultibyte_char_to_unibyte):
5982 Return latin1 chars unchanged.
5983
5984 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
5985 relocated if it points to `name'.
5986
59872008-04-17 Kenichi Handa <handa@m17n.org>
5988
5989 * data.c (Faset): Allow setting a multibyte character in an
5990 ASCII-only unibyte string.
5991
5992 * lisp.h (STRING_SET_MULTIBYTE): New macro.
5993
59942008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
5995
5996 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
5997 done in config.h.
5998
59992008-04-16 Juanma Barranquero <lekktu@gmail.com>
6000
6001 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
6002 (Fchar_direction): Add usage in the docstring.
6003
60042008-04-15 Chong Yidong <cyd@stupidchicken.com>
6005
6006 * keyboard.c (read_key_sequence): Remove always-true checks.
6007
60082008-04-14 Jason Rumney <jasonr@gnu.org>
6009
6010 * w32font.c (w32font_open_internal): Set max_bounds.descent in
6011 compatibility struct, for better underline positioning.
6012
60132008-04-13 David Hansen <david.hansen@gmx.net>
6014
6015 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
6016 string.
6017
60182008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
6019
6020 * m/hp800.h (XUINT, XSET): Remove.
6021
60222008-04-12 Juanma Barranquero <lekktu@gmail.com>
6023
6024 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
6025 previous change.
6026
60272008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
6028
6029 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
6030 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
6031
60322008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
6033
6034 * keymap.h (map_keymap_canonical): Declare.
6035 * xmenu.c (single_keymap_panes): Use it.
6036
60372008-04-11 Glenn Morris <rgm@gnu.org>
6038
6039 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
6040 set the target's value to that of the alias.
6041
60422008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
6043
6044 * term.c (set_tty_color_mode): Left over typo.
6045
60462008-04-10 Michael Albinus <michael.albinus@gmx.de>
6047
6048 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
6049 only after check for file name handler functions. Signal, when
6050 native functionality is not supported.
6051 (syms_of_fileio): Declare it unconditionally.
6052
60532008-04-10 Jason Rumney <jasonr@gnu.org>
6054
6055 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
6056 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
6057
6058 * w32.c (logon_network_drive): Also logon to remote drives that
6059 are mapped to drive letters.
6060
60612008-04-10 Glenn Morris <rgm@gnu.org>
6062
6063 * xdisp.c (truncate-partial-width-windows): Doc fix.
6064
60652008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
6066
6067 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
6068 Move functions to minibuffer.el.
6069 (syms_of_fileio): Don't declare them.
6070
60712008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
6072
6073 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
6074 (syms_of_minibuf): Remove its initialization.
6075
6076 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
6077
60782008-04-09 Juanma Barranquero <lekktu@gmail.com>
6079
6080 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
6081
60822008-04-09 Jason Rumney <jasonr@gnu.org>
6083
6084 * makefile.w32-in (distclean): Delete makefile too.
6085 (maintainer-clean): New target.
6086
6087 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
6088
6089 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
6090 for new font backend and composite cases.
6091
60922008-04-09 Jan Djärv <jan.h.d@swipnet.se>
6093
6094 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
6095 Most of the code moved to run_timers.
6096 (do_pending_atimers): Call run_timers.
6097 (run_timers): New function.
6098
6099 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
6100 run atimers.
6101
6102 * process.c (wait_reading_process_output): The same as above.
6103
61042008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
6105
6106 * minibuf.c (last_exact_completion): Remove variable.
6107 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
6108 (complete_and_exit_1, complete_and_exit_2)
6109 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
6110 (Fdisplay_completion_list, display_completion_list_1)
6111 (Fminibuffer_completion_help, Fself_insert_and_exit)
6112 (Fexit_minibuffer, Fminibuffer_message): Move functions to
6113 minibuffer.el.
6114 (syms_of_minibuf): Remove corresponding initializations.
6115
6116 * keyboard.c (Qdeactivate_mark): New var.
6117 (command_loop_1): Use it to call `deactivate-mark'.
6118 (syms_of_keyboard): Initialize it.
6119
6120 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
6121 to another frame.
6122 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
6123 Don't call set_tty_color_mode.
6124 (store_frame_param): Reset previous_frame rather than call
6125 set_tty_color_mode.
6126 * term.c (set_tty_color_mode): Rewrite.
6127 * dispextern.h (set_tty_color_mode): New type.
6128 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
6129
61302008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
6131
6132 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
6133 for generic chars, which do not exist any more in emacs-unicode.
6134
61352008-04-08 Michael Albinus <michael.albinus@gmx.de>
6136
6137 * coding.c (detect_coding_emacs_mule)
6138 (Ffind_operation_coding_system): Fix typo.
6139
61402008-04-08 Jason Rumney <jasonr@gnu.org>
6141
6142 * w32uniscribe.c (SNAME): Extract only symbol name.
6143
6144 * w32font.h (struct w32_metric_cache): New struct.
6145 (w32font_info): Use it.
6146 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
6147 (CACHE_BLOCKSIZE): New constants.
6148
6149 * w32font.c (Qja, Qko, Qzh): New symbols.
6150 (syms_of_w32font): Initialise them.
6151 (font_matches_spec): Use them to filter by language.
6152 (recompute_cached_metrics): Remove function.
6153 (compute_metrics, clear_cached_metrics): New functions.
6154 (w32font_encode_char): Use them to manage metric cache.
6155 (w32font_text_extents): Cache metrics for all glyphs on demand.
6156 Delay converting glyph indices to WORD until needed.
6157 (w32font_open_internal): Initialize metric cache to empty.
6158 (registry_to_w32_charset): Charset should always be a symbol.
6159 (fill_in_logfont, list_all_matching_fonts): Family should
6160 always be a symbol.
6161
61622008-04-06 Jason Rumney <jasonr@gnu.org>
6163
6164 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
6165 Give up if glyph indices not supported. Use uniscribe obtained
6166 ABC widths for individual metrics. Map glyph clusters back to
6167 characters using fClusterStart flag. Return number of glyphs
6168 produced, not chars processed.
6169 (uniscribe_shape): Map char at FROM to current glyph.
6170
61712008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6172
6173 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
6174 Use SetMenuItemHierarchicalMenu.
6175
61762008-04-05 Jason Rumney <jasonr@gnu.org>
6177
6178 * image.c (pbm_load): Allow color values up to 65535.
6179 Throw an error if max_color_idx is outside the supported range.
6180 Report an error when image size is invalid.
6181 Read two bytes at a time when raw images have max_color_idx above 255.
6182
61832008-04-05 Eli Zaretskii <eliz@gnu.org>
6184
6185 * w32.c (readdir): If FindFirstFile/FindNextFile return in
6186 cFileName a file name that includes `?' characters, use the 8+3
6187 alias in cAlternateFileName instead.
6188
61892008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
6190
6191 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
6192 append "CCL: Quitted" when the CCL program is quitted.
6193 (setup_ccl_program): Initialize ccl->quit_silently to zero.
6194
6195 * ccl.h (struct ccl_program): New member quit_silently.
6196
61972008-04-05 Chong Yidong <cyd@stupidchicken.com>
6198
6199 * search.c (compile_pattern_1): Treat non-nil and non-string of
6200 search-spaces-regexp as nil.
6201
6202 * minibuf.c (Fassoc_string): Tweak docstring.
6203
62042008-04-05 Eli Zaretskii <eliz@gnu.org>
6205
6206 * dired.c (Ffile_attributes): Support inode numbers wider than 32
6207 bits. Remove ugly WINDOWSNT-specific kludge introduced on
6208 2008-03-14 to force inode be positive.
6209
6210 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
6211 _S_* ones, since we now use our own sys/stat.h.
6212 (stat, fstat): Don't mangle the inode number.
6213 (init_user_info): Don't restrict UID and GID to 0-60000 range.
6214
62152008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
6216
6217 * frame.h (struct frame): Give one more bit to `visible' since we use
6218 values larger than 1 to indicate obscured frames on ttys.
6219
6220 * keymap.c (Qkeymap_canonicalize): New var.
6221 (Fmap_keymap_internal): New fun.
6222 (describe_map): Use keymap-canonicalize.
6223
6224 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
6225 (Fundo_boundary): Set them.
6226 (syms_of_undo): Initialize them.
6227 (record_point): Use them instead of last_point_position*.
6228 (last_undo_buffer): Change type.
6229
62302008-04-04 Jason Rumney <jasonr@gnu.org>
6231
6232 * w32font.c (w32font_text_extents): Use font's ascent and descent.
6233 (recompute_cached_metrics): Don't set ascent and descent per char.
6234
6235 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
6236 (uniscribe_check_otf): Add GC protection before consing.
6237 Rearrange loop for counting features.
6238
62392008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
6240
6241 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
6242 buffer with byte-size of source buffer.
6243
62442008-04-03 Chong Yidong <cyd@stupidchicken.com>
6245
6246 * callint.c (Fcall_interactively): Handle temporary region even
6247 when shift-select-mode is off.
6248
62492008-04-03 Jason Rumney <jasonr@gnu.org>
6250
6251 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
6252
62532008-04-03 Kenichi Handa <handa@m17n.org>
6254
6255 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
6256 (CATEGORY_MASK_UTF_16): Likewise.
6257 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
6258 binary file.
6259 (detect_coding): Add null-byte detection for a binary file.
6260 (detect_coding_system): Likewise.
6261
62622008-04-03 Jason Rumney <jasonr@gnu.org>
6263
6264 * w32uniscribe.c: New file.
6265
6266 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
6267
6268 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
6269
6270 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
6271 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
6272 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
6273 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
6274 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
6275 (Qphonetic): New symbols.
6276 (syms_of_w32font): Initialize them.
6277 (font_supported_scripts): Use them.
6278 (w32font_list_family): List all charsets.
6279 (w32font_text_extents, recompute_cached_metrics): Fix metric
6280 calculations.
6281 (w32_enumfont_pattern_entity): Make full_type a DWORD.
6282 Give opentype fonts their own format.
6283 (font_matches_spec): New arguments backend and logfont.
6284 Handle :otf spec for uniscribe backend.
6285 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
6286 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
6287
6288 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
6289 font backend.
6290 (globals_of_w32fns): Initialize uniscribe font backend.
6291
6292 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
6293 dependencies.
6294 (w32uniscribe.$(O)): New file to build.
6295 (FONT_OBJ): Include w32uniscribe.$(O).
6296 (LIBS): Add uniscribe libraries.
6297
6298 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
6299
63002008-04-02 Chong Yidong <cyd@stupidchicken.com>
6301
6302 * callint.c (Vshift_select_mode): New var.
6303 (Finteractive): Document new ^ spec.
6304 (Fcall_interactively): Call handle-shift-selection if the ^ spec
6305 is present.
6306
6307 * keyboard.c (Vthis_command_keys_shift_translated): New var.
6308 (command_loop_1): Avoid running the direct display versions of
6309 forward-char and backward-char if shift-selection may occur.
6310 (read_key_sequence): Set Vthis_command_keys_shift_translated if
6311 shift-translation takes place.
6312
6313 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
6314 avoid clobbering by define-minor-mode.
6315
6316 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
6317 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
6318
6319 * syntax.c (Fforward_word): Add ^ interactive spec.
6320
6321 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
6322 (Fscroll_right): Add ^ interactive spec.
6323
63242008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
6325
6326 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
6327
6328 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
6329
6330 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
6331
63322008-03-31 Juri Linkov <juri@jurta.org>
6333
6334 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
6335
63362008-03-30 Jan Djärv <jan.h.d@swipnet.se>
6337
6338 * gtkutil.c (xg_set_geometry): Fix indentation.
6339 (xg_resize_outer_widget): Remove.
6340 (x_wm_size_hint_off): Fix indentation.
6341 (xg_frame_set_char_size): Call flush_and_sync after
6342 gtk_window_resize.
6343 (x_wm_set_size_hint): Pass NULL as geometry window to
6344 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
6345 Add menu bar and tool bar height to base height.
6346 (xg_update_frame_menubar, free_frame_menubar)
6347 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
6348 (update_frame_tool_bar, free_frame_tool_bar):
6349 Change xg_resize_outer_widget to xg_frame_set_char_size.
6350
63512008-03-30 Michael Albinus <michael.albinus@gmx.de>
6352
6353 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
6354 (Fdbus_call_method): New parameter TIMEOUT.
6355 (dbus-send-signal): Optimize UNGCPRO call.
6356
63572008-03-29 Juri Linkov <juri@jurta.org>
6358
6359 * window.c (Fdisplay_buffer): Move call to
6360 Vsplit_window_preferred_function out of conditions that check
6361 if window is eligible for vertical splitting.
6362 When Vsplit_window_preferred_function is non-nil, call it and use
6363 its non-nil return value as window. Otherwise, continue doing
6364 vertical splitting using Fsplit_window with arg horflag=nil.
6365 (syms_of_window) <Vsplit_window_preferred_function>: Change the
6366 default value from `split-window' to nil.
6367
63682008-03-29 Juri Linkov <juri@jurta.org>
6369
6370 * callint.c (Fcall_interactively): Revert 2008-03-16 change
6371 for interactive code letters 'b' and 'B'.
6372
63732008-03-29 Eli Zaretskii <eliz@gnu.org>
6374
6375 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
6376 multibyte string.
6377
63782008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
6379
6380 * keyboard.c (pending_funcalls): New var.
6381 (timer_check): Run it.
6382 (syms_of_keyboard): Initialize it.
6383 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
6384 (Vdelete_terminal_functions): New vars.
6385 (syms_of_terminal): Initialize them.
6386 (Fdelete_terminal): Run delete-terminal-functions.
6387 * xdisp.c (safe_eval): Rewrite.
6388 (safe_call2): New fun.
6389 * frame.c (Qdelete_frame_functions): New var.
6390 (syms_of_frame): Initialize it.
6391 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
6392 * lisp.h (safe_call2, pending_funcalls): Declare.
6393
63942008-03-28 Andreas Schwab <schwab@suse.de>
6395
6396 * indent.c (Fmove_to_column): Move declaration before statements.
6397
63982008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
6399
6400 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
6401 (struct frame): Use bit fields for boolean vars.
6402
6403 * process.c (server_accept_connection): Simplify naming.
6404 (emacs_get_tty_pgrp): Use SDATA.
6405
6406 * coding.c (decode_coding_object): Fix last change.
6407
64082008-03-27 Jason Rumney <jasonr@gnu.org>
6409
6410 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
6411
64122008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
6413
6414 * charset.c (Fdefine_charset_internal): Change the way of
6415 registering charsets in Vcharset_order_list.
6416 (syms_of_charset): Make the charset `eight-bit' supplementary.
6417
64182008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
6419
6420 * regex.c (EXTEND_BUFFER): Change order of pointer addition
6421 operations, to avoid having the difference between pointers
6422 overflow.
6423
64242008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
6425
6426 * indent.c (check_display_width): New fun.
6427 (scan_for_column): Use it.
6428
6429 * data.c (syms_of_data): Mark most-positive-fixnum and
6430 most-negative-fixnum as constants.
6431
6432 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
6433
6434 * indent.c (scan_for_column): Extract from current_column_1.
6435 Merge with the same code from Fmove_to_column.
6436 (current_column_1, Fmove_to_column): Use it.
6437
64382008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
6439
6440 * keymap.c (map_keymap_internal): New fun.
6441 (map_keymap): Use it.
6442 (Fmap_keymap_internal): New fun.
6443 (Fmap_keymap): Remove left-out test from before make_save_value.
6444
6445 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
6446
6447 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
6448 Use XCAR/XCDR.
6449
6450 * process.h (struct Lisp_Process): Remove filter_multibyte.
6451 * process.c (QCfilter_multibyte): Remove.
6452 (setup_process_coding_systems): Don't use filter_multibyte.
6453 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
6454 (read_process_output): Don't adjust multibyteness to filter_multibyte.
6455 (Fset_process_filter_multibyte): Change the coding-system to
6456 approximate the previous behavior.
6457 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
6458 coding-system.
6459
6460 * coding.c (decode_coding_object): When not decoding into a buffer,
6461 obey the coding system's preference of (uni|multi)byte.
6462
64632008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
6464
6465 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
6466 every char is changed and has a different byte-length.
6467 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
6468 Fix int -> EMACS_INT.
6469
64702008-03-23 David Hansen <david.hansen@gmx.net>
6471
6472 * dbusbind.c (xd_read_message): Remove extra copying of message
6473 strings. Check for NULL `interface' or `member'.
6474
64752008-03-22 Eli Zaretskii <eliz@gnu.org>
6476
6477 * w32.c (readdir): If FindFirstFile/FindNextFile return in
6478 cFileName a file name that includes `?' characters, use the 8+3
6479 alias in cAlternateFileName instead.
6480
64812008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
6482
6483 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
6484
64852008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
6486
6487 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
6488 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
6489 work on current_buffer only instead (that was already the case
6490 for some of the code anyway).
6491 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
6492 (temp_set_point, temp_set_point_both): Use EMACS_INT.
6493 (SET_PT, SET_PT_BOTH): Adjust.
6494 * intervals.h (set_point, temp_set_point, set_point_both)
6495 (temp_set_point_both): Remove redundant declarations.
6496
64972008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
6498
6499 * fileio.c (Finsert_file_contents):
6500 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
6501 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
6502 when buffer != current_buffer anyway.
6503
65042008-03-20 Andreas Schwab <schwab@suse.de>
6505
6506 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
6507 as default.
6508
65092008-03-19 Jason Rumney <jasonr@gnu.org>
6510
6511 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
6512 (syms_of_w32fns): Initialize them.
6513 (HOURGLASS_ID): New constant.
6514 (x_window_to_frame): Don't check hourglass_window.
6515 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
6516 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
6517 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
6518 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
6519 Only change the cursor if hourglass is not active.
6520 (Fx_create_frame): Initialize frame's current_cursor.
6521 (hourglass_atimer): Remove.
6522 (hourglass_started): New function.
6523 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
6524 (show_hourglass): Adapt to w32, changing argument to frame.
6525
6526 * w32term.h (struct w32_output): Remove hourglass_window.
6527 Add current_cursor.
6528
6529 * eval.c (call_debugger, Fsignal):
6530 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
6531 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
6532 (Fexecute_extended_command, cancel_hourglass_unwind):
6533 * minibuf.c (read_minibuf):
6534 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
6535
65362008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
6537
6538 * window.c (run_funs): New fun.
6539 (run_window_configuration_change_hook): Use it to run the buffer-local
6540 and the global part of the hook.
6541
6542 * xdisp.c (format_mode_line_unwind_data): Add window argument.
6543 (unwind_format_mode_line): Restore selected window.
6544 (x_consider_frame_title, Fformat_mode_line): Set selected window.
6545
65462008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
6547
6548 * editfns.c (Fchar_equal): Check they are valid characters.
6549
6550 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
6551
65522008-03-17 Andreas Schwab <schwab@suse.de>
6553
6554 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
6555 against a charset.
6556
6557 * lisp.h (Fbuffer_list): Declare.
6558
65592008-03-17 Jan Djärv <jan.h.d@swipnet.se>
d6c952f8 6560
aac0c6e3
MR
6561 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
6562 handlebox_widget is != 0.
6563
65642008-03-16 Juri Linkov <juri@jurta.org>
6565
6566 * callint.c (Fcall_interactively): For interactive code letters
6567 'b' and 'B' put the buffer list into the list of default "future"
6568 values of the minibuffer.
6569
65702008-03-16 Andreas Schwab <schwab@suse.de>
6571
6572 * keyboard.c (read_key_sequence): Fix downcasing of letters with
6573 modifiers.
6574
6575 * regex.c (re_match_2_internal): Correct matching of a charset
6576 against latin-1 characters.
6577
65782008-03-16 Kenichi Handa <handa@m17n.org>
6579
6580 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
6581 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
6582 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
6583 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
6584 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
6585 CHAR_STRING_ADVANCE.
6586 (produce_chars): Fix for the case that the source and the
6587 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
6588 instead of CHAR_STRING_ADVANCE.
6589 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
6590 STRING_CHAR_ADVANCE.
6591
65922008-03-15 Andreas Schwab <schwab@suse.de>
6593
6594 * regex.c (re_match_2_internal): Correct matching of eight bit
6595 characters in unibyte strings.
6596
65972008-03-15 Martin Rudalics <rudalics@gmx.at>
6598
6599 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
6600 at end of range when it coincides with the end of the buffer.
6601
66022008-03-14 Eli Zaretskii <eliz@gnu.org>
6603
6604 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
6605
6606 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
6607
66082008-03-14 Jason Rumney <jasonr@gnu.org>
6609
6610 * editfns.c (initial_tz): New variable.
6611 (syms_of_editfns): Initialize it.
6612 (Fset_time_zone_rule): Set it when first called.
6613 Use it when TZSTRING is nil.
6614
6615 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
6616 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
6617 (monitor_from_point_fn, get_monitor_info_fn): New globals.
6618 (globals_of_w32fns): Initialize them.
6619 (compute_tip_xy): Use them to position tooltips.
6620
66212008-03-14 Glenn Morris <rgm@gnu.org>
6622
6623 * emacs.c (main): Revert previous change.
6624 (standard_args): Revert -internal-script back to -scriptload,
6625 and remove the long-option form.
6626
66272008-03-13 Glenn Morris <rgm@gnu.org>
6628
6629 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
6630 Remove option -enable-font-backend.
6631
66322008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
6633
6634 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
6635
66362008-03-11 Jan Djärv <jan.h.d@swipnet.se>
6637
6638 * xterm.c (x_connection_closed): For GTK: If this is the last
6639 terminal just exit without closing the display.
6640
66412008-03-11 Jason Rumney <jasonr@gnu.org>
6642
6643 * w32font.c (w32font_full_name): Use floor to round.
6644
66452008-03-10 dhruva <dhruvakm@gmail.com> (tiny change)
6646
6647 * sound.c (alsa_configure): Declare vol at beginning of block.
6648
6649 * fontset.c (Ffontset_info): Remove extra semicolon.
6650
66512008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
6652
6653 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
6654 size of resulting string.
6655
66562008-03-10 Jason Rumney <jasonr@gnu.org>
6657
6658 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
6659
66602008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6661
6662 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
6663 Don't pretend as if characters with display property haven't been
6664 consumed for string-replacing-string case.
6665
66662008-03-08 Kim F. Storm <storm@cua.dk>
6667
6668 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
6669 (get_next_display_element, next_element_from_string)
6670 (next_element_from_ellipsis, next_element_from_buffer): Use it.
6671
66722008-03-08 Andreas Schwab <schwab@suse.de>
6673
6674 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
6675
66762008-03-06 Jason Rumney <jasonr@gnu.org>
6677
6678 * w32font.c (w32_registry): Take font_type argument. Use ANSI
6679 when charset not specified. Only translate ANSI to unicode when
6680 font_type is truetype.
6681 (w32font_coverage_ok): New function.
6682 (add_font_entity_to_list): Use it to filter unsuitable fonts.
6683
66842008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
6685
6686 * lread.c (Fread_char): Resolve modifiers.
6687 (Fread_char_exclusive): Likewise.
6688
6689 * character.c (char_resolve_modifier_mask): New function.
6690 (char_string): Use char_resolve_modifier_mask.
6691 (Fchar_resolve_modifiers): New function.
6692 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
6693 function.
6694
66952008-03-04 Jason Rumney <jasonr@gnu.org>
6696
6697 * makefile.w32-in: Always include w32font.c in the build.
6698 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
6699
67002008-03-04 Andreas Schwab <schwab@suse.de>
6701
6702 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
6703 (versionclean): Likewise.
6704
67052008-03-04 Juanma Barranquero <lekktu@gmail.com>
6706
6707 * .cvsignore: Add oo.
6708
67092008-03-03 Andreas Schwab <schwab@suse.de>
6710
6711 * coding.c (decode_coding_object): Inhibit gap shrinking while
6712 decoding in place.
6713
67142008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
6715
6716 * w32term.c: Remove unused include "gnu.h".
6717 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
6718
6719 * gnu.h: Rename to ...
6720 * emacs-icon.h: ... this.
6721 * xterm.c: Use emacs-icon.h instead of gnu.h.
6722 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
6723
67242008-03-03 Juanma Barranquero <lekktu@gmail.com>
6725
6726 * w32font.c: Include math.h.
6727
67282008-03-03 Jason Rumney <jasonr@gnu.org>
6729
6730 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
6731 Compute options separately.
6732 (w32font_open_internal): Set glyph_idx before caching metrics.
6733
6734 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
6735 Define if system headers don't.
6736 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
6737 (w32font_encode_char): Don't declare here.
6738
6739 * w32font.c (Quniscribe, QCformat): New symbols.
6740 (syms_of_w32font): Define them.
6741 (w32font_has_char): Indicate uncertainty.
6742 (w32font_encode_char): Encode as glyph point. Make static.
6743 (recompute_cached_metrics): New function.
6744 (w32font_open_internal): Use it. Set font to use glyph points
6745 initially. Set format based on type of font.
6746 (w32font_text_extents, w32font_draw): Optionally use glyph points.
6747 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
6748 on it. Set format based on information available here.
6749 (add_font_entity_to_list): Identify backend based on opentype_only.
6750
67512008-03-02 Andreas Schwab <schwab@suse.de>
6752
6753 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
6754
6755 * coding.c (decode_coding_big5, produce_chars):
6756 Fix typos in last change.
6757
67582008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
6759
6760 * gnu.h: New icon.
6761
67622008-03-02 Kenichi Handa <handa@m17n.org>
6763
6764 * coding.c (decode_coding_utf_8): When eol-type of CODING is
6765 `dos', don't decode '\r' if that is the last in the source.
6766 (decode_coding_utf_16, decode_coding_emacs_mule)
6767 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
6768 (decode_coding_raw_text, decode_coding_charset): Likewise.
6769 (produce_chars): Don't decode EOL here. Use EMACS_INT.
6770
67712008-03-01 Jason Rumney <jasonr@gnu.org>
6772
6773 * w32font.c (w32font_full_name): Report point size for scalable fonts.
6774
67752008-03-01 Kim F. Storm <storm@cua.dk>
6776
6777 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
6778
67792008-03-01 Jason Rumney <jasonr@gnu.org>
6780
6781 * w32font.c (w32font_full_name): New function.
6782 (w32font_open_internal): Use it.
6783
67842008-03-01 Kim F. Storm <storm@cua.dk>
6785
6786 * dispnew.c (line_draw_cost): Fix invalid glyph check.
6787
67882008-03-01 Jason Rumney <jasonr@gnu.org>
6789
6790 * font.c (font_unparse_fcname): Increase len when style is a symbol.
6791
67922008-03-01 Jan Djärv <jan.h.d@swipnet.se>
6793
6794 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
6795 xg_frame_resized when the event is for the edit widget.
6796
6797 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
6798
6799 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
6800 set_char_size.
6801 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
6802 operations on widgets here. Just set frame size if needed.
6803 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
6804 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
6805 (x_wm_set_size_hint): Set size hints on the edit widget only, not
6806 the whole frame.
6807 (xg_create_tool_bar): Move attachment of the tool bar to
6808 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
6809 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
6810
68112008-03-01 Jason Rumney <jasonr@gnu.org>
6812
6813 * w32fns.c (w32_msg_pump): Disable debug code.
6814
68152008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6816
6817 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
6818
68192008-02-29 Chong Yidong <cyd@stupidchicken.com>
6820
6821 * xdisp.c (next_overlay_string): Don't set
6822 overlay_strings_at_end_processed_p if we're currently reading from
6823 a display string.
6824
68252008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
6826
6827 * xdisp.c (get_overlay_strings_1): Fix typo.
6828
68292008-02-29 Chong Yidong <cyd@stupidchicken.com>
6830
6831 * xdisp.c (get_overlay_strings_1): Add missing argument type.
6832
68332008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
6834
6835 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
6836
6837 * xdisp.c (display_mode_element): Cancel the previous change.
6838 (decode_mode_spec): Likewise.
6839 (handle_auto_composed_prop): Don't make composition if it->string
6840 is a string.
6841
68422008-02-27 Kim F. Storm <storm@cua.dk>
6843
6844 * lisp.h (GLYPH): Change type from int to struct with separate char
6845 and face_id members.
6846 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
6847 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
6848 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
6849 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
6850 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
6851 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
6852 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
6853 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
6854 handle new Lisp glyph code encoding, either an integer or a cons.
6855
6856 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
6857 (GLYPH_ALIAS): Delete.
6858 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
6859 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
6860 (GLYPH_FROM_CHAR): Replace macro by ...
6861 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
6862
6863 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
6864 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
6865 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
6866 (GLYPH_INVALID_P): New macro.
6867 (spec_glyph_lookup_face): Update prototype.
6868
6869 * dispnew.c (line_draw_cost): Adapt to new glyph type.
6870 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
6871 new glyph code encoding.
6872 (spec_glyph_lookup_face): No return value; update passed glyph instead.
6873 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
6874
6875 * xdisp.c (get_next_display_element, next_element_from_display_vector):
6876 Adapt to new glyph type and new glyph code encoding.
6877
6878 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
6879
6880 * indent.c (current_column, current_column_1, Fmove_to_column)
6881 (compute_motion): Adapt to new glyph code encoding.
6882
6883 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
6884
68852008-02-27 Chong Yidong <cyd@stupidchicken.com>
6886
6887 * process.c (wait_reading_process_output): Check for window
6888 changes caused by timers.
6889 Suggested by Johan Bockgård.
6890
68912008-02-27 Glenn Morris <rgm@gnu.org>
6892
6893 * emacs.c (USAGE1): Add `--disable-font-backend'.
6894
68952008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
6896
6897 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
6898 is made to the buffer.
6899
69002008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
6901
6902 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
6903 (face_at_string_position):
6904 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
6905 (face_at_string_position):
6906 * xdisp.c (display_string, next_overlay_change):
6907 * buffer.h (overlays_at):
6908 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
6909 Update callers.
6910
69112008-02-26 Chong Yidong <cyd@stupidchicken.com>
6912
6913 * editfns.c (Fformat): Doc fix.
6914
69152008-02-26 Juanma Barranquero <lekktu@gmail.com>
6916
6917 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
6918 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
6919 (Ffont_otf_alternates, Fquery_font): Doc fixes.
6920
69212008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
6922
6923 * buffer.c (Fbuffer_swap_text): New function.
6924 (syms_of_buffer): Defsubr it.
6925
69262008-02-25 Chong Yidong <cyd@stupidchicken.com>
6927
6928 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
6929
69302008-02-25 Jason Rumney <jasonr@gnu.org>
6931
6932 * w32font.c (w32font_draw): Draw one character at a time when padding.
6933
69342008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
6935
6936 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
6937 Handle a nil arg. Use run_window_configuration_change_hook.
6938 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
6939 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
6940 Use run_window_configuration_change_hook.
6941
69422008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
6943
6944 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
6945 1-pixel width.
6946
69472008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
6948
6949 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
6950 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
6951 if the glyph in the font is zero pixel with.
6952
6953 * dispextern.h (struct glyph_string): New member padding_p.
6954
6955 * w32font.c (w32font_draw): Pay attention to s->padding_p.
6956
6957 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
6958
6959 * xfont.c (xfont_draw): Pay attention to s->padding_p.
6960
6961 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
6962
6963 * font.c: If the font driver doesn't have `shape' function, return Qnil.
6964
69652008-02-25 Jason Rumney <jasonr@gnu.org>
6966
6967 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
6968
69692008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
6970
6971 Allow fine-grained image-cache flushing.
6972 * dispextern.h (struct image): Add `dependencies' field.
6973 (clear_image_caches): Change arg to Lisp_Object.
6974 * image.c (make_image): Initialize `dependencies' field.
6975 (clear_image_cache): Change arg to allow fine-grained flushing.
6976 Perform the flush even if image-cache-eviction-delay is nil.
6977 (clear_image_caches): Change arg to Lisp_Object.
6978 (Fclear_image_cache): Expand meaning of the argument.
6979 (mark_image): Mark `dependencies' field.
6980 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
6981 (lface_hash): Use XHASH rather than XFASTINT.
6982 (face_at_buffer_position): Fix int -> EMACS_INT position.
6983 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
6984 (select_frame_for_redisplay): Remove code duplication.
6985 (redisplay_internal): Adapt arg to call to clear_image_caches.
6986
69872008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
6988
6989 * s/vms4-0.h:
6990 * s/vms4-2.h:
6991 * s/vms4-4.h:
6992 * s/vms5-5.h: Remove, unused.
6993
6994 * s/irix5-2.h:
6995 * s/irix6-0.h:
6996 * s/riscos5.h:
6997 * s/mach-bsd4-3.h:
6998 * m/mips4.h: Remove files for obsolete systems.
6999
7000 * Makefile.in:
7001 * filelock.c:
7002 * unexmips.c:
7003 * m/hp9000s300.h:
7004 * m/iris4d.h:
7005 * s/aix3-1.h:
7006 * s/hpux.h:
7007 * s/msdos.h:
7008 * s/usg5-0.h:
7009 * s/usg5-2-2.h:
7010 * s/usg5-2.h:
7011 * s/usg5-3.h: Remove references to obsolete variables.
7012
7013 * s/irix5-0.h: Remove, move all the contents ...
7014 * s/irix6-5.h: ... here. Simplify.
7015 * config.in: Regenerate.
7016
70172008-02-24 Jason Rumney <jasonr@gnu.org>
7018
7019 * w32term.c (x_draw_glyph_string_background): Clear the background
7020 manually when cleartype is in use.
7021 (x_draw_glyph_string_foreground): Draw text transparently when
7022 cleartype is in use.
7023
7024 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
7025 a font into it unless we have to.
7026
70272008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
7028
7029 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
7030 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
d6c952f8 7031
aac0c6e3
MR
70322008-02-18 Jason Rumney <jasonr@gnu.org>
7033
7034 * w32fns.c (Fw32_shell_execute): Encode parameters.
7035
70362008-02-09 Eli Zaretskii <eliz@gnu.org>
7037
7038 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
7039
70402008-02-05 Juanma Barranquero <lekktu@gmail.com>
7041
7042 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
7043
70442008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
7045
7046 * xterm.c (x_set_offset): Don't change the gravity if
7047 CHANGE_GRAVITY is -1.
7048
70492008-02-23 Chong Yidong <cyd@stupidchicken.com>
7050
7051 * fileio.c (auto_save_error_occurred): New var.
7052 (auto_save_error): Set it.
7053 (Fdo_auto_save): Don't overwrite the error message if an auto-save
7054 error occurred.
7055
70562008-02-23 Eli Zaretskii <eliz@gnu.org>
7057
7058 * w32.c (globals_of_w32): Add initializations for
7059 g_b_init_get_sid_sub_authority and
7060 g_b_init_get_sid_sub_authority_count.
7061
70622008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
7063
7064 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
7065 (font_parse_xlfd): Use them for sanity check.
7066 (Finternal_set_font_style_table): Make sure the table is bijective.
7067
7068 Consolidate the image_cache to the terminal struct.
7069 * termhooks.h (P_): Remove redundant def.
7070 (struct terminal): New field `image_cache'.
7071 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
7072 of FRAME_X_IMAGE_CACHE.
7073 * xterm.h (struct x_display_info): Remove image_cache field.
7074 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7075 * w32term.h (struct w32_display_info): Remove image_cache field.
7076 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7077 * macterm.h (struct mac_display_info): Remove image_cache field.
7078 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7079 * xterm.c (x_term_init):
7080 * w32term.c (w32_term_init):
7081 * macterm.c (mac_term_init): Set the image_cache in the terminal.
7082 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
7083 Remove declarations.
7084 (clear_image_caches, mark_image_cache): New declarations.
7085 * xfaces.c (clear_face_cache):
7086 * xdisp.c (redisplay_internal): Use clear_image_caches.
7087 * image.c (clear_image_cache): Don't check that a frame is on
7088 a window-system before checking if it shares the same cache.
7089 (clear_image_caches): New function.
7090 (Fclear_image_cache): Use it.
7091 (mark_image): Move from allo.c.
7092 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
7093 * alloc.c (mark_image, mark_image_cache): Move to image.c.
7094 (mark_object): Don't call mark_image_cache for frames.
7095 (mark_terminals): Call mark_image_cache.
7096
7097 * lisp.h (Fdelete_terminal): Declare.
7098
7099 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
7100 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
7101 wrong_type_argument.
7102
71032008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
7104
7105 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
7106 malayalam.el, and tamil.el. Add sinhala.el.
7107
71082008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
7109
7110 * xterm.c (x_connection_closed): Consolidate identical tests.
7111 (x_delete_terminal): Don't crash if called via x_connection_closed.
7112
71132008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
7114
7115 * xdisp.c (decode_mode_spec): New arg string.
7116 (display_mode_element): Adjust for the above change.
7117
71182008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
7119
7120 * callint.c (Fcall_interactively): Use AREF.
7121
71222008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
7123
7124 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
7125
71262008-02-18 Jan Djärv <jan.h.d@swipnet.se>
7127
7128 * xfns.c (Fx_show_tip): Set string to " " if empty.
7129
71302008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
7131
7132 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
7133 with Qt.
7134
71352008-02-17 Kenichi Handa <handa@m17n.org>
7136
7137 * ftfont.c (ftfont_shape): Return Lispy number.
7138
7139 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
7140 for GCs.
7141 (Finternal_set_font_selection_order): Call font_update_sort_order
7142 only when enable_font_backend is set.
7143 (realize_x_face): Set face->font_info to that of default face only
7144 when enable_font_backend is set.
7145
7146 * xdisp.c (handle_composition_prop): Set it->c to the fist
7147 character of the composed region.
7148 (fill_composite_glyph_string): Set base_face->font_info to
7149 s->font_info. Get a face for ascii from base_face->ascii_face.
7150 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
7151 with a face already decided.
7152 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
7153 non-negative.
7154 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
7155 call font_prepare_composition unconditionally.
7156
7157 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
7158
7159 * xterm.h (struct x_display_info): New member font.
7160
7161 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
7162 (x_set_mouse_face_gc, x_new_font): Likewise.
7163 (x_term_init): Setup display_info->font.
7164 (x_delete_terminal): Free display_info->font.
7165
7166 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
7167
7168 * ftxfont.c (ftxfont_default_fid): Delete it.
7169 (ftxfont_open): Set xfont->fid to 0.
7170 (ftxfont_end_for_frame): Clear data specific to the frame and the
7171 font-driver.
7172
7173 * xftfont.c (xftfont_default_fid): Delete it.
7174 (xftfont_open): Set xfont->fid to 0.
7175
7176 * fontset.c (FONTSET_OBJLIST): New macro.
7177 (fontset_find_font): Update font-object list of the fontset.
7178 (free_realized_fontset): New function.
7179 (free_face_fontset): Call free_realized_fontset.
7180 (Ffont_info): Call font_close_object only when enable_font_backend
7181 is set.
7182
7183 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
7184 [HAVE_NTGUI]: Include w32term.h.
7185 [MAC_OS]: Include macterm.ch.
7186 (font_otf_ValueRecord): Use make_number.
7187 (font_finish_cache): Fix handling of reference count.
7188 (font_clear_cache): Update num_fonts.
7189 (font_open_entity): Update smallest_char_width and
7190 smallest_font_height of the frame.
7191 (font_close_object): Update num_fonts.
7192 (Fclear_font_cache): Fix finding the target cache data.
7193
71942008-02-16 Glenn Morris <rgm@gnu.org>
7195
7196 * fontset.c (Finternal_char_font): Fix compilation warning.
7197
71982008-02-16 Eli Zaretskii <eliz@gnu.org>
7199
7200 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
7201 instead of char arrays. Enlarge the size of array passed to
7202 get_token_information.
7203
7204 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
7205 warnings.
7206
72072008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
7208
7209 * .gdbinit: Don't set `args', it breaks gdb --args.
7210
72112008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
7212
7213 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
7214 within a narrowed buffer.
7215
72162008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
7217
7218 * coding.c (decode_coding_object, encode_coding_object):
7219 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
7220
72212008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
7222
7223 * coding.c (coding_set_destination): Use BEG_BYTE rather than
7224 hardcoding 1.
7225 (detect_coding_system):
7226 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
7227 (string_char_to_byte, string_byte_to_char, insert_from_gap):
7228 * insdel.c (insert_from_gap):
7229 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
7230 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
7231 (string_to_multibyte):
7232 * character.c (chars_in_text, multibyte_chars_in_text):
7233 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
7234
7235 * character.h (FETCH_STRING_CHAR_ADVANCE)
7236 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
7237 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
7238 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
7239
7240 * casefiddle.c (casify_region): Only call after-change and composition
7241 functions on the part of the region that was changed.
7242
7243 * keyboard.c (read_avail_input):
7244 * frame.c (Fdelete_frame): Call Fdelete_terminal.
7245
72462008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
7247
7248 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
7249 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
7250
72512008-02-11 Juanma Barranquero <lekktu@gmail.com>
7252
7253 * w32menu.c (push_submenu_start, push_submenu_end)
7254 (push_left_right_boundary, push_menu_pane, push_menu_item):
7255 * keyboard.c (read_key_sequence): Don't pass args with side effects
7256 to AREF, it fails when compiling with -DENABLE_CHECKING.
7257
72582008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
7259
7260 * Makefile.in (${lispsource}international/charprop.el):
7261 Delete this target.
7262
7263 * search.c (boyer_moore): Fix incorrect synching of the trunk and
7264 emacs-unicode-2.
7265
72662008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
7267
7268 * terminal.c (Fdelete_terminal): Clean up the `force' path.
7269
72702008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
7271
7272 * frame.c (Qnoelisp): New symbol.
7273 (syms_of_frame): Initialize it.
7274 (Fdelete_frame): Use it to distinguish a mere `force' passed from some
7275 harmless Elisp code, from a strong `force' from x_connection_closed.
7276 * frame.h (Qnoelisp): Declare.
7277 * xterm.c (x_connection_closed): Pass `noelisp'.
7278
7279 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
7280 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
7281 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
7282 rather than `int' for the type of `type'.
7283
72842008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
7285
7286 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
7287
7288 * Makefile.in (GNUC): Remove support for gcc-1.x.
7289
72902008-02-10 Richard Stallman <rms@gnu.org>
7291
7292 * lisp.h (ASET): Use AREF, not ASLOT.
7293
72942008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
7295
7296 * lisp.h (ASET): Check bounds.
7297
72982008-02-10 Glenn Morris <rgm@gnu.org>
7299
7300 * buffer.c (mode-name): Doc fix.
7301
73022008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
7303
7304 * Makefile.in:
7305 * emacs.c:
7306 * gmalloc.c:
7307 * keyboard.c:
7308 * lisp.h:
7309 * m/ibm370aix.h:
7310 * process.c:
7311 * regex.c:
7312 * s/hpux.h:
7313 * sysdep.c:
7314 * sysselect.h:
7315 * systty.h:
7316 * unexec.c:
7317 * w32term.c:
7318 * xsmfns.c:
7319 * xterm.c: Remove code that deals with obsolete variables.
7320
7321 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
7322
7323 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
7324 nothing else needs it anymore.
7325
73262008-02-09 Eli Zaretskii <eliz@gnu.org>
7327
7328 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
7329 instead of unibyte_char_to_multibyte.
7330
73312008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
7332
7333 * s/gnu-linux.h: Remove commented out code.
7334
7335 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
7336
7337 * Makefile.in: Update what RMS says about using autoconf.
7338 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
7339 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
7340 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
7341 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
7342
73432008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
7344
7345 * keymap.c (Fkey_description): Move side effect outside of macro call.
7346
7347 * xfaces.c (Finternal_make_lisp_face):
7348 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
7349
7350 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
7351 (syms_of_fontset): Use ASET.
7352
7353 * fns.c (concat): Move side effect outside of macro call.
7354 (hash_clear): Use ASET.
7355
73562008-02-08 Richard Stallman <rms@gnu.org>
7357
7358 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
7359 If FORCE, and frame has a surrogate minibuffer for another frame,
7360 delete the other frame first.
7361
73622008-02-07 Timo Savola <timo.savola@iki.fi>
7363
7364 * xterm.c (x_detect_focus_change): Handle embed client message.
7365 (handle_one_xevent): Ditto.
7366 (handle_one_xevent): If embedded and we get a button press/release,
7367 request focus.
7368 (xembed_set_info, xembed_send_message): New functions.
7369 (x_make_frame_visible): Call xembed_set_info if embedded.
7370 (x_make_frame_invisible): Call xembed_set_info if embedded.
7371 (x_term_init): Initialize Xatom_XEMBED.
7372 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
7373 (x_iconify_frame): Ditto.
7374
7375 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
7376 (enum xembed_info, enum xembed_message, enum xembed_focus)
7377 (enum xembed_modifier, enum xembed_accelerator): New.
7378 (xembed_set_info, xembed_send_message): Declare.
7379 (FRAME_X_EMBEDDED_P): New.
7380
7381 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
7382 gtk_plug_new.
7383
7384 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
7385 window ID of a frame.
7386 (x_window): Reparent frame if embedded.
7387 (Fx_create_frame): Don't set border width if embedded.
7388
7389 * emacs.c (USAGE3): Add --parent-id.
7390 (standard_args): Ditto.
7391
73922008-02-07 Jan Djärv <jan.h.d@swipnet.se>
7393
7394 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
7395
73962008-02-07 Jim Meyering <meyering@redhat.com>
7397
7398 Use "do...while (0)", not "if (1)...else" in macro definitions.
7399 The latter provokes a warning from gcc about the empty else, when
7400 followed by ";". Also, without that trailing semicolon, it would
7401 silently swallow up any following statement.
7402 * syntax.h (SETUP_SYNTAX_TABLE)
7403 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
7404 * buffer.h (DECODE_POSITION): Likewise.
7405 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
7406 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
7407 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
7408 (FETCH_CHAR_ADVANCE): Likewise.
7409 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
7410
74112008-02-07 Jim Meyering <meyering@redhat.com>
7412
7413 * lread.c [lint]: Don't include <sys/inode.h>.
7414
74152008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
7416
7417 * xselect.c (x_handle_dnd_message):
7418 * xmenu.c (digest_single_submenu, xmenu_show):
7419 * xdisp.c (with_echo_area_buffer_unwind_data)
7420 (format_mode_line_unwind_data, unwind_format_mode_line)
7421 (display_menu_bar):
7422 * eval.c (Ffetch_bytecode):
7423 * doc.c (store_function_docstring):
7424 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
7425 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
7426 * buffer.c (add_overlay_mod_hooklist): Use ASET.
7427
74282008-02-07 Kenichi Handa <handa@m17n.org>
7429
7430 * ftxfont.c (ftxfont_open): Don't set
7431 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
7432
7433 * ftfont.c (ftfont_open): Fix previous change.
7434
74352008-02-06 Jason Rumney <jasonr@gnu.org>
7436
7437 * w32font.c (w32font_text_extents): Fill in lbearing metric.
7438 Use cached metrics for ASCII characters.
7439 (w32font_open_internal): Don't set font's owning_frame.
7440 Cache metrics for ASCII characters.
7441
7442 * w32font.h (struct w32font_info): Add ascii_metrics.
7443 Remove owning_frame.
7444
74452008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
7446
7447 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
7448 to negative value.
7449
7450 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
7451
7452 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
7453
7454 * charset.c (syms_of_charset): Set QCtest and Qeq.
7455
74562008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
7457
7458 * process.c (Fstart_process):
7459 * callproc.c (Fcall_process): Handle the case where
7460 Funhandled_file_name_directory returns nil.
7461
7462 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
7463 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
7464 * font.c (check_gstring): Use them and AREF to access the vector before
7465 we know it's really a gstring.
7466 (Ffont_shape_text): Fix typo.
7467 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Oject mixups.
7468
7469 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
7470 Declare.
7471
7472 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
7473
74742008-02-05 Jason Rumney <jasonr@gnu.org>
7475
7476 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
7477 Set smallest_font_height and smallest_char_width in display info.
7478
74792008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
7480
7481 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
7482
74832008-02-05 Miles Bader <miles@gnu.org>
7484
7485 * xfaces.c (get_lface_attributes, merge_named_face)
7486 (lookup_named_face, lookup_derived_face, realize_named_face):
7487 Revert 2008-02-01 change by cyd@stupidchicken.com.
7488
74892008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
7490
7491 * fontset.c (Ffontset_info): Handle the case of inhibitting the
7492 fallback fonts.
7493 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
7494
74952008-02-04 Jason Rumney <jasonr@gnu.org>
7496
7497 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
7498 set full_name.
7499 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
7500
75012008-02-03 Jason Rumney <jasonr@gnu.org>
7502
7503 * makefile.w32-in (OBJ1): Include font.o here.
7504 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
7505
75062008-02-02 Jason Rumney <jasonr@gnu.org>
7507
7508 * makefile.w32-in (temacs): Bump EMHEAP to 21.
7509
75102008-02-01 Jason Rumney <jasonr@gnu.org>
7511
7512 * s/cygwin.h: Define VIRT_ADDR_VARIES.
7513
7514 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
7515
75162008-02-01 Andreas Schwab <schwab@suse.de>
7517
7518 * Makefile.in (shortlisp, lisp): Update for rename of
7519 ../lisp/language/myanmar.el.
7520
75212008-02-01 Chong Yidong <cyd@stupidchicken.com>
7522
7523 * xfaces.c (get_lface_attributes): Delete function.
7524 (merge_named_face, lookup_named_face, lookup_derived_face)
7525 (realize_named_face): Call lface_from_face_name directly, and use
7526 the fact that merge_face_vectors does not alter its FROM argument.
7527
75282008-02-01 Jason Rumney <jasonr@gnu.org>
7529
7530 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
7531 input in the default locale. Handle non-Unicode multibyte input.
7532
75332008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7534
7535 * fontset.c (reorder_font_vector): Exclude nil elements from the
7536 font group. Don't try multiple fonts.
7537 (fontset_font): Adjust for the above change.
7538 (Finternal_char_font): Return nil if the found font doesn't
7539 contain the character ch.
7540
7541 * Makefile.in (lisp, shortlisp): Add cham.el.
7542
75432008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7544
7545 * font.h (FONTP): Make it return 1 also for a font-object.
7546
7547 * .gdbinit (xfontset): New function.
7548
7549 * font.c (font_find_for_lface): Check if the character C is
7550 supported or not only for the first font.
7551
7552 * fontset.c (reorder_font_vector): Fix typo.
7553 (fontset_find_font): Don't add a font-spec specifying a script.
7554 Use 0 (not Qt) for the indication of empty font-group. Change the
7555 format of RFONT-DEF. Return Qt if no font in the font-group
7556 support the character.
7557 (fontset_font): Adjust for the above change. If no font was
7558 found the character, remember that.
7559 (face_for_char): Adjust for the change of RFONT-DEF.
7560 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
7561 no font for the target.
7562 (Finternal_char_font): Adjust for the change of RFONT-DEF.
7563
75642008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7565
7566 * font.c (font_load_for_face): Handle the case that the font in
7567 face->lface is a string.
7568
75692008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7570
7571 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
7572
75732008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7574
7575 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
7576 Fix previous change. If the frame is not on a window system,
7577 signal an error.
7578
75792008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7580
7581 * coding.c (decode_coding_object, encode_coding_object): Adjust
7582 marker positions after conversion.
7583
7584 * lisp.h (struct Lisp_Marker): New member need_adjustment.
7585
75862008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7587
7588 * font.c (font_find_for_lface): Fix the handling of the return
7589 value of font_has_char.
7590 (Ffont_shape_text): Fix previous change.
7591
7592 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
7593 (fontset_ref_and_range): Delete it.
7594 (fontset_find_font): Call char_table_ref_and_range instead of
7595 FONTSET_REF_AND_RANGE.
7596 (make_fontset): Don't setup font groups of Latin here.
7597 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
7598 (new_fontset_from_font): Make the specified font the default for
7599 all Latin characters.
7600
76012008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7602
7603 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
7604 is on a window system before accessing the fontset of the frame.
7605
76062008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7607
7608 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
7609
7610 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
7611 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
7612
7613 * font.c (Ffont_shape_text): If the font driver doesn't have a
7614 shaper function, make zero-width glyphs to have at least one-pixel
7615 width. Fix setting of `to' field of glyphs.
7616
76172008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7618
7619 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
7620 glyphs.
7621
7622 * font.h (struct font_driver): Improve docstring of member `shape'.
7623
76242008-02-01 Kenichi Handa <handa@m17n.org>
7625
7626 * composite.c (syms_of_composite): Fix docstring of
7627 auto-composition-function.
7628
7629 * font.h (LGLYPH_SIZE): New macro.
7630
7631 * font.c (Ffont_fill_gstring): Stop filling when a character not
7632 supported by the font is found.
7633 (Ffont_shape_text): When a shape callback function returns nil,
7634 try at most two more times with larger gstring.
7635 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
7636
7637 * xdisp.c (handle_auto_composed_prop): Change the argument to
7638 auto-composition-function.
7639
7640 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
7641 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
7642 Lispy glyph and store it in the lgstring.
7643
7644 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
7645
7646 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
7647
76482008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7649
7650 * font.c (Ffont_shape_text): Avoid unnecessary composition.
7651
7652 * fontset.c (Vfont_encoding_charset_alist): New variable.
7653 (syms_of_fontset): DEFVAR it.
7654 (reorder_font_vector, fontset_find_font): Optimize for the case of
7655 no need of reordering.
7656 (face_for_char): Map the charset property by
7657 Vfont_encoding_charset_alist.
7658
76592008-02-01 Jason Rumney <jasonr@gnu.org>
7660
7661 * w32font.c (logfonts_match): Don't check adstyle here.
7662 (font_matches_spec): Check here against physical font instead.
7663 (add_font_entity_to_list): Avoid some substitutions.
7664
7665 * font.c (font_parse_fcname): Default weight and slant to normal.
7666 (font_score): Prefer normal fonts if weight or slant unspecified.
7667 (font_score) [WINDOWSNT]: Scale weight difference down to closer
7668 match freetype scores.
7669
76702008-02-01 Jason Rumney <jasonr@gnu.org>
7671
7672 * w32font.c (w32font_text_extents): Don't use the frame stored in the
7673 font, as it may have been deleted.
7674 (w32_enumfont_pattern_entity): Map generic family to adstyle using
7675 most common hyphenless variation.
7676 (logfonts_match): Check generic family.
7677 (font_matches_spec): Don't check generic family here.
7678 (fill_in_logfont): Set generic family based on adstyle.
7679
7680 * w32font.h (w32font_get_cache): Update declaration.
7681
76822008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7683
7684 * ftfont.c (ftfont_get_cache): Adjust the argument type.
7685
7686 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
7687 If none of the new drivers are available, call font_update_drivers
7688 with the old drivers.
7689
7690 * w32font.c (w32font_get_cache): Adjust the argument type.
7691
7692 * xfont.c (xfont_get_cache): Adjust the argument type.
7693
7694 * font.h (struct font_driver): Change argument type of get_cache.
7695
7696 * xftfont.c (xftfont_start_for_frame): Delete prototype.
7697
7698 * font.c (Ffont_get): Fix arguments to Fassoc.
7699 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
7700 (font_clear_cache): New function.
7701 (font_list_entities, font_matching_entity): Use font_get_cache.
7702 (font_update_drivers): Call font_clear_cache when finishing a driver.
7703
7704 * fontset.c (fontset_find_font): Fix previous change.
7705
77062008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7707
7708 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
7709 dpyinfo->font_table.
7710 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
7711 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
7712
7713 * font.c (font_at): Handle the case that the arg C is negative.
7714 Handle the unibyte case.
7715 (Ffont_at): Call font_at with the arg C -1.
7716
7717 * xdisp.c (handle_auto_composed_prop): Don't get a character at
7718 the position here, and call font_at with the arg C -1.
7719 Don't check the range of the existing composition at the point.
7720
77212008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7722
7723 * fontset.c (fontset_add): New args charset_id and family.
7724 Change caller.
7725 (load_font_get_repertory, fontset_find_font): Assume that
7726 font_spec is always a font-spec object.
7727 (Fset_fontset_font): Always store a font-spec object in a fontset.
7728
7729 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
7730 instead of get_property_and_range.
7731
77322008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7733
7734 * xftfont.c (struct xftfont_info): Delete the member ft_face.
7735 (xftfont_open): Don't keep locking face.
7736 (xftfont_close): Don't unlock face.
7737 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
7738
7739 * fontset.c (fontset_find_font): Don't prefer a font of
7740 supplementary charset.
7741
77422008-02-01 Kenichi Handa <handa@m17n.org>
7743
7744 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
7745 script, langsys_tag to langsys, new member script.
7746 (OTF_TAG_STR): Terminate by '\0'.
7747 (ftfont_get_open_type_spec): If :otf prop is is spec, Limit the
7748 listing to the script specified in that property. Fix arg to
7749 OTF_check_features.
7750
77512008-02-01 Jason Rumney <jasonr@gnu.org>
7752
7753 * w32font.h: New file.
7754
7755 * w32font.c: Include it.
7756 (struct w32font_info): Add owning_frame field. Move to w32font.h.
7757 (w32font_open): Set owning_frame.
7758 (w32font_text_extents): Use owning_frame.
7759 (struct font_callback_data): Add opentype_only field.
7760 (add_font_entity_to_list): Use it to filter fonts.
7761 Don't check against full name.
7762 (w32font_list_internal): New function.
7763 (w32font_list): Use it.
7764 (w32font_match_internal): New function.
7765 (w32font_match): Use it.
7766 (w32font_open_internal): New function.
7767 (w32font_open): Use it.
7768 (w32font_get_cache, w32font_close, w32font_has_char)
7769 (w32font_encode_char, w32font_text_extents, w32font_draw):
7770 Make non-static.
7771
7772 * makefile.w32-in (w32font.o): Depend on w32font.h.
7773
77742008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7775
7776 * charset.c (Fdefine_charset_internal): Record a supplementary
7777 charset at the tail of Vcharset_order_list.
7778
7779 * font.c (Ffont_shape_text): Fix the return value.
7780
7781 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
7782
7783 * xdisp.c (handle_auto_composed_prop): Fix previous change.
7784
77852008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7786
7787 * ftfont.c (struct OpenTypeSpec): New struct.
7788 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
7789 (ftfont_get_open_type_spec): New function.
7790 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
7791
7792 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
7793
77942008-02-01 Jason Rumney <jasonr@gnu.org>
7795
7796 * w32font.c (add_font_entity_to_list): Compare only the beginning
7797 of full name.
7798
77992008-02-01 Kenichi Handa <handa@m17n.org>
7800
7801 * xdisp.c (handle_auto_composed_prop): Simplify the code.
7802 Never return HANDLED_RECOMPUTE_PROPS.
7803
78042008-02-01 Kenichi Handa <handa@m17n.org>
7805
7806 * font.c (font_gstring_produce): Delete it.
7807
7808 * composite.h (COMPOSITION_METHOD):
7809 Handle COMPOSITION_WITH_GLYPH_STRING.
7810
78112008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7812
7813 * xfont.c (Qx): Delete.
7814 (syms_of_xfont): Don't initialize Qx.
7815
7816 * composite.h (enum composition_method):
7817 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
7818
78192008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7820
7821 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
7822 (choose_face_font): Accept new form of font-spec.
7823
7824 * frame.h (font_driver_list): Declare it unconditionally.
7825 (struct frame): Define members font_driver_list and font_data_list
7826 unconditionally.
7827
7828 * fontset.c: Include "font.h" unconditionally.
7829 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
7830 (Fset_fontset_font): Accept a font-spec object.
7831
7832 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
7833 PIXEL_SIZE part a wild card.
7834
7835 * dispextern.h (struct glyph_string): Define members clip and
7836 num_clips unconditionally.
7837 (struct face): Define members font_info and extra unconditionally.
7838
7839 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
7840 ftfont_info only when HAVE_LIBOTF is defined.
7841
78422008-02-01 Andreas Schwab <schwab@suse.de>
7843
7844 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
7845 and end.
7846
78472008-02-01 Jason Rumney <jasonr@gnu.org>
7848
7849 * w32font.c (w32font_driver): Add new fields.
7850
78512008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7852
7853 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
7854 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
7855 (LIBES): Add @M17N_FLT_CFLAGS@.
7856
7857 * composite.c (compose_text): Don't treat the new style
7858 composition specially.
7859
7860 * emacs.c (main): Call syms_of_font unconditionally.
7861
7862 * font.h (FONT_ENTITY_NOT_LOADABLE)
7863 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
7864 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
7865 (struct font_driver): New member shape.
7866 (font_registry_charsets): Extern it.
7867 (font_find_for_lface, font_prepare_composition): Adjust prototype.
7868 (font_otf_capability, font_drive_otf): Delete their externs.
7869
7870 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
7871 (font_charset_alist, font_registry_charsets): Move from xfont.c
7872 and rename.
7873 (font_prop_validate_otf): New function.
7874 (font_property_table): Register it for QCotf.
7875 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
7876 (font_drive_otf): Delete.
7877 (font_prepare_composition): New arg F. Adjust for the change of
7878 lispy gstring.
7879 (font_find_for_lface): New arg C.
7880 (font_load_for_face): Adjust for the change of font_find_for_lface.
7881 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
7882 lispy gstring.
7883 (Ffont_shape_text): New function.
7884 (Fopen_font): If the font size is not given, use 12-pixel.
7885 (Ffont_at): New arg STRING.
7886 (syms_of_font): Initalize font_charset_alist.
7887 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
7888 conditionally.
7889
7890 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
7891 fonts of the same font-spec. Change the format of RFONT-DEF.
7892 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
7893 Adjust for the change of RFONT-DEF.
7894 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
7895
7896 * ftfont.h: New file.
7897
7898 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
7899 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
7900 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
7901 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
7902 font_otf_capability and font_drive_otf, set ftfont_shape.
7903 (ftfont_list): Adjust for the change of :otf property value.
7904 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
7905 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
7906 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
7907 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
7908 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
7909 (otf_gstring, gstring, m17n_flt_initialized): New variables.
7910
7911 * w32term.c (x_draw_composite_glyph_string_foreground):
7912 Adjust for the change of lispy gstring.
7913
7914 * xdisp.c (handle_composition_prop): Adjust for the change of
7915 lispy gstring. Call a function for auto-composition with the
7916 third arg it->window.
7917 (fill_composite_glyph_string): Adjust for the change of lispy string.
7918 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
7919
7920 * xfaces.c (set_font_frame_param): Adjust for the change of
7921 font_find_for_lface.
7922
7923 * xfont.c (x_font_charset_alist): Move to font.c and rename.
7924 (xfont_registry_charsets): Likewise. Change caller.
7925 (syms_of_xfont): Don't handle x_font_charset_alist.
7926
7927 * xftfont.c: Include "ftfont.h".
7928 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
7929 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
7930 (xftfont_close) [HAVE_LIBOTF]: Close otf.
7931 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
7932 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
7933 Set xftfont_driver.shape to xftfont_shape.
7934
7935 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
7936 the change of lispy gstring.
7937
79382008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7939
7940 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
7941
79422008-02-01 Jason Rumney <jasonr@gnu.org>
7943
7944 * w32font.c (w32font_draw): Fill background manually.
7945
79462008-02-01 Jason Rumney <jasonr@gnu.org>
7947
7948 * font.c (Qfontp): Remove unused symbol.
7949 (QCantialias): New symbol.
7950 (syms_of_font): Define it.
7951 (font_property_table): Set a validator for QCantialias.
7952
7953 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
7954 Define if not already.
7955 (QCfamily): Share with xfaces.c.
7956 (Qstandard, Qsubpixel, Qnatural): New symbols.
7957 (syms_of_w32font): Define them. Don't define QCfamily here.
7958 (w32_antialias_type, lispy_antialias_type): New functions.
7959 (w32_enumfont_pattern_entity): New arg requested_font.
7960 Set antialias parameter if non-default was requested.
7961 (fill_in_logfont): Fill in lfQuality if :antialias specified.
7962
79632008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7964
7965 * lread.c (read1): Undo the previous change.
7966
79672008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
7968
7969 * frame.c (Fdelete_frame): Call font_update_drivers only when
7970 USE_FONT_BACKEND is defined.
7971
79722008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7973
7974 * font.h (struct font_bitmap): New member bits_per_pixel.
7975 (struct font_driver): New members start_for_frame and end_for_frame.
7976 (struct font_data_list): New struct.
7977 (font_put_frame_data, font_get_frame_data): Extern them.
7978
7979 * frame.h (struct frame): New member font_data_list.
7980
7981 * font.c (font_update_drivers): Call driver->start_for_frame and
7982 driver->end_for_frame at proper timings.
7983 (font_put_frame_data, font_get_frame_data): New functions.
7984 (Ffont_spec): Add usage in the docstring.
7985
7986 * frame.c (make_frame): Initialize f->font_data_list to NULL.
7987 (Fdelete_frame): Call font_update_drivers.
7988
7989 * xftfont.c (struct xftface_info): Delete the member xft_draw.
7990 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
7991 (xftfont_get_xft_draw): New function.
7992 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
7993 (xftfont_end_for_frame): New function.
7994 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
7995
7996 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
7997 Change argument. Cache GCs in the per-frame data.
7998 (struct ftxfont_frame_data): New struct.
7999 (ftxfont_draw_bitmap): New arg gc_fore and flush.
8000 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
8001 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
8002 (ftxfont_end_for_frame): New function.
8003 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
8004
8005 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
8006
80072008-02-01 Kenichi Handa <handa@m17n.org>
8008
8009 * xselect.c (Vselection_coding_system)
8010 (Vnext_selection_coding_system): Delete them.
8011 (syms_of_xselect): Don't declare selection-coding-system and
8012 next-selection-coding-system. They are declared in select.el.
8013
80142008-02-01 Jason Rumney <jasonr@gnu.org>
8015
8016 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
8017
8018 * w32fns.c: Include imm.h.
8019 (get_composition_string_fn, get_ime_context_fn): New optional
8020 system functions.
8021 (globals_of_w32fns): Load them from imm32.dll.
8022 (ignore_ime_char): New flag.
8023 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
8024 WM_IME_ENDCOMPOSITION messages.
8025
8026 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
8027 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
8028
80292008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8030
8031 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
8032 (READCHAR_REPORT_MULTIBYTE): New macro.
8033 (readchar): New 2nd arg MULTIBYTE.
8034 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
8035 Make symbol's name multibyte according to the multibyteness of the
8036 source.
8037
80382008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8039
8040 * xfaces.c (face_for_overlay_string): Call lookup_face with
8041 correct arguments (fix of synching with the trunk).
8042
80432008-02-01 Kenichi Handa <handa@m17n.org>
8044
8045 * font.c (font_prop_validate_symbol, font_prop_validate_style)
8046 (font_prop_validate_non_neg, font_prop_validate_spacing):
8047 Delete argument prop_index.
8048 (font_property_table): Change arguments to validater. Change Callers.
8049 (font_lispy_object): Delete.
8050 (font_at): Use font_find_object instead fo font_lispy_object.
8051
80522008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8053
8054 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
8055 and file names.
8056
80572008-02-01 Jason Rumney <jasonr@gnu.org>
8058
8059 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
8060 (font_matches_spec): Remove debug output.
8061 (add_font_entity_to_list): Avoid using substituted fonts.
8062
80632008-02-01 Jason Rumney <jasonr@gnu.org>
8064
8065 * doc.c (Fsnarf_documentation):
8066 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
8067
80682008-02-01 Miles Bader <miles@gnu.org>
8069
8070 * dispextern.h (struct glyph_row): Only define "clip" field if
8071 HAVE_WINDOW_SYSTEM is defined.
8072
80732008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
8074
8075 Fix up multi-tty merge.
8076
8077 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
8078 and indentation.
8079
8080 * xfaces.c (free_realized_face, clear_face_gcs):
8081 Include font_done_for_face in the input_blocked section, just in case.
8082
8083 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
8084 (get_char_face_and_encoding): Undo last change and remove the *other*
8085 duplicate definition (i.e. keep the one that's better scoped and that
8086 includes code for the font-backend).
8087
8088 * terminal.c (create_terminal): Default keyboard_coding to
8089 `no-conversion' and terminal_coding to `undecided'.
8090
8091 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
8092
8093 * fontset.c (free_realized_fontsets): Check that the table entry does
8094 contain a fontset before trying to compare it to `base'.
8095
8096 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
8097 syms_of_charset, and syms_of_coding earlier because init_window_once
8098 now needs Vcoding_system_hash_table to be setup.
8099
8100 * coding.h (default_buffer_file_coding): Remove.
8101
8102 * coding.c (default_buffer_file_coding): Remove.
8103 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
8104 than ->symbol, and use the terminal-local coding system.
8105 (syms_of_coding): Don't setup the coding-systems that are not
8106 terminal-local.
8107 (Fdefine_coding_system_internal): Use XCAR/XCDR.
8108
8109 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
8110 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
8111
8112 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
8113 in chartab.c and were re-added here by mistake.
8114 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
8115
8116 * doc.c (Fsnarf_documentation):
8117 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
8118 src to etc.
8119
8120 * ChangeLog.10: Add mistakenly removed entry.
8121
81222008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
8123
8124 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
8125
81262008-02-01 Miles Bader <miles@gnu.org>
8127
8128 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
8129 Add extra args to FACE_FOR_CHAR.
8130
81312008-02-01 Kenichi Handa <handa@m17n.org>
8132
8133 * keymap.c (where_is_internal_1): If key is a cons, store the copy
8134 in sequence.
8135
8136 * chartab.c (map_sub_char_table, map_char_table): If the range
8137 contains just one character, call the function with that character
8138 even if the depth is not 3.
8139
81402008-02-01 Jason Rumney <jasonr@gnu.org>
8141
8142 * w32font.c (w32font_text_extents): Calculate metrics for the
8143 whole string.
8144
81452008-02-01 Jason Rumney <jasonr@gnu.org>
8146
8147 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
8148
81492008-02-01 Jason Rumney <jasonr@gnu.org>
8150
8151 * w32term.c (x_set_glyph_string_clipping): Use
8152 get_glyph_string_clip_rects.
8153 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
8154 Adjust for the change of struct glyph_string.
8155
8156 * w32font.c (w32font_draw): Do clipping here.
8157
81582008-02-01 Kenichi Handa <handa@m17n.org>
8159
8160 * xftfont.c (xftfont_draw): Adjust for the change of struct
8161 glyph_string.
8162
8163 * xterm.c (x_set_glyph_string_clipping): Use
8164 get_glyph_string_clip_rects.
8165 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
8166 Adjust for the change of struct glyph_string.
8167
8168 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
8169 the resulting clip(s}.
8170 (expose_overlaps): Add arg r. Change callers. Set it to
8171 row->clip temporarily.
8172 (expose_window): Redraw rows overlapping the exposed area.
8173
8174 * dispextern.h (struct glyph_row): New member clip.
8175 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
8176 clip_height, new member clip, and num_clips.
8177
81782008-02-01 Kenichi Handa <handa@m17n.org>
8179
8180 * data.c (Fchar_or_string_p): Fix docstring.
8181
81822008-02-01 Kenichi Handa <handa@m17n.org>
8183
8184 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
8185 create a temporary XftDraw object.
8186
81872008-02-01 Kenichi Handa <handa@m17n.org>
8188
8189 * font.c (Ffontp): Fix docstring.
8190
8191 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
8192 strong evidence of ISO-2022.
8193
81942008-02-01 Kenichi Handa <handa@m17n.org>
8195
8196 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
8197 SYNTAX_ENTRY_FOLLOW_PARENT.
8198
81992008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
8200
8201 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
8202 its type.
8203 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
8204 Update to the new type of weak_hash_tables and next_weak.
8205
8206 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
8207 a plain C pointer to Lisp_Hash_Table.
8208
8209 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
8210 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
8211 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
8212 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
8213 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
8214 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
8215 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
8216 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
8217 (GC_EQ): Remove since they've been identical to their non-GC_
8218 alter-egos ever since the markbit was eradicated.
8219
8220 * alloc.c:
8221 * buffer.c:
8222 * buffer.h:
8223 * data.c:
8224 * fileio.c:
8225 * filelock.c:
8226 * fns.c:
8227 * frame.h:
8228 * lisp.h:
8229 * macterm.c:
8230 * print.c:
8231 * process.c:
8232 * w32fns.c:
8233 * w32menu.c:
8234 * w32term.c:
8235 * xfns.c:
8236 * xmenu.c:
8237 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
8238
82392008-02-01 Kenichi Handa <handa@m17n.org>
8240
8241 * chartab.c (map_sub_char_table): Make it work for the top-level
8242 char-table. Fix handling of parent char-table.
8243 (map_char_table): Adjust for the above change.
8244
82452008-02-01 Jason Rumney <jasonr@gnu.org>
8246
8247 * w32font.c (Qgdi): Rename from Qw32.
8248
82492008-02-01 Jason Rumney <jasonr@gnu.org>
8250
8251 * w32bdf.c (get_quoted_string): Make function static.
8252
82532008-02-01 Kenichi Handa <handa@m17n.org>
8254
8255 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
8256 bigger ascent and descent than those of the font, use them as
8257 font's ascent and descent.
8258
82592008-02-01 Kenichi Handa <handa@m17n.org>
8260
8261 * Makefile.in (${lispsource}international/charprop.el): Move this
8262 target within "#ifdef HAVE_UNIDATA" and "#endif".
8263
82642008-02-01 Kenichi Handa <handa@m17n.org>
8265
8266 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
8267 (shortlisp): Add ../lisp/language/tai-viet.el.
8268
82692008-02-01 Ulrich Mueller <ulm@gentoo.org>
8270
8271 * Makefile.in (${lispsource}international/charprop.el): Depend on
8272 temacs${EXEEXT}.
8273
82742008-02-01 Jason Rumney <jasonr@gnu.org>
8275
8276 * w32font.c (w32font_close): Delete the GDI font object.
8277
8278 * w32menu.c: Include character.h.
8279
8280 * w32proc.c: Likewise.
8281
8282 * w32select.c: Likewise.
8283
8284 * makefile.w32-in (w32proc.o): Depend on character.h.
8285
82862008-02-01 Jason Rumney <jasonr@gnu.org>
8287
8288 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
8289
8290 * w32menu.c (syms_of_w32menu): Likewise.
8291
8292 * w32proc.c (syms_of_ntproc): Likewise.
8293
8294 * w32select.c (syms_of_w32select): Likewise.
8295
8296 * w32term.c (syms_of_w32term): Likewise.
8297
82982008-02-01 Jason Rumney <jasonr@gnu.org>
8299
8300 * w32font.c (w32font_draw): Delete brush after using it.
8301
83022008-02-01 Jason Rumney <jasonr@gnu.org>
8303
8304 * w32font.c (w32font_open): Don't set font_idx.
8305 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
8306 to font settings.
8307 (w32font_draw): Fill background explicitly.
8308
83092008-02-01 Jason Rumney <jasonr@gnu.org>
8310
8311 * w32term.c (w32_initialize): Don't call w32font_initialize.
8312
8313 * w32font.c (w32font_info): Remove subranges.
8314 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
8315 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
8316 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
8317 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
8318 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
8319 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
8320 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
8321 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
8322 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
8323 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
8324 New symbols.
8325 (font_callback_data): New struct.
8326 (w32font_list, w32font_match): Use it.
8327 (w32font_open): Don't populate subranges.
8328 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
8329 (w32font_encode_char): Always return unicode code-point as-is.
8330 (w32font_text_extents): Supply a transformation matrix to
8331 GetGlyphOutline. Never look up by glyph index. Avoid looping
8332 twice. Use unicode version of GetTexExtentPoint32 instead of
8333 glyph index version.
8334 (set_fonts_frame): Remove.
8335 (w32_enumfont_pattern_entity): Add frame parameter, use it to
8336 set frame parameter. Use backward compatible fake foundries.
8337 Save generic family in extra slot under QCfamily. Make width slot
8338 constant. Save QCspacing value. Save list of scripts instead of
8339 binary subranges.
8340 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
8341 (add_font_entity_to_list): Use font_callback_data struct. Filter
8342 unwanted fonts.
8343 (add_one_font_entity_to_list): Use font_callback_data struct.
8344 (w32_registry): Default to iso10646_1.
8345 (fill_in_logfont): Use dpi from extra slot. Don't bother with
8346 string font registries. Don't fill in font name if it is a generic
8347 family name, fill family instead. Use spacing, family and script
8348 extra info to fill pitch, family and charset fields.
8349 (list_all_matching_fonts): Use font_callback_data struct.
8350 (unicode_range_for_char): Remove.
8351 (font_supported_scripts): New function.
8352 (w32font_initialize): Remove.
8353 (syms_of_w32font): Update which symbols are defined.
8354
83552008-02-01 Jason Rumney <jasonr@gnu.org>
8356
8357 * font.c (font_pixel_size): Reverse assq_no_quit args.
8358
8359 * w32term.h (FONT_WIDTH): Report max width, not average.
8360 (FONT_MAX_WIDTH): Remove.
8361 (FONT_AVG_WIDTH): New macro.
8362
8363 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
8364 redefinition of FONT_WIDTH.
8365
8366 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
8367 (w32_cache_char_metrics): Use FONT_WIDTH.
8368
8369 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
8370
83712008-02-01 Jason Rumney <jasonr@gnu.org>
8372
8373 * w32font.c (w32font_open): Make lfHeight negative.
8374
8375 * w32fns.c (x_default_font_parameter): Use new style font name.
8376 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
8377
83782008-02-01 Jason Rumney <jasonr@gnu.org>
8379
8380 * w32font.c (QCsubranges): New symbol.
8381 (w32font_open, w32font_has_char): Get subranges from subproperty
8382 of extra.
8383 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
8384 (syms_of_w32font): Define :subranges symbol.
8385
8386 * font.c (font_put_extra): Expose externally.
8387
8388 * font.h (font_put_extra): Move declaration from font.c.
8389
8390 * font.c (Ffont_get): Use font driver to determine otf capability.
8391 (adjust_anchor): Check if driver defines anchor_point before using.
8392
8393 * w32font.c (w32font_open): Handle size, height and pixel_size better.
8394 (w32font_draw): Use options.
8395 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
8396 Fix detection of truetype fonts.
8397 (registry_to_w32_charset): Handle charsets other than iso8859-1
8398 expressed as lisp symbols.
8399 (w32_registry): Express charset as lisp symbol.
8400 (fill_in_logfont): Reverse pixel and point height logic.
8401 Don't set width here. Set quality to default.
8402
8403 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
8404 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
8405
8406 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
8407 Remove redundant loop and allocation.
8408
8409 * makefile.w32-in (font.o, w32font.o): New objects.
8410 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
8411 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
8412
8413 * xdisp.c (fill_composite_glyph_string): Make the first arg to
8414 STORE_XCHARB a valid l-value.
8415
8416 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
8417 calculations for non-Truetype fonts.
8418 (x_draw_glyph_string): Sync with xterm.c.
8419 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
8420 Remove redundant code.
8421 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
8422
8423 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
8424 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
8425
8426 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
8427 (x_to_w32_charset, w32_to_x_charset): Expose externally.
8428
8429 * w32font.c: New file for w32 font backend.
8430
84312008-02-01 Kenichi Handa <handa@m17n.org>
8432
8433 * term.c: Don't include "buffer.h" twice.
8434
84352008-02-01 Kenichi Handa <handa@m17n.org>
8436
8437 * character.c (Funibyte_string): New function.
8438 (syms_of_character): Defsubr it.
8439
84402008-02-01 Jason Rumney <jasonr@gnu.org>
8441
8442 * w32term.c [USE_FONT_BACKEND]:
8443 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
8444 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
8445 (x_draw_glyph_string, x_draw_glyph_string_foreground)
8446 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
8447 (x_free_frame_resources): Sync with xterm.c.
8448
84492008-02-01 Andreas Schwab <schwab@suse.de>
8450
8451 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
8452 char-table size.
8453
84542008-02-01 Kenichi Handa <handa@m17n.org>
8455
8456 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
8457
84582008-02-01 Kenichi Handa <handa@m17n.org>
8459
8460 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
8461 font_otf_gpos, add font_drive_otf.
8462
8463 * fontset.c (fontset_find_font): Pay attention to font size
8464 specified for a font.
8465 (reorder_font_vector): Check contents of font_def.
8466
8467 * font.c (struct otf_list): Delete it.
8468 (otf_list): Make it a lisp variable.
8469 (otf_open): Use lispy otf_list.
8470 (generate_otf_features): Rename from parse_gsub_gpos_spec.
8471 (check_otf_features): New function.
8472 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
8473 New functions.
8474 (font_drive_otf): New function merging font_otf_gsub and
8475 font_otf_gpos.
8476 (font_open_for_lface): New arg spec. Change argument order.
8477 (font_load_for_face): Adjust for the change of font_open_for_lface.
8478 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
8479 Ffont_otf_gpos.
8480 (syms_of_font): Staticpro otf_list. Delete defsubr of
8481 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
8482
8483 * xfaces.c (set_font_frame_param): Adjust for the change of
8484 font_open_for_lface.
8485
8486 * font.h (font_open_for_lface): Adjust prototype.
8487 (struct font_driver): Delete members otf_gsub and otf_gpos, add
8488 member otf_drive.
8489 (font_otf_gsub, font_otf_gpos): Delete externs.
8490 (font_drive_otf): Extern it.
8491
84922008-02-01 Kenichi Handa <handa@m17n.org>
8493
8494 * font.c (font_at): If the window W is not on a window system,
8495 return Qnil.
8496
8497 * coding.c (produce_chars, encode_coding): Don't call
8498 insert_from_gap if no characters to produce.
8499
85002008-02-01 Kenichi Handa <handa@m17n.org>
8501
8502 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
8503 Fclear_face_cache.
8504
8505 * xfaces.c (face_for_font): Check also face->font==font->font.font.
8506
85072008-02-01 Miles Bader <miles@gnu.org>
8508
8509 * emacs.c (main): Change default value of `enable_font_backend' to 1.
8510 Parse "--disable-font-backend" option.
8511 (standard_args): Add "--disable-font-backend" option.
8512
85132008-02-01 Kenichi Handa <handa@m17n.org>
8514
8515 * fontset.c (fontset_find_font): New function.
8516 (fontset_font): Use fontset_find_font.
8517 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
8518 Register the specified font for all Latin characters.
8519 (new_fontset_from_font): Register the specified font for all Latin
8520 characters.
8521 (dump_fontset): For a realized fontset, include the base fontset
8522 name in the returned vector.
8523
85242008-02-01 Kenichi Handa <handa@m17n.org>
8525
8526 * character.h (CHAR_STRING): Cast C to unsigned on calling
8527 char_string.
8528
8529 * character.c (char_string): Type of arg C changed to unsigned.
8530 Signal an error if C is an invalid character code.
8531
8532 * editfns.c (general_insert_function, Fchar_to_string):
8533 Use CHARACTERP, not INTEGERP.
8534
85352008-02-01 Kenichi Handa <handa@m17n.org>
8536
8537 * character.h (MIN_MULTIBYTE_LEADING_CODE)
8538 (MAX_MULTIBYTE_LEADING_CODE): New macros.
8539
8540 * regex.c (analyse_first): Fix for multibyte characters in "case
8541 charset:" and "case categoryspec:".
8542
85432008-02-01 Andreas Schwab <schwab@suse.de>
8544
8545 * Makefile.in (LIBES): Move standard libraries to the end.
8546
85472008-02-01 Kenichi Handa <handa@m17n.org>
8548
8549 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
8550 nonzero, don't shrink the buffer nextb.
8551
8552 * buffer.h (struct buffer_text): New member inhibit_shrinking.
8553
8554 * coding.c (coding_alloc_by_making_gap): New arg offset.
8555 (alloc_destination): Call coding_alloc_by_making_gap with the arg
8556 offset.
8557 (decode_coding_iso_2022): Update coding->safe_charsets.
8558 (decode_coding_gap): Temporarily set
8559 current_buffer->text->inhibit_shrinking to 1.
8560
85612008-02-01 Kenichi Handa <handa@m17n.org>
8562
8563 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
8564 indexing into elements of s->cmp and s->char2b.
8565
85662008-02-01 Juanma Barranquero <lekktu@gmail.com>
8567
8568 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
8569
85702008-02-01 Kenichi Handa <handa@m17n.org>
8571
8572 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
8573 target_multibyte instead of multibyte.
8574 (re_match_2_internal): Call bcmp_translate with target_multibyte.
8575 (bcmp_translate): Change the argument name from multibyte to
8576 target_multibyte.
8577
85782008-02-01 Kenichi Handa <handa@m17n.org>
8579
8580 These changes are to compile a regexp into a pattern that can be
8581 used both for multibyte and unibyte targets.
8582
8583 * Makefile.in (search.o): Depend on charset.h.
8584
8585 * character.c (multibyte_char_to_unibyte_safe): New function.
8586
8587 * search.c: Include "charset.h".
8588 (compile_pattern_1): Delete argument multibyte. Don't set
8589 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
8590 (compile_pattern): Don't compare cp->buf.target_multibyte.
8591 Compare cp->buf.charset_unibyte.
8592 (compile_pattern): Set cp->buf.target_multibyte.
8593
8594 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
8595
8596 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
8597
8598 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
8599 multibyte. Change callers.
8600 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
8601 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
8602 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
8603 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
8604 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
8605 (regex_compile): Make the compiled pattern usable both for
8606 multibyte and unibyte targets.
8607 (analyse_first): Make the fastmap usable both for multibyte and
8608 unibyte targets.
8609 (TRANSLATE_VIA_MULTIBYTE): Delete.
8610 (re_match_2_internal): Pay attention to the case that the
8611 multibyteness of bufp and target may be different.
8612
86132008-02-01 Kenichi Handa <handa@m17n.org>
8614
8615 * xdisp.c (x_produce_glyphs): When a font is not found, make the
8616 empty box occupy at least one column width.
8617
86182008-02-01 Miles Bader <miles@gnu.org>
8619
8620 * Makefile.in: Remove redundant HAVE_XFT clause.
8621
86222008-02-01 Kenichi Handa <handa@m17n.org>
8623
8624 * xrdb.c (x_load_resources): Setup the default fontSet X resource.
8625
86262008-02-01 Kenichi Handa <handa@m17n.org>
8627
8628 * fontset.c (Finternal_char_font): Fix for the case of POSITION
8629 being nil.
8630
86312008-02-01 Kenichi Handa <handa@m17n.org>
8632
8633 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
8634
86352008-02-01 Kenichi Handa <handa@m17n.org>
8636
8637 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
8638
86392008-02-01 Kenichi Handa <handa@m17n.org>
8640
8641 * search.c (simple_search): Fix previous change.
8642
86432008-02-01 Kenichi Handa <handa@m17n.org>
8644
8645 * xftfont.c (ftfont_font_format): Extern declaration.
8646
8647 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
8648
8649 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
8650 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
8651
8652 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
8653 (ftfont_font_format): Fix previous change.
8654
8655 * font.h (Ffont_xlfd_name): EXFUN it.
8656
8657 * font.c (font_parse_xlfd): Fix the array size of `f'.
8658 (register_font_driver): Use EQ to compare driver->type.
8659
8660 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
8661 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
8662 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
8663
86642008-02-01 Kenichi Handa <handa@m17n.org>
8665
8666 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
8667 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
8668
86692008-02-01 Kenichi Handa <handa@m17n.org>
8670
8671 * xfont.c (xfont_open): Set font->format.
8672
8673 * xftfont.c (xftfont_open): Set font->format.
8674
8675 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
8676 (ftfont_list): Include FC_FONTFORMAT in FcObject.
8677 (ftfont_open): Set font->format.
8678 (ftfont_font_format): New function.
8679
8680 * font.h (struct font): New member format.
8681
8682 * font.c (Qopentype): New variable.
8683 (syms_of_font): Defsym it.
8684 (Fquery_font): Change the format of the last element of the return
8685 value.
8686
86872008-02-01 Kenichi Handa <handa@m17n.org>
8688
8689 * xfns.c (xic_create_xfontset): Try the default fontset name as a
8690 last resort.
8691
86922008-02-01 Kenichi Handa <handa@m17n.org>
8693
8694 * coding.c (detect_coding_charset): Fix detection of multi-byte
8695 charset.
8696
86972008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
8698
8699 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
8700
87012008-02-01 Kenichi Handa <handa@m17n.org>
8702
8703 * xdisp.c (get_next_display_element): Set it->face_id for the
8704 first component of a composition.
8705 (x_produce_glyphs): Check if the font is changed or not for composition.
8706
87072008-02-01 Kenichi Handa <handa@m17n.org>
8708
8709 * fontset.c (Qlatin): New variable.
8710 (syms_of_fontset): Define it as a lisp symbol.
8711 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
8712
87132008-02-01 Kenichi Handa <handa@m17n.org>
8714
8715 * font.c (font_unparse_fcname): Pay attention to the case that
8716 some of font property is a null string.
8717
87182008-02-01 Kenichi Handa <handa@m17n.org>
8719
8720 * term.c: Include "composite.h".
8721 (encode_terminal_code): Output all components of composition.
8722 Check the size of encode_terminal_src.
8723 (produce_glyphs): For composition, call produce_composite_glyph.
8724 (append_composite_glyph, produce_composite_glyph): New functions.
8725
8726 * xdisp.c (x_produce_glyphs): In handling composition, if a font
8727 is not found, get font_info from the current ascii face.
8728
87292008-02-01 Kenichi Handa <handa@m17n.org>
8730
8731 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
8732 buffer-file-name to Qnil before calling insert_from_buffer.
8733
8734 * font.c (font_unparse_fcname): Pay attention to the case that
8735 foundry is a null string.
8736
87372008-02-01 Kenichi Handa <handa@m17n.org>
8738
8739 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
8740
8741 * font.c (Qunicode_sip): New variable.
8742 (syms_of_font): Declare it as a Lisp symbol.
8743
8744 * font.h (Qunicode_sip): Extern it.
8745
87462008-02-01 Kenichi Handa <handa@m17n.org>
8747
8748 * composite.c (get_composition_id): Pay attention to TAB component.
8749
8750 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
8751 TAB. Adjust for the change of s->char2b which always points to
8752 the first element of allocated memory.
8753
8754 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
8755
8756 * xdisp.c (handle_composition_prop): Set it->c to the first
8757 non-TAB component.
8758 (fill_composite_glyph_string): Change argument.
8759 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
8760 (x_produce_glyphs): Fix handling of left/right padding.
8761
87622008-02-01 Kenichi Handa <handa@m17n.org>
8763
8764 * coding.c (detect_coding_system): Fix for handling off
8765 inhibit_iso_escape_detection. Fix for the case that no coding
8766 system is defined for a specific coding category.
8767
87682008-02-01 Kenichi Handa <handa@m17n.org>
8769
8770 * font.c (font_matching_entity): Delete unused local var.
8771
8772 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
8773 opening a font.
8774
8775 * fileio.c (Finsert_file_contents): On recovering a file, assume
8776 Unix-like eol.
8777 (choose_write_coding_system): On auto-saving a file, force
8778 Unix-like eol.
8779
8780 * coding.c (setup_coding_system): Fix setting of
8781 coding->common_flags based on eol_type.
8782 (coding_inherit_eol_type): If PARENT is not nil, be sure to
8783 inherit from it.
8784
87852008-02-01 Kenichi Handa <handa@m17n.org>
8786
8787 * alloc.c (NSTATICS): Increas to 0x600.
8788
87892008-02-01 Kenichi Handa <handa@m17n.org>
8790
8791 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
8792 (ftfont_list): Don't check :name property.
8793 (ftfont_match): New function.
8794 (ftfont_pattern_entity): If the pattern doesn't contain
8795 FC_SPACING, don't assume FC_MONO.
8796
8797 * font.h (struct font_driver): New member `match'.
8798 (font_update_drivers): Adjust prototype.
8799
8800 * font.c (font_parse_fcname, font_parse_name): Don't change :name
8801 property of FONT.
8802 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
8803 them unconditionally.
8804 (font_matching_entity): New function.
8805 (font_open_by_name): Try font_matching_entity if exact match is
8806 not found.
8807 (font_update_drivers): Delete the arg FONT. Return a list of
8808 actually used backends. Don't free faces, font caches here.
8809 Don't store data in frame parameters. Don't call x_set_font.
8810 (Ffont_spec): Store :name property as is.
8811 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
8812 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
8813 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
8814 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
8815 Call font->driver->otf_gsub instead of font_otf_gsub.
8816
8817 * frame.c (x_set_font_backend): Do more works that were done in
8818 font_update_drivers before.
8819
8820 * xfont.c (xfont_match): New function.
8821 (xfont_driver): Set xfont_driver.match to xfont_match.
8822 (xfont_draw): Set font in GC if necessary.
8823
8824 * ftxfont.c (ftxfont_match): New function.
8825 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
8826
8827 * xftfont.c (xftfont_match): New function.
8828 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
8829
88302008-02-01 Kenichi Handa <handa@m17n.org>
8831
8832 * font.h (struct font): New member scalable.
8833 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
8834 (font_otf_gsub): Adjust prototype.
8835
8836 * font.c (font_otf_capability): Fix handling of the default langsys.
8837 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
8838 Check the contents of SPEC.
8839 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
8840 (check_gstring): New function.
8841 (REPLACEMENT_CHARACTER): New macro.
8842 (font_otf_gsub): New arg alternate_subst. Be sure to set all
8843 glyph codes of GSTRING.
8844 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
8845 (font_prepare_composition): Set cmp->glyph_len.
8846 (font_open_entity): Set font->scalable.
8847 (Ffont_get): Handle :otf property.
8848 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
8849 functions.
8850 (Fquery_font): Use font->font.full_name.
8851 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
8852 Sfont_otf_alternates.
8853
8854 * ftfont.c (ftfont_open): Set font->font.full_name and
8855 font->font.name properly. Fix calculation of font->font.height
8856 and font->min_width.
8857
8858 * ftxfont.c (ftxfont_create_gcs): New function.
8859 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
8860 (ftxfont_draw_backgrond): Fix filling region.
8861 (ftxfont_default_fid): New function.
8862 (ftxfont_open): Set xfont->fid to the return value of
8863 ftxfont_default_fid.
8864 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
8865 (ftxfont_done_face): Free only GCs that are created by
8866 ftxfont_create_gcs.
8867 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
8868
8869 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
8870 Clip to src->width, etc (not src->clip_XXX).
8871
8872 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
8873 FontBackend frame parameter.
8874
88752008-02-01 Kenichi Handa <handa@m17n.org>
8876
8877 * font.h (struct font_driver_list): New member `on'.
8878 (Fclear_font_cache): EXFUN it.
8879 (font_update_drivers): Extern it.
8880
8881 * font.c (font_unparse_fcname): Fix typo (swidth->width).
8882 (font_list_entities): Check driver_list->on.
8883 (register_font_driver): Initalize `on' member to 0.
8884 (font_update_drivers): New function.
8885 (Fclear_font_cache): Check driver_list->on.
8886
8887 * frame.h (Qfont_backend): Extern it.
8888 (x_set_font_backend): Extern it.
8889
8890 * frame.c (Qfont_backend): New variable.
8891 (frame_parms): New element for font-backend.
8892 (x_set_font_backend): New function.
8893
8894 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
8895 FontBackend frame parameter.
8896 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
8897 x_set_font_backend.
8898
8899 * xfont.c (xfont_list): Don't try listing by :name property if the
8900 name is not for XLFD.
8901
89022008-02-01 Kenichi Handa <handa@m17n.org>
8903
8904 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
8905 (LGLYPH_SET_TO): New macros.
8906 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
8907 element of G is vector or not.
8908 (font_at): Extern it.
8909
8910 * font.c: Include window.h.
8911 (font_lispy_object): New function.
8912 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
8913 end of valid glyph.
8914 (font_close_object): Fix getting (struct font *).
8915 (font_at): New function.
8916 (Ffont_get): If FONT is a font-object, get entity from it.
8917 (Ffont_make_gstring): Initialize elements of glyphs with nil.
8918 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
8919 range check.
8920 (Ffont_at): New function.
8921 (syms_of_font): Defsubr Sfont_at.
8922
8923 * xdisp.c (it_props): Move the entry for Qauto_composed to just
8924 before the entry for Qcomposition.
8925 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
8926 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
8927 the font in gstring.
8928 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
8929 LGLYPH_FORM (g) to detect the end of valid glyph.
8930 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
8931 we are composing with gstring.
8932
8933 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
8934 Check if adjustment is vector or not.
8935
8936 * Makefile.in (font.o): Make it depends on window.h.
8937
89382008-02-01 Kenichi Handa <handa@m17n.org>
8939
8940 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
8941 adjustment is vector or not.
8942
89432008-02-01 Miles Bader <miles@gnu.org>
8944
8945 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
8946
89472008-02-01 Kenichi Handa <handa@m17n.org>
8948
8949 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
8950 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
8951 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
8952
8953 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
8954 (DEVICE_DELTA): Fix typo.
8955 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
8956 LGLYPH format.
8957
8958 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
8959 the change of LGLYPH format.
8960
89612008-02-01 Kenichi Handa <handa@m17n.org>
8962
8963 * ftfont.c (ftfont_list): Fix typo.
8964 (ftfont_build_basic_charsets): Don't include letters with diacritics.
8965
89662008-02-01 Jan Djärv <jan.h.d@swipnet.se>
8967
8968 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
8969
8970 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
8971 xftface_info is non-NULL.
8972
89732008-02-01 Jan Djärv <jan.h.d@swipnet.se>
8974
8975 * ftfont.c (ftfont_list): Move misplaced #endif.
8976
89772008-02-01 Kenichi Handa <handa@m17n.org>
8978
8979 * ftfont.c (ftfont_list): Pay attention to the case that
8980 FC_CAPABILITY is not defined.
8981
89822008-02-01 Kenichi Handa <handa@m17n.org>
8983
8984 * xftfont.c (xftfont_open): Set charset related members to -1.
8985
8986 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
8987 QCname.
8988 (ftfont_open): Set charset related members to -1.
8989
8990 * fontset.c (Votf_script_alist): New variable.
8991 (syms_of_fontset): Initialize it.
8992 (fontset_font): Delete unused variable.
8993
8994 * fontset.h (Votf_script_alist): Extern it.
8995
8996 * font.c (font_find_for_lface): Optimize code.
8997
8998 * font.h (font_close_object, font_merge_old_spec): Extern them.
8999
90002008-02-01 Kenichi Handa <handa@m17n.org>
9001
9002 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
9003 (syms_of_font): Initialize them.
9004 (font_pixel_size): Allow float value in dpi.
9005 (font_prop_validate_type): Delete.
9006 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
9007 Change caller.
9008 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
9009 (font_prop_validate_extra): Delete.
9010 (font_prop_validate_spacing): New function.
9011 (font_property_table): Add elements for all known properties.
9012 (get_font_prop_index): Rename from check_font_prop_name. New
9013 argument FROM. Change caller.
9014 (font_prop_validate): Validate all known properties.
9015 (font_put_extra): Delete argument force. Change caller.
9016 (font_expand_wildcards): Make it static. Fix the way of shrinking
9017 the possible range.
9018 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
9019 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
9020 Change caller.
9021 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
9022 (font_parse_fcname): Delete argument merge. Fix parsing of point
9023 size. Don't validate properties values here. Change caller.
9024 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
9025 (font_open_by_name): Delete unused variable.
9026 (Ffont_spec): Likewise. Validate property values.
9027 (Ffont_match_p): New function.
9028
9029 * font.h (QCscalable): Extern it.
9030 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
9031
9032 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
9033
9034 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
9035 (xfont_list_pattern): New function.
9036 (xfont_list): Use xfont_list_pattern.
9037
90382008-02-01 Kenichi Handa <handa@m17n.org>
9039
9040 * font.h (Flist_fonts): EXFUN it.
9041
90422008-02-01 Jason Rumney <jasonr@gnu.org>
9043
9044 * w32term.c (w32_initialize): Add back smoothing_type and
9045 smoothing_enabled definitions.
9046
90472008-02-01 Kenichi Handa <handa@m17n.org>
9048
9049 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
9050 s->face->font on determining underline position.
9051
90522008-02-01 Kenichi Handa <handa@m17n.org>
9053
9054 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
9055 (font_has_char): Accept font-object too.
9056 (font_find_for_lface): Try at first with a size specified in face.
9057
90582008-02-01 Kenichi Handa <handa@m17n.org>
9059
9060 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
9061 font_open_by_name.
9062
90632008-02-01 Kenichi Handa <handa@m17n.org>
9064
9065 * font.h (QCspacing, QCdpi): Extern them.
9066 (enum font_spacing): New enum.
9067 (FONT_PIXEL_SIZE_QUANTUM): New macro.
9068
9069 * font.c (POINT_TO_PIXEL): Don't divide POINT by 10.
9070 (QCspacing, QCdpi): New variables.
9071 (syms_of_font): Initialize them.
9072 (font_pixel_size): New function.
9073 (font_put_extra): New function.
9074 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
9075 in FONT_EXTRA.
9076 (font_parse_fcname): Handle enumerated values (e.g. bold).
9077 Fix handling font size. Add QCname property that contains only
9078 unknown properties.
9079 (font_score): Change argument. Change caller. Pay attention to
9080 FONT_PIXEL_SIZE_QUANTUM.
9081 (font_sort_entites, font_list_entities, font_find_for_lface)
9082 (font_open_for_lface, font_open_by_name): Fix handling of font size.
9083 (Ffont_spec): Add QCname property that contains only unknown properties.
9084
9085 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
9086 include weight in listing pattern, instead check weight of each
9087 listed font. Don't include scalable in pattern. Pay attention to
9088 FONT_PIXEL_SIZE_QUANTUM.
9089
90902008-02-01 Kenichi Handa <handa@m17n.org>
9091
9092 * font.c (font_parse_fcname): Fix parsing of point-size.
9093 (font_unparse_fcname): Produce symbolic names for style properties.
9094 (font_list_entities): Handle float size correctly.
9095 (font_open_by_name): Prefer `normal' property values if the name
9096 doesn't specify them.
9097
9098 * fontset.c (Finternal_char_font): Use font_get_name, not
9099 Ffont_xlfd_name.
9100
9101 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
9102 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
9103 pattern. Don't force scalable.
9104
9105 * xftfont.c (xftfont_open): For generating a name, start from
9106 96-byte buffer.
9107
91082008-02-01 Jan Djärv <jan.h.d@swipnet.se>
9109
9110 * frame.h (x_new_fontset2): Fix prototype.
9111
91122008-02-01 Kenichi Handa <handa@m17n.org>
9113
9114 * font.h (struct font_driver): Delete member parse_name.
9115 (font_match_p, font_get_spec, font_parse_fcname)
9116 (font_unparse_fcname): Extern them.
9117 (font_get_name): Adjust prototype.
9118
9119 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
9120 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
9121 (font_expand_wildcards): Fix handling ENCODING field. Avoid
9122 unnecessary checks for weight, slant, and swidth.
9123 (font_parse_fcname): New function.
9124 (font_unparse_fcname): New function.
9125 (font_parse_name): New function.
9126 (font_match_p): New function.
9127 (font_get_name): Change return value to Lisp string.
9128 (font_get_spec): New function.
9129 (Qunspecified, Qignore_defface): Don't extern them.
9130 (font_find_for_lface): Assume that LFACE is fully specified.
9131 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
9132 object, use it for FACE.
9133 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
9134 driver->parse_name.
9135 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
9136
9137 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
9138 prototype.
9139
9140 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
9141 argument F. Don't call Fnew_fontset. Instead, directly call
9142 make_fontset.
9143
9144 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
9145
9146 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
9147 of x_new_fontset2.
9148
9149 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
9150 (Qsans__serif): New variables.
9151 (ftfont_generic_family_list): New variable.
9152 (syms_of_ftfont): Initialize the above variables.
9153 (ftfont_pattern_entity): Delete argument NAME.
9154 (ftfont_list_generic_family): New function.
9155 (ftfont_parse_name): Delete this function.
9156 (ftfont_list): Try generic family only when FcFontList found no font.
9157 (ftfont_list_family): Fix args to FcObjectSetBuild.
9158
9159 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
9160 object in attrs[LFACE_FONT_INDEX].
9161 (set_lface_from_font_name): Cancel all changes for font-backend.
9162 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
9163 function.
9164 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
9165 font object in QCfont attribute.
9166 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
9167 (realize_default_face) [USE_FONT_BACKEND]: Call
9168 set_lface_from_font_and_fontset.
9169
9170 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
9171 "fixed", and signal error here if no suitable font was found.
9172
9173 * xfont.c (xfont_parse_name): Delete this function.
9174
9175 * xftfont.c (xftfont_open): Change coding style of error
9176 handling. Generate fontconfig's fontname pattern.
9177
9178 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
9179 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
9180
9181 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
9182 Both args FONTSET and FONT_OBJECT must be existing ones.
9183
91842008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9185
9186 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
9187
91882008-02-01 Kenichi Handa <handa@m17n.org>
9189
9190 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
9191
9192 * font.h (struct font): Fix typo.
9193
9194 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
9195 XLFD_XXX_INDEX.
9196 (enum xlfd_field_mask): New enum.
9197 (intern_font_field): Changed argument. Change caller. If digits
9198 are followed by non-digits, return a symbol.
9199 (font_expand_wildcards): New function.
9200 (font_parse_xlfd): Fix wildcard handling.
9201 (Ffont_spec): If :name is specified, reflect the info in the other
9202 properties.
9203
9204 * ftfont.c (ftfont_pattern_entity): Fix typo.
9205 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
9206 locale.
9207
92082008-02-01 Kenichi Handa <handa@m17n.org>
9209
9210 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
9211
9212 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
9213 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
9214 registry doesn't specify encoding part.
9215 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
9216 (font_open_by_name): At first try parsing the name.
9217 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
9218 as Lisp symbols.
9219
9220 * fontset.c (reorder_font_vector): Pay attention to the case that
9221 the 3rd element of font_def is nil.
9222 (fontset_font): For the default fontset, append one more fontset
9223 elements for a script-based font specification. Don't add script
9224 attribute on finding a font.
9225 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
9226 font name.
9227 (fontset_ascii_font): If a font can't be opened, return nil.
9228
9229 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
9230 (ftfont_pattern_entity): New function.
9231 (ftfont_get_cache): Assume that freetype_font_cache is already
9232 initialized.
9233 (ftfont_list): Handle the case that a file is specified in font
9234 name. Use ftfont_pattern_entity to generate entities.
9235 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
9236 (syms_of_ftfont): Initialize freetype_font_cache.
9237
9238 * xftfont.c (xftfont_open): Make the font name fontconfig's
9239 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
9240 (xftfont_close): Free font->font.name if not NULL.
9241
9242 * xfont.c (xfont_list): If script is specified for a font, return
9243 null_vector.
9244 (xfont_list_family): Declare argument type.
9245
9246 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
9247 name, set LFACE_FONT (lface) to nil.
9248
9249 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
9250 return Qnil.
9251
92522008-02-01 Kenichi Handa <handa@m17n.org>
9253
9254 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
9255 (standard_args): Add "-enable-font-backend".
9256
92572008-02-01 Kenichi Handa <handa@m17n.org>
9258
9259 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
9260 (struct xftdraw_list, xftdraw_list): Delete them.
9261 (register_xftdraw, check_xftdraw): Delete them.
9262 (xftfont_prepare_face): Don't call register_xftdraw.
9263 (xftfont_done_face): Don't call check_xftdraw.
9264 (xftfont_draw): Get background color only when with_background is
9265 nonzero.
9266
9267 * xfont.c (xfont_encode_char): Fix calculation of char2b.
9268
92692008-02-01 Kenichi Handa <handa@m17n.org>
9270
9271 These changes are for the new font handling codes.
9272
9273 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
9274 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
9275 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
9276 (FONTSRC, FONTOBJ): New variables.
9277 (obj): Add $(FONTOBJ).
9278 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
9279 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
9280 @LIBOTF_LIBS@.
9281 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
9282 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
9283
9284 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
9285
9286 * character.h (Vscript_representative_chars): Extern it.
9287
9288 * character.c (Vscript_representative_chars): New variable.
9289 (syms_of_character): Declare it as a Lisp variable.
9290
9291 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
9292 enable_font_backend is nonzero, accept the composition method
9293 COMPOSITION_WITH_GLYPH_STRING.
9294
9295 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
9296 enumeration COMPOSITION_WITH_GLYPH_STRING.
9297
9298 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
9299 members clip_x, clip_y, clip_width, and clip_height.
9300 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
9301
9302 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
9303 --enable-font-backend. Call syms_of_font.
9304
9305 * fns.c (assoc_no_quit): New function.
9306
9307 * fontset.h (FONT_INFO_FROM_FACE): New macro.
9308 (face_for_font, new_fontset_from_font)
9309 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
9310
9311 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
9312 (fontset_font, fontset_ascii, face_for_char)
9313 (make_fontset_for_ascii_face, Ffont_info)
9314 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
9315 is nonzero, use font-backend mechanism.
9316 (find_font_encoding): Make it non-static.
9317 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
9318 New functions.
9319
9320 * frame.h (struct frame): New members resx and resy.
9321 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
9322 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
9323
9324 * frame.c [USE_FONT_BACKEND]: Include "font.h".
9325 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
9326
9327 * lisp.h (assoc_no_quit): Extern it.
9328
9329 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
9330 Through out the file, use FONT_INFO_FROM_FACE instead of
9331 FONT_INFO_FROM_ID, use get_per_char_metric instead of
9332 rif->per_char_metric.
9333 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
9334 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
9335 (get_glyph_face_and_encoding, fill_composite_glyph_string)
9336 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
9337 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
9338 nonzero, use font-backend mechanism.
9339 (get_per_char_metric): New function.
9340
9341 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
9342 (set_lface_from_font_name)
9343 (set_font_frame_param, free_realized_face)
9344 (prepare_face_for_display, clear_face_gcs)
9345 (Finternal_set_font_selection_order, realize_x_face)
9346 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
9347 font-backend mechanism.
9348 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
9349 (load_face_font) [USE_FONT_BACKEND]: Abort.
9350 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
9351 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
9352
9353 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
9354 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
9355 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
9356 nonzero, register all available font drivers. Call
9357 x_default_font_parameter for deciding a font.
9358 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
9359
9360 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
9361 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
9362 (x_set_glyph_string_clipping_exactly)
9363 (x_compute_glyph_string_overhangs)
9364 (x_draw_glyph_string_foreground)
9365 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
9366 (x_free_frame_resources) [USE_FONT_BACKEND]: If
9367 enable_font_backend is nonzero, use font-backend mechanism.
9368 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
9369
93702008-02-01 Kenichi Handa <handa@m17n.org>
9371
9372 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
9373 system_eol_type.
9374 (syms_of_coding): Initialize system_eol_type.
9375
9376 * process.c (Fset_process_coding_system): Inherit system's eol
9377 format if necessary.
9378
93792008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9380
9381 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
9382
93832008-02-01 Kenichi Handa <handa@m17n.org>
9384
9385 * coding.c (decode_eol): Pay attention to buffer relocation in
9386 del_range_2.
9387 (decode_coding): Call decode_eol before restoring undo_list.
9388
93892008-02-01 Kenichi Handa <handa@m17n.org>
9390
9391 * charset.c (Fdefine_charset_internal): Fix setting of
9392 emacs_mule_bytes.
9393
93942008-02-01 Kenichi Handa <handa@m17n.org>
9395
9396 * keyboard.c (read_char): Check if C is a character or not before
9397 looking up Vkeyboard_translate_table.
9398
93992008-02-01 Kenichi Handa <handa@m17n.org>
9400
9401 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
9402 condition to terminate the loop.
9403
94042008-02-01 Kenichi Handa <handa@m17n.org>
9405
9406 * coding.c (produce_composition): Compare charbuf[i] instead of
9407 args[i] against 0.
9408 (Fterminal_coding_system): Use EQ to compare Lisp objects.
9409
94102008-02-01 Kenichi Handa <handa@m17n.org>
9411
9412 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
9413 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
9414 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
9415 detect_coding.
9416 (emacs_mule_char): Handle old style (Emacs 20) component character
9417 of a composition.
9418 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
9419 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
9420 composition rule.
9421 (decode_coding_emacs_mule): Handle invalid bytes correctly.
9422
94232008-02-01 Kenichi Handa <handa@m17n.org>
9424
9425 * coding.c (encode_coding_ccl): Allocate destination dynamically
9426 when necessary.
9427
94282008-02-01 Kenichi Handa <handa@m17n.org>
9429
9430 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
9431 the loop. When quitted, show a proper error message.
9432
94332008-02-01 Kenichi Handa <handa@m17n.org>
9434
9435 * xterm.c (x_set_glyph_string_clipping_exactly): Set
9436 src->clip_head and src->clip_tail temporarily instead of src->hl.
9437
9438 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
9439 character sequence.
9440 (Fccl_execute_on_string): Use ASET, not XSET.
9441
94422008-02-01 Kenichi Handa <handa@m17n.org>
9443
9444 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
9445
94462008-02-01 Kenichi Handa <handa@m17n.org>
9447
9448 * coding.c (decode_coding): Fix the condition of terminating the
9449 decoding loop.
9450
94512008-02-01 Kenichi Handa <handa@m17n.org>
9452
9453 * data.c (Faset): On setting a character bigger than 255 in a
9454 unibyte string, signal an error instead of make the string multibyte.
9455
94562008-02-01 Kenichi Handa <handa@m17n.org>
9457
9458 * charset.c (map_charset_chars): Fix for ascii-compatible charset
9459 made by a mapping table.
9460
94612008-02-01 Kenichi Handa <handa@m17n.org>
9462
9463 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
9464 not.
9465 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
9466 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
9467
9468 * xterm.c (x_draw_composite_glyph_string_foreground): Check
9469 s->face is NULL or not.
9470
94712008-02-01 Kenichi Handa <handa@m17n.org>
9472
9473 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
9474 (x_draw_glyph_string): Fix drawing of right_overhang and
9475 left_overhang around/on cursor.
9476
9477 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
9478
94792008-02-01 Kenichi Handa <handa@m17n.org>
9480
9481 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
9482
94832008-02-01 Kenichi Handa <handa@m17n.org>
9484
9485 * coding.c (Fdefine_coding_system_internal)
9486 (Fdefine_coding_system_alias): Avoid a duplicated element in
9487 Vcoding_system_alist.
9488
94892008-02-01 Kenichi Handa <handa@m17n.org>
9490
9491 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
9492
9493 * coding.c (Qcoding_system_define_form): New variable.
9494 (syms_of_coding): Intern and staticpro it.
9495 (Fcoding_system_p): Check Qcoding_system_define_form.
9496 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
9497
9498 * coding.h (CODING_SYSTEM_P): If ID is not available, call
9499 Fcoding_system_p.
9500 (CHECK_CODING_SYSTEM): If ID is not available, call
9501 Fcheck_coding_system.
9502 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
9503 Try also Fcheck_coding_system.
9504
95052008-02-01 Kenichi Handa <handa@m17n.org>
9506
9507 * coding.c (code_conversion_restore): GCPRO arg.
9508
95092008-02-01 Kenichi Handa <handa@m17n.org>
9510
9511 * character.c (lisp_string_width): Check multibyteness of STRING.
9512
95132008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9514
9515 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
9516 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
9517 (decode_mac_font_name): Use decode_coding_c_string instead of
9518 decode_coding.
9519 (x_load_font): Initialize fontp->fontset to -1. Set
9520 fontp->encoding_type.
9521
95222008-02-01 Kenichi Handa <handa@m17n.org>
9523
9524 * search.c (search_buffer): Give up BM search on case-fold-search
9525 if one of a target character has a case-equivalence of different
9526 byte length even if that target charcter is an ASCII.
9527 (simple_search): Fix calculation of byte length of matched text.
9528 (boyer_moore): Fix handling of case-equivalent multibyte characters.
9529
95302008-02-01 Kenichi Handa <handa@m17n.org>
9531
9532 * coding.c (decode_coding): Fix handling of invalid bytes.
9533
95342008-02-01 Kenichi Handa <handa@m17n.org>
9535
9536 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
9537 Unicode characters.
9538
95392008-02-01 Kenichi Handa <handa@m17n.org>
9540
9541 * coding.c (encode_coding_object): If a pre-write-conversion
9542 function makes a new buffer, kill it.
9543
95442008-02-01 Kenichi Handa <handa@m17n.org>
9545
9546 * coding.c (QCascii_compatible_p): New variable.
9547 (syms_of_coding): Initialize it.
9548 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
9549 calling string_char.
9550 (record_conversion_result): Add `default:' case.
9551 (coding_charset_list): Delete unused variable `coding_type'.
9552 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
9553 property in the plist of the coding system.
9554 (Fcoding_system_put): Check QCascii_compatible_p.
9555
95562008-02-01 Miles Bader <miles@gnu.org>
9557
9558 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
9559 removed calculation of frame `f', as it's now used.
9560
95612008-02-01 Kenichi Handa <handa@m17n.org>
9562
9563 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
9564 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
9565 (UNIDATA): New variable.
9566 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
9567 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
9568 $(RUN_TEMACS) unconditionally.
9569
95702008-02-01 Kenichi Handa <handa@m17n.org>
9571
9572 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
9573 (admindir): New variable.
9574 ($(lispsource)international/charprop.el): New target.
9575
95762008-02-01 Miles Bader <miles@gnu.org>
9577
9578 * character.c (chars-in-region): Remove obsolete function.
9579 (syms_of_character): Remove its initialization.
9580
95812008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
9582
9583 * w32select.c (validate_coding_system)
9584 (setup_windows_coding_system): New functions.
9585 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
9586 setup_windows_coding_system.
9587 (setup_config, Fw32_get_clipboard_data): Use
9588 validate_coding_system.
9589 (Fx_selection_exists): Move call to setup_config to a place
9590 where signals are allowed.
9591
9592 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
9593 (Fcheck_coding_system): Add declarations.
9594
95952008-02-01 Kenichi Handa <handa@m17n.org>
9596
9597 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
9598
95992008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9600
9601 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
9602 string as the second argument for x_new_fontset.
9603
96042008-02-01 Kenichi Handa <handa@m17n.org>
9605
9606 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
9607 (encode_coding_object): Use safe_call instead of call2.
9608
96092008-02-01 Kenichi Handa <handa@m17n.org>
9610
9611 * fontset.c (Fset_fontset_font): Check family element of a given vector.
9612
9613 * Makefile.in (lisp): Include charprop.el.
9614
96152008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9616
9617 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
9618 Not sure if it's unnecessary.
9619
96202008-02-01 Steven Tamm <steventamm@mac.com>
9621
9622 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
9623 some possibly unnecessary fontset checking code that crashed
9624 when creating a new frame.
9625
96262008-02-01 Kenichi Handa <handa@m17n.org>
9627
9628 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
9629 lookup_face.
9630
9631 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
9632
9633 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
9634
96352008-02-01 Kenichi Handa <handa@m17n.org>
9636
9637 * coding.c: Cancel the change done in HEAD on 2008-02-01.
9638 (coding_charset_list): New function.
9639
9640 * coding.h (coding_charset_list): Extern it.
9641
96422008-02-01 Kenichi Handa <handa@m17n.org>
9643
9644 * fontset.c (Fset_fontset_font): Call find_font_encoding with
9645 concatenation of family and registry.
9646
96472008-02-01 Kenichi Handa <handa@m17n.org>
9648
9649 * character.h (BYTE8_STRING): Fix typo.
9650
9651 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
9652 string to multibyte (sync to HEAD).
9653
9654 * casefiddle.c (casify_region): Handle changes in byte-length
9655 using replace_range_2 (sync to HEAD).
9656
96572008-02-01 Andreas Schwab <schwab@suse.de>
9658
9659 * chartab.c (map_char_table): GCPRO table and arg.
9660
96612008-02-01 Kenichi Handa <handa@m17n.org>
9662
9663 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
9664 already at limit.
9665
96662008-02-01 Kenichi Handa <handa@m17n.org>
9667
9668 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
9669 instead of fast_c_string_match_ignore_case.
9670 (find_font_encoding): Change argument to Lisp_Object. Use
9671 fast_string_match_ignore_case instead of
9672 fast_c_string_match_ignore_case. Change caller.
9673
96742008-02-01 Kenichi Handa <handa@m17n.org>
9675
9676 * xdisp.c (get_next_display_element): In unibyte case, decide to
9677 display in octal form by checking a character by
9678 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
9679
9680 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
9681
9682 * character.c (unibyte_has_multibyte_table): New variable.
9683
9684 * character.h (unibyte_has_multibyte_table): Extern it.
9685 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
9686
96872008-02-01 Kenichi Handa <handa@m17n.org>
9688
9689 * coding.c (encode_coding_iso_2022): Fix handling of charset
9690 annotation.
9691
96922008-02-01 Kenichi Handa <handa@m17n.org>
9693
9694 * coding.c (setup_coding_system): If coding_system is nil, use
9695 Qundecided.
9696 (Fterminal_coding_system): Return nil if terminal coding system is
9697 `undecided'.
9698 (syms_of_coding): Define coding-system `undecided' here. Setup
9699 terminal_coding as `undecided'.
9700
97012008-02-01 Kenichi Handa <handa@m17n.org>
9702
9703 * xdisp.c (message_dolog, set_message_1): Call
9704 unibyte_char_to_multibyte with arg type int.
9705
9706 * lread.c (read1): Fix reading of a char-table.
9707
9708 * print.c (print_object): Include sub char-table in circularities
9709 detection.
9710
97112008-02-01 Kenichi Handa <handa@m17n.org>
9712
9713 * keymap.c (where_is_internal_2): Fix for the case that KEY is a cons.
9714 Append the found sequences in car of ARGS instead of prepending.
9715
97162008-02-01 Kenichi Handa <handa@m17n.org>
9717
9718 * fileio.c (report_file_error): Make a unibyte string from
9719 strerror (errorno).
9720 (Fsubstitute_in_file_name): Fix the arg to
9721 unibyte_char_to_multibyte. It is evaluated twice.
9722
97232008-02-01 Kenichi Handa <handa@m17n.org>
9724
9725 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
9726
97272008-02-01 Kenichi Handa <handa@m17n.org>
9728
9729 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
9730 BOM is not found.
9731 (detect_coding, detect_coding_system): Optimization for ISO-2022
9732 when no 8-bit data is found.
9733
97342008-02-01 Jason Rumney <jasonr@gnu.org>
9735
9736 * w32fns.c (x_to_w32_font): Update to use new coding struct.
9737
97382008-02-01 Kenichi Handa <handa@m17n.org>
9739
9740 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
9741 CHARS.
9742
97432008-02-01 Steven Tamm <steventamm@mac.com>
9744
9745 * macterm.c (mac_encode_char): Add charset argument and update
9746 to use encoding_type.
9747 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
9748 switch to pure fontset.
9749 (decode_mac_font_name): Temporarily remove decoding.
9750 (x_font_name_to_mac_font_name): Temporarily remove encoding.
9751 (x_load_font): Temporarily remove encoding.
9752
97532008-02-01 Kenichi Handa <handa@m17n.org>
9754
9755 * xfaces.c (Fface_font): If frame is not on a window system,
9756 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
9757 refer to face->font.
9758 (split_font_name_into_vector, build_font_name_from_vector)
9759 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
9760 when HAVE_WINDOW_SYSTEM is defined.
9761
97622008-02-01 Kenichi Handa <handa@m17n.org>
9763
9764 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
9765 (x_produce_glyphs): Fix setting of members of cmp in case
9766 cmp->glyph_len is zero.
9767
9768 * fontset.c (Fset_fontset_font): Fix docstring.
9769 (Ffontset_info): Make it backward compatible. New arg ALL.
9770
97712008-02-01 Kim F. Storm <storm@cua.dk>
9772
9773 * process.c (read_process_output): Grow decoding_buf when needed;
9774 this could cause a crash in allocate_string and compact_small_strings.
9775
97762008-02-01 Kenichi Handa <handa@m17n.org>
9777
9778 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
9779
97802008-02-01 Kenichi Handa <handa@m17n.org>
9781
9782 * coding.c (setup_coding_system): Set coding->common_flags
9783 correctly for raw-text.
9784 (consume_chars): On encoding unibyte text by raw-text, don't check
9785 multibyte form.
9786 (encode_coding): On encoding by raw-text, never use translation tables.
9787
9788 * fileio.c (e_write): Short cut for the case of no encoding.
9789
97902008-02-01 Kenichi Handa <handa@m17n.org>
9791
9792 * coding.c (detect_coding, detect_coding_system): Delete unused
9793 variables.
9794
97952008-02-01 Kenichi Handa <handa@m17n.org>
9796
9797 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
9798 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
9799
98002008-02-01 Kenichi Handa <handa@m17n.org>
9801
9802 * coding.c (Ffind_coding_systems_region_internal): Include
9803 raw-text and no-conversion in the result.
9804
98052008-02-01 Kenichi Handa <handa@m17n.org>
9806
9807 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
9808 (load_font_get_repertory): Delete unnecessary check of ENCODING of
9809 FONT_DEF.
9810 (font_def_arg, add_arg, from_arg, to_arg): New args.
9811 (set_fontset_font): Change argument.
9812 (Fset_fontset_font): Fix for the case that TARGET is a script
9813 name and charset name.
9814 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
9815
98162008-02-01 Kenichi Handa <handa@m17n.org>
9817
9818 * fontset.c (fontset_font): Rename from fontset_face. Change return
9819 value.
9820 (face_suitable_for_char_p, face_for_char): Adjust for the change
9821 of fontset_font.
9822 (make_fontset_for_ascii_face): Fix setting of the fontset element
9823 for ASCII.
9824 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
9825 to get a font name.
9826 (Ffontset_info): Adjust for the change of fontset_font.
9827
9828 * coding.c (emacs_mule_char): Check invalid code more rigidly.
9829
9830 * character.h (LEADING_CODE_LATIN_1_MIN)
9831 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
9832
98332008-02-01 Kenichi Handa <handa@m17n.org>
9834
9835 * editfns.c (check_translation): New function.
9836 (Ftranslate_region_internal): Handle M:N mapping.
9837
98382008-02-01 Kenichi Handa <handa@m17n.org>
9839
9840 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
9841
98422008-02-01 Kenichi Handa <handa@m17n.org>
9843
9844 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
9845 goto invalid_code.
9846 (decode_coding_iso_2022): Fix handling of invalid designation.
9847
9848 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
9849 after calling code_conversion_save.
9850
98512008-02-01 Kenichi Handa <handa@m17n.org>
9852
9853 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
9854
9855 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
9856
9857 * fontset.c: Include "intervals.h".
9858 (fontset_face): Fix comparing of Lisp_Objects.
9859 (free_face_fontset, new_fontset_from_font_name): Fix
9860 Lisp_Object/int mixup.
9861
9862 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
9863
9864 * coding.c: Add many prototypes for static functions.
9865 (get_translation_table): Allow max_lookup to be NULL.
9866 (decode_coding, Ffind_coding_systems_region_internal)
9867 (Funencodable_char_position, Fcheck_coding_systems_region): Call
9868 get_translation_table with max_lookup NULL.
9869
98702008-02-01 Kenichi Handa <handa@m17n.org>
9871
9872 * coding.c (get_translation_table): Declare it as Lisp_Object.
9873 (LOOKUP_TRANSLATION_TABLE): New macro.
9874 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
9875 instead of CHAR_TABLE_REF.
9876
98772008-02-01 Kenichi Handa <handa@m17n.org>
9878
9879 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
9880 annotation data format.
9881 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
9882 Change arguments FROM and TO to single argument NCHARS. Change caller.
9883 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
9884 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
9885 (decode_coding_ccl, decode_coding_charset): Pay attention to
9886 coding->charbuf_used.
9887 (get_translation): New function.
9888 (produce_chars): New arguments translation_table and last_block.
9889 Translate characters here. Return number of carryover chars.
9890 Change caller.
9891 (produce_composition): New argument pos. Change caller.
9892 Adjust for the change of annotation data format.
9893 (produce_charset, produce_annotation): Likewise.
9894 (decode_coding, encode_coding): Don't call translate_chars.
9895 (consume_chars): New arg translation_table. Change caller.
9896 (translate_chars): Delete.
9897 (syms_of_coding): Make translation-table's number of extra slots 2.
9898
98992008-02-01 Kenichi Handa <handa@m17n.org>
9900
9901 * search.c (simple_search): Fix setting this_pos_byte in backward
9902 search.
9903
9904 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
9905 byte sequence.
9906 (detect_coding_ccl): Fix setting of the variable valids.
9907
99082008-02-01 Kenichi Handa <handa@m17n.org>
9909
9910 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
9911
9912 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
9913
9914 * editfns.c (Ftranslate_region_internal): Rename from
9915 Ftranslate_region. Accept a char-table in TABLE.
9916 (syms_of_editfns): Defsubr Stranslate_region_internal.
9917
9918 * xfaces.c (set_lface_from_font_name): If a font is specified for
9919 a frame, generate a fontset from the font.
9920 (build_scalable_font_name): If the scalable font is requested for
9921 a specific size, don't change that size.
9922 (try_font_list): Try a scalable font also in the case that a
9923 pattern string is specified.
9924
99252008-02-01 Kenichi Handa <handa@m17n.org>
9926
9927 * xfaces.c (Fface_font): New optional arg CHARACTER.
9928
99292008-02-01 Kenichi Handa <handa@m17n.org>
9930
9931 * charset.h (CHARSET_OFFSET): New macro.
9932
99332008-02-01 Kenichi Handa <handa@m17n.org>
9934
9935 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
9936
9937 * fontset.c (fontset_face): Handle the case that repertory is a
9938 char-table.
9939 (find_font_encoding): Return nil for unknown encoding.
9940 (Fset_fontset_font): Ignore a font of unknown encoding.
9941
99422008-02-01 Kenichi Handa <handa@m17n.org>
9943
9944 * keymap.c (describe_vector): Handle default value of a char table.
9945
9946 * fontset.c (fontset_face): Handle fallback fonts correctly.
9947 (Ffontset_info): Return infomation about fallback fonts.
9948
99492008-02-01 Kenichi Handa <handa@m17n.org>
9950
9951 * fontset.c (FONTSET_DEFAULT): New macro.
9952 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
9953 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
9954 the case that it is nil.
9955 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
9956 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
9957
9958 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
9959 subset or superset.
9960
99612008-02-01 Kenichi Handa <handa@m17n.org>
9962
9963 * emacs.c (main): Call init_charset after syms_of_XXX.
9964
9965 * charset.c (Vcharset_map_directory): Delete.
9966 (Vcharset_map_path): New variable.
9967 (load_charset_map_from_file): Use Vcharset_map_path instead.
9968 (init_charset): Initialize Vcharset_map_path.
9969 (syms_of_charset): Delete declaration of "charset-map-directory",
9970 add declaration of "charset-map-path".
9971
99722008-02-01 Kenichi Handa <handa@m17n.org>
9973
9974 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
9975 ASCII only string.
9976
9977 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
9978
9979 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
9980 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
9981
99822008-02-01 Kenichi Handa <handa@m17n.org>
9983
9984 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
9985
9986 * coding.c (QCmnemonic, QCdefalut_char)
9987 (QCdecode_translation_table, QCencode_translation_table)
9988 (QCpost_read_conversion, QCpre_write_conversion): New variables.
9989 (get_translation_table): Return a list of translation tables if
9990 necessary.
9991 (decode_coding): Call get_translation_table with ENCODEP 0.
9992 (char_encodable_p): If translation_table is non-nil, always call
9993 translate_char.
9994 (Fdefine_coding_system_internal): Accept list of translation
9995 tables as :encode-translation-table and :decode-translation-table.
9996 (Fcoding_system_put): New function.
9997 (syms_of_coding): Declare new symbols. Defsubr
9998 Scoding_system_put.
9999 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
10000 typically JISX0212.
10001
10002 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
10003 when the charset is superset type.
10004
10005 * character.c (translate_char): Accept list of translation tables.
10006
100072008-02-01 Kenichi Handa <handa@m17n.org>
10008
10009 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
10010 (CODING_ATTR_TRANS_TBL): New macro.
10011
10012 * coding.c (get_translation_table): New function.
10013 (translate_chars): Fix the bug of skipping annotation data.
10014 (decode_coding, encode_coding): Utilize get_translation_table.
10015 (char_encodable_p, Funencodable_char_position): Translate char if
10016 necessary.
10017 (Ffind_coding_systems_region_internal)
10018 (Fcheck_coding_systems_region): Setup translation table for encode
10019 in a coding system attribute vector in advance.
10020 (Fdefine_coding_system_internal): Allow a symbol as translation
10021 table. For shift-jis type coding system, allow 4th charset.
10022
100232008-02-01 Kenichi Handa <handa@m17n.org>
10024
10025 * coding.c (decode_coding_sjis): Check the first byte rigidly.
10026
10027 * xdisp.c (get_next_display_element): Pass -1 as POS to
10028 FACE_FOR_CHAR if displaying a C-string.
10029
100302008-02-01 Kenichi Handa <handa@m17n.org>
10031
10032 * composite.c (get_composition_id): Handle xoff and yoff in a
10033 composition rule.
10034
10035 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
10036 (struct composition): New member lbearing and rbearing.
10037
10038 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
10039 (x_get_glyph_overhangs): Handle a composition glyph.
10040 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
10041
10042 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
10043 composition glyph.
10044
100452008-02-01 Kenichi Handa <handa@m17n.org>
10046
10047 * print.c: Include charset.h.
10048 (Vprint_charset_text_property): New variable.
10049 (Qdefault): Extern it.
10050 (PRINT_STRING_NON_CHARSET_FOUND)
10051 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
10052 (print_check_string_result): New variable.
10053 (print_check_string_charset_prop): New function.
10054 (print_prune_charset_plist): New variable.
10055 (print_prune_string_charset): New function.
10056 (print_object): Call print_prune_string_charset if
10057 Vprint_charset_text_property is not t.
10058 (print_interval): Print nothing if interval->plist is nil.
10059 (syms_of_print): Declare Vprint_charset_text_property as a lisp
10060 variable. Init and staticpro print_prune_charset_plist.
10061
100622008-02-01 Kenichi Handa <handa@m17n.org>
10063
10064 * fontset.c (new_fontset_from_font_name): Use the specified font
10065 for all characters in the new fontset.
10066
10067 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
10068 OBJECT args.
10069
10070 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
10071 OBJECT args for composition too.
10072
10073 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
10074 OBJECT args.
10075
100762008-02-01 Kenichi Handa <handa@m17n.org>
10077
10078 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
10079
10080 * fontset.c (reorder_font_vector): Adjust for the change of
10081 FONT_DEF format.
10082 (fontset_face): New arg id. Change caller.
10083 (face_for_char): New args pos and object.
10084 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
10085 (fs_query_fontset): Check NAME by Fassoc too.
10086 (Fset_fontset_font): Allow non-XLFD font name.
10087 (Ffontset_info): Adjust for the change of FONT_DEF format.
10088
10089 * fontset.h (face_for_char): Adjust prototype.
10090
10091 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
10092 (append_space, extend_face_to_end_of_line)
10093 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
10094 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
10095
10096 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
10097 POS and OBJECT args.
10098
10099 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
10100 POS and OBJECT args.
10101
101022008-02-01 Jason Rumney <jasonr@gnu.org>
10103
10104 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
10105 of GlobalAlloc'ed memory.
10106
101072008-02-01 Kenichi Handa <handa@m17n.org>
10108
10109 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
10110
10111 * charset.h (charset_table_used): Delete extern.
10112
10113 * charset.c (charset_table_used): Make it static.
10114 (map_charset_chars): Fix args to c_function with.
10115
10116 * chartab.c (map_sub_char_table_for_charset): Fix args to
10117 c_function with.
10118
10119 * coding.h (enum coding_result_code): Delete
10120 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
10121
10122 * coding.c (Qinsufficient_source, Qinconsistent_eol)
10123 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
10124 (Vlast_code_conversion_error): New variables.
10125 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
10126 (ONE_MORE_BYTE): Record error if any instead of signaling an
10127 error. If non-ASCII multibyte char is found, return the negative
10128 value of the code. All callers changed to check it.
10129 (ONE_MORE_BYTE_NO_CHECK): Likewise.
10130 (record_conversion_result): New function. Change all codes setting
10131 coding->result to call this function.
10132 (detect_coding_utf_8, decode_coding_utf_8)
10133 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
10134 Don't use the local variable incomplete.
10135 (emacs_mule_char): Change the second arg to `const'.
10136 (decode_coding): Fix of flushing out unprocessed data.
10137 (make_conversion_work_buffer): Fix making of a work buffer.
10138 (decode_coding_object): Return coding->dst_object.
10139
10140 * fontset.c (set_fontset_font): Fix args.
10141
10142 * lisp.h (CHARACTERBITS): Define as 22.
10143
10144 * process.c (send_process): Be sure to set coding->src_multibyte.
10145
10146 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
10147
101482008-02-01 Kenichi Handa <handa@m17n.org>
10149
10150 * xdisp.c (handle_auto_composed_prop): Give limit to
10151 Fnext_single_char_property_change.
10152
101532008-02-01 Kenichi Handa <handa@m17n.org>
10154
10155 * composite.c (syms_of_composite): Don't make the composition hash
10156 table weak.
10157
10158 * fontset.c (Fset_fontset_font): Fix docstring.
10159
10160 * lisp.h (detect_coding_system): Adjust prototype.
10161
10162 * fileio.c (kill_workbuf_unwind): Delete this function.
10163 (Finsert_file_contents): Adjust the call of detect_coding_system.
10164 Get conversion_buffer by code_conversion_save. Use the macro
10165 CODING_MAY_REQUIRE_DECODING. After decoding, update
10166 coding_system.
10167
10168 * coding.h (make_conversion_work_buffer): Delete extern.
10169 (code_conversion_save): Extern it.
10170
10171 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
10172 (CODING_GET_INFO): Delete argument eol_type. Change callers.
10173 (decode_coding_utf_8): Don't do eol converion.
10174 (detect_coding_utf_16): Check coding->src_chars, not
10175 coding->src_bytes. Add heuristics for those that have no signature.
10176 (decode_coding_emacs_mule, decode_coding_iso_2022)
10177 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
10178 Don't do eol converion.
10179 (adjust_coding_eol_type): Return a new coding system.
10180 (detect_coding): Don't detect eol. Fix for utf-16 detection.
10181 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
10182 each change.
10183 (decode_coding): Pay attention to undo_list. Do eol conversion for
10184 all types of coding-systems (if necessary).
10185 (Vcode_conversion_work_buf_list): Delete it.
10186 (Vcode_conversion_reused_workbuf): Rename from
10187 Vcode_conversion_reused_work_buf.
10188 (Vcode_conversion_workbuf_name): New variable.
10189 (reused_workbuf_in_use): New variable.
10190 (make_conversion_work_buffer): Delete the arg DEPTH.
10191 (code_conversion_restore): Change argument to cons.
10192 (code_conversion_save): Delete the argument BUFFER. Change callers.
10193 (detect_coding_system): New argument src_chars. Change callers.
10194 Fix for utf-16 detection.
10195 (init_coding_once): Don't use ISO_carriage_return.
10196 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
10197 reused_workbuf_in_use.
10198
101992008-02-01 Kenichi Handa <handa@m17n.org>
10200
10201 * keymap.c (store_in_keymap): Pay attention to the case that idx
10202 is a cons specifying a character range.
10203
102042008-02-01 Kenichi Handa <handa@m17n.org>
10205
10206 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
10207 HANDLED_RECOMPUTE_PROPS.
10208
10209 * coding.c (Fdefine_coding_system_internal): Fix checking of
10210 ascii compatibility.
10211
102122008-02-01 Kenichi Handa <handa@m17n.org>
10213
10214 * charset.c (find_charsets_in_text): Delete unused locale variable.
10215 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
10216
10217 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
10218 Resync charset_list to Vemacs_mule_charset_list.
10219
10220 * keymap.c (store_in_keymap): Pay attention to the case that idx
10221 is a cons specifying a character range.
10222
102232008-02-01 Kenichi Handa <handa@m17n.org>
10224
10225 * composite.c (update_compositions): Bind inhibit-read-only, etc
10226 to t before calling remove-list-of-text-properties.
10227
10228 * print.c (print_object): Always print ASCII chars as is.
10229
102302008-02-01 Kenichi Handa <handa@m17n.org>
10231
10232 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
10233
10234 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
10235 is a char table.
10236
102372008-02-01 Kenichi Handa <handa@m17n.org>
10238
10239 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
10240
102412008-02-01 Kenichi Handa <handa@m17n.org>
10242
10243 * xfaces.c (set_lface_from_font_name): Fix for the case that
10244 FONTNAME is not fontset name.
10245
102462008-02-01 Kenichi Handa <handa@m17n.org>
10247
10248 * fns.c (base64_encode_1): Fix previous change.
10249
102502008-02-01 Kenichi Handa <handa@m17n.org>
10251
10252 * fontset.c (set_fontset_font): New function.
10253 (Fset_fontset_font): If a font is specified for a charset, use
10254 map_charset_chars to store the font spec in a fontset.
10255
102562008-02-01 Kenichi Handa <handa@m17n.org>
10257
10258 * fontset.c (fontset_face): Create a fallback fontset on demand.
10259 (make_fontset): Don't create a fallback fontset here.
10260 (free_face_fontset): Free a fallback fontset (if any) too.
10261 (n_auto_fontsets): Delete this variable.
10262 (auto_fontset_alist): New variable.
10263 (new_fontset_from_font_name): Check auto_fontset_alist.
10264 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
10265 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
10266 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
10267 Defsubr Sfontset_list_all.
10268
102692008-02-01 Kenichi Handa <handa@m17n.org>
10270
10271 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
10272
102732008-02-01 Kenichi Handa <handa@m17n.org>
10274
10275 * fontset.c (Fnew_fontset): Check NAME more rigidly.
10276
102772008-02-01 Kenichi Handa <handa@m17n.org>
10278
10279 * editfns.c (Fgoto_char): Fix docstring.
10280
102812008-02-01 Kenichi Handa <handa@m17n.org>
10282
10283 * insdel.c (insert_from_gap): Adjust intervals correctly.
10284
102852008-02-01 Jason Rumney <jasonr@gnu.org>
10286
10287 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
10288 (pfnGetFontUnicodeRanges): New dynamically loaded function.
10289 (w32_initialize): Try to load it.
10290 (x_get_font_repertory): Use it if available.
10291 (w32_encode_char): Add shortcut for unicode output.
10292
10293 * w32fns.c (w32_load_system_font): Default charset to -1.
10294 (x_to_w32_charset): Match all fonts for unicode.
10295 (w32_to_x_charset): New parameter matching. Don't return partial
10296 or wildcard charsets.
10297 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
10298 (w32_codepage_for_font): Return CP_UNICODE for unicode.
10299 (w32_to_x_font): Match charset to real charset.
10300 (enum_font_cb2): Always list unicode versions.
10301
10302 * makefile.w32-in (temacs): Increase EMHEAP.
10303
103042008-02-01 Jason Rumney <jasonr@gnu.org>
10305
10306 * w32term.c (w32_encode_char): New charset parameter.
10307 font_info.encoding becomes encoding_type.
10308 (x_get_font_repertory): New function. Warning: stub only!
10309 (x_new_font): Return quickly if font already set.
10310 (x_new_fontset): fontsetname parameter is Lisp_Object.
10311 Use new fs_query_fontset. Try new_fontset_from_font_name.
10312 Use fontset_name for return value.
10313
10314 * w32term.h: Declare x_get_font_repertory.
10315
10316 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
10317 place of find_charset_in_text. Use encode_coding_object in place
10318 of encode_coding.
10319 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
10320 decode_coding.
10321
10322 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
10323 of x_new_fontset.
10324 (w32_load_system_font): Initialize charset as unicode.
10325 font_info.encoding becomes encoding_type.
10326 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
10327 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
10328 (syms_of_w32fns): Set get_font_repertory_func.
10329
10330 * w32console.c: Include character.h. Use terminal_encode_buffer
10331 from term.c.
10332 (write_glyphs): Use new version of encode_terminal_code. Use
10333 encode_coding_object in place of encode_coding.
10334
10335 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
10336 encoding becomes encoding_type.
10337
10338 * term.c (terminal_encode_buffer): Make externally visible.
10339
10340 * makefile.w32-in: Add character.h dependancies.
10341 (character.o, chartab.o): New targets.
10342
103432008-02-01 Kenichi Handa <handa@m17n.org>
10344
10345 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
10346 CODING_ID_EOL_TYPE.
10347
103482008-02-01 Andreas Schwab <schwab@suse.de>
10349
10350 * coding.c (produce_chars): Revert last change.
10351
103522008-02-01 Kenichi Handa <handa@m17n.org>
10353
10354 * charset.h (charset_unicode): Extern it.
10355
10356 * charset.c (string_xstring_p): Check by (C >= 0x100).
10357 (find_charsets_in_text): Change format of the arc CHARSETS. New
10358 arg MULTIBYTE.
10359 (Ffind_charset_region, Ffind_charset_string): Adjust for the
10360 change of find_charsets_in_text.
10361 (Fsplit_char): Fix doc. Never return unknown.
10362
10363 * chartab.c (char_table_translate): Use CHARACTERP, not INTEGERP.
10364
10365 * coding.c (Fdefine_coding_system_alias): Update
10366 Vcoding_system_list.
10367
10368 * fontset.c (load_font_get_repertory): Pay attention to the case
10369 that ENCODING of a font is specified by a char-table.
10370
10371 * xterm.c (x_get_font_repertory): Handle the case that the
10372 encoding of font is other than Unicode.
10373
103742008-02-01 Kenichi Handa <handa@m17n.org>
10375
10376 * term.c (encode_terminal_code): Don't handle glyph-table. Check
10377 if a character is encodable by the terminal coding system. If
10378 not, produces proper number of `?'s. Update
10379 terminal_encode_buffer and terminal_encode_buf_size if necessary.
10380 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
10381
103822008-02-01 Kenichi Handa <handa@m17n.org>
10383
10384 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
10385 variables.
10386 (encode_terminal_code): Change argument. Encode multiple
10387 characters at once. Store the result of encoding in
10388 terminal_encode_buffer.
10389 (write_glyphs, insert_glyphs): Adjust for the change of
10390 encode_terminal_code.
10391 (term_init): Initialize terminal_encode_buffer and
10392 terminal_encode_buf_size.
10393
10394 * coding.c (consume_chars): If coding->src_object is nil, don't
10395 check annotation.
10396
103972008-02-01 Kenichi Handa <handa@m17n.org>
10398
10399 * character.c (char_string): Use ASCII_CHAR_P instead of
10400 SINGLE_BYTE_CHAR_P.
10401
104022008-02-01 Kenichi Handa <handa@m17n.org>
10403
10404 * xdisp.c (handle_auto_composed_prop): Check if the last
10405 characters of auto-composed region is newly composed with the
10406 following characters.
10407 (handle_composition_prop): Fix checking of point being inside
10408 composition.
10409
104102008-02-01 Kenichi Handa <handa@m17n.org>
10411
10412 * fns.c (concat): Don't change multibyteness of the result by
10413 concatenating an 8-bit character.
10414
10415 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
10416 multibyteness of the result when newelt is an 8-bit character.
10417
104182008-02-01 Dave Love <fx@gnu.org>
10419
10420 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
10421 EMACS_INT.
10422
10423 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
10424
10425 * xfaces.c (face_numeric_value): Declare dim size_t.
10426 (Finternal_lisp_face_equal_p): Remove unused f.
10427
10428 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
10429 (MATRIX_ROW): Remove unused vars.
10430 (draw_glyphs, x_insert_glyphs, fast_find_position)
10431 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
10432 byte/char counts.
10433
10434 * regex.c (regex_compile): Remove unused var.
10435
10436 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
10437
10438 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
10439 (Faccessible_keymaps, where_is_internal): Remove unused vars.
10440
10441 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
10442
10443 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
10444
10445 * fileio.c (Fwrite_region): Remove unused var.
10446
10447 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
10448 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
10449
10450 * composite.c (Fremove_list_of_text_properties): Declare.
10451
10452 * coding.c (inhibit_pre_post_conversion): Remove (unused).
10453 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
10454 (coding_inherit_eol_type): Remove unused attrs.
10455 (detect_coding): Cast arg of detect_eol.
10456
10457 * charset.c (syms_of_charset): Remove unused var p.
10458 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
10459 byte/char counts.
10460
10461 * casetab.c (set_case_table): Remove unused var.
10462
10463 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
10464 unused vars.
10465
104662008-02-01 Dave Love <fx@gnu.org>
10467
10468 * xterm.c (x_bitmap_mask): Declare.
10469
104702008-02-01 Dave Love <fx@gnu.org>
10471
10472 * xterm.c (x_term_init): Fix type error.
10473
10474 * lisp.h: Add Funibyte_char_to_multibyte.
10475
10476 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
10477 (Fset_coding_system_priority): Doc fix.
10478
10479 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
10480
10481 * indent.c (check_composition): Make start and end EMACS_INT.
10482
10483 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
10484
10485 * xdisp.c (handle_composition_prop, check_point_in_composition):
10486 Make buffer positions EMACS_INT.
10487
10488 * composite.c (find_composition, run_composition_function)
10489 (update_compositions, Ffind_composition_internal): Make buffer
10490 positions EMACS_INT.
10491
10492 * composite.h (find_composition, update_compositions): Make
10493 position args EMACS_INT.
10494
10495 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
10496
10497 * intervals.c (get_property_and_range):
10498 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
10499
10500 * unexalpha.c: Don't include varargs.h.
10501
105022008-02-01 Dave Love <fx@gnu.org>
10503
10504 * coding.h (ENCODE_UTF_8): New.
10505
10506 * Makefile.in (gtkutil.o): Depend on coding.h.
10507
10508 * coding.c (Fset_coding_system_priority): Doc fix.
10509
105102008-02-01 Kenichi Handa <handa@m17n.org>
10511
10512 * fileio.c (Finsert_file_contents): Call setup_coding_system in
10513 the case of auto saving.
10514
105152008-02-01 Andreas Schwab <schwab@suse.de>
10516
10517 * chartab.c (map_char_table, map_char_table_for_charset): Protect
10518 `range' from GC.
10519
105202008-02-01 Kenichi Handa <handa@m17n.org>
10521
10522 * coding.c (decode_coding_sjis): Check bytes more rigidly.
10523
105242008-02-01 Kenichi Handa <handa@m17n.org>
10525
10526 * fileio.c (choose_write_coding_system): Return a decided coding system.
10527 (Fwrite_region): Set Vlast_coding_system_used to the return value
10528 of choose_write_coding_system.
10529
105302008-02-01 Kenichi Handa <handa@m17n.org>
10531
10532 * charset.c (Fset_charset_priority): Pay attention to duplicated
10533 arguments.
10534
10535 * coding.c (QCcategory): New variable.
10536 (syms_of_coding): Defsym it. Set all elements of
10537 Vcoding_category_table and their symbol values.
10538 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
10539 coding-category-XXX, and coding-category-list.
10540 (Fdefine_coding_system_internal): Add category in the plist.
10541
105422008-02-01 Kenichi Handa <handa@m17n.org>
10543
10544 * callproc.c (Fcall_process): Handle carryover correctly.
10545
10546 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
10547 (raw_text_coding_system): Check NILP (coding_system).
10548 (coding_inherit_eol_type): Check NILP (coding_system) and
10549 NILP (parent).
10550 (consume_chars): Fix for the case of raw-text.
10551
10552 * process.c (read_process_output): Handle carryover correctly.
10553
105542008-02-01 Dave Love <fx@gnu.org>
10555
10556 * regex.c (re_search_2): Fix last change.
10557
105582008-02-01 Kenichi Handa <handa@m17n.org>
10559
10560 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
10561 target_multibyte. Even in a unibyte case, return a converted
10562 multibyte char.
10563 (GET_CHAR_AFTER): New macro.
10564 (PATFETCH): Translate via multibyte char.
10565 (HANDLE_UNIBYTE_RANGE): Delete this macro.
10566 (SETUP_MULTIBYTE_RANGE): New macro.
10567 (regex_compile): Setup compiled code so that its multibyteness
10568 matches that of a target. Fix the handling of "[X-YZ]" using
10569 SETUP_MULTIBYTE_RANGE.
10570 (analyse_first) <charset>: For filling fastmap for all multibyte
10571 characters, don't check by BASE_LEADING_CODE_P.
10572 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
10573 the same as RE_MULTIBYTE_P (bufp) now.
10574 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
10575 (TARGET_CHAR_AND_LENGTH): Delete this macro.
10576 (TRANSLATE_VIA_MULTIBYTE): New macro.
10577 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
10578 It is the same as RE_MULTIBYTE_P (bufp) now.
10579 <exactn>: Translate via multibyte.
10580 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
10581 translate it.
10582 <charset, charset_not>: Fetch a character by
10583 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
10584 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
10585 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
10586 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
10587 by GET_CHAR_AFTER.
10588 (bcmp_translate): Likewise.
10589
10590 * search.c (compile_pattern): Check the member target_multibyte,
10591 not the member multibyte of buf.
10592
10593 * lread.c (read1): While reading a string, set force_singlebyte
10594 and force_multibyte correctly.
10595
10596 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
10597 up of unibyte_to_multibyte_table.
10598
105992008-02-01 Kenichi Handa <handa@m17n.org>
10600
10601 * coding.c (setup_coding_system): If coding has
10602 post-read-conversion or pre-write-conversion, set
10603 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
10604 respectively.
10605 (decode_coding_gap): Run post-read-conversion if any.
10606
10607 * fileio.c (Finsert_file_contents): Even if we read into a
10608 unibyte buffer, check if we must decode the result or not.
10609
106102008-02-01 Kenichi Handa <handa@m17n.org>
10611
10612 * coding.c (make_conversion_work_buffer): Change the work buffer
10613 name to the same one as that of Emacs 21.
10614
106152008-02-01 Kenichi Handa <handa@m17n.org>
10616
10617 * coding.h (make_conversion_work_buffer): Adjust prototype.
10618 (code_conversion_restore): Don't extern it.
10619
10620 * coding.c (detected_mask): Delete unused variable.
10621 (decode_coding_iso_2022): Pay attention to the byte sequence of
10622 CTEXT extended segment, and retain those bytes as is.
10623 (decode_coding_ccl): Delete unused variable `valids'.
10624 (setup_coding_system): Delete unused variable `category'.
10625 (consume_chars): Delete unused variable `category'. Make it work
10626 for non-multibyte case.
10627 (make_conversion_work_buffer): Change argument.
10628 (saved_coding): Delete unused variable.
10629 (code_conversion_restore): Don't check saved_coding->destination.
10630 (code_conversion_save): New function.
10631 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
10632 instead of record_unwind_protect.
10633 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
10634 (detect_coding_system): Delete unused variable `mask'.
10635 (Fdefine_coding_system_internal): Delete unused variable id.
10636
10637 * fileio.c (kill_workbuf_unwind): New function.
10638 (Finsert_file_contents): On replacing, call
10639 make_conversion_work_buffer with correct args, and call
10640 record_unwind_protect with the first arg kill_workbuf_unwind.
10641
10642 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
10643
106442008-02-01 Kenichi Handa <handa@m17n.org>
10645
10646 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
10647 (fontset_add): Fix for the case that TO is less than TO1.
10648 (Ffontset_info): Don't use fallback fontset on checking the
10649 default fontset.
10650 (dump_fontset): New function for debugging.
10651
10652 * coding.c (Fdefine_coding_system_internal): Fix for the case that
10653 coding_type is Qcharset.
10654
106552008-02-01 Kenichi Handa <handa@m17n.org>
10656
10657 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
10658 (map_char_table): Don't inherit the value from the parent on
10659 initializing VAL. Adjust for the above change.
10660
106612008-02-01 Kenichi Handa <handa@m17n.org>
10662
10663 * coding.c (Qsignature, Qendian): Delete these variables.
10664 (syms_of_coding): Don't initialize them.
10665 (CATEGORY_MASK_UTF_16_AUTO): New macro.
10666 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
10667 detect_info->found.
10668 (decode_coding_utf_16): Don't detect BOM here.
10669 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
10670 is NOT utf_16_without_bom.
10671 (setup_coding_system): For a coding system of type utf-16, check
10672 if the attribute :endian is Qbig or not (not nil or not), and set
10673 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
10674 (detect_coding): If coding type is utf-16 and BOM detection is
10675 required, detect it.
10676 (Fdefine_coding_system_internal): For a coding system of type
10677 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
10678
106792008-02-01 Kenichi Handa <handa@m17n.org>
10680
10681 * coding.c (coding_set_source): Fix for the case that the current
10682 buffer is different from coding->src_object.
10683 (decode_coding_object): Don't use the conversion work buffer if
10684 DST_OBJECT is a buffer.
10685
106862008-02-01 Dave Love <fx@gnu.org>
10687
10688 * lread.c (read_emacs_mule_char) [len==2]: Index
10689 emacs_mule_charset correctly.
10690
106912008-02-01 Dave Love <fx@gnu.org>
10692
10693 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
10694 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
10695 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
10696 treated specially.)
10697 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
10698 (detected_mask): Remove Big5 bits.
10699
107002008-02-01 Kenichi Handa <handa@m17n.org>
10701
10702 The following changes are to make the font rescaling facility
10703 compatible with Emacs 21.
10704
10705 * xfaces.c (Vface_font_rescale_alist): Rename from
10706 Vface_resizing_fonts.
10707 (struct font_name): Rename member resizing_ratio to rescale_ratio.
10708 (font_rescale_ratio): Rename from font_resizing_ratio.
10709 (split_font_name): Set font->rescale_ratio.
10710 (better_font_p): Pay attention to font->rescale_ratio.
10711 (build_scalable_font_name): Likewise. Change RESX, and RESY
10712 fields.
10713 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
10714
107152008-02-01 Kenichi Handa <handa@m17n.org>
10716
10717 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
10718 (Qutf_16_le): Remove these variables.
10719 (syms_of_coding): Don't DEFSYM them.
10720 (decode_coding_utf_16): Fix handling of BOM.
10721 (encode_coding_utf_16): Fix handling of BOM.
10722
107232008-02-01 Kenichi Handa <handa@m17n.org>
10724
10725 * fileio.c (Finsert_file_contents): On replacing, before decoding
10726 the file into the work buffer, set point of the work buffer to the end.
10727
107282008-02-01 Dave Love <fx@gnu.org>
10729
10730 * coding.c (Fcheck_coding_systems_region): Fix type errors.
10731
107322008-02-01 Dave Love <fx@gnu.org>
10733
10734 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
10735 and fix C types.
10736
107372008-02-01 Kenichi Handa <handa@m17n.org>
10738
10739 * xdisp.c (SKIP_GLYPHS): New macro.
10740 (set_cursor_from_row): Pay attention to string display properties.
10741
10742 * category.c (copy_category_entry): Fix for the case that RANGE
10743 is an integer.
10744
10745 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
10746
10747 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
10748
107492008-02-01 Kenichi Handa <handa@m17n.org>
10750
10751 * charset.c (Fcharset_id_internal): New function.
10752 (syms_of_charset): Defsubr it.
10753
10754 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
10755 with the last arg charset_list acquired from coding.
10756 (Fdefine_coding_system_internal): For ccl-based coding system, fix
10757 the attribute coding_attr_ccl_valids.
10758
10759 * coding.h (enum define_coding_ccl_arg_index): Set the first
10760 member coding_arg_ccl_decoder to coding_arg_max.
10761
10762 * ccl.h (ccl_driver): Adjust prototype.
10763
10764 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
10765 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
60612c8f 10766 of DECODE_CHAR, ENCODE_CHAR, CHAR_CHARSET.
aac0c6e3
MR
10767 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
10768 last arg Qnil.
10769
107702008-02-01 Kenichi Handa <handa@m17n.org>
10771
10772 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
10773 call encode_char.
10774
10775 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
10776
107772008-02-01 Dave Love <fx@gnu.org>
10778
10779 * composite.c (syms_of_composite): Make composition_hash_table weak.
10780
107812008-02-01 Kenichi Handa <handa@m17n.org>
10782
10783 * dispextern.h (check_face_attributes, generate_ascii_font_name)
10784 (font_name_registry): Don't extern them.
10785 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
10786
10787 * fontset.h (Qfontset): Don't extern it.
10788 (new_fontset_from_font_name): Extern it.
10789
10790 * fontset.c: Give 8 extra slots to fontset objects.
10791 (Qfontset_info): New variable.
10792 (syms_of_fontset): Defsym it.
10793 (FONTSET_FALLBACK): New macro.
10794 (fontset_face): Try also the default fontset.
10795 (make_fontset): Realize a fallback fontset from the default fontset.
10796 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
10797 using split_font_name_into_vector and build_font_name_from_vector.
10798 (Fset_fontset_font): Access the elements of font_spec by enum
10799 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
10800 name by using split_font_name_into_vector.
10801 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
10802 generate a proper font name from the fontset name. Update
10803 Vfontset_alias_alist.
10804 (n_auto_fontsets): New variable.
10805 (new_fontset_from_font_name): New function.
10806 (Ffont_info): Store the information about fonts generated from the
10807 default fontset in the first extra slot of the returned char-table.
10808
10809 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
10810 (font_name_registry): Delete function.
10811 (split_font_name_into_vector): New function.
10812 (build_font_name_from_vector): New function.
10813 (font_list): The argument REGISTRY is now a list of registry names.
10814 (choose_face_font): If we are choosing an ASCII font, and ATTRS
10815 specifies an explicit font name, return the name as is. Make a
10816 list of registy names.
10817
10818 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
10819 of x_new_fontset.
10820 (Fx_create_frame): Don't call x_new_fontset here. Just use
10821 x_list_fonts to check the existence of fonts.
10822
10823 * xterm.h (x_new_fontset): Adjust prototype.
10824
10825 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
10826 string. Use new_fontset_from_font_name to create a fontset from a
10827 font name.
10828
108292008-02-01 Kenichi Handa <handa@m17n.org>
10830
10831 * syntax.c (Vfind_word_boundary_function_table): New name for
10832 Vnext_word_boundary_function_table.
10833 (find-word-boundary-function-table): New name for
10834 next-word-boundary-function-table.
10835
108362008-02-01 Dave Love <fx@gnu.org>
10837
10838 * Makefile.in: Fix some dependencies.
10839
10840 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
10841 set it to nil before returning.
10842
10843 * composite.c (update_compositions): Fix type error.
10844
10845 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
10846
108472008-02-01 Kenichi Handa <handa@m17n.org>
10848
10849 * xterm.c (x_new_font): Optimize for the case that the font is
10850 already set for the frame.
10851
108522008-02-01 Kenichi Handa <handa@m17n.org>
10853
10854 * chartab.c (char_table_ascii): Check if the char table contents
10855 is sub-char-table or not.
10856 (char_table_set, char_table_set_range): Fix argument to
10857 char_table_ascii.
10858
10859 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
10860 (detect_coding_utf_8, detect_coding_utf_16)
10861 (detect_coding_emacs_mule, detect_coding_iso_2022)
10862 (detect_coding_sjis, detect_coding_big5)
10863 (detect_coding_ccl, detect_coding_charset): Change argument MASK
10864 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
10865 sequence is valid in this coding system. Change callers.
10866 (MAX_ANNOTATION_LENGTH): New macro.
10867 (ADD_ANNOTATION_DATA): New macro.
10868 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
10869 ADD_ANNOTATION_DATA. Change the format of annotation data.
10870 (ADD_CHARSET_DATA): New macro.
10871 (emacs_mule_char): New argument ID. Change callers.
10872 (decode_coding_emacs_mule, decode_coding_iso_2022)
10873 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
10874 Produce charset annotation data in coding->charbuf.
10875 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
10876 to charset annotation data in coding->charbuf.
10877 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
10878 coding->common_flags if the coding system is iso-2022 based and
10879 uses designation.
10880 (produce_composition): Adjust for the new annotation data format.
10881 (produce_charset): New function.
10882 (produce_annotation): Handle charset annotation.
10883 (handle_composition_annotation, handle_charset_annotation): New
10884 functions.
10885 (consume_chars): Handle charset annotation. Utilize the above two
10886 functions.
10887 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
10888 buffer, get the deleted text as a string and set
10889 coding->src_object to that string.
10890 (detect_coding, detect_coding_system): Use the new struct
10891 coding_detection_info.
10892
10893 * coding.h (struct coding_detection_info): New structure.
10894 (struct coding_system): Adjust prototype of the member `detector'.
10895 (CODING_ANNOTATE_CHARSET_MASK): New macro.
10896
108972008-02-01 Kenichi Handa <handa@m17n.org>
10898
10899 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
10900
109012008-02-01 Dave Love <fx@gnu.org>
10902
10903 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
10904 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
10905 to new local and nullify apropos_accumulate before returning.
10906 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
10907
109082008-02-01 Kenichi Handa <handa@m17n.org>
10909
10910 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
10911 correctly.
10912
109132008-02-01 Dave Love <fx@gnu.org>
10914
10915 * fns.c (Flanginfo): Call synchronize_system_time_locale.
10916
109172008-02-01 Kenichi Handa <handa@m17n.org>
10918
10919 The following changes are to make character composition happen
10920 automatically on displaying.
10921
10922 * Makefile.in (lisp, shortlisp): Add composite.elc.
10923
10924 * composite.h (Qauto_composed, Vauto_composition_function)
10925 (Qauto_composition_function): Extern them.
10926
10927 * composite.c (Vcomposition_function_table)
10928 (Qcomposition_function_table): Delete variables.
10929 (Qauto_composed, Vauto_composition_function)
10930 (Qauto_composition_function): New variables.
10931 (run_composition_function): Don't call
10932 compose-chars-after-function.
10933 (update_compositions): Clear `auto-composed' text property.
10934 (compose_chars_in_text): Delete this function.
10935 (syms_of_composite): Staticpro Qauto_composed and
10936 Qauto_composition_function. Declare Vauto_composition_function as
10937 a Lisp variable.
10938
10939 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
10940
10941 * xdisp.c (it_props): Add an entry for Qauto_composed.
10942 (handle_auto_composed_prop): New function.
10943
10944 * xselect.c (selection_data_to_lisp_data): Don't call
10945 compose_chars_in_text.
10946
109472008-02-01 Dave Love <fx@gnu.org>
10948
10949 * keyboard.c (read_char): Modify checking around use of
10950 Vkeyboard_translate_table.
10951
10952 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
10953 and fix C types.
10954
109552008-02-01 Kenichi Handa <handa@m17n.org>
10956
10957 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
10958 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
10959 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
10960 the case that the last byte is '\r' correctly.
10961 (decode_coding): Flush out the unprocessed data correctly.
10962 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
10963
109642008-02-01 Dave Love <fx@gnu.org>
10965
10966 * xterm.c (XTread_socket): Fix changes for defined keysyms.
10967 Add XK_ISO... case.
10968 (xaw_scroll_callback): Revert last change.
10969
109702008-02-01 Kenichi Handa <handa@m17n.org>
10971
10972 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
10973
109742008-02-01 Kenichi Handa <handa@m17n.org>
10975
10976 * xfaces.c (Vface_resizing_fonts): New variable.
10977 (struct font_name): New member `resizing_ratio'.
10978 (font_resizing_ratio): New function.
10979 (split_font_name): Set font->resizing_ratio.
10980 (better_font_p): Pay attention to font->resizing_ratio.
10981 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
10982 RESX, and RESY fields.
10983 (try_alternative_families): Try scalable fonts if
10984 Vscalable_fonts_allowed is not Qt.
10985 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
10986
109872008-02-01 Dave Love <fx@gnu.org>
10988
10989 * xterm.c (xaw_scroll_callback): Cast correctly.
10990
109912008-02-01 Dave Love <fx@gnu.org>
10992
10993 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
10994 (lispy_kana_keys): Comment out.
10995 (make_lispy_event) [XK_kana_A]: Comment out.
10996
10997 * xterm.c (xaw_scroll_callback): Cast call_data.
10998 (XTread_socket): Deal with ASCII keysyms.
10999 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
11000
110012008-02-01 Dave Love <fx@gnu.org>
11002
11003 * xterm.c (Vx_keysym_table): New.
11004 (syms_of_xterm): Initialize it.
11005 (XTread_socket): Use it.
11006 From head: Eliminate incorrect optimization that tried to avoid
11007 decoding the output of X*LookupString.
11008 (x_get_font_repertory): Delete charset declaration.
11009
110102008-02-01 Kenichi Handa <handa@m17n.org>
11011
11012 * coding.c (detect_coding_charset): If only ASCII bytes are found,
11013 return 0.
11014 (Fdefine_coding_system_internal): Setup
11015 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
11016
110172008-02-01 Dave Love <fx@gnu.org>
11018
11019 * coding.c (Fcheck_coding_system): Doc fix.
11020
11021 * editfns.c (Finsert_byte): Return a proper value.
11022
110232008-02-01 Kenichi Handa <handa@m17n.org>
11024
11025 * coding.c (decode_coding): Fix args to translate_chars. Pay
11026 attention to Vstandard_translation_table_for_decode.
11027 (encode_coding): Fix args to translate_chars. Pay attention to
11028 Vstandard_translation_table_for_encode.
11029
11030 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
11031 SINGLE_BYTE_CHAR_P.
11032
11033 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
11034 not by SINGLE_BYTE_CHAR_P.
11035
11036 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
11037 SINGLE_BYTE_CHAR_P.
11038
11039 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
11040 SINGLE_BYTE_CHAR_P.
11041
11042 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
11043 by SINGLE_BYTE_CHAR_P.
11044
11045 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
11046 SINGLE_BYTE_CHAR_P.
11047
110482008-02-01 Dave Love <fx@gnu.org>
11049
11050 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
11051
110522008-02-01 Dave Love <fx@gnu.org>
11053
11054 * fns.c (Flanginfo): Fix typo.
11055
11056 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
11057
110582008-02-01 Kenichi Handa <handa@m17n.org>
11059
11060 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
11061 (detect_coding_emacs_mule, detect_coding_iso_2022)
11062 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
11063 incomplete byte sequence. Don't update *mask when correctly detected.
11064 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
11065 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
11066 (detect_coding, detect_coding_system): Adjust for the changes above.
11067
110682008-02-01 Kenichi Handa <handa@m17n.org>
11069
11070 * character.c (char_string): Rename from
11071 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
11072 (string_char): Rename from string_char.
11073
11074 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
11075 if C is greater than MAX_3_BYTE_CHAR.
11076 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
11077 string_char instead of string_char_with_unification.
11078
110792008-02-01 Dave Love <fx@gnu.org>
11080
11081 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
11082
110832008-02-01 Kenichi Handa <handa@m17n.org>
11084
11085 * keymap.c (push_key_description): Pay attention to force_multibyte.
11086
11087 * regex.c (re_search_2): Fix for the case of unibyte buffer.
11088
110892008-02-01 Dave Love <fx@gnu.org>
11090
11091 * charset.c (define_charset_internal): Rename `supprementary'.
11092
11093 * Makefile.in (lisp, shortlisp): Remove latin-N.
11094
110952008-02-01 Dave Love <fx@gnu.org>
11096
11097 * xfns.c (x_window, x_window): Use use_xim.
11098
11099 * xterm.c (use_xim): Initialize.
11100 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
11101 (x_term_init): Maybe set use_xim.
11102
11103 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
11104
111052008-02-01 Kenichi Handa <handa@m17n.org>
11106
11107 * search.c (search_buffer): Fix case-fold-search of multibyte
11108 characters.
11109 (boyer_moore): Rename the last argument to char_high_bits.
11110
111112008-02-01 Kenichi Handa <handa@m17n.org>
11112
11113 * xdisp.c (display_string): Fix for the case of zero width glyph.
11114
11115 * xfns.c (x_set_font): Change the error message of the case that
11116 x_new_fontset returns Qt.
11117
11118 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
11119 (Finternal_set_lisp_face_attribute): Use signal_error for the
11120 error of invalid fontset.
11121
11122 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
11123 fontset, return Qt.
11124
111252008-02-01 Dave Love <fx@gnu.org>
11126
11127 * unexelf.c (unexec): Make .got handling not SGI-specific.
11128
11129 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
11130
11131 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
11132
11133 * keyboard.c (read_key_sequence): Fix type error.
11134
11135 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
11136 type error.
11137
11138 * fontset.c (fontset_add): Return Lisp_Object.
11139
111402008-02-01 Dave Love <fx@gnu.org>
11141
11142 * charset.h (charset_ordered_list_tick): Declare extern.
11143
111442008-02-01 Kenichi Handa <handa@m17n.org>
11145
11146 The following changes (and some of 2008-02-01 changes of mine) are
11147 for handling syntax, category, and case conversion for unibyte
11148 characters by converting them to multibyte on the fly. With these
11149 changes, we don't have to setup syntax and case tables for unibyte
11150 characters in each language environment.
11151
11152 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
11153 multibyte if necessary.
11154
11155 * bytecode.c (Fbyte_code): Likewise.
11156
11157 * character.h (LEADING_CODE_LATIN_1_MIN)
11158 (LEADING_CODE_LATIN_1_MAX): New macros.
11159 (unibyte_to_multibyte_table): Extern it.
11160 (unibyte_char_to_multibyte): New macro.
11161 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
11162 (CHAR_LEADING_CODE): New macro.
11163 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
11164
11165 * character.c (unibyte_to_multibyte_table): New variable.
11166 (unibyte_char_to_multibyte): Move to character.h and define as macro.
11167 (multibyte_char_to_unibyte): If C is an eight-bit character,
11168 convert it to the corresponding byte value.
11169
11170 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
11171 not 1, signals an error. Update the elements of
11172 unibyte_to_multibyte_table.
11173 (init_charset_once): Initialize unibyte_to_multibyte_table.
11174 (syms_of_charset): Define the charset `iso-8859-1'.
11175
11176 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
11177 as is without converting it to unibyte. In a unibyte buffer,
11178 convert C to multibyte before checking the syntax.
11179
11180 * lisp.h (unibyte_char_to_multibyte): Delete extern.
11181
11182 * minibuf.c (Fminibuffer_complete_word): Use the macro
11183 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
11184
11185 * regex.h (struct re_pattern_buffer): New member target_multibyte.
11186
11187 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
11188 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
11189 that is zero, convert an eight-bit char to multibyte.
11190 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
11191 non-emacs case.
11192 (PATFETCH): Convert an eight-bit char to multibyte.
11193 (HANDLE_UNIBYTE_RANGE): New macro.
11194 (regex_compile): Setup the compiled pattern for multibyte chars
11195 even if the given regex string is unibyte. Use PATFETCH_RAW
11196 instead of PATFETCH in many places. To handle `charset'
11197 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
11198 only for ASCII chars.
11199 (analyse_first) <exactn>: Simplify because the compiled pattern
11200 is multibyte.
11201 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
11202 <charset>: Use CHAR_LEADING_CODE to get leading codes.
11203 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
11204 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
11205 multibyte always 1.
11206 (re_search_2): In emacs, set the locale variable multibyte to 1,
11207 otherwise to 0. New local variable target_multibyte. Check it
11208 to decide the multibyteness of STR1 and STR2. If
11209 target_multibyte is zero, convert unibyte chars to multibyte
11210 before translating and checking fastmap.
11211 (TARGET_CHAR_AND_LENGTH): New macro.
11212 (re_match_2_internal): In emacs, set the locale variable multibyte
11213 to 1, otherwise to 0. New local variable target_multibyte. Check
11214 it to decide the multibyteness of STR1 and STR2. Use
11215 TARGET_CHAR_AND_LENGTH to fetch a character from D.
11216 <charset, charset_not>: If multibyte is nonzero, check fastmap
11217 only for ASCII chars. Call bcmp_translate with
11218 target_multibyte, not with multibyte.
11219 <begline>: Declare the local variable C as `unsigned'.
11220 (bcmp_translate): Change the last arg name to target_multibyte.
11221
11222 * search.c (compile_pattern_1): Don't adjust the multibyteness of
11223 the regexp pattern and the matching target. Set cp->buf.multibyte
11224 to the multibyteness of the regexp pattern. Set
11225 cp->but.target_multibyte to the multibyteness of the matching target.
11226 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
11227 FETCH_STRING_CHAR_ADVANCE.
11228 (Freplace_match): Convert unibyte chars to multibyte.
11229
11230 * syntax.c (char_quoted, back_comment, scan_words)
11231 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
11232 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
11233 unibyte chars to multibyte.
11234 (skip_chars): Delete the arg syntaxp, and move the code for
11235 handling syntaxes to skip_syntaxes. Change callers.
11236 Fix the case that the multibyteness of STRING and the current
11237 buffer doesn't match.
11238 (skip_syntaxes): New function.
11239 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
11240 SINGLE_BYTE_CHAR_P.
11241
112422008-02-01 Kenichi Handa <handa@m17n.org>
11243
11244 * xfaces.c (QCfontset): New variable.
11245 (LFACE_FONTSET): New macro.
11246 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
11247 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
11248 (Finternal_set_lisp_face_attribute)
11249 (Finternal_get_lisp_face_attribute): Handle QCfontset.
11250 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
11251 check also LFACE_FONTSET_INDEX.
11252 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
11253 attrs[LFACE_FONT_INDEX].
11254 (syms_of_xfaces): Intern and staticpro QCfontset.
11255
11256 * dispextern.h (enum lface_attribute_index): New member
11257 LFACE_FONTSET_INDEX.
11258
11259 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
11260
112612008-02-01 Kenichi Handa <handa@m17n.org>
11262
11263 * coding.c (coding_set_destination): Fix coding->destination for
11264 the case converting a region.
11265 (encode_coding_utf_8): Encode eight-bit chars as single byte.
11266 (encode_coding_object): Fix coding->dst_pos and
11267 coding->dst_pos_byte for the case converting a region.
11268
11269 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
11270
11271 * character.h (BYTE8_STRING): New macro.
11272
11273 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
11274
112752008-02-01 Kenichi Handa <handa@m17n.org>
11276
11277 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
11278 characters by octal form.
11279
11280 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
11281
11282 * buffer.h (_fetch_multibyte_char_len): Delete extern.
11283 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
11284 _fetch_multibyte_char_len.
11285 (FETCH_CHAR_AS_MULTIBYTE): New macro.
11286
11287 * casetab.c (set_canon, set_identity, shuffle): Simplify.
11288
11289 * casefiddle.c (casify_object): Simplify. Handle the case that
11290 the case conversion change the byte length.
11291 (casify_region): Likewise.
11292
11293 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
11294
11295 * character.c (_fetch_multibyte_char_len): Delete this variable.
11296 (syms_of_character): Setup Vprintable_chars.
11297
11298 * editfns.c (Fchar_equal): Fix for the unibyte case.
11299 (Finsert_byte): New function.
11300 (syms_of_editfns): Defsubr it.
11301
11302 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
11303 of direct code 0x3ffff.
11304
11305 * search.c (Freplace_match): Fix for the unibyte case.
11306
113072008-02-01 Kenichi Handa <handa@m17n.org>
11308
11309 * lread.c (safe_to_load_p): Fix the logic.
11310
11311 * syntax.c (scan_words): Don't treat characters belonging to
11312 different scripts as constituting a word.
11313
11314 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
11315
11316 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
11317
11318 * emacs.c (main): In the case of --unibyte, instead of aborting on
11319 finding non-empty buffer, make it unibyte.
11320
113212008-02-01 Kenichi Handa <handa@m17n.org>
11322
11323 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
11324 to create a fontset.
11325
113262008-02-01 Dave Love <fx@gnu.org>
11327
11328 * character.c (Funibyte_char_to_multibyte): Doc fix.
11329
11330 * xfns.c [HAVE_STDLIB_H]: Fix last change.
11331
113322008-02-01 Kenichi Handa <handa@m17n.org>
11333
11334 * fontset.c (fontset_add): Make the type `int'.
11335 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
11336
11337 * character.c (unibyte_char_to_multibyte)
11338 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
11339 charset_unibyte, not charset_primary.
11340
11341 * charset.h (charset_unibyte): Extern it instead of charset_primary.
11342
11343 * charset.c (charset_unibyte): Rename from charset_primary.
11344 (Funibyte_charset): Rename from Fprimary_charset.
11345 (Fset_unibyte_charset): Rename from Fset_primary_charset.
11346 (syms_of_charset): Adjust for the above changes.
11347
11348 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
11349 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
11350 it->multibyte_p is zero.
11351
11352 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
11353 Delete extern.
11354
113552008-02-01 Kenichi Handa <handa@m17n.org>
11356
11357 * coding.c (Fdefine_coding_system_internal): Fix category setting
11358 for a coding system of type iso-2022.
11359
113602008-02-01 Kenichi Handa <handa@m17n.org>
11361
11362 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
11363
113642008-02-01 Kenichi Handa <handa@m17n.org>
11365
11366 * syntax.c (Vnext_word_boundary_function_table): New variable.
11367 (next-word-boundary-function-table): Declare it as a Lisp variable
11368 in syms_of_syntax.
11369 (scan_words): Call functions in Vnext_word_boundary_function_table
11370 if any.
11371
11372 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
11373
11374 * fontset.c (fs_load_font): If fontp->charset is not negative,
11375 return fontp without setting its members.
11376
113772008-02-01 Dave Love <fx@gnu.org>
11378
11379 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
11380
11381 * m/sparc.h (HAVE_ALLOCA): Delete.
11382
11383 * s/irix6-5.h: Don't include strings.h.
11384 (bcopy, bzero, bcmp): Don't undef.
11385
11386 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
11387
11388 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
11389 (TIOCSIGSEND): Don't test IRIX6.
11390 (bcopy, bzero, bcmp): Define conditionally.
11391
113922008-02-01 Kenichi Handa <handa@m17n.org>
11393
11394 * buffer.c (Qas, Qmake, Qto): New variables.
11395 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
11396 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
11397
11398 * callproc.c (Fcall_process): Don't call insert_1_both directly if
11399 we are inserting a process output into a multibyte buffer.
11400
11401 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
11402 multibyte_char_to_unibyte.
11403
11404 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
11405 by the primary charset, make it eight-bit char.
11406 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
11407
11408 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
11409 (charset_8_bit__control, charset_8_bit_graphic)
11410 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
11411 (define_charset_internal): New function.
11412 (syms_of_charset): Call define_charset_internal for pre-defined
11413 charsets.
11414
11415 * charset.h (charset_8_bit): Extern it.
11416
11417 * coding.c (make_conversion_work_buffer): Adjust for the change
11418 of Fset_buffer_multibyte.
11419 (encode_coding_raw_text): Increment p0 in the loop.
11420
11421 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
11422
11423 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
11424 for the change of Fset_buffer_multibyte.
11425
11426 * fns.c (Fstring_to_multibyte): New function.
11427 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
11428
114292008-02-01 Dave Love <fx@gnu.org>
11430
11431 * xfns.c (x_put_x_image): Declare args.
11432
11433 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
11434 (try_font_list): Declare an arg.
11435
11436 * xdisp.c (message2_nolog, set_message): Declare an arg.
11437
11438 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
11439
11440 * syntax.c (scan_sexps_forward): Declare an arg.
11441
11442 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
11443 Declare an arg.
11444
11445 * lisp.h (Fnew_fontset): Declare.
11446
11447 * keymap.c (push_key_description): Call CHARACTERP correctly.
11448
11449 * fontset.c (fontset_add): Declare args. Call make_number correctly.
11450 (face_for_char): Delete unused vars.
11451 (Fset_fontset_font): Doc fix. Delete unused vars.
11452
11453 * doc.c (Fsubstitute_command_keys): Delete unused vars.
11454
11455 * composite.c (update_compositions): Declare arg.
11456
11457 * cm.c (calccost, cmgoto): Declare args.
11458
11459 * charset.c: Remove `emacs' conditional. Doc fixes.
11460 (map_char_table_for_charset): Declare.
11461
11462 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
11463
11464 * ccl.c: Remove `emacs' conditional.
11465
114662008-02-01 Kenichi Handa <handa@m17n.org>
11467
11468 The following changes are to allow specifying multiple font
11469 patterns for a character range (specified by script or charset).
11470
11471 * Makefile.in (abbrev.o): Depend on syntax.h.
11472 (xfaces.o): Depend on charset.h.
11473
11474 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
11475 SINGLE_BYTE_CHAR_P.
11476
11477 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
11478
11479 * character.h (Vchar_script_table): Extern it.
11480
11481 * character.c (Vscript_alist): Delete.
11482 (Vchar_script_table, Qchar_script_table): New variable.
11483 (syms_of_character): Declare Vchar_script_table as a lisp variable
11484 and initialize it.
11485
11486 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
11487 have property char-table-extra-slots, make no extra slot.
11488
11489 * dispextern.h (struct face): Delete member `charset'.
11490 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
11491 SINGLE_BYTE_CHAR_P.
11492 (choose_face_font, lookup_non_ascii_face, font_name_registry):
11493 Add prototypes.
11494 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
11495 (generate_ascii_font_name): Rename from generate_ascii_font.
11496
11497 * fontset.h (get_font_repertory_func): New prototype.
11498 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
11499 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
11500
11501 * fontset.c (Qprepend, Qappend): New variables.
11502 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
11503 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
11504 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
11505 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
11506 (fontset_ref_and_range, fontset_add, reorder_font_vector)
11507 (load_font_get_repertory): New functions.
11508 (fontset_set): Delete.
11509 (fontset_face): New arg FACE. Return face ID, not face.
11510 Complete re-write to handle new fontset structure. Change caller.
11511 (free_face_fontset): Use ASET istead of AREF (X) = Y.
11512 (face_for_char): Don't call lookup_face.
11513 (make_fontset_for_ascii_face): New arg FACE.
11514 (fs_load_font): New arg CHARSET_ID. Don't check
11515 Vfont_encoding_alist here.
11516 (find_font_encoding): New function.
11517 (list_fontsets): Use STRINGP, not ! NILP.
11518 (accumulate_script_ranges): New function.
11519 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
11520 re-written to handle new fontset structure.
11521 (Ffontset_font): Return a copy of element.
11522 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
11523 docstring of font-encoding-alist.
11524
11525 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
11526 (Fset_fotset_font): Fix arguments to 5.
11527
11528 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
11529
11530 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
11531 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
11532 (highlight_trailing_whitespace): Adjust for the change of
11533 lookup_named_face.
11534
11535 * xfaces.c: Include charset.h.
11536 (load_face_font): Delete argument C. Change caller.
11537 (generate_ascii_font_name): Rename from generate_ascii_font.
11538 (font_name_registry): New function.
11539 (cache_face): Store ascii faces before non-ascii faces in buckets.
11540 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
11541 Lookup only ascii faces.
11542 (lookup_non_ascii_face): New function.
11543 (lookup_named_face): Delete argument C. Change caller.
11544 (lookup_derived_face): Delete argument C. Change caller.
11545 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
11546 a string, just call font_list with it.
11547 (choose_face_font): Delete arguments FACE and C. New arg
11548 FONT_SPEC. Change caller.
11549 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
11550 Change caller.
11551 (realize_non_ascii_face): New function.
11552 (realize_x_face): Call load_face_font here.
11553 (realize_tty_face): Delete argument C. Change caller.
11554 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
11555 get a face ID.
11556 (dump_realized_face): Don't print charset of FACE.
11557
11558 * xfns.c (x_set_font): Always call x_new_fontset and
11559 store_frame_parameter.
11560 (Fx_create_frame): Call x_new_fontset, not x_new_font.
11561 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
11562
11563 * xterm.h (x_get_font_repertory): Extern it.
11564
11565 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
11566 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
11567 it->multibyte_p is zero.
11568 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
11569 (x_new_fontset): If FONTSETNAME doesn't match any existing
11570 fontsets, create a new one.
11571 (x_get_font_repertory): New function.
11572
115732008-02-01 Kenichi Handa <handa@m17n.org>
11574
11575 * coding.c (Ffind_coding_systems_region_internal): Detect an
11576 ASCII only string correctly.
11577
11578 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
11579 version is 0.
11580
115812008-02-01 Kenichi Handa <handa@m17n.org>
11582
11583 * lread.c: Include "coding.h".
11584 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
11585 (load_each_byte, unread_char): New variables.
11586 (readchar_backlog): Delete.
11587 (readchar): Return a character unless load_each_byte is nonzero.
11588 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
11589 cons. If unread_char is not -1, simply return it.
11590 (unreadchar): Handle the case that readcharfun is
11591 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
11592 (read_multibyte): Delete.
11593 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
11594 (read_emacs_mule_char): New functions.
11595 (Fload): Even if the file doesn't have the extension ".elc", if
11596 safe_to_load_p returns a positive version number, assume that the
11597 file contains bytecompiled code. If the version is less than 22,
11598 load the file while decoding multibyte sequences by emacs-mule.
11599 (readevalloop): Don't use readchar_backlog.
11600 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
11601 (Fread_from_string): Pay attention to the case that STREAM is a cons.
11602 (read_escape): Delete the arg BYTEREP.
11603 (read1): Set load_each_byte to 1 temporarily while handling
11604 #@NUMBER. Don't call read_multibyte.
11605 (read_vector): Call Fread with a cons. If readcharfun is
11606 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
11607 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
11608 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
11609 and Qload_force_doc_strings.
11610
116112008-02-01 Kenichi Handa <handa@m17n.org>
11612
11613 * xdisp.c (face_before_or_after_it_pos): Call
11614 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
11615
116162008-02-01 Kenichi Handa <handa@m17n.org>
11617
11618 * character.h (TRAILING_CODE_P): New macro.
11619 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
11620 (string_char_with_unification): Fix prototype.
11621 (Vscript_alist): Extern it.
11622
11623 * character.c (Vscript_alist): New variable.
11624 (string_char_with_unification, str_as_unibyte)
11625 (string_escape_byte8): Add `const' to local variables.
11626 (syms_of_character): Declare script-alist as a Lisp variable.
11627
11628 * charset.h (Vcharset_ordered_list): Extern it.
11629 (charset_ordered_list_tick): Extern it.
11630 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
11631 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
11632 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
11633 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
11634 (Funify_charset): Adjust for the change of Funify_charset.
11635
11636 * charset.c (charset_ordered_list_tick): New variable.
11637 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
11638 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
11639 deunify intead of unify a charset.
11640 (string_xstring_p): Add `const' to local variables.
11641 (find_charsets_in_text): Add `const' to arguments and local variables.
11642 (encode_char): Adjust for the change of Funify_charset. Fix
11643 detecting of invalid code.
11644 (Fset_charset_priority): Increment charset_ordered_list_tick.
11645 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
11646 and TO_CODE.
11647
11648 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
11649 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
11650 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
11651 (decode_coding_ccl, consume_chars)
11652 (Ffind_coding_systems_region_internal)
11653 (Fcheck_coding_systems_region): Add `const' to local variables.
11654
11655 * print.c (print_object): Use octal form for printing the
11656 contents of a bool vector.
11657
116582008-02-01 Dave Love <fx@gnu.org>
11659
11660 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
11661 <version == 20>: Refuse to load.
11662
116632008-02-01 Dave Love <fx@gnu.org>
11664
11665 * fns.c: Move coding.h.
11666 (Qcodeset, Qdays, Qmonths): New.
11667 (concat): Use CHARACTERP instead of INTEGERP.
11668 (Flocale_codeset): Delete.
11669 (Flanginfo): New function.
11670 (syms_of_fns): Change accordingly.
11671
11672 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
11673
116742008-02-01 Dave Love <fx@gnu.org>
11675
11676 * casetab.c (init_casetab_once, init_casetab_once): Fix
11677 CHAR_TABLE_SET call.
11678
11679 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
11680
11681 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
11682
11683 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
11684 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
11685 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
11686
11687 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
11688
11689 * coding.c (ENCODE_DESIGNATION, decode_eol)
11690 (make_conversion_work_buffer, code_conversion_restore)
11691 (Fdefine_coding_system_internal): Convert Lisp types.
11692 (code_conversion_restore): Use EQ, not ==.
11693 (Fencode_coding_string): Fix code_convert_string call.
11694
11695 * coding.h (code_convert_region): Fix prototype.
11696
11697 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
11698
11699 * fontset.c (fontset_ref, fontset_set, fs_load_font)
11700 (Ffontset_info): Convert Lisp types.
11701
11702 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
11703
11704 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
11705
11706 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
11707
11708 * chartab.c: Include "...h", not <...h> in some cases.
11709
11710 * callproc.c (Fcall_process): Remove unused variables.
11711
117122008-02-01 Dave Love <fx@gnu.org>
11713
11714 * coding.c (Fset_coding_system_priority): Allow null arg list.
11715
117162008-02-01 Dave Love <fx@gnu.org>
11717
11718 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
11719 (Fself_insert_and_exit): Use CHARACTERP.
11720
11721 * callproc.c (Fcall_process): Remove unused vars.
11722
11723 * xterm.c (XTread_socket): Add extra dead keysyms.
11724
11725 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
11726
11727 * dispextern.h: Remove prototypes for redraw_frame,
11728 redraw_garbaged_frames.
11729
11730 * cmds.c (Fself_insert_command): Use CHARACTERP.
11731
11732 * chartab.c (make_sub_char_table): Remove unused var.
11733 (Fset_char_table_default, Fmap_char_table): Doc fix.
11734
11735 * keymap.c (access_keymap): Remove generic char code.
11736 (push_key_description): Use CHARACTERP.
11737
117382008-02-01 Dave Love <fx@gnu.org>
11739
11740 * charset.c: Doc fixes.
11741 (Funify_charset): Extra checking.
11742
117432008-02-01 Dave Love <fx@gnu.org>
11744
11745 * lread.c: Remove some unused variables.
11746 (safe_to_load_p): If safe, return the magic number version byte.
11747 (Fload): Maybe use load-with-code-conversion.
11748
117492008-02-01 Kenichi Handa <handa@m17n.org>
11750
11751 * category.c (Fmodify_category_entry): Don't modify the contents
11752 of category_set for characters out of the range. Avoid
11753 unnecessary modification.
11754
11755 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
11756 Vchar_unify_table. The default value of the table is now nil.
11757
11758 * character.c (syms_of_character): Setup Vchar_width_table for
11759 eight-bit-control and raw-byte chars.
11760
11761 * charset.h (enum define_charset_arg_index): Delete
11762 charset_arg_parents and add charset_arg_subset and
11763 charset_arg_superset.
11764 (enum charset_attr_index): Delete charset_parents and add
11765 charset_subset and charset_superset.
11766 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
11767 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
11768 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
11769 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
11770 (CHARSET_SUPERSET): New macros.
11771 (charset_work): Extern it.
11772 (ENCODE_CHAR): Use charset_work.
11773 (CHAR_CHARSET_P): Adjust for the change of encoder format.
11774 (map_charset_chars): Extern it.
11775
11776 * charset.c (load_charset_map): Set the default value of encoder
11777 and deunifier char-tables to nil.
11778 (map_charset_chars): Change argument. Change callers. Use
11779 map_char_table_for_charset instead of map_char_table.
11780 (Fmap_charset_chars): New optional args from_code and to_code.
11781 (Fdefine_charset_internal): Adjust for the change of
11782 `define-charset' (:parents -> :subset or :superset).
11783 (charset_work): New variable.
11784 (encode_char, syms_of_charset): Adjust for the change of
11785 Fdefine_charset_internal.
11786 (Ffind_charset_string): Setup the vector `charsets' correctly.
11787
11788 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
11789 the previous change.
11790 (char_table_ref_and_range): Adjust for the above change.
11791 (map_sub_char_table_for_charset): New function.
11792 (map_char_table_for_charset): New function.
11793
11794 * keymap.c (describe_vector): Handle a char-table directly here.
11795 (describe_char_table): Delete.
11796
11797 * lisp.h (map_charset_chars): Delete.
11798
117992008-02-01 Dave Love <fx@gnu.org>
11800
11801 * fns.c (count_combining): Comment out (unused).
11802 (Flocale_codeset): New.
11803 (syms_of_fns): Defsubr it.
11804
11805 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
11806 (size_t): Remove.
11807
118082008-02-01 Dave Love <fx@gnu.org>
11809
11810 * Makefile.in (chartab.o): Depend on charset.h.
11811
118122008-02-01 Kenichi Handa <handa@m17n.org>
11813
11814 * character.c (syms_of_character): Set the default value of
11815 Vprintable_chars to Qnil.
11816
118172008-02-01 Dave Love <fx@gnu.org>
11818
11819 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
11820
118212008-02-01 Kenichi Handa <handa@m17n.org>
11822
11823 * charset.c (load_charset_map): Handle the case that from < to
11824 correctly.
11825
11826 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
11827 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
11828 Pay attention to raw-8-bit chars.
11829
118302008-02-01 Kenichi Handa <handa@m17n.org>
11831
11832 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
11833 It is not bytecompiled now.
11834
11835 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
11836 (charset_jisx0208): New variables.
11837 (Fdefine_charset_internal): Setup them if appropriate.
11838 (init_charset_once): Initialize them to -1.
11839
11840 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
11841 (charset_jisx0208): Extern them.
11842
11843 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
11844 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
11845 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
11846 (setup_iso_safe_charsets): Fix arguments to Fassq.
11847 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
11848 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
11849 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
11850 (encode_coding_iso_2022): Change the 1st arg to
11851 ENCODE_ISO_CHARACTER to a variable.
11852
118532008-02-01 Kenichi Handa <handa@m17n.org>
11854
11855 * charset.h (enum define_charset_arg_index): New enums
11856 charset_arg_min_code and charset_arg_max_code.
11857 (struct charset): New member char_index_offset.
11858
11859 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
11860 Take charset->char_index_offset into account.
11861 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
11862 args[charset_arg_max_code]. Setup charset.char_index_offset.
11863 (syms_of_charset): Fix args to Fdefine_charset_internal.
11864
118652008-02-01 Dave Love <fx@gnu.org>
11866
11867 * coding.c (decode_coding_utf_8): Reject overlong sequences.
11868
118692008-02-01 Dave Love <fx@gnu.org>
11870
11871 * coding.c: Doc fixes.
11872 (Fcoding_system_aliases): Fix return value.
11873 (Qmac): Remove (duplicated) definition.
11874
118752008-02-01 Dave Love <fx@gnu.org>
11876
11877 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
11878 functions.
11879
11880 * character.c (Fstring): Doc fix.
11881
11882 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
11883
11884 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
11885 ids.
11886 (font-encoding-alist): Doc fix.
11887
118882008-02-01 Dave Love <fx@gnu.org>
11889
11890 * term.c (costs_set): Declare static, non-initialized for pcc.
11891 (encode_terminal_code): Remove unused var.
11892
11893 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
11894 for K&R.
11895
11896 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
11897
11898 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
11899 (suffixes): Move out of make_subsidiaries for K&R.
11900
11901 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
11902
11903 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
11904
119052008-02-01 Dave Love <fx@gnu.org>
11906
11907 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
11908
11909 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
11910
119112008-02-01 Yong Lu <lyongu@asia-infonet.com>
11912
11913 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
11914
11915 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
11916
119172008-02-01 Kenichi Handa <handa@m17n.org>
11918
11919 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
11920 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
11921
119222008-02-01 Kenichi Handa <handa@m17n.org>
11923
11924 * coding.c (decode_coding_charset): Adjust for the change of
11925 Fdefine_coding_system_internal.
11926 (Fdefine_coding_system_internal): For a coding system of
11927 `charset' type, store a list of charset IDs in
11928 `charset_attr_charset_valids' element of coding attributes.
11929
119302008-02-01 Kenichi Handa <handa@m17n.org>
11931
11932 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
11933 (emacs_mule_char): New arg src. Delete arg `composition'. Change
11934 caller. Handle 2-byte and 3-byte charsets correctly.
11935 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
11936 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
11937 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
11938 (DECODE_EMACS_MULE_21_COMPOSITION): Call
11939 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
11940 sequence.
11941 (decode_coding_emacs_mule): Handle composition correctly. Rewind
11942 `src' and `consumed_chars' correctly before calling emacs_mule_char.
11943 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
11944 and alt&rule composition.
11945 (decode_coding_iso_2022): Handle composition correctly.
11946 (init_coding_once): Setup emacs_mule_bytes for private charsets.
11947
11948 * charset.c (Fdefine_charset_internal): Fix bug for the case of
11949 re-defining a charset. If the charset has :emacs-mule-id, setup
11950 emacs_mule_bytes.
11951 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
11952
119532008-02-01 Kenichi Handa <handa@m17n.org>
11954
11955 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
11956 (encode_coding_big5, encode_coding_charset): If coding requires safe
11957 encoding, produce a character specified by
11958 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
11959
119602008-02-01 Dave Love <fx@gnu.org>
11961
11962 * xterm.c (XSetIMValues): Declare.
11963
11964 * process.c: Conditionally include sys/wait.h, pty.h.
11965
11966 * print.c (print_object): Fix print format for 64-bit systems.
11967
11968 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
11969
11970 * buffer.c (emacs_strerror): Declare.
11971
11972 * fontset.c (Fclear_face_cache): Declare.
11973 (accumulate_font_info): Comment-out (unused).
11974 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
11975 variables.
11976
11977 * character.h (string_escape_byte8): Declare.
11978
11979 * charset.c (load_charset_map, load_charset_map_from_file): Remove
11980 unused vars.
11981 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
11982 (Fmap_charset_chars): Doc fix.
11983
11984 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
11985 (Fset_coding_system_priority, Fset_coding_system_priority)
11986 (Fdefine_coding_system_internal): Doc fix.
11987
119882008-02-01 Dave Love <fx@gnu.org>
11989
11990 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
11991
119922008-02-01 Kenichi Handa <handa@m17n.org>
11993
11994 * character.c (string_escape_byte8): Make multibyte string with
11995 correct size.
11996
11997 * charset.c (Fmake_char): Delete unnecessary code.
11998
119992008-02-01 Kenichi Handa <handa@m17n.org>
12000
12001 * xfns.c (x_encode_text): Allocate coding.destination here, and
12002 call encode_coding_object with dst_object Qnil.
12003
12004 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
12005 multibyte form correctly.
12006
12007 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
12008 against Vfont_encoding_alist.
12009
12010 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
12011 handling of charset list.
12012 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
12013 (decode_coding_object): Move point to coding->dst_pos before
12014 calling post-read-conversion function.
12015 (encode_coding_object): Give correct arguments to
12016 pre-write-conversion. Ignore the return value of
12017 pre-write-conversion function. Pay attention to the case that
12018 pre-write-conversion changes the current buffer. If dst_object is
12019 Qt, even if coding->src_bytes is zero, allocate at least one byte
12020 to coding->destination.
12021
12022 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
12023
12024 * charset.c (Fmake_char): Make it more backward compatible.
12025 (Fmap_charset_chars): Fix docstring.
12026
120272008-02-01 Dave Love <fx@gnu.org>
12028
12029 * coding.c: Doc fixes.
12030 (Fdefine_coding_system_alias): Use names, not symbols, in
12031 coding-system-alist.
12032
120332008-02-01 Kenichi Handa <handa@m17n.org>
12034
12035 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
12036 of calling free_realized_face.
12037
120382008-02-01 Yong Lu <lyongu@asia-infonet.com>
12039
12040 * charset.c (read_hex): Don't treat SPC as a comment starter.
12041 (decode_char): If CODE_POINT_TO_INDEX returns -1, always return -1.
12042 (Fdecode_char): Fix typo.
12043
120442008-02-01 Kenichi Handa <handa@m17n.org>
12045
12046 * charset.h (struct charset): New member `code_space_mask'.
12047
12048 * coding.c (coding_set_source): Delete the local variable beg_byte.
12049 (encode_coding_charset, Fdefine_coding_system_internal):
12050 Delete the local variable charset.
12051 (Fdefine_coding_system_internal): Setup
12052 attrs[coding_attr_charset_valids] correctly.
12053
12054 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
12055 member to check if CODE is valid or not.
12056 (Fdefine_charset_internal): Initialize `code_space_mask' member.
12057 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
12058 is within the range of charset->min_code and carset->max_code.
12059
120602008-02-01 Dave Love <fx@gnu.org>
12061
12062 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
12063
12064 * dispextern.h (generate_ascii_font): Fix return type.
12065
12066 * xfaces.c (generate_ascii_font): Fix arg declaration.
12067
12068 * coding.c (coding_inherit_eol_type)
12069 (Fset_terminal_coding_system_internal)
12070 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
12071
120722008-02-01 Kenichi Handa <handa@m17n.org>
12073
12074 * coding.c (decode_coding_charset, encode_coding_charset): Handle
12075 multiple charsets correctly.
12076
120772008-02-01 Kenichi Handa <handa@m17n.org>
12078
12079 * search.c (boyer_moore): Fix handling of multibyte character
12080 translation.
12081
12082 * xdisp.c (display_mode_element): When the variable `elt' is
12083 changed, update `this' and `lisp_string'.
12084
120852008-02-01 Kenichi Handa <handa@m17n.org>
12086
12087 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
12088
12089 * callproc.c (Fcall_process): Be sure to give the current buffer
12090 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
12091
12092 * charset.c (struct charset_map_entries): New struct.
12093 (load_charset_map): Rename from parse_charset_map. New args
12094 entries and n_entries. Change caller.
12095 (load_charset_map_from_file): Rename from load_charset_map.
12096 Change caller. New arg control_flag. Call load_charset_map at
12097 the tail.
12098 (load_charset_map_from_vector): New function.
12099 (Fdefine_charset_internal): Setup charset.compact_codes_p.
12100 (encode_char): If the charset is compact, change a character index
12101 to a code point.
12102
12103 * coding.c (coding_alloc_by_making_gap): Check the case that the
12104 source and destination are the same correctly.
12105 (decode_coding_raw_text): Set coding->consumed_char and
12106 coding->consumed to 0.
12107 (produce_chars): If coding->chars_at_source is nonzero, update
12108 coding->consumed_char and coding->consumed before calling
12109 alloc_destination.
12110 (Fdefine_coding_system_alias): Register ALIAS in
12111 Vcoding_system_alist.
12112 (syms_of_coding): Define `no-conversion' coding system at the tail.
12113
12114 * fileio.c (Finsert_file_contents): Set coding_system instead of
12115 val. If the current buffer is multibyte, always call
12116 decode_coding_gap.
12117
12118 * xfaces.c (try_font_list): Give higher priority to fontset's
12119 family than face's family.
12120
121212008-02-01 Kenichi Handa <handa@m17n.org>
12122
12123 * callproc.c (Fcall_process): Be sure to give the current buffer
12124 to decode_coding_c_string.
12125
12126 * xfaces.c (try_font_list): Give a family specified in a fontset
12127 higher priority than a family specified in a face.
12128
121292008-02-01 Kenichi Handa <handa@m17n.org>
12130
12131 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
12132 Fix arguments to insert_from_buffer.
12133
12134 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
12135
121362008-02-01 Kenichi Handa <handa@m17n.org>
12137
12138 * coding.c (produce_chars): Set the variable `multibytep' correctly.
12139 (decode_coding_gap): Set coding->dst_multibyte correctly.
12140
121412008-02-01 Kenichi Handa <handa@m17n.org>
12142
12143 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
12144 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
12145 (encode_coding_utf_16): Substitute coding->default_char for
12146 non-Unicode characters.
12147 (decode_coding): Don't call record_insert here.
12148 (setup_coding_system): Initialize `surrogate' of
12149 coding->spec.utf_16 to 0.
12150 (EMIT_ONE_BYTE): Fix for multibyte case.
12151
12152 * insdel.c (insert_from_gap): Call record_insert.
12153
121542008-02-01 Kenichi Handa <handa@m17n.org>
12155
12156 * casefiddle.c (casify_region): Fix multibyte case.
12157
12158 * character.c (c_string_width): Add return type `int'.
12159 (char_string_with_unification): Delete arg ADVANCED.
12160
12161 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
12162 (CHAR_STRING): Adjust for the change of char_string_with_unification.
12163 (CHAR_STRING_ADVANCE): Make it do-while statement.
12164
12165 * chartab.c (sub_char_table_set_range): Optimize for the case
12166 DEPTH == 3. Add workaround code for a GCC optimization bug.
12167
12168 * charset.c (parse_charset_map): Remove an unused variable.
12169
12170 * coding.c: Delete unused variables.
12171
12172 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
12173 earlier. If inserted is zero and the coding system doesn't
12174 require flushing, don't call decode_coding_gap.
12175
12176 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
12177
121782008-02-01 Kenichi Handa <handa@m17n.org>
12179
12180 The following changes are for using Unicode as an internal
12181 character model, and use UTF-8 format for buffer/string
12182 representation.
12183
12184 * .gdbinit (xchartable): Adjust for the change of char table structure.
12185 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
12186
12187 * Makefile.in (obj): Add character.o and chartab.o.
12188 (lisp, shortlisp): Remove utf-8.elc.
12189 (*.o): For many files, change dependency on charset.h to
12190 character.h, and add dependency on character.h.
12191 (character.o, chartab.o): New targets.
12192
12193 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
12194 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
12195 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
12196 of "charset.h".
12197
12198 * dired.c, filelock.c: Include "character.h".
12199
12200 * alloc.c: Include "character.h" instead of "charset.h".
12201 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
12202 (syms_of_alloc): Remove defsubr for Smake_char_table.
12203
12204 * buffer.c: Include "character.h" instead of "charset.h", don't
12205 include "coding.h".
12206 (Fset_buffer_multibyte): Adjust for UTF-8.
12207
12208 * buffer.h: EXFUN Fbuffer_live_p.
12209
12210 * callproc.c: Include "character.h" instead of "charset.h".
12211 (Fcall_process): Big change for the new code-conversion APIs.
12212
12213 * casetab.c: Include "character.h" instead of "charset.h".
12214 (set_canon, set_identity, shuffle): Adjust for the new
12215 map_char_table spec.
12216 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
12217 accessing the char table structure.
12218
12219 * chartab.c: New file that implements char table.
12220
12221 * category.c: Include "character.h".
12222 (copy_category_entry): New function.
12223 (copy_category_table): Call map_char_table and copy_category_entry.
12224 (Fmake_category_table): Initialize all top-level slots.
12225 (char_category_set): New function.
12226 (modify_lower_category_set): Delete.
12227 (Fmodify_category_entry): Call char_table_ref_and_range.
12228
12229 * category.h (CATEGORY_SET): Just call char_category_set.
12230
12231 * ccl.c: Include "character.h".
12232 (Qccl, Qcclp): New variables.
12233 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
12234 it's less than 256.
12235 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
12236 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
12237 and DST type.
12238 (ccl_driver): Change types of argument, adjust code accordingly.
12239 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
12240 ccl_driver.
12241 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
12242
12243 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
12244 New members src_multibyte, dst_multibyte, consumed, and produced.
12245 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
12246 (CODING_SPEC_CCL_PROGRAM): New macro.
12247 (ccl_driver): Update prototype.
12248 (Qccl, Qcclp, Fccl_program_p): Extern them.
12249 (CHECK_CCL_PROGRAM): New macro.
12250
12251 * character.c, character.h, chartab.c: New files.
12252
12253 * charset.c: Mostly re-written. Move character and multibyte sequence
12254 handling codes to character.c.
12255
12256 * charset.h: Mostly re-written. Move character and multibyte sequence
12257 handling codes to character.h.
12258
12259 * coding.c, coding.h: Mostly re-written.
12260
12261 * composite.c: Include "character.h" instead of "charset.h".
12262 (CHAR_WIDTH): Move to character.h.
12263 (HASH_KEY, HASH_VALUE): Delete.
12264
12265 * composite.h (enum composition_method): Change order of enumeration
12266 symbols.
12267
12268 * data.c: Include "character.h" instead of "charset.h".
12269 (Faref): Call CHAR_TABLE_REF for a char table.
12270 (Faset): Call CHAR_TABLE_SET for a char table.
12271
12272 * dispextern.h (free_realized_face, check_face_attribytes)
12273 (generate_ascii_font): Extern them.
12274 (free_realized_multibyte_face): Delete extern.
12275
12276 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
12277 table structure.
12278
12279 * editfns.c: Include "character.h" instead of "charset.h".
12280 (Fchar_to_string): Always call CHAR_STRING.
12281
12282 * emacs.c (main): Call init_charset_once, init_charset,
12283 syms_of_chartab, and syms_of_character.
12284
12285 * fileio.c: Include "character.h" instead of "charset.h".
12286 (Finsert_file_contents): Big change for the new code-conversion API.
12287 (choose_write_coding_system, Fwrite_region): Likewise.
12288 (build_annotations_2): Delete.
12289 (e_write): Big change for the new code-conversion API.
12290
12291 * fns.c: Include "character.h" instead of "charset.h".
12292 (copy_sub_char_table): Move to chartab.c.
12293 (Fcopy_sequence): Call copy_char_table for a char table.
12294 (concat): Delete codes calling count_multibyte.
12295 (string_char_to_byte, string_byte_to_char): Adjust for the new
12296 multibyte form.
12297 (internal_equal): Adjust for the change of char table structure.
12298 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
12299 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
12300 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
12301 (char_table_translate, optimize_sub_char_table)
12302 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
12303 chartab.c.
12304 (char_table_ref_and_index): Delete.
12305 (HASH_KEY, HASH_VALUE): Move to lisp.h.
12306 (Fmd5): Call preferred_coding_system instead of accessing
12307 Vcoding_category_list. Adjust for the new code-conversion API.
12308 (syms_of_fns): Move defsubr for char table related functions to
12309 chartab.c.
12310
12311 * fontset.c: Mostly re-written.
12312
12313 * fontset.h (struct font_info): Change type of the member encoding_type.
12314 (enum FONT_SPEC_INDEX): New enum.
12315 (fontset_font_pattern, fs_load_font): Update prototype.
12316 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
12317
12318 * indent.c: Include "character.h" instead of "charset.h".
12319 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
12320
12321 * insdel.c: Include "character.h" instead of "charset.h".
12322 (copy_text): Don't refer to Vnonascii_translation_table.
12323 (insert_from_gap): New function.
12324
12325 * keyboard.c: Include "character.h" instead of "charset.h".
12326 (command_loop_1): Never call direct_output_forward_char before
12327 a non-ASCII character.
12328 (read_char): If Vkeyboard_translate_table is a char table, always
12329 translate a character.
12330
12331 * keymap.c: Include "character.h".
12332 (store_in_keymap): Handle the case that IDX is a cons.
12333 (Fdefine_key): Handle the case that KEY is a cons and the car part
12334 is also a cons (range).
12335 (push_key_description): Adjust for the new character code.
12336 (describe_vector): Call describe_char_table for a char table.
12337 (describe_char_table): New function.
12338
12339 * keymap.h (describe_char_table): Extern it.
12340
12341 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
12342 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
12343 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
12344 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
12345 Delete.
12346 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
12347 structure.
12348 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
12349 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
12350 (CHARTAB_SIZE_BITS_3): New macros.
12351 (chartab_size): Extern it.
12352 (struct Lisp_Char_Table): Re-design.
12353 (struct Lisp_Sub_Char_Table): New structure.
12354 (HASH_KEY, HASH_VALUE): Move from fns.c.
12355 (CHARACTERBITS): Define as 22.
12356 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
12357 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
12358 (GC_SUB_CHAR_TABLE_P): New macro.
12359 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
12360 (code_convert_string_norecord): Deleted extern.
12361 (init_character_once, syms_of_character, init_charset)
12362 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
12363
12364 * lread.c: Include "character.h".
12365 (read_multibyte): New arg NBYTES.
12366 (read_escape): Change the meaning of returned *BYTEREP.
12367 (to_multibyte): Delete.
12368 (read1): Adjust the handling of char table and string.
12369
12370 * print.c: Include "character.h" instead of "charset.h".
12371 (print_string): Convert 8-bit raw bytes to octal form by
12372 string_escape_byte8.
12373 (print_object): Adjust for the new multibyte form. Print 8-bit
12374 raw bytes always in octal form. Handle sub char table correctly.
12375
12376 * process.c: Include "character.h" instead of "charset.h".
12377 (read_process_output, send_process): Adjust for the new
12378 code-conversion API.
12379
12380 * puresize.h (BASE_PURESIZE): Increase.
12381
12382 * regex.c: Include "character.h" instead of "charset.h".
12383 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
12384 (regex_compile): Accept a range whose starting and ending
12385 character have different leading bytes.
12386 (analyse_first): Adjust for the above change.
12387
12388 * search.c: Include "character.h" instead of "charset.h".
12389 (search_buffer, boyer_moore): Adjust for the new multibyte form.
12390 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
12391
12392 * syntax.c: Include "character.h" instead of "charset.h".
12393 (syntax_parent_lookup): Delete.
12394 (Fmodify_syntax_entry): Accept a cons as CHAR.
12395 (skip_chars): Adjust for the new multibyte form.
12396 (init_syntax_once): Call char_table_set_range instead of directly
12397 accessing the structure of a char table.
12398
12399 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
12400 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
12401 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
12402 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
12403
12404 * term.c: Include "buffer.h" and "character.h".
12405 (encode_terminal_code, write_glyphs): Adjust for the new
12406 code-conversion API.
12407 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
12408
12409 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
12410
12411 * xdisp.c: Include "character.h".
12412 (get_next_display_element): Adjust for the new multibyte form.
12413 (disp_char_vector): Adjust for the new char table structure.
12414 (decode_mode_spec_coding): Adjust for the new structure of
12415 coding system.
12416 (decode_mode_spec): Adjust for the new code-conversion API.
12417
12418 * xfaces.c: Include "character.h" instead of "charset.h".
12419 (load_face_font): Adjust for the change of choose_face_font and
12420 FS_LOAD_FONT.
12421 (generate_ascii_font): New function.
12422 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
12423 (set_font_frame_param): Adjust for the change of choose_face_font.
12424 (free_realized_face): Make it public.
12425 (free_realized_faces_for_fontset): Rename from
12426 free_realized_multibyte_face. Free also faces realized for ASCII.
12427 (choose_face_font): Change arguments. Adjust for the change of
12428 fontset_font_pattern and FS_LOAD_FONT.
12429
12430 * xfns.c: Include "character.h".
12431 (x_encode_text): Adjust for the new code-conversion API.
12432
12433 * xselect.c: Don't include "charset.h".
12434 (selection_data_to_lisp_data): Adjust for the new code conversion API.
12435
12436 * xterm.c: Include "character.h".
12437 (x_encode_char): New argument CHARSET. Change caller.
12438 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
12439 Call ENCODE_CHAR instead of SPLIT_CHAR.
12440 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
12441 CHAR_WIDTH instead of CHARSET_WIDTH.
12442 (XTread_socket): Adjust for the new code-conversion API.
12443 (x_new_font): Adjust for the change of FS_LOAD_FONT.
12444 (x_load_font): Adjust for the change of struct font.
12445
124462008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
12447
12448 * xfaces.c (face_at_buffer_position): Remove unused vars.
12449
124502008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12451
12452 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
12453 Fix overflow checking.
12454
124552008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12456
12457 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
12458 Cancel previous change.
12459
124602008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
12461
12462 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
12463 ccl->eight_bit_control. Fix check for buffer overflow.
12464 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
12465 (ccl_driver): Initialize extra_bytes to 0.
12466
124672008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
12468
12469 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
12470 return it ORed with ctrl_modifier.
12471
124722008-01-29 Miles Bader <miles@gnu.org>
12473
12474 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
12475
124762008-01-28 Jason Rumney <jasonr@gnu.org>
12477
12478 * w32.c (stat): Don't double check for networked drive.
12479
124802008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
12481
12482 * window.c (run_window_configuration_change_hook): New function.
12483 Code extracted from set_window_buffer. Set the selected frame.
12484 (set_window_buffer): Use it.
12485 * window.h (run_window_configuration_change_hook): Declare.
12486 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
12487
12488 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
12489
124902008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
12491
12492 * Makefile.in: Remove references to unused macros.
12493
124942008-01-26 Eli Zaretskii <eliz@gnu.org>
12495
12496 * w32.c (g_b_init_get_sid_sub_authority)
12497 (g_b_init_get_sid_sub_authority_count): New static variables.
12498 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
12499 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
12500 (init_user_info): Use them to retrieve uid and gid.
12501 Use 500/513, the Windows defaults, as Administrator's uid/gid.
12502 (fstat): Use pw_uid and pw_gid from the_passwd structure for
12503 st_uid and st_gid of the file.
12504
125052008-01-26 Jason Rumney <jasonr@gnu.org>
12506
12507 * w32.c (logon_network_drive): New function.
12508 (stat): Use it.
12509
125102008-01-26 Chong Yidong <cyd@stupidchicken.com>
12511
12512 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
12513 invisible text covered with an ellipsis.
12514
125152008-01-25 Richard Stallman <rms@gnu.org>
12516
12517 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
12518 jump back to beginning. Move some other initializations after that.
12519 (Qwindow_text_change_functions, Vwindow_text_change_functions):
12520 New variables.
12521 (syms_of_xdisp): Init them.
12522
12523 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
12524
12525 * buffer.c (reset_buffer_local_variables):
12526 Implement `permanent-local-hook'.
12527 (Qpermanent_local_hook): New variable.
12528 (syms_of_buffer): Init and staticpro it.
12529
125302008-01-25 Michael Albinus <michael.albinus@gmx.de>
12531
12532 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
12533
125342008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
12535
12536 * fns.c (Fclrhash): Return TABLE.
12537
125382008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12539
12540 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
12541 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
12542 is set even without positional changes.
12543 (x_scroll_bar_clear): Set bar->redraw_needed_p.
12544
12545 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
12546
125472008-01-23 Jason Rumney <jasonr@gnu.org>
12548
12549 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
12550
12551 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
12552 the unicode range available in MULE by locale-coding-system.
12553 Improve dbcs lead byte detection. Set event timestamp and modifiers
12554 earlier.
12555
125562008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12557
12558 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
12559 [MAC_OSX] (init_mac_osx_environment): Initialize it.
12560 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
12561 when used on child processes.
12562
125632008-01-21 Michael Albinus <michael.albinus@gmx.de>
12564
12565 * dbusbind.c (Fdbus_method_return_internal): Rename from
12566 Fdbus_method_return.
12567 (Fdbus_unregister_object): Move to dbus.el.
12568 (Fdbus_call_method, Fdbus_method_return_internal)
12569 (Fdbus_send_signal): Improve debug messages.
12570
125712008-01-20 Martin Rudalics <rudalics@gmx.at>
12572
12573 * undo.c (undo_inhibit_record_point): New variable.
12574 (syms_of_undo): Initialize it.
12575 (record_point): Don't record point when undo_inhibit_record_point
12576 is set.
12577
125782008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
12579
12580 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
12581
12582 * xdisp.c (Qauto_hscroll_mode): New var.
12583 (syms_of_xdisp): Initialize it.
12584 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
12585 window's buffer.
12586 (hscroll_windows): Don't check automatic_hscrolling_p here.
12587
12588 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
12589 vscroll if we're setting window-buffer to the value it already has.
12590
125912008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
12592
12593 * m/intel386.h: Remove references to XENIX.
12594
125952008-01-17 Andreas Schwab <schwab@suse.de>
12596
12597 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
12598 instead of HAVE_X86_64_LIB64_DIR.
12599 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
12600
126012008-01-17 Glenn Morris <rgm@gnu.org>
12602
12603 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
12604 to HAVE_X86_64_LIB64_DIR.
12605
126062008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
12607
12608 * s/irix3-3.h:
12609 * s/irix4-0.h:
12610 * s/386-ix.h:
12611 * s/domain.h:
12612 * s/hpux9-x11r4.h:
12613 * s/hpux9shxr4.h: Remove files for systems no longer supported.
12614
12615 * sysdep.c: Remove code containing references to symbols defined
12616 by unsupported systems.
12617
126182008-01-16 Glenn Morris <rgm@gnu.org>
12619
12620 * coding.c (select-safe-coding-system-function): Doc fix.
12621
126222008-01-15 Glenn Morris <rgm@gnu.org>
12623
12624 * config.in: Revert 2008-01-13 change: this is a generated file.
12625
126262008-01-13 Tom Tromey <tromey@redhat.com>
12627
12628 * lisp.h: Fix typo.
12629
126302008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
12631
12632 * m/sequent-ptx.h:
12633 * m/sequent.h:
12634 * s/ptx.h:
12635 * s/ptx4-2.h:
12636 * s/ptx4.h: Remove files for systems no longer supported.
12637
12638 * callproc.c (Fcall_process): Fix previous change.
12639
126402008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
12641
12642 * unexsunos4.c: Remove file, system not supported anymore.
12643
12644 * m/mips.h:
12645 * m/intel386.h:
12646 * callproc.c:
12647 * config.in:
12648 * ecrt0.c:
12649 * emacs.c:
12650 * fileio.c:
12651 * frame.c:
12652 * getpagesize.h:
12653 * keyboard.c:
12654 * lread.c:
12655 * process.c:
12656 * puresize.h:
12657 * sysdep.c:
12658 * systty.h:
12659 * syswait.h:
12660 * unexec.c:
12661 * xdisp.c:
12662 * alloc.c: Remove code containing references to symbols defined by
12663 unsupported systems.
12664
126652008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
12666
12667 * coding.c (detect_coding_mask): Fix previous change.
12668
126692008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
12670
12671 * coding.c (detect_coding_iso2022): New arg
12672 latin_extra_code_state. Allow Latin extra codes only
12673 when *latin_extra_code_state is nonzero.
12674 (detect_coding_mask): If there is a NULL byte, detect the encoding
12675 as UTF-16 or binary. If Latin extra codes exist, detect the
12676 encoding as ISO-2022 only when there's no other proper encoding is
12677 found.
12678
126792008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12680
12681 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
12682 #ifdef MAC_OS.
12683
126842008-01-08 Richard Stallman <rms@gnu.org>
12685
12686 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
12687
126882008-01-06 Nick Roberts <nickrob@snap.net.nz>
12689
12690 * keyboard.c (parse_menu_item): Don't enclose key bindings on
12691 menu bar in parentheses.
12692
126932008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
12694
12695 * m/7300.h:
12696 * m/acorn.h:
12697 * m/alliant-2800.h:
12698 * m/alliant.h:
12699 * m/alliant1.h:
12700 * m/alliant4.h:
12701 * m/altos.h:
12702 * m/amdahl.h:
12703 * m/apollo.h:
12704 * m/att3b.h:
12705 * m/aviion-intel.h:
12706 * m/aviion.h:
12707 * m/celerity.h:
12708 * m/clipper.h:
12709 * m/cnvrgnt.h:
12710 * m/convex.h:
12711 * m/cydra5.h:
12712 * m/delta88k.h:
12713 * m/dpx2.h:
12714 * m/dual.h:
12715 * m/elxsi.h:
12716 * m/f301.h:
12717 * m/gould-np1.h:
12718 * m/gould.h:
12719 * m/i860.h:
12720 * m/ibmps2-aix.h:
12721 * m/ibmrt-aix.h:
12722 * m/ibmrt.h:
12723 * m/irist.h:
12724 * m/is386.h:
12725 * m/isi-ov.h:
12726 * m/mega68.h:
12727 * m/mg1.h:
12728 * m/news-r6.h:
12729 * m/news-risc.h:
12730 * m/news.h:
12731 * m/nh3000.h:
12732 * m/nh4000.h:
12733 * m/ns16000.h:
12734 * m/ns32000.h:
12735 * m/nu.h:
12736 * m/orion.h:
12737 * m/orion105.h:
12738 * m/paragon.h:
12739 * m/pfa50.h:
12740 * m/plexus.h:
12741 * m/pyramid.h:
12742 * m/pyrmips.h:
12743 * m/sh3el.h:
12744 * m/sps7.h:
12745 * m/sr2k.h:
12746 * m/stride.h:
12747 * m/sun1.h:
12748 * m/sun2.h:
12749 * m/sun3-68881.h:
12750 * m/sun3-fpa.h:
12751 * m/sun3-soft.h:
12752 * m/sun3.h:
12753 * m/sun386.h:
12754 * m/symmetry.h:
12755 * m/tad68k.h:
12756 * m/tahoe.h:
12757 * m/targon31.h:
12758 * m/tek4300.h:
12759 * m/tekxd88.h:
12760 * m/tower32.h:
12761 * m/tower32v3.h:
12762 * m/ustation.h:
12763 * m/wicat.h:
12764 * m/xps100.h:
12765 * s/cxux.h:
12766 * s/cxux7.h:
12767 * s/dgux.h:
12768 * s/dgux4.h:
12769 * s/dgux5-4-3.h:
12770 * s/dgux5-4r2.h:
12771 * s/esix.h:
12772 * s/esix5r4.h:
12773 * s/hiuxmpp.h:
12774 * s/hiuxwe2.h:
12775 * s/iris3-5.h:
12776 * s/iris3-6.h:
12777 * s/isc2-2.h:
12778 * s/isc3-0.h:
12779 * s/isc4-0.h:
12780 * s/isc4-1.h:
12781 * s/newsos5.h:
12782 * s/newsos6.h:
12783 * s/osf1.h:
12784 * s/osf5-0.h:
12785 * s/riscix1-1.h:
12786 * s/riscix12.h:
12787 * s/sco4.h:
12788 * s/sco5.h:
12789 * s/sunos4-0.h:
12790 * s/sunos4-1.h:
12791 * s/sunos413.h:
12792 * s/sunos4shr.h:
12793 * s/umax.h:
12794 * s/unipl5-2.h:
12795 * s/xenix.h:
12796 * cxux-crt0.s:
12797 * unexapollo.c:
12798 * unexconvex.c:
12799 * unexenix.c:
12800 * unexsni.c: Remove files for systems no longer supported.
12801
12802 * m/intel386.h: Remove references to unsupported systems.
12803
12804 * w32.c (get_emacs_configuration): Remove reference to i860.
12805
12806 * sysdep.c: Remove dead code.
12807
128082008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
12809
12810 * s/rtu.h:
12811 * m/masscomp.h: Remove files. Platform is obsolete.
12812
128132008-01-04 Michael Albinus <michael.albinus@gmx.de>
12814
12815 * dbusbind.c (Fdbus_method_return): New function.
12816 (xd_read_message): Add the serial number to the event.
12817 (Fdbus_register_method): Activate the function.
12818
128192008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
12820
12821 * keyboard.c (read_key_sequence): Fix typo.
12822
128232008-01-03 Michael Albinus <michael.albinus@gmx.de>
12824
12825 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
12826 (xd_signature, xd_append_arg): Handle element type detection for
12827 empty arrays.
12828 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
12829 SDATA () calls; this must be solved more general.
12830 (Fdbus_register_signal): Use SBYTES instead of strlen.
12831
128322008-01-03 Magnus Henoch <magnus@zemdatav>
12833
12834 * dbusbind.c (xd_append_arg): Use unsigned char instead of
12835 unsigned int for byte values (necessary for big-endian platform).
12836 (Fdbus_call_method): Handle the case of no returned arguments.
12837
128382007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
12839
12840 * dbusbind.c (xd_read_message): Use non-static input_event struct.
12841
128422007-12-31 Magnus Henoch <mange@freemail.hu>
12843
12844 * dbusbind.c (xd_signature): Signature of variant is just "v".
12845
128462007-12-30 Michael Albinus <michael.albinus@gmx.de>
12847
12848 * dbusbind.c: Fix several errors and compiler warnings.
12849 Reported by Tom Tromey <tromey@redhat.com>.
12850 (XD_ERROR, XD_DEBUG_MESSAGE)
12851 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
12852 (xd_append_arg): Part for basic D-Bus types rewritten.
12853 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
12854 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
12855 appropriate.
12856 (xd_read_message): Return Qnil. Don't signal an error; it is not
12857 useful during event reading.
12858 (Fdbus_register_signal): Signal an error if the check for
12859 FUNCTIONP fails.
12860 (Fdbus_register_method): New function. The implementation is not
12861 complete, the call of the function signals an error therefore.
12862 (Fdbus_unregister_object): New function, renamed from
12863 Fdbus_unregister_signal. The initial check signals an error, if
12864 the object is not well formed.
12865
128662007-12-30 Richard Stallman <rms@gnu.org>
12867
12868 * textprop.c (get_char_property_and_overlay):
12869 Signal error if POSITION is out of range in a buffer.
12870
128712007-12-29 Martin Rudalics <rudalics@gmx.at>
12872
12873 * w32fns.c (Fx_create_frame): Make copy of frame parameters
12874 because the original parameters are in pure storage now.
12875
128762007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12877
12878 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
12879
128802007-12-22 Eli Zaretskii <eliz@gnu.org>
12881
12882 * callint.c (syms_of_callint) <command-history>: Add reference to
12883 history-length in the doc string.
12884
128852007-12-17 Jason Rumney <jasonr@gnu.org>
12886
12887 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
12888 before passing as wParam.
12889
128902007-12-22 Michael Albinus <michael.albinus@gmx.de>
12891
12892 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
12893 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
12894 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
12895 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
12896 as number.
12897 (Fdbus_call_method): Fix docstring.
12898
128992007-12-21 Michael Albinus <michael.albinus@gmx.de>
12900
12901 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
12902 New macros.
12903 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
12904 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
12905 Simplify.
12906 (xd_signature): New function.
12907 (xd_append_arg): Compute also signatures. Major rewrite.
12908 (xd_retrieve_arg): Make debug messages friendly.
12909 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
12910 Check for signatures of arguments.
12911
129122007-12-19 Michael Albinus <michael.albinus@gmx.de>
12913
12914 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
12915 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
12916 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
12917 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
12918 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
12919 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
12920 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
12921 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
12922 (xd_retrieve_value): Remove. Functionality included in ...
12923 (xd_append_arg): New function.
12924 (Fdbus_call_method, Fdbus_send_signal): Apply it.
12925
129262007-12-16 Michael Albinus <michael.albinus@gmx.de>
12927
12928 * dbusbind.c (top): Include <stdio.h>.
12929 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
12930 dbus_message_new_method_call and dbus_message_new_signal.
12931 (Fdbus_register_signal): Rename unique_name to uname.
12932 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
12933 non-existing unique name. Fix typos in matching rule. Return an
12934 object which is useful in Fdbus_unregister_signal.
12935 (Fdbus_unregister_signal): Reimplementation, in order to remove
12936 only the corresponding entry.
12937 (Vdbus_registered_functions_table): Change the order of entries.
12938 Apply these changes in xd_read_message and Fdbus_register_signal.
12939
129402007-12-16 Andreas Schwab <schwab@suse.de>
12941
12942 * fileio.c (Finsert_file_contents): Fix overflow check to not
12943 depend on undefined integer overflow.
12944
129452007-12-14 Jason Rumney <jasonr@gnu.org>
12946
12947 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
12948 for characters above 127.
12949
129502007-12-13 Jason Rumney <jasonr@gnu.org>
12951
12952 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
12953 before dereferencing array.
12954 (lookup_vk_code): Remove zero comparison.
12955
129562007-12-14 Michael Albinus <michael.albinus@gmx.de>
12957
12958 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
12959 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
12960 Use `unsigned int' instead of `uint'.
12961 (xd_read_message, Fdbus_register_signal): Split expressions into
12962 multiple lines before operators "&&" and "||", according to the
12963 GNU Coding Standards.
12964
129652007-12-14 Eli Zaretskii <eliz@gnu.org>
12966
12967 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
12968
129692007-12-12 Juri Linkov <juri@jurta.org>
12970
12971 * buffer.c (Frename_buffer): In interactive spec replace
12972 `read-buffer' with `read-string' that uses `buffer-name-history'
12973 as history, and the current buffer's name as default.
12974
129752007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
12976
12977 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
12978 manipulating the backtrace manually.
12979 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
12980 (struct backtrace, backtrace_list): Remove.
12981 (command_loop_1): Remove dead var `no_direct'.
12982
12983 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
12984 preserve non-built-in buffer-local variables.
12985 (Fkill_all_local_variables): Don't re-create&re-set permanent
12986 buffer-local variables.
12987
129882007-12-09 Juri Linkov <juri@jurta.org>
12989
12990 * buffer.c (Frename_buffer): Change interactive spec from "s" to
12991 Lisp code that uses `read-buffer' with current buffer as default.
12992
129932007-12-08 Michael Albinus <michael.albinus@gmx.de>
12994
12995 * dbusbind.c (xd_read_message): Generate an event for every
12996 registered handler. There might be several handlers registered
12997 for the same signal.
12998 (Fdbus_register_signal): Don't overwrite a registration for the
12999 same signal. Add a new registration if handlers are different.
13000 (Vdbus_registered_functions_table): Rework doc string.
13001
130022007-12-07 Michael Albinus <michael.albinus@gmx.de>
13003
13004 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
13005 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
13006 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
13007 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
13008 Unify argument lists.
13009 (xd_read_message, Fdbus_register_signal): Reorder and extend event
13010 arguments and hash table keys. Use unique name for service.
13011 (Fdbus_unregister_signal): Remove checks.
13012 (Vdbus_registered_functions_table): Fix doc string.
13013
130142007-12-05 Magnus Henoch <mange@freemail.hu>
13015
13016 * process.c (make_process): Initialize pty_flag to 0.
13017
130182007-12-05 Jason Rumney <jasonr@gnu.org>
13019
13020 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
13021 specified XBMs.
13022
130232007-12-05 Richard Stallman <rms@gnu.org>
13024
13025 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
13026
130272007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13028
13029 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
13030 New variable.
13031 (mac_try_close_socket) [MAC_OSX]: New function.
13032 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
13033 Update cfsockets_for_select. Replace invalid CFRunLoop source.
13034
13035 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
13036 Use mac_try_close_socket.
13037
130382007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13039
13040 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
13041 reloc_base.
13042 (copy_dysymtab): Compute relocation base here.
13043 (rebase_reloc_address) [__ppc64__]: New function.
13044 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
13045 changed.
13046
130472007-12-05 Jason Rumney <jasonr@gnu.org>
13048
13049 * w32proc.c (sys_spawnve): Quote args with wildcards.
13050
130512007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13052
13053 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
13054 __objc_* sections.
13055 (unrelocate) [_LP64]: Set relocation base to address of data segment.
13056
130572007-12-05 Michael Albinus <michael.albinus@gmx.de>
13058
13059 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
13060 Move check for Vdbus_registered_functions_table to
13061 xd_read_queued_messages.
13062 (xd_read_queued_messages): Protect xd_read_message calls by
13063 internal_condition_case_1.
13064
130652007-12-04 Michael Albinus <michael.albinus@gmx.de>
13066
13067 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
13068 Qdbus_system_bus and Qdbus_session_bus, respectively.
13069 (Vdbus_intern_symbols): Remove.
13070 (Vdbus_registered_functions_table): New hash table.
13071 (XD_SYMBOL_INTERN_SYMBOL): Remove.
13072 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
13073 Rewrite in order to manage registered functions by hash table
13074 Vdbus_registered_functions_table.
13075
130762007-12-03 Jan Djärv <jan.h.d@swipnet.se>
13077
13078 * xterm.c: Update URL to Window Manager Specification in comment.
13079
130802007-12-02 Michael Albinus <michael.albinus@gmx.de>
13081
13082 * config.in (HAVE_DBUS): Add.
13083
13084 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
13085 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
13086 (obj): Add $(DBUS_OBJ).
13087 (LIBES): Add $(DBUS_LIBS).
13088 (dbusbind.o): New target.
13089
13090 * dbusbind.c: New file.
13091
13092 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
13093
13094 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
13095 (Qdbus_event): New Lisp symbol.
13096 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
13097 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
13098 (keys_of_keyboard ): Define dbus-event.
13099
13100 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
13101
131022007-12-01 Richard Stallman <rms@gnu.org>
13103
13104 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
13105
131062007-11-30 Jason Rumney <jasonr@gnu.org>
13107
13108 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
13109 (w32con_reset_terminal_modes): Clear screen buffer.
13110 (w32_face_attributes): Don't use color indexes that are out of range.
13111 Only reverse the default colors.
13112
13113 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
13114 WINDOWSNT.
13115
13116 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
13117
131182007-11-29 Jason Rumney <jasonr@gnu.org>
13119
13120 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
13121 (w32_face_attributes): Use Vtty_defined_color_alist to determine
13122 if the terminal colors are initialized.
13123 (unspecified_fg, unspecified_bg): Remove unused declarations.
13124
131252007-11-29 Andreas Schwab <schwab@suse.de>
13126
13127 * keyboard.c (apply_modifiers): Fix typo.
13128
131292007-11-29 Richard Stallman <rms@gnu.org>
13130
13131 * keymap.c (Fcurrent_local_map): Doc fix.
13132
131332007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
13134
13135 * s/gnu-kfreebsd.h: New file.
13136
131372007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
13138
13139 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
13140 Don't cast redundantly.
13141
13142 * keyboard.c (KEY_TO_CHAR): New macro.
13143 (parse_modifiers, apply_modifiers): Accept integer arguments.
13144 (read_key_sequence): Use them to unify the "shift->unshift" mapping
13145 for chars and symbol keys.
13146 After doing such remapping, apply function-key-map again.
13147
131482007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
13149
13150 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
13151 compiled anymore.
13152
131532007-11-26 Andreas Schwab <schwab@suse.de>
13154
13155 * process.c (list_processes_1): Fix indentation level of the
13156 command column.
13157
131582007-11-23 Andreas Schwab <schwab@suse.de>
13159
13160 * editfns.c (Fformat): Handle %c specially since it requires the
13161 argument to be of type int.
13162
131632007-11-23 Markus Triska <markus.triska@gmx.at>
13164
13165 * emacs.c (main): Call init_editfns before init_process, since
13166 init_process sets Vprocess_connection_type depending on OS release.
13167
131682007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
13169
13170 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
13171 (find_symbol_value): Use do_symval_forwarding.
13172
13173 * data.c (set_internal): Set the value in the `cons-cell' (for
13174 Buffer_Local_values) not only for frame-local variables.
13175
131762007-11-22 Andreas Schwab <schwab@suse.de>
13177
13178 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
13179 values to sprintf.
13180 * keymap.c (Fsingle_key_description): Likewise.
13181 * print.c (print_object): Likewise.
13182
131832007-11-22 Jan Djärv <jan.h.d@swipnet.se>
13184
13185 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
13186 file for image is nil.
13187
131882007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
13189
13190 * term.c: Include stdarg.h.
13191 (fatal): Implement using varargs.
13192 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
13193
131942007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
13195
13196 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
13197 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
13198 Update call to buffer_slot_type_mismatch.
13199 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
13200 (buffer_slot_type_mismatch): Update.
13201 * buffer.c (buffer_local_types): Remove.
13202 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
13203 (defvar_per_buffer): Set the type in the buffer_objfwd.
13204
132052007-11-21 Jason Rumney <jasonr@gnu.org>
13206
13207 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
13208 CreateFileMapping returns NULL on failure.
13209
132102007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
13211
13212 * search.c (Fset_match_data): Remove the `evaporate' feature.
13213 (unwind_set_match_data): Don't use the `evaporate' feature.
13214
132152007-11-21 Jason Rumney <jasonr@gnu.org>
13216
13217 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
13218
13219 * w32console.c (w32con_write_glyphs): Remove unused variables.
13220
132212007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
13222
13223 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
13224
13225 * s/darwin.h (MULTI_KBOARD): Remove.
13226
13227 * macfns.c (x_create_tip_frame, Fx_create_frame)
13228 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
13229
132302007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
13231
13232 * buffer.c (Fbuffer_local_value): Remove redundant test.
13233 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
13234 than in `current-buffer' to match the comment.
13235 Do the swap using swap_in_global_binding.
13236
13237 * data.c (store_symval_forwarding, set_internal):
13238 * eval.c (specbind): Remove dead code.
13239
13240 * coding.c (detect_coding, Fupdate_coding_systems_internal):
13241 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
13242 Since we do not want to see internal Lisp_*fwd objects here.
13243
132442007-11-18 Jan Djärv <jan.h.d@swipnet.se>
13245
13246 * sysdep.c (init_system_name): Use getaddrinfo if available.
13247
13248 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
13249 (x_scroll_bar_note_movement): start, end, with, height in struct
13250 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
13251
132522007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
13253
13254 * puresize.h (BASE_PURESIZE): Increase to 1190000.
13255
132562007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
13257
13258 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
13259 This undoes Richard's change of 14-Oct-2002.
13260
13261 * alloc.c (allocate_other_vector):
13262 * lisp.h (allocate_other_vector): Remove.
13263
13264 * window.c (struct save_window_data): Move non-lisp data to the end
13265 and make it `int' rather than Lisp_Object.
13266 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
13267 Done wrap/unwrap integer values.
13268 (Fset_window_configuration, compare_window_configurations):
13269 Update use of fields to their new types.
13270
13271 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
13272 Turn integer fields into `int'. Merge x_window_low and x_window_high.
13273 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
13274 (SET_SCROLL_BAR_X_WINDOW): Remove.
13275 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
13276 Access the new x_window field directly.
13277 * xterm.c (x_scroll_bar_create): Use a pseudovector.
13278 Don't wrap/unwrap integers into Lisp_Objects.
13279 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
13280 (x_scroll_bar_report_motion):
13281 Don't wrap/unwrap integers into Lisp_Objects.
13282 (x_term_init): Use SDATA.
13283 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
13284 (x_scroll_bar_set_handle, x_scroll_bar_remove)
13285 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
13286 (x_scroll_bar_report_motion, x_scroll_bar_clear):
13287 * xfns.c (x_set_background_color):
13288 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
13289 Access the new x_window field directly.
13290
13291 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
13292 (allocate_pseudovector): Make non-static.
13293
13294 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
13295 (allocate_pseudovector): Declare.
13296 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
13297
132982007-11-15 Andreas Schwab <schwab@suse.de>
13299
13300 * editfns.c (Fformat): Correctly format EMACS_INT values.
13301 Also take precision into account when formatting an integer.
13302
13303 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
13304
133052007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
13306
13307 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
13308 (syms_of_keyboard): Defsubr it.
13309
13310 * data.c (swap_in_global_binding): Fix longstanding bug where
13311 store_symval_forwarding was not called with the right second argument,
13312 thus causing objfwd-ing from being dropped.
13313
133142007-11-14 Juanma Barranquero <lekktu@gmail.com>
13315
13316 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
13317 (Fx_display_pixel_height, Fx_display_planes)
13318 (Fx_display_color_cells, Fx_server_max_request_size)
13319 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
13320 (Fx_display_visual_class, Fx_display_save_under):
13321 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
13322 (Fx_display_pixel_height, Fx_display_planes)
13323 (Fx_display_color_cells, Fx_server_max_request_size)
13324 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
13325 (Fx_display_mm_height, Fx_display_mm_width)
13326 (Fx_display_backing_store, Fx_display_visual_class)
13327 (Fw32_select_font, Fx_display_save_under):
13328 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
13329 (Fx_display_pixel_height, Fx_display_planes)
13330 (Fx_display_color_cells, Fx_server_max_request_size)
13331 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
13332 (Fx_display_save_under): Fix typos in docstrings.
13333
133342007-11-14 Juanma Barranquero <lekktu@gmail.com>
13335
13336 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
13337 corresponding to deleted entries; they are an implementation detail.
13338 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
13339 Remove variables.
13340 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
13341 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
13342 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
13343 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
13344 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
13345 (Fw32_define_rgb_color, Fw32_load_color_file)
13346 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
13347 Fix typos in docstrings.
13348 (Fx_server_version): Reflow docstring.
13349 (Fw32_shell_execute): Doc fixes.
13350
133512007-11-13 Juanma Barranquero <lekktu@gmail.com>
13352
13353 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
13354 if w32_parse_hot_key returned nil.
13355
133562007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
13357
13358 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
13359
133602007-11-09 Jason Rumney <jasonr@gnu.org>
d6c952f8 13361
aac0c6e3
MR
13362 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
13363
13364 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
13365
13366 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
13367 Remove W32_SCROLL_BAR_CLICK_EVENT.
13368
13369 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
13370 Add MULTIMEDIA_KEY_EVENT.
13371
13372 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
13373 (lispy_multimedia_keys) [WINDOWSNT]: New array.
13374 (make_lispy_event) [WINDOWSNT]: Use it to translate
13375 MULTIMEDIA_KEY_EVENT.
13376
13377 * w32term.h (WM_APPCOMMAND): Define if not already.
13378 (GET_APPCOMMAND_LPARAM): Likewise.
13379
13380 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
13381 WM_APPCOMMAND.
13382
13383 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
13384 (syms_of_w32fns): Export and initialize it.
13385 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
13386
133872007-11-09 Chong Yidong <cyd@stupidchicken.com>
13388
13389 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
13390 twice.
13391
13392 * xdisp.c (handle_face_prop): Fix last change.
13393
133942007-11-09 Richard Stallman <rms@gnu.org>
13395
13396 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
13397 not just for after-strings and before-strings.
13398 Call face_for_overlay_string and pass the overlay to it.
13399 (handle_display_prop): Determine whether property came from an overlay.
13400 Pass OVERLAY arg to handle_single_display_spec.
13401 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
13402 (load_overlay_strings): Fill in it->string_overlays.
13403 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
13404
13405 * xfaces.c (face_for_overlay_string): Function renamed from
13406 face_at_buffer_position_no_overlays, and add arg OVERLAY.
13407
13408 * dispextern.h (struct it): New elt string_overlays.
13409 New elt from_overlay, also in stack.
13410 Rearrange a few elements.
13411 (face_for_overlay_string): Decl renamed from
13412 face_at_buffer_position_no_overlays, and add argument.
13413
134142007-11-09 Richard Stallman <rms@gnu.org>
13415
13416 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
13417 to get the base face for an overlay string.
13418
13419 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
13420
13421 * xfaces.c (face_at_buffer_position_no_overlays): New function.
13422
13423 * xdisp.c (handle_stop): Move some code out of loop.
13424
134252007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13426
13427 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
13428 Fix conversion from Lisp object to ATSUFontID.
13429
134302007-11-09 Jason Rumney <jasonr@gnu.org>
13431
13432 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
13433
134342007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13435
13436 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
13437 Don't assume regions are aligned to page boundary.
13438 (print_load_command_name): Add LC_UUID if defined.
13439
134402007-11-09 Richard Stallman <rms@gnu.org>
13441
13442 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
13443
134442007-11-07 Jason Rumney <jasonr@gnu.org>
13445
13446 * s/windows95.h: Remove.
13447
134482007-11-06 Jan Djärv <jan.h.d@swipnet.se>
13449
13450 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
13451 abort with a message on unhandled store_type values.
13452
134532007-11-01 Jan Djärv <jan.h.d@swipnet.se>
13454
13455 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
13456 Remove HAVE_X11R5 and HAVE_X11R4.
13457
134582007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
13459
13460 * Makefile.in: Remove references to sunfns.c and sunfns.o.
13461
134622007-11-01 Johan Bockgård <bojohan@gnu.org>
13463
13464 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
13465 Don't set s->stippled_p here, since it has already been set by
13466 x_set_glyph_string_gc from x_draw_glyph_string.
13467
134682007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
13469
13470 * sunfns.c: Remove file.
13471
13472 * m/sun386.h:
13473 * m/sun2.h:
13474 * m/sparc.h: Remove Sun windows code.
13475
134762007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
13477
13478 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
13479 (init_keyboard): Set current_kboard's window-system to nil.
13480 (tty_read_avail_input): Typo.
13481 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
13482
134832007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
13484
13485 * s/usg5-4.h:
13486 * s/usg5-3.h:
13487 * s/ptx.h:
13488 * m/is386.h:
13489 * m/ibmps2-aix.h:
13490 * Makefile.in: Remove all mentions of X10.
13491
13492 * dispnew.c (syms_of_display): Don't mention version 10.
13493
134942007-10-28 Juanma Barranquero <lekktu@gmail.com>
13495
13496 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
13497 ($(BLD)/abbrev.$(O)): Remove.
13498
134992007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
13500
13501 Rewrite abbrev.c in Elisp.
13502 * image.c (Qcount): Don't declare as extern.
13503 (syms_of_image): Initialize and staticpro `Qcount'.
13504 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
13505 * emacs.c (main): Don't call syms_of_abbrev.
13506 * Makefile.in (obj): Remove abbrev.o.
13507 (abbrev.o): Remove.
13508 * abbrev.c: Remove.
13509
135102007-10-26 Martin Rudalics <rudalics@gmx.at>
13511
13512 * window.c (window_min_size_2): Don't count header-line.
13513
135142007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
13515
13516 * frame.h (struct frame): Move all bit fields after the first bit
13517 field to take advantage of the available space. Group all the
13518 chars together to reduce wasted space due to padding.
13519
135202007-10-26 Juanma Barranquero <lekktu@gmail.com>
13521
13522 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
13523
13524 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
13525 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
13526 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
13527 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
13528 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
13529 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
13530 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
13531 (last_marked, mark_object_loop_halt): Make static.
13532
13533 * frame.c (syms_of_frame) <delete-frame-functions>:
13534 Fix typo in docstring.
13535
135362007-10-25 Juanma Barranquero <lekktu@gmail.com>
13537
13538 * w32.c (init_environment): Fix tiny memory leak.
13539 (w32_get_resource): Remove unused variable `ok'.
13540
135412007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
13542
13543 Make `window-system' into a keyboard-local variable (rather than
13544 frame-local as done originally by multi-tty).
13545
13546 * keyboard.h (struct kboard): Add Vwindow_system.
13547 * keyboard.c (init_kboard): Set a default for Vwindow_system.
13548 (mark_kboards): Mark Vwindow_system.
13549
13550 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
13551 (init_display): Don't set the obsolete `window-system' frame-param.
13552
13553 * xterm.c (x_term_init):
13554 * w32term.c (w32_create_terminal):
13555 * term.c (init_tty): Set Vwindow_system.
13556 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
13557 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
13558
13559 * xfns.c (Fx_create_frame, x_create_tip_frame):
13560 * w32fns.c (Fx_create_frame, x_create_tip_frame):
13561 * macfns.c (Fx_create_frame):
13562 Don't set the obsolete `window-system' frame-param.
13563
13564 * frame.h (Qwindow_system): Remove.
13565 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
13566 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
13567
135682007-10-24 Richard Stallman <rms@gnu.org>
13569
13570 * frame.c (x_figure_window_size): For fullscreen case,
13571 set USPosition | PPosition without clobbering rest of window_prompting.
13572
13573 * keyboard.c (Fcurrent_idle_time): Doc fix.
13574
13575 * print.c (Fwith_output_to_temp_buffer): Doc fix.
13576
135772007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
13578
13579 * process.c (unwind_request_sigio): Only define if __ultrix__.
13580
13581 * callproc.c (child_setup): Remove spurious *.
13582
13583 * lisp.h (Fget_text_property): Declare.
13584 (have_menus_p): Declare it here rather than in sys-dep header files.
13585 * macterm.h (have_menus_p):
13586 * msdos.h (have_menus_p):
13587 * xterm.h (have_menus_p): Remove.
13588
13589 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
13590 (Fmake_variable_frame_local): Just check the variable's const-ness
13591 rather than checking nil or t.
13592
135932007-10-22 Jason Rumney <jasonr@gnu.org>
13594
13595 * w32fns.c: Include math.h.
13596 (w32_abort): Declaration moved to nt/config.nt.
13597
13598 * s/ms-w32.h (HAVE_STDLIB_H): Define.
13599 (abort): Redefinition moved to nt/config.nt.
13600
13601 * m/windowsnt.h: Remove.
13602
136032007-10-22 Juanma Barranquero <lekktu@gmail.com>
13604
13605 * emacs.c (Fdump_emacs): Fix typo in message.
13606 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
13607 <installation-directory>: Reflow docstring.
13608
136092007-10-22 Juri Linkov <juri@jurta.org>
13610
13611 * minibuf.c: Allow minibuffer default to be a list of default values.
13612 With empty input use the first element of this list as returned default.
13613 (string_to_object)
13614 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
13615 (read_minibuf): If defalt is cons, set histstring to its car.
13616 (Fread_string): If default_value is cons, set val to its car.
13617 (Fread_buffer): If def is cons, use its car.
13618 (Fcompleting_read): If defalt is cons, set val to its car.
13619
136202007-10-21 Michael Albinus <michael.albinus@gmx.de>
13621
13622 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
13623
136242007-10-20 Juanma Barranquero <lekktu@gmail.com>
13625
13626 * doc.c (Fdocumentation): Check for advice in all cases.
13627
136282007-10-19 Chong Yidong <cyd@stupidchicken.com>
13629
13630 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
13631
136322007-10-19 Richard Stallman <rms@gnu.org>
13633
13634 * doc.c (Fdocumentation): Check for and handle an advised function.
13635
136362007-10-19 Juanma Barranquero <lekktu@gmail.com>
13637
13638 * process.c (Fset_process_filter): Doc fix.
13639
136402007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
13641
13642 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
13643 which caused key-translation-map to applied repeatedly (thus breaking
13644 double-mode).
13645
136462007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
13647
13648 * xselect.c (x_own_selection, x_handle_selection_clear)
13649 (x_clear_frame_selections):
13650 * w32menu.c (list_of_panes, list_of_items):
13651 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
13652 * textprop.c (validate_plist, interval_has_all_properties)
13653 (interval_has_some_properties, interval_has_some_properties_list)
13654 (add_properties, text_property_list):
13655 * process.c (Fget_buffer_process, list_processes_1, status_notify):
13656 * minibuf.c (Fassoc_string):
13657 * macselect.c (x_own_selection, x_clear_frame_selections)
13658 (Fx_disown_selection_internal):
13659 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
13660 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
13661
136622007-10-17 Chong Yidong <cyd@stupidchicken.com>
13663
13664 * process.c: Link to libs for calling res_init() if available.
13665 (Fmake_network_process): Call res_init() before getaddrinfo or
13666 gethostbyname, if possible.
13667
136682007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
13669
13670 * lread.c (read1): Set pvectype for char_tables.
13671
13672 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
13673 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
13674 Add type checks.
13675 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
13676
13677 * alloc.c (free_misc): Use XMISCTYPE.
13678 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
13679
136802007-10-17 Glenn Morris <rgm@gnu.org>
13681
13682 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
13683 (syms_of_minibuf): Add Qcompletion_ignore_case.
13684 * dired.c (Qcompletion_ignore_case): Change to external.
13685 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
13686 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
13687 (Fread_file_name): Use it rather than intern'ing.
13688
13689 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
13690 (Fread_coding_system): Ignore case of user input.
13691
136922007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13693
13694 * xdisp.c (handle_display_prop): Ignore display specs after
13695 replacing one when string text is being replaced.
13696 (handle_single_display_spec): Pretend as if characters with display
13697 property haven't been consumed only when buffer text is being replaced.
13698
136992007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
13700
13701 * xfns.c (Fx_create_frame, Fx_display_list):
13702 * window.c (window_fixed_size_p, enlarge_window)
13703 (shrink_window_lowest_first):
13704 * macterm.c (init_font_name_table):
13705 * macfns.c (Fx_create_frame, Fx_display_list):
13706 * lread.c (close_load_descs):
13707 * keyboard.c (read_char_x_menu_prompt):
13708 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
13709 * coding.c (code_convert_region_unwind): Test the type of an object
13710 rather than just !NILP before extracting data from it.
13711
13712 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
13713
13714 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
13715 (XMISCANY): New macro.
13716 (XMISCTYPE): Use it.
13717 (struct Lisp_Misc_Any): New type.
13718 (union Lisp_Misc): Use it.
13719 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
13720 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
13721 (find_symbol_value, set_internal, default_value, Fset_default)
13722 (Fmake_variable_buffer_local, Fmake_local_variable)
13723 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
13724 (Flocal_variable_if_set_p, Fvariable_binding_locus):
13725 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
13726 * alloc.c (allocate_buffer): Set the size and tag.
13727 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
13728 Use XMISCANY.
13729 (die): Follow the GNU convention for error messages.
13730 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
13731 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
13732 tag any more.
13733 (set_buffer_internal_1):
13734 * frame.c (store_frame_param):
13735 * eval.c (specbind):
13736 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
13737
13738 * doc.c (Fsnarf_documentation): Simplify.
13739
137402007-10-14 Juanma Barranquero <lekktu@gmail.com>
13741
13742 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
13743 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
13744
137452007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
13746
13747 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
13748
137492007-10-14 Juanma Barranquero <lekktu@gmail.com>
13750
13751 * eval.c (do_autoload): Don't save autoloads.
13752
13753 * data.c (Ffset): Save autoload of the function being set.
13754
137552007-10-07 John Paul Wallington <jpw@pobox.com>
13756
13757 * xfns.c (x_create_tip_frame): Set the `display-type' frame
13758 parameter before setting up faces.
13759
137602007-10-13 Eli Zaretskii <eliz@gnu.org>
13761
13762 * ccl.c (Fregister_code_conversion_map):
13763 * keyboard.c (append_tool_bar_item): Reformat last change.
13764
13765 * lisp.h (eabs): Rename from `abs'. All callers changed.
13766
137672007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
13768
13769 * buffer.c (add_overlay_mod_hooklist):
13770 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
13771 * fontset.c (make_fontset):
13772 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
13773 (append_tool_bar_item):
13774 * macmenu.c (grow_menu_items):
13775 * w32menu.c (grow_menu_items):
13776 * xmenu.c (grow_menu_items): Use larger_vector.
13777
137782007-10-13 Eli Zaretskii <eliz@gnu.org>
13779
13780 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
13781 selected frame'' on MSDOS).
13782
137832007-10-12 Martin Rudalics <rudalics@gmx.at>
13784
13785 * frame.c (Qexplicit_name): New variable.
13786 (x_report_frame_params): Report it in parameter alist.
13787 (syms_of_frame): Intern and staticpro it.
13788
137892007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
13790
13791 * macfns.c (x_create_tip_frame): Set terminal for frame.
13792
137932007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
13794
13795 * frame.c (Qenvironment): Remove.
13796 (syms_of_frame) <Qenvironment>: Don't initialize.
13797 (Fdelete_frame): Don't treat the `environment' param specially.
13798 * frame.h (Qenvironment): Don't declare.
13799 * callproc.c (set_initial_environment): Don't set unused frame param.
13800
13801 * frame.c (Fframe_with_environment): Remove.
13802 (syms_of_frame) <Sframe_with_environment>: Don't declare.
13803
13804 * lisp.h (Fframe_with_environment): Don't declare.
13805
138062007-10-10 Juanma Barranquero <lekktu@gmail.com>
13807
13808 * indent.c (indent_tabs_mode, last_known_column)
13809 (last_known_column_modified): Make static.
13810 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
13811
138122007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
13813
13814 * puresize.h (BASE_PURESIZE): Increase to 1170000.
13815
138162007-10-09 Jason Rumney <jasonr@gnu.org>
13817
13818 * w32term.c (x_set_window_size): Disable code that attempts to tell
13819 Lisp code about a size change before it actually happens.
13820
138212007-10-09 Richard Stallman <rms@gnu.org>
13822
13823 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
13824 return HANDLED_RETURN.
13825
138262007-10-08 Martin Rudalics <rudalics@gmx.at>
13827
13828 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
13829 when there's an unread command event.
13830
13831 * frame.c (focus_follows_mouse): Move here from frame.el to allow
13832 window autoselection act appropriately when leaving selected frame.
13833 (syms_of_frame): Initialize focus_follows_mouse.
13834 * frame.h (focus_follows_mouse): Extern it.
13835 * macterm.c (XTread_socket): When focus_follows_mouse is nil
13836 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
13837 * msdos.c (dos_rawgetc): Likewise.
13838 * w32term.c (w32_read_socket): Likewise.
13839 * xterm.c (handle_one_xevent): Likewise.
13840 * xdisp.c (syms_of_xdisp): In doc-string of
13841 mouse-autoselect-window mention focus-follows-mouse.
13842
138432007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13844
13845 * macterm.c (mac_load_query_font): Fix missing return value.
13846 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
13847 Add BLOCK_INPUT.
13848
138492007-10-08 Richard Stallman <rms@gnu.org>
13850
13851 * xdisp.c (get_window_cursor_type): Implement documented behavior
13852 for cursor-in-non-selected-windows = t.
13853
138542007-10-08 Jason Rumney <jasonr@gnu.org>
13855
13856 * w32.c (w32_get_resource): Always close registry keys.
13857
138582007-10-08 Jason Rumney <jasonr@gnu.org>
13859
13860 * makefile.w32-in (LIBS): Add COMCTL32.
13861
13862 * w32fns.c (globals_of_w32fns): Init common controls.
13863
138642007-10-08 Richard Stallman <rms@gnu.org>
13865
13866 * image.c (our_memory_buffer): Rename from omfib_buffer.
13867
138682007-10-08 Richard Stallman <rms@gnu.org>
13869
13870 * buffer.c (Foverlays_at): Doc fix.
13871
138722007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
13873
13874 * fns.c (Fplist_put): Preserve uneven tail data.
13875
138762007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
13877
13878 * termhooks.h (enum event_kind): Remove trailing comma.
13879
13880 * frame.h (enum): Remove trailing comma.
13881
138822007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
13883
13884 * w32proc.c (delete_child): Don't terminate threads of zombies.
13885
138862007-10-08 Martin Rudalics <rudalics@gmx.at>
13887
13888 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
13889
13890 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
13891 last-repeatable-command.
13892 (init_kboard): Initialize Vlast_repeatable_command.
13893 (command_loop_1): Set it to real_this_command unless that was
13894 bound to an input event.
13895 (mark_kboards): Mark it.
13896
138972007-10-08 Richard Stallman <rms@gnu.org>
13898
13899 * eval.c (condition-case): Doc fix.
13900
139012007-10-08 Masatake YAMATO <jet@gyve.org>
13902
13903 * xfaces.c (tty_supports_face_attributes_p): Fix code
13904 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
13905 was copied and not edited.
13906
139072007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
13908
13909 Add new `input-decode-map' keymap and use it for terminal
13910 escape sequences.
13911 * keyboard.h (struct kboard): Add Vinput_decode_map.
13912 Remove Vlocal_key_translation_map.
13913 * keyboard.c (read_key_sequence): Add support for input-decode-map.
13914 (init_kboard): Init input-decode-map.
13915 Replace local-key-translation-map back with key-translation-map.
13916 (syms_of_keyboard): Declare input-decode-map.
13917 Remove local-key-translation-map. Update docstrings.
13918 (mark_kboards): Mark Vinput_decode_map.
13919 Don't mark Vlocal_key_translation_map.
13920 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
13921 Replace local-key-translation-map back with key-translation-map.
13922 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
13923 Bind in input-decode-map rather than function-key-map.
13924
13925 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
13926 This was made redundant by the previous introduction of XSETPVECTYPE.
13927
139282007-10-09 Richard Stallman <rms@gnu.org>
13929
13930 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
13931
139322007-09-29 Richard Stallman <rms@gnu.org>
13933
13934 * eval.c (internal_condition_case_2, internal_condition_case_1)
13935 (internal_condition_case): Reenable abort if x_catching_errors ()
13936 to see if that really happens and why.
13937
139382007-10-06 Andreas Schwab <schwab@suse.de>
13939
13940 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
13941
139422007-10-04 Juanma Barranquero <lekktu@gmail.com>
13943
13944 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
13945
139462007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
13947
13948 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
13949
139502007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
13951
13952 * window.h (struct window):
13953 * window.c (struct save_window_data, struct saved_window):
13954 * termhooks.h (struct terminal):
13955 * process.h (struct Lisp_Process):
13956 * frame.h (struct frame):
13957 * buffer.h (struct buffer):
13958 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
13959 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
13960 The size field of (pseudo)vectors is now unsigned.
13961 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
13962
13963 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
13964 Turn `count' into an integer.
13965
13966 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
13967 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
13968 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
13969 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
13970 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
13971
13972 * alloc.c (allocate_pseudovector): New fun.
13973 (ALLOCATE_PSEUDOVECTOR): New macro.
13974 (allocate_window, allocate_terminal, allocate_frame)
13975 (allocate_process): Use it.
13976 (mark_vectorlike): New function.
13977 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
13978 (mark_terminals): Use it.
13979 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
13980 (Fmake_byte_code): Use XSETPVECTYPE.
13981
13982 * frame.c (Fframe_parameters): Minor simplification.
13983
13984 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
13985
13986 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
13987
13988 * buffer.c (Fget_buffer_create, init_buffer_once):
13989 * lread.c (defsubr):
13990 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
13991
13992 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
13993 defined differently in the m/*.h files.
13994 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
13995 (XSETPVECTYPE): New macro.
13996 (XSETPSEUDOVECTOR): Use it.
13997
13998 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
13999 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
14000
14001 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
14002 * lread.c (defvar_per_buffer):
14003 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
14004
14005 * window.c (candidate_window_p): Only consider as visible frames that
14006 are on the same terminal.
14007
14008 * m/ibms390x.h (MARKBIT): Remove unused macro.
14009
140102007-10-01 Juanma Barranquero <lekktu@gmail.com>
14011
14012 * lread.c (Fload): Fix typo in docstring.
14013
140142007-10-01 Michaël Cadilhac <michael@cadilhac.name>
14015
14016 * floatfns.c (Fexpt): Manually check for overflows, so that a power
14017 of a non-zero value can't yield zero.
14018
140192007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
14020
14021 * term.c (term_clear_mouse_face, term_mouse_highlight)
14022 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
14023
14024 * print.c (safe_debug_print): Use XHASH.
14025
14026 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
14027 Lisp elements such as tags.
14028 (XHASH): New macro.
14029 (EQ): Use it.
14030 (SREF, SSET, STRING_COPYIN): Use SDATA.
14031 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
14032
14033 * alloc.c (mark_terminal): Remove left-over declaration.
14034 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
14035 (allocate_vectorlike): Remove type argument. Adjust callers.
14036 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
14037 Only handle the one remaining MEM_TYPE_VECTORLIKE.
14038
14039 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
14040 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
14041 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
14042 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
14043 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
14044 Use them.
14045
14046 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
14047 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
14048 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
14049
140502007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
14051
14052 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
14053 loaded by default.
14054
140552007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
14056
14057 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
14058 on this tty.
14059 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
14060
14061 * term.c (mouse_face_window): Rename from Qmouse_face_window.
14062 Update all users.
14063 (handle_one_term_event): Use Gpm_DrawPointer.
14064 (Fgpm_mouse_start): Rename from Fterm_open_connection.
14065 Signal errors instead of returning nil. Always return nil.
14066 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
14067 Make it a noop if gpm-mouse was not activated.
14068 (syms_of_term): Update names.
14069
140702007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
14071
14072 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
14073 (init_sys_modes): Check that gpm_tty is the current tty.
14074
14075 * alloc.c (allocate_terminal): Set the vector size to only count the
14076 lisp fields. Initialize those to nil.
14077 (mark_object): Don't treat terminals specially.
14078 (mark_terminal): Remove.
14079 (mark_terminals): Use mark_object instead.
14080
14081 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
14082 the GC to the beginning.
14083
14084 * indent.h:
14085 * indent.c: Use EMACS_INT for ints coming from Elisp data.
14086
14087 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
14088
140892007-09-25 Jason Rumney <jasonr@gnu.org>
14090
14091 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
14092
14093 * w32console.c (create_w32cons_output): Remove.
14094
14095 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
14096
14097 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
14098 (reset_sys_modes): Use reset_terminal_modes_hook.
14099
141002007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
14101
14102 * eval.c (do_autoload): Don't output any message.
14103
141042007-09-24 Juri Linkov <juri@jurta.org>
14105
14106 * emacs.c (standard_args): Change priority of "--no-splash"
14107 from 40 to 3. Add "--no-desktop" with the same priority.
14108
141092007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
14110
14111 * alloc.c (gc_sweep): Check cons cell mark bits word by word
14112 and optimize the case where they are all 1.
14113
141142007-09-23 Johannes Weiner <hannes@saeurebad.de>
14115
14116 * lisp.h (abs): Define if not defined.
14117 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
14118 Don't define `abs', since it's defined in lisp.h.
14119
141202007-09-22 Eli Zaretskii <eliz@gnu.org>
14121
14122 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
14123 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
14124 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
14125 (init_tty): Use DEV_TTY instead of "/dev/tty".
14126 [WINDOWSNT]: No need to protect from NAME arg being null.
14127
141282007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
14129
14130 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
14131 up the tty state.
14132
141332007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
14134
14135 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
14136 (gpm_tty): Change its type.
14137 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
14138 (gpm_tty): Change its type and initialize it.
14139 (Fterm_open_connection): Check the frame is indeed a tty.
14140 Use the new gpm_tty.
14141 (Fterm_close_connection): Use the new gpm_tty.
14142 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
14143 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
14144
141452007-09-21 Juanma Barranquero <lekktu@gmail.com>
14146
14147 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
14148 underline_color, to draw strike-through.
14149
141502007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
14151
14152 * lisp.h (allocate_terminal): Declare.
14153
14154 * window.c (candidate_window_p): Consider frames that are being placed
14155 by the user as somewhere between visible and iconified.
14156 (window_loop): Prefer windows on the current frame.
14157 (Fselect_window): Move the use of select-frame to the beginning so we
14158 can just delegate all the work (it'll call us back anyway).
14159
14160 * frame.c (Qdisplay_environment_variable):
14161 * frame.h (Qdisplay_environment_variable): Delete.
14162
14163 * .gdbinit (xbacktrace): Print the arg's address rather than the value
14164 of the first arg, since that value may be a union.
14165
14166 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
14167 parameter rather than Qdisplay_environment_variable. If all else
14168 fails, look for DISPLAY in initial-environment.
14169
141702007-09-21 Glenn Morris <rgm@gnu.org>
14171
14172 * Makefile.in (emacstool): Remove target.
14173 (lisp, shortlisp): Remove termdev.elc.
14174
141752007-09-21 Markus Triska <markus.triska@gmx.at>
14176
14177 * xterm.c (x_delete_display): Compile session management conditionally.
14178
141792007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
14180
14181 * callproc.c (getenv_internal_1): New function.
14182 (getenv_internal): Use it.
14183 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
14184
14185 * terminal.c (get_terminal): Don't accept ints to represent terminals.
14186 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
14187 (Fset_terminal_parameter): Work with dead terminals as well.
14188 (Fmodify_terminal_parameters): Remove.
14189
14190 * terminal.c (get_terminal): Handle terminals.
14191 Make sure the terminal returned is live.
14192 (create_terminal): Use allocate_terminal.
14193 (mark_terminals): Move to alloc.c.
14194 (delete_terminal): Use terminal->name as liveness status.
14195 NULL out fields after freeing their contents.
14196 Don't deallocate the object.
14197 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
14198 rather than an int.
14199 (Fterminal_live_p): Accept non-integer arguments.
14200 (Fterminal_list): Return terminal objects rather than an ints.
14201
14202 * alloc.c (enum mem_type): New member for `terminal' objects.
14203 (allocate_terminal): New function.
14204 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
14205 Handle terminals.
14206 (mark_terminal): New fun.
14207 (mark_terminals): Move from terminal.c.
14208
14209 * term.c (get_tty_terminal): Don't treat output_initial specially.
14210 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
14211 (delete_tty): Use terminal->name as liveness status.
14212
14213 * termhooks.h (struct terminal): Make it into a pseudovector.
14214 Remove `deleted' replaced by checking `name's nullness.
14215
14216 * print.c (print_object): Handle terminals.
14217
14218 * lisp.h (enum pvec_type): New `terminal' pseudovector.
14219 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
14220
14221 * frame.c (make_terminal_frame):
14222 * keyboard.c (tty_read_avail_input):
14223 * w32term.c (x_delete_terminal):
14224 * xfns.c (Fx_create_frame, x_create_tip_frame):
14225 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
14226
142272007-09-20 Glenn Morris <rgm@gnu.org>
14228
14229 * process.c (Fmake_network_process): Doc fix.
14230
142312007-09-19 Jason Rumney <jasonr@gnu.org>
14232
14233 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
14234
142352007-09-19 Michaël Cadilhac <michael@cadilhac.name>
14236
14237 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
14238 Fix a C warning regarding variable constness.
14239
14240 * xterm.c (handle_one_xevent): Fix a C warning.
14241
142422007-09-18 Jason Rumney <jasonr@gnu.org>
14243
14244 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
14245
142462007-09-17 Jan Djärv <jan.h.d@swipnet.se>
14247
14248 * gtkutil.c (gdpy_def): New variable.
14249 (xg_initialize): Initialize gdpy_def.
14250 (xg_display_close): If no other display exists, set gdpy_def to a
14251 new connection.
14252
142532007-09-16 Jan Djärv <jan.h.d@swipnet.se>
14254
14255 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
14256 when we have no file name for the icon.
14257 (xg_tool_bar_expose_callback): Remove.
14258 (xg_create_tool_bar): Don't connect expose signal to
14259 xg_tool_bar_expose_callback.
14260 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
14261
142622007-09-16 Andreas Schwab <schwab@suse.de>
14263
14264 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
14265 values instead of zapping them.
14266
142672007-09-14 Glenn Morris <rgm@gnu.org>
14268
14269 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
14270 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
14271 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
14272 scope and rename to omfib_buffer for clarity.
14273 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
14274
142752007-09-14 Kenichi Handa <handa@m17n.org>
14276
14277 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
14278
142792007-09-13 Jason Rumney <jasonr@gnu.org>
14280
14281 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
14282
14283 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
14284
14285 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
14286 (mac_term_init): Call here instead, passing rif.
14287
142882007-09-13 Glenn Morris <rgm@gnu.org>
14289
14290 * s/hpux.h: No longer define `static' as nothing.
14291
142922007-09-13 Johan Bockgård <bojohan@gnu.org>
14293
14294 * callint.c (Fcall_interactively): Remove unused var `fun'.
14295
142962007-09-12 Romain Francoise <romain@orebokech.com>
14297
14298 * window.c (prefer_window_split_horizontally, display_buffer):
14299 Revert 2007-09-08 change.
14300
143012007-09-12 Glenn Morris <rgm@gnu.org>
14302
14303 * alloca.c: Remove file.
14304 * Makefile.in (alloca): Do not undef.
14305 (allocaobj, alloca.o): Remove.
14306 (otherobj): Remove allocaobj.
14307 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
14308 * regex.c (C_ALLOCA): Remove all references and code that was only
14309 used when this was defined.
14310 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
14311 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
14312 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
14313
14314 * Makefile.in (SOURCES, unlock, relock): Delete.
14315
14316 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
14317 (menu_grab_callback): All uses changed.
14318
14319 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
14320 (x_reply_selection_request): All uses changed.
14321
143222007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
14323
14324 * lread.c (load_warn_old_style_backquotes): Change message to look
14325 better when it appears in the middle of byte-compiler messages.
14326
143272007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
14328
14329 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
14330
14331 * xterm.c (x_create_terminal): Add comment.
14332
14333 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
14334
143352007-09-10 Richard Stallman <rms@gnu.org>
14336
14337 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
14338
143392007-09-10 Michaël Cadilhac <michael@cadilhac.name>
14340
14341 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
14342 (DEFUN): Document `intspec', use it instead of `prompt'.
14343
14344 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
14345
14346 * data.c (Finteractive_form): If the interactive specification starts
14347 with a `(', use it as a Lisp form.
14348
14349 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
14350 name and file modes.
14351
14352 * callint.c (Fcall_interactively): Comment fixes.
14353
143542007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
14355
14356 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
14357 and compiled functions.
14358
143592007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
14360
14361 * window.c (prefer_window_split_horizontally): New variable.
14362 (display_buffer): Consider splitting window horizontally depending
14363 on prefer_window_split_horizontally.
14364
143652007-09-08 Eli Zaretskii <eliz@gnu.org>
14366
14367 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
14368
143692007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
14370
14371 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
14372
14373 * frame.c (x_set_frame_parameters): Check number is positive before
14374 using XFASTINT.
14375
14376 * window.c (freeze_window_start): Don't presume selected_window holds
14377 a window object.
14378 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
14379
143802007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
14381
14382 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
14383
143842007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
14385
14386 * window.c (Vsplit_window_preferred_function): New var.
14387 (Fdisplay_buffer): Use it.
14388 (syms_of_window): Export, and initialize it.
14389
143902007-09-06 Pixel <pixel@mandriva.com> (tiny change)
14391
14392 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
14393
143942007-09-06 Glenn Morris <rgm@gnu.org>
14395
14396 * gtkutil.c (menu_grab_callback) <cnt>:
14397 * xselect.c (x_reply_selection_request) <cnt>: Move static
14398 variable to file scope.
14399
144002007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
14401
14402 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
14403 consistent values of selected_frame and selected_window.
14404
144052007-09-04 Jason Rumney <jasonr@gnu.org>
14406
14407 * w32console.c (initialize_w32_display): Zero unused hooks.
14408
144092007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
14410
14411 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
14412 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
14413
144142007-09-04 Jason Rumney <jasonr@gnu.org>
14415
14416 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
14417 in w32console.c. Set up input. Remove XXX comments that have been
14418 confirmed as correct.
14419
14420 * s/ms-w32.h (MULTI_KBOARD): Define.
14421
14422 * w32console.c (one_and_only_w32cons): Remove.
14423 (initialize_w32_display): Take terminal argument.
14424
14425 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
14426 initialize_w32_display.
14427 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
14428
14429 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
14430
14431 * keyboard.c (discard_mouse_events): Discard it.
14432 (make_lispy_event): Translate it to a lisp event.
14433 (lispy_wheel_names): Add wheel-left and right events.
14434 (syms_of_keyboard): Enlarge wheel_syms.
14435
14436 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
14437 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
14438
14439 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
14440
14441 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
14442 from WM_MOUSEHWHEEL.
14443 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
14444
14445 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
14446 terminal.
14447
14448 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
14449 keyboard for the terminal.
14450
144512007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
14452
14453 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
14454 (Vresume_tty_hook): Rename from Vresume_tty_functions.
14455 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
14456 and resume-tty-function to resume-tty-hook.
14457 (Fsuspend_tty, Fresume_tty): Use new names.
14458
144592007-09-02 Jan Djärv <jan.h.d@swipnet.se>
14460
14461 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
14462 if it starts with "n:".
14463
144642007-08-31 Jan Djärv <jan.h.d@swipnet.se>
14465
14466 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
14467
144682007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
14469
14470 * frame.h:
14471 * frame.c (Qterm_environment_variable): Remove.
14472 (syms_of_frame): Don't init and staticpro it.
14473
14474 * callproc.c (getenv_internal): Remove special case for $TERM.
14475
14476 * callproc.c (Vinitial_environment): New variable.
14477 (set_initial_environment): Initialize it.
14478 (syms_of_callproc): Declare it.
14479 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
14480 TERM under which a process runs is never related to the TERM in which
14481 Emacs is running.
14482
144832007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
14484
14485 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
14486 * s/darwin.h: ... do it here.
14487
144882007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
14489
14490 * lisp.h (set_initial_environment): Rename from set_global_environment.
14491
14492 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
14493 removed by mistake on the multi-tty branch.
14494
14495 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
14496 (Fmodify_frame_parameters): Return a value.
14497
14498 * image.c (png_load): Comment-out var only used in commented-out code.
14499
14500 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
14501 before passing it to mark_object.
14502
14503 * xfaces.c (internal_resolve_face_name): Return a value.
14504 (internal_resolve_face_name, resolve_face_name_error): Comment out.
14505
14506 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
14507 (x_icon): Comment-out var only used in commented-out code.
14508
145092007-08-29 Romain Francoise <romain@orebokech.com>
14510
14511 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
14512 QUIT hasn't been provided.
14513
145142007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
14515
14516 * callproc.c (child_setup, getenv_internal): Use the
14517 display-environment-variable and term-environment-variable frame params.
14518 (set_initial_environment): Initialise Vprocess_environment.
14519
14520 * config.in: Disable multi-keyboard support on a mac.
14521
14522 * frame.c (Qterm_environment_variable)
14523 (Qdisplay_environment_variable): New variables.
14524 (syms_of_frame): Intern and staticpro them.
14525 (Fmake_terminal_frame): Disable output method test.
14526
14527 * frame.h: Declare them here.
14528
14529 * macfns.c (x_set_mouse_color): Get rif from the frame.
14530 (x_set_tool_bar_lines): Don't use updating_frame.
14531 (mac_window): Add 2 new parameters for consistency with other systems.
14532 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
14533 frame parameters following what is done in X11 and w32. Don't use
14534 FRAME_MAC_DISPLAY_INFO.
14535 (Fx_open_connection, start_hourglass): Remove window-system check.
14536 (x_create_tip_frame): Get the keyboard from the terminal.
14537
14538 * macmenu.c: Reorder includes.
14539 (Fx_popup_menu): Use terminal specific mouse_position_hook.
14540
14541 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
14542 terminal parameter.
14543 (x_clear_frame): Add a frame parameter.
14544 (note_mouse_movement): Get rif from the frame.
14545 (mac_term_init): Initialize the terminal.
14546 (mac_initialize): Make static and move terminal initialization ...
14547 (mac_create_terminal): ... to this new function.
14548
14549 * macterm.h (struct mac_display_info): Add terminal.
14550 (mac_initialize): Delete declaration.
14551
14552 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
14553
14554 * sysdep.c: Comment out text after #endif.
14555
14556 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
14557 is defined. Better initialize ttys in windows. Use terminal
14558 specific mouse_position_hook.
14559
14560 * termhooks.h (union display_info): Add mac_display_info.
14561
14562 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
14563 Set the default minibuffer frame, window_system and the rest of the
14564 frame parameters following what is done in X11.
14565
14566 * w32term.c (w32_initialize): Make static.
14567
14568 * xselect.c (x_handle_selection_clear): Only access
14569 terminal->kboard when MULTI_KBOARD is defined.
14570
14571 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
14572 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
14573
145742007-08-29 Jason Rumney <jasonr@gnu.org>
14575
14576 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
14577 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
14578
14579 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
14580 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
14581
14582 * keyboard.c (restore_kboard_configuration): Only define when
14583 MULTI_KBOARD defined.
14584
14585 * makefile.w32-in: Update dependancies from Makefile.in.
14586 (OBJ1): Add terminal.$(O)
14587
14588 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
14589 Don't define function body.
14590 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
14591
14592 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
14593
14594 * w32.c (request_sigio, unrequest_sigio): Remove.
14595
14596 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
14597 (w32con_clear_frame, w32con_clear_end_of_line)
14598 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
14599 (w32con_delete_glyphs, w32con_set_terminal_window)
14600 (scroll_line, w32_sys_ring_bell): Add frame arg.
14601 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
14602 Add terminal arg.
14603 (PICK_FRAME): Remove.
14604 (w32con_write_glyphs): Use frame specific terminal coding.
14605 (one_and_only_w32cons): New global variable.
14606 (initialize_w32_display): Use it for storing hooks.
14607 (create_w32cons_output): New function.
14608
14609 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
14610 arg a frame.
14611
14612 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
14613 Set window_system.
14614 (x_set_tool_bar_lines): Don't use updating_frame.
14615 (Fx_create_frame): Set terminal and ref count.
14616 (Fx_open_connection): Remove window-system check.
14617
14618 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
14619
14620 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
14621 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
14622 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
14623 Add frame arg.
14624 (x_delete_terminal, w32_create_terminal): New functions.
14625 (w32_term_init): Create a terminal.
14626 (w32_initialize): Move terminal specific initialization to
14627 w32_create_terminal.
14628
14629 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
14630 (w32_clear_rect, w32_clear_area): Use background from frame.
14631 (w32_display_info): Add terminal.
14632 (w32_sys_ring_bell, x_delete_display): Declare here.
14633
14634 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
14635
14636 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
14637
146382007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
14639
14640 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
14641 Fix get_named_tty calls for the controlling tty.
14642
146432007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
14644
14645 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
14646
146472007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
14648
14649 * term.c (tty_insert_glyphs): Add missing first parameter.
14650
146512007-08-29 Károly Lőrentey <karoly@lorentey.hu>
14652
14653 * buffer.c (Fbuffer_list, Fbury_buffer):
14654 Take frame->buried_buffer_list into account.
14655
14656 * cm.c (current_tty): New variable, for cmputc().
14657 (cmputc): Use it.
14658 (cmcheckmagic): Add tty parameter, look up terminal streams there.
14659 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
14660 (cmgoto): Add tty parameter. Pass it on to calccost().
14661 Use emacs_tputs() instead of tputs().
14662
14663 * cm.h (emacs_tputs): New macro to set current_tty, and then call
14664 tputs().
14665 (current_tty): New variable, for cmputc().
14666 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
14667
14668 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
14669 (internal_condition_case, internal_condition_case_1)
14670 (internal_condition_case_2): Don't abort when x_catching_errors.
14671
14672 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
14673 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
14674 prevent crashes caused by bogus longjmps in read_char.
14675
14676 * keymap.h (Fset_keymap_parent): Add EXFUN.
14677
14678 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
14679 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
14680 Remove redundant definition.
14681
14682 * macfns.c (x_set_mouse_color, x_make_gc):
14683 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14684
14685 * w32term.c (x_free_frame_resources):
14686 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14687 (w32_initialize): Use the accessor macros for terminal characteristics.
14688
14689 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
14690 Use the accessor macros for terminal characteristics.
14691 * msdos.c (internal_terminal_init): Use the accessor macros for
14692 terminal characteristics.
14693 (ScreenVisualBell, internal_terminal_init):
14694 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14695
14696 * termopts.h (no_redraw_on_reenter): Declare.
14697
14698 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
14699 (mark_terminals, mark_ttys): Declare.
14700 (Fgarbage_collect): Call them.
14701 (mark_object): Mark buried_buffer_list.
14702
14703 * prefix-args.c: Include stdlib.h for exit.
14704
14705 * syssignal.h: Add comment.
14706
14707 * indent.c: Include stdio.h.
14708
14709 * window.h (Vinitial_window_system): Declare.
14710 (Vwindow_system): Delete declaration.
14711
14712 * fontset.c (Finternal_char_font): Use FRAME_RIF.
14713
14714 * image.c (lookup_image): Don't initialize `c' until the xasserts
14715 have been run.
14716
14717 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
14718 FRAME_FOREGROUND_PIXEL.
14719
14720 * print.c (print_preprocess): Don't lose print_depth levels while
14721 iterating.
14722
14723 * widget.c (update_from_various_frame_slots):
14724 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14725
14726 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
14727 frames.
14728 (window_internal_height): Remove bogus make_number call.
14729 (init_window_once): Call make_terminal_frame with two zero parameters.
14730
14731 * fileio.c (Fread_file_name): Update comment.
14732
14733 * callint.c (Fcall_interactively):
14734 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
14735 Make sure it is correctly unwound.
14736
14737 * xsmfns.c (x_session_close): New function.
14738
14739 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
14740 Delete declarations.
14741
14742 * xterm.h: Remove declaration for x_fully_uncatch_errors.
14743 (x_output): Remove background_pixel and foreground_pixel fields.
14744 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
14745 (x_delete_device, x_session_close): Declare.
14746
14747 * lread.c: Include setjmp.h. Update declaration of `read_char'.
14748 (read_filtered_event): Call `read_char' with a local
14749 `wrong_kboard_jmpbuf'.
14750
14751 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
14752 Don't call single_kboard_state. Use FRAME_RIF.
14753
14754 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
14755 systems.
14756
14757 * lisp.h (set_process_environment): Rename to `set_global_environment'.
14758 (Fframe_with_environment, Fset_input_meta_mode)
14759 (Fset_quit_char): EXFUN.
14760 (x_create_device, tty_output, terminal, tty_display_info): Declare.
14761 (init_sys_modes, reset_sys_modes): Update prototypes.
14762 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
14763
14764 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
14765 Vlocal_key_translation_map, and Vkeyboard_translate_table.
14766 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
14767 Delete declarations.
14768 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
14769 (temporarily_switch_to_single_kboard, tty_read_avail_input):
14770 New declarations.
14771
14772 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
14773 already does that during init_display(). Call syms_of_keymap
14774 before syms_of_keyboard. Call `syms_of_terminal'.
14775 Call set_initial_environment, not set_process_environment.
14776 (shut_down_emacs): Call reset_all_sys_modes() instead of
14777 reset_sys_modes().
14778
14779 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
14780 (internal_resolve_face_name, resolve_face_name_error): New functions.
14781 (resolve_face_name): Protect against loops and errors thrown by Fget.
14782 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
14783 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
14784
14785 * scroll.c: Replace CURTTY() with local variables throughout the
14786 file (where applicable).
14787 (calculate_scrolling, calculate_direct_scrolling)
14788 (scrolling_1, scroll_cost): Use the accessor macros for terminal
14789 characteristics.
14790
14791 * keymap.c (Vfunction_key_map): Remove.
14792 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
14793 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
14794 (Vkey_translation_map): Remove.
14795 (syms_of_keymap): Remove DEFVAR for key-translation-map.
14796 (Fdescribe_buffer_bindings)
14797 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
14798 Update for terminal-local key-translation-map.
14799
14800 * Makefile.in (callproc.o): Update dependencies.
14801 (lisp, shortlisp): Add termdev.elc.
14802 (obj): Add terminal.o.
14803 (terminal.o): Add dependencies.
14804 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
14805 (data.o, fns.o): Add termhooks.h dependency.
14806 (SOME_MACHINE_LISP): Add dnd.elc.
14807 (minibuf.o): Fix typo.
14808 Update dependencies.
14809
14810 * data.c (do_symval_forwarding, store_symval_forwarding)
14811 (find_symbol_value): Use the selected frame's keyboard, not
14812 current_kboard.
14813
14814 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
14815 Vwindow_system.
14816
14817 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
14818 Fmenu_bar_open.
14819 (syms_of_xmenu): Update defsubr.
14820 (mouse_position_for_popup, Fx_popup_menu)
14821 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
14822 (set_frame_menubar, free_frame_menubar)
14823 (create_and_show_popup_menu, xmenu_show, )
14824 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
14825 an X frame.
14826
14827 * xselect.c (x_own_selection): Abort if not an X frame.
14828 (some_frame_on_display): Check if it is an X frame.
14829 (x_handle_selection_clear): Deal with MULTI_KBOARD.
14830
14831 * coding.c: Include frame.h and termhooks.h.
14832 (terminal_coding, keyboard_coding): Delete.
14833 (Fset_terminal_coding_system_internal)
14834 (Fset_keyboard_coding_system_internal)
14835 (Fkeyboard_coding_system)
14836 (Fterminal_coding_system): Add a terminal parameter.
14837 Get terminal_coding from the terminal.
14838 (init_coding_once): Don't call setup_coding_system here.
14839
14840 * dispextern.h (set_scroll_region, turn_off_insert)
14841 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
14842 (tty_clear_end_of_line, tty_setup_colors)
14843 (delete_tty, updating_frame)
14844 (produce_special_glyphs, produce_glyphs, write_glyphs)
14845 (insert_glyphs): Remove.
14846 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
14847 (tty_turn_off_highlight, get_tty_size): Add declaration.
14848 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
14849
14850 * frame.h (enum output_method): Add output_initial.
14851 (struct x_output): Delete.
14852 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
14853 Access foreground_pixel and background_pixel directly from the frame.
14854 (tty_display): Delete.
14855 (struct frame): Add buried_buffer_list, foreground_pixel,
14856 background_pixel and terminal. Delete kboard.
14857 (union output_data): Add tty.
14858 (FRAME_KBOARD): Get the kboard from the terminal.
14859 (FRAME_INITIAL_P): New macro.
14860 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
14861 (Qterm_environment_variable, Qdisplay_environment_variable)
14862 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
14863 New declarations.
14864
14865 * termchar.h (tty_output, tty_display_info): New structures.
14866 (tty_list): Declare.
14867 (FRAME_TTY, CURTTY): New macros.
14868 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
14869 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
14870 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
14871 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
14872
14873 * callproc.c: Include frame.h and termhooks.h, for terminal
14874 parameters.
14875 (add_env): New function.
14876 (child_setup): Use it.
14877 (child_setup, getenv_internal): Handle the new Vprocess_environment.
14878 (getenv_internal): Fix get_terminal_param call.
14879 (Fgetenv_internal, egetenv): Update doc.
14880 (syms_of_callproc): Initialize Vprocess_environment to nil.
14881 Register and initialize them. Remove obsolete defvars. Update doc
14882 strings.
14883 (child_setup): Handle Vlocal_environment_variables.
14884 (getenv_internal): Add terminal parameter.
14885 Handle Vlocal_environment_variables.
14886 (Fgetenv_internal): Add terminal parameter.
14887 (child_setup, getenv_internal, Fgetenv_internal): Store the local
14888 environment in a frame (not terminal) parameter. Update doc strings.
14889 (set_initial_environment): Rename from set_global_environment.
14890 Store Emacs environment in initial frame parameter.
14891
14892 * xdisp.c (redisplay_internal): Update references to
14893 `previous_terminal_frame'.
14894 (display_mode_line, Fformat_mode_line): Replace calls to
14895 `push_frame_kboard' with `push_kboard'.
14896 (get_glyph_string_clip_rects): Add extra parentheses and
14897 braces to prevent compiler warnings.
14898 (calc_pixel_width_or_height): Add xassert to check that the
14899 frame is alive. Don't call `lookup_image' on a termcap frame.
14900 (message2_nolog, message3_nolog, redisplay_internal)
14901 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
14902 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
14903 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
14904 (Fx_display_pixel_width, Fx_display_pixel_height)
14905 (Fx_display_planes, Fx_display_color_cells)
14906 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
14907 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
14908 (Fx_display_backing_store, Fx_display_visual_class)
14909 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
14910 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
14911
14912 * xfns.c (x_set_foreground_color x_set_background_color)
14913 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
14914 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14915 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
14916 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
14917 terminal that is being deleted.
14918 (Fx_create_frame): Use `store_frame_param' to set `window-system'
14919 frame parameter, and make sure it overrides any user-supplied setting.
14920 (Fx_close_connection, Fx_synchronize): Unify argument names with
14921 the rest of the DEFUNs.
14922
14923 * dispnew.c (Fsend_string_to_terminal): Update call to
14924 `get_tty_terminal'.
14925 (Fredraw_frame, Fsend_string_to_terminal)
14926 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
14927 FRAME_TERMCAP_P and FRAME_TTY.
14928 (window_change_signal): Don't believe width/height values that are
14929 impossibly small.
14930 (Vinitial_window_system): Rename from Vwindow_system.
14931 (termscript, Wcm, rif): Delete.
14932
14933 * termhooks.h (struct terminal): New struct containing the
14934 previously global text display hooks and new members NAME,
14935 DELETED and PARAM_ALIST.
14936 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
14937 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
14938 (FRAME_RIF): New macros.
14939 (get_terminal_param, get_device): New declarations.
14940 (termscript): Delete declaration.
14941
14942 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
14943 (XTflash, x_free_frame_resources, x_scroll_bar_create)
14944 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
14945 FRAME_FOREGROUND_PIXEL.
14946 (x_fully_uncatch_errors): Disable definition.
14947 (x_scroll_bar_expose): Fix reference to foreground pixel.
14948 (XTread_socket): Disable loop on all X displays.
14949 (x_delete_terminal): Don't set terminal->deleted and let
14950 delete_terminal delete the frames on the terminal.
14951 (x_delete_display): Doc update to reflect changes in
14952 delete_terminal.
14953 (x_display_info) <terminal>: Move member earlier in the struct.
14954 (deleting_tty): Remove old variable.
14955 (Fsuspend_tty): Call clear_tty_hooks.
14956 (Fresume_tty, init_tty): Call set_tty_hooks.
14957 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
14958 errors on X frames.
14959 (x_catch_errors_unwind): Abort if x_error_message is NULL.
14960 (handle_one_xevent): Initialize `f' to NULL.
14961 (x_delete_terminal, x_create_terminal): New functions.
14962 (XTset_terminal_modes, XTreset_terminal_modes)
14963 (XTread_socket, x_connection_closed, x_term_init)
14964 (x_term_init, x_delete_display): Add terminal parameter.
14965 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
14966 X connections.
14967
14968 * frame.c: Include termchar.h.
14969 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
14970 (Qwindow_system, Qenvironment, Qterm_environment_variable)
14971 (Qdisplay_environment_variable): New vars.
14972 (Fframep): Deal with output_initial.
14973 (Fframe-live-p): Doc fix.
14974 (Fwindow-system): New function.
14975 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
14976 (make_terminal_frame): Don't create frames on a terminal that is
14977 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14978 (store_frame_param): Check for found_for_frame before calling XFRAME.
14979 (Fmake_terminal_frame): Handle NULL tty names correctly.
14980 (syms_of_frame): Enhance doc string of `default-frame-alist'.
14981 (Fdelete_frame): Remove unused variable `count'. Don't allow other
14982 frames to refer to a deleted frame in their 'environment parameter.
14983 (Fframe_with_environment): New function.
14984 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
14985 (get_future_frame_param): New function.
14986 (Fmake_terminal_frame): Use it.
14987 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
14988
14989 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
14990 * sysdep.c (reset_sys_modes): Update for renames.
14991
14992 * keyboard.c (tty_read_avail_input): New function.
14993 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
14994 (syms_of_keyboard): Defsubr them.
14995 (Fset_input_meta_mode, Fset_quit_char): New functions.
14996 (Fset_input_mode): Split to above functions.
14997 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
14998 parameter. Use it in call to `read_char'.
14999 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
15000 Set wrong_kboard_jmpbuf correctly in recursive calls.
15001 Use current_kboard to access Vkeyboard_translate_table.
15002 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
15003 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
15004 Update longjmp invocations. Remember the original current_kboard,
15005 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
15006 changes it. Comment out unnecessary calls to
15007 `record_single_kboard_state' and `any_kboard_state'.
15008 Update recursive calls.
15009 (wrong_kboard_jmpbuf): Remove global variable.
15010 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
15011 Handle deleted interrupted_kboards correctly; that is a legal
15012 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
15013 and read_char calls. Abort if interrupted_kboard died in read_char.
15014 (any_kboard_state, single_kboard_state)
15015 (push_frame_kboard): Remove function.
15016 (pop_kboard): Switch out of single_kboard mode if the kboard has
15017 been deleted. Remove unused variable. Help debugging by not
15018 changing current_kboard unnecessarily. Set current_kboard to the
15019 kboard of the selected frame when the stored kboard object has
15020 been deleted before pop_kboard.
15021 (temporarily_switch_to_single_kboard): Change first parameter to a
15022 frame pointer. Throw an error when caller wants to change kboards
15023 while in single_kboard mode. Don't push_kboard if we weren't in
15024 single kboard state. Don't pop_kboard if we popped into any
15025 kboard state.
15026 (restore_kboard_configuration): Abort if pop_kboard changed the
15027 kboard in single_kboard mode. Call pop_kboard only after setting
15028 up single_kboard mode.
15029 (Frecursive_edit): Switch to single_kboard mode only in nested
15030 command loops.
15031 (cmd_error, command_loop, command_loop_1, timer_check):
15032 Comment out unnecessary call to `any_kboard_state' and
15033 `record_single_kboard_state'.
15034 (delete_kboard): Exit single_kboard mode if we have just deleted
15035 that kboard. Use FRAME_KBOARD.
15036 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
15037 `fatal_error_signal'.
15038 (record_single_kboard_state): Don't push_kboard if we weren't in
15039 single kboard state. Don't pop_kboard if we popped into any
15040 kboard state.
15041 (push_frame_kboard): Rename to push_kboard.
15042 (kbd_buffer_get_event): Use FRAME_TERMINAL.
15043 (read_avail_input): Read input from all terminals.
15044 (mark_kboards): Also mark Vkeyboard_translate_table.
15045 (kbd_buffer_store_event_hold): Simplify condition.
15046 (read_key_sequence): Reinitialize fkey and keytran at each replay.
15047 (Vkeyboard_translate_table): Move to struct kboard.
15048 (init_kboard): Initialize Vkeyboard_translate_table.
15049 (syms_of_keyboard): Use DEFVAR_KBOARD to define
15050 Vkeyboard_translate_table. Update doc strings. Update docs of
15051 local-function-key-map and function-key-map.
15052
15053 * terminal.c: New file.
15054
15055 * term.c: Include errno.h.
15056 (Vring_bell_function, device_list, initial_device)
15057 (next_device_id, ring_bell, update_begin, update_end)
15058 (set_terminal_window, cursor_to, raw_cursor_to)
15059 (clear_to_end, clear_frame, clear_end_of_line)
15060 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
15061 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
15062 (syms_of_term): Move their initialization to terminal.c.
15063 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
15064 (Ftty_display_color_cells)
15065 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
15066 (clear_tty_hooks, set_tty_hooks)
15067 (init_tty, maybe_fatal): New functions.
15068 (Ftty_type): Return nil if terminal is not on a tty instead of
15069 throwing an error. Doc update.
15070 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
15071 Doc update. Initialize new subrs and variables.
15072 (delete_tty): Use terminal->deleted.
15073 (tty_set_terminal_modes): Rename from set_terminal_modes.
15074 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
15075 (set_scroll_region): Rename to `tty_set_scroll_region'.
15076 (turn_on_insert): Rename to `tty_turn_on_insert'.
15077 (turn_off_insert): Rename to `tty_turn_off_insert'.
15078 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
15079 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
15080 (toggle_highligh): Rename to `tty_toggle_highlight'.
15081 (background_highlight): Rename to `tty_background_highlight'.
15082 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
15083 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
15084 (tty_set_scroll_region, tty_background_highlight)
15085 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
15086 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
15087 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
15088 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
15089 Add static modifier.
15090 (tty_reset_terminal_modes, tty_set_terminal_window)
15091 (tty_set_scroll_region, tty_background_highlight)
15092 (tty_highlight_if_desired, tty_cursor_to)
15093 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
15094 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
15095 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
15096 renames.
15097
150982007-08-28 Jan Djärv <jan.h.d@swipnet.se>
15099
15100 * keyboard.c: Qrtl is new.
15101 (parse_tool_bar_item): Handle :rtl keyword.
15102 (syms_of_keyboard): Intern :rtl keyword.
15103
15104 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
15105
15106 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
15107 so no Lisp code is executed.
15108 (file_for_image, find_rtl_image): New functions.
15109 (xg_get_image_for_pixmap): Use file_for_image.
15110 (update_frame_tool_bar): If direction is RTL, use RTL image if
15111 defined. Use Gtk stock images if defined.
15112
151132007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15114
15115 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
15116 for nonexistent or zero-width glyph in composition glyph.
15117
151182007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
15119
15120 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
15121
15122 * xdisp.c (Finvisible_p): New function.
15123 (syms_of_xdisp): defsubr it.
15124
151252007-08-24 Juanma Barranquero <lekktu@gmail.com>
15126
15127 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
15128 Doc fixes.
15129
151302007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15131
15132 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
15133
151342007-08-24 Martin Rudalics <rudalics@gmx.at>
15135
15136 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
15137 whether decoding has modified buffer contents.
15138
151392007-08-24 Jason Rumney <jasonr@gnu.org>
15140
15141 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
15142 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
15143 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
15144 (init_svg_functions) [HAVE_NTGUI]: New function.
15145 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
15146 (svg_load_image): Use them.
15147 (svg_load_image) [HAVE_NTGUI]: Implement background.
15148
151492007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15150
15151 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
15152 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
15153 (LIBX): Remove @RSVG_LIBS@.
15154 (LIBES): Add $(RSVG_LIBS).
15155
15156 * image.c (svg_load_image): Blend with specified background if exists.
15157 Use IMAGE_BACKGROUND. Add Mac OS Support.
15158
15159 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
15160 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
15161 Remove macros.
15162 [MAC_OSX] (socket_callback): Do nothing.
15163 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
15164 ReceiveNextEvent.
15165 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
15166 socket_callback.
15167 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
15168
151692007-08-22 Glenn Morris <rgm@gnu.org>
15170
15171 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
15172
151732007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
15174
15175 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
15176
15177 * image.c: Add support for SVG images. Some additional comments
15178 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
15179 (svg_image_p): New function to test for SVG image.
15180 (svg_load): New function to load SVG image.
15181 (svg_load_image): New function, helper for svg_load.
15182 (Qsvg): New Lisp_object.
15183 (svg_keyword_index): New enum.
15184 (svg_format): New static `image_keyword' struct.
15185 (svg_type): New static `image_type' struct.
15186 (librsvg/rsvg.h): Include it.
15187
151882007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
15189
15190 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
15191
151922007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
15193
15194 * lread.c (Qold_style_backquotes): New var.
15195 (syms_of_lread): Init and staticpro it.
15196 (load_warn_old_style_backquotes): New fun.
15197 (Fload): Use them to warn about old style backquotes.
15198 (end_of_file_error, Fload): Remove unused vars.
15199
15200 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
15201
15202 * lread.c (Vold_style_backquotes): New var.
15203 (syms_of_lread): Init and export it to Elisp.
15204 (read1): Set it when we find an old-style (back)quote.
15205
152062007-08-22 Jason Rumney <jasonr@gnu.org>
15207
15208 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
15209
152102007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
15211
15212 * puresize.h (BASE_PURESIZE): Increase to 1140000.
15213
152142007-08-19 Richard Stallman <rms@gnu.org>
15215
15216 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
15217
152182007-08-19 Andreas Schwab <schwab@suse.de>
15219
15220 * alloc.c (pure): Round PURESIZE up.
15221
152222007-08-17 Jan Djärv <jan.h.d@swipnet.se>
15223
15224 * xterm.c (handle_one_xevent): Remove check that mouse click is in
15225 active frame.
15226
152272007-08-16 Richard Stallman <rms@gnu.org>
15228
15229 * eval.c (Fcommandp): Add parens to clarify.
15230
15231 * minibuf.c (Fall_completions): Use enum for type of table.
15232
15233 * emacs.c (USAGE2): Improve text.
15234
152352007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
15236
15237 * term.c (tty_default_color_capabilities): Declare static
15238 variables in file scope, to avoid HPUX compiler problem.
15239
152402007-08-13 Jan Djärv <jan.h.d@swipnet.se>
15241
15242 * gtkutil.c (update_frame_tool_bar): Use -1 as index
15243 to gtk_toolbar_insert.
15244
152452007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
15246
15247 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
15248
15249 * insdel.c (reset_var_on_error): New fun.
15250 (signal_before_change, signal_after_change):
15251 Use it to reset (after|before)-change-functions to nil in case of error.
15252 Bind inhibit-modification-hooks to t.
15253 Don't bind (after|before)-change-functions to nil while they run.
15254
152552007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15256
15257 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
15258 filling pixmap with stippled background.
15259
152602007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15261
15262 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
15263 Don't use invisible frame as parent window for repositioning.
15264
152652007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
15266
15267 * print.c (new_backquote_output): Rename from old_backquote_output.
15268 (print): Inverse its logic (according to its name) so as to match the
15269 behavior of new_backquote_flag in lread.c.
15270
152712007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15272
15273 * gmalloc.c (posix_memalign): New function.
15274
15275 * macterm.c (frame_highlight, frame_unhighlight): Don't call
15276 ActivateControl/DeactivateControl here.
15277 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
15278 frame-notice-user-settings is non-nil.
15279 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
15280 for kEventParamFMFontStyle.
15281 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
15282 mac_pass_command_to_system and mac_pass_control_to_system here.
15283 (XTread_socket): Call ActivateControl/DeactivateControl here.
15284 (XTread_socket) [TARGET_API_MAC_CARBON]:
15285 Check mac_pass_command_to_system and mac_pass_control_to_system here.
15286 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
15287 for window repositioning.
15288
152892007-08-08 Glenn Morris <rgm@gnu.org>
15290
15291 * Replace `iff' in doc-strings and comments.
15292
152932007-08-07 Chong Yidong <cyd@stupidchicken.com>
15294
15295 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
15296
152972007-08-07 Martin Rudalics <rudalics@gmx.at>
15298
15299 * fileio.c (Finsert_file_contents): Run format-decode and
15300 after_insert_file_functions on entire buffer when REPLACE is
15301 non-nil and inhibit modification_hooks and point_motion_hooks.
15302 For consistency, run after_insert_file_functions iff something
15303 got inserted. Move signal_after_change and update_compositions
15304 after code running after_insert_file_functions. Make sure that
15305 undo_list doesn't record intermediate steps of the decoding process.
15306
153072007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15308
15309 * emacs.c (main)
15310 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
15311 Call malloc_enable_thread on interactive startup.
15312
15313 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
15314 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
15315 [USE_PTHREAD]: Conditionalize with it.
15316 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
15317 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
15318 New functions.
15319
153202007-08-06 Chong Yidong <cyd@stupidchicken.com>
15321
15322 * xdisp.c (redisplay_window): When restoring original buffer
15323 position, make sure it is still valid.
15324
15325 * image.c (png_load): Ignore png-supplied background color.
15326
153272007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15328
15329 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
15330 Use kCFAbsoluteTimeIntervalSince1970.
15331
15332 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
15333 New variable.
15334 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
15335 event loop should be quit.
15336 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
15337 Quit dialog event loop if quit_dialog_event_loop is set.
15338
15339 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
15340 (Selection): New typedef. Use instead of ScrapRef.
15341 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
15342 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
15343 (mac_clear_selection): Rename from clear_scrap.
15344 (get_flavor_type_from_symbol): New argument SEL and subsume function of
15345 scrap_has_target_type. All uses changed.
15346 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
15347 (mac_selection_has_target_p): New functions.
15348 (mac_put_selection_value): Rename from put_scrap_string.
15349 (mac_get_selection_value): Rename from get_scrap_string.
15350 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
15351 (put_scrap_private_timestamp, scrap_has_target_type)
15352 (get_scrap_private_timestamp): Remove functions.
15353 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
15354 (x_own_selection, x_get_local_selection):
15355 Use mac_valid_selection_value_p.
15356 (x_own_selection): Don't use put_scrap_private_timestamp.
15357 Record OWNERSHIP-INFO into Vselection_alist instead.
15358 (x_get_local_selection): Don't check type if request is local.
15359 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
15360 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
15361
153622007-08-04 Jan Djärv <jan.h.d@swipnet.se>
15363
15364 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
15365 add comment explaining why.
15366
153672007-08-03 Richard Stallman <rms@gnu.org>
15368
15369 * fileio.c (Fvisited_file_modtime): Use make_time.
15370
153712007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
15372
15373 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
15374 build.
15375
153762007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
15377
15378 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
15379
153802007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
15381
15382 * puresize.h (BASE_PURESIZE): Increase to 1130000.
15383
153842007-07-30 Richard Stallman <rms@gnu.org>
15385
15386 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
15387
153882007-07-29 Jan Djärv <jan.h.d@swipnet.se>
15389
15390 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
15391
153922007-07-28 Nick Roberts <nickrob@snap.net.nz>
15393
15394 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
15395 remote default-directory.
15396
15397 * buffer.c (mode-line-format): Update doc string.
15398
153992007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15400
15401 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
15402 scroll bar gap.
15403 (x_scroll_bar_create): Set bar->fringe_extended_p.
15404 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
15405 on frame edge. Check fringe background extension. Don't clear
15406 extended fringe background area.
15407
15408 * w32term.h (struct scroll_bar): New member fringe_extended_p.
15409 (w32_fill_area): Enclose multiple statements with do ... while (0).
15410
15411 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
15412 Extend fringe background to scroll bar gap.
15413 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
15414 Set bar->fringe_extended_p.
15415 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
15416 Put leftmost/rightmost scroll bars on frame edge. Check fringe
15417 background extension. Don't clear extended fringe background area.
15418
15419 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
15420 New member fringe_extended_p.
15421
154222007-07-25 Glenn Morris <rgm@gnu.org>
15423
15424 * Relicense all FSF files to GPLv3 or later.
15425
15426 * COPYING: Switch to GPLv3.
15427
154282007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
15429
15430 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
15431
15432 * data.c (Finteractive_form): Check for the presence of an
15433 `interactive-form' symbol property more thoroughly.
15434
15435 * data.c (Finteractive_form): Use an `interactive-form' property if
15436 present, analogous to the function-documentation property.
15437
154382007-07-24 Jason Rumney <jasonr@gnu.org>
15439
15440 * w32fns.c (x_real_positions): Get real position from OS instead of
15441 calculating it.
15442
154432007-07-23 Jason Rumney <jasonr@gnu.org>
15444
15445 * filelock.c (current_lock_owner): Allow for @ sign in username.
15446
154472007-07-22 Nick Roberts <nickrob@snap.net.nz>
15448
15449 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
15450 remote default-directory.
15451
15452 * buffer.c (mode-line-format): Describe above case in doc string.
15453
154542007-07-20 Eli Zaretskii <eliz@gnu.org>
15455
15456 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
15457 Define if not defined.
15458
154592007-07-18 Jason Rumney <jasonr@gnu.org>
15460
15461 * w32proc.c (w32_executable_type): Handle 64 bit executables.
15462
154632007-07-18 Richard Stallman <rms@gnu.org>
15464
15465 * data.c (Fsetq_default): Doc fix.
15466
15467 * eval.c (Fsetq): Doc fix.
15468
154692007-07-18 Juanma Barranquero <lekktu@gmail.com>
15470
15471 * coding.c (Ffind_operation_coding_system):
15472 * eval.c (For, Fand): Doc fixes.
15473 Reported by Johan Bockgård.
15474
154752007-07-18 Jan Djärv <jan.h.d@swipnet.se>
15476
15477 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
15478
15479 * xterm.h: Declare x_ewmh_activate_frame.
15480
15481 * xterm.c (x_ewmh_activate_frame): New function.
15482 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
15483
154842007-07-17 Martin Rudalics <rudalics@gmx.at>
15485
15486 * window.c (Fdisplay_buffer): If largest or LRU window is the
15487 only window, split it even if it is not eligible for splitting.
15488 This restores the original behavior broken by the 2007-07-15
15489 change.
15490
154912007-07-17 Glenn Morris <rgm@gnu.org>
15492
15493 * abbrev.c (abbrev_check_chars): New function.
15494 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
15495 Call abbrev_check_chars to check abbrev characters are word
15496 constituents. Doc fix.
15497
154982007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
15499
15500 * process.c (Fstart_process, Fmake_network_process)
15501 (read_process_output): Fix up last changes.
15502
155032007-07-16 Eli Zaretskii <eliz@gnu.org>
15504
15505 * makefile.w32-in (clean): Don't delete *~.
15506
155072007-07-16 Andreas Schwab <schwab@suse.de>
15508
15509 * window.c (Fdisplay_buffer): Use NILP.
15510 (Fset_window_scroll_bars): Likewise.
15511
155122007-07-15 Martin Rudalics <rudalics@gmx.at>
15513
15514 * window.c (window_min_size_2): New function.
15515 (window_min_size_1, size_window, Fdisplay_buffer)
15516 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
15517 windows without mode- or header-lines when window-min-height is
15518 too small.
15519 (size_window): Reset nodelete_p after testing it, following an
15520 earlier note by Kim F. Storm.
15521 (display_buffer): Do not set split_height_threshold to twice the
15522 value of window_min_height to avoid changing the value of a
15523 customizable variable. Rather explicitly check whether the
15524 height of the window that shall be splitted is at least as large
15525 as split_height_threshold.
15526 (Fwindow_full_width_p): New defun.
15527 (syms_of_window): Defsubr it.
15528
15529 * window.h: Add EXFUN for Fwindow_full_width_p.
15530
155312007-07-14 Jason Rumney <jasonr@gnu.org>
15532
15533 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
15534
155352007-07-14 Richard Stallman <rms@gnu.org>
15536
15537 * eval.c (maybe_call_debugger): New function.
15538 (find_handler_clause): Use maybe_call_debugger.
15539 Call it when the handler says `debug'.
15540 Eliminate DEBUGGER_VALUE_PTR.
15541 (Fsignal): Eliminate debugger_value.
15542 (Qdebug): New variable.
15543 (syms_of_eval): Initialize it.
15544
155452007-07-14 Juanma Barranquero <lekktu@gmail.com>
15546
15547 * eval.c (Fprogn):
15548 * keyboard.c (Ftrack_mouse):
15549 * print.c (Fwith_output_to_temp_buffer):
15550 * window.c (Fsave_window_excursion): Doc fix.
15551
155522007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
15553
15554 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
15555
155562007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
15557
15558 * process.h (struct Lisp_Process): Turn slots infd, outfd,
15559 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
15560 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
15561 read_output_delay, and read_output_skip from Lisp_Objects to ints.
15562 Remove unused encoding_carryover.
15563 * process.c: Adjust all functions accordingly.
15564
155652007-07-12 Richard Stallman <rms@gnu.org>
15566
15567 * term.c: Include unistd.h only if HAVE_UNISTD_H.
15568
155692007-07-11 Jason Rumney <jasonr@gnu.org>
15570
15571 * makefile.w32-in (LIBS): Include OLE32.
15572
15573 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
15574 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
15575
155762007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
15577
15578 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
15579 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
15580 from a Lisp_Object into a bare pointer.
15581 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
15582 Adjust the code correspondingly.
15583
15584 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
15585
15586 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
15587 (term_show_mouse_face): Remove unused var `j'.
15588 (handle_one_term_event): Remove unused vars `i' and `j'.
15589 Don't cast return value of ttyname since it's not necessary.
15590
155912007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
15592
15593 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
15594 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
15595
15596 * fns.c (map_char_table): Use an array of int for `indices' rather than
15597 an array of Lisp_Objects (which are only ever integers anyway).
15598 (Fmap_char_table): Update caller.
15599 * lisp.h: Update prototype.
15600 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
15601 * fontset.c (Ffontset_info):
15602 * casetab.c (set_case_table): Update callers.
15603
15604 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
15605
15606 * keymap.c (struct accessible_keymaps_data)
15607 (struct where_is_internal_data): New structures.
15608 (accessible_keymaps_1, where_is_internal_1): Use them to change
15609 interface to adhere to the one used by map_keymap.
15610 (Faccessible_keymaps, where_is_internal): Use map_keymap.
15611 (accessible_keymaps_char_table, where_is_internal_2): Remove.
15612
15613 * keymap.h (map_keymap_function_t): More informative prototype.
15614
156152007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
15616
15617 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
15618 (looking_at_1): Don't change search_regs and last_thing_searched
15619 if `inhibit-changing-match-data' is non-nil.
15620 (string_match_1, search_buffer, set_search_regs): Likewise.
15621 (syms_of_search): Add Lisp level definition for
15622 `inhibit-changing-match-data' and set it to nil.
15623 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
15624 start and end of the match, instead of using values in search_regs.
15625
156262007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
15627
15628 * minibuf.c (Fcompleting_read): New value `confirm-only'
15629 for `require-match'.
15630
156312007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
15632
15633 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
15634 part of the 2007-06-27 change to syms_of_fileio.
15635
156362007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15637
15638 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
15639 Check WINDOWP before using XWINDOW. Consolidate return statements.
15640
156412007-06-27 Richard Stallman <rms@gnu.org>
15642
15643 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
15644
156452007-06-27 Juanma Barranquero <lekktu@gmail.com>
15646
15647 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
15648
156492007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15650
15651 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
15652 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
15653 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
15654 (_free_internal, memalign): Use them.
15655 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
15656 Initialize to PTHREAD_MUTEX_INITIALIZER.
15657 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
15658 (morecore_nolock): Rename from morecore. All uses changed.
15659 Use only nolock versions of internal allocation functions.
15660 (_malloc_internal_nolock, _realloc_internal_nolock)
15661 (_free_internal_nolock): New functions created from
15662 _malloc_internal, _realloc_internal, and _free_internal.
15663 (_malloc_internal, _realloc_internal, _free_internal): Use them.
15664 Copy hook value to automatic variable before its use.
15665 (memalign): Copy hook value to automatic variable before its use.
15666
156672007-06-26 Kenichi Handa <handa@m17n.org>
15668
15669 * coding.c (Ffind_operation_coding_system): Docstring improved.
15670 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
15671
156722007-06-25 David Kastrup <dak@gnu.org>
15673
15674 * keymap.c (Fcurrent_active_maps): Add `position' argument.
15675 (Fwhere_is_internal): Adjust call to `current-active-maps' to
15676 cater for additional parameter.
15677
15678 * keymap.h: Adjust number of parameters to `current-active-maps'.
15679
15680 * doc.c (Fsubstitute_command_keys): Adjust call of
15681 `current-active-maps'.
15682
156832007-06-25 David Kastrup <dak@gnu.org>
15684
15685 * callint.c (Fcall_interactively): Make the parsing of interactive
15686 specs somewhat more readable.
15687
156882007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15689
15690 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
15691 to scroll bar gap also when bitmap fills fringe. Draw only foreground
15692 if extended background has already been filled.
15693
156942007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15695
15696 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
15697 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
15698
15699 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
15700 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
15701 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
15702 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
15703 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
15704 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
15705 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
15706 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
15707 Run timers during dialog popup.
15708 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
15709
157102007-06-21 Jason Rumney <jasonr@gnu.org>
15711
15712 * image.c (convert_mono_to_color_image): Swap fore and background.
15713
157142007-06-20 Jason Rumney <jasonr@gnu.org>
15715
15716 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
15717 (w32_free_bdf_font): Unmap memory not handle.
15718
157192007-06-20 Sam Steingold <sds@gnu.org>
15720
15721 * gmalloc.c (__morecore): Fix the declaration to comply with the
15722 definition.
15723
157242007-06-20 Juanma Barranquero <lekktu@gmail.com>
15725
15726 * w32term.c (w32_delete_display): Remove leftover declaration.
15727 (w32_define_cursor, w32_initialize): Make static.
15728
15729 * w32.c (_wsa_errlist): Fix typo in error message.
15730 (init_environment): Ignore any environment variable from the
15731 registry having a null value.
15732
157332007-06-20 Glenn Morris <rgm@gnu.org>
15734
15735 * Makefile.in (LIBGIF): Default to -lgif.
15736
157372007-06-17 Jason Rumney <jasonr@gnu.org>
15738
15739 * w32menu.c (add_menu_item): Don't use multibyte string functions on
15740 unicode strings.
15741
157422007-06-16 Juanma Barranquero <lekktu@gmail.com>
15743
15744 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
15745 Fix typo in docstring.
15746
157472007-06-16 Eli Zaretskii <eliz@gnu.org>
15748
15749 * w32menu.c (add_menu_item): Escape `&' characters in menu items
15750 and their keybindings.
15751
157522007-06-15 Chong Yidong <cyd@stupidchicken.com>
15753
15754 * composite.c (update_compositions): Fix last fix.
15755
157562007-06-14 Jason Rumney <jasonr@gnu.org>
15757
15758 * w32.c (get_process_times_fn): New function pointer.
15759 (globals_of_w32): Intialize it if present in kernel32.dll.
15760 (w32_get_internal_run_time): New function.
15761
15762 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
15763
157642007-06-14 Kenichi Handa <handa@etlken.m17n.org>
15765
15766 * composite.c (update_compositions): Check the validness of
15767 compositions.
15768
157692007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15770
15771 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
15772 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
15773
15774 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
15775 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
15776
15777 * macgui.h (USE_MAC_TOOLBAR): New define.
15778
15779 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
15780 Return immediately unless popup is activated.
15781
15782 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
15783 background to scroll bar gap.
15784 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
15785 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
15786 scroll bars on frame edge. Check fringe background extension.
15787 Don't clear extended fringe background area.
15788 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
15789 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
15790 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
15791 [USE_MAC_TOOLBAR]: New macros.
15792 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
15793 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
15794 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
15795 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
15796 [USE_MAC_TOOLBAR]: New functions.
15797 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
15798 manually if previous repositioning has failed.
15799 (mac_handle_keyboard_event): Use precomputed event kind.
15800 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
15801 as tool bar item click. Handle mouse movement over tool bar items.
15802
15803 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
15804 toolbar_win_gravity.
15805 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
15806 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
15807 Add externs.
15808
15809 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
15810 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
15811
158122007-06-14 Chong Yidong <cyd@stupidchicken.com>
15813
15814 * image.c (search_image_cache): Remove unused variable.
15815
158162007-06-13 Chong Yidong <cyd@stupidchicken.com>
15817
15818 * xfns.c, xmenu.c: Link to xaw3d if available.
15819
158202007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15821
15822 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
15823 frame_foreground and frame_background.
15824
15825 * image.c (lookup_image): Save frame foreground and background colors.
15826 (search_image_cache): Check if saved and current frame colors match.
15827
158282007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
15829
15830 * regex.c (regex_compile): Remove the `regnum' counter.
15831 Use bufp->re_nsub instead. Add support for \(?N:RE\).
15832
158332007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
15834
15835 * term.c: Include intervals.h to declare Fget_text_property.
15836
158372007-06-10 Jason Rumney <jasonr@gnu.org>
15838
15839 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
15840
158412007-06-08 Juanma Barranquero <lekktu@gmail.com>
15842
15843 * callint.c (Fcall_interactively):
15844 * editfns.c (Fdelete_and_extract_region):
15845 * fileio.c (Fread_file_name):
15846 * fns.c (Fmapconcat):
15847 * keyboard.c (cmd_error_internal):
15848 * keymap.c (Fkey_description):
15849 * lread.c (openp):
15850 * minibuf.c (read_minibuf):
15851 * search.c (wordify):
15852 * sunfns.c (sel_read):
15853 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
15854 * xfns.c (x_default_scroll_bar_color_parameter):
15855 * xmenu.c (menu_help_callback):
15856 * xselect.c (Fx_get_atom_name):
15857 * xterm.c (x_term_init): Use empty_unibyte_string.
15858
158592007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
15860
15861 * alloc.c (init_strings): Initialize canonical empty strings.
15862 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
15863 canonical empty string when the requested size is 0.
15864
15865 * emacs.c (empty_unibyte_string): Rename from empty_string.
15866 (empty_multibyte_string): New canonical empty string.
15867 (syms_of_emacs): Don't initialize empty_string.
15868
15869 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
15870 string, if appropriate.
15871 (empty_unibyte_string, empty_multibyte_string): New externs.
15872 (empty_string): Remove extern.
15873
15874 * lread.c (syms_of_lread): Use empty_unibyte_string.
15875
158762007-06-07 Jason Rumney <jasonr@gnu.org>
15877
15878 * s/ms-w32.h: Don't define HAVE_TZNAME.
15879
15880 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
15881
158822007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15883
15884 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
15885
15886 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
15887 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
15888
15889 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
15890 Don't call next handler.
15891 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
15892 Remove argument. Install handler to application.
15893 (set_frame_menubar): Don't change deep_p.
15894 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
15895 FRAME_OUTER_TO_INNER_DIFF_Y.
15896 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
15897 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
15898 [HAVE_DIALOGS]: New macros.
15899 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
15900 Use them.
15901 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
15902
15903 * macselect.c [MAC_OSX] (install_service_handler): Rename from
15904 init_service_handler. All callers changed. Return OSStatus value.
15905
15906 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
15907 All callers changed so as not to call SetPortWindowPort.
15908 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
15909 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
15910 mac_draw_string_common.
15911 (mac_draw_image_string_qd): Likewise.
15912 (mac_draw_string_common): Use them. Add INLINE.
15913 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
15914 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
15915 GetGlobalMouse.
15916 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
15917 and FRAME_OUTER_TO_INNER_DIFF_Y.
15918 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
15919 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
15920 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
15921 repositioning window to mac_handle_window_event.
15922 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
15923 saving window location to mac_handle_window_event
15924 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
15925 (install_menu_target_item_handler): Remove argument in extern.
15926 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
15927 Also accept command events.
15928 (do_keystroke): New function created from XTread_socket.
15929 (init_command_handler): Remove functions.
15930 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
15931 and save window location by kEventWindowShowing and kEventWindowHiding
15932 handlers here. Don't call next handler for window state change and
15933 focus events.
15934 (mac_handle_application_event, mac_handle_keyboard_event)
15935 [TARGET_API_MAC_CARBON]: New functions.
15936 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
15937 kEventWindowShowing and kEventWindowHiding events. Move installation
15938 of mouse, font, text input and menu target item handlers to
15939 install_application_handler.
15940 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
15941 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
15942 New function.
15943 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
15944 Register it.
15945 (XTread_socket) [TARGET_API_MAC_CARBON]:
15946 Consolidate SendEventToEventTarget calls.
15947 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
15948 Move application activation handler to mac_handle_application_event.
15949 Move keyboard handler to mac_handle_keyboard_event.
15950 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
15951 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
15952 init_command_handler. Call install_application_handler.
15953
15954 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
15955 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
15956
159572007-06-07 Glenn Morris <rgm@gnu.org>
15958
15959 * emacs.c (main): Use `emacs-copyright' in --version output.
15960
159612007-06-06 Chong Yidong <cyd@stupidchicken.com>
15962
15963 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
15964
159652007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15966
15967 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
15968
15969 * macgui.h: Replace WindowPtr with WindowRef.
15970
15971 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
15972 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
15973 Replace ControlHandle with ControlRef.
15974 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
15975
15976 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
15977 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
15978 Replace ControlHandle with ControlRef.
15979 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
15980 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
15981
15982 * macterm.h (struct scroll_bar): Rename member control_handle_low
15983 and control_handle_high to control_ref_low and control_ref_high.
15984 All uses changed.
15985 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
15986 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
15987 respectively. All uses changed.
15988 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
15989 (install_window_handler, remove_window_handler): Replace WindowPtr
15990 with WindowRef in externs.
15991
159922007-06-05 Juanma Barranquero <lekktu@gmail.com>
15993
15994 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
15995
159962007-06-03 Nick Roberts <nickrob@snap.net.nz>
15997
15998 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
15999
16000 * frame.c (Fmouse_position, Fmouse_pixel_position):
16001 Condition on HAVE_GPM too.
16002
16003 * term.c (term_mouse_highlight): Remove unused variables.
16004 (Fterm_open_connection): Set gpm_zerobased to 1.
16005 (term_mouse_movement, term_mouse_click, handle_one_term_event):
16006 Use zero based co-ordinates.
16007 (handle_one_term_event): Report a drag as mouse movement too.
16008
16009 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
16010
160112007-06-03 Chong Yidong <cyd@stupidchicken.com>
16012
16013 * image.c (search_image_cache): New function. Require background
16014 color match if background color is unspecified in the image spec.
16015 (uncache_image, lookup_image): Use it.
16016
160172007-06-01 Juanma Barranquero <lekktu@gmail.com>
16018
16019 * window.c (Fshrink_window): Reflow docstring.
16020
160212007-06-02 Chong Yidong <cyd@stupidchicken.com>
16022
16023 * Version 22.1 released.
16024
160252007-06-01 Richard Stallman <rms@gnu.org>
16026
16027 * xfns.c (x_encode_text): Add GCPRO.
16028
160292007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16030
16031 * xfns.c (x_set_name_internal): Save encoded name before
16032 x_encode_text in case string data is relocated.
16033
160342007-05-31 Richard Stallman <rms@gnu.org>
16035
16036 * buffer.c (syms_of_buffer): Doc fix.
16037
160382007-05-30 Nick Roberts <nickrob@snap.net.nz>
16039
16040 * sysdep.c (init_sys_modes): Add rather than replace with
16041 O_NONBLOCK.
16042
16043 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
16044 term_mouse_moveto.
16045
16046 * termhooks.h (term_mouse_moveto): New extern.
16047
16048 * term.c (mouse_face_window): Rename...
16049 (Qmouse_face_window): ...to this.
16050 (term_show_mouse_face, term_clear_mouse_face)
16051 (term_mouse_highlight): Use Qmouse_face_window.
16052 (term_mouse_moveto): New function.
16053 (term_mouse_position): Make it work.
16054 (syms_of_term): Uncomment assignment to mouse_position_hook.
16055 Staticpro Qmouse_face_window.
16056
160572007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16058
16059 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
16060 around current_column call.
16061
160622007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
16063
16064 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
16065 * xdisp.c (next_element_from_buffer):
16066 * window.c (delete_window):
16067 * term.c (term_mouse_highlight):
16068 * msdos.c (getdefdir):
16069 * macterm.c (mac_create_bitmap_from_bitmap_data)
16070 (init_font_name_table):
16071 * fns.c (Fsxhash):
16072 * data.c (Fmake_local_variable):
16073 * ccl.c (ccl_driver): Likewise.
16074
160752007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16076
16077 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
16078 Call mac_wakeup_from_rne on window size change.
16079
160802007-05-25 Chong Yidong <cyd@stupidchicken.com>
16081
16082 * image.c (uncache_image): Fix typo.
16083
160842007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
16085
16086 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
16087
160882007-05-22 Richard Stallman <rms@gnu.org>
16089
16090 * xterm.c (x_connection_closed): Remove NO_RETURN.
16091
160922007-05-22 Martin Rudalics <rudalics@gmx.at>
16093
16094 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
16095
160962007-05-21 Chong Yidong <cyd@stupidchicken.com>
16097
16098 * image.c (uncache_image): New function.
16099 (Fimage_refresh): New function.
16100
161012007-05-20 Jan Djärv <jan.h.d@swipnet.se>
16102
16103 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
16104
161052007-05-20 Nick Roberts <nickrob@snap.net.nz>
16106
16107 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
16108 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
16109
161102007-05-20 Nick Roberts <nickrob@snap.net.nz>
16111
16112 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
16113 conditional on [HAVE_GPM_H].
16114
161152007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
16116
16117 * syntax.c (skip_chars): Update syntax-table only after we checked that
16118 the new location is valid.
16119
161202007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16121
16122 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
16123 mac_get_window_bounds.
16124
161252007-05-20 Nick Roberts <nickrob@snap.net.nz>
16126
16127 * Makefile.in (LIBGPM): Allow it to be set from configure.
16128 If set then link Emacs with it.
16129
16130 * config.in: Regenerate.
16131
16132 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
16133 New externs.
16134
16135 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
16136 Include gpm.h.
16137 (handle_one_term_event, term_gpm): New externs.
16138
16139 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
16140 and allow it to be interrupted by SIGIO.
16141
16142 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
16143 (wait_reading_process_output): Wait on gpm_fd too.
16144 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
16145 (add_gpm_wait_descriptor_called_flag): New variable.
16146 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
16147
16148 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
16149 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
16150 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
16151 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
16152 (make_lispy_event): Add case GPM_CLICK_EVENT.
16153 (read_avail_input): Handle mouse input.
16154
16155 * term.c (write_glyphs_with_face): New function.
16156 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
16157 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
16158 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
16159 (mouse_face_face_id, term_gpm, pos_x, pos_y)
16160 (last_mouse_x, last_mouse_y): New variables.
16161 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
16162 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
16163 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
16164 (Fterm_close_connection): New functions.
16165 (term_init): Initialise mouse_face_window.
16166
161672007-05-19 Chong Yidong <cyd@stupidchicken.com>
16168
16169 * xdisp.c (redisplay_window): If first window line is a
16170 continuation line, recompute the new window start instead of
16171 recentering.
16172
161732007-05-18 Glenn Morris <rgm@gnu.org>
16174
16175 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
16176 Suggested by Alfred M. Szmidt <ams@gnu.org>.
16177
161782007-05-17 Glenn Morris <rgm@gnu.org>
16179
16180 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
16181
161822007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16183
16184 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
16185 dead key repeat and up events.
16186
161872007-05-14 Chong Yidong <cyd@stupidchicken.com>
16188
16189 * image.c (pbm_load): Check image size for monochrome pbm.
16190
161912007-05-13 Chong Yidong <cyd@stupidchicken.com>
16192
16193 * xterm.c (XTread_socket): Revert last change.
16194
161952007-05-12 Chong Yidong <cyd@stupidchicken.com>
16196
16197 * image.c (pbm_load): Correctly check image size for greyscale pbm.
16198
16199 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
16200
162012007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
16202
16203 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
16204 mixup (YAILOM).
16205
162062007-05-07 Andreas Schwab <schwab@suse.de>
16207
16208 * keymap.c (Flookup_key): Fix typo in last change.
16209
162102007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
16211
16212 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
16213 mapping for unibyte strings.
16214
162152007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16216
16217 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
16218 (Fx_popup_dialog) [MAC_OSX]: Likewise.
16219
162202007-04-29 Richard Stallman <rms@gnu.org>
16221
16222 * insdel.c (replace_range): For undo, record insertion first.
16223
162242007-04-29 Andreas Schwab <schwab@suse.de>
16225
16226 * lisp.h (VECSIZE): Use OFFSETOF.
16227
162282007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16229
16230 * xdisp.c (try_window_reusing_current_matrix): Fix number of
16231 disabled lines.
16232
162332007-04-28 Richard Stallman <rms@gnu.org>
16234
16235 * lread.c (read_escape): In a string, \s is always space.
16236
162372007-04-27 Jan Djärv <jan.h.d@swipnet.se>
16238
16239 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
16240
16241 * gtkutil.c (xg_update_menubar, create_menus): Create empty
16242 submenu for menu bar items.
16243
16244See ChangeLog.10 for earlier changes.
16245
16246;; Local Variables:
16247;; coding: utf-8
16248;; add-log-time-zone-rule: t
16249;; bug-reference-url-format: "http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=%s"
16250;; End:
16251
16252 Copyright (C) 2007, 2008 Free Software Foundation, Inc.
16253
16254 This file is part of GNU Emacs.
16255
16256 GNU Emacs is free software: you can redistribute it and/or modify
16257 it under the terms of the GNU General Public License as published by
16258 the Free Software Foundation, either version 3 of the License, or
16259 (at your option) any later version.
16260
16261 GNU Emacs is distributed in the hope that it will be useful,
16262 but WITHOUT ANY WARRANTY; without even the implied warranty of
16263 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16264 GNU General Public License for more details.
16265
16266 You should have received a copy of the GNU General Public License
16267 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
16268
16269;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40