(pmail-new-summary): Check for pmail-summary-mode in the current
[bpt/emacs.git] / src / ChangeLog
CommitLineData
1f625c6c
AS
12008-12-02 Andreas Schwab <schwab@suse.de>
2
f7741ce9
AS
3 * font.c (font_unparse_fcname): Fix use of uninitialized variable.
4
1f625c6c
AS
5 * doprnt.c (doprnt1): Fix size of charbuf.
6
92bc2678
CY
72008-12-02 Chong Yidong <cyd@stupidchicken.com>
8
9 * keyboard.c (timer_check): Revert last change.
10
93b9e8cc
JB
112008-12-02 Juanma Barranquero <lekktu@gmail.com>
12
13 * makefile.w32-in ($(BLD)/w32console.$(O)): Fix silly, silly typo.
14
fd7a37d5
JB
152008-12-01 Juanma Barranquero <lekktu@gmail.com>
16
17 * makefile.w32-in: Update dependencies.
18 (CONFIG_H): Add $(EMACS_ROOT)/nt/inc/sys/time.h.
19
c115043b
AS
202008-12-01 Andreas Schwab <schwab@suse.de>
21
22 * font.c (register_font_driver): Use xmalloc.
23 (font_put_frame_data): Likewise.
24
f5668d2a
CY
252008-12-01 Chong Yidong <cyd@stupidchicken.com>
26
860d96be
CY
27 * xfaces.c (realize_x_face): Make abort condition clearer.
28
f5668d2a
CY
29 * gtkutil.c (update_frame_tool_bar): Initialize variable.
30
379c17e7
CY
312008-11-30 Chong Yidong <cyd@stupidchicken.com>
32
33 * keyboard.c (timer_check): After a timer runs, ensure that the
34 selected window's buffer is current.
35
35f36d65
JB
362008-11-30 Juanma Barranquero <lekktu@gmail.com>
37
f952c61c
JB
38 * makefile.w32-in ($(BLD)/abbrev.$(O)): Remove.
39 It was accidentally restored by the Unicode merge.
40
35f36d65
JB
41 * w32proc.c (Fw32_get_locale_info): Fix typo in docstring.
42
b23077df
JB
432008-11-29 Juanma Barranquero <lekktu@gmail.com>
44
45 * w32proc.c: Include "coding.h".
46 (Fw32_short_file_name): Encode filename passed to Windows API.
47 (Fw32_long_file_name): Encode filename passed to Windows API and
48 decode back the result. (Bug#1433)
49
b8ebe9dd
KH
502008-11-29 Kenichi Handa <handa@m17n.org>
51
8cc53f96
KH
52 * charset.h (CHAR_CHARSET_P): Check if the encoder is loaded or
53 not before accessing it.
54
b8ebe9dd
KH
55 * charset.c (Fdefine_charset_internal): After calculating
56 min_char, max_char, and fastmap, copy the charset structure again.
57 (encode_char): Fix the previous change.
58
59bc82c0
SZ
592008-11-28 Seiji Zenitani <zenitani@mac.com>
60
61 * frame.c (x_set_alpha) [NS_IMPL_COCOA]: Call x_set_frame_alpha.
62
63 * nsfns.m (ns_frame_parm_handlers): Set alpha handler.
64
65 * nsterm.m (x_set_frame_alpha): New function.
66
32247e3d
EZ
672008-11-27 Eli Zaretskii <eliz@gnu.org>
68
69 * xfaces.c (Fx_font_family_list, syms_of_xfaces): Fix last change.
70
b003e5ff
JB
712008-11-27 Juanma Barranquero <lekktu@gmail.com>
72
73 * w32font.c (add_font_entity_to_list): Pass the right LOGFONT
74 pointer to check_face_name.
75
708550f5
KH
762008-11-27 Kenichi Handa <handa@m17n.org>
77
78 * category.h (SET_CATEGORY_SET): Call set_category_set.
79 (set_category_set): Extern it.
80
81 * category.c (hash_get_category_set): New function.
82 (Fmodify_category_entry): Adjusted for the change of
83 char_table_ref_and_range. Call hash_get_category_set to get a
84 category set to store in the table.
85
86 * character.h (MAYBE_UNIFY_CHAR): Call maybe_unify_char instead of
87 Funify_charset.
88
89 * charset.h (enum charset_method): Delete
90 CHARSET_METHOD_MAP_DEFERRED.
91 (DECODE_CHAR): Check if the decoder vector is ready.
92 (ENCODE_CHAR): Check if the encoder char-table is ready.
93 (maybe_unify_char): Extern it.
94
95 * charset.c (Vchar_unified_charset_table): Delete it.
96 (inhibit_load_charset_map): New variable.
97 (temp_charset_work): New variable.
98 (SET_TEMP_CHARSET_WORK_ENCODER, GET_TEMP_CHARSET_WORK_ENCODER)
99 (SET_TEMP_CHARSET_WORK_DECODER, GET_TEMP_CHARSET_WORK_DECODER):
100 New macros.
101 (load_charset_map): Meaning of control_flag changed. If
102 inhibit_load_charset_map is nonzero, setup a table in
103 temp_charset_work.
104 (load_charset): New argument control_flag.
105 (map_charset_for_dump): New function.
106 (map_charset_chars): If inhibit_load_charset_map is nonzero, use
107 map_charset_for_dump.
108 (Fdefine_charset_internal): If the charset method is MAP, load
109 mapping tables by calling load_charset.
110 (Funify_charset): Don't load a mapping table but directly set
111 Vchar_unify_table.
112 (maybe_unify_char): New function.
113 (decode_char): Don't handle the deleted method MAP_DEFERRED.
114 Handle the case of inhibit_load_charset_map being nonzero.
115 (encode_char): Don't handle the deleted method MAP_DEFERRED.
116 Handle the case of inhibit_load_charset_map being nonzero.
117 (Fclear_charset_maps): Just free temp_charset_work.
118 (syms_of_charset): Make `inhibit-load-charset-map' a Lisp
119 variable.
120
121 * chartab.c (sub_char_table_ref_and_range): Adjusted for the
122 change of char_table_ref_and_range.
123 (char_table_ref_and_range): Change the meaning of argument FROM
124 and TO. Now the caller must provide initial values for *FROM
125 and *TO.
126
127 * fontset.c (fontset_add): Adjusted for the change of
128 char_table_ref_and_range.
129 (fontset_get_font_group): Likewise.
130 (Ffontset_info): Likewise.
131
132 * keymap.c (describe_vector): Adjusted for the change of
133 char_table_ref_and_range. For char-table, put boundary between
134 non-ASCII and 8-bit characters.
135
136 * print.c (print_object): For bool-vector, delete unnecessary
137 check of ASCII_BYTE_P.
138
9196133b
JR
1392008-11-26 Jason Rumney <jasonr@gnu.org>
140
141 * w32font.c (w32font_open_internal): Don't include external
142 leading in font height.
143
9f688acf
GM
1442008-11-26 Glenn Morris <rgm@gnu.org>
145
146 * xfaces.c (Fx_font_family_list): Replace lisp/term/pc-win.el
147 redefinition with ifdef. (Bug#1383)
148
90d19aff
AR
1492008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
150
151 * nsterm.m (ns_get_color): Handle long hex strings (fixes bug #1044).
152
1532008-11-24 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
154
155 * nsterm.m (-otherMouseDown:, -otherMouseUp:, -otherMouseDragged):
156 New EmacsView methods.
157 (EV_UDMODIFIERS, EV_BUTTON): Add OtherMouse constants.
158 Fixes bug #1048,1357,1414.
159
1602008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
161
162 Fix bug #1362.
163 * image.c (x_clear_image_1): Do not free background under HAVE_NS, it
164 is not an indexed color.
165 * nsterm.m (free_indexed_color): Add argument checking.
166 * nsfns.m: Move config.h to before system includes (advised by Dan N.).
167
e7d5ecb3
CY
1682008-11-24 Chong Yidong <cyd@stupidchicken.com>
169
170 * minibuf.c (Fcompleting_read, Vminibuffer_completion_confirm):
171 Document confirm-after-completion value for
172 minibuffer-completion-confirm.
173
c285743c
JR
1742008-11-24 Jason Rumney <jasonr@gnu.org>
175
176 * w32font.c (check_face_name): Use xstrcasecmp. Avoid compiler
177 warning.
178
b0857706
JR
1792008-11-23 Jason Rumney <jasonr@gnu.org>
180
181 * w32uniscribe.c (uniscribe_encode_char): Ensure context is
182 restored before returning.
183
184 * w32font.c (check_face_name): New function.
185 (add_font_entity_to_list): Use it to filter out common substituted
186 fonts.
187
ee50ff07
MR
1882008-11-22 Martin Rudalics <rudalics@gmx.at>
189
190 * buffer.c (Fswitch_to_buffer): Reword and mention new option
191 confirm-nonexistent-file-or-buffer in doc-string.
192
b8ff72fa
SM
1932008-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
194
195 * buffer.c (Fbuffer_swap_text): Remove redundant marker manipulation.
196 Fix copy/paste typo. Add checks.
197
cee53ed4
KH
1982008-11-21 Kenichi Handa <handa@m17n.org>
199
200 * coding.c (detect_coding_iso_2022): Reject invalid composition
201 sequence.
202 (DECODE_COMPOSITION_START): If the current source is the last
203 block, and the current composition doesn't end, regard this
204 sequence as invalid.
205 (decode_coding_iso_2022): Handle invalid composition sequence.
206
f6ef1e65
MR
2072008-11-20 Martin Rudalics <rudalics@gmx.at>
208
209 * window.c (coordinates_in_window): Don't return
210 ON_VERTICAL_BORDER for the rightmost position of a mode/header
211 line when the window is not the rightmost one. (Bug#1372)
212
e08b1705
MR
2132008-11-16 Ben North <ben@redfrontdoor.org> (tiny change)
214
215 * buffer.c (syms_of_buffer): Fix doc-string of cursor-type.
216
ad98e89f
EZ
2172008-11-15 Eli Zaretskii <eliz@gnu.org>
218
219 * msdos.c (run_msdos_command): Don't call dos_ttcooked, dos_ttraw,
220 and bright_bg if noninteractive is non-zero.
221
fb098a4b
CY
2222008-11-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
223
224 * xterm.c (x_draw_glyph_string): For stretch glyphs, don't call
225 x_draw_glyph_string_background.
226
227 * w32term.c (x_draw_glyph_string): Likewise.
228
ce952b6e
CY
2292008-11-15 Chong Yidong <cyd@stupidchicken.com>
230
231 * xterm.c (x_draw_glyph_string): Stop drawing the background of
232 the next glyph string once past the overhang width.
233
234 * nsterm.m (ns_draw_glyph_string): Likewise.
235
236 * w32term.c (x_draw_glyph_string): Likewise.
237
26ea7079
CY
2382008-11-14 Fabrice Popineau <fabrice.popineau@supelec.fr> (tiny change)
239
240 * fileio.c (Finsert_file_contents): Decrement specpdl_ptr to avoid
241 double file close.
242
1c33c906
MR
2432008-11-14 Martin Rudalics <rudalics@gmx.at>
244
245 * window.c (window_loop): In DELETE_BUFFER_WINDOWS case, reset
246 dedicated status of window before attempting to display another
247 buffer in it.
248
8fc29035
JB
2492008-11-14 Juanma Barranquero <lekktu@gmail.com>
250
251 * msdos.c (Fmsdos_long_file_names):
252 (syms_of_msdos) <dos-unsupported-char-glyph>:
253 * dosfns.c (Fint86): Fix typos in docstrings.
254
55fb4286
EZ
2552008-11-14 Eli Zaretskii <eliz@gnu.org>
256
257 * makefile.w32-in (OBJ1, WIN32OBJ): Fix whitespace.
258
3fda0315
KY
2592008-11-14 Katsumi Yamaoka <yamaoka@jpl.org>
260
261 * puresize.h (BASE_PURESIZE): Increase to 1260000.
262
7e849c17
CY
2632008-11-12 Michal Nazarewicz <mina86@tlen.pl> (tiny change)
264
265 * frame.c (x_set_alpha): Set alpha to -1 if nil given.
266
267 * frame.h: Negative alpha means "don't touch".
268
269 * w32term.c (x_set_frame_alpha): Do nothing if alpha is negative.
270
271 * xterm.c (x_set_frame_alpha): Do nothing if alpha is negative.
272
b9fd67bd
DN
2732008-11-12 Dan Nicolaescu <dann@ics.uci.edu>
274
275 * hftctl.c:
276 * chpdef.h:
277 * acldef.h: Remove files used only for systems no longer supported.
278
279 * Makefile.in: Fix .o alphabetical ordering.
280 (hftctl.o): Remove dependency, file removed.
281 (keymap.o, print.o): Depend on charset.h.
282
d5998e03
KH
2832008-11-10 Kenichi Handa <handa@m17n.org>
284
285 * character.c (Fget_byte): Fix and make it faster for unibyte
286 target.
287
be70e183
CY
2882008-11-08 Chong Yidong <cyd@stupidchicken.com>
289
290 * dired.c (file_name_completion): If completion_ignore_case is
291 enabled, ignore case when checking completion-regexp-list.
292
7cf94eac
EZ
2932008-11-08 Eli Zaretskii <eliz@gnu.org>
294
295 * vm-limit.c (get_lim_data): Fix last change.
296
ee107a89
KH
2972008-11-08 Kenichi Handa <handa@m17n.org>
298
299 * character.c (Fget_byte): New function.
300 (syms_of_character): Defsubr Fget_byte.
301
5fd15622
CY
3022008-11-07 Chong Yidong <cyd@stupidchicken.com>
303
304 * xdisp.c (try_window_reusing_current_matrix): Ensure that window
305 cursor position is valid after scrolling.
306
13d62fad
JB
3072008-11-06 Juanma Barranquero <lekktu@gmail.com>
308
309 * fns.c (Frandom): Rename arg N to LIMIT to match the docs; doc fix.
310
a1dd2936
GM
3112008-11-06 Glenn Morris <rgm@gnu.org>
312
313 * xterm.c (handle_one_xevent): Don't let popup menus cause
314 mouse-autoselect-window related window switching. (Bug#1261)
315
860cd236
CY
3162008-11-04 David Smith <davidsmith@acm.org> (tiny change)
317
318 * xterm.c (xim_close_dpy): Avoid double-free on X11R6 XIM.
319
653a3150
AS
3202008-11-04 Andreas Schwab <schwab@suse.de>
321
322 * xfns.c (Fx_wm_set_size_hint): Add missing return value.
323
870f5cac
CY
3242008-11-03 Chong Yidong <cyd@stupidchicken.com>
325
326 * xfns.c (Fx_wm_set_size_hint): New function.
327
1e02f3cb
MR
3282008-11-03 Martin Rudalics <rudalics@gmx.at>
329
330 * textprop.c (Fprevious_single_char_property_change): Return 0
331 when there's no change in a string. (Bug#1301)
332
e630dfc6
MR
3332008-11-02 Martin Rudalics <rudalics@gmx.at>
334
335 * frame.c (do_switch_frame): New argument NORECORD passed to
336 Fselect_window.
337 (Fselect_frame): New argument NORECORD passed to
338 do_switch_frame.
339 (Fset_frame_selected_window): New argument NORECORD passed to
340 Fselect_frame.
341 (Fhandle_switch_frame, Fdelete_frame): Handle NORECORD argument
342 in call of do_switch_frame.
343 (Fset_mouse_position, Fset_mouse_pixel_position, Fraise_frame):
344 Handle NORECORD argument in call of Fselect_frame.
345 * lisp.h (do_switch_frame, Fselect_frame)
346 (Fset_frame_selected_window): Adjust declarations.
347 * window.c (select_frame_norecord): New function.
348 (run_window_configuration_change_hook): Use it and call
349 Fselect_frame with NORECORD set.
350 (Fselect_window): Pass NORECORD to Fselect_frame.
351 (Fset_window_configuration): Handle NORECORD argument in call of
352 do_switch_frame.
353 * minibuf.c (choose_minibuf_frame): Handle NORECORD in call of
354 Fset_frame_selected_window.
355 * keyboard.c (command_loop_1): Handle NORECORD in call of
356 Fselect_frame (currently ifdefd).
357
9020b223
GM
3582008-11-02 Ulrich Mueller <ulm@kph.uni-mainz.de>
359
360 * emacs.c (USAGE2): Untabify.
361
793ffee8
SM
3622008-11-01 Stefan Monnier <monnier@iro.umontreal.ca>
363
364 * composite.c (fill_gstring_header): Fix copy/paste typo.
365
ab6d1131
MR
3662008-10-31 Martin Rudalics <rudalics@gmx.at>
367
368 * window.c (Fnext_window, Fprevious_window): Rewrite doc-string.
369 (Fother_window): Rename argument and rewrite doc-string.
370 (select_window_norecord): Fix return value. (Bug#1276)
371
601a9cf1
JB
3722008-10-30 Juanma Barranquero <lekktu@gmail.com>
373
374 * w32fns.c (x_create_tip_frame): Prevent default foreground color for
375 new frames overriding foreground for tooltips. Based on similar patch
376 from Martin Rudalics <rudalics@gmx.at>. (Bug#1032)
377
813b0652
CY
3782008-10-29 Chong Yidong <cyd@stupidchicken.com>
379
380 * emacs.c (Fdaemon_initialized): Initialize nfd.
381
4414f58f
MR
3822008-10-29 Martin Rudalics <rudalics@gmx.at>
383
384 * window.c (Fwindow_height, Fdelete_window, set_window_buffer)
385 (Fwindow_text_height): Clarify doc-strings.
386 * xdisp.c (syms_of_xdisp): Mention set-window-buffer in
387 doc-string of window-scroll-functions.
388
ecdcaa09
RS
3892008-10-28 Reiner Steib <Reiner.Steib@gmx.de>
390
391 * category.c (syms_of_category): Fix typo in docstring.
392
23fe745a
JB
3932008-10-28 Juanma Barranquero <lekktu@gmail.com>
394
395 * window.c (Fwindowp, Fwindow_live_p, Fwindow_minibuffer_p)
396 (Fcoordinates_in_window_p, Fscroll_left, Fscroll_right):
397 Fix typos in docstrings.
398
ff808935
DN
3992008-10-28 Dan Nicolaescu <dann@ics.uci.edu>
400
401 * emacs.c (daemon_pipe): Make non-static.
402 (IS_DAEMON): Move definition ...
403 * lisp.h (IS_DAEMON): ... here.
404 (daemon_pipe): Declare.
405 (is_daemon): Remove.
406 * dispnew.c (init_display): Use IS_DAEMON.
407
fc012771
SM
4082008-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
409
410 * xdisp.c (pos_visible_p, redisplay_internal, message3_nolog)
411 (message2_nolog): Check FRAME_INITIAL_P instead of noninteractively.
412
413 * emacs.c (is_daemon): Remove.
414 (main): Don't set is_daemon.
415 (IS_DAEMON): New macro.
416 (Fdaemonp, Fdaemon_initialized): Use it.
601a9cf1 417 (Fdaemon_initialized): Write a char into the pipe to make sure the
fc012771
SM
418 parent exits.
419 (syms_of_emacs): Explicitly initialize daemon_pipe[1].
420
d8bdbe6f
CY
4212008-10-27 Chong Yidong <cyd@stupidchicken.com>
422
d1a072bf
CY
423 * nsterm.m (ns_draw_window_cursor): When hbar cursor is on
424 over-sized glyph, draw it with the default glyph width.
425
e2e325aa
CY
426 * w32term.c (x_draw_bar_cursor): When hbar cursor is on over-sized
427 glyph, draw it with the default glyph width.
428
429 * xterm.c (x_draw_bar_cursor): When hbar cursor is on over-sized
430 glyph, draw it with the default glyph width.
431
d8bdbe6f
CY
432 * xdisp.c (try_scrolling): When computing the distance from the
433 scroll margin to PT, try moving some distance past the window
434 bottom before giving up.
435
7bfac547
MR
4362008-10-27 Martin Rudalics <rudalics@gmx.at>
437
438 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p)
439 (Fset_window_buffer): Explain in doc-string that a window can be
440 "strongly" dedicated to its buffer.
441
4ff029f6
DN
4422008-10-27 Dan Nicolaescu <dann@ics.uci.edu>
443
444 * emacs.c (daemon_name): New variable.
445 (main): Deal with --daemon=SERVER_NAME.
446 (Fdaemonp): Return a name if one was passed to --daemon.
447
5790ef40
DN
4482008-10-26 Romain Francoise <romain@orebokech.com>
449
f9bd0df9 450 * emacs.c (daemon_pipe): New variable.
5790ef40
DN
451 (main): Create a pipe before forking, make the parent exit only after
452 the child has closed its end of the pipe. Move closing the
453 descriptors ...
454 (Fdaemon_initialized): ... here. New function.
455
f5385255
SM
4562008-10-26 Stefan Monnier <monnier@iro.umontreal.ca>
457
4d632321
SM
458 * chartab.c (Foptimize_char_table): Make sure `ascii' doesn't point to
459 the previous unoptimized table.
460
f5385255
SM
461 * window.c (Fset_window_buffer): Undo 2008-10-18 change to re-instate
462 the distinction between non-nil and non-t value of `dedicated'.
463
6c56a0f3
CY
4642008-10-25 Chong Yidong <cyd@stupidchicken.com>
465
466 * keyboard.c (read_char_minibuf_menu_prompt): Ensure that
f5385255 467 read_char_minibuf_menu_text is large enough to hold the menu string.
6c56a0f3 468
fec89261
MR
4692008-10-25 Martin Rudalics <rudalics@gmx.at>
470
471 * window.c (Fget_buffer_window, Fdelete_windows_on)
472 (Freplace_buffer_in_windows): Make buffer argument optional and
473 rename to buffer_or_name.
474
34fcddd0
CY
4752008-10-24 Chong Yidong <cyd@stupidchicken.com>
476
f5385255
SM
477 * xdisp.c (handle_single_display_spec, handle_display_prop):
478 Undo 2005-05-16 change.
34fcddd0
CY
479 (handle_stop): Pop iterator if it's loaded with an empty string.
480 (get_overlay_strings_1): Don't save iterator if it's loaded with
481 an empty string (bug#1201).
482
064766f2
KH
4832008-10-24 Kenichi Handa <handa@m17n.org>
484
485 * ftfont.c (ftfont_otf_features): Fix previous change.
486 (ftfont_otf_capability): Check FeatureList.FeatureCount before
487 calling ftfont_otf_features.
488
f9bd0df9 4892008-10-24 Kenichi Handa <handa@m17n.org>
064766f2
KH
490
491 * font.c (font_match_p): Fix for the case that a vector of
492 characters is in script-representative-chars.
493
1dae9197
MA
4942008-10-24 Michael Albinus <michael.albinus@gmx.de>
495
496 * dbusbind.c (xd_in_read_queued_messages): New variable.
f5385255 497 (XD_SIGNAL1, XD_SIGNAL2, XD_SIGNAL3): New macros. Throw Qdbus_error.
1dae9197
MA
498 (xd_read_queued_messages): Catch Qdbus_error from the macros.
499 (all): Replace xsignal1, xsignal2, xsignal3 by the respective
500 macro. (Bug#1186).
501
f9bd0df9 5022008-10-23 Ali Bahrami <ali_gnu@emvision.com> (tiny change)
9b3362b8
DN
503
504 * s/sol2-10.h: New file.
505
878a4584
JB
5062008-10-23 Juanma Barranquero <lekktu@gmail.com>
507
508 * xdisp.c (fill_glyph_string): Fix typo in source (though the
509 poor beast has survived 9+ years and the jump from xterm.c!).
510
cd265ca6
MR
5112008-10-23 Martin Rudalics <rudalics@gmx.at>
512
513 * buffer.c (Fget_buffer_create): Rename arg to buffer_or_name.
514 Reword doc-string.
f5385255 515 (Fbury_buffer): In doc-string say what happens to the buffer's window.
cd265ca6 516
472a4dc9
JB
5172008-10-23 Juanma Barranquero <lekktu@gmail.com>
518
519 * character.c (syms_of_character) <script-representative-chars>:
520 <unicode-category-table>: Doc fixes.
521
159bd5a2
NF
5222008-10-23 Noah Friedman <friedman@splode.com>
523
524 * coding.c (make_conversion_work_buffer): Check that
525 Vcode_conversion_reused_workbuf is a live buffer, otherwise call
526 Fget_buffer_create.
527
49f9c344
KH
5282008-10-23 Kenichi Handa <handa@m17n.org>
529
530 * font.c (font_add_log): Check the values of extra properties.
531
12bb3111
MR
5322008-10-22 Martin Rudalics <rudalics@gmx.at>
533
534 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
535 Reword doc-string.
536 (Fset_window_parameter): Use NILP.
537 (Fscroll_up, Fscroll_down, Fminibuffer_selected_window)
f5385255 538 (Frecenter): Use "selected" instead of "current" window in doc-strings.
12bb3111 539
bbeb4e99
JB
5402008-10-22 Juanma Barranquero <lekktu@gmail.com>
541
542 * xdisp.c (next_element_from_buffer): Remove bogus xassert condition.
543
5442008-10-22 Adrian Robert <Adrian.B.Robert@gmail.com>
cb83c00b
AR
545
546 * nsfns.m (ns_appkit_version): New function.
547 (x-server-version): Use it.
548 (syms_of_nsfns): Define ns-version-string here, not nsterm.m.
549 (x-server-vendor): Don't check_ns().
550
551 * nsterm.m (syms_of_nsterm): Drop ns-version-string.
552
a9b555d3
JB
5532008-10-22 Juanma Barranquero <lekktu@gmail.com>
554
555 * w32fns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert.
556 Copied from 2005-02-03 change to xfns.c by Kim F. Storm.
557
4626499f
KH
5582008-10-22 Kenichi Handa <handa@m17n.org>
559
e3681952
KH
560 * syntax.c (scan_words): Call word_boundary_p instead of comparing
561 scripts.
562
4626499f
KH
563 * category.c (word_boundary_p): Check scripts instead of charset.
564 Handle nil value in word-separating-categories and
565 word-combining-categories.
566 (syms_of_category): Fix docstrings of word-separating-categories
567 and word-combining-categories.
568
1560f91a
EZ
5692008-10-21 Eli Zaretskii <eliz@gnu.org>
570
571 * coding.c (Fencode_coding_region, Fdecode_coding_region)
572 (Fdecode_coding_string, Fencode_coding_string): Doc fix.
573
f4668441
MR
5742008-10-21 Martin Rudalics <rudalics@gmx.at>
575
576 * buffer.c (Fget_buffer, Fbury_buffer, switch_to_buffer_1):
577 Rename arg "buffer" to "buffer_or_name".
578 (Fkill_buffer): Rename arg "buffer" to "buffer_or_name" and make
579 it optional.
580 (no_switch_window): Remove since the return value is not used.
a9b555d3 581 (Fswitch_to_buffer): Rename arg "buffer" to "buffer_or_name".
f4668441
MR
582 Consider window as dedicated when Fwindow_dedicated_p returns a
583 non-nil value.
584 * lisp.h: Remove prototype for no_switch_window.
585
fd75ddb2
JD
5862008-10-21 Jan Djärv <jan.h.d@swipnet.se>
587
588 * emacs.c (main): Unconditionally set PER_LINUX32 and exec
589 temacs when dumping if HAVE_PERSONALITY_LINUX32 is defined
590
07295713
KH
5912008-10-21 Kenichi Handa <handa@m17n.org>
592
593 * coding.c (detect_coding_charset): For iso-8859-* coding systems,
594 check Vlatin_extra_code_table.
595
712adc82
EZ
5962008-10-20 Eli Zaretskii <eliz@gnu.org>
597
598 * fileio.c (Fset_file_modes): Doc fix.
599
f549eb0b
MA
6002008-10-19 Michael Albinus <michael.albinus@gmx.de>
601
602 * dbusbind.c (XD_OBJECT_TO_DBUS_TYPE): Handle simple type symbols
603 in arrays.
604
aac0c6e3
MR
6052008-10-19 Martin Rudalics <rudalics@gmx.at>
606
607 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
608 Mention kill-buffer in doc-string.
609 (Fset_window_buffer): Reinsert tem check removed in last commit.
610 (Fenlarge_window, Fshrink_window): Have argument names and
611 doc-string follow Elisp manual more closely.
612
6132008-10-18 Eli Zaretskii <eliz@gnu.org>
614
615 * fileio.c (Fset_file_modes): Doc fix.
616
6172008-10-18 Martin Rudalics <rudalics@gmx.at>
618
619 * window.c (Fwindow_width, Fset_window_start)
620 (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter)
f5385255
SM
621 (Fdelete_windows_on, Freplace_buffer_in_windows):
622 Make doc-strings follow code and Elisp manual more closely.
aac0c6e3
MR
623 (Fwindow_dedicated_p): Make window argument optional.
624 (Fset_window_dedicated_p): Rename argument "arg" to "flag".
625 (Fset_window_buffer): Respect any non-nil dedicated value for
626 window. Rename "buffer" argument to "buffer_or_name".
627
6282008-10-18 Ulrich Mueller <ulm@gentoo.org>
629
630 * m/sh3.h: New file, machine description for SuperH.
631
6322008-10-17 Martin Rudalics <rudalics@gmx.at>
633
634 * window.c (Fsplit_window): Rename arg horflag to horizontal.
635
6362008-10-17 Kenichi Handa <handa@m17n.org>
637
638 * ftfont.c (ftfont_otf_features): Fix indexing
639 gsub_gpos->FeatureList.Feature. Check the validity of indices.
640
6412008-10-16 Magnus Henoch <mange@freemail.hu>
642
643 * dbusbind.c (Fdbus_call_method): Unbreak usage line.
644 (Fdbus_call_method_asynchronously): Ditto.
645 This change makes C-h f display the argument list.
646
6472008-10-16 Chong Yidong <cyd@stupidchicken.com>
648
649 * fileio.c (Fexpand_file_name): Doc fix.
650
651 * xfaces.c (Finternal_set_lisp_face_attribute): Make null values
652 of :foreground and :background equivalent to unspecified (20.x
653 compatibility).
654
6552008-10-15 Eli Zaretskii <eliz@gnu.org>
656
657 * buffer.c (syms_of_buffer): Doc fix.
658
6592008-10-14 Kenichi Handa <handa@m17n.org>
660
661 * font.c (font_clear_prop): When clearing font width, clear the
662 average width field too.
663
6642008-10-12 Andreas Schwab <schwab@suse.de>
665
666 * ftfont.c (ftfont_shape_by_flt): Make static.
667 * ftfont.h (ftfont_shape_by_flt): Don't declare.
668
669 * font.c: Don't include <m17n-flt.h>.
670
6712008-10-10 Eli Zaretskii <eliz@gnu.org>
672
673 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Decrease to 10000.
674
6752008-10-09 Eli Zaretskii <eliz@gnu.org>
676
677 * frame.c (make_terminal_frame) [MSDOS]: Remove unused #ifdef'ed
678 away code.
679
6802008-10-09 Chong Yidong <cyd@stupidchicken.com>
681
682 * dispnew.c (update_text_area): Avoid looping due to large glyph
683 overhangs (bug#1070).
684
6852008-10-09 Kenichi Handa <handa@m17n.org>
686
687 * fontset.c (face_for_char): If face->fontset is negative, just
688 return ascii_face.
689
f5385255
SM
690 * font.c (font_delete_unmatched): Fix previous change.
691 Don't reject an entity if DPI and AVGWIDTH of an entity are 0.
aac0c6e3
MR
692
6932008-10-09 Martin Rudalics <rudalics@gmx.at>
694
695 * frame.c (Fraise_frame): On text-only terminals select frame in
696 order to make it visible. (Bug#1061)
697
6982008-10-08 Chong Yidong <cyd@stupidchicken.com>
699
700 * fontset.c (fontset_find_font): Check frame validity.
701
7022008-10-07 Chong Yidong <cyd@stupidchicken.com>
703
a9b555d3 704 * gtkutil.c (xg_display_open): Reset default display if none exists.
aac0c6e3
MR
705 (xg_display_close): Allow Emacs to close all displays (bug#985).
706
7072008-10-06 Andreas Schwab <schwab@suse.de>
708
f5385255 709 * sysdep.c (sys_signal): Always set SA_RESTART when noninteractively.
aac0c6e3
MR
710
7112008-10-06 Chong Yidong <cyd@stupidchicken.com>
712
f5385255 713 * emacs.c (Vbefore_init_time, Vafter_init_time): Move from startup.el.
aac0c6e3 714
a9b555d3 715 * lisp.h (Vbefore_init_time, Vafter_init_time): Declare.
aac0c6e3
MR
716
717 * gtkutil.c (x_wm_set_size_hint): Return immediately if called
718 during initialization.
719
7202008-10-04 Eli Zaretskii <eliz@gnu.org>
721
722 * xdisp.c (redisplay_internal): If frame switched, redisplay the
723 whole thing on MSDOS frames as well as on a TTY.
724
725 * dispnew.c (update_frame): Flush termscript for MSDOS frames as
726 well as for TTY.
727 (Fopen_termscript): Allow opening a termscript on MSDOS frames as
728 well as on a TTY.
729
730 * sysdep.c (init_sys_modes): Set FRAME_GARBAGED_P for MSDOS frames
731 as well as for TTY.
732
733 * systime.h (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
734
735 * dispnew.c (change_frame_size_1): Set FrameRows and FrameCols for
736 MSDOS frames as well.
737
7382008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
739
740 * image.c (x_clear_image_1): Under NS, call ns_free_indexed_color with
741 correct arguments.
742 * menu.c (find_and_return_menu_selection) Add cast.
743
7442008-10-03 Glenn Morris <rgm@gnu.org>
745
746 * emacs.c (USAGE1): Add --daemon.
747
7482008-10-02 Eli Zaretskii <eliz@gnu.org>
749
750 * process.c (procfs_system_process_attributes): Multiply `pcpu' by
751 100, so it's in percents as advertised.
752
7532008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
754
755 * nsterm.h (ns_cursor_types, ns_output.desired_cursor_color)
756 (ns_output.current_cursor, ns_output.desired_cursor)
757 (ns_output.last_inactive, FRAME_CURSOR, FRAME_NEW_CURSOR)
758 (FRAME_NEW_CURSOR_COLOR): Remove.
759
760 * nsfns.m (ns_set_cursor_color): Use FRAME_CURSOR_COLOR.
a9b555d3 761 (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp): Use core Emacs
aac0c6e3
MR
762 enumeration (HOLLOW_BOX_CURSOR, etc.).
763
764 * nsterm.m (ns_frame_rehighlight): Remove commented code.
765 (draw_window_cursor): Simplify code.
f5385255
SM
766 (EmacsView-windowDidBecomeKey:,-windowDidResignKey:):
767 Don't change cursor type. In latter, call rehighlight instead of doing
aac0c6e3 768 updates manually.
a9b555d3
JB
769 (EmacsPrefsController-setPanelFromValues,-setValuesFromPanel):
770 Use core Emacs cursor types.
aac0c6e3 771
b8ff72fa 772 * xdisp.c (draw_glyphs): Don't call notice_overwritten_cursor under NS.
aac0c6e3
MR
773
7742008-10-02 Martin Rudalics <rudalics@gmx.at>
775
776 * process.c (Faccept_process_output): Fix doc-string.
777
7782008-10-02 Dan Nicolaescu <dann@ics.uci.edu>
779
780 * gmalloc.c (__sbrk): Also define for uClibc.
781
782 * s/gnu-linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Add definition
783 for uClibc.
784
7852008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
786
787 * nsfont.m (nsfont_spec_to_traits): Use UnXX masks only for non-normal
788 styles.
789 (nsfont_open): Reenable the cache.
790
7912008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
792
793 * font.c (font_matching_entity): Reflect ATTRS in font selection.
794 (font_find_for_lface) [HAVE_NS]: Don't ignore case.
795
7962008-09-30 Stefan Monnier <monnier@iro.umontreal.ca>
797
798 * dispnew.c (Fsend_string_to_terminal): Don't try to send a string to
799 a suspended terminal.
800
8012008-09-30 Michael Albinus <michael.albinus@gmx.de>
802
803 * dbusbind.c (xd_signature): Use strcat instead of sprintf.
804
8052008-09-30 Eli Zaretskii <eliz@gnu.org>
806
807 * Makefile.in (MSDOS_SUPPORT): Remove ccl.elc and codepage.elc.
808
8092008-09-30 Chong Yidong <cyd@stupidchicken.com>
810
811 * xdisp.c (move_it_to): Don't advance the iterator if the last tab
812 in a continued line coincides with a line beginning.
813
8142008-09-29 Adrian Robert <Adrian.B.Robert@gmail.com>
815
816 * nsfont.m (nsfont_trait_distance): Fix bug.
817 (nsfont_list): Return a list rather than a vector (syncs with Handa
818 changes of 2008-05-14).
819 (nsfont_open): Improve logging.
820
8212008-09-29 Andreas Schwab <schwab@suse.de>
822
823 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
824
8252008-09-28 Martin Rudalics <rudalics@gmx.at>
826
827 * character.c (Fchar_resolve_modifiers): Rewrite Elisp function
828 name as char-resolve-modifiers.
829 Reported by: Markus Triska <markus.triska@gmx.at>
830
8312008-09-28 Dan Nicolaescu <dann@ics.uci.edu>
832
833 * dispnew.c (init_display): Return earlier when running as a daemon.
834
8352008-09-27 Adrian Robert <Adrian.B.Robert@gmail.com>
836
837 * nsfont.m (nsfont_draw): Fix up composition rendering (cmp_from, ...).
838
8392008-09-27 Eli Zaretskii <eliz@gnu.org>
840
841 * composite.c (Fcomposition_get_gstring)
842 (Fcompose_region_internal, Fcompose_string_internal)
843 (Ffind_composition_internal): Doc fix.
844 (syms_of_composite) <compose-chars-after-function>: Doc fix.
845 (syms_of_composite) <auto-composition-function>: Doc fix.
846 (syms_of_composite) <composition-function-table>: Doc fix.
847
8482008-09-25 Chong Yidong <cyd@stupidchicken.com>
849
850 * search.c (wordify): New argument for lax word-ends.
851 (Fword_search_forward_lax, Fword_search_backward_lax): New funs.
852
8532008-09-24 Dan Nicolaescu <dann@ics.uci.edu>
854
855 * lisp.h (is_daemon): Declare.
856 * dispnew.c (init_display): Do not try to initialize the terminal
857 when running as a daemon.
858
8592008-09-22 Chong Yidong <cyd@stupidchicken.com>
860
861 * nsfns.m (compute_tip_xy): Use x_display_pixel_width and
862 x_display_pixel_height.
863
8642008-09-22 Martin Rudalics <rudalics@gmx.at>
865
866 * undo.c (record_point): Don't call Fundo_boundary for first
867 change. (Bug#731)
868
8692008-09-22 Juanma Barranquero <lekktu@gmail.com>
870
871 * emacs.c (Fdaemonp): Doc fix.
872
8732008-09-22 Dan Nicolaescu <dann@ics.uci.edu>
874
875 * emacs.c (main): Place #ifdef in the proper place.
876
8772008-09-21 Dan Nicolaescu <dann@ics.uci.edu>
878
879 * emacs.c (standard_args): Add --daemon.
880 (main): Disconnect from the terminal when --daemon is passed.
881 (is_daemon): New variable.
882 (Fdaemonp): New function.
883 (syms_of_emacs): Defsubr it.
884
8852008-09-20 Chong Yidong <cyd@stupidchicken.com>
886
887 * xdisp.c (get_next_display_element): Handle string display
888 correctly when checking for the end of a box run.
889
8902008-09-20 Glenn Morris <rgm@gnu.org>
891
892 * fileio.c (Qdelete_by_moving_to_trash): New Lisp_Object.
893 (syms_of_fileio): Add Qdelete_by_moving_to_trash.
894 (Frename_file): Avoid copying to trash if a rename involves
895 a delete. (Bug#964).
896
8972008-09-20 Eli Zaretskii <eliz@gnu.org>
898
899 * keyboard.c (Fset_quit_char, Fset_input_meta_mode)
900 (Fset_output_flow_control, Fcurrent_input_mode): Support MSDOS
901 frames as well as termcap frames.
902 (handle_interrupt): Remove "#ifndef MSDOS" around the call to
903 get_named_tty.
904
9052008-09-19 Eli Zaretskii <eliz@gnu.org>
906
907 * process.c (procfs_system_process_attributes): Fix cmdline in
908 case /proc/PID/cmdline is empty.
909
910 * xterm.c (x_wm_set_size_hint): Use x_display_pixel_width and
911 x_display_pixel_height.
912
9132008-09-19 Juanma Barranquero <lekktu@gmail.com>
914
915 * frame.c (x_fullscreen_adjust): Declare var as Display_Info.
916
917 * w32fns.c (Fx_display_pixel_width, Fx_display_pixel_height)
918 (compute_tip_xy): Use x_display_pixel_width, x_display_pixel_height.
919
9202008-09-19 Dan Nicolaescu <dann@ics.uci.edu>
921
922 * dispextern.h (struct it): Move line_wrap away from the middle of
923 bitfields. Move voffset in struct iterator_stack_entry after the
924 bitfields. Move tab_width near after another short.
925
9262008-09-18 Dan Nicolaescu <dann@ics.uci.edu>
927
928 * frame.h (struct frame): Move alpha from the middle of bitfields.
929
930 * window.h (struct window): Move frozen_window_start_p after the
931 rest of the bitfields to reduce padding.
932
9332008-09-18 Chong Yidong <cyd@stupidchicken.com>
934
935 * xterm.h (x_display_info): Remove `height' and `width' members.
936
937 * nsterm.h (ns_display_info): Remove `height' and `width' members.
938
939 * w32term.h (w32_display_info): Remove `height', `width',
940 `height_in', and `width_in' members.
941
b8ff72fa
SM
942 * xterm.c (x_display_pixel_height, x_display_pixel_width):
943 New functions.
aac0c6e3
MR
944 (x_calc_absolute_position): Use them.
945 (x_term_init): Omit removed `height' and `width' members.
946
b8ff72fa
SM
947 * w32term.c (x_display_pixel_height, x_display_pixel_width):
948 New functions.
aac0c6e3
MR
949 (w32_read_socket, x_calc_absolute_position): Use them.
950 (w32_initialize_display_info, w32_term_init): Omit removed members
951 of w32_display_info.
952
b8ff72fa
SM
953 * nsterm.m (x_display_pixel_height, x_display_pixel_width):
954 New functions.
955 (ns_initialize_display_info): Omit removed members of ns_display_info.
aac0c6e3 956
b8ff72fa
SM
957 * xterm.c (x_display_pixel_height, x_display_pixel_width):
958 New functions.
aac0c6e3
MR
959 (x_calc_absolute_position): Use them.
960 (x_term_init): Omit removed `height' and `width' members.
961
962 * xfns.c (Fx_display_pixel_width, Fx_display_pixel_height)
b8ff72fa
SM
963 (compute_tip_xy):
964 * frame.c (x_fullscreen_adjust):
aac0c6e3
MR
965 * xmenu.c (menu_position_func): Use x_display_pixel_height and
966 x_display_pixel_width.
967
9682008-09-18 Kenichi Handa <handa@m17n.org>
969
970 * composite.c (fill_gstring_header): Don't check FROM and TO here.
971 (composition_compute_stop_pos): Fix handling of static composition.
972 (Fcomposition_get_gstring): Check FROM and TO at first.
973
9742008-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
975
976 * composite.c (Fcomposition_get_gstring): Yet another int/Lisp_Oject
977 mixup (YAILOM).
978
9792008-09-17 Chong Yidong <cyd@stupidchicken.com>
980
981 * indent.c (Fvertical_motion): Use position reported by iterator
982 instead of PT for determining screen motion (bug#943).
983
9842008-09-17 Romain Francoise <romain@orebokech.com>
985
986 * composite.c (composition_adjust_point): Fix int/EMACS_INT mixup.
987
9882008-09-17 Kenichi Handa <handa@m17n.org>
989
990 * ftfont.c (ftfont_shape_by_flt): Downcase family name.
991
992 * composite.c (Fcomposition_get_gstring): Make bigger gstring_work
993 if necessary.
994
9952008-09-16 Kenichi Handa <handa@m17n.org>
996
997 * coding.c (make_conversion_work_buffer): Avoid calling
998 Fget_buffer_create if it is not necessary.
999
10002008-09-15 Martin Rudalics <rudalics@gmx.at>
1001
1002 * window.c (Fselect_window): Don't update window_select_count and
1003 use_time when norecord is not nil.
1004
10052008-09-14 Kenichi Handa <handa@m17n.org>
1006
1007 * fileio.c (Finsert_file_contents): Delete incorrect decrement of
1008 specpdl_ptr.
1009
10102008-09-12 Kenichi Handa <handa@m17n.org>
1011
1012 * indent.c (scan_for_column): Don't handle automatic composition
1013 if the current buffer is not associated with a window.
1014
1015 * composite.c (composition_reseat_it): If the current buffer is
1016 not associated with a window, ignore the automatic composition.
1017 (find_automatic_composition): Likewise.
1018
10192008-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
1020
1021 * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
1022 (Fgpm_mouse_stop): Use it.
1023 * termhooks.h (close_gpm): Declare.
1024 * keyboard.c (tty_read_avail_input): Forcefully close the gpm
1025 connection if Gpm_GetEvent fails.
1026
1027 * window.c (set_window_buffer): Always preserve current-buffer.
1028
10292008-09-12 Glenn Morris <rgm@gnu.org>
1030
1031 * charset.c (init_charset): Warn if etc/charsets not found. (Bug#909)
1032
10332008-09-11 Glenn Morris <rgm@gnu.org>
1034
1035 * charset.c (charset-map-path): Doc fix.
1036
10372008-09-10 Kenichi Handa <handa@m17n.org>
1038
1039 * xdisp.c (handle_composition_prop): Set it->cmp_it.ch to -1.
1040
1041 * font.c (Ffont_shape_gstring): Make glyphs of non-nil adjustment
1042 compose a grapheme cluster with the preceding base glyph.
1043
1044 * composite.c (composition_compute_stop_pos): Fix previous change.
1045 Reset cmp_it->id to -1 at first.
1046
10472008-09-10 Glenn Morris <rgm@gnu.org>
1048
1049 * Makefile.in (character.o, chartab.o): Fix config.h typo.
1050
10512008-09-09 Chong Yidong <cyd@stupidchicken.com>
1052
1053 * keyboard.c (read_key_sequence): Reapply translation maps when
1054 switching keyboards.
1055
10562008-09-09 Kenichi Handa <handa@m17n.org>
1057
1058 * ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII
1059 characters.
1060
1061 * composite.c (FORWARD_CHAR): Fix calculation
1062 of (POSITION).pos_byte.
1063 (composition_compute_stop_pos): Limit the search of composition to
1064 at most 500 characters ahead. If we reach the limit or find a
1065 newline, set cmp_it->ch to -2 and return 0.
1066 (composition_reseat_it): Handle the case that cmp_it->ch is -2.
1067
10682008-09-08 Kenichi Handa <handa@m17n.org>
1069
1070 * indent.c (Fvertical_motion): Be sure to set
1071 it_overshoot_expected if it.cmp_it.id is non-negative.
1072
10732008-09-07 Andreas Schwab <schwab@suse.de>
1074
1075 * callproc.c (Fcall_process): Don't hold references to string data
1076 across garbage collection. Move initialisation of new_argv down
1077 to avoid compiler bug.
1078
10792008-09-07 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
1080
1081 * process.c (Fsystem_process_attributes): Doc fix.
1082
10832008-09-07 Chong Yidong <cyd@stupidchicken.com>
1084
1085 * callproc.c (Fcall_process): Canonicalize current directory name.
1086
1087 * xdisp.c (move_it_to): When moving by vpos, ensure that the
1088 iterator advances to the next line if the current line ends in a
1089 continued tab.
1090
10912008-09-07 Teodor Zlatanov <tzz@lifelogs.com>
1092
1093 * nsfont.m (nsfont_draw): Fix the references to missing gidx data
1094 member to point to cmp_from.
1095
1096 * xdisp.c: Doc fix for references to gidx data member.
1097
10982008-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
1099
1100 * buffer.c (Fbuffer_swap_text): Reset window->point markers.
1101
11022008-09-07 Kenichi Handa <handa@m17n.org>
1103
1104 * composite.c (FORWARD_CHAR): Check STOP after
1105 incrementing (POSITION).pos.
1106
11072008-09-06 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
1108
1109 * process.c (Fsystem_process_attributes): Doc fix.
1110
11112008-09-06 Chong Yidong <cyd@stupidchicken.com>
1112
1113 * keyboard.c (Ftop_level): Doc fix.
1114
11152008-09-06 Eli Zaretskii <eliz@gnu.org>
1116
1117 * xmenu.c (xmenu_show) [!HAVE_X_WINDOWS]: If frame has a
1118 minibuffer, don't let lower part of menu invade the echo area.
1119
1120 * msdos.c (IT_menu_display): Use STRING_CHAR_ADVANCE instead of a
1121 "char *q" to access menu text and advance through it. Revert the
1122 change that displayed ">" instead of ASCII character 0x10.
1123
11242008-09-05 Eli Zaretskii <eliz@gnu.org>
1125
1126 * menu.c (single_menu_item) [!HAVE_BOXES]: Enable emulation of
1127 toggle boxes and radio buttons on MS-DOS as well.
1128
11292008-09-05 Kenichi Handa <handa@m17n.org>
1130
1131 * composite.c (autocmp_chars): Check lookback count.
1132 (composition_compute_stop_pos): Set cmp_it->lookback.
1133 (composition_reseat_it): Check lookback count.
1134 (struct position_record): New struct.
1135 (FORWARD_CHAR, BACKWARD_CHAR, CHAR_COMPOSABLE_P): New macros.
1136 (find_automatic_composition): New function.
1137 (composition_adjust_point): Use find_automatic_composition.
1138
1139 * dispextern.h (struct composition_it): New member lookback.
1140
11412008-09-02 Chong Yidong <cyd@stupidchicken.com>
1142
1143 * indent.c (Fvertical_motion): Don't call move_it_by_lines again
1144 if moving by a single line.
1145
11462008-09-02 Andreas Schwab <schwab@suse.de>
1147
1148 * xterm.c (x_delete_display): Fix merge error.
1149
1150 * fileio.c (Fexpand_file_name): Remove unused variables.
1151
11522008-09-02 Eli Zaretskii <eliz@gnu.org>
1153
1154 * fileio.c (Fexpand_file_name): Copy argument `name' into local
1155 storage on all platforms, not just on DOS_NT.
1156
11572008-09-02 Jason Rumney <jasonr@gnu.org>
1158
b8ff72fa
SM
1159 * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show):
1160 Ensure mouse is not grabbed after menu is finished.
aac0c6e3
MR
1161
11622008-09-01 Chong Yidong <cyd@stupidchicken.com>
1163
1164 * xfaces.c (Finternal_set_alternative_font_family_alist)
1165 (Finternal_set_alternative_font_registry_alist): Properly copy
1166 entire alist structure.
1167
11682008-09-01 Kenichi Handa <handa@m17n.org>
1169
1170 * ftfont.c (ftfont_spec_pattern): Don't create a charset of the
1171 representative chars of the script is a vector.
1172 (ftfont_list): Handle the case the representative chars of the
1173 script is a vector.
1174
1175 * character.c (syms_of_character): Docstring of
1176 script-representative-chars fixed.
1177
11782008-08-31 Eli Zaretskii <eliz@gnu.org>
1179
1180 * msdos.c (BUILD_CHAR_GLYPH): New macro.
1181 (IT_menu_display): Use it instead of SET_CHAR_GLYPH to construct
1182 the menu. Allocate larger buffer for `text', to account for
1183 possible ^C characters.
1184
11852008-08-31 Martin Rudalics <rudalics@gmx.at>
1186
1187 * xdisp.c (prepare_menu_bars): Don't call
1188 Vwindow_size_change_functions with arg Qt.
1189
11902008-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
1191
1192 * font.h (font_range):
1193 * fileio.c (report_file_error):
1194 * composite.c (composition_update_it): Yet another int/Lisp_Oject mixup.
1195
11962008-08-30 Glenn Morris <rgm@gnu.org>
1197
1198 * data.c (Fmake_variable_frame_local): Doc fix.
1199
1200 * frame.c (Fmodify_frame_parameters): Doc fix.
1201
12022008-08-30 Eli Zaretskii <eliz@gnu.org>
1203
1204 * w32.c (init_user_info): Allocate buf[] with xmalloc using the size
1205 needed by GetTokenInformation.
1206 (w32_system_process_attributes): Check return values of all system
1207 APIs.
1208
1209 * msdos.c (IT_display_cursor): Write "CURSOR ON/OFF" to termscript
1210 only when the state changes.
1211 (IT_update_begin, IT_update_end): Add termscript trace.
1212
1213 * w16select.c (Fw16_set_clipboard_data): Don't encode text if
1214 clipboard is unavailable. Set dst to NULL if it doesn't point to
1215 malloc'ed data.
1216 (Fw16_get_clipboard_data): Initialize htext to NULL, to avoid
1217 passing random values to xfree.
1218
1219 * dispnew.c (init_display): Set `tty's association in frame's
b8ff72fa 1220 parameters alist to the name of the terminal device, if that is known.
aac0c6e3
MR
1221
12222008-08-29 Jason Rumney <jasonr@gnu.org>
1223
1224 * w32uniscribe.c (uniscribe_check_otf): Don't fallback on DFLT script.
1225
12262008-08-29 Eli Zaretskii <eliz@gnu.org>
1227
1228 * composite.c (fill_gstring_body): Avoid compiler warnings.
1229
1230 * font.c (font_fill_lglyph_metrics): Use EMACS_INT in
1231 LGLYPH_SET_CODE to avoid compiler warnings.
1232
1233 * makefile.w32-in ($(BLD)/w32uniscribe.$(O)): Depend on composite.h
1234
1235 * composite.h (LGLYPH_SET_CODE): Cast `val' to EMACS_INT.
1236
1237 * w32uniscribe.c (uniscribe_shape): Shut up compiler warning in
1238 LGLYPH_SET_CODE.
1239
12402008-08-29 Kenichi Handa <handa@m17n.org>
1241
1242 * fileio.c (report_file_error): Don't downcase the first character
1243 of errstring if it is still unibyte.
1244
12452008-08-29 Kenichi Handa <handa@m17n.org>
1246
1247 These changes are to re-implement the automatic composition so
1248 that it doesn't use text properties.
1249
1250 * Makefile.in (ftfont.o): Depend on composite.h.
1251 (composite.o): Depend dispextern.h, font.h, frame, and window.h.
1252
1253 * character.h (Vunicode_category_table): Extern it.
1254
1255 * character.c (Vunicode_category_table): New variable.
1256 (syms_of_character): DEFVAR_LISP Vunicode_category_table.
1257
1258 * chartab.c (optimize_sub_char_table): Perform more greedy
1259 optimization.
1260
b8ff72fa
SM
1261 * composite.h (enum composition_method):
1262 Delete COMPOSITION_WITH_GLYPH_STRING.
aac0c6e3
MR
1263 (COMPOSITION_METHOD): Don't check COMPOSITION_WITH_GLYPH_STRING.
1264 (Vcomposition_function_table): Extern it.
1265 (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h.
1266 (composition_gstring_put_cache, composition_gstring_from_id)
1267 (composition_gstring_p, composition_gstring_width)
1268 (composition_compute_stop_pos, composition_reseat_it)
1269 (composition_update_it, composition_adjust_point): Extern them.
1270 (Fcomposition_get_gstring): EXFUN it.
1271
1272 * composite.c: Include window.h, frame.h, dispextern.h font.h.
1273 (Vcomposition_function_table)
1274 (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING.
b8ff72fa
SM
1275 (gstring_hash_table, gstring_work, gstring_work_headers):
1276 New variables.
aac0c6e3
MR
1277 (gstring_lookup_cache, composition_gstring_put_cache)
1278 (composition_gstring_from_id, composition_gstring_p)
1279 (composition_gstring_width, fill_gstring_header)
1280 (fill_gstring_body, autocmp_chars, composition_compute_stop_pos)
1281 (composition_reseat_it, composition_update_it)
b8ff72fa 1282 (composition_adjust_point, Fcomposition_get_gstring): New functions.
aac0c6e3
MR
1283 (syms_of_composite): Initialize gstring_hash_table, gstrint_work,
1284 and gstring_work_headers. DEFVAR_LISP composition-function-table.
1285 Defsubr compostion_get_gstring.
1286
1287 * dispextern.h (struct glyph): New union u.cmp. Delete the member
1288 cmp_id.
1289 (struct glyph_string): Delete the member gidx. New members
1290 cmp_id, cmp_from, and cmp_to.
1291 (enum it_method): Delete GET_FROM_COMPOSITION.
1292 (struct composition_it): New struct.
1293 (struct it): New member cmp_it, and iterator_stack_entry.cmp_it.
1294 Delete c, len, cmp_id, cmp_len in u.comp.
1295
1296 * font.h (enum lgstring_indices): Delete it.
b8ff72fa 1297 (LGSTRING_XXX, LGLYPH_XXX): Move these macros to composite.h.
aac0c6e3 1298 (enum lglyph_indices): Likewise.
b8ff72fa 1299 (font_range): Adjust extern.
aac0c6e3
MR
1300 (font_fill_lglyph_metrics): Extern it.
1301
1302 * font.c (QCf): New variable.
1303 (check_gstring): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
1304 (font_prepare_composition): Delete this function.
1305 (font_range): Type and arguments changed.
1306 (Ffont_make_gstring, Ffont_fill_gstring): Delete them.
1307 (font_fill_lglyph_metrics): New function.
b8ff72fa 1308 (Ffont_shape_text): Rename to Ffont_shape_gstring and change arguments.
aac0c6e3 1309 (syms_of_font): DEFSYM QCf. Delete defsubr for
b8ff72fa
SM
1310 Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text.
1311 Defsubr Sfont_shape_gstring.
aac0c6e3
MR
1312
1313 * fontset.h (font_for_char): Extern it.
1314
1315 * fontset.c (font_for_char): New function.
1316
1317 * ftfont.c: Include composite.h.
1318 (ftfont_resolve_generic_family): Add langset "en" to pattern.
b8ff72fa 1319 (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
aac0c6e3
MR
1320
1321 * indent.c: Include composite.h and dispextern.h.
1322 (check_composition): Delete this function.
1323 (scan_for_column): Handle composition by
1324 composition_compute_stop_pos, composition_reseat_it, and
1325 composition_update_it.
1326 (compute_motion): Likewise.
1327 (Fvertical_motion): Fix checking of composition.
1328
1329 * keyboard.c (adjust_point_for_property): Check composition by
1330 composition_adjust_point.
1331
b8ff72fa 1332 * nsterm.m (ns_draw_glyph_string): Adjust for the change of
aac0c6e3
MR
1333 struct glyph_string.
1334
b8ff72fa
SM
1335 * term.c (encode_terminal_code): Adjust for the change of struct glyph.
1336 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3
MR
1337 struct glyph.
1338 (produce_composite_glyph): Likewise.
1339
b8ff72fa
SM
1340 * w32term.c (x_draw_composite_glyph_string_foreground):
1341 Adjust for the change of struct glyph_string.
aac0c6e3
MR
1342 (x_draw_glyph_string): Likewise.
1343
1344 * w32uniscribe.c (struct uniscribe_font_info): Include composite.h.
1345 (uniscribe_shape): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
1346
1347 * xdisp.c: Include font.h.
1348 (it_props): Delete the entry for Qauto_composed.
1349 (init_iterator): Initialize it->cmp_it.id to -1.
1350 (compute_stop_pos): Call composition_compute_stop_pos.
b8ff72fa 1351 (face_before_or_after_it_pos): Adjust for the change of struct it.
aac0c6e3
MR
1352 (handle_auto_composed_prop): Delete it.
1353 (handle_composition_prop): Handle only static composition.
1354 (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION
1355 from xassert. Initialize it->cmp_it.stop_pos.
b8ff72fa 1356 (push_it): Adjust for the change of struct it.
aac0c6e3
MR
1357 (pop_it): Likewise.
1358 (get_next_element): Delete next_element_from_composition.
1359 (CHAR_COMPOSED_P): New macro.
1360 (get_next_display_element): For automatic composition, get a face
1361 from the font in the glyph-string.
1362 (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING,
b8ff72fa 1363 check composition by it->cmp_it.id. Delete GET_FROM_COMPOSITION case.
aac0c6e3
MR
1364 (next_element_from_string): Check if the character at the current
1365 position is composed by CHAR_COMPOSED_P.
1366 (next_element_from_buffer): Likewise.
b8ff72fa 1367 (next_element_from_composition): Adjust for the change of struct
aac0c6e3 1368 it. Update it->cmp_it.
b8ff72fa
SM
1369 (dump_glyph): Adjust for the change of struct glyph.
1370 (fill_composite_glyph_string): Adjust for the change of struct
aac0c6e3
MR
1371 it and struct glyph. Don't handle automatic composition here.
1372 (fill_gstring_glyph_string): New function.
1373 (x_get_glyph_overhangs): Handle automatic composition.
b8ff72fa 1374 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the change of struct glyph.
aac0c6e3
MR
1375 (BUILD_GSTRING_GLYPH_STRING): New macro.
1376 (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for
1377 automatic composition.
b8ff72fa 1378 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3 1379 struct glyph.
b8ff72fa 1380 (x_produce_glyphs): Adjust for the change of struct it.
aac0c6e3 1381
b8ff72fa 1382 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aac0c6e3
MR
1383 the change of struct glyph_string.
1384 (x_draw_glyph_string): Likewise.
1385
13862008-08-29 Glenn Morris <rgm@gnu.org>
1387
1388 * buffer.c (word-wrap): Doc fix.
1389 * xdisp.c (truncate-partial-width-windows): Doc fix.
1390 Increase default to 50.
1391
13922008-08-29 Chong Yidong <cyd@stupidchicken.com>
1393
1394 * xdisp.c (update_tool_bar_unwind): New function.
1395 (update_tool_bar): Temporarily set selected frame before building
1396 tool-bar items.
1397
13982008-08-28 Michael Albinus <michael.albinus@gmx.de>
1399
1400 * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and
1401 snprintf, respectively.
1402 (xd_append_arg): Convert strings with Fstring_make_unibyte.
1403
14042008-08-28 Chong Yidong <cyd@stupidchicken.com>
1405
1406 * Makefile.in: Revert (undocumented) 2008-08-20 change adding
1407 LDFLAGS to GNUstep CC invocation.
1408
14092008-08-27 Chong Yidong <cyd@stupidchicken.com>
1410
1411 * indent.c (Fvertical_motion): Revert last change. Handle the
1412 general case where we are moving forward, and PT spans multiple
1413 screen lines.
1414
1415 * eval.c (find_handler_clause): Temporarily increase
1416 max-lisp-eval-depth while printing the backtrace buffer, to
1417 guarantee that help-mode code can run.
1418
14192008-08-27 Eli Zaretskii <eliz@gnu.org>
1420
1421 * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame
1422 colors under -rv.
1423 (IT_set_frame_parameters): Don't swap foreground and background
1424 colors if `(reverse . t)' is present in the frame properties.
1425 (internal_terminal_init): Call init_frame_faces only for the
1426 initial frame.
1427
14282008-08-27 Andreas Schwab <schwab@suse.de>
1429
1430 * dired.c (Ffile_attributes): Avoid compiler warning in bitshift.
1431
14322008-08-27 Andreas Schwab <schwab@suse.de>
1433
1434 * search.c (search_buffer): Set char_base to zero only at the end.
1435
14362008-08-27 Kenichi Handa <handa@m17n.org>
1437
b8ff72fa 1438 * fileio.c (report_file_error): Fix handling of multibyte error string.
aac0c6e3
MR
1439
14402008-08-27 Andreas Seltenreich <seltenreich@gmx.de>
1441
1442 * xterm.c (x_term_init): Temporarily hide the partially
1443 initialized terminal while calling vendor-specific-keysyms.
1444
14452008-08-26 Eli Zaretskii <eliz@gnu.org>
1446
1447 * msdos.c (internal_terminal_init): Most initializations done only
1448 once, especially initial_screen_colors[] and termscript open.
1449
14502008-08-26 Chong Yidong <cyd@stupidchicken.com>
1451
1452 * eval.c (Fcondition_case): Doc fix.
1453
1454 * widgetprv.h (EmacsFramePart): Change font member to the new font
1455 struct.
1456
1457 * widget.c: Include character.h and font.h for XSETFONT.
1458 (setup_frame_gcs): Compute X font id from font struct, just once.
1459
14602008-08-26 Eli Zaretskii <eliz@gnu.org>
1461
1462 * term.c (get_named_tty): Fix last change.
1463
14642008-08-26 Chong Yidong <cyd@stupidchicken.com>
1465
1466 * indent.c (Fvertical_motion): If moving forward starting from a
b8ff72fa 1467 multi-line string, move the iterator to the last line of that string.
aac0c6e3
MR
1468
14692008-08-25 Eli Zaretskii <eliz@gnu.org>
1470
1471 * frame.c (do_switch_frame): Mark previously displayed frame as
1472 obscured for FRAME_MSDOS_P frames as well.
1473
14742008-08-24 Eli Zaretskii <eliz@gnu.org>
1475
1476 * frame.c (make_terminal_frame): Initialize f->terminal,
1477 f->terminal->reference_count, and scroll bars on MS-DOS as well.
1478 Set the top frame to newly created frame.
1479 (Fmake_terminal_frame): Reuse the_only_display_info.
1480
1481 * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of
1482 estimating available memory.
1483
b97439ce 14842008-08-23 David Reitter <david.reitter@gmail.com>
aac0c6e3
MR
1485
1486 * nsterm.m (ns_draw_window_cursor): Don't call
1487 NSDisableScreenUpdates and NSEnableScreenUpdates on
1488 non-NS_IMPL_COCOA systems.
1489
14902008-08-23 Andreas Schwab <schwab@suse.de>
1491
1492 * process.c (procfs_system_process_attributes): Fix use of
1493 uninitialized variables.
1494
14952008-08-23 Eli Zaretskii <eliz@gnu.org>
1496
1497 * emacs.c (main) [MSDOS]: Call syms_of_xmenu.
1498
1499 * dispnew.c (init_display): Remove MS-DOS specific conditions for
1500 calling tty-set-up-initial-frame-faces.
1501
b8ff72fa
SM
1502 * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show):
1503 Allow MSDOS frames along with X frames.
aac0c6e3
MR
1504
1505 * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in
1506 addition to output_termcap.
1507
1508 * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode.
1509
1510 * termchar.h (FRAME_TTY): Support output_msdos_raw.
1511 (struct tty_display_info) [MSDOS]: Add fields related to mouse
1512 highlight.
1513
1514 * process.c [!subprocesses]: Define QCname.
1515 (syms_of_process): Intern and staticpro it.
1516
1517 * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
b8ff72fa
SM
1518 Adjust for changes in encoding/decoding routines.
1519 Use encode_coding_object and decode_coding_object instead of
aac0c6e3
MR
1520 encode_coding and decode_coding.
1521
b8ff72fa 1522 * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as argument.
aac0c6e3
MR
1523
1524 * dosfns.c: Include frame.h before termhooks.h.
1525 (dos_cleanup): Use CURTTY ()->termscript instead of a global
1526 variable termscript.
1527
1528 * s/msdos.h (USER_FULL_NAME): Define.
1529 (SYSTEM_PURESIZE_EXTRA): Bump up to 100K.
1530
1531 * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined.
1532 (Fuser_full_name): Use USER_FULL_NAME instead of a literal
1533 pw->pw_gecos.
1534
1535 * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with
1536 SELECTED_FRAME as additional (1st) argument.
1537 (tty_read_avail_input): Handle output_msdos_raw in
1538 addition to output_termcap.
1539
1540 * msdos.c: Include frame.h before termhooks.h.
1541 (mouse_on, mouse_off, mouse_moveto, mouse_init)
1542 (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs)
1543 (show_mouse_face, IT_clear_end_of_line, IT_clear_screen)
1544 (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto)
1545 (IT_set_terminal_modes, IT_reset_terminal_modes)
1546 (IT_set_frame_parameters): Use tty->termscript instead of a global
1547 variable termscript.
1548 (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a
1549 global variable terminal_coding. Don't refer to
1550 Vnonascii_translation_table.
1551 (internal_terminal_init): Set Vwindow_system in current_kboard.
1552 Don't use TTY_CHAR_INS_DEL_OK. Set Vinitial_window_system.
1553 Announce date and time of session start, if termscript is open.
1554 Don't zero out the_only_display_info (it is done in
b8ff72fa
SM
1555 term.c:init_tty). Open termscript only of not already open.
1556 Log "SCREEN SAVED" here, instead of IT_set_terminal_modes. Init mouse
aac0c6e3
MR
1557 here instead of dos_ttraw. Don't initialize display if this is an
1558 initial tty. Don't set FRAME_FONT.
1559 (Vwindow_system_version): Bump to 23.
1560 (dos_ttraw): Accept a TTY argument; all callers fixed. If mouse
1561 is available, set up mouse_position_hook.
1562 (dos_ttraw, IT_set_terminal_modes): If called with initial
1563 terminal, do nothing.
1564 (IT_set_frame_parameters): Handle the Qtty_type frame
1565 parameter by calling internal_terminal_init.
1566 (dos_set_window_size, show_mouse_face)
1567 (clear_mouse_face, IT_note_mode_line_highlight)
1568 (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date)
1569 (dos_rawgetc): Use tty_display_info instead of x_display_info.
1570 (initialize_msdos_display): New function.
1571 (IT_cursor_to, IT_clear_to_end, IT_clear_screen)
1572 (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs)
1573 (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes)
1574 (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin):
b8ff72fa 1575 Accept additional argument: a pointer to a frame. Update all callers.
aac0c6e3
MR
1576 (request_sigio, unrequest_sigio): Don't define, now defined on
1577 sysdep.c.
1578 (IT_write_glyphs): Rewrite to use encode_terminal_code.
1579
1580 * term.c [MSDOS]: Include msdos.h.
1581 (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch. Change cpp
1582 conditional to DOS_NT. Allow only one call to this function in a
1583 session. Don't allocate a new struct tty_display_info; instead,
1584 reuse the_only_display_info. Call get_tty_size to get screen
1585 dimensions. Call init_baud_rate to set bad_rate.
1586 (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body.
1587 (Fsuspend_tty) [MSDOS]: Don't close input and output.
b8ff72fa 1588 (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use stdin/stdout.
aac0c6e3
MR
1589 (get_tty_terminal, get_named_tty, Ftty_type)
1590 (Fcontrolling_tty_p): Handle output_msdos_raw in addition to
1591 output_termcap.
b8ff72fa
SM
1592 (Fresume_tty, Fsuspend_tty, init_tty, delete_tty):
1593 Call add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor
aac0c6e3
MR
1594 only when subprocesses are supported
1595
1596 * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of
1597 f->output_data.x.
1598 (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new
1599 terminal devices.
1600
1601 * msdos.h Remove definition of struct x_display_info and struct
1602 x_output.
1603 (FRAME_FONT): Use output_data.tty.
1604 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define.
b8ff72fa
SM
1605 (struct x_display_info): Rename from display_info. Update all users in
1606 msdos.c.
aac0c6e3 1607 (struct x_output): Remove background_pixel and foreground_pixel.
b8ff72fa 1608 (the_only_display_info): Rename from the_only_x_display.
aac0c6e3
MR
1609 (dos_ttraw): Update prototype.
1610
1611 * Makefile.in (MSDOS_OBJ): Add xmenu.o.
1612 (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc.
1613
16142008-08-23 Jason Rumney <jasonr@gnu.org>
1615
1616 * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword.
1617 (fn_TIFFSetDirectory): New library function used.
1618 (init_tiff_functions) [HAVE_NTGUI]: Initialize it.
1619 (tiff_load): Use :index to select among multiple images. Set count
1620 property when multiple images exist.
1621 (gif_format): Use :index, not :image.
1622
16232008-08-23 Chong Yidong <cyd@stupidchicken.com>
1624
1625 * xdisp.c (try_scrolling): Check INT_MAX instead of
1626 MOST_POSITIVE_FIXNUM for maximum integer value. Include limits.h
1627 to obtain INT_MAX.
1628
16292008-08-21 İsmail Dönmez <ismail@namtrac.org> (tiny change)
1630
1631 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+.
1632
16332008-08-21 Christian Faulhammer <opfer@gentoo.org> (tiny change)
1634
1635 * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate
1636 GNUstep library location.
1637
16382008-08-21 Chong Yidong <cyd@stupidchicken.com>
1639
1640 * xfaces.c (x_update_menu_appearance): Check validity of menu font
1641 before using it.
1642
1643 * puresize.h (BASE_PURESIZE): Increase to 1250000.
1644
16452008-08-20 Adrian Robert <Adrian.B.Robert@gmail.com>
1646
1647 * nsfns.m (ns-read-file-name): Add casts to avoid warning.
1648 (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly.
1649 * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil.
1650 * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration.
1651 (EmacsApp-cursor_blink_handler): Remove declaration.
1652 * nsterm.m (ns_draw_glyph_string): Update first conditional body to
1653 match 01 Feb 2008 changes in xterm.c.
1654 (ns_read_socket): Add cast to avoid warning.
1655 (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on
1656 GNUstep.
1657
16582008-08-20 Chong Yidong <cyd@stupidchicken.com>
1659
1660 * xselect.c (x_get_foreign_selection): Return nil if desired
1661 selection could not be obtained, instead of signalling an error.
1662
16632008-08-20 David Reitter <david.reitter@gmail.com>
1664
1665 * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c.
1666 * nsterm.m: Remove ns-specific code for cursor blinking.
1667 (ns_draw_window_cursor): Clear cursor properly rather than
1668 redrawing the area. Respect width of bar cursors.
1669 These changes enable the use of generic blink-cursor-mode and
1670 generic cursor types in NS and support smooth cursor movements (do
1671 not blink off after command).
1672 * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on
1673 Nextstep, too.
1674
16752008-08-19 Kenichi Handa <handa@m17n.org>
1676
1677 * font.c (Vfont_log_deferred): New variable.
1678 (font_add_log): Check Vfont_log_deferred.
1679 (font_deferred_log): New function.
1680
1681 * font.h (font_deferred_log): Extern it.
1682
1683 * fontset.c (reorder_font_vector): Use encoding charset of fonts
1684 for sorting.
1685 (face_for_char): Use deferred log.
1686
16872008-08-18 Kenichi Handa <handa@m17n.org>
1688
1689 * fontset.c (face_for_char): Add font log.
1690
1691 * font.c (font_add_log): Add the font properties :script, :lang,
1692 and :otf in the log.
1693
16942008-08-17 Chong Yidong <cyd@stupidchicken.com>
1695
1696 * xdisp.c: Remove dead code.
1697 (handle_invisible_prop, next_overlay_string): Defer call to
1698 setup_for_ellipsis.
1699 (handle_stop, set_iterator_to_next): Call setup_for_ellipsis.
1700
17012008-08-15 Chong Yidong <cyd@stupidchicken.com>
1702
1703 * xfaces.c (lookup_derived_face): Properly handle possible zero
1704 return value of get_lface_attributes.
1705 (merge_faces): Don't tell lookup_derived_face to signal an error
1706 if face is not found.
1707
1708 * dired.c (Fdirectory_files): Doc fix.
1709
1710 * process.c (make_process): Initialize kill_without_query struct
1711 member.
1712
17132008-08-15 Eli Zaretskii <eliz@gnu.org>
1714
1715 * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]:
1716 Alternative calculation of totphys for Visual Studio 6.
1717
1718 * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR.
1719
1720 * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX):
1721 Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX.
1722 All users changed.
1723 (stat): Only root directory passed to GetDriveType. Allow RAM
1724 disk as well as local fixed disk when w32-get-true-file-attributes
1725 is set to `local'.
1726 (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs.
1727 (equal_sid, get_length_sid, copy_sid): New wrapper functions.
1728 (w32_cached_id, w32_add_to_cache): New functions.
1729 (get_name_and_id): Look account names in the cache before calling
1730 lookup_account_sid.
1731 (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid):
1732 New initialization flags.
1733 (globals_of_w32): Initialize them to zero.
1734 (w32_system_process_attributes): Use w32_cached_id and
1735 w32_add_to_cache.
1736
17372008-08-14 Lawrence Mitchell <wence@gmx.li>
1738
1739 * lread.c (Fread_char, Fread_char_exclusive): If no character
1740 event is read before timeout is reached, return nil, rather than
1741 converting to a number.
1742
17432008-08-14 Chong Yidong <cyd@stupidchicken.com>
1744
1745 * fns.c (use_dialog_box): Doc fix.
1746
1747 * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful
1748 on OS X.
1749
17502008-08-13 Chong Yidong <cyd@stupidchicken.com>
1751
1752 * frame.c (Qns_parse_geometry): New var.
1753 (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry.
1754
17552008-08-11 Chong Yidong <cyd@stupidchicken.com>
1756
1757 * xdisp.c (x_produce_glyphs): Handle the case when font has no
1758 space character in calculating tabs.
1759
17602008-08-11 Dan Nicolaescu <dann@ics.uci.edu>
1761
1762 * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case.
1763
17642008-08-10 Glenn Morris <rgm@gnu.org>
1765
1766 * process.c (procfs_system_process_attributes): Use EMACS_INTs to
1767 silence gcc "limited range of data type" warnings in some
1768 make_fixnum_or_float calls.
1769
17702008-08-09 Eli Zaretskii <eliz@gnu.org>
1771
1772 * w32.c (w32_system_process_attributes): If the process does not
1773 exist, return nil.
1774
1775 * w32.c: Include thelp32.h, psapi.h and coding.h.
1776 (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct
1777 declarations.
1778 (CreateToolhelp32Snapshot_Proc, Process32First_Proc)
1779 (Process32Next_Proc): New typedefs.
1780 (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first)
1781 (g_b_init_process32_next, g_b_init_open_thread_token)
1782 (g_b_init_impersonate_self, g_b_init_revert_to_self)
1783 (g_b_init_get_process_memory_info, g_b_init_global_memory_status)
1784 (g_b_init_get_process_working_set_size)
1785 (g_b_init_global_memory_status_ex): New static variables.
1786 (globals_of_w32): Initialize them.
1787 (create_toolhelp32_snapshot, process32_first, process32_next)
1788 (open_thread_token, impersonate_self, revert_to_self)
1789 (get_process_memory_info, get_process_working_set_size)
1790 (global_memory_status, global_memory_status_ex): New wrapper
1791 functions.
1792 (w32_list_system_processes, w32_system_process_attributes)
1793 (enable_privilege, restore_privilege, ltime, process_times):
1794 New functions.
1795 (convert_time_raw): New function.
1796 (convert_time): Remove conversion of FILETIME into time in 100
1797 nsec units, call convert_time_raw instead.
1798
1799 * process.h (w32_list_system_processes, w32_system_process_attributes):
1800 Add prototypes.
1801 (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname)
1802 (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime)
1803 (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup)
1804 (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations.
1805
1806 * process.c (Fsystem_process_attributes): Doc fix.
1807
18082008-08-08 Chong Yidong <cyd@stupidchicken.com>
1809
1810 * xdisp.c (move_it_to): When stopping at a charpos, check if that's
1811 a continued multi-char glyph; if so, advance to the actual glyph.
1812
18132008-08-07 Dan Nicolaescu <dann@ics.uci.edu>
1814
1815 * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in.
1816
1817 * Makefile.in (ALL_OBJC_CFLAGS): New variable.
1818 (.m.o): Use it.
1819 * config.in: Regenerate.
1820
18212008-08-07 Chong Yidong <cyd@stupidchicken.com>
1822
1823 * xdisp.c (redisplay_window): Revert last change.
1824 (try_window): Check bottom scroll margin too.
1825
18262008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
1827
1828 * config.in: Regenerate.
1829
1830 * Makefile.in (emacs): Remove ifndef NS conditional for 'emacs
1831 -list-load-path-shadows'.
1832 (nsgui.h): Reduce number of things depending on it.
1833
18342008-08-06 Chong Yidong <cyd@stupidchicken.com>
1835
1836 * xdisp.c (try_scrolling): Use iterator to find the scroll margin,
1837 instead of window-end which does the wrong thing at eob.
1838 (try_cursor_movement): Minor optimization.
1839 (redisplay_window): If scroll margin is defined, don't assume
1840 window doesn't need scrolling.
1841
18422008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
1843
1844 * config.in: Regenerate.
1845
1846 * Makefile.in: Move nsXXX.m dependencies into big alphabetical list.
1847 (mostlyclean): Don't delete *.d under NS.
1848
1849 * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER.
1850
18512008-08-06 Kenichi Handa <handa@m17n.org>
1852
1853 * xfont.c (xfont_list_family): Return a list of symbols, not strings.
1854
18552008-08-06 Andreas Schwab <schwab@suse.de>
1856
1857 * config.in: Regenerate.
1858
18592008-08-05 Chong Yidong <cyd@stupidchicken.com>
1860
1861 * xdisp.c (redisplay_window): Don't enforce scroll-margin when
1862 forcing a window start.
1863
1864 * fileio.c (Vauto_save_list_file_name): Move here from file.el.
1865 (auto_save_1): Update modtime when auto-save-list-file-name is on.
1866
18672008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
1868
1869 * emacs.c (main): Under NS, set working dir to HOME when get a "psn"
1870 argument.
1871
18722008-08-05 Juanma Barranquero <lekktu@gmail.com>
1873
1874 * buffer.c (syms_of_buffer) <scroll-up-aggressively>:
1875 <scroll-down-aggressively, before-change-functions>:
1876 <after-change-functions>: Reflow docstrings.
1877
18782008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
1879 Ken Raeburn <raeburn@gnu.org>
1880
1881 Dock menu customization, based on a patch by Ken Raeburn, plus some
1882 other fixes.
1883 * nsmenu.m (dockMenu): New variable.
1884 (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17.
1885
1886 * nsterm.h (dockMenu): Declare.
1887
1888 * nsterm.m (KEY_NS_NEW_FRAME): New definition.
1889 (ns_term_init): Initialize dockMenu.
1890 (EmacsApp -newFrame:, -applicationDockMenu:): New methods.
1891 (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame
1892 left.
1893
1894 * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA.
1895
18962008-08-04 Chong Yidong <cyd@stupidchicken.com>
1897
1898 * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it.
1899
1900 * config.in: Regenerate.
1901
19022008-08-04 Seiji Zenitani <zenitani@mac.com>
1903
1904 * nsfns.m (x-create-frame): Set the frame parameter alpha to nil.
1905
19062008-08-04 Chong Yidong <cyd@stupidchicken.com>
1907
1908 * nsterm.h (find_and_call_menu_selection): Fix prototype.
1909
19102008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
1911
1912 * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS.
1913
1914 * keyboard.h: Comment an #endif.
1915
1916 * lisp.h (have_menus_p): Adjust comment.
1917
1918 * menu.c (find_and_return_menu_selection): Fix comparison with
1919 client_data.
1920
1921 * nsmenu.m (popup_activated_flag): New variable.
1922 (popup_activated): New function.
1923 (menu-or-popup-active-p): New exported lisp definition.
1924 (ns_popup_menu): Set popup_activated_flag. Call discard_menu_items()
1925 when popup done.
1926 (ns_popup_dialog): Set popup_activated_flag.
1927
1928 * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger
1929 version for GNUstep (handled by conditional typedef in nsterm.m).
1930 (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now
1931 in rgb.txt).
1932
1933 * process.c (init_process): Use DARWIN_OS, not DARWIN.
1934
1935 * sysselect.h: Conditionalize init_process undef on DARWIN_OS.
1936
1937 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS.
1938
1939 * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS,
1940 shortcircuit if popup_activated like GTK and X toolkit.
1941
1942 * m/inter386.h: Change DARWIN to DARWIN_OS.
1943
1944 * s/darwin.h: Add #define DARWIN_OS. Get rid of C_SWITCH_SYSTEM def.
1945 Change LIBS_MACGUI to LIBS_NSGUI. Move temacs-conditionalized defs
1946 closer to C_SWITCH_SYSTEM_TEMACS so usage is understood. Expand
1947 comment on NO_SOCK_SIGIO.
1948
19492008-08-03 Chong Yidong <cyd@stupidchicken.com>
1950
1951 * nsterm.m (windowDidResize): Remove stopModal call.
1952
19532008-08-03 Andreas Schwab <schwab@suse.de>
1954
1955 * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define.
1956 (check_memory_limits): Don't handle HAVE_GETRLIMIT here.
1957
19582008-08-02 Chong Yidong <cyd@stupidchicken.com>
1959
1960 * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin.
1961 Don't use uninitialized pointer variable when using getrlimit.
1962
19632008-08-02 Jason Rumney <jasonr@gnu.org>
1964
1965 * w32font.c (compute_metrics): Don't mess with glyph_idx setting here.
1966
19672008-08-02 Eli Zaretskii <eliz@gnu.org>
1968
1969 * alloc.c (NSTATICS): Bump to 0x640.
1970
1971 * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
1972
1973 * lisp.h: Add prototype for directory_files_internal.
1974
1975 * process.c (Fsystem_processes_list, Fsystem_process_attributes):
1976 New functions.
1977 (syms_of_process): Defsubr them. Add initializations for various
1978 Q* symbols used in procfs_system_process_attributes.
1979 (procfs_list_system_processes, procfs_system_process_attributes)
1980 [HAVE_PROCFS]: New functions.
1981 (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname)
1982 (procfs_get_total_memory): New functions.
1983
19842008-08-01 Juanma Barranquero <lekktu@gmail.com>
1985
1986 * xfaces.c (Fx_load_color_file): Fix previous change;
1987 it is #ifdef WINDOWSNT, not WINDOWS_NT.
1988
19892008-08-01 Michael Albinus <michael.albinus@gmx.de>
1990
1991 * dbusbind.c (xd_read_message): Handle D-Bus error messages.
1992
19932008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1994
1995 * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard.
1996
19972008-08-01 Chong Yidong <cyd@stupidchicken.com>
1998
1999 * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha.
2000
2001 * nsterm.m (EmacsApp -application:openFiles:): GNUstep does not
2002 define NSApplicationDelegateReplySuccess.
2003 (EmacsView -converstationIdentifier): Use long instead of
2004 NSInteger for GNUstep, since it doesn't have NSInteger.
2005
2006 * xmenu.c: Revert last change.
2007
2008 * keyboard.h: Fix last change.
2009
20102008-08-01 Juanma Barranquero <lekktu@gmail.com>
2011
2012 * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting
2013 on Windows.
2014
20152008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2016
2017 Warning clearing and clean-up in NS port.
2018 * keyboard.h (xmalloc_widget_value, digest_single_submenu):
2019 Add prototypes.
2020 * nsgui.h (FACE_DEFAULT): Remove, unused.
2021 (XGCValues): Change colors to unsigned long.
2022 * nsterm.h (EmacsApp): Add declaration of all methods implemented in
2023 nsterm.m.
2024 (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class.
2025 (ns_list_fonts): Remove, unused.
2026 (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes.
2027 * nsfns.m (interpret_services_menu): Use NSMenuItem class.
2028 * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc.
2029 (nsfont_draw): Compare face colors to 0, not nil.
2030 * nsmenu.m (struct widget_value): Drop unneeded declaration.
2031 (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:)
2032 (-addSubmenuWithTitle:): Use NSMenuItem class.
2033 (ns_popup_menu): Use NO, not NULL, for enabled setting.
2034 * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0.
2035 (ns_clip_to_row): Make gc arg a BOOL.
2036 (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in
2037 ns_clip_to_row() call.
2038 (ns_draw_glyph_string): Drop face comparison to ~0 (no longer
2039 used). Cast FRAME_FONT assignments.
2040 (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:.
2041 (ns_string_to_lispmod): Change arg to const char.
2042 (ns_term_init): Use NSMenuItem class.
2043 (EmacsApp -openFile:): Move to different section of file.
2044 (EmacsApp -application:openFiles:): Don't return a value, call
2045 -replyToOpenOrPrint:.
2046 (EmacsView -keyDown:): Fix up cast.
2047 (EmacsView -converstationIdentifier): Use NSInteger instead of long.
2048 (EmacsView -menuDown:): Cast tag in call to
2049 find_and_call_menu_selection().
2050 (ns_list_fonts): Remove, unused.
2051 (ns_font_to_xlfd): Make static. Cast result of UTF8String.
2052 (ns_fontname_to_xlfd): Make static.
2053 * w32menu.c (xmalloc_widget_value, digest_single_submenu):
2054 Remove prototypes (now in keyboard.h).
2055 (next_menubar_widget_id): Remove, unused.
2056 * xmenu.c (xmalloc_widget_value, digest_single_submenu):
2057 Remove prototypes (now in keyboard.h).
2058 * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused.
2059
20602008-08-01 Dan Nicolaescu <dann@ics.uci.edu>
2061
2062 * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o)
2063 (floatfns.o): Depend on syssignal.h.
2064 (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC).
2065
2066 * systty.h: Fix previous change that removed BSD_TERMIOS.
2067 Add comments to #ifdefs.
2068
20692008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2070
2071 * w32fns.c (w32-load-color-file): Remove.
2072 (x-open-connection): Use renamed Fx_load_color_file.
2073 * xfaces.c (x-load-color-file): Add.
2074 * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of
2075 Emacs.clr.
2076 (hide_hourglass): BLOCK_INPUT before UNBLOCK.
2077
20782008-07-31 Michael Albinus <michael.albinus@gmx.de>
2079
2080 * dbusbind.c (Fdbus_call_method_asynchronously)
2081 (Fdbus_method_error_internal): New defuns.
2082 (xd_read_message): Handle also reply messages.
2083 (Vdbus_registered_functions_table): Extend docstring.
2084
20852008-07-31 Juanma Barranquero <lekktu@gmail.com>
2086
2087 * keyboard.c (gobble_input): Fix previous change.
2088
20892008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
2090
2091 * bitmaps/README:
2092 * xfns.c:
2093 * termcap.c:
2094 * term.c:
2095 * syswait.h:
2096 * systty.h:
2097 * systime.h:
2098 * syssignal.h:
2099 * sysdep.c:
2100 * process.h:
2101 * process.c:
2102 * print.c:
2103 * ndir.h:
2104 * lread.c:
2105 * keyboard.c:
2106 * getpagesize.h:
2107 * floatfns.c:
2108 * fileio.c:
2109 * emacs.c:
2110 * doc.c:
2111 * dispnew.c:
2112 * dired.c:
2113 * data.c:
2114 * callproc.c:
2115 * buffer.c:
2116 * README:
2117 * Makefile.in:
2118 * s/template.h:
2119 * s/msdos.h:
2120 * m/vax.h: Remove VMS support.
2121 * s/vms.h:
2122 * vlimit.h:
2123 * uaf.h:
2124 * temacs.opt:
2125 * param.h:
2126 * ioctl.h: Remove file.
2127
21282008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
2129
2130 * s/ms-w32.h (MULTI_KBOARD): Remove.
2131 * xterm.c:
2132 * xselect.c:
2133 * xfns.c:
2134 * window.c:
2135 * w32term.c:
2136 * w32fns.c:
2137 * terminal.c:
2138 * termhooks.h:
2139 * term.c:
2140 * sysdep.c:
2141 * keyboard.h:
2142 * keyboard.c:
2143 * frame.h:
2144 * frame.c:
2145 * frame.c: Remove references to MULTI_KBOARD, it is now the default.
2146 * config.in: Regenerate.
2147
21482008-07-30 Jason Rumney <jasonr@gnu.org>
2149
2150 * w32font.h (struct w32font_info): Use unicode version of textmetrics.
2151
2152 * w32font.c (w32font_encode_char): Leave as unicode if in range.
2153 (w32font_open_internal): Get unicode version of textmetrics.
2154 Don't enable or disable glyph indices here.
2155 (w32font_open): Disable use of glyph indices.
2156
2157 * w32uniscribe.c (uniscribe_open): Enable use of glyph indices.
2158
21592008-07-30 Chong Yidong <cyd@stupidchicken.com>
2160
2161 * minibuf.c (Vread_buffer_function): Doc fix.
2162
21632008-07-30 John Paul Wallington <jpw@pobox.com>
2164
2165 * minibuf.c (read_buffer_completion_ignore_case): New var.
2166 (Fread_buffer): Use it.
2167
21682008-07-30 Dan Nicolaescu <dann@ics.uci.edu>
2169
2170 * systty.h (sensemode): Remove empty #if. Remove reference to
2171 BSD_TERMIOS, unused.
2172
2173 * sysdep.c: Remove reference to DGUX.
2174 (closedir): Remove reference to BROKEN_CLOSEDIR, unused.
2175
2176 * config.in: Regenerate.
2177
21782008-07-30 Jason Rumney <jasonr@gnu.org>
2179
2180 * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size.
2181
21822008-07-29 Jason Rumney <jasonr@gnu.org>
2183
2184 * w32uniscribe.c (uniscribe_shape): Avoid using context if cache
2185 is populated.
2186 (uniscribe_encode_char): Always use uniscribe.
2187 Avoid using context if cache is populated.
2188
21892008-07-29 Jan Djärv <jan.h.d@swipnet.se>
2190
2191 * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to
2192 open menu.
2193
2194 * gtkutil.c (menu_nav_ended): Remove.
2195 (create_menus): Remove signal connect for menu_nav_ended.
2196
21972008-07-28 Chong Yidong <cyd@stupidchicken.com>
2198
2199 * xdisp.c (redisplay_window): Check return value of
2200 compute_window_start_on_continuation_line before forcing a window
2201 start.
2202
22032008-07-28 Jason Rumney <jasonr@gnu.org>
2204
2205 * w32font.c (w32font_text_extents): Use w32_metric_cache consistently.
2206
2207 * w32term.c (w32_enable_unicode_output, cleartype_active):
2208 Remove obsolete display options.
2209 (x_draw_glyph_string_background): Don't use old cleartype_active
2210 workaround.
2211 (w32_initialize): Remove cleartype_active initialization.
2212 (syms_of_w32term): Remove w32_enable_unicode_output initialization.
2213
22142008-07-28 Andreas Schwab <schwab@suse.de>
2215
2216 * lisp.h (init_weak_hash_tables, syms_of_font)
2217 (xd_read_queued_messages, syms_of_dbusbind): Declare.
2218 (remove_hash_entry): Don't declare.
2219 * eval.c (maybe_call_debugger): Make static and move before use.
2220 * gtkutil.c: Include <X11/Xft/Xft.h> if HAVE_XFT.
2221 * xdisp.c: Include "gtkutil.h" if USE_GTK.
2222 * xterm.h (x_set_frame_alpha): Declare.
2223
22242008-07-28 Jan Djärv <jan.h.d@swipnet.se>
2225
2226 * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24.
2227 (create_menus): Connect selection-done to menu_nav_ended.
2228
22292008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
2230
2231 * nsfns.m (x-create-frame): Add copy of parms argument to beginning.
2232 Set Vx_resource_name to a fallback. Replace read of 'buffered'
2233 parameter with read of 'alpha' one.
2234 (Qns_frame_parameter): Remove.
2235 * nsselection.m (selection-coding-system)
2236 (next-selection-coding-system, Vselection_coding_system)
2237 (Vnext_selection_coding_system): Drop.
2238
22392008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
2240
2241 * nsfns.m (do-applescript, do_applescript): Rename to
2242 ns-do-applescript, ns_do_applescript, and move within file.
2243
22442008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
2245
2246 Remove support for Mac Carbon.
2247 * mactoolbox.c:
2248 * macterm.h:
2249 * macterm.c:
2250 * macselect.c:
2251 * macmenu.c:
2252 * macgui.h:
2253 * macfns.c:
2254 * mac.c: Remove file.
2255 * s/darwin.h:
2256 * m/intel386.h:
2257 * xfaces.c:
2258 * xdisp.c:
2259 * window.c:
2260 * tparam.c:
2261 * termhooks.h:
2262 * termcap.c:
2263 * term.c:
2264 * syssignal.h:
2265 * sysselect.h:
2266 * sysdep.c:
2267 * process.c:
2268 * lread.c:
2269 * lisp.h:
2270 * keyboard.c:
2271 * image.c:
2272 * fringe.c:
2273 * frame.h:
2274 * frame.c:
2275 * fontset.c:
2276 * font.h:
2277 * font.c:
2278 * fns.c:
2279 * fileio.c:
2280 * emacs.c:
2281 * dispnew.c:
2282 * dispextern.h:
2283 * config.in:
2284 * atimer.c:
2285 * Makefile.in: Remove code for Carbon
2286
22872008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2288
2289 * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.
2290
22912008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2292
2293 * macterm.h (kCGBitmapByteOrder32Host): New define for
2294 non-universal SDKs.
2295
2296 * image.c (mac_create_cg_image_from_image, image_load_image_io)
2297 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
2298
2299 * macterm.c (XDrawLine, XCreatePixmapFromBitmapData)
2300 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
2301
23022008-07-26 David Robinow <drobinow@gmail.com> (tiny change)
2303
2304 * w32inevt.c: Include dispextern.h.
2305
23062008-07-26 Andreas Schwab <schwab@suse.de>
2307
2308 * print.c (print_object): Fix off-by-one in last change.
2309
23102008-07-25 Juanma Barranquero <lekktu@gmail.com>
2311
2312 * term.c (syms_of_term): Don't initialize default_orig_pair,
2313 default_set_foreground and default_set_background on Windows.
2314
23152008-07-25 Jason Rumney <jasonr@gnu.org>
2316
2317 * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to
2318 ScriptItemize. Clean up return value checking. Remove unused
2319 variables.
2320 (uniscribe_encode_char): Encode non-BMP characters with uniscribe
2321 shaping engine.
2322
2323 * w32font.c (w32font_has_char): Handle the case where we can't
2324 determine the script for a character.
2325
23262008-07-25 Chong Yidong <cyd@stupidchicken.com>
2327
2328 * term.c (syms_of_term): Initialize default_orig_pair,
2329 default_set_foreground, and default_set_background.
2330
2331 * getloadavg.c (nl): Rename to name_list to avoid ncurses.h
2332 clash (bug#86).
2333 (getloadavg): Callers changed.
2334
2335 * image.c (svg_load_image): Fix last change.
2336 (svg_load_image): Use rsvg_handle_get_dimensions to check that
2337 image size is valid. Use g_object_unref instead of deprecated
2338 rsvg_handle_free to free rsvg handle.
2339 (x_from_xcolors): Don't initialize pixmap (silence compiler).
2340
23412008-07-25 Jason Rumney <jasonr@gnu.org>
2342
2343 * w32font.c (w32font_encode_char): Encode characters outside BMP as
2344 surrogates before looking up glyph index.
2345 (w32font_text_extents): Encode as surrogates if falling back to
2346 functions that need UTF-16 wide chars.
2347
2348 * w32uniscribe.c (uniscribe_encode_char): Encode characters outside
2349 BMP as surrogates before looking up glyph index.
2350
23512008-07-25 Chong Yidong <cyd@stupidchicken.com>
2352
2353 * image.c (svg_load_image): Check for failure in return value of
2354 rsvg_handle_get_pixbuf. Free rsvg handle when done.
2355
23562008-07-25 Jason Rumney <jasonr@gnu.org>
2357
2358 * w32font.c (Fx_select_font): Reverse sense of second arg.
2359
23602008-07-24 Stefan Monnier <monnier@iro.umontreal.ca>
2361
2362 * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos)
2363 (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions.
2364
2365 * puresize.h (PURESIZE_CHECKING_RATIO): New macro.
2366 (PURESIZE): Use it.
2367
23682008-07-24 Dan Nicolaescu <dann@ics.uci.edu>
2369
2370 * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs.
2371 * m/alpha.h (TEXT_END):
2372 * m/ibmrs6000.h (TEXT_END):
2373 * m/macppc.h (TEXT_END):
2374 * s/darwin.h (TEXT_END):
2375 * s/msdos.h (TEXT_END): Remove, unused.
2376 * s/gnu-linux.h (BSD_PGRPS): Add a comment.
2377 * s/cygwin.h: Remove comment.
2378
2379 * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused.
2380 (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES.
2381 * m/intel386.h (DOT_GLOBAL_START):
2382 * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES.
2383 (USG): Remove, file not used on USG platforms.
2384
2385 * Makefile.in (HAVE_X11): Remove empty #else.
2386
23872008-07-24 Andreas Schwab <schwab@suse.de>
2388
2389 * fileio.c (Finsert_file_contents): Properly adjust undo list
2390 after format conversion.
2391
23922008-07-24 Jan Djärv <jan.h.d@swipnet.se>
2393
2394 * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG.
2395 (menu_nav_ended): Remove.
2396 (create_menus): Remove signal connect for menu_nav_ended.
2397 (xg_update_menubar): Also take deactivate_cb as parameter, pass it to
2398 create_menus.
2399 (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar.
2400
24012008-07-23 Jason Rumney <jasonr@gnu.org>
2402
2403 * w32font.c (w32_enumfont_pattern_entity): Return height consistent
2404 with opened font.
2405 (w32font_open): Set font type to gdi.
2406
2407 * w32uniscribe.c (uniscribe_open): Set font type to uniscribe.
2408
24092008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
2410
2411 * s/usg5-4.h (ADDR_CORRECT): Remove, unused.
2412 * unexaix.c (ADDR_CORRECT): Remove conditional, the only user
2413 defines it.
2414 * unexec.c (ADDR_CORRECT): Define unconditionally.
2415
2416 * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove.
2417
2418 * unexec.c: Remove code depending on !COFF and USG, the file is
2419 not used for such systems.
2420
2421 * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
2422 * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused.
2423 (LD_SWITCH_SYSTEM_1): Remove, update users.
2424
2425 * s/darwin.h (DATA_END):
2426 * m/intel386.h (DATA_END):
2427 * m/ibmrs6000.h (DATA_END):
2428 * m/alpha.h (DATA_END): Remove, unused.
2429
2430 * config.in: Regenerate.
2431 * s/ms-w32.h (subprocesses): Define unconditionally.
2432 * s/template.h (subprocesses): Update comment.
2433 * s/vms.h (subprocesses):
2434 * s/usg5-4.h (subprocesses):
2435 * s/hpux10-20.h (subprocesses):
2436 * s/gnu-linux.h (subprocesses):
2437 * s/cygwin.h (subprocesses):
2438 * s/bsd-common.h (subprocesses):
2439 * s/aix4-2.h (subprocesses):
2440 * s/darwin.h (subprocesses): Do not define, defined by default now.
2441
2442 * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused.
2443 Remove all references.
2444 (temacs): Add GNUstep specific ld flags.
2445
2446 * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing,
2447 similarly to what X does.
2448
24492008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
2450
2451 * nsfns.m (x-list-fonts): Remove.
2452 (syms_of_nsfns): Drop the x-list-fonts declaration.
2453 * nsterm.m: Get rid of remaining "//" comments.
2454
24552008-07-22 Chong Yidong <cyd@stupidchicken.com>
2456
2457 * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
2458
2459 * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p)
2460 (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal)
2461 (Fns_own_selection_internal, Fx_disown_selection_internal)
2462 (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal):
2463
2464 * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /*
2465 ... */' style of docstrings. Doc fixes.
2466
24672008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
2468
2469 * terminfo.c (UP, BC, PC): Undo previous change.
2470
2471 * nsfns.m: Rename ns prefixed functions/variables to the
2472 corresponding x versions. Update references.
2473
24742008-07-22 Stefan Monnier <monnier@iro.umontreal.ca>
2475
2476 * syntax.c (char_quoted): Check "charpos > beg" before decrementing.
2477
24782008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
2479
2480 * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):
2481 Remove forwarding functions.
2482 (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make
2483 non-static.
2484 (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make
2485 non-static.
2486 (ns_frame_parm_handlers): Use the new names.
2487 (syms_of_nsfns): Move to the end of file.
2488
2489 * nsterm.m (syms_of_nsterm): Move to the end of file.
2490
2491 * dispnew.c (init_display): Remove code for X10.
2492
24932008-07-22 Jason Rumney <jasonr@gnu.org>
2494
2495 * w32proc.c (Fw32_long_file_name): Don't append dir separator to
2496 bare drive.
2497
24982008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
2499
2500 * nsterm.m (syms_of_nsterm): Remove debugging println.
2501
25022008-07-22 David Reitter <david.reitter@gmail.com>
2503
2504 * nsfns.m (do_applescript, F_do_applescript): NS version of the
2505 Carbon implementation of the same functionality: execute arbitrary
2506 AppleScript code.
2507
25082008-07-21 Adrian Robert <Adrian.B.Robert@gmail.com>
2509
2510 * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
2511 (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
2512 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
2513 (Fx_display_mm_height, Fx_display_mm_width)
2514 (Fx_display_backing_store, Fx_display_visual_class)
2515 (Fx_display_save_under, Fx_open_connection)
2516 (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
2517 (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
2518 (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
2519 (Fx_display_pixel_width, Fx_display_pixel_height)
2520 (Fx_display_usable_bounds, Fx_display_planes)
2521 (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
2522 ... */' style of docstrings.
2523
25242008-07-21 Dan Nicolaescu <dann@ics.uci.edu>
2525
2526 * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
2527 on this platform.
2528 (mips):
2529 * m/iris4d.h (mips): Do not define.
2530 * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
2531
2532 * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
2533
2534 * image.c:
2535 * nsfns.m:
2536 * nsselect.m:
2537 * nsterm.h:
2538 * nsterm.m: Rename ns prefixed functions/variables to the
2539 corresponding x versions. Update references.
2540
2541 * m/ibms390x.h (NO_REMAP): Do not undefine.
2542
2543 * m/amdx86-64.h: Use SOLARIS2 instead of sun.
2544
25452008-07-21 Chong Yidong <cyd@stupidchicken.com>
2546
2547 * nsfns.m: Change NS to Nextstep in docstrings and error messages.
2548 (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
2549 (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
2550 (Fns_server_vendor, Fns_server_version, Fns_display_screens)
2551 (Fns_display_mm_height, Fns_display_mm_width)
2552 (Fns_display_backing_store, Fns_display_visual_class)
2553 (Fns_display_save_under, Fns_open_connection)
2554 (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
2555 (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
2556 (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
2557 (Fns_display_pixel_width, Fns_display_pixel_height)
2558 (Fns_display_usable_bounds, Fx_display_planes)
2559 (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
2560
25612008-07-21 Ami Fischman <ami@fischman.org> (tiny change)
2562
2563 * print.c (print_object): Check print_depth before searching for
2564 circularities.
2565
25662008-07-21 Michael Albinus <michael.albinus@gmx.de>
2567
2568 * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
2569 only sprintf.
2570
25712008-07-21 Kenichi Handa <handa@m17n.org>
2572
2573 * ftfont.c (adjust_anchor): Check if DeltaValue is not NULL.
2574
25752008-07-20 Andreas Schwab <schwab@suse.de>
2576
2577 * syntax.c (find_start_pos, find_start_value)
2578 (find_start_value_byte, find_start_begv, find_defun_start)
2579 (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions.
2580
25812008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
2582
2583 * s/sol2-3.h: Insert contents of s/sol2.h.
2584 (LD_SWITCH_SYSTEM): Remove redundant definition.
2585 * s/sol2.h: Remove, unused.
2586
25872008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
2588
2589 * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV.
2590
25912008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
2592
2593 * Makefile.in (ns_appdir): Fix typo in find command.
2594
25952008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
2596
2597 * m/intel386.h (NO_REMAP): Do no define for USG, not used.
2598
2599 * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
2600 added not supported anymore.
2601
2602 * s/usg5-4-2.h (LIBS_SYSTEM):
2603 * s/sol2.h (LIBS_SYSTEM): Do not undefine.
2604
2605 * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
2606 * s/lynxos.h (GETPGRP_NO_ARG):
2607 * s/hpux10-20.h (NO_SIOCTL_H):
2608 * s/gnu.h (GETPGRP_NO_ARG):
2609 * s/gnu-linux.h (NO_SIOCTL_H):
2610 * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
2611 * s/cygwin.h (GETPGRP_NO_ARG):
2612 * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
2613 (C_DEBUG_SWITCH): Remove duplicate definition.
2614
2615 * m/ibms390.h: Remove boilerplate comments.
2616
2617 * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
2618
2619 * process.c (HAVE_SERIAL): Consolidate ifdefs.
2620 (wait_reading_process_output): Remove code for SunOS, platform not
2621 supported anymore. Use SOLARIS2 instead of sun.
2622
26232008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2624
2625 * font.c (font_open_by_name): Under NS, default lface height to zero.
2626 (font_open_for_lface): Under NS, set size based on frame fontsize.
2627 * nsterm.m (EmacsView-changeFont:): Remove some commented code.
2628 * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
2629
26302008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2631
2632 * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
2633 (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
2634 DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
2635 YES/NO.
2636 * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
2637 * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
2638 * Makefile.in (clean): Clear out build destination dir.
2639
26402008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2641
2642 * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
2643 xterm, xselect.
2644 * lisp.h: Remove declaration of hash_remove.
2645 * nsgui.h: Remove redefinitions of hash_remove.
2646 * fns.c (hash_remove): Rename to hash_remove_from_table.
2647
26482008-07-19 Seiji Zenitani <zenitani@mac.com>
2649
2650 * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
2651 strdup() the family UTF8String before modifying it.
2652
26532008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2654
2655 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
2656 NS_FACE_BACKGROUND with 0 instead of nil.
2657 * nsfont.m (nsfont_draw): Same.
2658
26592008-07-19 Chong Yidong <cyd@stupidchicken.com>
2660
2661 * nsfns.m (ns_set_background_color): Fix crash.
2662
26632008-07-18 Chong Yidong <cyd@stupidchicken.com>
2664
2665 * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
2666
26672008-07-18 Dan Nicolaescu <dann@ics.uci.edu>
2668
2669 * puresize.h (BASE_PURESIZE): Increase to 1240000.
2670
26712008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2672
2673 * gtkutil.c: Include <config.h> instead of "config.h".
2674
2675 * lisp.h (Foverlay_buffer): Add EXFUN.
2676
2677 * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
2678 child process to complete child_setup. Undo 2005-09-21 change.
2679
2680 * s/darwin.h: Mention setsid after vfork.
2681
26822008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2683
2684 * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
2685 Depend on macgui.h.
2686
2687 * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
2688 gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
2689
2690 * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
2691 and f19.
2692 [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
2693
2694 * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
2695 (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
2696 Remove enumerators.
2697
2698 * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
2699 Check if FACE_FROM_ID returns NULL.
2700
27012008-07-17 David Robinow <drobinow@gmail.com> (tiny change)
2702
2703 * w32inevt.c (change_frame_size): Remove extern declaration.
2704 (resize_event, maybe_generate_resize_event): Pass SAFE arg to
2705 change_frame_size.
2706
27072008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
2708
2709 * getloadavg.c: Revert last change (2008-07-15).
2710
27112008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
2712
2713 * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
2714 set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc) set
2715 from configure.
2716
27172008-07-17 Dan Nicolaescu <dann@ics.uci.edu>
2718
2719 * s/sol2.h:
2720 * s/sol2-4.h: Reorganize conditionals.
2721
2722 * ecrt0.c: Remove code depending on m68000, not used anymore.
2723
2724 * fns.c (hash_remove): Make static.
2725 * lisp.h (hash_remove): Don't prototype.
2726
2727 * m/ibmrs6000.h:
2728 * m/ibms390x.h:
2729 * m/macppc.h: Remove boilerplate comments.
2730
2731 * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
2732 Solaris, which does not need them.
2733
2734 * m/vax.h: Remove comments about unsupported systems.
2735
2736 * s/darwin.h: Reorganize ifdefs.
2737
27382008-07-17 Andreas Schwab <schwab@suse.de>
2739
2740 * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
2741
27422008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
2743
2744 Use SDATA. Follow coding convention of placing operators at
2745 beginning of next line rather than end of previous line, and placing
2746 spaces around infix operators.
2747
2748 * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
2749 in case it was defined already.
2750 USE @GNUSTEP_MAKEFILES@ rather than envvars.
2751 * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
2752 ns_default.
2753 (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
2754 Lisp_Objects.
2755 * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
2756 (ns_defined_color, ns_color_to_lisp): Declare.
2757 * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
2758 (Fns_own_selection_internal): Make the big ugly hack more explicit, so
2759 it's accepted even with USE_LISP_UNION_TYPE.
2760 * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
2761 (update_frame_tool_bar): Remove apparently obsolete tests for
2762 non-integerness of f->tool_bar_lines.
2763 (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
2764 hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
2765 * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
2766 (nsfont_open): Don't confuse NULL for Qnil.
2767 * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
2768 * menu.h (find_and_call_menu_selection):
2769 * menu.c (find_and_call_menu_selection): Use just int for vector size.
2770 (find_and_return_menu_selection): Always return something.
2771 * frame.h: Include dispextern.h for Display_Info.
2772 (display_x_get_resource): Declare.
2773
27742008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
2775
2776 * syntax.c: Remove stdio.h include accidentally introduced in
2777 Emacs.app commit.
2778 * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
2779 NS_IMPL_COCOA.
2780 * keyboard.c (handle_async_input, input_available_signal): Remove
2781 BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
2782
27832008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
2784
2785 * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
2786 (ns_lisp_to_color): Don't mess with internal Lisp data fields.
2787 (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
2788 Use SDATA.
2789
2790 * keymap.c: Remove all NS-specific code.
2791 (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
2792 (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
2793 where_is_preferred_modifier, return a different value depending on how
2794 preferred is the binding.
2795 (where_is_internal): Adjust accordingly.
2796 (Fwhere_is_internal): Refresh where_is_preferred_modifier.
2797 Adjust to new preferred_sequence_p.
2798 (syms_of_keymap): Declare `where-is-preferred-modifier'.
2799 * keyboard.c (parse_solitary_modifier): Not static any more.
2800 * keyboard.h (parse_solitary_modifier): Declare.
2801
28022008-07-16 Andreas Schwab <schwab@suse.de>
2803
2804 * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
2805 of easymenu.
2806
28072008-07-16 Chong Yidong <cyd@stupidchicken.com>
2808
2809 * xdisp.c (move_it_in_display_line): Account for word wrap, so
2810 that we don't move off the line.
2811
28122008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
2813
2814 * keyboard.c (Qsuper): Remove.
2815 (parse_menu_item): Don't call where_is_internal specially for NS.
2816
28172008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
2818
2819 * s/gnu-linux.h: Remove boilerplate comments.
2820
2821 * m/alpha.h (__ELF__): Consolidate conditions.
2822
2823 * m/m68k.h (linux): Use GNU_LINUX instead.
2824 Remove boilerplate comments.
2825
2826 * m/intel386.h: Undo refactoring from previous change.
2827 (LIB_STANDARD): All systems that define USG define LIB_STANDARD
2828 too, remove dead code.
2829 (linux): Use GNU_LINUX instead.
2830
28312008-07-16 Jason Rumney <jasonr@gnu.org>
2832
2833 * w32gui.h: Repeat 26 June changes lost by last change.
2834
28352008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
2836
2837 * systty.h: Remove code for Aix on 386, unsupported platform.
2838
2839 * s/ms-w32.h: Remove boilerplate comments.
2840 (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
2841
2842 * s/gnu-linux.h (TERM): Remove support.
2843 (HAVE_SYSVIPC): Remove, unused.
2844 (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
2845 for this system.
2846
2847 * process.c: Remove support for IRIS, unused.
2848 Remove support for TERM, not relevant anymore.
2849
2850 * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
2851 used with the definition.
2852
2853 * s/aix4-2.h (static): Do not undef.
2854
2855 * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
2856 only used on Aix.
2857 (HAVE_SYSVIPC): Remove, unused.
2858
2859 * m/hp800.h (CANNOT_DUMP): Do not undef.
2860
2861 * m/alpha.h: Fix comment.
2862
2863 * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
2864 (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
2865 used by this configuration.
2866 * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
2867 * unexec.c: Remove code depending on HPUX and
2868 USG_SHARED_LIBRARIES, not used with this file. Remove code
2869 depending on IRIS, unused. Remove if 0-ed code.
2870
2871 * s/template.h: Remove comments about static.
2872
2873 * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
2874 Remove if 0-ed code.
2875 (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
2876 were the same as the default.
2877 * s/vms.h (BAUD_CONVERT): Remove, same as the default.
2878 Remove boilerplate comments.
2879 * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
2880 (HAVE_SYSVIPC): Remove, unused.
2881 (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
2882
2883 * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
2884 Remove boilerplate comments.
2885 * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
2886 Remove boilerplate comments.
2887 * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
2888 Remove boilerplate comments.
2889 * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
2890
2891 * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
2892 USG systems which do not use DATA_SEG_BITS.
2893 Refactor code. Remove boilerplate comments.
2894
2895 * m/ibms390.h:
2896 * m/m68k.h:
2897 * s/bsd-common.h:
2898 * s/cygwin.h:
2899 * s/darwin.h:
2900 * s/freebsd.h:
2901 * s/gnu.h:
2902 * s/msdos.h: Remove boilerplate comments.
2903
2904 * m/iris4d.h: Remove boilerplate comments and code for systems that
2905 do not use this file.
2906 (IRIS_4D): Remove, unused.
2907
2908 * m/mips.h: Remove boilerplate comments and code for systems that
2909 do not use this file.
2910 (SIGN_EXTEND_CHAR):
2911 * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
2912 * unexmips.c: Remove file, unused.
2913
2914 * editfns.c (Fuser_full_name): Replace the only use of
2915 USER_FULL_NAME with its value.
2916 * config.in: Regenerate.
2917
29182008-07-16 David Reitter <david.reitter@gmail.com>
2919
2920 * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
2921 easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
2922
29232008-07-16 Glenn Morris <rgm@gnu.org>
2924
2925 * emacs.c (system-type): Doc fix.
2926
29272008-07-15 Stefan Monnier <monnier@iro.umontreal.ca>
2928
2929 * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
2930 If the cache doesn't work, let's fix it, rather than work around it.
2931
29322008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
2933
2934 * Makefile.in: Correct additions for nsfont.o in last commit.
2935 * nsfont.m: New file (forgot last commit).
2936
29372008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
2938
2939 * callproc.c (set_initial_environment): Initialize
2940 Vprocess_environment under CANNOT_DUMP (fixes crash when
2941 batch-compiling for bootstrap).
2942
29432008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
2944 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2945
2946 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
2947 fix crash due to different init order.
2948
29492008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
2950
2951 Changes and additions for NeXTstep windowing system (Cocoa and
2952 GNUstep) support.
2953
2954 * Makefile.in:
2955 * config.in: Support defines and build commands for NS port.
2956 * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
2957 (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
2958 * dispextern.h: Include nsgui.h and add needed typedefs under NS
2959 windowing.
2960 (struct face): Add synth_ital field.
2961 * dispnew.c: Include nsterm.h when compiling under NS windowing.
2962 (init_display): Initialize Vinitial_window_system to "ns" when so
2963 compiled.
2964 * emacs.c: Include GSConfig.h when compiling under GNUstep.
2965 (display_arg): Use under NS.
2966 (main): Under NS, allocate autorelease pool and handle command line
2967 args. Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
2968 (standard_args): Add NS-specific args.
2969 (shut_down_emacs): Shut down NS terminal if compiled under NS.
2970 * font.c (DEFAULT_ENCODING): New variable.
2971 (font_find_for_lface): Use it.
2972 (syms_of_font): Load syms_of_nsfont under NS.
2973 * font.h: Declare nsfont_driver when compiled under NS.
2974 * fontset.c: When compiling under NS, include nsterm.h.
2975 (fontset_from_font): Autoconstruct fontset under NS.
2976 * frame.c (various): Under NS, include nsterm.h, add Qns window system
2977 symbol, document and use it.
2978 (do_switch_frame): When for_deletion under Cocoa, add
2979 Fraise_frame(Qnil).
2980 (x_set_frame_parameters): Ensure font attribute changes are picked up.
2981 (x_get_arg): Allow "yes" and "no" as boolean values.
2982 (syms_of_frame): Declare Qns. Init Vdefault_frame_scroll_bars to
2983 Qright under Cocoa.
2984 (focus-follows-mouse): Default to 0 under NS.
2985 * frame.h (enum output_method): Add output_ns.
2986 (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
2987 (FRAME_EXTERNAL_MENU_BAR): Use under NS.
2988 (FRAME_WINDOW_P): NS-specific definition.
2989 * fringe.c (max_used_fringe_bitmap): Make public.
2990 * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
2991 (getloadavg): Use NeXT code under descendant OS's.
2992 * image.c (includes and header section, x_create_bitmap_from_data)
2993 (x_create_bitmap_from_file, free_bitmap_record, image_background)
2994 (image_background_transparent, x_clear_image_1)
2995 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
2996 (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
2997 (x_to_xcolors, x_from_xcolors, x_disable_image)
2998 (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
2999 other GUIs, including XPM support using code originally written for
3000 Carbon GUI.
3001 (png_load, jpeg_load, tiff_load, gif_load): Add implementations
3002 using NS API.
3003 (image_ascent): Use font metrics macros instead of direct struct field
3004 access.
3005 * keyboard.c (includes): Add nsterm.h when compiling under NS.
3006 (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
3007 Also, handle NS as GTK for menu bar purposes.
3008 (make_lispy_event): Handle NS as other GUI windowing systems, and as X
3009 toolkit where they differ.
3010 (parse_menu_item): Prefer keybindings using 'super' modifier. Also,
3011 use cachelist, still needed under NS.
3012 * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
3013 (struct widget_value): Define it here for menu.c.
3014 * keymap.c (includes): Include modifier internals.
3015 (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
3016 NS.
3017 (where_is_internal, Fwhere_is_internal): When compiled under NS, add
3018 support for preferring sequences using certain modifiers, specified by
3019 the FIRSTONLY argument.
3020 * lisp.h (hash_remove): Rename to avoid name clash when compiling
3021 under NS GNUstep implementation.
3022 (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
3023 * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
3024 * menu.c: Include nsterm.h under NS.
3025 (single_menu_item, parse_single_submenu, xmalloc_widget_value)
3026 (free_menubar_widget_tree_value, update_submenu_strings)
3027 (find_and_call_menu_selection): Treat NS as X and NT.
3028 (find_and_return_menu_selection): New function, used for popup menus.
3029 * nsgui.h:
3030 * nsterm.h:
3031 * nsfns.m:
3032 * nsimage.m:
3033 * nsmenu.m:
3034 * nsselect.m:
3035 * nsterm.m: New files.
3036 * process.c (wait_reading_process_output): Under NS, call ns_select()
3037 instead of plain select().
3038 * syntax.c (char_quoted): Under NS, avoid a crash when called near
3039 beginning of buffer.
3040 * sysselect.h (init_process): Rename when compiling under Cocoa to
3041 avoid name conflict.
3042 * termhooks.h (display_info): Add ns_display_info to union.
3043 * terminal.c (Fterminal_live_p): Add ns to terminal types.
3044 * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
3045 COCOA environment.
3046 * unexnext.c: Update to work with mach API on Mac OS X, and to use new
3047 unexec() signature. (Note, this will dump, but the resulting file
3048 crashes; unexosx is used instead; keeping around for reference and
3049 possible aid in getting dump working under GNUstep.)
3050 * w32gui.h (button_type, widget_value): Remove definitions (now in
3051 keyboard.h).
3052 * window.c: Include nsterm.h when compiling under NS.
3053 * xdisp.c (includes): Include nsterm.h when compiling under NS.
3054 (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
3055 other GUI windowing systems.
3056 (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
3057 GTK.
3058 (x_consider_frame_title): Under NS, set icon type and frame
3059 modified-state indicator; use ns_set_name_as_filename() when using
3060 formatted title.
3061 (update_window_cursor): Make public when compiling under NS.
3062 (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
3063 (hourglass_atimer, Vhourglass_delay
3064 * xfaces.c (header section, init_frame_faces, clear_font_table)
3065 (defined_color, unload_color, x_face_list_fonts)
3066 (prepare_face_for_display): Add NS support parallel to other GUIs.
3067 Emulate GCs like other non-X GUIs.
3068 (split_font_name): Don't lowercase font name under NS.
3069 (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
3070 under NS.
3071 * s/darwin.h: Add support for compilation under NS.
3072
30732008-07-15 Jason Rumney <jasonr@gnu.org>
3074
3075 * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
3076 (w32_show_hourglass): Rename from show_hourglass.
3077 (w32_hide_hourglass): Rename from hide_hourglass.
3078 (DEFAULT_HOURGLASS_DELAY): Revert from last change.
3079 (Vhourglass_delay): Declare extern.
3080 (hourglass_started): Remove.
3081
3082 * xdisp.c (Vhourglass_delay): Remove static.
3083 (hourglass_started, start_hourglass, cancel_hourglass):
3084 Don't include these versions on WINDOWSNT.
3085
30862008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
3087
3088 * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
3089 variables (formerly in xfns.c).
3090 (show_hourglass, hide_hourglass): New prototypes (same).
3091 * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
3092 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
3093 in xfns.c).
3094 (syms_of_xdisp): Declare/initialize display-hourglass,
3095 hourglass-delay. Initialize hourglass_atimer, hourglass_shown_p.
3096 (hourglass_started, start_hourglass, cancel_hourglass): New functions,
3097 formerly in xfns.c.
3098 * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
3099 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
3100 (start_hourglass, cancel_hourglass): Remove.
3101 (show_hourglass, hide_hourglass): Remove prototypes and static
3102 modifiers.
3103 (syms_of_xfns): Remove display-hourglass, hourglass-delay,
3104 hourglass_atimer, hourglass_shown_p declaration/initialization.
3105 * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
3106 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
3107 (start_hourglass, cancel_hourglass): Remove.
3108 (show_hourglass, hide_hourglass): Remove prototypes and static
3109 modifiers.
3110 (syms_of_macfns): Remove display-hourglass, hourglass-delay,
3111 hourglass_atimer, hourglass_shown_p declaration/initialization.
3112 * w32fns.c (display_hourglass_p, Vhourglass_delay)
3113 (DEFAULT_HOURGLASS_DELAY): Remove.
3114 (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
3115 hourglass_shown_p declaration/initialization.
3116
31172008-07-14 Jason Rumney <jasonr@gnu.org>
3118
3119 * w32fns.c (w32_get_arg): Remove wrapper function.
3120 (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
3121 directly.
3122 (Fx_create_frame): Sync with xfns.c. Use x_get_arg directly.
3123
31242008-07-14 Kenichi Handa <handa@m17n.org>
3125
3126 * xfont.c (xfont_open): Add workaround for X's bug.
3127
31282008-07-14 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
3129
3130 * fontset.c: Include <stdio.h> unconditionally.
3131
31322008-07-13 Michael Albinus <michael.albinus@gmx.de>
3133
3134 * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
3135 for filtering.
3136
31372008-07-13 Dan Nicolaescu <dann@ics.uci.edu>
3138
3139 * s/vms.h: Use __GNUC__ instead of _GNUC_.
3140
3141 * m/macppc.h:
3142 * m/alpha.h: Use GNU_LINUX instead of LINUX. Reorganize conditionals.
3143
3144 * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
3145 (SPECIAL_EMACS_INT):
3146 * m/ia64.h (SPECIAL_EMACS_INT):
3147 * m/amdx86-64.h (SPECIAL_EMACS_INT):
3148 * s/gnu.h (NLIST_STRUCT):
3149 * s/aix4-2.h (X11R5_INHIBIT_I18N):
3150 * s/gnu-linux.h (LINUX):
3151 * s/msdos.h (HAVE_FACES):
3152 * s/ms-w32.h (HAVE_FACES): Don't define, unused.
3153
3154 * systty.h:
3155 * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
3156 anymore.
3157
31582008-07-12 Dan Nicolaescu <dann@ics.uci.edu>
3159
3160 * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was
3161 always defined as int.
3162
3163 * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
3164 * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
3165 * s/gnu-linux.h (HAVE_WAIT_HEADER):
3166 * s/freebsd.h (HAVE_WAIT_HEADER):
3167 * s/bsd-common.h (HAVE_UNION_WAIT):
3168 * s/aix4-2.h (HAVE_WAIT_HEADER):
3169 * m/mips.h (HAVE_UNION_WAIT):
3170 * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
3171 (COFF, static): Do not define, they are undefined later in the file.
3172
3173 * process.c (update_status): Don't use a union.
3174 (status_convert):
3175 (sigchld_handler): Use int instead of WAITTYPE.
3176
31772008-07-12 Chong Yidong <cyd@stupidchicken.com>
3178
3179 * indent.c (Fvertical_motion): Restore hscroll before moving to
3180 goal column.
3181
31822008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
3183
3184 * lisp.h: Remove left over code.
3185
31862008-07-11 Andreas Schwab <schwab@suse.de>
3187
3188 * lisp.h: Fix logic in last change.
3189
3190 * menu.h: New file.
3191 * menu.c: Include it.
3192 * xmenu.c: Likewise.
3193 * Makefile.in: Update dependencies.
3194
31952008-07-11 Kenichi Handa <handa@m17n.org>
3196
3197 * fontset.c (fontset_from_font): Cancel the previous change.
3198
31992008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
3200
3201 * lisp.h:
3202 * w32heap.c:
3203 * emacs.c:
3204 * alloc.c: Replace all references of NO_UNION_TYPE with
3205 USE_LISP_UNION_TYPE.
3206
3207 * m/xtensa.h (NO_UNION_TYPE):
3208 * m/vax.h (NO_UNION_TYPE):
3209 * m/template.h (NO_UNION_TYPE):
3210 * m/sparc.h (NO_UNION_TYPE):
3211 * m/mips.h (NO_UNION_TYPE):
3212 * m/macppc.h (NO_UNION_TYPE):
3213 * m/m68k.h (NO_UNION_TYPE):
3214 * m/iris4d.h (NO_UNION_TYPE):
3215 * m/intel386.h (NO_UNION_TYPE):
3216 * m/ibms390x.h (NO_UNION_TYPE):
3217 * m/ibms390.h (NO_UNION_TYPE):
3218 * m/ibmrs6000.h (NO_UNION_TYPE):
3219 * m/ia64.h (NO_UNION_TYPE):
3220 * m/hp800.h (NO_UNION_TYPE):
3221 * m/arm.h (NO_UNION_TYPE):
3222 * m/amdx86-64.h (NO_UNION_TYPE):
3223 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
3224 defining it the same.
3225
32262008-07-10 Chong Yidong <cyd@stupidchicken.com>
3227
3228 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
3229
32302008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
3231
3232 * fileio.c:
3233 * sysdep.c
3234 * systty.h:
3235 * m/ibmrs6000.h:
3236 * m/iris4d.h:
3237 * s/aix4-2.h:
3238 * s/freebsd.h:
3239 * s/gnu-linux.h:
3240 * s/hpux10-20.h:
3241 * s/hpux11.h:
3242 * s/netbsd.h:
3243 * s/sol2-3.h:
3244 * s/sol2-4.h:
3245 * s/sol2.h:
3246 * s/usg5-4.h:
3247 * s/vms.h: Remove references to unused variables.
3248
32492008-07-10 Andreas Schwab <schwab@suse.de>
3250
3251 * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
3252 pattern before matching the generic family.
3253
32542008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
3255
3256 * unexec.c:
3257 * s/vms.h:
3258 * s/usg5-4-2.h:
3259 * s/sol2-5.h:
3260 * s/freebsd.h:
3261 * s/darwin.h: Remove dead code.
3262
3263 * m/template.h:
3264 * m/sparc.h:
3265 * m/mips.h:
3266 * m/m68k.h:
3267 * m/iris4d.h:
3268 * m/intel386.h:
3269 * m/ibms390x.h:
3270 * m/ibms390.h:
3271 * m/ia64.h:
3272 * m/hp800.h:
3273 * m/arm.h:
3274 * m/amdx86-64.h: Remove dead code and references to unused
3275 and compiler defined symbols.
3276
3277 * unexmips.c:
3278 * unexelf.c: Remove references to desupported systems.
3279
3280 * m/powermac.h: Remove file, it is now identical to m/macppc.h.
3281
3282 * m/powermac.h: Remove boilerplate comments.
3283 (NO_REMAP): Remove unused definition.
3284
3285 * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
3286 define them.
3287
32882008-07-10 Kenichi Handa <handa@m17n.org>
3289
3290 * xfont.c (xfont_open): Log the reason of failure.
3291
32922008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
3293
3294 * fontset.c (fontset_get_font_group):
3295 * font.c (font_check_otf): Specify argument types.
3296
32972008-07-09 Kenichi Handa <handa@m17n.org>
3298
3299 * coding.c (detect_coding_utf_8): Set detect_info->found only when
3300 non-ASCII char is found.
3301
3302 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
3303 (reorder_font_vector): Change the arg preferred_family to font.
3304 Prefer the spec matching with font.
3305 (fontset_get_font_group): New function.
3306 (fontset_find_font): Change the format of an element of a realized
3307 fontset. Use fontset_get_font_group.
3308 (fontset_font): Try the current fontset, the default fontset, the
3309 fallbacks of the current fontset, and the fallbacks of the default
3310 fontset in this order.
3311 (face_for_char): Delete the shortcut to use the current font.
3312 (fontset_from_font): Don't set fonts for Latin in the fontset.
3313
3314 * font.h (font_make_object, font_match_p): Adjust prototypes.
3315
3316 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
3317
3318 * font.c (font_make_object): New arg entity and pixelsize.
3319 (font_check_otf_features, font_check_otf): New functions.
3320 (font_match_p): Check :lang, :script, and :otf properties.
3321
3322 * xfont.c (xfont_open): Adjust it for the change of
3323 font_make_object.
3324 (xfont_text_extents): Fix initial setting of metrics.
3325
3326 * ftfont.c (struct ftfont_info): New member index, delete member
3327 fc_charset_idx. Make the member order compatible with struct
3328 xftfont_info.
3329 (fc_charset_table): Change charset names to registry names.
3330 (ftfont_pattern_entity): Delete the args registry and
3331 fc_charset_idx. Change the value of :font-entity property
3332 to (FONTNAME . INDEX). Always set :registry property to
3333 `iso10646-1'.
3334 (struct ftfont_cache_data): New struct.
3335 (ftfont_lookup_cache): New arg for_face.
3336 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
3337 (ftfont_driver): Set the member otf_capability.
3338 (ftfont_get_charset): Adjust it for the change of
3339 fc_charset_table.
3340 (OTF_TAG_SYM): New macro.
3341 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
3342 for the change of fc_charset_table.
3343 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
3344 ftfont_pattern_entity. Add FC_INDEX to objset.
3345 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
3346 and ftfont_pattern_entity.
3347 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
3348 font_make_object, struct ftfont_info.
3349 (ftfont_has_char): Use ftfont_get_fc_charset.
3350 (ftfont_otf_features, ftfont_otf_capability): New functions.
3351 (ftfont_shape): Use ftfont_get_otf.
3352 (ftfont_text_extents): Fix initial setting of metrics.
3353
3354 * xftfont.c (struct xftfont_info): New member ft_size. Make the
3355 member order compatible with struct ftfont_info.
3356 (xftfont_open): Add FC_CHARSET to the pattern. Set
3357 xftfont_info->ft_size. Don't unlock the face. Check BDF
3358 properties if appropriate.
3359 (xftfont_close): Unlock the face.
3360 (xftfont_anchor_point, xftfont_shape): Deleted.
3361 (syms_of_xftfont): Don't set members anchor_point and shape of
3362 xftfont_driver.
3363
3364 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
3365 font_make_object.
3366
3367 * w32font.c (w32font_open): Adjust it for the change of
3368 font_make_object.
3369 (w32font_open_internal): Don't set properties of font_object here.
3370
33712008-07-08 Chong Yidong <cyd@stupidchicken.com>
3372
3373 * macfns.c (x_create_tip_frame):
3374 * w32fns.c (x_create_tip_frame):
3375 * xfns.c (x_create_tip_frame): Pass parameter argument to
3376 face-set-after-frame-default.
3377
3378 * xfaces.c (Finternal_merge_in_global_face): Save merged
3379 attributes for the default face back into the face vector.
3380
33812008-07-08 Andreas Schwab <schwab@suse.de>
3382
3383 * fontset.h: Declare fontset_from_font. Don't declare
3384 new_fontset_from_font and fontset_from_font_name.
3385 * xterm.c: Include "fontset.h".
3386 * Makefile.in (xterm.o): Update dependencies.
3387
33882008-07-08 Glenn Morris <rgm@gnu.org>
3389
3390 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
3391 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
3392
33932008-07-07 Chong Yidong <cyd@stupidchicken.com>
3394
3395 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
3396 (x_set_frame_parameters): Don't bind it.
3397
33982008-07-07 Juanma Barranquero <lekktu@gmail.com>
3399
3400 * w32fns.c (map_w32_filename): Declare extern.
3401
34022008-07-07 Jason Rumney <jasonr@gnu.org>
3403
3404 * w32term.c (WS_EX_LAYERED): Define if not already.
3405
34062008-07-06 Chong Yidong <cyd@stupidchicken.com>
3407
3408 * xfaces.c (set_font_frame_param): Don't try to set the font
3409 parameter if it is still unspecified in the lface.
3410
34112008-07-05 Chong Yidong <cyd@stupidchicken.com>
3412
3413 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
3414 face if it didn't already exist.
3415
3416 * xdisp.c (try_window_id): Give up if word-wrapping is on.
3417
34182008-07-05 Andreas Schwab <schwab@suse.de>
3419
3420 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
3421
34222008-07-05 Chong Yidong <cyd@stupidchicken.com>
3423
3424 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
3425 word-wrapping.
3426 (IT_DISPLAYING_WHITESPACE): New macro.
3427 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
3428 when word-wrapping. Simplify word-wrapping logic. Use correct
3429 pixel positions when saving copies of the iterator.
3430 (display_line): Use proper wrap point if the last character on a
3431 line was preceded by whitespace.
3432
34332008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
3434
3435 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
3436
34372008-07-04 Kenichi Handa <handa@m17n.org>
3438
3439 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
3440
3441 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
3442
34432008-07-02 Jason Rumney <jasonr@gnu.org>
3444
3445 * xfns.c (syms_of_xfns): Only define x-select-font when both
3446 HAVE_FREETYPE and USE_GTK
3447
3448 * xdisp.c (next_element_from_display_vector): Move assignment out
3449 of if statement.
3450
34512008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
3452
3453 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
3454
3455 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
3456 (syms_of_fileio): Initialize and export them.
3457 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
3458
3459 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
3460 (Fsystem_move_file_to_trash): New function.
3461 (syms_of_w32fns): Export it to lisp.
3462
34632008-07-01 Jason Rumney <jasonr@gnu.org>
3464
3465 * w32font.c (w32font_text_extents): Don't count overhang as part
3466 of width.
3467
34682008-06-30 Miles Bader <miles@gnu.org>
3469
3470 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
3471 Add `avoid_cursor_p' field.
3472
3473 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
3474 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
3475 (append_glyph, append_composite_glyph, produce_image_glyph)
3476 (append_stretch_glyph): Initialize avoid_cursor_p.
3477 (get_it_property): Rename from `get_line_height_property'.
3478 (x_produce_glyphs): Use get_it_property.
3479 (handle_line_prefix, push_display_prop): New functions.
3480 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
3481 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
3482 New variables.
3483 (syms_of_xdisp): Initialize them.
3484
34852008-06-30 Kenichi Handa <handa@m17n.org>
3486
3487 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
3488 XftDefaultSubstitute (they are called in XftFontMatch).
3489 (xftfont_open): Fix args to ftfont_font_format.
3490
3491 * ftfont.c (fc_charset_table): New member lang.
3492 (ftfont_resolve_generic_family): New arg pattern.
60612c8f 3493 (ftfont_spec_pattern): Check fc_charset_table[]->lang.
aac0c6e3
MR
3494 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
3495 (ftfont_open): Fix args to ftfont_font_format.
3496 (ftfont_font_format): New arg filename.
3497
34982008-06-30 Chong Yidong <cyd@stupidchicken.com>
3499
3500 * xfaces.c (Finternal_merge_in_global_face): If default face was
3501 modified, realize it again. Update the font face attribute.
3502
35032008-06-29 Jason Rumney <jasonr@gnu.org>
3504
3505 * w32term.c (x_set_frame_alpha): Fix logic.
3506
35072008-06-29 Kenichi Handa <handa@m17n.org>
3508
3509 * fontset.c (Finternal_char_font): Return font-object instead of
3510 font-name.
3511
3512 * composite.c (get_composition_id): Fix the width calculation for TAB.
3513
35142008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
3515
3516 * indent.c (Fvertical_motion): Properly handle float column arg.
3517
35182008-06-28 Jason Rumney <jasonr@gnu.org>
3519
3520 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
3521 (pfnSetLayeredWindowAttributes): New function pointer.
3522 (w32_initialize): Initialize it when supported.
3523 (x_set_frame_alpha): New function.
3524
3525 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
3526 (w32_frame_parm_handlers): Set alpha handler.
3527
3528 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
3529
35302008-06-27 Jason Rumney <jasonr@gnu.org>
3531
3532 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
3533 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
3534 (w32_to_x_charset, x_to_w32_charset)
3535 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
3536 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
3537 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
3538 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
3539 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
3540 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
3541 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
3542 (Qw32_charset_unicode): Remove.
3543 (syms_of_w32fns): Update for above changes.
3544
3545 * w32font.c (w32_to_x_charset, x_to_w32_charset)
3546 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
3547 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
3548 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
3549 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
3550 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
3551 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
3552 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
3553 (syms_of_w32font): Update for above changes.
3554
35552008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
3556
3557 * s/usg5-4.h: Fix previous change: keep the correct branch of a
3558 removed #if.
3559 (USG_SHARED_LIBRARIES): Remove duplicate definition.
3560
35612008-06-26 Juanma Barranquero <lekktu@gmail.com>
3562 Eli Zaretskii <eliz@gnu.org>
3563
3564 * makefile.w32-in (LOCAL_FLAGS):
3565 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
3566
3567 * sysdep.c (_spawnlp, _getpid):
3568 Declare with explicit _cdecl instead of _CRTAPI1.
3569
3570 * editfns.c (Fget_internal_run_time):
3571 Check for WINDOWSNT with #ifdef, not #if.
3572
35732008-06-26 Jason Rumney <jasonr@gnu.org>
3574
3575 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
3576
3577 * w32term.c (x_draw_glyph_string_foreground)
3578 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
3579 Use FONT_HANDLE macro.
3580 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
3581
3582 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
3583 (uniscribe_encode_char): Use FONT_HANDLE macro.
3584
3585 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
3586 (w32font_text_extents): Use precast w32_font.
3587 (w32font_close): Free cached metrics.
3588 (w32font_open_internal): Allocate space for name on stack.
3589
35902008-06-26 Chong Yidong <cyd@stupidchicken.com>
3591
3592 * xdisp.c (extend_face_to_end_of_line): Fix last change.
3593
35942008-06-26 Jason Rumney <jasonr@gnu.org>
3595
3596 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
3597 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
3598
35992008-06-26 Juanma Barranquero <lekktu@gmail.com>
3600
3601 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
3602
36032008-06-26 Jason Rumney <jasonr@gnu.org>
3604
3605 * w32bdf.c, w32bdf.h: Remove obsolete files.
3606
3607 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
3608
3609 * w32gui.h: Don't include w32bdf.h.
3610 (XCharStruct, enum w32_char_font_type, W32FontStruct):
3611 Remove obsolete font support.
3612
3613 * w32font.h (struct w32font_info): Remove compat_w32_font.
3614 Add hfont member.
3615 (FONT_COMPAT): Remove obsolete macro.
3616
3617 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
3618 (w32font_encode_char, w32font_text_extents): Use new hfont member.
3619 (w32font_open_internal): Remove compat code. Set new hfont member.
3620 (Fx_select_font): Use new hfont member.
3621
3622 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
3623 (uniscribe_encode_char): Use new hfont member.
3624
3625 * w32term.c (x_draw_glyph_string_foreground)
3626 (x_draw_composite_glyph_string_foreground): Use new hfont member.
3627 (x_draw_glyph_string): Use metrics in w32font_info.
3628
36292008-06-26 Kenichi Handa <handa@m17n.org>
3630
3631 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
3632
36332008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
3634
3635 * unexnext.c:
3636 * m/ews4800.h:
3637 * m/hp9000s300.h:
3638 * m/ibm370aix.h:
3639 * m/mips-siemens.h:
3640 * m/ncr386.h:
3641 * m/next.h:
3642 * m/pmax.h:
3643 * m/powerpcle.h:
3644 * m/tandem-s2.h:
3645 * s/386bsd.h:
3646 * s/bsd386.h:
3647 * s/bsd4-1.h:
3648 * s/bsd4-2.h:
3649 * s/bsdos2-1.h:
3650 * s/bsdos2.h:
3651 * s/bsdos3.h:
3652 * s/bsdos4.h:
3653 * s/nextstep.h:
3654 * s/ultrix4-3.h:
3655 * s/usg5-0.h:
3656 * s/usg5-2-2.h:
3657 * s/usg5-2.h:
3658 * s/usg5-4-3.h:
3659 * s/ux4800.h:
3660 * s/uxpds.h:
3661 * s/uxpv.h: Remove support for obsolete systems.
3662 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
3663 Remove, insert contents in s/hpux-10.20.h.
3664 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
3665 Remove, insert contents in s/aix4-2.h.
3666 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
3667 * s/bsd4-3.h: Rename to ...
3668 * s/bsd-common.h: ... this.
3669 * data.c:
3670 * doc.c:
3671 * ecrt0.c:
3672 * emacs.c:
3673 * fileio.c:
3674 * floatfns.c:
3675 * keyboard.c:
3676 * mem-limits.h:
3677 * print.c:
3678 * process.c:
3679 * sysdep.c:
3680 * syssignal.h:
3681 * systty.h:
3682 * syswait.h:
3683 * term.c:
3684 * unexec.c:
3685 * unexelf.c:
3686 * unexhp9k800.c:
3687 * m/hp800.h:
3688 * m/ibmrs6000.h:
3689 * m/mips.h:
3690 * m/vax.h:
3691 * s/darwin.h:
3692 * s/freebsd.h:
3693 * s/gnu.h:
3694 * s/ms-w32.h:
3695 * s/msdos.h:
3696 * s/netbsd.h:
3697 * s/template.h: Remove references to obsolete variables.
3698
3699 * Makefile.in: Add dependencies for all unexec files.
3700 (admindir): Remove unused variable.
3701 (UNEXEC_SRC): Remove references.
3702
37032008-06-25 Chong Yidong <cyd@stupidchicken.com>
3704
3705 * xfns.c (x_default_font_parameter): If Xft is available, first
3706 try Monospace-12 for the default font.
3707
37082008-06-25 Jason Rumney <jasonr@gnu.org>
3709
3710 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
3711
37122008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
3713
3714 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
3715
3716 * buffer.c (syms_of_buffer): Remove default-word-wrap.
3717
37182008-06-25 Juanma Barranquero <lekktu@gmail.com>
3719
3720 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
3721 <scroll-conservatively>: Fix typo in docstring.
3722
3723 * xselect.c (Fx_send_client_event): Doc fix.
3724
37252008-06-25 Kenichi Handa <handa@m17n.org>
3726
3727 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
3728
3729 * font.c (font_parse_fcname): Remove unused variables.
3730 (font_sort_entites): Delete the arg SPEC. Caller changed.
3731 Fix for the case of ! best_only.
3732 (font_delete_unmatched): Check DPI and AVGWIDTH too.
3733
3734 * lisp.h (Fstring_to_unibyte): EXFUN it.
3735
3736 * character.h (str_to_unibyte): Extern it.
3737
3738 * character.c (str_to_unibyte): New function.
3739
3740 * fns.c (Fstring_to_unibyte): New function.
3741 (syms_of_fns): Defsubr it.
3742
37432008-06-24 Kenichi Handa <handa@m17n.org>
3744
3745 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
3746 DPI too.
3747 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
3748
37492008-06-24 Andreas Schwab <schwab@suse.de>
3750
3751 * Makefile.in (${lispsource}loaddefs.el): Rename from
3752 ../lisp/loaddefs.el.
3753 (bootstrap-clean): Do what distclean does but don't remove
3754 Makefile.
3755 (distclean): Depend on bootstrap-clean and remove Makefile.
3756
37572008-06-24 Chong Yidong <cyd@stupidchicken.com>
3758
3759 * buffer.h (struct buffer): New member word_wrap.
3760
3761 * buffer.c (syms_of_buffer): New variables default-word-wrap and
3762 word-wrap.
3763 (init_buffer_once): Initialize them.
3764
3765 * dispextern.h (struct it): Replace bool truncate_lines_p with a
3766 line_wrap enum possessing three possible values.
3767
3768 * termopts.h: Replace truncate_partial_width_windows with
3769 Vtruncate_partial_width_windows.
3770
3771 * dispnew.c (direct_output_for_insert): Avoid direct output when
3772 inserting a space with word wrap on.
3773
3774 * indent.c (compute_motion): Obey integer values of
3775 truncate-partial-width-windows.
3776
3777 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
3778 replacing truncate_partial_width_windows.
3779 (init_iterator): If Vtruncate_partial_width_windows is an integer,
3780 truncate only if the window width is below that integer.
3781 (start_display, resize_mini_window, produce_stretch_glyph)
3782 (display_string, move_it_in_display_line_to): Use line_wrap.
3783 (back_to_previous_visible_line_start, reseat_1): Reset
3784 string_from_display_prop_p.
3785 (display_line): Extend default face to end of line when wrapping.
3786
37872008-06-24 Kim F. Storm <storm@cua.dk>
3788
3789 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
3790 to wrap continued lines at word boundaries.
3791
37922008-06-24 Jason Rumney <jasonr@gnu.org>
3793
3794 * font.c (Ffont_face_attributes): Multiply pixel size before point
3795 conversion to avoid multiplying rounding error.
3796
37972008-06-23 Jason Rumney <jasonr@gnu.org>
3798
3799 * w32term.c (x_draw_glyph_string_background)
3800 (x_draw_glyph_string): Remove old bdf font code.
3801
3802 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
3803
38042008-06-22 Kenichi Handa <handa@m17n.org>
3805
3806 * font.c (font_find_for_lface): Try the adstyle specified in
3807 the property of LFACE_FONT of LFACE (if any).
3808
38092008-06-21 Seiji Zenitani <zenitani@mac.com>
3810 Ryo Yoshitake <ryo@shiftmode.net>
3811
3812 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
3813
38142008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
3815
3816 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
3817 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
3818 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
3819 (witness-emacs): Remove.
3820 (lisp, shortlisp): Move loaddefs.el earlier.
3821 (mostlyclean): Forget about witness-emacs.
3822
38232008-06-22 Glenn Morris <rgm@gnu.org>
3824
3825 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
3826 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
3827
38282008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
3829
3830 * Makefile.in (PRECOMP): Remove.
3831 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
3832 (witness-emacs): Run `compile-first'.
3833 (.el.elc): Use the new compile-onefile target.
3834
38352008-06-21 Kenichi Handa <handa@m17n.org>
3836
3837 * xftfont.c (xftfont_open): Handle QCembolden only when
3838 FC_EMBOLDEN is defined.
3839
38402008-06-21 Andreas Schwab <schwab@suse.de>
3841
3842 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
3843 (.el.elc): Likewise.
3844
38452008-06-21 Miles Bader <miles@gnu.org>
3846
3847 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
3848 build dir, not the lisp source dir.
3849
38502008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
3851
3852 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
3853 (bootstrapclean): Remove.
3854 (.el.elc): New rule.
3855 (PRECOMP): New var.
3856 (../lisp/subdirs.el): Remove.
3857 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
3858 (witness-emacs): New target.
3859 (mostlyclean): Remove witness-emacs as well.
3860 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
3861 Add witness-emacs dependency.
3862
38632008-06-20 Chong Yidong <cyd@stupidchicken.com>
3864
3865 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
3866 defined by the font.
3867
38682008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
3869
3870 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
3871 (bootstrap-clean): New target that keeps TAGS around.
3872 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
3873 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
3874
38752008-06-20 Jason Rumney <jasonr@gnu.org>
3876
3877 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
3878 Remove obsolete font code.
3879
3880 * w32font.c (font_matches_spec): Use csb bitfield from font signature
3881 to determine language support.
3882
38832008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
3884
3885 * sysdep.c (cfsetspeed): New fun extracted from the code.
3886 (cfmakeraw): Move before first use.
3887
38882008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
3889
3890 * sysdep.c (cfmakeraw): Provide fallback implementation.
3891 (serial_configure): Provide fallback implementation of cfsetspeed.
3892
38932008-06-20 Kenichi Handa <handa@m17n.org>
3894
3895 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
3896 the pattern.
3897
3898 * fontset.c (fontset_from_font): Copy font_spec before changing
3899 the elements.
3900
3901 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
3902
39032008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
3904
3905 * w32fns.c, xfns.c (x_default_font_parameter): Only set `font-param'
3906 for explicit `font' parameters.
3907
3908 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
3909
39102008-06-19 Kenichi Handa <handa@m17n.org>
3911
3912 * frame.c: Include <ctype.h>.
3913 (x_set_font_backend): Allow spacing characters in the X resource
3914 for FontBackend.
3915
39162008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
3917
3918 * w32fns.c, xfns.c (Qfont_param): New var.
3919 (syms_of_w32fns): Initialize it.
3920 (x_default_font_parameter): Record explicit `font' into
3921 `font-parameter'.
3922
39232008-06-18 Kenichi Handa <handa@m17n.org>
3924
3925 * font.c (font_parse_xlfd): Fix previous change.
3926 (font_parse_fcname): Don't use :fc-unknown-spec.
3927 (FRAME_X_DISPLAY_INFO): Be sure to have at least 1 pixel height.
3928 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
3929 (font_add_log): Prepend the driver name to the resulting fonts.
3930
3931 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
3932 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
3933 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
3934
3935 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
3936 (QCembolden): New variables.
3937 (syms_of_xftfont): DEFSYM them.
3938 (xftfont_open): Call XftFontMatch. Don't trust the result of
3939 XftTextExtents8 if the pixel_size is less than 5.
3940
39412008-06-18 Andreas Schwab <schwab@suse.de>
3942
3943 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
3944 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
3945
39462008-06-18 Jason Rumney <jasonr@gnu.org>
3947
3948 * w32font.c (w32font_list, w32font_match): Add logging.
3949
3950 * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging.
3951
39522008-06-17 Chong Yidong <cyd@stupidchicken.com>
3953
3954 * font.c (font_parse_fcname): Store divider characters for
3955 unknown-spec list. For known key symbols, intern using correct
3956 symbol name.
3957
39582008-06-17 Kenichi Handa <handa@m17n.org>
3959
3960 * xfaces.c (realize_default_face): If the frame is not on window
3961 system, set the fontset of face to nil.
3962
39632008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
3964
3965 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
3966
39672008-06-16 Juanma Barranquero <lekktu@gmail.com>
3968
3969 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
3970 (build_font_name_from_vector): Delete externs.
3971
3972 * xfaces.c (struct font_name): Don't declare.
3973
39742008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
3975
3976 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
3977
39782008-06-16 Chong Yidong <cyd@stupidchicken.com>
3979
3980 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
3981
39822008-06-16 Juanma Barranquero <lekktu@gmail.com>
3983
3984 * font.c (Ffont_spec): Fix usage in docstring.
3985 (Ffont_face_attributes): Doc fix.
3986
39872008-06-16 Andreas Schwab <schwab@suse.de>
3988
3989 * font.c (Ffont_face_attributes): Fix definition.
3990
39912008-06-16 Jason Rumney <jasonr@gnu.org>
3992
3993 * font.h (font_style_symbolic_from_value): Remove.
3994
3995 * font.c (font_style_symbolic_from_value): Remove.
3996 (font_style_symbolic): Revert to pre 2008-06-13 version.
3997
3998 * w32font.c (w32_to_fc_weight): New function.
3999 (w32font_full_name, logfont_to_fcname): Use it.
4000
40012008-06-16 Kenichi Handa <handa@m17n.org>
4002
4003 * font.c (font_check_object): Delete it.
4004 (font_clear_cache): Check if a font-object is alive.
4005 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
4006 font-object to nil.
4007 (font_close_object): Don't check FONT_CLOSE_OBJECT.
4008 (font_at): Don't call font_check_object.
4009 (Ffont_get): Return a symbol for :weight, :slant, and :width.
4010
40112008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
4012
4013 * puresize.h (BASE_PURESIZE): Increase to 1230000.
4014
40152008-06-16 Chong Yidong <cyd@stupidchicken.com>
4016
4017 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
4018
40192008-06-15 Chong Yidong <cyd@stupidchicken.com>
4020
4021 * font.c (font_parse_fcname): Only one decimal point.
4022 (font_unparse_fcname): Handle data in family and foundry indices
4023 as symbols, not strings.
4024 (font_unparse_gtkname, Ffont_face_attributes): New functions.
4025
4026 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
4027
4028 * font.h (font_unparse_gtkname): Add prototype.
4029
40302008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
4031
4032 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
4033
40342008-06-15 Andreas Schwab <schwab@suse.de>
4035
4036 * font.c (font_update_drivers): Fix crash when no drivers match.
4037
40382008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
4039
4040 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
4041 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
4042
40432008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
4044
4045 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
4046
40472008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
4048
4049 * process.c (Fserial_process_configure, Fprocess_send_eof):
4050 Use EQ to compare Lisp_Objects.
4051
40522008-06-13 Jason Rumney <jasonr@gnu.org>
4053
4054 * w32fns.c (Fw32_select_font): Remove old font API function.
4055
4056 * w32font.c (logfont_to_fcname): New function.
4057 (Fx_select_font): New font dialog function compatible with
4058 GTK/fontconfig version.
4059
4060 * font.c (font_style_symbolic_from_value): New function.
4061 (font_style_symbolic): Use it.
4062
4063 * font.h (font_style_symbolic_from_value): Declare new function.
4064
40652008-06-13 Juanma Barranquero <lekktu@gmail.com>
4066
4067 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
4068 <font-width-table>: Fix typos in docstrings.
4069
40702008-06-13 Daniel Engeler <engeler@gmail.com>
4071
4072 These changes add serial port access.
4073 * process.c: Add HAVE_SERIAL.
4074 (Fdelete_process, Fprocess_status, Fset_process_buffer)
4075 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
4076 (list_processes_1, select_wrapper, Fstop_process)
4077 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
4078 (status_notify): Modify to handle serial processes.
4079 [HAVE_SERIAL] (Fserial_process_configure)
4080 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
4081 New functions.
4082 * process.h (struct Lisp_Process): Add `type'.
4083 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
4084 New functions.
4085 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
4086 serial ports.
4087 (serial_open, serial_configure) New functions.
4088 * w32.h: Add FILE_SERIAL.
4089 (struct _child_process): Add ovl_read, ovl_write.
4090
40912008-06-13 Kenichi Handa <handa@m17n.org>
4092
4093 * dispextern.h (enum lface_attribute_index): New member
4094 LFACE_FOUNDRY_INDEX.
4095
4096 * font.c (font_score): Delete arg alternate_families. Check only
4097 weight, slant, width, and size. Ignore the difference of alias
4098 style symbols.
4099 (font_sort_entites): Adjust for the above change. Reflect the
4100 order of font-driver to scores.
4101 (font_list_entities): Don't check alternate_familes here.
4102 (font_clear_prop): Handle foundry.
4103 (font_update_lface): Don't parse "foundry-family" form here.
4104 Handle FONT_FOUNDRY_INDEX.
4105 (font_find_for_lface): Likewise. Handle alternate families here.
4106 If registry is nil, try iso8859-1 and ascii-0.
4107 (font_open_for_lface): Pay attention to size in ENTITY.
4108 (font_open_by_name): Simplify by calling font_load_for_lface.
4109 (free_font_driver_list): Delete it.
4110 (font_update_drivers): Preserve the order of backends.
4111 (syms_of_font): Setting of sort_shift_bits adjusted for the change
4112 of font_score and font_sort_entites.
4113 (font_update_sort_order): Likewise.
4114
4115 * xfaces.c (LFACE_FOUNDRY): New macro.
4116 (check_lface_attrs): Check foundry.
4117 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
4118 (merge_face_vectors): Check foundry.
4119 (merge_face_ref): Likewise.
4120 (Finternal_set_lisp_face_attribute): Likewise.
4121 (x_update_menu_appearance): Likewise.
4122 (Finternal_get_lisp_face_attribute): Likewise.
4123 (lface_hash): Likewise.
4124 (lface_same_font_attributes_p): Likewise.
4125 (x_supports_face_attributes_p): Likewise.
4126 (tty_supports_face_attributes_p): Likewise.
4127 (Finternal_set_alternative_font_family_alist): Intern strings.
4128 (Finternal_set_alternative_font_registry_alist): Downcase strings.
4129 (realize_default_face): Set LFACE_FOUNDRY (lface).
4130
4131 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
4132 font-driver at first.
4133
4134 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
4135
41362008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
4137
4138 * lread.c (Fload): Use xfree, not free on saved_doc_string.
4139
41402008-06-12 Jim Meyering <meyering@redhat.com>
4141
4142 Make unexec_free handle NULL the same way free does.
4143 * unexmacosx.c (unexec_free): Ignore a NULL argument.
4144
41452008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
4146
4147 * character.h (CHAR_TO_BYTE_SAFE): New macro.
4148 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
4149 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
4150 (WEAK_ALIAS): Simplify.
4151 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
4152 when searching a unibyte buffer.
4153
41542008-06-12 Chong Yidong <cyd@stupidchicken.com>
4155
4156 * xfns.c (Fx_select_font): Rename from x-font-dialog.
4157
41582008-06-12 Juanma Barranquero <lekktu@gmail.com>
4159
4160 * w32font.c: Include ctype.h.
4161
41622008-06-11 Jason Rumney <jasonr@gnu.org>
4163
4164 * w32font.c (w32font_encode_char): Detect missing glyphs that are
4165 misreported as space.
4166 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
4167 as aliases for registry iso10646-1.
4168
41692008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
4170
4171 * buffer.c (clone_per_buffer_values): Skip `name'.
4172
41732008-06-11 Chong Yidong <cyd@stupidchicken.com>
4174
4175 * font.c (font_parse_fcname): Fix last change; accept decimal
4176 points in font size.
4177
41782008-06-10 Jason Rumney <jasonr@gnu.org>
4179
4180 * w32uniscribe.c (add_opentype_font_name_to_list):
4181 Skip non unicode fonts.
4182
41832008-06-10 Chong Yidong <cyd@stupidchicken.com>
4184
4185 * xfns.c (Fx_font_dialog): New function.
4186
4187 * gtkutil.c (xg_dialog_response_cb): Rename from
4188 xg_file_response_callback.
4189 (pop_down_dialog): Rename from pop_down_file_dialog.
4190 (xg_get_file_name): Callers changed.
4191 (xg_get_font_name): New function.
4192
4193 * gtkutil.h (xg_get_font_name): Insert prototype.
4194
41952008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
4196
4197 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
4198 x_underline_minimum_display_offset.
4199 (syms_of_xdisp): Declare it here rather than in xterm.c.
4200 * dispextern.h (underline_minimum_offset): Declare it.
4201 * w32term.c (x_draw_glyph_string): Use it.
4202 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
4203 (syms_of_xterm): Don't declare it any more.
4204 (x_draw_glyph_string): Adjust to the new name.
4205
42062008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
4207
4208 * xterm.c (x_underline_minimum_display_offset): New var.
4209 (x_draw_glyph_string): Use it.
4210 (syms_of_xterm): Declare it.
4211
42122008-06-10 Chong Yidong <cyd@stupidchicken.com>
4213
4214 * font.c (font_parse_fcname): Accept GTK-style font names too.
4215
42162008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
4217
4218 * dired.c (file_name_completion): Don't return t if the match is exact
4219 but with different capitalization.
4220 * minibuf.c (Ftry_completion): Simplify.
4221
4222 * window.c (Vwindow_point_insertion_type): New var.
4223 (set_window_buffer): Use it.
4224 (syms_of_window): Init and export it to Lisp.
4225
42262008-06-10 Kenichi Handa <handa@m17n.org>
4227
4228 * font.h (font_intern_prop): Prototype adjusted.
4229
4230 * font.c (font_intern_prop): New arg force_symbol.
4231 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
4232 Adjust for the change of font_intern_prop.
4233
4234 * ftfont.c (ftfont_pattern_entity):
4235 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
4236 (w32_registry):
4237 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
4238 the change of font_intern_prop.
4239
42402008-06-09 Juanma Barranquero <lekktu@gmail.com>
4241
4242 * w32menu.c (digest_single_submenu): Declare extern.
4243
42442008-06-09 Jason Rumney <jasonr@gnu.org>
4245
4246 * w32term.c (x_make_frame_visible): Use alternate restore flags.
4247
4248 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
4249 (parse_single_submenu): Remove.
4250 (digest_single_submenu): Remove.
4251 (syms_of_w32menu): Don't initialise variables that have moved
4252 to menu.c.
4253 (set_frame_menubar): Sync with version in xmenu.c.
4254 (w32_menu_show): Sync with xmenu_show in xmenu.c.
4255
4256 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
4257 Make static again.
4258
42592008-06-09 Jason Rumney <jasonr@gnu.org>
4260
4261 Changes to w32 files related to the move of common menu code
4262 to menu.c on 2008-06-08 by Chong Yidong.
4263
4264 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
4265 defs to w32gui.h.
4266 (single_keymap_panes, push_menu_item, push_menu_pane):
4267 Make globally visible.
4268
4269 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
4270 (local_free, malloc_widget_value, free_widget_value)
4271 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
4272 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
4273 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
4274 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
4275 (menu_items, menu_items_allocated, menu_items_used)
4276 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
4277 (init_menu_items, finish_menu_items, discard_menu_items)
4278 (grow_menu_items, push_submenu_start, push_submenu_end)
4279 (push_left_right_boundary, push_menu_pane, push_menu_item)
4280 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
4281 (free_menubar_widget_tree_value, parse_single_submenu)
4282 (update_submenu_strings): Remove functions.
4283 (xmalloc_widget_value): Remove and declare extern.
4284
4285 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
4286 (OBJ1): Build it.
4287
4288 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
4289 (local_heap, local_alloc, local_free, malloc_widget_value)
4290 (free_widget_value): Define here.
4291
42922008-06-09 Kenichi Handa <handa@m17n.org>
4293
4294 * font.h (Qascii_0): Extern it.
4295
4296 * font.c (Qascii_0): New variable.
4297 (syms_of_font): DEFSYM it.
4298 (font_open_by_name): If the registry "iso8859-1" fails, try also
4299 "ascii-0".
4300
4301 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
4302
43032008-06-08 Kenichi Handa <handa@m17n.org>
4304
4305 * .gdbinit (xfont): New command.
4306
43072008-06-08 Andreas Schwab <schwab@suse.de>
4308
4309 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
4310 * Makefile.in (menu.o): Update dependencies.
4311
4312 * Makefile.in (obj): Always add menu.o.
4313 * emacs.c (main): Always call syms_of_menu.
4314 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
4315
43162008-06-08 Chong Yidong <cyd@stupidchicken.com>
4317
4318 * Makefile.in: Compile menu.c.
4319
4320 * lisp.h: Declare syms_of_menu.
4321
4322 * emacs.c (main): Call syms_of_menu.
4323
4324 * keyboard.h: Relocate platform-independent menu definitions from
4325 xmenu.c.
4326
4327 * menu.c: New file. Relocate platform-independent menu
4328 definitions from xmenu.c. Suggested by Adrian Robert.
4329
4330 * xmenu.c: Remove platform-independent menu definitions.
4331 (menu_items menu_items_inuse, menu_items_allocated)
4332 (menu_items_used, menu_items_n_panes)
4333 (menu_items_submenu_depth): Move to keyboard.h.
4334 (init_menu_items, finish_menu_items, unuse_menu_items)
4335 (discard_menu_items, restore_menu_items, save_menu_items)
4336 (grow_menu_items, push_submenu_start, push_submenu_end)
4337 (push_left_right_boundary, push_menu_pane, push_menu_item)
4338 (keymap_panes, single_keymap_panes, single_menu_item)
4339 (list_of_panes, list_of_items, find_and_call_menu_selection)
4340 (xmalloc_widget_value, free_menubar_widget_value_tree)
4341 (parse_single_submenu, digest_single_submenu)
4342 (update_submenu_strings): Move to menu.c.
4343
43442008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
4345
4346 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
4347
43482008-06-06 Miles Bader <miles@gnu.org>
4349
4350 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
4351 face, not frame default.
4352
43532008-06-05 Martin Rudalics <rudalics@gmx.at>
4354
4355 * window.c (pop_up_windows, pop_up_frames)
4356 (display_buffer_reuse_frames, Vpop_up_frame_function)
4357 (Vdisplay_buffer_function, Veven_window_heights)
4358 (Vspecial_display_buffer_names, Vspecial_display_regexps)
4359 (Vspecial_display_function, Vsame_window_buffer_names)
4360 (Vsame_window_regexps, split_height_threshold)
4361 (Vsplit_window_preferred_function): Move those vars to window.el.
4362 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
4363 (Fdisplay_buffer): Move those functions to window.el.
4364 (syms_of_window): Remove corresponding declarations.
4365 (display_buffer): New function.
4366 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
4367 * dispnew.c (Flast_nonminibuf_frame): New function.
4368 * buffer.c (Fpop_to_buffer): Move to window.el.
4369
43702008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
4371
4372 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
4373
43742008-06-05 Kenichi Handa <handa@m17n.org>
4375
4376 * coding.c (detect_coding): Fix previous change.
4377 (detect_coding_system): Likewise.
4378
43792008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
4380
4381 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
4382
4383 * keymap.c (Vminibuffer_local_filename_must_match_map):
4384 Rename from Vminibuffer_local_must_match_filename_map.
4385 (syms_of_keymap):
4386 * minibuf.c (Fcompleting_read): Adjust accordingly.
4387 * commands.h: Rename declaration as well.
4388
43892008-06-05 Kenichi Handa <handa@m17n.org>
4390
4391 * font.c (Ffont_spec): Don't use font_parse_family_registry for
4392 family name.
4393 (Ffont_put): Likewise.
4394
4395 * fontset.c (fontset_find_font): Call font_open_for_lface with the
4396 current font-spec.
4397
4398 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
4399 is unspecified.
4400
4401 * xfaces.c (realize_x_face): If the font-related face attributes
4402 are the same as those of default face, realize a new fontset from
4403 default->fontset.
4404 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
4405
44062008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
4407
4408 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
4409 (move_it_in_display_line): New wrapper.
4410
4411 * window.c (window_scroll_pixel_based_preserve_x)
4412 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
4413 (window_scroll_pixel_based, window_scroll_line_based):
4414 Use them to preserve column positions.
4415 (syms_of_window): Initialize them.
4416
4417 * indent.c (Fvertical_motion): Extend first arg to allow passing an
4418 (HPOS . VPOS) pair.
4419
4420 * dispextern.h (move_it_in_display_line): Declare.
4421
44222008-06-05 Juanma Barranquero <lekktu@gmail.com>
4423
4424 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
4425 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
4426 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
4427
44282008-06-04 Juanma Barranquero <lekktu@gmail.com>
4429
4430 * window.c (Fset_window_parameter): Doc fix.
4431 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
4432
44332008-06-04 Joakim Verona <joakim@verona.se>
4434
4435 * window.h (struct window): Add new member window_parameters.
4436
4437 * window.c (Fwindow_parameters, Fwindow_parameter)
4438 (Fset_window_parameter): New defuns.
4439 (syms_of_window): Defsubr the new defuns.
4440 (make_window): Initialize window_parameters to nil.
4441
44422008-06-04 John Paul Wallington <jpw@pobox.com>
4443
4444 * eval.c (Fdefmacro): Doc fix.
4445
44462008-06-04 Kenichi Handa <handa@m17n.org>
4447
4448 * coding.c (detect_coding): Fix handling of coding->head_ascii.
4449 Be sure to call setup_coding_system when we find a proper coding system.
4450 (detect_coding_system): Fix handling of coding->head_ascii.
4451
44522008-06-03 Andreas Schwab <schwab@suse.de>
4453
4454 * font.c (font_prop_validate_spacing): Fix last change.
4455
44562008-06-03 Kenichi Handa <handa@m17n.org>
4457
4458 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
4459 (font_parse_fcname): Fix handling of unknown key.
4460
4461 * xfont.c (xfont_list): Try an alias.
4462
4463 * charset.c (char_charset): Return NULL if the arg charset_list is
4464 specified and C doesn't belong to any of them.
4465
44662008-06-02 Chip Coldwell <coldwell@redhat.com>
4467
4468 * font.c (font_pixel_size): Don't take cdr of an integer.
4469
44702008-06-02 Jim Meyering <meyering@redhat.com>
4471
4472 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
4473 * alloc.c (xfree): Return right away for a NULL arg.
4474 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
4475 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
4476 * mac.c (create_apple_event_from_event_ref): Likewise.
4477 (create_apple_event_from_drag_ref, cfstring_create_normalized):
4478 Likewise.
4479 * doprnt.c (doprnt1): Likewise.
4480 * frame.c (frame): Likewise.
4481 * keyboard.c (wipe_kboard): Likewise.
4482 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
4483 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
4484 * term.c (tty_default_color_capabilities, maybe_fatal)
4485 (delete_tty): Likewise.
4486 * w16select.c (string): Likewise.
4487 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
4488 * w32bdf.c (w32_free_bdf_font): Likewise.
4489 * w32fns.c (w32_unload_font): Likewise.
4490 * w32font.c (w32font_close): Likewise.
4491 * window.c (size_window): Likewise.
4492 * xselect.c (receive_incremental_selection): Likewise.
4493 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
4494 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
4495 * w32.c (stat): Likewise.
4496
4497 Remove useless if-before-free tests.
4498 * editfns.c (Fset_time_zone_rule): Likewise.
4499 * lread.c (nosuffix): Likewise.
4500 * ralloc.c (get_bloc): Likewise.
4501 * regex.c (reg_free): Likewise.
4502 * xftfont.c (xftfont_open, xftfont_close): Likewise.
4503 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
4504 * xsmfns.c (smc_save_yourself_CB): Likewise.
4505
45062008-06-02 Kenichi Handa <handa@m17n.org>
4507
4508 * font.c (font_find_for_lface): Handle float font size.
4509 (font_open_for_lface): Likewise.
4510
4511 * xfaces.c (x_supports_face_attributes_p): Check face->font before
4512 comparing the properties.
4513
45142008-06-01 Jason Rumney <jasonr@gnu.org>
4515
4516 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
4517 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
4518 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
4519 Don't add empty script list.
4520 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
4521
45222008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
4523
4524 * Makefile.in (dot, dotdot): Remove, update users.
4525 ".." has been used elsewhere in the file for a long time.
4526 (LIBXT_STATIC): Remove conditional based on unused variable.
4527
45282008-06-01 Miles Bader <miles@gnu.org>
4529
4530 * xfaces.c (Vface_remapping_alist): New variable.
4531 (syms_of_xfaces): Initialize it.
4532 (enum named_merge_point_kind): New type.
4533 (struct named_merge_point): Add `named_merge_point_kind' field.
4534 (push_named_merge_point): Make cycle detection respect different
4535 named-merge-point kinds.
4536 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
4537 Remove face-name alias resolution.
4538 (lface_from_face_name): New definition using
4539 `lface_from_face_name_no_resolve'.
4540 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
4541 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
4542 (get_lface_attributes): New definition that layers face-remapping on
4543 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
4544 (lookup_basic_face): New function.
4545 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
4546 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
4547 `get_lface_attributes'.
4548 (face_at_buffer_position): Use `lookup_basic_face' to lookup
4549 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
4550 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
4551
4552 * xdisp.c (init_iterator): Pass base_face_id through
4553 `lookup_basic_face' when we actually use it as a face-id.
4554 (handle_single_display_prop): Use `lookup_basic_face' to lookup
4555 DEFAULT_FACE_ID.
4556
4557 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
4558 lookup the initial face-id.
4559
4560 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
4561
45622008-06-01 Juanma Barranquero <lekktu@gmail.com>
4563
4564 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
4565 (Fremove_text_properties): Fix typos in docstrings.
4566
45672008-05-31 Kenichi Handa <handa@m17n.org>
4568
4569 * font.c (font_list_entities): Fix the car part of data to be
4570 stored in the cache.
4571
4572 * ftfont.c (ftfont_font_format): Don't use strcasestr.
4573
45742008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
4575
4576 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
4577 Add a `test' argument so another predicate than `equal' can be used.
4578 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
4579 (map_char_table): Remove unused vars `c' and `i'.
4580 * lisp.h (Foptimize_char_table): Adjust declaration.
4581 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
4582
45832008-05-30 Kenichi Handa <handa@m17n.org>
4584
4585 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
4586 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
4587 defined.
4588
45892008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
4590
4591 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
4592 (Fmake_variable_frame_local): Disallow mixing buffer-local and
4593 frame-local settings for the same variable.
4594
45952008-05-30 Kenichi Handa <handa@m17n.org>
4596
4597 * fontset.c (Ffont_info): Move to font.c.
4598 (syms_of_fontset): Delete defsubr of Sfont_info.
4599
4600 * font.c (font_style_to_value, font_score): Delete casting of the
4601 args to xstcasecmp.
4602 (register_font_driver): Increment num_font_drivers only when
4603 registering the driver globally.
4604 (Ffont_info): Move from fontset.c. Handle a font object too.
4605 (syms_of_font): Defsubr Sfont_info.
4606
46072008-05-29 Kenichi Handa <handa@m17n.org>
4608
4609 * coding.h (enum define_coding_utf8_arg_index): New enum.
4610 (enum coding_attr_index): Change coding_attr_utf_16_bom to
4611 coding_attr_utf_bom.
4612 (enum utf_bom_type): Rename from utf_16_bom_type.
4613 (struct utf_16_spec): Adjust for the above change.
4614 (struct coding_system): Add utf_8_bom in `spec' union.
4615
4616 * coding.c (CODING_UTF_8_BOM): New macro.
4617 (enum coding_category): Delete coding_category_utf_8, add
4618 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
4619 coding_category_utf_8_sig.
4620 (CATEGORY_MASK_UTF_8): Delete it.
4621 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
4622 (CATEGORY_MASK_UTF_8_SIG): New macros.
4623 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
4624 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
4625 CATEGORY_MASK_UTF_8_SIG.
4626 (CATEGORY_MASK_UTF_8): New macro.
4627 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
4628 (detect_coding_utf_8): Check BOM.
4629 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
4630 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
4631 (encode_coding_utf_16): Likewise.
4632 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
4633 (detect_coding, detect_coding_system): Handle utf-8-auto.
4634 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
4635 (syms_of_coding): Fix setting up of Vcoding_category_table.
4636
46372008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
4638
4639 * process.c (Faccept_process_output): If `millisec' is non-nil,
4640 `seconds' default to 0.
4641 (wait_reading_process_output): Also return non-nil if we read output
4642 from a non-running process.
4643
46442008-05-29 Jason Rumney <jasonr@gnu.org>
4645
4646 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
4647 `raster' specified.
4648 (add_font_entity_to_list): Allow non-opentype truetype fonts back
4649 in the uniscribe backend, but disallow any font that has no
4650 unicode subrange support.
4651
46522008-05-29 Juanma Barranquero <lekktu@gmail.com>
4653
4654 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
4655 Fix typos in docstrings.
4656
46572008-05-29 Kenichi Handa <handa@m17n.org>
4658
4659 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
4660 (Fx_family_fonts): Set frame correctly.
4661
46622008-05-28 Jason Rumney <jasonr@gnu.org>
4663
4664 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
4665
46662008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
4667
4668 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
4669 calling build_annotations.
4670
46712008-05-28 Juanma Barranquero <lekktu@gmail.com>
4672
4673 * coding.c (Fdecode_coding_region, Fencode_coding_region)
4674 (Fencode_coding_string):
4675 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
4676 <latin-extra-code-table>: Fix typos in docstrings.
4677 (syms_of_coding) <coding-system-alist>: Doc fix.
4678 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
4679
46802008-05-28 Kenichi Handa <handa@m17n.org>
4681
4682 * fontset.c (Ffont_info): Don't call font_close_object.
4683
4684 * font.c (font_parse_family_registry): Use Ffont_put to validate
4685 foundry and family.
4686 (font_delete_unmatched): Don't check spacing.
4687 (font_list_entities): Add spacing to the spec to list fonts.
4688
4689 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
4690 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
4691
4692 * coding.c (encode_coding_raw_text): Fix previous change.
4693 (encode_coding_object): When the dst_object is a buffer and is
4694 different from src_object, move gap to PT.
4695
46962008-05-27 Chong Yidong <cyd@stupidchicken.com>
4697
4698 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
4699
47002008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
4701
4702 * coding.c (encode_coding_raw_text): Set coding->produced_char for
4703 all branches. Compute it differently.
4704
4705 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
4706
47072008-05-27 Juanma Barranquero <lekktu@gmail.com>
4708
4709 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
4710 into "else if () ... else ...".
4711
47122008-05-27 Jason Rumney <jasonr@gnu.org>
4713
4714 * w32font.c (w32font_open_internal): Determine if glyph indices
4715 are likely to work here.
4716
47172008-05-27 Chong Yidong <cyd@stupidchicken.com>
4718
4719 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
4720 draw overlap glyphs with appropriate highlighting.
4721
47222008-05-27 Kenichi Handa <handa@m17n.org>
4723
4724 * xfont.c (xfont_open): Fix calculation of font->average_width.
4725
47262008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
4727
4728 * casefiddle.c (casify_object): Try to guess better whether the
4729 argument is a byte or a char.
4730
47312008-05-26 Andreas Schwab <schwab@suse.de>
4732
4733 * xselect.c (x_reply_selection_request): Properly handle format == 32.
4734 Always send multiples of format size.
4735
4736 * xterm.c (x_set_frame_alpha): Fix type mismatch.
4737
47382008-05-26 Jason Rumney <jasonr@gnu.org>
4739
4740 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
4741 (compute_metrics): Don't set failure if we just cleared the cache.
4742 (w32_weight_table): Remove unused variable.
4743 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
4744 backwards compatibility.
4745
47462008-05-25 Kenichi Handa <handa@m17n.org>
4747
4748 * w32term.c (x_draw_glyph_string):
4749 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
4750
4751 * xfaces.c: Delete unused function prototypes.
4752 (xstrlwr, font_frame): Delete them.
4753 (clear_face_cache): Delete unused variable.
4754
4755 * xftfont.c (xftfont_open): Delete unused variable.
4756 If underline_thickness is not 1, adjust underline_position.
4757
4758 * ftxfont.c (ftxfont_open): Delete unused variable.
4759
4760 * fontset.c (face_for_char): Optimize for the case of no charset
4761 property.
4762
4763 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
4764 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
4765 (otf_open, font_otf_capability, generate_otf_features)
4766 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
4767 Comment out by surrounding "#if 0" and "#endif" for the moment.
4768 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
4769 (syms_of_font): Codes for accessing above commented out.
4770
47712008-05-24 Eli Zaretskii <eliz@gnu.org>
4772
4773 * w32proc.c: Include dispextern.h.
4774
4775 * w32.c: Include dispextern.h.
4776
47772008-05-23 Juanma Barranquero <lekktu@gmail.com>
4778
4779 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
4780 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
4781 Fix typos in docstrings.
4782
47832008-05-23 Jason Rumney <jasonr@gnu.org>
4784
4785 * xsmfns.c: Remove includes that are already included by config.h.
4786
47872008-05-23 Kenichi Handa <handa@m17n.org>
4788
4789 * charset.c (Qemacs, charset_emacs): New variables.
4790 (char_charset): Fix for non-Unicode characters.
4791 (syms_of_charset): Define charset_emacs.
4792
4793 * w32term.c (x_draw_glyph_string): Be sure to update
4794 s->underline_thickness and s->underline_position. Be sure to draw
4795 underline within the current line area.
4796
4797 * xterm.c (x_draw_glyph_string): Be sure to update
4798 s->underline_thickness and s->underline_position. Be sure to draw
4799 underline within the current line area.
4800
4801 * fontset.c: Delete unused variables and add casting for char *
4802 throughout the file.
4803 (fontset_font): Try the fallback fonts of the current fontset
4804 before consulting the default fontset.
4805
4806 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
4807
4808 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
4809
48102008-05-22 Jason Rumney <jasonr@gnu.org>
4811
4812 * font.c: Don't include strings.h.
4813
4814 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
4815
4816 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
4817 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
4818 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
4819 to call xstrcasecmp.
4820
4821 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
4822
4823 * fontset.c (fs_query_fontset): Use xstrcasecmp.
4824
4825 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
4826
4827 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
4828
48292008-05-22 Kenichi Handa <handa@m17n.org>
4830
4831 * puresize.h (BASE_PURESIZE): Increase to 1220000.
4832
4833 * font.c (font_prop_validate_style): Adjust for the format
4834 change of font_style_table.
4835
4836 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
4837 two args.
4838
4839 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
4840 two args.
4841
48422008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
4843
4844 * minibuf.c (keys_of_minibuf): Delete.
4845 * lisp.h (keys_of_minibuf): Delete.
4846 * emacs.c (main): Don't call keys_of_minibuf.
4847
48482008-05-22 Kenichi Handa <handa@m17n.org>
4849
4850 * ftfont.c (ftfont_resolve_generic_family): Rename from
4851 ftfont_list_generic_family. Return a single family for each
4852 generic family.
4853 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
4854 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
4855 Call font_add_log.
4856 (ftfont_match): Call font_add_log.
4857
4858 * font.h (Ffont_xlfd_name): EXFUN adjusted.
4859 (FONT_DEBUG): Define it.
4860 (font_add_log): Extern it.
4861 (font_assert): Rename from xassert.
4862
4863 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
4864 (xfont_list_family): Call font_add_log.
4865 (xfont_match): Likewise.
4866 (memq_no_quit): Delete.
4867
4868 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
4869 call of Ffont_xlfd_name.
4870
4871 * xfaces.c (struct table_entry, slant_table, weight_table)
4872 (swidth_table): Move to font.c.
4873
4874 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
4875 xassert are changed to font_assert. Delete many unused variables.
4876 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
4877 New variables.
4878 (struct table_entry): Move from xfaces.c and modified.
4879 (weight_table, slant_table, width_table): Move from xfaces.c and
4880 contents adjusted for the change of struct table_entry.
4881 (font_style_to_value, font_style_symbolic): Adjust for the
4882 format change of font_style_table.
4883 (font_parse_family_registry): Don't overwrite existing foundry and
4884 family of font_spec.
4885 (font_score): Fix calculation of diff for sizes.
4886 (font_sort_entites): Call font_add_log.
4887 (font_delete_unmatched): Return a newly created list.
4888 (font_list_entities): Fix previous change. Call font_add_log.
4889 (font_matching_entity, font_open_entity, font_close_entity):
4890 Call font_add_log.
4891 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
4892 (Finternal_set_font_style_table): Delete.
4893 (BUILD_STYLE_TABLE): New macro.
4894 (build_style_table): New function.
4895 (Vfont_log, font_log_env_checked): New variables.
4896 (font_add_log): New function.
4897 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
4898 Declare Lisp variables "font-weight-table", "font-slant-table",
4899 "font-width-table", and "font-log". Initialize font_style_table.
4900
49012008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
4902
4903 * xterm.c (x_set_frame_alpha): Move declarations before statements.
4904
49052008-05-21 Seiji Zenitani <zenitani@mac.com>
4906 Ryo Yoshitake <ryo@shiftmode.net>
4907
4908 * frame.c (Qalpha): Add a new frame parameter `alpha'.
4909 (Vframe_alpha_lower_limit): New variable.
4910 (x_set_alpha): New function.
4911
4912 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
4913
4914 * xfns.c (x-create-frame, Qalpha):
4915 Initialize the frame parameter `alpha'.
4916 * xterm.c (OPAQUE, OPACITY): New.
4917 (x_set_frame_alpha): New function.
4918 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
4919
4920 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
4921 * w32fns.c (w32_frame_parm_handlers): Likewise.
4922
49232008-05-20 Jason Rumney <jasonr@gnu.org>
4924
4925 * w32font.c (add_font_entity_to_list): Don't add non-opentype
4926 truetype fonts to opentype list.
4927
49282008-05-20 Juanma Barranquero <lekktu@gmail.com>
4929
4930 * fontset.c (Ffontset_info): Doc fix.
4931 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
4932 <ignore-relative-composition>: Fix typos in docstrings.
4933
4934 * font.c (syms-of-font) <font-encoding-alist>:
4935 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
4936 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
4937 (Ffont_otf_alternates): Doc fixes.
4938
49392008-05-20 Kenichi Handa <handa@m17n.org>
4940
4941 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
4942 font.h through out the file.
4943 (FONT_DRIVERS): Rename from FONTOBJ.
4944 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
4945 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
4946
4947 * emacs.c (main): Call syms_of_font unconditionally.
4948
4949 * font.h (find_font_encoding): Extern it.
4950
4951 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
4952 fontset.c.
4953 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
4954 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
4955 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
4956 only when HAVE_WINDOW_SYSTEM is defined.
4957 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
4958 when HAVE_WINDOW_SYSTEM is defined.
4959
4960 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
4961 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
4962
4963 * xfaces.c: Include font.h unconditionally.
4964 (merge_face_ref, merge_face_vectors)
4965 (Finternal_set_lisp_face_attribute): Cancel the previous change.
4966
49672008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
4968
4969 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
4970 indirect_variable.
4971 * eval.c (lisp_indirect_variable): New fun.
4972 (Fuser_variable_p): Use it.
4973
49742008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
4975
4976 * lisp.h (indirect_variable):
4977 * data.c (indirect_variable, let_shadows_buffer_binding_p):
4978 Use Lisp_Symbol pointers rather than Lisp_Object.
4979 Adjust callers.
4980 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
4981 To this end, change calling-convention.
4982
4983 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
4984 if some non-hidden buffers are selected by string&pred.
4985
49862008-05-19 Chong Yidong <cyd@stupidchicken.com>
4987
4988 * process.c (wait_reading_process_output): Always check status
4989 when in batch mode.
4990
49912008-05-19 Kenichi Handa <handa@m17n.org>
4992
4993 * font.c (font_list_entities): Fix handling of cache.
4994 (font_matching_entity): Likewise.
4995
4996 * ftfont.c (cs_iso8859_1): Delete.
4997 (ft_face_cache): New variable.
4998 (struct ftfont_info): New member fc_charset_idx.
4999 (ftfont_build_basic_charsets): Delete.
5000 (fc_charset_table): New variable.
5001 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
5002 . FC_CHARSET_IDX) as :font-entity property in the font entity.
5003 Callers changed.
5004 (ftfont_lookup_cache, ftfont_get_charset): New functions.
5005 (ftfont_spec_pattern): New argument fc_charset_idx.
5006 Check registry more rigidly. Change callers.
5007 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
5008 change of :font-entity property of the font.
5009
5010 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
5011 property of the font.
5012
50132008-05-18 Juanma Barranquero <lekktu@gmail.com>
5014
5015 * coding.c (Fcoding_system_p): Rename argument to match docstring.
5016 (Funencodable_char_position, Fcheck_coding_systems_region)
5017 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
5018 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
5019 (Ffind_operation_coding_system, Fset_coding_system_priority)
5020 (Fcoding_system_eol_type): Doc fixes.
5021
50222008-05-17 Glenn Morris <rgm@gnu.org>
5023
5024 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
5025
50262008-05-16 Eli Zaretskii <eliz@gnu.org>
5027
5028 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
5029 and st_gid.
5030
5031 * frame.c (Fdelete_frame): Don't call font_update_drivers if
5032 HAVE_WINDOW_SYSTEM is not defined.
5033
5034 * xfaces.c (merge_face_ref, merge_face_vectors)
5035 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
5036 HAVE_WINDOW_SYSTEM is defined.
5037 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
5038
50392008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
5040
5041 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
5042
50432008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5044
5045 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
5046
50472008-05-15 Kenichi Handa <handa@m17n.org>
5048
5049 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
5050 preference.
5051
50522008-05-15 Glenn Morris <rgm@gnu.org>
5053
5054 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
5055
50562008-05-15 Chong Yidong <cyd@stupidchicken.com>
5057
5058 * fns.c (init_fns): Don't initialize weak_hash_tables here.
5059 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
5060
5061 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
5062
50632008-05-15 Kenichi Handa <handa@m17n.org>
5064
5065 * ftfont.c (ftfont_list): Downcase family name to check generic
5066 families.
5067
5068 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
5069 font-spec for QCfont value.
5070
5071 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
5072 buffer. Check the return value of it.
5073
50742008-05-14 Jason Rumney <jasonr@gnu.org>
5075
5076 * w32term.c (w32_get_glyph_overhangs): Remove.
5077 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
5078
50792008-05-14 Kenichi Handa <handa@m17n.org>
5080
5081 * font.c (font_prop_validate): Make nil a valid value.
5082 (font_clear_cache): Check if the cached vector of entities is nil
5083 or not.
5084
50852008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5086
5087 * emacs.c (main_thread): Conditionalize on
5088 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
5089 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
5090
5091 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
5092 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
5093 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
5094
50952008-05-14 Kenichi Handa <handa@m17n.org>
5096
5097 * coding.c (detect_coding_iso_2022): Ignore a coding category that
5098 has no corresponding coding system.
5099
51002008-05-14 Jason Rumney <jasonr@gnu.org>
5101
5102 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
5103
5104 * w32font.h (w32font_open_internal): Update declaration.
5105
5106 * w32font.c (w32font_open_internal): Change last argument from
5107 w32font_info struct to font object. Fill in font object from
5108 font_entity. Get Outline metrics if possible. Use them to
5109 calculate underline position and thickness. Use xlfd name as name
5110 property. Don't set codepage.
5111 (w32font_open): Pass font_object to w32font_open_internal. Don't
5112 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
5113 (w32font_draw): Use s->font.
5114 (clear_cached_metrics): Don't clear non-existent blocks.
5115
5116 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
5117 font was not found.
5118 (x_draw_glyph_string): Use underline position and thickness from font.
5119
5120 * w32uniscribe.c (uniscribe_open): Pass font_object to
5121 w32font_open_internal.
5122
51232008-05-14 Kenichi Handa <handa@m17n.org>
5124
5125 These changes are to delete all legacy font-handling codes, and
5126 make Emacs use only font-backends.
5127
5128 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
5129 (frame.o, image.o, print.o): Depend on $(FONTSRC).
5130
5131 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
5132
5133 * charset.h (Vcharset_non_preferred_head)
5134 (Vcurrent_iso639_language): Extern them.
5135
5136 * charset.c (Vcharset_non_preferred_head): New variable.
5137 (Vcurrent_iso639_language): New variable.
5138 (syms_of_charset): Declare it as a Lisp variable.
5139 (char_charset): Don't check non preferred charsets. As a last
5140 resort, return charset_unicode.
5141 (Fset_charset_priority): Update Vcharset_non_preferred_head.
5142
5143 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
5144 conditionals. Don't check enable_font_backend. Delete all codes
5145 used only when USE_FONT_BACKEND is not defined.
5146
5147 * dispextern.h (struct glyph_string): Change type of `font' to
5148 `struct font *'.
5149 (struct glyph_string): New member underline_position and
5150 underline_thickness.
5151 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
5152 (struct face): Change type of `font' to `struct font *'. Remove
5153 members `font_name', `font_info_id'.
5154 (per_char_metric, encode_char): Delete externs.
5155 (calc_pixel_width_or_height): Adjust the prototype.
5156
5157 * emacs.c (enable_font_backend): Delete extern.
5158 (main): Don't set enable_font_backend. Don't check the command
5159 line argument "-disable-font-backend".
5160
5161 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
5162 (enum font_property_index): New members FONT_DPI_INDEX,
5163 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
5164 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
5165 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
5166 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
5167 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
5168 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
5169 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
5170 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
5171 (struct font_spec, struct font_entity): New structs.
5172 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
5173 (struct font): Many members from old "struct font_info" moved to
5174 here. Members font and entity deleted.
5175 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
5176 the new font-related objects.
5177 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
5178 (CHECK_FONT_GET_OBJECT): Likewise.
5179 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
5180 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
5181 (struct font_driver): New members case_sensitive anc check. Type
5182 of the member list and open changed.
5183 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
5184 (font_symbolic_width, font_find_object, font_get_spec)
5185 (font_set_lface_from_name): Delete extern.
5186 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
5187
5188 * font.c: Include <strings.h>.
5189 (enable_font_backend): Delete it.
5190 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
5191 (CHECK_VALIDATE_FONT_SPEC): Delete it.
5192 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
5193 (null_string): Delete it.
5194 (null_vector): Make it static.
5195 (font_family_alist): Delete it.
5196 (Qnormal): Extern it.
5197 (QCextra, QClanguage): Delete it.
5198 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
5199 (font_make_spec, font_make_entity, font_make_object)
5200 (font_intern_prop): Renamed from intern_downcase. Don't downcase
5201 the string. Callers changed.
5202 (font_pixel_size): Adjusted for the format change of font-related
5203 objects.
5204 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
5205 (font_style_to_value, font_style_symbolic): New function.
5206 (build_font_family_alist): Delete it.
5207 (font_registry_charsets): Use Fassoc_string instead of
5208 assq_no_quit.
5209 (font_prop_validate_symbol): Don't return null_string.
5210 (font_prop_validate_style): Adjusted for the change of
5211 style-related values in a font vector.
5212 (font_property_table): Delete entries for QClanguage and
5213 QCantialias, add entries for QCavgwidth.
5214 (get_font_prop_index): Delete the 2nd argument FROM.
5215 (font_prop_validate): Arguments changed.
5216 (font_put_extra): Adjusted for the change of font-related objects.
5217 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
5218 (font_parse_fcname, font_unparse_fcname)
5219 (font_prepare_composition): Likewise.
5220 (font_parse_family_registry): Renamed from font_merge_old_spec.
5221 (otf_open): Delete the 1st arg entity.
5222 (font_otf_capability): Adjusted for the above change.
5223 (font_score): New arg alternate_families. Adjusted for the change
5224 of font-related objects.
5225 (font_sort_entites): New arg best_only.
5226 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
5227 Delete them.
5228 (font_match_p): Check alternate families.
5229 (font_find_object): Delete it.
5230 (font_check_object): New function.
5231 (font_clear_cache): Adjusted for the change of font-related objects.
5232 (font_delete_unmatched): New arg.
5233 (font_list_entities): Call font_driver->list with a spec that
5234 doesn't specify style-related properties.
5235 (font_matching_entity): Arguments changed. Caller changed.
5236 (font_open_entity): Adjusted for the change of font-related objects.
5237 (font_close_object, font_has_char, font_encode_char)
5238 (font_get_name, font_get_spec): Likewise.
5239 (font_spec_from_name, font_clear_prop, font_update_lface):
5240 New functions.
5241 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
5242 (font_prepare_for_face, font_done_for_face, font_open_by_name)
5243 (font_at): Adjusted for the change of font-related objects.
5244 (font_range): New function.
5245 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
5246 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
5247 (Fcopy_font_spec, Fmerge_font_spec): New function.
5248 (Ffont_family_list): Renamed from list-families.
5249 (Finternal_set_font_style_table): Arguments changed.
5250 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
5251 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
5252 change of font-related objects.
5253 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
5254
5255 * fontset.h (struct font_info): Delete it. Most members go to
5256 struct font.
5257 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
5258 (enum FONT_SPEC_INDEX): Delete it.
5259 (font_info, list_fonts_func, load_font_func, query_font_func)
5260 (set_frame_fontset_func, find_ccl_program_func)
5261 (get_font_repertory_func, new_fontset_from_font_name): Delete
5262 externs.
5263 (fontset_from_font_name): Extern it.
5264 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
5265 (FONT_INFO_FROM_FACE): Deleted.
5266 (face_for_font): Adjust prototype.
5267
5268 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
5269 conditionals. Don't check enable_font_backend. Delete all codes
5270 used only when USE_FONT_BACKEND is not defined.
5271 (get_font_info_func, list_font_func, load_font_func)
5272 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
5273 (get_font_repertory_func): Delete them.
5274 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
5275 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
5276 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
5277 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
5278 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
5279 (fontset_compare_rfontdef): New function.
5280 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
5281 rfont-defs by qsort. Adjusted for the change of font-group vector.
5282 (load_font_get_repertory): Deleted.
5283 (fontset_find_font): Use new macros to ref/set elements of
5284 font-def and rfont-def.
5285 (fontset_font): Fix the timing of remembering that no font for C.
5286 (free_face_fontset): Do nothing if the face has no fontset.
5287 (face_suitable_for_char_p): Use new macros to ref/set elements of
5288 rfont-def.
5289 (face_for_char): Likewise. Call face_for_char with font_object.
5290 (fs_load_font): Delete. Delete #pragma surrounding it.
5291 (fs_query_fontset): Use strcasecmp instead of strcmp.
5292 (generate_ascii_font_name): Adjusted for the format change of
5293 font-spec.
5294 (Fset_fontset_font): Likewise. Use new macros to set elements of
5295 font-def.
5296 (Fnew_fontset): Use font_unparse_xlfd to generate
5297 FONTSET_ASCII (fontset).
5298 (new_fontset_from_font_name): Deleted.
5299 (fontset_from_font): Renamed from new_fontset_from_font. Check if
5300 a fontset is already created for the font. FIx updating of
5301 Vfontset_alias_alist.
5302 (fontset_ascii_font): Deleted.
5303 (Ffont_info): Adjusted for the format change of font-spec.
5304 (Finternal_char_font): Likewise.
5305 (Ffontset_info): Likewise.
5306 (syms_of_fontset): Don't check load_font_func.
5307
5308 * fns.c (internal_equal): Handle PREV_FONT.
5309
5310 * frame.h: Delete USE_FONT_BACKEND conditional.
5311
5312 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
5313 conditionals. Don't check enable_font_backend. Delete all codes
5314 used only when USE_FONT_BACKEND is not defined.
5315 (x_set_font): Call x_new_font, not x_new_fontset2.
5316 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
5317 already set for the frame.
5318
5319 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
5320 a font-entity by font_make_entity. Use font_intern_prop instead
5321 of intern_downcase. Use FONT_SET_STYLE to set a style-related
5322 font property. If a font is scalable, set avgwidth property to 0.
5323 Set font-entity property by font_put_extra.
5324 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
5325 (ffont_driver): Adjusted for the change of struct font_driver.
5326 (ftfont_spec_pattern): New function.
5327 (ftfont_list): Return a list, not vector.
5328 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
5329 (ftfont_list_family): Don't downcase names.
5330 (ftfont_free_entity): Deleted.
5331 (ftfont_open): Return a font-object. Adjusted for the change of
5332 struct font. Get underline_thickness and underline_position from
5333 font property. Don't update dpyinfo->smallest_font_height and
5334 dpyinfo->smallest_char_width.
5335 (ftfont_close): Don't free `struct font'.
5336 (ftfont_has_char): Adjusted for the format change of font-entity.
5337 (ftfont_encode_char, ftfont_text_extents): Likewise.
5338
5339 * ftxfont.c (ftxfont_list): Return a list, not vector.
5340 (ftxfont_open): Return a font-object. Adjusted for the change of
5341 struct font. Get underline_thickness and underline_position from
5342 font property. Don't update dpyinfo->smallest_font_height and
5343 dpyinfo->smallest_char_width.
5344 (ftxfont_close): Don't decrease FRAME_X_DISPLAY_INFO (f)->n_fonts.
5345 (ftxfont_draw): Adjusted for the change of struct font.
5346
5347 * image.c (image_ascent): Don't include "charset.h". Include
5348 "character.h" and "font.h".
5349
5350 * lisp.h (enum pvec_type): New member PREV_FONT.
5351 (Fassoc_string): EXFUN it.
5352
5353 * print.c: Include font.h.
5354 (print_object): Handle font-related objects.
5355
5356 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
5357 conditionals. Don't check enable_font_backend. Delete all codes
5358 used only when USE_FONT_BACKEND is not defined.
5359 (handle_auto_composed_prop): Do nothing if it->f is not on a
5360 window system. Check how many following characters can be
5361 displayed by the same font.
5362 (calc_pixel_width_or_height): Type of the 4th arg is changed to
5363 'struct font *'.
5364 (get_char_face_and_encoding): Assign the whole encoding task to
5365 the `encode-char' method of a font driver.
5366 (fill_composite_glyph_string): Adjusted for the change of `struct
5367 face' and `struct glyph_string'.
5368 (fill_glyph_string): Likewise.
5369 (get_per_char_metric): Arguments changed.
5370 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
5371 and `struct glyph_string'.
5372 (produce_stretch_glyph, calc_line_height_property)
5373 (x_produce_glyphs): Likewise.
5374
5375 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
5376 conditionals. Don't check enable_font_backend. Delete all codes
5377 used only when USE_FONT_BACKEND is not defined. Use
5378 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
5379 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
5380 (Qp): Extern them.
5381 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
5382 Deleted.
5383 (struct font_name): Deleted.
5384 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
5385 (compare_fonts_by_sort_order): New function.
5386 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
5387 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
5388 Deleted.
5389 (Fx_family_fonts): Use font_list_entities, and sort fonts by
5390 compare_fonts_by_sort_order.
5391 (Fx_font_family_list): Call Ffont_family_list.
5392 (face_numeric_value, face_numeric_weight, face_numeric_slant)
5393 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
5394 (face_symbolic_slant, face_symbolic_swidth)
5395 (split_font_name_into_vector, build_font_name_from_vector)
5396 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
5397 (font_rescale_ratio, split_font_name, build_font_name)
5398 (free_font_names, sort_fonts, x_face_list_fonts)
5399 (face_font_available_p, sorted_font_list, cmp_font_names)
5400 (font_list_1, concat_font_list, font_list, remove_duplicates):
5401 Deleted.
5402 (Fx_list_fonts): Use Ffont_list.
5403 (LFACE_AVGWIDTH): Deleted.
5404 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
5405 by FONTP.
5406 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
5407 (set_lface_from_font_name): Delete it.
5408 (set_lface_from_font): Renamed from
5409 set_lface_from_font_and_fontset. Caller changed. Don't set
5410 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
5411 for face.
5412 (merge_face_vectors): Copy font-spec if necessary.
5413 Clear properties of the font-spec if necessary.
5414 (merge_face_ref): Clear properties of the font-spec if necessary.
5415 (Finternal_set_lisp_face_attribute): Likewise.
5416 (set_font_frame_param): Use font_load_for_lface to load a
5417 font-object, and call Fmodify_frame_parameters with it.
5418 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
5419 font name by Ffont_xlfd_name.
5420 (Finternal_lisp_face_attribute_values): Don't check QCweight,
5421 QCslant, and QCwidth.
5422 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
5423 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
5424 Compare fonts by EQ.
5425 (lookup_non_ascii_face): Deleted.
5426 (face_for_font): The 2nd argument changed.
5427 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
5428 Check atomic font properties by case insensitive.
5429 (realize_non_ascii_face): Set face->overstrike correctly.
5430 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
5431 (dump_realized_face): Get font name from
5432 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
5433
5434 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
5435 conditionals. Don't check enable_font_backend. Delete all codes
5436 used only when USE_FONT_BACKEND is not defined.
5437 (xic_create_xfontset): Original code deleted and renamed from
5438 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
5439 (x_make_gc): Don't set GCFont in GCs.
5440 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
5441 opened by "fixed".
5442 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
5443 find_ccl_program_func, query_font_func, set_frame_fontset_func,
5444 get_font_repertory_func.
5445
5446 * xfont.c: Include <stdlib.h> and "ccl.h".
5447 (struct xfont_info): New structure.
5448 (xfont_query_font): Deleted.
5449 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
5450 moved from xterm.c.
5451 (xfont_driver): Adjusted for the change of struct font_driver.
5452 (compare_font_names): New function.
5453 (xfont_list_pattern): Sort font names case insensitively. Make
5454 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
5455 (xfont_list): Return a list, not vector.
5456 (xfont_match): If the font doesn't have QCname property, generate
5457 a name from the other font properties.
5458 (xfont_open): Return a font-object. Adjusted for the change of
5459 struct font. Get underline_thickness and underline_position from
5460 font property. Don't update dpyinfo->smallest_font_height and
5461 dpyinfo->smallest_char_width.
5462 (xfont_close): Don't free struct font.
5463 (xfont_prepare_face): Adjusted for the change of struct font.
5464 (xfont_done_face): Deleted.
5465 (xfont_has_char): Adjusted for the change of struct font.
5466 (xfont_encode_char, xfont_draw): Likewise.
5467 (xfont_check): New function.
5468
5469 * xftfont.c (xftfont_list): Adjusted for the change of `list'
5470 callback function.
5471 (xftfont_match): Adjusted for the format change of font-entity.
5472 (xftfont_open): Adjusted for the format change of font-entity and
5473 font-object. Adjusted for the change of struct font. Return a
5474 font-object. Don't update dpyinfo->smallest_font_height and
5475 dpyinfo->smallest_char_width.
5476 (xftfont_close): Block input while calling XftFontClose.
5477 (xftfont_prepare_face): Don't block input while calling
5478 xftfont_get_colors. Adjusted for the change of struct font.
5479 (xftfont_shape): Return value of error case fixed.
5480
5481 * xrdb.c (x_load_resources): Don't setup a fontset resource.
5482
5483 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
5484 conditionals.
5485 (FONT_WIDTH): Return (f)->max_width.
5486 (struct x_display_info): Delete member `font'.
5487 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
5488 (x_find_ccl_program, x_get_font_repertory): Delete externs.
5489 (struct x_output): Change type of `font' to `struct font *'.
5490
5491 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
5492 conditionals. Don't check enable_font_backend. Delete all codes
5493 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
5494 (x_per_char_metric, x_encode_char): Deleted.
5495 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
5496 (x_compute_glyph_string_overhangs): Adjusted for the change of
5497 `struct face'.
5498 (x_draw_glyph_string_foreground)
5499 (x_draw_composite_glyph_string_foreground): Likewise.
5500 (x_draw_glyph_string): Likewise. Use font->underline_position and
5501 font->underline_thickness.
5502 (x_new_font): Renamed from x_new_fontset2.
5503 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
5504 (x_check_font): Call `check' method of a font driver.
5505 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
5506 (x_query_font, x_get_font_repertory): Deleted.
5507 (x_find_ccl_program): Renamed and moved to xfont.c.
5508 (x_redisplay_interface): Adjusted for the change of `struct
5509 redisplay_interface'.
5510
5511 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
5512 conditionals. Don't check enable_font_backend. Delete all codes
5513 used only when USE_FONT_BACKEND is not defined. Surround non-used
5514 code by "#ifdef OLD_FONT" and "endif".
5515 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
5516
5517 * w32font.h (struct w32font_info): New member.
5518 (FONT_COMPAT): New macro.
5519 (w32font_open_internal): Prototype adjusted.
5520
5521 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
5522 OLD_FONT" and "endif".
5523
5524 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
5525 conditionals. Don't check enable_font_backend. Delete all codes
5526 used only when USE_FONT_BACKEND is not defined.
5527 (w32font_open): Return a font-object. Make a font-object by
5528 font_make_object. Adjusted for the change of struct w32font_info.
5529 (w32font_close): Don't free struct font. Adjusted for the change
5530 of struct w32font_info.
5531 (w32font_encode_char, w32font_text_extents, w32font_draw):
5532 Adjusted for the change of struct w32font_info.
5533 (w32font_draw): Likewise.
5534 (w32font_list_internal): Return a list, not vector.
5535 (w32font_open_internal): Change the 4th arg to font-object.
5536 Adjusted for the change of struct w32font_info and font-object format.
5537 (add_font_name_to_list): Don't downcase names.
5538 (w32_enumfont_pattern_entity): Make a font-entity by
5539 font_make_entity. Adjusted for the format change of font-entity.
5540 Use FONT_SET_STYLE to set a style-related font property. If a
5541 font is scalable, set avgwidth property to 0. Set font-entity
5542 property by font_put_extra.
5543 (font_matches_spec): Adjusted for the format change of font-entity.
5544 (w32_weight_table, w32_decode_weight): New variables.
5545 (w32_encode_weight): New function.
5546 (fill_in_logfont): Adjusted for the format change of font-spec.
5547 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
5548 weight value.
5549 (w32font_driver): Adjusted for the change of struct font_driver.
5550
5551 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
5552 conditionals. Don't check enable_font_backend. Surround non-used
5553 code by "#ifdef OLD_FONT" and "endif".
5554 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
5555 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
5556
5557 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
5558 conditionals. Don't check enable_font_backend. Delete all codes
5559 used only when USE_FONT_BACKEND is not defined. Surround non-used
5560 code by "#ifdef OLD_FONT" and "endif".
5561
5562 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
5563 (uniscribe_open): Return value changed to font-object.
5564 Adjusted for the format change of font-object.
5565 (uniscribe_otf_capability): Adjusted for the change of struct font.
5566 (add_opentype_font_name_to_list): Don't downcase names.
5567 (uniscribe_font_driver): Adjusted for the change of struct
5568 font_driver.
5569
55702008-05-13 Chong Yidong <cyd@stupidchicken.com>
5571
5572 * dispnew.c (update_frame_1): Check if tty output is still valid
5573 before flushing it.
5574
55752008-05-13 Jan Djärv <jan.h.d@swipnet.se>
5576
5577 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
5578 to Gtk+ menus.
5579
55802008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
5581
5582 * dired.c (file_name_completion): Tweak the code so as to always do it
5583 in a single pass. Tighten the scope of some variables.
5584
5585 * dired.c (Qdefault_directory): New var.
5586 (file_name_completion): Use it instead of Fexpand_file_name.
5587 (syms_of_dired): Initialize it.
5588
55892008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
5590
5591 * fileio.c (double_dollars): Remove dead code.
5592
55932008-05-10 Eli Zaretskii <eliz@gnu.org>
5594
5595 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
5596 Mention w32-get-true-file-attributes in doc string.
5597
5598 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
5599
56002008-05-09 Glenn Morris <rgm@gnu.org>
5601
5602 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
5603 2008-04-23.
5604
56052008-05-09 Eli Zaretskii <eliz@gnu.org>
5606
5607 Support for reporting owner and group of each file on MS-Windows:
5608 * dired.c (stat_uname, stat_gname): New functions, with special
5609 implementation for w32.
5610 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
5611
5612 * w32.c: Rename the_passwd_* to dflt_passwd_*.
5613 (dflt_group_name): New static variable.
5614 (dflt_group): Rename from the_group.
5615 (init_user_info): Init dflt_group fields. Get user's group name
5616 from LookupAccountSid.
5617 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
5618 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
5619 New initialization states.
5620 (globals_of_w32): Initialize them to zero. Initialize the default
5621 group name to "None".
5622 (GetFileSecurity_Name): New global var, the name of the function
5623 to call for GetFileSecurity.
5624 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
5625 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
5626 (get_file_security, get_security_descriptor_owner)
5627 (get_security_descriptor_group, is_valid_sid)
5628 (get_file_security_desc, get_rid, get_name_and_id)
5629 (get_file_owner_and_group): New functions.
5630 (stat): Use get_file_security_desc and get_file_owner_and_group to
5631 report the owner and primary group of each file. Don't ignore the
5632 high 32 bits of file's size, now that st_size is 64-bit wide.
5633 Fix test when to get true file attributes.
5634 (init_user_info): Use get_rid instead of equivalent inline code.
5635 (fstat): Don't ignore the high 32 bits of file's size.
5636
56372008-05-09 Chong Yidong <cyd@stupidchicken.com>
5638
5639 * image.c (png_load): Use correct bit-depth for setting background
5640 color.
5641
56422008-05-08 Eli Zaretskii <eliz@gnu.org>
5643
5644 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
5645 epa-hook.elc.
5646
56472008-05-08 Juanma Barranquero <lekktu@gmail.com>
5648
5649 * font.c (Ffont_match_p): Don't use `iff' in docstring.
5650
56512008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
5652
5653 * macfns.c (Fx_create_frame): Make a copy of frame parameters
5654 because the original parameters are in pure storage now.
5655 (mac_window): Remove unused params. Update callers.
5656
56572008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
5658
5659 * lread.c (substitute_object_recurse): Use lower-level primitives.
5660 Don't signal errors when traversing sub-char-tables.
5661 Don't loop over all the possible characters when traversing char-tables.
5662
5663 * print.c (print_preprocess): Add sub-char-tables to the print-table,
5664 just like we do in print.c.
5665
56662008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
5667
5668 * minibuf.c (Ftry_completion): Remove code left over from when we used
5669 scmp instead of Fcompare_strings.
5670
56712008-05-04 Juanma Barranquero <lekktu@gmail.com>
5672
5673 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
5674
56752008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5676
5677 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
5678 Create bitmap context in native byte order.
5679
5680 * macterm.c (XDrawLine)
5681 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
5682 context in native byte order.
5683
56842008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5685
5686 * config.in: Regenerate.
5687
5688 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
5689 New definitions for Image I/O support.
5690 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
5691 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
5692 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
5693 (mac_data_provider_release_data, image_load_image_io)
5694 [USE_MAC_IMAGE_IO]: New functions.
5695 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
5696 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
5697 (init_image_func_pointer) [MAC_OSX]: Remove function.
5698 (image_load_quartz2d) [MAC_OSX]: Check availability of
5699 CGImageCreateWithPNGDataProvider at compile time.
5700 Use lowercase `false' for boolean constant.
5701 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
5702 Use image_load_image_io.
5703 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
5704 Don't check MyCGImageCreateWithPNGDataProvider.
5705 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
5706 Don't call init_image_func_pointer.
5707
5708 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
5709
5710 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
5711 Make variable non-static.
5712 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
5713 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
5714
5715 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
5716 (RED_FROM_ULONG): Mask off higher bits.
5717 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
5718
5719 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
5720 Include AvailabilityMacros.h.
5721 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
5722 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
5723
57242008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
5725
5726 * chartab.c (Fset_char_table_range): If range is t, really set all
5727 chars to that value.
5728
57292008-05-03 Eli Zaretskii <eliz@gnu.org>
5730
5731 * dired.c (Ffile_attributes): Don't allow the device number become
5732 negative.
5733
57342008-05-02 Daiki Ueno <ueno@unixuser.org>
5735
5736 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
5737
57382008-05-02 Juri Linkov <juri@jurta.org>
5739
5740 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
5741 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
5742 DEFAULT argument as a list of default values in docstrings.
5743
57442008-05-01 Chong Yidong <cyd@stupidchicken.com>
5745
5746 * puresize.h (BASE_PURESIZE): Increase to 1210000.
5747
57482008-05-01 Martin Rudalics <rudalics@gmx.at>
5749
5750 * dispnew.c (change_frame_size_1): Preserve small windows when
5751 shrinking frames by calling set_window_height|width with third
5752 arg 2.
5753
5754 * window.h (struct window): Replace field too_small_ok by field
5755 resize_proportionally.
5756
5757 * window.c (make_window): Initialize resize_proportionally.
5758 (enlarge_window): Temporarily set resize_proportionally to make
5759 sure that shrink_windows does scale the window proportionally.
5760 (shrink_windows): When window has resize_proportionally set try
5761 to shrink it proportionally by stealing from other windows.
5762 (struct saved_window, Fset_window_configuration)
5763 (compare_window_configurations): Handle resize_proportionally.
5764 (WINDOW_TOTAL_SIZE): New macro.
5765 (window_min_size, shrink_windows, size_window): Use it.
5766 (check_min_window_sizes): Remove. Invalid values of
5767 window-min-height|width are handled by window_min_size_2 now.
5768 (size_window, Fsplit_window, enlarge_window)
5769 (adjust_window_trailing_edge, grow_mini_window): Don't call
5770 check_min_window_sizes.
5771 (window_min_size_2, window_min_size_1, window_min_size):
5772 New argument safe_p for retrieving "safe" minimum sizes.
5773 (Fdisplay_buffer, Fsplit_window, enlarge_window)
5774 (adjust_window_trailing_edge, grow_mini_window):
5775 Adjust arguments of window_min_size... functions.
5776 (shrink_windows): Argument min_size removed. New argument
5777 safe_p allows shrinking windows to their safe minimum sizes.
5778 Calculate minimum size and decide whether a window shall be
5779 deleted for each window individually.
5780 (size_window): When nodelete_p equals 2, tell shrink_windows to
5781 delete windows only if their new minimum size is no more safe.
5782 (shrink_window_lowest_first): Call window_min_size_1 to make
5783 sure to preserve modeline of bottom-most window when resizing
5784 the minibuffer.
5785 (Fset_window_configuration, Fcurrent_window_configuration)
5786 (compare_window_configurations): Do not handle
5787 window-min-height|width any more.
5788 (syms_of_window): Clarify window-min-height|width doc-strings.
5789
57902008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
5791
5792 * dired.c (file_name_completion): Fix up the encoding/decoding issue
5793 some more. Copy some of the code from Ftry_completions.
5794 Remove special case code that dates back to initial revision when the
5795 slash was only added when necessary and that can't trigger nowadays.
5796
57972008-04-27 Kenichi Handa <handa@m17n.org>
5798
5799 * font.c (font_prop_validate): Signal `error' instead of `font'.
5800
58012008-04-29 Jason Rumney <jasonr@gnu.org>
5802
5803 * w32fns.c (Fw32_battery_status): New defun.
5804 (syms_of_w32fns): Defsubr it.
5805
58062008-04-28 Andreas Schwab <schwab@suse.de>
5807
5808 * dired.c (file_name_completion): Fix another mixing of encoded
5809 and decoded names.
5810
58112008-04-28 Juanma Barranquero <lekktu@gmail.com>
5812
5813 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
5814
58152008-04-27 Juanma Barranquero <lekktu@gmail.com>
5816
5817 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
5818
58192008-04-27 Andreas Schwab <schwab@suse.de>
5820
5821 * dired.c (file_name_completion): Fix inappropriate mixing of
5822 encoded and decoded names.
5823
5824 * xterm.c (XTread_socket): Fix use of uninitialized variable.
5825
5826 * puresize.h (BASE_PURESIZE): Increase to 1200000.
5827
58282008-04-26 Eli Zaretskii <eliz@gnu.org>
5829
5830 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
5831 2008-03-31, it's not needed anymore with `struct stat' definition
5832 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
5833 for the same reasons.
5834
58352008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
5836
5837 * m/sparc.h: Additional redefinitions for GNU/Linux.
5838
58392008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5840
5841 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
5842 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
5843 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
5844 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
5845 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
5846 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
5847 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
5848 Likewise.
5849
5850 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
5851 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
5852 (mac_ax_number_of_characters): Add externs.
5853 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
5854 [USE_MAC_TSM]: Likewise.
5855 (mac_handle_text_input_event) [MAC_OSX]:
5856 Handle kEventTextInputOffsetToPos for no active input area case.
5857 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
5858 (mac_handle_document_access_event)
5859 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
5860 (install_application_handler) [MAC_OSX]: Register handlers for
5861 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
5862 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
5863 Register mac_handle_document_access_event.
5864
5865 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
5866 Make functions non-static.
5867
58682008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
5869
5870 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
5871 (read_file_name_completion_ignore_case, insert_default_directory)
5872 (Qdefault_directory): Move to minibuffer.el.
5873 (Fread_file_name): Call the new `read-file-name' instead.
5874
58752008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5876
5877 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
5878 Make function non-static.
5879 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
5880 Remove function.
5881 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
5882 Move to mactoolbox.c.
5883 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
5884
5885 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
5886 (mac_rect_make): New macro.
5887
5888 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
5889 instead of float.
5890 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
5891 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
5892 (XSetBackground) [USE_CG_DRAWING]: Likewise.
5893 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
5894 CGRectMake.
5895 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
5896 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
5897 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
5898 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
5899 instead of WindowRef in argument type.
5900 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
5901 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
5902 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
5903 instead of DISPLAY. All uses changed.
5904 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
5905 (x_calc_absolute_position): Simplify so as not to use
5906 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
5907
5908 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
5909 instead of WindowRef in argument type.
5910 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
5911 [TARGET_API_MAC_CARBON]: Remove externs.
5912 (create_apple_event, mac_event_parameters_to_lisp)
5913 [TARGET_API_MAC_CARBON]: Add externs.
5914
5915 * mactoolbox.c (Vmac_ts_script_language_on_focus)
5916 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
5917 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
5918 is clicked.
5919 (x_activate_menubar): Remove extern for saved_menu_event_location.
5920 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
5921 Move from mac.c.
5922
59232008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5924
5925 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
5926 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
5927
59282008-04-23 Jason Rumney <jasonr@gnu.org>
5929
5930 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
5931 attributes only for local files.
5932
5933 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
5934 default to Qlocal.
5935
59362008-04-22 Juri Linkov <juri@jurta.org>
5937
5938 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
5939 read-buffer-to-switch instead of using the letter "B".
5940
59412008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
5942
5943 * fileio.c (Qdefault_directory): New variable.
5944 (Fread_file_name): Use it to pass `dir' to the completion functions.
5945
59462008-04-20 Chong Yidong <cyd@stupidchicken.com>
5947
5948 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
5949
59502008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
5951
5952 * keyboard.c (Vpre_help_message): Remove.
5953 (show_help_echo): Remove default C code.
5954
5955 * dired.c (directory_files_internal, file_name_completion):
5956 Only call ENCODE_FILE if the string is indeed decoded.
5957
59582008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
5959
5960 * Makefile.in (TOOLKIT_DEFINES): Remove.
5961 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
5962
59632008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5964
5965 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
5966 (mactoolbox.o): New target.
5967
5968 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
5969 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
5970
5971 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
5972 Use mac_set_frame_window_background instead of XSetWindowBackground.
5973 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
5974 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
5975 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
5976 instead of SetWindowTitleWithCFString.
5977 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
5978 Move function to mactoolbox.c.
5979 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
5980 Use mac_set_window_modified instead of SetWindowModified.
5981 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
5982 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
5983 (Fx_focus_frame): Use mac_front_non_floating_window instead of
5984 FrontNonFloatingWindow. Use mac_activate_window instead of
5985 ActivateWindow. Use mac_active_non_floating_window instead of
5986 ActiveNonFloatingWindow.
5987 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
5988 Use mac_show_hourglass and mac_hide_hourglass.
5989 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
5990 instead of GetGlobalMouse.
5991 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
5992 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
5993 Use mac_bring_window_to_front instead of BringToFront.
5994 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
5995 mactoolbox.c.
5996 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
5997 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
5998 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
5999 mactoolbox.c.
6000
6001 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
6002 (XtPointer): Move typedef from macmenu.c.
6003 (enum button_type): Move enum from macmenu.c.
6004 (widget_value): Move typedef from macmenu.c.
6005 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
6006 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
6007 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
6008 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
6009 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
6010 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
6011 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
6012 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
6013 (Selection): Move typedef from macselect.c.
6014 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
6015 macterm.c.
6016 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
6017 (mac_is_window_collapsed, mac_bring_window_to_front)
6018 (mac_send_window_behind, mac_hide_window, mac_show_window)
6019 (mac_collapse_window, mac_front_non_floating_window)
6020 (mac_active_non_floating_window, mac_activate_window)
6021 (mac_move_window_structure, mac_move_window, mac_size_window)
6022 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
6023
6024 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
6025 (enum mac_menu_kind): Move enum to mactoolbox.c.
6026 (min_menu_id): Move variable to mactoolbox.c.
6027 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
6028 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
6029 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
6030 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
6031 [TARGET_API_MAC_CARBON]: Likewise.
6032 (XtPointer): Move typedef to macgui.h.
6033 (enum button_type): Move enum to macgui.h.
6034 (widget_value): Move typedef to macgui.h.
6035 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
6036 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
6037 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
6038 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
6039 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
6040 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
6041 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
6042 (popup_activated_flag): Make variable non-static.
6043 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
6044 (add_menu_item, fill_menu, dispose_menus):
6045 Move functions to mactoolbox.c.
6046 (restore_show_help_function, menu_target_item_handler)
6047 (install_menu_target_item_handler, mac_handle_dialog_event)
6048 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
6049 [TARGET_API_MAC_CARBON]: Likewise.
6050 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
6051 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
6052 (find_and_call_menu_selection, name_is_separator): Make function
6053 non-static.
6054 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
6055 to mactoolbox.c.
6056 (set_frame_menubar): Don't call install_menu_quit_handler.
6057 (menu_item_selection): New variable.
6058 (mac_menu_show): Use create_and_show_popup_menu.
6059 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
6060 selection but set variable menu_item_selection. All uses changed.
6061 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
6062 Call install_menu_quit_handler. Move to mactoolbox.c.
6063
6064 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
6065 (Selection): Move typedef to macgui.h.
6066 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
6067 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
6068 Make variables non-static.
6069 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
6070 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
6071 Make functions non-static.
6072 (Vmac_service_selection) [MAC_OSX]: Likewise.
6073 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
6074 (mac_valid_selection_target_p, mac_clear_selection)
6075 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
6076 (mac_put_selection_value, mac_selection_has_target_p)
6077 (mac_get_selection_value, mac_get_selection_target_list)
6078 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
6079 Move functions to mactoolbox.c.
6080 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
6081 Likewise.
6082 (copy_scrap_flavor_data, mac_handle_service_event)
6083 (install_service_handler) [MAC_OSX]: Likewise.
6084 (syms_of_macselect) <Vmac_dnd_known_types>:
6085 Use mac_dnd_default_known_types.
6086
6087 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
6088 Move to mactoolbox.c.
6089 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
6090 (Fx_selection_owner_p): Add EXFUN.
6091 (install_window_handler, remove_window_handler, XSetWindowBackground):
6092 Remove externs.
6093 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
6094 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
6095 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
6096 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
6097 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
6098 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
6099 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
6100 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
6101 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
6102 (create_and_show_popup_menu, mac_get_selection_from_symbol)
6103 (mac_valid_selection_target_p, mac_clear_selection)
6104 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
6105 (mac_put_selection_value, mac_selection_has_target_p)
6106 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
6107 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
6108 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
6109 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
6110 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
6111 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
6112 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
6113 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
6114 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
6115
6116 * mactoolbox.c: New file.
6117
61182008-04-18 Jason Rumney <jasonr@gnu.org>
6119
6120 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
6121
61222008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
6123
6124 * character.c (Fmultibyte_char_to_unibyte):
6125 Return latin1 chars unchanged.
6126
6127 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
6128 relocated if it points to `name'.
6129
61302008-04-17 Kenichi Handa <handa@m17n.org>
6131
6132 * data.c (Faset): Allow setting a multibyte character in an
6133 ASCII-only unibyte string.
6134
6135 * lisp.h (STRING_SET_MULTIBYTE): New macro.
6136
61372008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
6138
6139 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
6140 done in config.h.
6141
61422008-04-16 Juanma Barranquero <lekktu@gmail.com>
6143
6144 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
6145 (Fchar_direction): Add usage in the docstring.
6146
61472008-04-15 Chong Yidong <cyd@stupidchicken.com>
6148
6149 * keyboard.c (read_key_sequence): Remove always-true checks.
6150
61512008-04-14 Jason Rumney <jasonr@gnu.org>
6152
6153 * w32font.c (w32font_open_internal): Set max_bounds.descent in
6154 compatibility struct, for better underline positioning.
6155
61562008-04-13 David Hansen <david.hansen@gmx.net>
6157
6158 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
6159 string.
6160
61612008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
6162
6163 * m/hp800.h (XUINT, XSET): Remove.
6164
61652008-04-12 Juanma Barranquero <lekktu@gmail.com>
6166
6167 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
6168 previous change.
6169
61702008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
6171
6172 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
6173 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
6174
61752008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
6176
6177 * keymap.h (map_keymap_canonical): Declare.
6178 * xmenu.c (single_keymap_panes): Use it.
6179
61802008-04-11 Glenn Morris <rgm@gnu.org>
6181
6182 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
6183 set the target's value to that of the alias.
6184
61852008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
6186
6187 * term.c (set_tty_color_mode): Left over typo.
6188
61892008-04-10 Michael Albinus <michael.albinus@gmx.de>
6190
6191 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
6192 only after check for file name handler functions. Signal, when
6193 native functionality is not supported.
6194 (syms_of_fileio): Declare it unconditionally.
6195
61962008-04-10 Jason Rumney <jasonr@gnu.org>
6197
6198 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
6199 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
6200
6201 * w32.c (logon_network_drive): Also logon to remote drives that
6202 are mapped to drive letters.
6203
62042008-04-10 Glenn Morris <rgm@gnu.org>
6205
6206 * xdisp.c (truncate-partial-width-windows): Doc fix.
6207
62082008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
6209
6210 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
6211 Move functions to minibuffer.el.
6212 (syms_of_fileio): Don't declare them.
6213
62142008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
6215
6216 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
6217 (syms_of_minibuf): Remove its initialization.
6218
6219 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
6220
62212008-04-09 Juanma Barranquero <lekktu@gmail.com>
6222
6223 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
6224
62252008-04-09 Jason Rumney <jasonr@gnu.org>
6226
6227 * makefile.w32-in (distclean): Delete makefile too.
6228 (maintainer-clean): New target.
6229
6230 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
6231
6232 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
6233 for new font backend and composite cases.
6234
62352008-04-09 Jan Djärv <jan.h.d@swipnet.se>
6236
6237 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
6238 Most of the code moved to run_timers.
6239 (do_pending_atimers): Call run_timers.
6240 (run_timers): New function.
6241
6242 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
6243 run atimers.
6244
6245 * process.c (wait_reading_process_output): The same as above.
6246
62472008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
6248
6249 * minibuf.c (last_exact_completion): Remove variable.
6250 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
6251 (complete_and_exit_1, complete_and_exit_2)
6252 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
6253 (Fdisplay_completion_list, display_completion_list_1)
6254 (Fminibuffer_completion_help, Fself_insert_and_exit)
6255 (Fexit_minibuffer, Fminibuffer_message): Move functions to
6256 minibuffer.el.
6257 (syms_of_minibuf): Remove corresponding initializations.
6258
6259 * keyboard.c (Qdeactivate_mark): New var.
6260 (command_loop_1): Use it to call `deactivate-mark'.
6261 (syms_of_keyboard): Initialize it.
6262
6263 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
6264 to another frame.
6265 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
6266 Don't call set_tty_color_mode.
6267 (store_frame_param): Reset previous_frame rather than call
6268 set_tty_color_mode.
6269 * term.c (set_tty_color_mode): Rewrite.
6270 * dispextern.h (set_tty_color_mode): New type.
6271 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
6272
62732008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
6274
6275 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
6276 for generic chars, which do not exist any more in emacs-unicode.
6277
62782008-04-08 Michael Albinus <michael.albinus@gmx.de>
6279
6280 * coding.c (detect_coding_emacs_mule)
6281 (Ffind_operation_coding_system): Fix typo.
6282
62832008-04-08 Jason Rumney <jasonr@gnu.org>
6284
6285 * w32uniscribe.c (SNAME): Extract only symbol name.
6286
6287 * w32font.h (struct w32_metric_cache): New struct.
6288 (w32font_info): Use it.
6289 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
6290 (CACHE_BLOCKSIZE): New constants.
6291
6292 * w32font.c (Qja, Qko, Qzh): New symbols.
6293 (syms_of_w32font): Initialise them.
6294 (font_matches_spec): Use them to filter by language.
6295 (recompute_cached_metrics): Remove function.
6296 (compute_metrics, clear_cached_metrics): New functions.
6297 (w32font_encode_char): Use them to manage metric cache.
6298 (w32font_text_extents): Cache metrics for all glyphs on demand.
6299 Delay converting glyph indices to WORD until needed.
6300 (w32font_open_internal): Initialize metric cache to empty.
6301 (registry_to_w32_charset): Charset should always be a symbol.
6302 (fill_in_logfont, list_all_matching_fonts): Family should
6303 always be a symbol.
6304
63052008-04-06 Jason Rumney <jasonr@gnu.org>
6306
6307 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
6308 Give up if glyph indices not supported. Use uniscribe obtained
6309 ABC widths for individual metrics. Map glyph clusters back to
6310 characters using fClusterStart flag. Return number of glyphs
6311 produced, not chars processed.
6312 (uniscribe_shape): Map char at FROM to current glyph.
6313
63142008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6315
6316 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
6317 Use SetMenuItemHierarchicalMenu.
6318
63192008-04-05 Jason Rumney <jasonr@gnu.org>
6320
6321 * image.c (pbm_load): Allow color values up to 65535.
6322 Throw an error if max_color_idx is outside the supported range.
6323 Report an error when image size is invalid.
6324 Read two bytes at a time when raw images have max_color_idx above 255.
6325
63262008-04-05 Eli Zaretskii <eliz@gnu.org>
6327
6328 * w32.c (readdir): If FindFirstFile/FindNextFile return in
6329 cFileName a file name that includes `?' characters, use the 8+3
6330 alias in cAlternateFileName instead.
6331
63322008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
6333
6334 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
6335 append "CCL: Quitted" when the CCL program is quitted.
6336 (setup_ccl_program): Initialize ccl->quit_silently to zero.
6337
6338 * ccl.h (struct ccl_program): New member quit_silently.
6339
63402008-04-05 Chong Yidong <cyd@stupidchicken.com>
6341
6342 * search.c (compile_pattern_1): Treat non-nil and non-string of
6343 search-spaces-regexp as nil.
6344
6345 * minibuf.c (Fassoc_string): Tweak docstring.
6346
63472008-04-05 Eli Zaretskii <eliz@gnu.org>
6348
6349 * dired.c (Ffile_attributes): Support inode numbers wider than 32
6350 bits. Remove ugly WINDOWSNT-specific kludge introduced on
6351 2008-03-14 to force inode be positive.
6352
6353 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
6354 _S_* ones, since we now use our own sys/stat.h.
6355 (stat, fstat): Don't mangle the inode number.
6356 (init_user_info): Don't restrict UID and GID to 0-60000 range.
6357
63582008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
6359
6360 * frame.h (struct frame): Give one more bit to `visible' since we use
6361 values larger than 1 to indicate obscured frames on ttys.
6362
6363 * keymap.c (Qkeymap_canonicalize): New var.
6364 (Fmap_keymap_internal): New fun.
6365 (describe_map): Use keymap-canonicalize.
6366
6367 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
6368 (Fundo_boundary): Set them.
6369 (syms_of_undo): Initialize them.
6370 (record_point): Use them instead of last_point_position*.
6371 (last_undo_buffer): Change type.
6372
63732008-04-04 Jason Rumney <jasonr@gnu.org>
6374
6375 * w32font.c (w32font_text_extents): Use font's ascent and descent.
6376 (recompute_cached_metrics): Don't set ascent and descent per char.
6377
6378 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
6379 (uniscribe_check_otf): Add GC protection before consing.
6380 Rearrange loop for counting features.
6381
63822008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
6383
6384 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
6385 buffer with byte-size of source buffer.
6386
63872008-04-03 Chong Yidong <cyd@stupidchicken.com>
6388
6389 * callint.c (Fcall_interactively): Handle temporary region even
6390 when shift-select-mode is off.
6391
63922008-04-03 Jason Rumney <jasonr@gnu.org>
6393
6394 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
6395
63962008-04-03 Kenichi Handa <handa@m17n.org>
6397
6398 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
6399 (CATEGORY_MASK_UTF_16): Likewise.
6400 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
6401 binary file.
6402 (detect_coding): Add null-byte detection for a binary file.
6403 (detect_coding_system): Likewise.
6404
64052008-04-03 Jason Rumney <jasonr@gnu.org>
6406
6407 * w32uniscribe.c: New file.
6408
6409 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
6410
6411 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
6412
6413 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
6414 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
6415 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
6416 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
6417 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
6418 (Qphonetic): New symbols.
6419 (syms_of_w32font): Initialize them.
6420 (font_supported_scripts): Use them.
6421 (w32font_list_family): List all charsets.
6422 (w32font_text_extents, recompute_cached_metrics): Fix metric
6423 calculations.
6424 (w32_enumfont_pattern_entity): Make full_type a DWORD.
6425 Give opentype fonts their own format.
6426 (font_matches_spec): New arguments backend and logfont.
6427 Handle :otf spec for uniscribe backend.
6428 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
6429 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
6430
6431 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
6432 font backend.
6433 (globals_of_w32fns): Initialize uniscribe font backend.
6434
6435 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
6436 dependencies.
6437 (w32uniscribe.$(O)): New file to build.
6438 (FONT_OBJ): Include w32uniscribe.$(O).
6439 (LIBS): Add uniscribe libraries.
6440
6441 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
6442
64432008-04-02 Chong Yidong <cyd@stupidchicken.com>
6444
6445 * callint.c (Vshift_select_mode): New var.
6446 (Finteractive): Document new ^ spec.
6447 (Fcall_interactively): Call handle-shift-selection if the ^ spec
6448 is present.
6449
6450 * keyboard.c (Vthis_command_keys_shift_translated): New var.
6451 (command_loop_1): Avoid running the direct display versions of
6452 forward-char and backward-char if shift-selection may occur.
6453 (read_key_sequence): Set Vthis_command_keys_shift_translated if
6454 shift-translation takes place.
6455
6456 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
6457 avoid clobbering by define-minor-mode.
6458
6459 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
6460 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
6461
6462 * syntax.c (Fforward_word): Add ^ interactive spec.
6463
6464 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
6465 (Fscroll_right): Add ^ interactive spec.
6466
64672008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
6468
6469 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
6470
6471 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
6472
6473 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
6474
64752008-03-31 Juri Linkov <juri@jurta.org>
6476
6477 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
6478
64792008-03-30 Jan Djärv <jan.h.d@swipnet.se>
6480
6481 * gtkutil.c (xg_set_geometry): Fix indentation.
6482 (xg_resize_outer_widget): Remove.
6483 (x_wm_size_hint_off): Fix indentation.
6484 (xg_frame_set_char_size): Call flush_and_sync after
6485 gtk_window_resize.
6486 (x_wm_set_size_hint): Pass NULL as geometry window to
6487 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
6488 Add menu bar and tool bar height to base height.
6489 (xg_update_frame_menubar, free_frame_menubar)
6490 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
6491 (update_frame_tool_bar, free_frame_tool_bar):
6492 Change xg_resize_outer_widget to xg_frame_set_char_size.
6493
64942008-03-30 Michael Albinus <michael.albinus@gmx.de>
6495
6496 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
6497 (Fdbus_call_method): New parameter TIMEOUT.
6498 (dbus-send-signal): Optimize UNGCPRO call.
6499
65002008-03-29 Juri Linkov <juri@jurta.org>
6501
6502 * window.c (Fdisplay_buffer): Move call to
6503 Vsplit_window_preferred_function out of conditions that check
6504 if window is eligible for vertical splitting.
6505 When Vsplit_window_preferred_function is non-nil, call it and use
6506 its non-nil return value as window. Otherwise, continue doing
6507 vertical splitting using Fsplit_window with arg horflag=nil.
6508 (syms_of_window) <Vsplit_window_preferred_function>: Change the
6509 default value from `split-window' to nil.
6510
65112008-03-29 Juri Linkov <juri@jurta.org>
6512
6513 * callint.c (Fcall_interactively): Revert 2008-03-16 change
6514 for interactive code letters 'b' and 'B'.
6515
65162008-03-29 Eli Zaretskii <eliz@gnu.org>
6517
6518 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
6519 multibyte string.
6520
65212008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
6522
6523 * keyboard.c (pending_funcalls): New var.
6524 (timer_check): Run it.
6525 (syms_of_keyboard): Initialize it.
6526 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
6527 (Vdelete_terminal_functions): New vars.
6528 (syms_of_terminal): Initialize them.
6529 (Fdelete_terminal): Run delete-terminal-functions.
6530 * xdisp.c (safe_eval): Rewrite.
6531 (safe_call2): New fun.
6532 * frame.c (Qdelete_frame_functions): New var.
6533 (syms_of_frame): Initialize it.
6534 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
6535 * lisp.h (safe_call2, pending_funcalls): Declare.
6536
65372008-03-28 Andreas Schwab <schwab@suse.de>
6538
6539 * indent.c (Fmove_to_column): Move declaration before statements.
6540
65412008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
6542
6543 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
6544 (struct frame): Use bit fields for boolean vars.
6545
6546 * process.c (server_accept_connection): Simplify naming.
6547 (emacs_get_tty_pgrp): Use SDATA.
6548
6549 * coding.c (decode_coding_object): Fix last change.
6550
65512008-03-27 Jason Rumney <jasonr@gnu.org>
6552
6553 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
6554
65552008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
6556
6557 * charset.c (Fdefine_charset_internal): Change the way of
6558 registering charsets in Vcharset_order_list.
6559 (syms_of_charset): Make the charset `eight-bit' supplementary.
6560
65612008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
6562
6563 * regex.c (EXTEND_BUFFER): Change order of pointer addition
6564 operations, to avoid having the difference between pointers
6565 overflow.
6566
65672008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
6568
6569 * indent.c (check_display_width): New fun.
6570 (scan_for_column): Use it.
6571
6572 * data.c (syms_of_data): Mark most-positive-fixnum and
6573 most-negative-fixnum as constants.
6574
6575 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
6576
6577 * indent.c (scan_for_column): Extract from current_column_1.
6578 Merge with the same code from Fmove_to_column.
6579 (current_column_1, Fmove_to_column): Use it.
6580
65812008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
6582
6583 * keymap.c (map_keymap_internal): New fun.
6584 (map_keymap): Use it.
6585 (Fmap_keymap_internal): New fun.
6586 (Fmap_keymap): Remove left-out test from before make_save_value.
6587
6588 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
6589
6590 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
6591 Use XCAR/XCDR.
6592
6593 * process.h (struct Lisp_Process): Remove filter_multibyte.
6594 * process.c (QCfilter_multibyte): Remove.
6595 (setup_process_coding_systems): Don't use filter_multibyte.
6596 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
6597 (read_process_output): Don't adjust multibyteness to filter_multibyte.
6598 (Fset_process_filter_multibyte): Change the coding-system to
6599 approximate the previous behavior.
6600 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
6601 coding-system.
6602
6603 * coding.c (decode_coding_object): When not decoding into a buffer,
6604 obey the coding system's preference of (uni|multi)byte.
6605
66062008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
6607
6608 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
6609 every char is changed and has a different byte-length.
6610 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
6611 Fix int -> EMACS_INT.
6612
66132008-03-23 David Hansen <david.hansen@gmx.net>
6614
6615 * dbusbind.c (xd_read_message): Remove extra copying of message
6616 strings. Check for NULL `interface' or `member'.
6617
66182008-03-22 Eli Zaretskii <eliz@gnu.org>
6619
6620 * w32.c (readdir): If FindFirstFile/FindNextFile return in
6621 cFileName a file name that includes `?' characters, use the 8+3
6622 alias in cAlternateFileName instead.
6623
66242008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
6625
6626 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
6627
66282008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
6629
6630 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
6631 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
6632 work on current_buffer only instead (that was already the case
6633 for some of the code anyway).
6634 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
6635 (temp_set_point, temp_set_point_both): Use EMACS_INT.
6636 (SET_PT, SET_PT_BOTH): Adjust.
6637 * intervals.h (set_point, temp_set_point, set_point_both)
6638 (temp_set_point_both): Remove redundant declarations.
6639
66402008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
6641
6642 * fileio.c (Finsert_file_contents):
6643 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
6644 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
6645 when buffer != current_buffer anyway.
6646
66472008-03-20 Andreas Schwab <schwab@suse.de>
6648
6649 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
6650 as default.
6651
66522008-03-19 Jason Rumney <jasonr@gnu.org>
6653
6654 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
6655 (syms_of_w32fns): Initialize them.
6656 (HOURGLASS_ID): New constant.
6657 (x_window_to_frame): Don't check hourglass_window.
6658 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
6659 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
6660 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
6661 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
6662 Only change the cursor if hourglass is not active.
6663 (Fx_create_frame): Initialize frame's current_cursor.
6664 (hourglass_atimer): Remove.
6665 (hourglass_started): New function.
6666 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
6667 (show_hourglass): Adapt to w32, changing argument to frame.
6668
6669 * w32term.h (struct w32_output): Remove hourglass_window.
6670 Add current_cursor.
6671
6672 * eval.c (call_debugger, Fsignal):
6673 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
6674 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
6675 (Fexecute_extended_command, cancel_hourglass_unwind):
6676 * minibuf.c (read_minibuf):
6677 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
6678
66792008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
6680
6681 * window.c (run_funs): New fun.
6682 (run_window_configuration_change_hook): Use it to run the buffer-local
6683 and the global part of the hook.
6684
6685 * xdisp.c (format_mode_line_unwind_data): Add window argument.
6686 (unwind_format_mode_line): Restore selected window.
6687 (x_consider_frame_title, Fformat_mode_line): Set selected window.
6688
66892008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
6690
6691 * editfns.c (Fchar_equal): Check they are valid characters.
6692
6693 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
6694
66952008-03-17 Andreas Schwab <schwab@suse.de>
6696
6697 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
6698 against a charset.
6699
6700 * lisp.h (Fbuffer_list): Declare.
6701
67022008-03-17 Jan Djärv <jan.h.d@swipnet.se>
d6c952f8 6703
aac0c6e3
MR
6704 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
6705 handlebox_widget is != 0.
6706
67072008-03-16 Juri Linkov <juri@jurta.org>
6708
6709 * callint.c (Fcall_interactively): For interactive code letters
6710 'b' and 'B' put the buffer list into the list of default "future"
6711 values of the minibuffer.
6712
67132008-03-16 Andreas Schwab <schwab@suse.de>
6714
6715 * keyboard.c (read_key_sequence): Fix downcasing of letters with
6716 modifiers.
6717
6718 * regex.c (re_match_2_internal): Correct matching of a charset
6719 against latin-1 characters.
6720
67212008-03-16 Kenichi Handa <handa@m17n.org>
6722
6723 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
6724 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
6725 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
6726 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
6727 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
6728 CHAR_STRING_ADVANCE.
6729 (produce_chars): Fix for the case that the source and the
6730 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
6731 instead of CHAR_STRING_ADVANCE.
6732 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
6733 STRING_CHAR_ADVANCE.
6734
67352008-03-15 Andreas Schwab <schwab@suse.de>
6736
6737 * regex.c (re_match_2_internal): Correct matching of eight bit
6738 characters in unibyte strings.
6739
67402008-03-15 Martin Rudalics <rudalics@gmx.at>
6741
6742 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
6743 at end of range when it coincides with the end of the buffer.
6744
67452008-03-14 Eli Zaretskii <eliz@gnu.org>
6746
6747 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
6748
6749 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
6750
67512008-03-14 Jason Rumney <jasonr@gnu.org>
6752
6753 * editfns.c (initial_tz): New variable.
6754 (syms_of_editfns): Initialize it.
6755 (Fset_time_zone_rule): Set it when first called.
6756 Use it when TZSTRING is nil.
6757
6758 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
6759 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
6760 (monitor_from_point_fn, get_monitor_info_fn): New globals.
6761 (globals_of_w32fns): Initialize them.
6762 (compute_tip_xy): Use them to position tooltips.
6763
67642008-03-14 Glenn Morris <rgm@gnu.org>
6765
6766 * emacs.c (main): Revert previous change.
6767 (standard_args): Revert -internal-script back to -scriptload,
6768 and remove the long-option form.
6769
67702008-03-13 Glenn Morris <rgm@gnu.org>
6771
6772 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
6773 Remove option -enable-font-backend.
6774
67752008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
6776
6777 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
6778
67792008-03-11 Jan Djärv <jan.h.d@swipnet.se>
6780
6781 * xterm.c (x_connection_closed): For GTK: If this is the last
6782 terminal just exit without closing the display.
6783
67842008-03-11 Jason Rumney <jasonr@gnu.org>
6785
6786 * w32font.c (w32font_full_name): Use floor to round.
6787
67882008-03-10 dhruva <dhruvakm@gmail.com> (tiny change)
6789
6790 * sound.c (alsa_configure): Declare vol at beginning of block.
6791
6792 * fontset.c (Ffontset_info): Remove extra semicolon.
6793
67942008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
6795
6796 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
6797 size of resulting string.
6798
67992008-03-10 Jason Rumney <jasonr@gnu.org>
6800
6801 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
6802
68032008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6804
6805 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
6806 Don't pretend as if characters with display property haven't been
6807 consumed for string-replacing-string case.
6808
68092008-03-08 Kim F. Storm <storm@cua.dk>
6810
6811 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
6812 (get_next_display_element, next_element_from_string)
6813 (next_element_from_ellipsis, next_element_from_buffer): Use it.
6814
68152008-03-08 Andreas Schwab <schwab@suse.de>
6816
6817 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
6818
68192008-03-06 Jason Rumney <jasonr@gnu.org>
6820
6821 * w32font.c (w32_registry): Take font_type argument. Use ANSI
6822 when charset not specified. Only translate ANSI to unicode when
6823 font_type is truetype.
6824 (w32font_coverage_ok): New function.
6825 (add_font_entity_to_list): Use it to filter unsuitable fonts.
6826
68272008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
6828
6829 * lread.c (Fread_char): Resolve modifiers.
6830 (Fread_char_exclusive): Likewise.
6831
6832 * character.c (char_resolve_modifier_mask): New function.
6833 (char_string): Use char_resolve_modifier_mask.
6834 (Fchar_resolve_modifiers): New function.
6835 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
6836 function.
6837
68382008-03-04 Jason Rumney <jasonr@gnu.org>
6839
6840 * makefile.w32-in: Always include w32font.c in the build.
6841 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
6842
68432008-03-04 Andreas Schwab <schwab@suse.de>
6844
6845 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
6846 (versionclean): Likewise.
6847
68482008-03-04 Juanma Barranquero <lekktu@gmail.com>
6849
6850 * .cvsignore: Add oo.
6851
68522008-03-03 Andreas Schwab <schwab@suse.de>
6853
6854 * coding.c (decode_coding_object): Inhibit gap shrinking while
6855 decoding in place.
6856
68572008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
6858
6859 * w32term.c: Remove unused include "gnu.h".
6860 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
6861
6862 * gnu.h: Rename to ...
6863 * emacs-icon.h: ... this.
6864 * xterm.c: Use emacs-icon.h instead of gnu.h.
6865 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
6866
68672008-03-03 Juanma Barranquero <lekktu@gmail.com>
6868
6869 * w32font.c: Include math.h.
6870
68712008-03-03 Jason Rumney <jasonr@gnu.org>
6872
6873 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
6874 Compute options separately.
6875 (w32font_open_internal): Set glyph_idx before caching metrics.
6876
6877 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
6878 Define if system headers don't.
6879 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
6880 (w32font_encode_char): Don't declare here.
6881
6882 * w32font.c (Quniscribe, QCformat): New symbols.
6883 (syms_of_w32font): Define them.
6884 (w32font_has_char): Indicate uncertainty.
6885 (w32font_encode_char): Encode as glyph point. Make static.
6886 (recompute_cached_metrics): New function.
6887 (w32font_open_internal): Use it. Set font to use glyph points
6888 initially. Set format based on type of font.
6889 (w32font_text_extents, w32font_draw): Optionally use glyph points.
6890 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
6891 on it. Set format based on information available here.
6892 (add_font_entity_to_list): Identify backend based on opentype_only.
6893
68942008-03-02 Andreas Schwab <schwab@suse.de>
6895
6896 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
6897
6898 * coding.c (decode_coding_big5, produce_chars):
6899 Fix typos in last change.
6900
69012008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
6902
6903 * gnu.h: New icon.
6904
69052008-03-02 Kenichi Handa <handa@m17n.org>
6906
6907 * coding.c (decode_coding_utf_8): When eol-type of CODING is
6908 `dos', don't decode '\r' if that is the last in the source.
6909 (decode_coding_utf_16, decode_coding_emacs_mule)
6910 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
6911 (decode_coding_raw_text, decode_coding_charset): Likewise.
6912 (produce_chars): Don't decode EOL here. Use EMACS_INT.
6913
69142008-03-01 Jason Rumney <jasonr@gnu.org>
6915
6916 * w32font.c (w32font_full_name): Report point size for scalable fonts.
6917
69182008-03-01 Kim F. Storm <storm@cua.dk>
6919
6920 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
6921
69222008-03-01 Jason Rumney <jasonr@gnu.org>
6923
6924 * w32font.c (w32font_full_name): New function.
6925 (w32font_open_internal): Use it.
6926
69272008-03-01 Kim F. Storm <storm@cua.dk>
6928
6929 * dispnew.c (line_draw_cost): Fix invalid glyph check.
6930
69312008-03-01 Jason Rumney <jasonr@gnu.org>
6932
6933 * font.c (font_unparse_fcname): Increase len when style is a symbol.
6934
69352008-03-01 Jan Djärv <jan.h.d@swipnet.se>
6936
6937 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
6938 xg_frame_resized when the event is for the edit widget.
6939
6940 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
6941
6942 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
6943 set_char_size.
6944 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
6945 operations on widgets here. Just set frame size if needed.
6946 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
6947 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
6948 (x_wm_set_size_hint): Set size hints on the edit widget only, not
6949 the whole frame.
6950 (xg_create_tool_bar): Move attachment of the tool bar to
6951 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
6952 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
6953
69542008-03-01 Jason Rumney <jasonr@gnu.org>
6955
6956 * w32fns.c (w32_msg_pump): Disable debug code.
6957
69582008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6959
6960 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
6961
69622008-02-29 Chong Yidong <cyd@stupidchicken.com>
6963
6964 * xdisp.c (next_overlay_string): Don't set
6965 overlay_strings_at_end_processed_p if we're currently reading from
6966 a display string.
6967
69682008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
6969
6970 * xdisp.c (get_overlay_strings_1): Fix typo.
6971
69722008-02-29 Chong Yidong <cyd@stupidchicken.com>
6973
6974 * xdisp.c (get_overlay_strings_1): Add missing argument type.
6975
69762008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
6977
6978 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
6979
6980 * xdisp.c (display_mode_element): Cancel the previous change.
6981 (decode_mode_spec): Likewise.
6982 (handle_auto_composed_prop): Don't make composition if it->string
6983 is a string.
6984
69852008-02-27 Kim F. Storm <storm@cua.dk>
6986
6987 * lisp.h (GLYPH): Change type from int to struct with separate char
6988 and face_id members.
6989 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
6990 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
6991 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
6992 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
6993 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
6994 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
6995 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
6996 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
6997 handle new Lisp glyph code encoding, either an integer or a cons.
6998
6999 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
7000 (GLYPH_ALIAS): Delete.
7001 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
7002 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
7003 (GLYPH_FROM_CHAR): Replace macro by ...
7004 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
7005
7006 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
7007 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
7008 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
7009 (GLYPH_INVALID_P): New macro.
7010 (spec_glyph_lookup_face): Update prototype.
7011
7012 * dispnew.c (line_draw_cost): Adapt to new glyph type.
7013 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
7014 new glyph code encoding.
7015 (spec_glyph_lookup_face): No return value; update passed glyph instead.
7016 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
7017
7018 * xdisp.c (get_next_display_element, next_element_from_display_vector):
7019 Adapt to new glyph type and new glyph code encoding.
7020
7021 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
7022
7023 * indent.c (current_column, current_column_1, Fmove_to_column)
7024 (compute_motion): Adapt to new glyph code encoding.
7025
7026 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
7027
70282008-02-27 Chong Yidong <cyd@stupidchicken.com>
7029
7030 * process.c (wait_reading_process_output): Check for window
7031 changes caused by timers.
7032 Suggested by Johan Bockgård.
7033
70342008-02-27 Glenn Morris <rgm@gnu.org>
7035
7036 * emacs.c (USAGE1): Add `--disable-font-backend'.
7037
70382008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
7039
7040 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
7041 is made to the buffer.
7042
70432008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
7044
7045 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
7046 (face_at_string_position):
7047 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
7048 (face_at_string_position):
7049 * xdisp.c (display_string, next_overlay_change):
7050 * buffer.h (overlays_at):
7051 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
7052 Update callers.
7053
70542008-02-26 Chong Yidong <cyd@stupidchicken.com>
7055
7056 * editfns.c (Fformat): Doc fix.
7057
70582008-02-26 Juanma Barranquero <lekktu@gmail.com>
7059
7060 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
7061 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
7062 (Ffont_otf_alternates, Fquery_font): Doc fixes.
7063
70642008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
7065
7066 * buffer.c (Fbuffer_swap_text): New function.
7067 (syms_of_buffer): Defsubr it.
7068
70692008-02-25 Chong Yidong <cyd@stupidchicken.com>
7070
7071 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
7072
70732008-02-25 Jason Rumney <jasonr@gnu.org>
7074
7075 * w32font.c (w32font_draw): Draw one character at a time when padding.
7076
70772008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
7078
7079 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
7080 Handle a nil arg. Use run_window_configuration_change_hook.
7081 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
7082 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
7083 Use run_window_configuration_change_hook.
7084
70852008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
7086
7087 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
7088 1-pixel width.
7089
70902008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
7091
7092 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
7093 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
7094 if the glyph in the font is zero pixel with.
7095
7096 * dispextern.h (struct glyph_string): New member padding_p.
7097
7098 * w32font.c (w32font_draw): Pay attention to s->padding_p.
7099
7100 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
7101
7102 * xfont.c (xfont_draw): Pay attention to s->padding_p.
7103
7104 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
7105
7106 * font.c: If the font driver doesn't have `shape' function, return Qnil.
7107
71082008-02-25 Jason Rumney <jasonr@gnu.org>
7109
7110 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
7111
71122008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
7113
7114 Allow fine-grained image-cache flushing.
7115 * dispextern.h (struct image): Add `dependencies' field.
7116 (clear_image_caches): Change arg to Lisp_Object.
7117 * image.c (make_image): Initialize `dependencies' field.
7118 (clear_image_cache): Change arg to allow fine-grained flushing.
7119 Perform the flush even if image-cache-eviction-delay is nil.
7120 (clear_image_caches): Change arg to Lisp_Object.
7121 (Fclear_image_cache): Expand meaning of the argument.
7122 (mark_image): Mark `dependencies' field.
7123 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
7124 (lface_hash): Use XHASH rather than XFASTINT.
7125 (face_at_buffer_position): Fix int -> EMACS_INT position.
7126 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
7127 (select_frame_for_redisplay): Remove code duplication.
7128 (redisplay_internal): Adapt arg to call to clear_image_caches.
7129
71302008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
7131
7132 * s/vms4-0.h:
7133 * s/vms4-2.h:
7134 * s/vms4-4.h:
7135 * s/vms5-5.h: Remove, unused.
7136
7137 * s/irix5-2.h:
7138 * s/irix6-0.h:
7139 * s/riscos5.h:
7140 * s/mach-bsd4-3.h:
7141 * m/mips4.h: Remove files for obsolete systems.
7142
7143 * Makefile.in:
7144 * filelock.c:
7145 * unexmips.c:
7146 * m/hp9000s300.h:
7147 * m/iris4d.h:
7148 * s/aix3-1.h:
7149 * s/hpux.h:
7150 * s/msdos.h:
7151 * s/usg5-0.h:
7152 * s/usg5-2-2.h:
7153 * s/usg5-2.h:
7154 * s/usg5-3.h: Remove references to obsolete variables.
7155
7156 * s/irix5-0.h: Remove, move all the contents ...
7157 * s/irix6-5.h: ... here. Simplify.
7158 * config.in: Regenerate.
7159
71602008-02-24 Jason Rumney <jasonr@gnu.org>
7161
7162 * w32term.c (x_draw_glyph_string_background): Clear the background
7163 manually when cleartype is in use.
7164 (x_draw_glyph_string_foreground): Draw text transparently when
7165 cleartype is in use.
7166
7167 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
7168 a font into it unless we have to.
7169
71702008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
7171
7172 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
7173 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
d6c952f8 7174
aac0c6e3
MR
71752008-02-18 Jason Rumney <jasonr@gnu.org>
7176
7177 * w32fns.c (Fw32_shell_execute): Encode parameters.
7178
71792008-02-09 Eli Zaretskii <eliz@gnu.org>
7180
7181 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
7182
71832008-02-05 Juanma Barranquero <lekktu@gmail.com>
7184
7185 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
7186
71872008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
7188
7189 * xterm.c (x_set_offset): Don't change the gravity if
7190 CHANGE_GRAVITY is -1.
7191
71922008-02-23 Chong Yidong <cyd@stupidchicken.com>
7193
7194 * fileio.c (auto_save_error_occurred): New var.
7195 (auto_save_error): Set it.
7196 (Fdo_auto_save): Don't overwrite the error message if an auto-save
7197 error occurred.
7198
71992008-02-23 Eli Zaretskii <eliz@gnu.org>
7200
7201 * w32.c (globals_of_w32): Add initializations for
7202 g_b_init_get_sid_sub_authority and
7203 g_b_init_get_sid_sub_authority_count.
7204
72052008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
7206
7207 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
7208 (font_parse_xlfd): Use them for sanity check.
7209 (Finternal_set_font_style_table): Make sure the table is bijective.
7210
7211 Consolidate the image_cache to the terminal struct.
7212 * termhooks.h (P_): Remove redundant def.
7213 (struct terminal): New field `image_cache'.
7214 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
7215 of FRAME_X_IMAGE_CACHE.
7216 * xterm.h (struct x_display_info): Remove image_cache field.
7217 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7218 * w32term.h (struct w32_display_info): Remove image_cache field.
7219 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7220 * macterm.h (struct mac_display_info): Remove image_cache field.
7221 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7222 * xterm.c (x_term_init):
7223 * w32term.c (w32_term_init):
7224 * macterm.c (mac_term_init): Set the image_cache in the terminal.
7225 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
7226 Remove declarations.
7227 (clear_image_caches, mark_image_cache): New declarations.
7228 * xfaces.c (clear_face_cache):
7229 * xdisp.c (redisplay_internal): Use clear_image_caches.
7230 * image.c (clear_image_cache): Don't check that a frame is on
7231 a window-system before checking if it shares the same cache.
7232 (clear_image_caches): New function.
7233 (Fclear_image_cache): Use it.
7234 (mark_image): Move from allo.c.
7235 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
7236 * alloc.c (mark_image, mark_image_cache): Move to image.c.
7237 (mark_object): Don't call mark_image_cache for frames.
7238 (mark_terminals): Call mark_image_cache.
7239
7240 * lisp.h (Fdelete_terminal): Declare.
7241
7242 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
7243 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
7244 wrong_type_argument.
7245
72462008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
7247
7248 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
7249 malayalam.el, and tamil.el. Add sinhala.el.
7250
72512008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
7252
7253 * xterm.c (x_connection_closed): Consolidate identical tests.
7254 (x_delete_terminal): Don't crash if called via x_connection_closed.
7255
72562008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
7257
7258 * xdisp.c (decode_mode_spec): New arg string.
7259 (display_mode_element): Adjust for the above change.
7260
72612008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
7262
7263 * callint.c (Fcall_interactively): Use AREF.
7264
72652008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
7266
7267 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
7268
72692008-02-18 Jan Djärv <jan.h.d@swipnet.se>
7270
7271 * xfns.c (Fx_show_tip): Set string to " " if empty.
7272
72732008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
7274
7275 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
7276 with Qt.
7277
72782008-02-17 Kenichi Handa <handa@m17n.org>
7279
7280 * ftfont.c (ftfont_shape): Return Lispy number.
7281
7282 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
7283 for GCs.
7284 (Finternal_set_font_selection_order): Call font_update_sort_order
7285 only when enable_font_backend is set.
7286 (realize_x_face): Set face->font_info to that of default face only
7287 when enable_font_backend is set.
7288
7289 * xdisp.c (handle_composition_prop): Set it->c to the fist
7290 character of the composed region.
7291 (fill_composite_glyph_string): Set base_face->font_info to
7292 s->font_info. Get a face for ascii from base_face->ascii_face.
7293 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
7294 with a face already decided.
7295 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
7296 non-negative.
7297 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
7298 call font_prepare_composition unconditionally.
7299
7300 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
7301
7302 * xterm.h (struct x_display_info): New member font.
7303
7304 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
7305 (x_set_mouse_face_gc, x_new_font): Likewise.
7306 (x_term_init): Setup display_info->font.
7307 (x_delete_terminal): Free display_info->font.
7308
7309 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
7310
7311 * ftxfont.c (ftxfont_default_fid): Delete it.
7312 (ftxfont_open): Set xfont->fid to 0.
7313 (ftxfont_end_for_frame): Clear data specific to the frame and the
7314 font-driver.
7315
7316 * xftfont.c (xftfont_default_fid): Delete it.
7317 (xftfont_open): Set xfont->fid to 0.
7318
7319 * fontset.c (FONTSET_OBJLIST): New macro.
7320 (fontset_find_font): Update font-object list of the fontset.
7321 (free_realized_fontset): New function.
7322 (free_face_fontset): Call free_realized_fontset.
7323 (Ffont_info): Call font_close_object only when enable_font_backend
7324 is set.
7325
7326 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
7327 [HAVE_NTGUI]: Include w32term.h.
7328 [MAC_OS]: Include macterm.ch.
7329 (font_otf_ValueRecord): Use make_number.
7330 (font_finish_cache): Fix handling of reference count.
7331 (font_clear_cache): Update num_fonts.
7332 (font_open_entity): Update smallest_char_width and
7333 smallest_font_height of the frame.
7334 (font_close_object): Update num_fonts.
7335 (Fclear_font_cache): Fix finding the target cache data.
7336
73372008-02-16 Glenn Morris <rgm@gnu.org>
7338
7339 * fontset.c (Finternal_char_font): Fix compilation warning.
7340
73412008-02-16 Eli Zaretskii <eliz@gnu.org>
7342
7343 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
7344 instead of char arrays. Enlarge the size of array passed to
7345 get_token_information.
7346
7347 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
7348 warnings.
7349
73502008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
7351
7352 * .gdbinit: Don't set `args', it breaks gdb --args.
7353
73542008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
7355
7356 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
7357 within a narrowed buffer.
7358
73592008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
7360
7361 * coding.c (decode_coding_object, encode_coding_object):
7362 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
7363
73642008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
7365
7366 * coding.c (coding_set_destination): Use BEG_BYTE rather than
7367 hardcoding 1.
7368 (detect_coding_system):
7369 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
7370 (string_char_to_byte, string_byte_to_char, insert_from_gap):
7371 * insdel.c (insert_from_gap):
7372 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
7373 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
7374 (string_to_multibyte):
7375 * character.c (chars_in_text, multibyte_chars_in_text):
7376 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
7377
7378 * character.h (FETCH_STRING_CHAR_ADVANCE)
7379 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
7380 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
7381 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
7382
7383 * casefiddle.c (casify_region): Only call after-change and composition
7384 functions on the part of the region that was changed.
7385
7386 * keyboard.c (read_avail_input):
7387 * frame.c (Fdelete_frame): Call Fdelete_terminal.
7388
73892008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
7390
7391 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
7392 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
7393
73942008-02-11 Juanma Barranquero <lekktu@gmail.com>
7395
7396 * w32menu.c (push_submenu_start, push_submenu_end)
7397 (push_left_right_boundary, push_menu_pane, push_menu_item):
7398 * keyboard.c (read_key_sequence): Don't pass args with side effects
7399 to AREF, it fails when compiling with -DENABLE_CHECKING.
7400
74012008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
7402
7403 * Makefile.in (${lispsource}international/charprop.el):
7404 Delete this target.
7405
7406 * search.c (boyer_moore): Fix incorrect synching of the trunk and
7407 emacs-unicode-2.
7408
74092008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
7410
7411 * terminal.c (Fdelete_terminal): Clean up the `force' path.
7412
74132008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
7414
7415 * frame.c (Qnoelisp): New symbol.
7416 (syms_of_frame): Initialize it.
7417 (Fdelete_frame): Use it to distinguish a mere `force' passed from some
7418 harmless Elisp code, from a strong `force' from x_connection_closed.
7419 * frame.h (Qnoelisp): Declare.
7420 * xterm.c (x_connection_closed): Pass `noelisp'.
7421
7422 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
7423 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
7424 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
7425 rather than `int' for the type of `type'.
7426
74272008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
7428
7429 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
7430
7431 * Makefile.in (GNUC): Remove support for gcc-1.x.
7432
74332008-02-10 Richard Stallman <rms@gnu.org>
7434
7435 * lisp.h (ASET): Use AREF, not ASLOT.
7436
74372008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
7438
7439 * lisp.h (ASET): Check bounds.
7440
74412008-02-10 Glenn Morris <rgm@gnu.org>
7442
7443 * buffer.c (mode-name): Doc fix.
7444
74452008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
7446
7447 * Makefile.in:
7448 * emacs.c:
7449 * gmalloc.c:
7450 * keyboard.c:
7451 * lisp.h:
7452 * m/ibm370aix.h:
7453 * process.c:
7454 * regex.c:
7455 * s/hpux.h:
7456 * sysdep.c:
7457 * sysselect.h:
7458 * systty.h:
7459 * unexec.c:
7460 * w32term.c:
7461 * xsmfns.c:
7462 * xterm.c: Remove code that deals with obsolete variables.
7463
7464 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
7465
7466 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
7467 nothing else needs it anymore.
7468
74692008-02-09 Eli Zaretskii <eliz@gnu.org>
7470
7471 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
7472 instead of unibyte_char_to_multibyte.
7473
74742008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
7475
7476 * s/gnu-linux.h: Remove commented out code.
7477
7478 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
7479
7480 * Makefile.in: Update what RMS says about using autoconf.
7481 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
7482 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
7483 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
7484 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
7485
74862008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
7487
7488 * keymap.c (Fkey_description): Move side effect outside of macro call.
7489
7490 * xfaces.c (Finternal_make_lisp_face):
7491 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
7492
7493 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
7494 (syms_of_fontset): Use ASET.
7495
7496 * fns.c (concat): Move side effect outside of macro call.
7497 (hash_clear): Use ASET.
7498
74992008-02-08 Richard Stallman <rms@gnu.org>
7500
7501 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
7502 If FORCE, and frame has a surrogate minibuffer for another frame,
7503 delete the other frame first.
7504
75052008-02-07 Timo Savola <timo.savola@iki.fi>
7506
7507 * xterm.c (x_detect_focus_change): Handle embed client message.
7508 (handle_one_xevent): Ditto.
7509 (handle_one_xevent): If embedded and we get a button press/release,
7510 request focus.
7511 (xembed_set_info, xembed_send_message): New functions.
7512 (x_make_frame_visible): Call xembed_set_info if embedded.
7513 (x_make_frame_invisible): Call xembed_set_info if embedded.
7514 (x_term_init): Initialize Xatom_XEMBED.
7515 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
7516 (x_iconify_frame): Ditto.
7517
7518 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
7519 (enum xembed_info, enum xembed_message, enum xembed_focus)
7520 (enum xembed_modifier, enum xembed_accelerator): New.
7521 (xembed_set_info, xembed_send_message): Declare.
7522 (FRAME_X_EMBEDDED_P): New.
7523
7524 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
7525 gtk_plug_new.
7526
7527 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
7528 window ID of a frame.
7529 (x_window): Reparent frame if embedded.
7530 (Fx_create_frame): Don't set border width if embedded.
7531
7532 * emacs.c (USAGE3): Add --parent-id.
7533 (standard_args): Ditto.
7534
75352008-02-07 Jan Djärv <jan.h.d@swipnet.se>
7536
7537 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
7538
75392008-02-07 Jim Meyering <meyering@redhat.com>
7540
7541 Use "do...while (0)", not "if (1)...else" in macro definitions.
7542 The latter provokes a warning from gcc about the empty else, when
7543 followed by ";". Also, without that trailing semicolon, it would
7544 silently swallow up any following statement.
7545 * syntax.h (SETUP_SYNTAX_TABLE)
7546 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
7547 * buffer.h (DECODE_POSITION): Likewise.
7548 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
7549 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
7550 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
7551 (FETCH_CHAR_ADVANCE): Likewise.
7552 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
7553
75542008-02-07 Jim Meyering <meyering@redhat.com>
7555
7556 * lread.c [lint]: Don't include <sys/inode.h>.
7557
75582008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
7559
7560 * xselect.c (x_handle_dnd_message):
7561 * xmenu.c (digest_single_submenu, xmenu_show):
7562 * xdisp.c (with_echo_area_buffer_unwind_data)
7563 (format_mode_line_unwind_data, unwind_format_mode_line)
7564 (display_menu_bar):
7565 * eval.c (Ffetch_bytecode):
7566 * doc.c (store_function_docstring):
7567 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
7568 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
7569 * buffer.c (add_overlay_mod_hooklist): Use ASET.
7570
75712008-02-07 Kenichi Handa <handa@m17n.org>
7572
7573 * ftxfont.c (ftxfont_open): Don't set
7574 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
7575
7576 * ftfont.c (ftfont_open): Fix previous change.
7577
75782008-02-06 Jason Rumney <jasonr@gnu.org>
7579
7580 * w32font.c (w32font_text_extents): Fill in lbearing metric.
7581 Use cached metrics for ASCII characters.
7582 (w32font_open_internal): Don't set font's owning_frame.
7583 Cache metrics for ASCII characters.
7584
7585 * w32font.h (struct w32font_info): Add ascii_metrics.
7586 Remove owning_frame.
7587
75882008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
7589
7590 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
7591 to negative value.
7592
7593 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
7594
7595 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
7596
7597 * charset.c (syms_of_charset): Set QCtest and Qeq.
7598
75992008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
7600
7601 * process.c (Fstart_process):
7602 * callproc.c (Fcall_process): Handle the case where
7603 Funhandled_file_name_directory returns nil.
7604
7605 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
7606 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
7607 * font.c (check_gstring): Use them and AREF to access the vector before
7608 we know it's really a gstring.
7609 (Ffont_shape_text): Fix typo.
7610 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Oject mixups.
7611
7612 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
7613 Declare.
7614
7615 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
7616
76172008-02-05 Jason Rumney <jasonr@gnu.org>
7618
7619 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
7620 Set smallest_font_height and smallest_char_width in display info.
7621
76222008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
7623
7624 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
7625
76262008-02-05 Miles Bader <miles@gnu.org>
7627
7628 * xfaces.c (get_lface_attributes, merge_named_face)
7629 (lookup_named_face, lookup_derived_face, realize_named_face):
7630 Revert 2008-02-01 change by cyd@stupidchicken.com.
7631
76322008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
7633
7634 * fontset.c (Ffontset_info): Handle the case of inhibitting the
7635 fallback fonts.
7636 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
7637
76382008-02-04 Jason Rumney <jasonr@gnu.org>
7639
7640 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
7641 set full_name.
7642 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
7643
76442008-02-03 Jason Rumney <jasonr@gnu.org>
7645
7646 * makefile.w32-in (OBJ1): Include font.o here.
7647 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
7648
76492008-02-02 Jason Rumney <jasonr@gnu.org>
7650
7651 * makefile.w32-in (temacs): Bump EMHEAP to 21.
7652
76532008-02-01 Jason Rumney <jasonr@gnu.org>
7654
7655 * s/cygwin.h: Define VIRT_ADDR_VARIES.
7656
7657 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
7658
76592008-02-01 Andreas Schwab <schwab@suse.de>
7660
7661 * Makefile.in (shortlisp, lisp): Update for rename of
7662 ../lisp/language/myanmar.el.
7663
76642008-02-01 Chong Yidong <cyd@stupidchicken.com>
7665
7666 * xfaces.c (get_lface_attributes): Delete function.
7667 (merge_named_face, lookup_named_face, lookup_derived_face)
7668 (realize_named_face): Call lface_from_face_name directly, and use
7669 the fact that merge_face_vectors does not alter its FROM argument.
7670
76712008-02-01 Jason Rumney <jasonr@gnu.org>
7672
7673 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
7674 input in the default locale. Handle non-Unicode multibyte input.
7675
76762008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7677
7678 * fontset.c (reorder_font_vector): Exclude nil elements from the
7679 font group. Don't try multiple fonts.
7680 (fontset_font): Adjust for the above change.
7681 (Finternal_char_font): Return nil if the found font doesn't
7682 contain the character ch.
7683
7684 * Makefile.in (lisp, shortlisp): Add cham.el.
7685
76862008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7687
7688 * font.h (FONTP): Make it return 1 also for a font-object.
7689
7690 * .gdbinit (xfontset): New function.
7691
7692 * font.c (font_find_for_lface): Check if the character C is
7693 supported or not only for the first font.
7694
7695 * fontset.c (reorder_font_vector): Fix typo.
7696 (fontset_find_font): Don't add a font-spec specifying a script.
7697 Use 0 (not Qt) for the indication of empty font-group. Change the
7698 format of RFONT-DEF. Return Qt if no font in the font-group
7699 support the character.
7700 (fontset_font): Adjust for the above change. If no font was
7701 found the character, remember that.
7702 (face_for_char): Adjust for the change of RFONT-DEF.
7703 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
7704 no font for the target.
7705 (Finternal_char_font): Adjust for the change of RFONT-DEF.
7706
77072008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7708
7709 * font.c (font_load_for_face): Handle the case that the font in
7710 face->lface is a string.
7711
77122008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7713
7714 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
7715
77162008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7717
7718 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
7719 Fix previous change. If the frame is not on a window system,
7720 signal an error.
7721
77222008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7723
7724 * coding.c (decode_coding_object, encode_coding_object): Adjust
7725 marker positions after conversion.
7726
7727 * lisp.h (struct Lisp_Marker): New member need_adjustment.
7728
77292008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7730
7731 * font.c (font_find_for_lface): Fix the handling of the return
7732 value of font_has_char.
7733 (Ffont_shape_text): Fix previous change.
7734
7735 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
7736 (fontset_ref_and_range): Delete it.
7737 (fontset_find_font): Call char_table_ref_and_range instead of
7738 FONTSET_REF_AND_RANGE.
7739 (make_fontset): Don't setup font groups of Latin here.
7740 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
7741 (new_fontset_from_font): Make the specified font the default for
7742 all Latin characters.
7743
77442008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7745
7746 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
7747 is on a window system before accessing the fontset of the frame.
7748
77492008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7750
7751 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
7752
7753 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
7754 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
7755
7756 * font.c (Ffont_shape_text): If the font driver doesn't have a
7757 shaper function, make zero-width glyphs to have at least one-pixel
7758 width. Fix setting of `to' field of glyphs.
7759
77602008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7761
7762 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
7763 glyphs.
7764
7765 * font.h (struct font_driver): Improve docstring of member `shape'.
7766
77672008-02-01 Kenichi Handa <handa@m17n.org>
7768
7769 * composite.c (syms_of_composite): Fix docstring of
7770 auto-composition-function.
7771
7772 * font.h (LGLYPH_SIZE): New macro.
7773
7774 * font.c (Ffont_fill_gstring): Stop filling when a character not
7775 supported by the font is found.
7776 (Ffont_shape_text): When a shape callback function returns nil,
7777 try at most two more times with larger gstring.
7778 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
7779
7780 * xdisp.c (handle_auto_composed_prop): Change the argument to
7781 auto-composition-function.
7782
7783 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
7784 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
7785 Lispy glyph and store it in the lgstring.
7786
7787 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
7788
7789 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
7790
77912008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7792
7793 * font.c (Ffont_shape_text): Avoid unnecessary composition.
7794
7795 * fontset.c (Vfont_encoding_charset_alist): New variable.
7796 (syms_of_fontset): DEFVAR it.
7797 (reorder_font_vector, fontset_find_font): Optimize for the case of
7798 no need of reordering.
7799 (face_for_char): Map the charset property by
7800 Vfont_encoding_charset_alist.
7801
78022008-02-01 Jason Rumney <jasonr@gnu.org>
7803
7804 * w32font.c (logfonts_match): Don't check adstyle here.
7805 (font_matches_spec): Check here against physical font instead.
7806 (add_font_entity_to_list): Avoid some substitutions.
7807
7808 * font.c (font_parse_fcname): Default weight and slant to normal.
7809 (font_score): Prefer normal fonts if weight or slant unspecified.
7810 (font_score) [WINDOWSNT]: Scale weight difference down to closer
7811 match freetype scores.
7812
78132008-02-01 Jason Rumney <jasonr@gnu.org>
7814
7815 * w32font.c (w32font_text_extents): Don't use the frame stored in the
7816 font, as it may have been deleted.
7817 (w32_enumfont_pattern_entity): Map generic family to adstyle using
7818 most common hyphenless variation.
7819 (logfonts_match): Check generic family.
7820 (font_matches_spec): Don't check generic family here.
7821 (fill_in_logfont): Set generic family based on adstyle.
7822
7823 * w32font.h (w32font_get_cache): Update declaration.
7824
78252008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7826
7827 * ftfont.c (ftfont_get_cache): Adjust the argument type.
7828
7829 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
7830 If none of the new drivers are available, call font_update_drivers
7831 with the old drivers.
7832
7833 * w32font.c (w32font_get_cache): Adjust the argument type.
7834
7835 * xfont.c (xfont_get_cache): Adjust the argument type.
7836
7837 * font.h (struct font_driver): Change argument type of get_cache.
7838
7839 * xftfont.c (xftfont_start_for_frame): Delete prototype.
7840
7841 * font.c (Ffont_get): Fix arguments to Fassoc.
7842 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
7843 (font_clear_cache): New function.
7844 (font_list_entities, font_matching_entity): Use font_get_cache.
7845 (font_update_drivers): Call font_clear_cache when finishing a driver.
7846
7847 * fontset.c (fontset_find_font): Fix previous change.
7848
78492008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7850
7851 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
7852 dpyinfo->font_table.
7853 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
7854 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
7855
7856 * font.c (font_at): Handle the case that the arg C is negative.
7857 Handle the unibyte case.
7858 (Ffont_at): Call font_at with the arg C -1.
7859
7860 * xdisp.c (handle_auto_composed_prop): Don't get a character at
7861 the position here, and call font_at with the arg C -1.
7862 Don't check the range of the existing composition at the point.
7863
78642008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7865
7866 * fontset.c (fontset_add): New args charset_id and family.
7867 Change caller.
7868 (load_font_get_repertory, fontset_find_font): Assume that
7869 font_spec is always a font-spec object.
7870 (Fset_fontset_font): Always store a font-spec object in a fontset.
7871
7872 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
7873 instead of get_property_and_range.
7874
78752008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7876
7877 * xftfont.c (struct xftfont_info): Delete the member ft_face.
7878 (xftfont_open): Don't keep locking face.
7879 (xftfont_close): Don't unlock face.
7880 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
7881
7882 * fontset.c (fontset_find_font): Don't prefer a font of
7883 supplementary charset.
7884
78852008-02-01 Kenichi Handa <handa@m17n.org>
7886
7887 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
7888 script, langsys_tag to langsys, new member script.
7889 (OTF_TAG_STR): Terminate by '\0'.
7890 (ftfont_get_open_type_spec): If :otf prop is is spec, Limit the
7891 listing to the script specified in that property. Fix arg to
7892 OTF_check_features.
7893
78942008-02-01 Jason Rumney <jasonr@gnu.org>
7895
7896 * w32font.h: New file.
7897
7898 * w32font.c: Include it.
7899 (struct w32font_info): Add owning_frame field. Move to w32font.h.
7900 (w32font_open): Set owning_frame.
7901 (w32font_text_extents): Use owning_frame.
7902 (struct font_callback_data): Add opentype_only field.
7903 (add_font_entity_to_list): Use it to filter fonts.
7904 Don't check against full name.
7905 (w32font_list_internal): New function.
7906 (w32font_list): Use it.
7907 (w32font_match_internal): New function.
7908 (w32font_match): Use it.
7909 (w32font_open_internal): New function.
7910 (w32font_open): Use it.
7911 (w32font_get_cache, w32font_close, w32font_has_char)
7912 (w32font_encode_char, w32font_text_extents, w32font_draw):
7913 Make non-static.
7914
7915 * makefile.w32-in (w32font.o): Depend on w32font.h.
7916
79172008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7918
7919 * charset.c (Fdefine_charset_internal): Record a supplementary
7920 charset at the tail of Vcharset_order_list.
7921
7922 * font.c (Ffont_shape_text): Fix the return value.
7923
7924 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
7925
7926 * xdisp.c (handle_auto_composed_prop): Fix previous change.
7927
79282008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7929
7930 * ftfont.c (struct OpenTypeSpec): New struct.
7931 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
7932 (ftfont_get_open_type_spec): New function.
7933 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
7934
7935 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
7936
79372008-02-01 Jason Rumney <jasonr@gnu.org>
7938
7939 * w32font.c (add_font_entity_to_list): Compare only the beginning
7940 of full name.
7941
79422008-02-01 Kenichi Handa <handa@m17n.org>
7943
7944 * xdisp.c (handle_auto_composed_prop): Simplify the code.
7945 Never return HANDLED_RECOMPUTE_PROPS.
7946
79472008-02-01 Kenichi Handa <handa@m17n.org>
7948
7949 * font.c (font_gstring_produce): Delete it.
7950
7951 * composite.h (COMPOSITION_METHOD):
7952 Handle COMPOSITION_WITH_GLYPH_STRING.
7953
79542008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7955
7956 * xfont.c (Qx): Delete.
7957 (syms_of_xfont): Don't initialize Qx.
7958
7959 * composite.h (enum composition_method):
7960 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
7961
79622008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7963
7964 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
7965 (choose_face_font): Accept new form of font-spec.
7966
7967 * frame.h (font_driver_list): Declare it unconditionally.
7968 (struct frame): Define members font_driver_list and font_data_list
7969 unconditionally.
7970
7971 * fontset.c: Include "font.h" unconditionally.
7972 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
7973 (Fset_fontset_font): Accept a font-spec object.
7974
7975 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
7976 PIXEL_SIZE part a wild card.
7977
7978 * dispextern.h (struct glyph_string): Define members clip and
7979 num_clips unconditionally.
7980 (struct face): Define members font_info and extra unconditionally.
7981
7982 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
7983 ftfont_info only when HAVE_LIBOTF is defined.
7984
79852008-02-01 Andreas Schwab <schwab@suse.de>
7986
7987 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
7988 and end.
7989
79902008-02-01 Jason Rumney <jasonr@gnu.org>
7991
7992 * w32font.c (w32font_driver): Add new fields.
7993
79942008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7995
7996 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
7997 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
7998 (LIBES): Add @M17N_FLT_CFLAGS@.
7999
8000 * composite.c (compose_text): Don't treat the new style
8001 composition specially.
8002
8003 * emacs.c (main): Call syms_of_font unconditionally.
8004
8005 * font.h (FONT_ENTITY_NOT_LOADABLE)
8006 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
8007 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
8008 (struct font_driver): New member shape.
8009 (font_registry_charsets): Extern it.
8010 (font_find_for_lface, font_prepare_composition): Adjust prototype.
8011 (font_otf_capability, font_drive_otf): Delete their externs.
8012
8013 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
8014 (font_charset_alist, font_registry_charsets): Move from xfont.c
8015 and rename.
8016 (font_prop_validate_otf): New function.
8017 (font_property_table): Register it for QCotf.
8018 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
8019 (font_drive_otf): Delete.
8020 (font_prepare_composition): New arg F. Adjust for the change of
8021 lispy gstring.
8022 (font_find_for_lface): New arg C.
8023 (font_load_for_face): Adjust for the change of font_find_for_lface.
8024 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
8025 lispy gstring.
8026 (Ffont_shape_text): New function.
8027 (Fopen_font): If the font size is not given, use 12-pixel.
8028 (Ffont_at): New arg STRING.
8029 (syms_of_font): Initalize font_charset_alist.
8030 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
8031 conditionally.
8032
8033 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
8034 fonts of the same font-spec. Change the format of RFONT-DEF.
8035 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
8036 Adjust for the change of RFONT-DEF.
8037 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
8038
8039 * ftfont.h: New file.
8040
8041 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
8042 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
8043 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
8044 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
8045 font_otf_capability and font_drive_otf, set ftfont_shape.
8046 (ftfont_list): Adjust for the change of :otf property value.
8047 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
8048 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
8049 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
8050 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
8051 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
8052 (otf_gstring, gstring, m17n_flt_initialized): New variables.
8053
8054 * w32term.c (x_draw_composite_glyph_string_foreground):
8055 Adjust for the change of lispy gstring.
8056
8057 * xdisp.c (handle_composition_prop): Adjust for the change of
8058 lispy gstring. Call a function for auto-composition with the
8059 third arg it->window.
8060 (fill_composite_glyph_string): Adjust for the change of lispy string.
8061 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
8062
8063 * xfaces.c (set_font_frame_param): Adjust for the change of
8064 font_find_for_lface.
8065
8066 * xfont.c (x_font_charset_alist): Move to font.c and rename.
8067 (xfont_registry_charsets): Likewise. Change caller.
8068 (syms_of_xfont): Don't handle x_font_charset_alist.
8069
8070 * xftfont.c: Include "ftfont.h".
8071 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
8072 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
8073 (xftfont_close) [HAVE_LIBOTF]: Close otf.
8074 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
8075 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
8076 Set xftfont_driver.shape to xftfont_shape.
8077
8078 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
8079 the change of lispy gstring.
8080
80812008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8082
8083 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
8084
80852008-02-01 Jason Rumney <jasonr@gnu.org>
8086
8087 * w32font.c (w32font_draw): Fill background manually.
8088
80892008-02-01 Jason Rumney <jasonr@gnu.org>
8090
8091 * font.c (Qfontp): Remove unused symbol.
8092 (QCantialias): New symbol.
8093 (syms_of_font): Define it.
8094 (font_property_table): Set a validator for QCantialias.
8095
8096 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
8097 Define if not already.
8098 (QCfamily): Share with xfaces.c.
8099 (Qstandard, Qsubpixel, Qnatural): New symbols.
8100 (syms_of_w32font): Define them. Don't define QCfamily here.
8101 (w32_antialias_type, lispy_antialias_type): New functions.
8102 (w32_enumfont_pattern_entity): New arg requested_font.
8103 Set antialias parameter if non-default was requested.
8104 (fill_in_logfont): Fill in lfQuality if :antialias specified.
8105
81062008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8107
8108 * lread.c (read1): Undo the previous change.
8109
81102008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
8111
8112 * frame.c (Fdelete_frame): Call font_update_drivers only when
8113 USE_FONT_BACKEND is defined.
8114
81152008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8116
8117 * font.h (struct font_bitmap): New member bits_per_pixel.
8118 (struct font_driver): New members start_for_frame and end_for_frame.
8119 (struct font_data_list): New struct.
8120 (font_put_frame_data, font_get_frame_data): Extern them.
8121
8122 * frame.h (struct frame): New member font_data_list.
8123
8124 * font.c (font_update_drivers): Call driver->start_for_frame and
8125 driver->end_for_frame at proper timings.
8126 (font_put_frame_data, font_get_frame_data): New functions.
8127 (Ffont_spec): Add usage in the docstring.
8128
8129 * frame.c (make_frame): Initialize f->font_data_list to NULL.
8130 (Fdelete_frame): Call font_update_drivers.
8131
8132 * xftfont.c (struct xftface_info): Delete the member xft_draw.
8133 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
8134 (xftfont_get_xft_draw): New function.
8135 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
8136 (xftfont_end_for_frame): New function.
8137 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
8138
8139 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
8140 Change argument. Cache GCs in the per-frame data.
8141 (struct ftxfont_frame_data): New struct.
8142 (ftxfont_draw_bitmap): New arg gc_fore and flush.
8143 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
8144 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
8145 (ftxfont_end_for_frame): New function.
8146 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
8147
8148 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
8149
81502008-02-01 Kenichi Handa <handa@m17n.org>
8151
8152 * xselect.c (Vselection_coding_system)
8153 (Vnext_selection_coding_system): Delete them.
8154 (syms_of_xselect): Don't declare selection-coding-system and
8155 next-selection-coding-system. They are declared in select.el.
8156
81572008-02-01 Jason Rumney <jasonr@gnu.org>
8158
8159 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
8160
8161 * w32fns.c: Include imm.h.
8162 (get_composition_string_fn, get_ime_context_fn): New optional
8163 system functions.
8164 (globals_of_w32fns): Load them from imm32.dll.
8165 (ignore_ime_char): New flag.
8166 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
8167 WM_IME_ENDCOMPOSITION messages.
8168
8169 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
8170 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
8171
81722008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8173
8174 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
8175 (READCHAR_REPORT_MULTIBYTE): New macro.
8176 (readchar): New 2nd arg MULTIBYTE.
8177 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
8178 Make symbol's name multibyte according to the multibyteness of the
8179 source.
8180
81812008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8182
8183 * xfaces.c (face_for_overlay_string): Call lookup_face with
8184 correct arguments (fix of synching with the trunk).
8185
81862008-02-01 Kenichi Handa <handa@m17n.org>
8187
8188 * font.c (font_prop_validate_symbol, font_prop_validate_style)
8189 (font_prop_validate_non_neg, font_prop_validate_spacing):
8190 Delete argument prop_index.
8191 (font_property_table): Change arguments to validater. Change Callers.
8192 (font_lispy_object): Delete.
8193 (font_at): Use font_find_object instead fo font_lispy_object.
8194
81952008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8196
8197 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
8198 and file names.
8199
82002008-02-01 Jason Rumney <jasonr@gnu.org>
8201
8202 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
8203 (font_matches_spec): Remove debug output.
8204 (add_font_entity_to_list): Avoid using substituted fonts.
8205
82062008-02-01 Jason Rumney <jasonr@gnu.org>
8207
8208 * doc.c (Fsnarf_documentation):
8209 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
8210
82112008-02-01 Miles Bader <miles@gnu.org>
8212
8213 * dispextern.h (struct glyph_row): Only define "clip" field if
8214 HAVE_WINDOW_SYSTEM is defined.
8215
82162008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
8217
8218 Fix up multi-tty merge.
8219
8220 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
8221 and indentation.
8222
8223 * xfaces.c (free_realized_face, clear_face_gcs):
8224 Include font_done_for_face in the input_blocked section, just in case.
8225
8226 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
8227 (get_char_face_and_encoding): Undo last change and remove the *other*
8228 duplicate definition (i.e. keep the one that's better scoped and that
8229 includes code for the font-backend).
8230
8231 * terminal.c (create_terminal): Default keyboard_coding to
8232 `no-conversion' and terminal_coding to `undecided'.
8233
8234 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
8235
8236 * fontset.c (free_realized_fontsets): Check that the table entry does
8237 contain a fontset before trying to compare it to `base'.
8238
8239 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
8240 syms_of_charset, and syms_of_coding earlier because init_window_once
8241 now needs Vcoding_system_hash_table to be setup.
8242
8243 * coding.h (default_buffer_file_coding): Remove.
8244
8245 * coding.c (default_buffer_file_coding): Remove.
8246 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
8247 than ->symbol, and use the terminal-local coding system.
8248 (syms_of_coding): Don't setup the coding-systems that are not
8249 terminal-local.
8250 (Fdefine_coding_system_internal): Use XCAR/XCDR.
8251
8252 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
8253 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
8254
8255 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
8256 in chartab.c and were re-added here by mistake.
8257 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
8258
8259 * doc.c (Fsnarf_documentation):
8260 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
8261 src to etc.
8262
8263 * ChangeLog.10: Add mistakenly removed entry.
8264
82652008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
8266
8267 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
8268
82692008-02-01 Miles Bader <miles@gnu.org>
8270
8271 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
8272 Add extra args to FACE_FOR_CHAR.
8273
82742008-02-01 Kenichi Handa <handa@m17n.org>
8275
8276 * keymap.c (where_is_internal_1): If key is a cons, store the copy
8277 in sequence.
8278
8279 * chartab.c (map_sub_char_table, map_char_table): If the range
8280 contains just one character, call the function with that character
8281 even if the depth is not 3.
8282
82832008-02-01 Jason Rumney <jasonr@gnu.org>
8284
8285 * w32font.c (w32font_text_extents): Calculate metrics for the
8286 whole string.
8287
82882008-02-01 Jason Rumney <jasonr@gnu.org>
8289
8290 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
8291
82922008-02-01 Jason Rumney <jasonr@gnu.org>
8293
8294 * w32term.c (x_set_glyph_string_clipping): Use
8295 get_glyph_string_clip_rects.
8296 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
8297 Adjust for the change of struct glyph_string.
8298
8299 * w32font.c (w32font_draw): Do clipping here.
8300
83012008-02-01 Kenichi Handa <handa@m17n.org>
8302
8303 * xftfont.c (xftfont_draw): Adjust for the change of struct
8304 glyph_string.
8305
8306 * xterm.c (x_set_glyph_string_clipping): Use
8307 get_glyph_string_clip_rects.
8308 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
8309 Adjust for the change of struct glyph_string.
8310
8311 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
8312 the resulting clip(s}.
8313 (expose_overlaps): Add arg r. Change callers. Set it to
8314 row->clip temporarily.
8315 (expose_window): Redraw rows overlapping the exposed area.
8316
8317 * dispextern.h (struct glyph_row): New member clip.
8318 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
8319 clip_height, new member clip, and num_clips.
8320
83212008-02-01 Kenichi Handa <handa@m17n.org>
8322
8323 * data.c (Fchar_or_string_p): Fix docstring.
8324
83252008-02-01 Kenichi Handa <handa@m17n.org>
8326
8327 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
8328 create a temporary XftDraw object.
8329
83302008-02-01 Kenichi Handa <handa@m17n.org>
8331
8332 * font.c (Ffontp): Fix docstring.
8333
8334 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
8335 strong evidence of ISO-2022.
8336
83372008-02-01 Kenichi Handa <handa@m17n.org>
8338
8339 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
8340 SYNTAX_ENTRY_FOLLOW_PARENT.
8341
83422008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
8343
8344 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
8345 its type.
8346 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
8347 Update to the new type of weak_hash_tables and next_weak.
8348
8349 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
8350 a plain C pointer to Lisp_Hash_Table.
8351
8352 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
8353 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
8354 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
8355 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
8356 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
8357 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
8358 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
8359 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
8360 (GC_EQ): Remove since they've been identical to their non-GC_
8361 alter-egos ever since the markbit was eradicated.
8362
8363 * alloc.c:
8364 * buffer.c:
8365 * buffer.h:
8366 * data.c:
8367 * fileio.c:
8368 * filelock.c:
8369 * fns.c:
8370 * frame.h:
8371 * lisp.h:
8372 * macterm.c:
8373 * print.c:
8374 * process.c:
8375 * w32fns.c:
8376 * w32menu.c:
8377 * w32term.c:
8378 * xfns.c:
8379 * xmenu.c:
8380 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
8381
83822008-02-01 Kenichi Handa <handa@m17n.org>
8383
8384 * chartab.c (map_sub_char_table): Make it work for the top-level
8385 char-table. Fix handling of parent char-table.
8386 (map_char_table): Adjust for the above change.
8387
83882008-02-01 Jason Rumney <jasonr@gnu.org>
8389
8390 * w32font.c (Qgdi): Rename from Qw32.
8391
83922008-02-01 Jason Rumney <jasonr@gnu.org>
8393
8394 * w32bdf.c (get_quoted_string): Make function static.
8395
83962008-02-01 Kenichi Handa <handa@m17n.org>
8397
8398 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
8399 bigger ascent and descent than those of the font, use them as
8400 font's ascent and descent.
8401
84022008-02-01 Kenichi Handa <handa@m17n.org>
8403
8404 * Makefile.in (${lispsource}international/charprop.el): Move this
8405 target within "#ifdef HAVE_UNIDATA" and "#endif".
8406
84072008-02-01 Kenichi Handa <handa@m17n.org>
8408
8409 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
8410 (shortlisp): Add ../lisp/language/tai-viet.el.
8411
84122008-02-01 Ulrich Mueller <ulm@gentoo.org>
8413
8414 * Makefile.in (${lispsource}international/charprop.el): Depend on
8415 temacs${EXEEXT}.
8416
84172008-02-01 Jason Rumney <jasonr@gnu.org>
8418
8419 * w32font.c (w32font_close): Delete the GDI font object.
8420
8421 * w32menu.c: Include character.h.
8422
8423 * w32proc.c: Likewise.
8424
8425 * w32select.c: Likewise.
8426
8427 * makefile.w32-in (w32proc.o): Depend on character.h.
8428
84292008-02-01 Jason Rumney <jasonr@gnu.org>
8430
8431 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
8432
8433 * w32menu.c (syms_of_w32menu): Likewise.
8434
8435 * w32proc.c (syms_of_ntproc): Likewise.
8436
8437 * w32select.c (syms_of_w32select): Likewise.
8438
8439 * w32term.c (syms_of_w32term): Likewise.
8440
84412008-02-01 Jason Rumney <jasonr@gnu.org>
8442
8443 * w32font.c (w32font_draw): Delete brush after using it.
8444
84452008-02-01 Jason Rumney <jasonr@gnu.org>
8446
8447 * w32font.c (w32font_open): Don't set font_idx.
8448 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
8449 to font settings.
8450 (w32font_draw): Fill background explicitly.
8451
84522008-02-01 Jason Rumney <jasonr@gnu.org>
8453
8454 * w32term.c (w32_initialize): Don't call w32font_initialize.
8455
8456 * w32font.c (w32font_info): Remove subranges.
8457 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
8458 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
8459 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
8460 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
8461 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
8462 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
8463 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
8464 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
8465 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
8466 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
8467 New symbols.
8468 (font_callback_data): New struct.
8469 (w32font_list, w32font_match): Use it.
8470 (w32font_open): Don't populate subranges.
8471 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
8472 (w32font_encode_char): Always return unicode code-point as-is.
8473 (w32font_text_extents): Supply a transformation matrix to
8474 GetGlyphOutline. Never look up by glyph index. Avoid looping
8475 twice. Use unicode version of GetTexExtentPoint32 instead of
8476 glyph index version.
8477 (set_fonts_frame): Remove.
8478 (w32_enumfont_pattern_entity): Add frame parameter, use it to
8479 set frame parameter. Use backward compatible fake foundries.
8480 Save generic family in extra slot under QCfamily. Make width slot
8481 constant. Save QCspacing value. Save list of scripts instead of
8482 binary subranges.
8483 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
8484 (add_font_entity_to_list): Use font_callback_data struct. Filter
8485 unwanted fonts.
8486 (add_one_font_entity_to_list): Use font_callback_data struct.
8487 (w32_registry): Default to iso10646_1.
8488 (fill_in_logfont): Use dpi from extra slot. Don't bother with
8489 string font registries. Don't fill in font name if it is a generic
8490 family name, fill family instead. Use spacing, family and script
8491 extra info to fill pitch, family and charset fields.
8492 (list_all_matching_fonts): Use font_callback_data struct.
8493 (unicode_range_for_char): Remove.
8494 (font_supported_scripts): New function.
8495 (w32font_initialize): Remove.
8496 (syms_of_w32font): Update which symbols are defined.
8497
84982008-02-01 Jason Rumney <jasonr@gnu.org>
8499
8500 * font.c (font_pixel_size): Reverse assq_no_quit args.
8501
8502 * w32term.h (FONT_WIDTH): Report max width, not average.
8503 (FONT_MAX_WIDTH): Remove.
8504 (FONT_AVG_WIDTH): New macro.
8505
8506 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
8507 redefinition of FONT_WIDTH.
8508
8509 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
8510 (w32_cache_char_metrics): Use FONT_WIDTH.
8511
8512 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
8513
85142008-02-01 Jason Rumney <jasonr@gnu.org>
8515
8516 * w32font.c (w32font_open): Make lfHeight negative.
8517
8518 * w32fns.c (x_default_font_parameter): Use new style font name.
8519 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
8520
85212008-02-01 Jason Rumney <jasonr@gnu.org>
8522
8523 * w32font.c (QCsubranges): New symbol.
8524 (w32font_open, w32font_has_char): Get subranges from subproperty
8525 of extra.
8526 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
8527 (syms_of_w32font): Define :subranges symbol.
8528
8529 * font.c (font_put_extra): Expose externally.
8530
8531 * font.h (font_put_extra): Move declaration from font.c.
8532
8533 * font.c (Ffont_get): Use font driver to determine otf capability.
8534 (adjust_anchor): Check if driver defines anchor_point before using.
8535
8536 * w32font.c (w32font_open): Handle size, height and pixel_size better.
8537 (w32font_draw): Use options.
8538 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
8539 Fix detection of truetype fonts.
8540 (registry_to_w32_charset): Handle charsets other than iso8859-1
8541 expressed as lisp symbols.
8542 (w32_registry): Express charset as lisp symbol.
8543 (fill_in_logfont): Reverse pixel and point height logic.
8544 Don't set width here. Set quality to default.
8545
8546 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
8547 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
8548
8549 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
8550 Remove redundant loop and allocation.
8551
8552 * makefile.w32-in (font.o, w32font.o): New objects.
8553 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
8554 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
8555
8556 * xdisp.c (fill_composite_glyph_string): Make the first arg to
8557 STORE_XCHARB a valid l-value.
8558
8559 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
8560 calculations for non-Truetype fonts.
8561 (x_draw_glyph_string): Sync with xterm.c.
8562 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
8563 Remove redundant code.
8564 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
8565
8566 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
8567 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
8568
8569 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
8570 (x_to_w32_charset, w32_to_x_charset): Expose externally.
8571
8572 * w32font.c: New file for w32 font backend.
8573
85742008-02-01 Kenichi Handa <handa@m17n.org>
8575
8576 * term.c: Don't include "buffer.h" twice.
8577
85782008-02-01 Kenichi Handa <handa@m17n.org>
8579
8580 * character.c (Funibyte_string): New function.
8581 (syms_of_character): Defsubr it.
8582
85832008-02-01 Jason Rumney <jasonr@gnu.org>
8584
8585 * w32term.c [USE_FONT_BACKEND]:
8586 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
8587 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
8588 (x_draw_glyph_string, x_draw_glyph_string_foreground)
8589 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
8590 (x_free_frame_resources): Sync with xterm.c.
8591
85922008-02-01 Andreas Schwab <schwab@suse.de>
8593
8594 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
8595 char-table size.
8596
85972008-02-01 Kenichi Handa <handa@m17n.org>
8598
8599 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
8600
86012008-02-01 Kenichi Handa <handa@m17n.org>
8602
8603 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
8604 font_otf_gpos, add font_drive_otf.
8605
8606 * fontset.c (fontset_find_font): Pay attention to font size
8607 specified for a font.
8608 (reorder_font_vector): Check contents of font_def.
8609
8610 * font.c (struct otf_list): Delete it.
8611 (otf_list): Make it a lisp variable.
8612 (otf_open): Use lispy otf_list.
8613 (generate_otf_features): Rename from parse_gsub_gpos_spec.
8614 (check_otf_features): New function.
8615 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
8616 New functions.
8617 (font_drive_otf): New function merging font_otf_gsub and
8618 font_otf_gpos.
8619 (font_open_for_lface): New arg spec. Change argument order.
8620 (font_load_for_face): Adjust for the change of font_open_for_lface.
8621 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
8622 Ffont_otf_gpos.
8623 (syms_of_font): Staticpro otf_list. Delete defsubr of
8624 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
8625
8626 * xfaces.c (set_font_frame_param): Adjust for the change of
8627 font_open_for_lface.
8628
8629 * font.h (font_open_for_lface): Adjust prototype.
8630 (struct font_driver): Delete members otf_gsub and otf_gpos, add
8631 member otf_drive.
8632 (font_otf_gsub, font_otf_gpos): Delete externs.
8633 (font_drive_otf): Extern it.
8634
86352008-02-01 Kenichi Handa <handa@m17n.org>
8636
8637 * font.c (font_at): If the window W is not on a window system,
8638 return Qnil.
8639
8640 * coding.c (produce_chars, encode_coding): Don't call
8641 insert_from_gap if no characters to produce.
8642
86432008-02-01 Kenichi Handa <handa@m17n.org>
8644
8645 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
8646 Fclear_face_cache.
8647
8648 * xfaces.c (face_for_font): Check also face->font==font->font.font.
8649
86502008-02-01 Miles Bader <miles@gnu.org>
8651
8652 * emacs.c (main): Change default value of `enable_font_backend' to 1.
8653 Parse "--disable-font-backend" option.
8654 (standard_args): Add "--disable-font-backend" option.
8655
86562008-02-01 Kenichi Handa <handa@m17n.org>
8657
8658 * fontset.c (fontset_find_font): New function.
8659 (fontset_font): Use fontset_find_font.
8660 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
8661 Register the specified font for all Latin characters.
8662 (new_fontset_from_font): Register the specified font for all Latin
8663 characters.
8664 (dump_fontset): For a realized fontset, include the base fontset
8665 name in the returned vector.
8666
86672008-02-01 Kenichi Handa <handa@m17n.org>
8668
8669 * character.h (CHAR_STRING): Cast C to unsigned on calling
8670 char_string.
8671
8672 * character.c (char_string): Type of arg C changed to unsigned.
8673 Signal an error if C is an invalid character code.
8674
8675 * editfns.c (general_insert_function, Fchar_to_string):
8676 Use CHARACTERP, not INTEGERP.
8677
86782008-02-01 Kenichi Handa <handa@m17n.org>
8679
8680 * character.h (MIN_MULTIBYTE_LEADING_CODE)
8681 (MAX_MULTIBYTE_LEADING_CODE): New macros.
8682
8683 * regex.c (analyse_first): Fix for multibyte characters in "case
8684 charset:" and "case categoryspec:".
8685
86862008-02-01 Andreas Schwab <schwab@suse.de>
8687
8688 * Makefile.in (LIBES): Move standard libraries to the end.
8689
86902008-02-01 Kenichi Handa <handa@m17n.org>
8691
8692 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
8693 nonzero, don't shrink the buffer nextb.
8694
8695 * buffer.h (struct buffer_text): New member inhibit_shrinking.
8696
8697 * coding.c (coding_alloc_by_making_gap): New arg offset.
8698 (alloc_destination): Call coding_alloc_by_making_gap with the arg
8699 offset.
8700 (decode_coding_iso_2022): Update coding->safe_charsets.
8701 (decode_coding_gap): Temporarily set
8702 current_buffer->text->inhibit_shrinking to 1.
8703
87042008-02-01 Kenichi Handa <handa@m17n.org>
8705
8706 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
8707 indexing into elements of s->cmp and s->char2b.
8708
87092008-02-01 Juanma Barranquero <lekktu@gmail.com>
8710
8711 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
8712
87132008-02-01 Kenichi Handa <handa@m17n.org>
8714
8715 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
8716 target_multibyte instead of multibyte.
8717 (re_match_2_internal): Call bcmp_translate with target_multibyte.
8718 (bcmp_translate): Change the argument name from multibyte to
8719 target_multibyte.
8720
87212008-02-01 Kenichi Handa <handa@m17n.org>
8722
8723 These changes are to compile a regexp into a pattern that can be
8724 used both for multibyte and unibyte targets.
8725
8726 * Makefile.in (search.o): Depend on charset.h.
8727
8728 * character.c (multibyte_char_to_unibyte_safe): New function.
8729
8730 * search.c: Include "charset.h".
8731 (compile_pattern_1): Delete argument multibyte. Don't set
8732 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
8733 (compile_pattern): Don't compare cp->buf.target_multibyte.
8734 Compare cp->buf.charset_unibyte.
8735 (compile_pattern): Set cp->buf.target_multibyte.
8736
8737 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
8738
8739 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
8740
8741 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
8742 multibyte. Change callers.
8743 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
8744 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
8745 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
8746 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
8747 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
8748 (regex_compile): Make the compiled pattern usable both for
8749 multibyte and unibyte targets.
8750 (analyse_first): Make the fastmap usable both for multibyte and
8751 unibyte targets.
8752 (TRANSLATE_VIA_MULTIBYTE): Delete.
8753 (re_match_2_internal): Pay attention to the case that the
8754 multibyteness of bufp and target may be different.
8755
87562008-02-01 Kenichi Handa <handa@m17n.org>
8757
8758 * xdisp.c (x_produce_glyphs): When a font is not found, make the
8759 empty box occupy at least one column width.
8760
87612008-02-01 Miles Bader <miles@gnu.org>
8762
8763 * Makefile.in: Remove redundant HAVE_XFT clause.
8764
87652008-02-01 Kenichi Handa <handa@m17n.org>
8766
8767 * xrdb.c (x_load_resources): Setup the default fontSet X resource.
8768
87692008-02-01 Kenichi Handa <handa@m17n.org>
8770
8771 * fontset.c (Finternal_char_font): Fix for the case of POSITION
8772 being nil.
8773
87742008-02-01 Kenichi Handa <handa@m17n.org>
8775
8776 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
8777
87782008-02-01 Kenichi Handa <handa@m17n.org>
8779
8780 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
8781
87822008-02-01 Kenichi Handa <handa@m17n.org>
8783
8784 * search.c (simple_search): Fix previous change.
8785
87862008-02-01 Kenichi Handa <handa@m17n.org>
8787
8788 * xftfont.c (ftfont_font_format): Extern declaration.
8789
8790 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
8791
8792 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
8793 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
8794
8795 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
8796 (ftfont_font_format): Fix previous change.
8797
8798 * font.h (Ffont_xlfd_name): EXFUN it.
8799
8800 * font.c (font_parse_xlfd): Fix the array size of `f'.
8801 (register_font_driver): Use EQ to compare driver->type.
8802
8803 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
8804 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
8805 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
8806
88072008-02-01 Kenichi Handa <handa@m17n.org>
8808
8809 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
8810 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
8811
88122008-02-01 Kenichi Handa <handa@m17n.org>
8813
8814 * xfont.c (xfont_open): Set font->format.
8815
8816 * xftfont.c (xftfont_open): Set font->format.
8817
8818 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
8819 (ftfont_list): Include FC_FONTFORMAT in FcObject.
8820 (ftfont_open): Set font->format.
8821 (ftfont_font_format): New function.
8822
8823 * font.h (struct font): New member format.
8824
8825 * font.c (Qopentype): New variable.
8826 (syms_of_font): Defsym it.
8827 (Fquery_font): Change the format of the last element of the return
8828 value.
8829
88302008-02-01 Kenichi Handa <handa@m17n.org>
8831
8832 * xfns.c (xic_create_xfontset): Try the default fontset name as a
8833 last resort.
8834
88352008-02-01 Kenichi Handa <handa@m17n.org>
8836
8837 * coding.c (detect_coding_charset): Fix detection of multi-byte
8838 charset.
8839
88402008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
8841
8842 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
8843
88442008-02-01 Kenichi Handa <handa@m17n.org>
8845
8846 * xdisp.c (get_next_display_element): Set it->face_id for the
8847 first component of a composition.
8848 (x_produce_glyphs): Check if the font is changed or not for composition.
8849
88502008-02-01 Kenichi Handa <handa@m17n.org>
8851
8852 * fontset.c (Qlatin): New variable.
8853 (syms_of_fontset): Define it as a lisp symbol.
8854 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
8855
88562008-02-01 Kenichi Handa <handa@m17n.org>
8857
8858 * font.c (font_unparse_fcname): Pay attention to the case that
8859 some of font property is a null string.
8860
88612008-02-01 Kenichi Handa <handa@m17n.org>
8862
8863 * term.c: Include "composite.h".
8864 (encode_terminal_code): Output all components of composition.
8865 Check the size of encode_terminal_src.
8866 (produce_glyphs): For composition, call produce_composite_glyph.
8867 (append_composite_glyph, produce_composite_glyph): New functions.
8868
8869 * xdisp.c (x_produce_glyphs): In handling composition, if a font
8870 is not found, get font_info from the current ascii face.
8871
88722008-02-01 Kenichi Handa <handa@m17n.org>
8873
8874 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
8875 buffer-file-name to Qnil before calling insert_from_buffer.
8876
8877 * font.c (font_unparse_fcname): Pay attention to the case that
8878 foundry is a null string.
8879
88802008-02-01 Kenichi Handa <handa@m17n.org>
8881
8882 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
8883
8884 * font.c (Qunicode_sip): New variable.
8885 (syms_of_font): Declare it as a Lisp symbol.
8886
8887 * font.h (Qunicode_sip): Extern it.
8888
88892008-02-01 Kenichi Handa <handa@m17n.org>
8890
8891 * composite.c (get_composition_id): Pay attention to TAB component.
8892
8893 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
8894 TAB. Adjust for the change of s->char2b which always points to
8895 the first element of allocated memory.
8896
8897 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
8898
8899 * xdisp.c (handle_composition_prop): Set it->c to the first
8900 non-TAB component.
8901 (fill_composite_glyph_string): Change argument.
8902 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
8903 (x_produce_glyphs): Fix handling of left/right padding.
8904
89052008-02-01 Kenichi Handa <handa@m17n.org>
8906
8907 * coding.c (detect_coding_system): Fix for handling off
8908 inhibit_iso_escape_detection. Fix for the case that no coding
8909 system is defined for a specific coding category.
8910
89112008-02-01 Kenichi Handa <handa@m17n.org>
8912
8913 * font.c (font_matching_entity): Delete unused local var.
8914
8915 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
8916 opening a font.
8917
8918 * fileio.c (Finsert_file_contents): On recovering a file, assume
8919 Unix-like eol.
8920 (choose_write_coding_system): On auto-saving a file, force
8921 Unix-like eol.
8922
8923 * coding.c (setup_coding_system): Fix setting of
8924 coding->common_flags based on eol_type.
8925 (coding_inherit_eol_type): If PARENT is not nil, be sure to
8926 inherit from it.
8927
89282008-02-01 Kenichi Handa <handa@m17n.org>
8929
8930 * alloc.c (NSTATICS): Increas to 0x600.
8931
89322008-02-01 Kenichi Handa <handa@m17n.org>
8933
8934 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
8935 (ftfont_list): Don't check :name property.
8936 (ftfont_match): New function.
8937 (ftfont_pattern_entity): If the pattern doesn't contain
8938 FC_SPACING, don't assume FC_MONO.
8939
8940 * font.h (struct font_driver): New member `match'.
8941 (font_update_drivers): Adjust prototype.
8942
8943 * font.c (font_parse_fcname, font_parse_name): Don't change :name
8944 property of FONT.
8945 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
8946 them unconditionally.
8947 (font_matching_entity): New function.
8948 (font_open_by_name): Try font_matching_entity if exact match is
8949 not found.
8950 (font_update_drivers): Delete the arg FONT. Return a list of
8951 actually used backends. Don't free faces, font caches here.
8952 Don't store data in frame parameters. Don't call x_set_font.
8953 (Ffont_spec): Store :name property as is.
8954 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
8955 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
8956 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
8957 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
8958 Call font->driver->otf_gsub instead of font_otf_gsub.
8959
8960 * frame.c (x_set_font_backend): Do more works that were done in
8961 font_update_drivers before.
8962
8963 * xfont.c (xfont_match): New function.
8964 (xfont_driver): Set xfont_driver.match to xfont_match.
8965 (xfont_draw): Set font in GC if necessary.
8966
8967 * ftxfont.c (ftxfont_match): New function.
8968 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
8969
8970 * xftfont.c (xftfont_match): New function.
8971 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
8972
89732008-02-01 Kenichi Handa <handa@m17n.org>
8974
8975 * font.h (struct font): New member scalable.
8976 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
8977 (font_otf_gsub): Adjust prototype.
8978
8979 * font.c (font_otf_capability): Fix handling of the default langsys.
8980 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
8981 Check the contents of SPEC.
8982 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
8983 (check_gstring): New function.
8984 (REPLACEMENT_CHARACTER): New macro.
8985 (font_otf_gsub): New arg alternate_subst. Be sure to set all
8986 glyph codes of GSTRING.
8987 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
8988 (font_prepare_composition): Set cmp->glyph_len.
8989 (font_open_entity): Set font->scalable.
8990 (Ffont_get): Handle :otf property.
8991 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
8992 functions.
8993 (Fquery_font): Use font->font.full_name.
8994 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
8995 Sfont_otf_alternates.
8996
8997 * ftfont.c (ftfont_open): Set font->font.full_name and
8998 font->font.name properly. Fix calculation of font->font.height
8999 and font->min_width.
9000
9001 * ftxfont.c (ftxfont_create_gcs): New function.
9002 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
9003 (ftxfont_draw_backgrond): Fix filling region.
9004 (ftxfont_default_fid): New function.
9005 (ftxfont_open): Set xfont->fid to the return value of
9006 ftxfont_default_fid.
9007 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
9008 (ftxfont_done_face): Free only GCs that are created by
9009 ftxfont_create_gcs.
9010 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
9011
9012 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
9013 Clip to src->width, etc (not src->clip_XXX).
9014
9015 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
9016 FontBackend frame parameter.
9017
90182008-02-01 Kenichi Handa <handa@m17n.org>
9019
9020 * font.h (struct font_driver_list): New member `on'.
9021 (Fclear_font_cache): EXFUN it.
9022 (font_update_drivers): Extern it.
9023
9024 * font.c (font_unparse_fcname): Fix typo (swidth->width).
9025 (font_list_entities): Check driver_list->on.
9026 (register_font_driver): Initalize `on' member to 0.
9027 (font_update_drivers): New function.
9028 (Fclear_font_cache): Check driver_list->on.
9029
9030 * frame.h (Qfont_backend): Extern it.
9031 (x_set_font_backend): Extern it.
9032
9033 * frame.c (Qfont_backend): New variable.
9034 (frame_parms): New element for font-backend.
9035 (x_set_font_backend): New function.
9036
9037 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
9038 FontBackend frame parameter.
9039 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
9040 x_set_font_backend.
9041
9042 * xfont.c (xfont_list): Don't try listing by :name property if the
9043 name is not for XLFD.
9044
90452008-02-01 Kenichi Handa <handa@m17n.org>
9046
9047 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
9048 (LGLYPH_SET_TO): New macros.
9049 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
9050 element of G is vector or not.
9051 (font_at): Extern it.
9052
9053 * font.c: Include window.h.
9054 (font_lispy_object): New function.
9055 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
9056 end of valid glyph.
9057 (font_close_object): Fix getting (struct font *).
9058 (font_at): New function.
9059 (Ffont_get): If FONT is a font-object, get entity from it.
9060 (Ffont_make_gstring): Initialize elements of glyphs with nil.
9061 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
9062 range check.
9063 (Ffont_at): New function.
9064 (syms_of_font): Defsubr Sfont_at.
9065
9066 * xdisp.c (it_props): Move the entry for Qauto_composed to just
9067 before the entry for Qcomposition.
9068 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
9069 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
9070 the font in gstring.
9071 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
9072 LGLYPH_FORM (g) to detect the end of valid glyph.
9073 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
9074 we are composing with gstring.
9075
9076 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
9077 Check if adjustment is vector or not.
9078
9079 * Makefile.in (font.o): Make it depends on window.h.
9080
90812008-02-01 Kenichi Handa <handa@m17n.org>
9082
9083 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
9084 adjustment is vector or not.
9085
90862008-02-01 Miles Bader <miles@gnu.org>
9087
9088 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
9089
90902008-02-01 Kenichi Handa <handa@m17n.org>
9091
9092 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
9093 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
9094 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
9095
9096 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
9097 (DEVICE_DELTA): Fix typo.
9098 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
9099 LGLYPH format.
9100
9101 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
9102 the change of LGLYPH format.
9103
91042008-02-01 Kenichi Handa <handa@m17n.org>
9105
9106 * ftfont.c (ftfont_list): Fix typo.
9107 (ftfont_build_basic_charsets): Don't include letters with diacritics.
9108
91092008-02-01 Jan Djärv <jan.h.d@swipnet.se>
9110
9111 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
9112
9113 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
9114 xftface_info is non-NULL.
9115
91162008-02-01 Jan Djärv <jan.h.d@swipnet.se>
9117
9118 * ftfont.c (ftfont_list): Move misplaced #endif.
9119
91202008-02-01 Kenichi Handa <handa@m17n.org>
9121
9122 * ftfont.c (ftfont_list): Pay attention to the case that
9123 FC_CAPABILITY is not defined.
9124
91252008-02-01 Kenichi Handa <handa@m17n.org>
9126
9127 * xftfont.c (xftfont_open): Set charset related members to -1.
9128
9129 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
9130 QCname.
9131 (ftfont_open): Set charset related members to -1.
9132
9133 * fontset.c (Votf_script_alist): New variable.
9134 (syms_of_fontset): Initialize it.
9135 (fontset_font): Delete unused variable.
9136
9137 * fontset.h (Votf_script_alist): Extern it.
9138
9139 * font.c (font_find_for_lface): Optimize code.
9140
9141 * font.h (font_close_object, font_merge_old_spec): Extern them.
9142
91432008-02-01 Kenichi Handa <handa@m17n.org>
9144
9145 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
9146 (syms_of_font): Initialize them.
9147 (font_pixel_size): Allow float value in dpi.
9148 (font_prop_validate_type): Delete.
9149 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
9150 Change caller.
9151 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
9152 (font_prop_validate_extra): Delete.
9153 (font_prop_validate_spacing): New function.
9154 (font_property_table): Add elements for all known properties.
9155 (get_font_prop_index): Rename from check_font_prop_name. New
9156 argument FROM. Change caller.
9157 (font_prop_validate): Validate all known properties.
9158 (font_put_extra): Delete argument force. Change caller.
9159 (font_expand_wildcards): Make it static. Fix the way of shrinking
9160 the possible range.
9161 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
9162 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
9163 Change caller.
9164 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
9165 (font_parse_fcname): Delete argument merge. Fix parsing of point
9166 size. Don't validate properties values here. Change caller.
9167 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
9168 (font_open_by_name): Delete unused variable.
9169 (Ffont_spec): Likewise. Validate property values.
9170 (Ffont_match_p): New function.
9171
9172 * font.h (QCscalable): Extern it.
9173 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
9174
9175 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
9176
9177 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
9178 (xfont_list_pattern): New function.
9179 (xfont_list): Use xfont_list_pattern.
9180
91812008-02-01 Kenichi Handa <handa@m17n.org>
9182
9183 * font.h (Flist_fonts): EXFUN it.
9184
91852008-02-01 Jason Rumney <jasonr@gnu.org>
9186
9187 * w32term.c (w32_initialize): Add back smoothing_type and
9188 smoothing_enabled definitions.
9189
91902008-02-01 Kenichi Handa <handa@m17n.org>
9191
9192 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
9193 s->face->font on determining underline position.
9194
91952008-02-01 Kenichi Handa <handa@m17n.org>
9196
9197 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
9198 (font_has_char): Accept font-object too.
9199 (font_find_for_lface): Try at first with a size specified in face.
9200
92012008-02-01 Kenichi Handa <handa@m17n.org>
9202
9203 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
9204 font_open_by_name.
9205
92062008-02-01 Kenichi Handa <handa@m17n.org>
9207
9208 * font.h (QCspacing, QCdpi): Extern them.
9209 (enum font_spacing): New enum.
9210 (FONT_PIXEL_SIZE_QUANTUM): New macro.
9211
9212 * font.c (POINT_TO_PIXEL): Don't divide POINT by 10.
9213 (QCspacing, QCdpi): New variables.
9214 (syms_of_font): Initialize them.
9215 (font_pixel_size): New function.
9216 (font_put_extra): New function.
9217 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
9218 in FONT_EXTRA.
9219 (font_parse_fcname): Handle enumerated values (e.g. bold).
9220 Fix handling font size. Add QCname property that contains only
9221 unknown properties.
9222 (font_score): Change argument. Change caller. Pay attention to
9223 FONT_PIXEL_SIZE_QUANTUM.
9224 (font_sort_entites, font_list_entities, font_find_for_lface)
9225 (font_open_for_lface, font_open_by_name): Fix handling of font size.
9226 (Ffont_spec): Add QCname property that contains only unknown properties.
9227
9228 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
9229 include weight in listing pattern, instead check weight of each
9230 listed font. Don't include scalable in pattern. Pay attention to
9231 FONT_PIXEL_SIZE_QUANTUM.
9232
92332008-02-01 Kenichi Handa <handa@m17n.org>
9234
9235 * font.c (font_parse_fcname): Fix parsing of point-size.
9236 (font_unparse_fcname): Produce symbolic names for style properties.
9237 (font_list_entities): Handle float size correctly.
9238 (font_open_by_name): Prefer `normal' property values if the name
9239 doesn't specify them.
9240
9241 * fontset.c (Finternal_char_font): Use font_get_name, not
9242 Ffont_xlfd_name.
9243
9244 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
9245 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
9246 pattern. Don't force scalable.
9247
9248 * xftfont.c (xftfont_open): For generating a name, start from
9249 96-byte buffer.
9250
92512008-02-01 Jan Djärv <jan.h.d@swipnet.se>
9252
9253 * frame.h (x_new_fontset2): Fix prototype.
9254
92552008-02-01 Kenichi Handa <handa@m17n.org>
9256
9257 * font.h (struct font_driver): Delete member parse_name.
9258 (font_match_p, font_get_spec, font_parse_fcname)
9259 (font_unparse_fcname): Extern them.
9260 (font_get_name): Adjust prototype.
9261
9262 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
9263 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
9264 (font_expand_wildcards): Fix handling ENCODING field. Avoid
9265 unnecessary checks for weight, slant, and swidth.
9266 (font_parse_fcname): New function.
9267 (font_unparse_fcname): New function.
9268 (font_parse_name): New function.
9269 (font_match_p): New function.
9270 (font_get_name): Change return value to Lisp string.
9271 (font_get_spec): New function.
9272 (Qunspecified, Qignore_defface): Don't extern them.
9273 (font_find_for_lface): Assume that LFACE is fully specified.
9274 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
9275 object, use it for FACE.
9276 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
9277 driver->parse_name.
9278 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
9279
9280 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
9281 prototype.
9282
9283 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
9284 argument F. Don't call Fnew_fontset. Instead, directly call
9285 make_fontset.
9286
9287 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
9288
9289 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
9290 of x_new_fontset2.
9291
9292 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
9293 (Qsans__serif): New variables.
9294 (ftfont_generic_family_list): New variable.
9295 (syms_of_ftfont): Initialize the above variables.
9296 (ftfont_pattern_entity): Delete argument NAME.
9297 (ftfont_list_generic_family): New function.
9298 (ftfont_parse_name): Delete this function.
9299 (ftfont_list): Try generic family only when FcFontList found no font.
9300 (ftfont_list_family): Fix args to FcObjectSetBuild.
9301
9302 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
9303 object in attrs[LFACE_FONT_INDEX].
9304 (set_lface_from_font_name): Cancel all changes for font-backend.
9305 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
9306 function.
9307 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
9308 font object in QCfont attribute.
9309 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
9310 (realize_default_face) [USE_FONT_BACKEND]: Call
9311 set_lface_from_font_and_fontset.
9312
9313 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
9314 "fixed", and signal error here if no suitable font was found.
9315
9316 * xfont.c (xfont_parse_name): Delete this function.
9317
9318 * xftfont.c (xftfont_open): Change coding style of error
9319 handling. Generate fontconfig's fontname pattern.
9320
9321 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
9322 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
9323
9324 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
9325 Both args FONTSET and FONT_OBJECT must be existing ones.
9326
93272008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9328
9329 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
9330
93312008-02-01 Kenichi Handa <handa@m17n.org>
9332
9333 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
9334
9335 * font.h (struct font): Fix typo.
9336
9337 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
9338 XLFD_XXX_INDEX.
9339 (enum xlfd_field_mask): New enum.
9340 (intern_font_field): Changed argument. Change caller. If digits
9341 are followed by non-digits, return a symbol.
9342 (font_expand_wildcards): New function.
9343 (font_parse_xlfd): Fix wildcard handling.
9344 (Ffont_spec): If :name is specified, reflect the info in the other
9345 properties.
9346
9347 * ftfont.c (ftfont_pattern_entity): Fix typo.
9348 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
9349 locale.
9350
93512008-02-01 Kenichi Handa <handa@m17n.org>
9352
9353 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
9354
9355 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
9356 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
9357 registry doesn't specify encoding part.
9358 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
9359 (font_open_by_name): At first try parsing the name.
9360 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
9361 as Lisp symbols.
9362
9363 * fontset.c (reorder_font_vector): Pay attention to the case that
9364 the 3rd element of font_def is nil.
9365 (fontset_font): For the default fontset, append one more fontset
9366 elements for a script-based font specification. Don't add script
9367 attribute on finding a font.
9368 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
9369 font name.
9370 (fontset_ascii_font): If a font can't be opened, return nil.
9371
9372 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
9373 (ftfont_pattern_entity): New function.
9374 (ftfont_get_cache): Assume that freetype_font_cache is already
9375 initialized.
9376 (ftfont_list): Handle the case that a file is specified in font
9377 name. Use ftfont_pattern_entity to generate entities.
9378 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
9379 (syms_of_ftfont): Initialize freetype_font_cache.
9380
9381 * xftfont.c (xftfont_open): Make the font name fontconfig's
9382 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
9383 (xftfont_close): Free font->font.name if not NULL.
9384
9385 * xfont.c (xfont_list): If script is specified for a font, return
9386 null_vector.
9387 (xfont_list_family): Declare argument type.
9388
9389 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
9390 name, set LFACE_FONT (lface) to nil.
9391
9392 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
9393 return Qnil.
9394
93952008-02-01 Kenichi Handa <handa@m17n.org>
9396
9397 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
9398 (standard_args): Add "-enable-font-backend".
9399
94002008-02-01 Kenichi Handa <handa@m17n.org>
9401
9402 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
9403 (struct xftdraw_list, xftdraw_list): Delete them.
9404 (register_xftdraw, check_xftdraw): Delete them.
9405 (xftfont_prepare_face): Don't call register_xftdraw.
9406 (xftfont_done_face): Don't call check_xftdraw.
9407 (xftfont_draw): Get background color only when with_background is
9408 nonzero.
9409
9410 * xfont.c (xfont_encode_char): Fix calculation of char2b.
9411
94122008-02-01 Kenichi Handa <handa@m17n.org>
9413
9414 These changes are for the new font handling codes.
9415
9416 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
9417 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
9418 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
9419 (FONTSRC, FONTOBJ): New variables.
9420 (obj): Add $(FONTOBJ).
9421 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
9422 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
9423 @LIBOTF_LIBS@.
9424 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
9425 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
9426
9427 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
9428
9429 * character.h (Vscript_representative_chars): Extern it.
9430
9431 * character.c (Vscript_representative_chars): New variable.
9432 (syms_of_character): Declare it as a Lisp variable.
9433
9434 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
9435 enable_font_backend is nonzero, accept the composition method
9436 COMPOSITION_WITH_GLYPH_STRING.
9437
9438 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
9439 enumeration COMPOSITION_WITH_GLYPH_STRING.
9440
9441 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
9442 members clip_x, clip_y, clip_width, and clip_height.
9443 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
9444
9445 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
9446 --enable-font-backend. Call syms_of_font.
9447
9448 * fns.c (assoc_no_quit): New function.
9449
9450 * fontset.h (FONT_INFO_FROM_FACE): New macro.
9451 (face_for_font, new_fontset_from_font)
9452 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
9453
9454 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
9455 (fontset_font, fontset_ascii, face_for_char)
9456 (make_fontset_for_ascii_face, Ffont_info)
9457 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
9458 is nonzero, use font-backend mechanism.
9459 (find_font_encoding): Make it non-static.
9460 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
9461 New functions.
9462
9463 * frame.h (struct frame): New members resx and resy.
9464 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
9465 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
9466
9467 * frame.c [USE_FONT_BACKEND]: Include "font.h".
9468 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
9469
9470 * lisp.h (assoc_no_quit): Extern it.
9471
9472 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
9473 Through out the file, use FONT_INFO_FROM_FACE instead of
9474 FONT_INFO_FROM_ID, use get_per_char_metric instead of
9475 rif->per_char_metric.
9476 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
9477 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
9478 (get_glyph_face_and_encoding, fill_composite_glyph_string)
9479 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
9480 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
9481 nonzero, use font-backend mechanism.
9482 (get_per_char_metric): New function.
9483
9484 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
9485 (set_lface_from_font_name)
9486 (set_font_frame_param, free_realized_face)
9487 (prepare_face_for_display, clear_face_gcs)
9488 (Finternal_set_font_selection_order, realize_x_face)
9489 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
9490 font-backend mechanism.
9491 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
9492 (load_face_font) [USE_FONT_BACKEND]: Abort.
9493 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
9494 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
9495
9496 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
9497 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
9498 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
9499 nonzero, register all available font drivers. Call
9500 x_default_font_parameter for deciding a font.
9501 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
9502
9503 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
9504 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
9505 (x_set_glyph_string_clipping_exactly)
9506 (x_compute_glyph_string_overhangs)
9507 (x_draw_glyph_string_foreground)
9508 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
9509 (x_free_frame_resources) [USE_FONT_BACKEND]: If
9510 enable_font_backend is nonzero, use font-backend mechanism.
9511 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
9512
95132008-02-01 Kenichi Handa <handa@m17n.org>
9514
9515 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
9516 system_eol_type.
9517 (syms_of_coding): Initialize system_eol_type.
9518
9519 * process.c (Fset_process_coding_system): Inherit system's eol
9520 format if necessary.
9521
95222008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9523
9524 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
9525
95262008-02-01 Kenichi Handa <handa@m17n.org>
9527
9528 * coding.c (decode_eol): Pay attention to buffer relocation in
9529 del_range_2.
9530 (decode_coding): Call decode_eol before restoring undo_list.
9531
95322008-02-01 Kenichi Handa <handa@m17n.org>
9533
9534 * charset.c (Fdefine_charset_internal): Fix setting of
9535 emacs_mule_bytes.
9536
95372008-02-01 Kenichi Handa <handa@m17n.org>
9538
9539 * keyboard.c (read_char): Check if C is a character or not before
9540 looking up Vkeyboard_translate_table.
9541
95422008-02-01 Kenichi Handa <handa@m17n.org>
9543
9544 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
9545 condition to terminate the loop.
9546
95472008-02-01 Kenichi Handa <handa@m17n.org>
9548
9549 * coding.c (produce_composition): Compare charbuf[i] instead of
9550 args[i] against 0.
9551 (Fterminal_coding_system): Use EQ to compare Lisp objects.
9552
95532008-02-01 Kenichi Handa <handa@m17n.org>
9554
9555 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
9556 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
9557 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
9558 detect_coding.
9559 (emacs_mule_char): Handle old style (Emacs 20) component character
9560 of a composition.
9561 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
9562 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
9563 composition rule.
9564 (decode_coding_emacs_mule): Handle invalid bytes correctly.
9565
95662008-02-01 Kenichi Handa <handa@m17n.org>
9567
9568 * coding.c (encode_coding_ccl): Allocate destination dynamically
9569 when necessary.
9570
95712008-02-01 Kenichi Handa <handa@m17n.org>
9572
9573 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
9574 the loop. When quitted, show a proper error message.
9575
95762008-02-01 Kenichi Handa <handa@m17n.org>
9577
9578 * xterm.c (x_set_glyph_string_clipping_exactly): Set
9579 src->clip_head and src->clip_tail temporarily instead of src->hl.
9580
9581 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
9582 character sequence.
9583 (Fccl_execute_on_string): Use ASET, not XSET.
9584
95852008-02-01 Kenichi Handa <handa@m17n.org>
9586
9587 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
9588
95892008-02-01 Kenichi Handa <handa@m17n.org>
9590
9591 * coding.c (decode_coding): Fix the condition of terminating the
9592 decoding loop.
9593
95942008-02-01 Kenichi Handa <handa@m17n.org>
9595
9596 * data.c (Faset): On setting a character bigger than 255 in a
9597 unibyte string, signal an error instead of make the string multibyte.
9598
95992008-02-01 Kenichi Handa <handa@m17n.org>
9600
9601 * charset.c (map_charset_chars): Fix for ascii-compatible charset
9602 made by a mapping table.
9603
96042008-02-01 Kenichi Handa <handa@m17n.org>
9605
9606 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
9607 not.
9608 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
9609 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
9610
9611 * xterm.c (x_draw_composite_glyph_string_foreground): Check
9612 s->face is NULL or not.
9613
96142008-02-01 Kenichi Handa <handa@m17n.org>
9615
9616 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
9617 (x_draw_glyph_string): Fix drawing of right_overhang and
9618 left_overhang around/on cursor.
9619
9620 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
9621
96222008-02-01 Kenichi Handa <handa@m17n.org>
9623
9624 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
9625
96262008-02-01 Kenichi Handa <handa@m17n.org>
9627
9628 * coding.c (Fdefine_coding_system_internal)
9629 (Fdefine_coding_system_alias): Avoid a duplicated element in
9630 Vcoding_system_alist.
9631
96322008-02-01 Kenichi Handa <handa@m17n.org>
9633
9634 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
9635
9636 * coding.c (Qcoding_system_define_form): New variable.
9637 (syms_of_coding): Intern and staticpro it.
9638 (Fcoding_system_p): Check Qcoding_system_define_form.
9639 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
9640
9641 * coding.h (CODING_SYSTEM_P): If ID is not available, call
9642 Fcoding_system_p.
9643 (CHECK_CODING_SYSTEM): If ID is not available, call
9644 Fcheck_coding_system.
9645 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
9646 Try also Fcheck_coding_system.
9647
96482008-02-01 Kenichi Handa <handa@m17n.org>
9649
9650 * coding.c (code_conversion_restore): GCPRO arg.
9651
96522008-02-01 Kenichi Handa <handa@m17n.org>
9653
9654 * character.c (lisp_string_width): Check multibyteness of STRING.
9655
96562008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9657
9658 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
9659 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
9660 (decode_mac_font_name): Use decode_coding_c_string instead of
9661 decode_coding.
9662 (x_load_font): Initialize fontp->fontset to -1. Set
9663 fontp->encoding_type.
9664
96652008-02-01 Kenichi Handa <handa@m17n.org>
9666
9667 * search.c (search_buffer): Give up BM search on case-fold-search
9668 if one of a target character has a case-equivalence of different
9669 byte length even if that target charcter is an ASCII.
9670 (simple_search): Fix calculation of byte length of matched text.
9671 (boyer_moore): Fix handling of case-equivalent multibyte characters.
9672
96732008-02-01 Kenichi Handa <handa@m17n.org>
9674
9675 * coding.c (decode_coding): Fix handling of invalid bytes.
9676
96772008-02-01 Kenichi Handa <handa@m17n.org>
9678
9679 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
9680 Unicode characters.
9681
96822008-02-01 Kenichi Handa <handa@m17n.org>
9683
9684 * coding.c (encode_coding_object): If a pre-write-conversion
9685 function makes a new buffer, kill it.
9686
96872008-02-01 Kenichi Handa <handa@m17n.org>
9688
9689 * coding.c (QCascii_compatible_p): New variable.
9690 (syms_of_coding): Initialize it.
9691 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
9692 calling string_char.
9693 (record_conversion_result): Add `default:' case.
9694 (coding_charset_list): Delete unused variable `coding_type'.
9695 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
9696 property in the plist of the coding system.
9697 (Fcoding_system_put): Check QCascii_compatible_p.
9698
96992008-02-01 Miles Bader <miles@gnu.org>
9700
9701 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
9702 removed calculation of frame `f', as it's now used.
9703
97042008-02-01 Kenichi Handa <handa@m17n.org>
9705
9706 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
9707 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
9708 (UNIDATA): New variable.
9709 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
9710 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
9711 $(RUN_TEMACS) unconditionally.
9712
97132008-02-01 Kenichi Handa <handa@m17n.org>
9714
9715 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
9716 (admindir): New variable.
9717 ($(lispsource)international/charprop.el): New target.
9718
97192008-02-01 Miles Bader <miles@gnu.org>
9720
9721 * character.c (chars-in-region): Remove obsolete function.
9722 (syms_of_character): Remove its initialization.
9723
97242008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
9725
9726 * w32select.c (validate_coding_system)
9727 (setup_windows_coding_system): New functions.
9728 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
9729 setup_windows_coding_system.
9730 (setup_config, Fw32_get_clipboard_data): Use
9731 validate_coding_system.
9732 (Fx_selection_exists): Move call to setup_config to a place
9733 where signals are allowed.
9734
9735 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
9736 (Fcheck_coding_system): Add declarations.
9737
97382008-02-01 Kenichi Handa <handa@m17n.org>
9739
9740 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
9741
97422008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9743
9744 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
9745 string as the second argument for x_new_fontset.
9746
97472008-02-01 Kenichi Handa <handa@m17n.org>
9748
9749 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
9750 (encode_coding_object): Use safe_call instead of call2.
9751
97522008-02-01 Kenichi Handa <handa@m17n.org>
9753
9754 * fontset.c (Fset_fontset_font): Check family element of a given vector.
9755
9756 * Makefile.in (lisp): Include charprop.el.
9757
97582008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9759
9760 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
9761 Not sure if it's unnecessary.
9762
97632008-02-01 Steven Tamm <steventamm@mac.com>
9764
9765 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
9766 some possibly unnecessary fontset checking code that crashed
9767 when creating a new frame.
9768
97692008-02-01 Kenichi Handa <handa@m17n.org>
9770
9771 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
9772 lookup_face.
9773
9774 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
9775
9776 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
9777
97782008-02-01 Kenichi Handa <handa@m17n.org>
9779
9780 * coding.c: Cancel the change done in HEAD on 2008-02-01.
9781 (coding_charset_list): New function.
9782
9783 * coding.h (coding_charset_list): Extern it.
9784
97852008-02-01 Kenichi Handa <handa@m17n.org>
9786
9787 * fontset.c (Fset_fontset_font): Call find_font_encoding with
9788 concatenation of family and registry.
9789
97902008-02-01 Kenichi Handa <handa@m17n.org>
9791
9792 * character.h (BYTE8_STRING): Fix typo.
9793
9794 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
9795 string to multibyte (sync to HEAD).
9796
9797 * casefiddle.c (casify_region): Handle changes in byte-length
9798 using replace_range_2 (sync to HEAD).
9799
98002008-02-01 Andreas Schwab <schwab@suse.de>
9801
9802 * chartab.c (map_char_table): GCPRO table and arg.
9803
98042008-02-01 Kenichi Handa <handa@m17n.org>
9805
9806 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
9807 already at limit.
9808
98092008-02-01 Kenichi Handa <handa@m17n.org>
9810
9811 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
9812 instead of fast_c_string_match_ignore_case.
9813 (find_font_encoding): Change argument to Lisp_Object. Use
9814 fast_string_match_ignore_case instead of
9815 fast_c_string_match_ignore_case. Change caller.
9816
98172008-02-01 Kenichi Handa <handa@m17n.org>
9818
9819 * xdisp.c (get_next_display_element): In unibyte case, decide to
9820 display in octal form by checking a character by
9821 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
9822
9823 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
9824
9825 * character.c (unibyte_has_multibyte_table): New variable.
9826
9827 * character.h (unibyte_has_multibyte_table): Extern it.
9828 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
9829
98302008-02-01 Kenichi Handa <handa@m17n.org>
9831
9832 * coding.c (encode_coding_iso_2022): Fix handling of charset
9833 annotation.
9834
98352008-02-01 Kenichi Handa <handa@m17n.org>
9836
9837 * coding.c (setup_coding_system): If coding_system is nil, use
9838 Qundecided.
9839 (Fterminal_coding_system): Return nil if terminal coding system is
9840 `undecided'.
9841 (syms_of_coding): Define coding-system `undecided' here. Setup
9842 terminal_coding as `undecided'.
9843
98442008-02-01 Kenichi Handa <handa@m17n.org>
9845
9846 * xdisp.c (message_dolog, set_message_1): Call
9847 unibyte_char_to_multibyte with arg type int.
9848
9849 * lread.c (read1): Fix reading of a char-table.
9850
9851 * print.c (print_object): Include sub char-table in circularities
9852 detection.
9853
98542008-02-01 Kenichi Handa <handa@m17n.org>
9855
9856 * keymap.c (where_is_internal_2): Fix for the case that KEY is a cons.
9857 Append the found sequences in car of ARGS instead of prepending.
9858
98592008-02-01 Kenichi Handa <handa@m17n.org>
9860
9861 * fileio.c (report_file_error): Make a unibyte string from
9862 strerror (errorno).
9863 (Fsubstitute_in_file_name): Fix the arg to
9864 unibyte_char_to_multibyte. It is evaluated twice.
9865
98662008-02-01 Kenichi Handa <handa@m17n.org>
9867
9868 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
9869
98702008-02-01 Kenichi Handa <handa@m17n.org>
9871
9872 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
9873 BOM is not found.
9874 (detect_coding, detect_coding_system): Optimization for ISO-2022
9875 when no 8-bit data is found.
9876
98772008-02-01 Jason Rumney <jasonr@gnu.org>
9878
9879 * w32fns.c (x_to_w32_font): Update to use new coding struct.
9880
98812008-02-01 Kenichi Handa <handa@m17n.org>
9882
9883 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
9884 CHARS.
9885
98862008-02-01 Steven Tamm <steventamm@mac.com>
9887
9888 * macterm.c (mac_encode_char): Add charset argument and update
9889 to use encoding_type.
9890 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
9891 switch to pure fontset.
9892 (decode_mac_font_name): Temporarily remove decoding.
9893 (x_font_name_to_mac_font_name): Temporarily remove encoding.
9894 (x_load_font): Temporarily remove encoding.
9895
98962008-02-01 Kenichi Handa <handa@m17n.org>
9897
9898 * xfaces.c (Fface_font): If frame is not on a window system,
9899 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
9900 refer to face->font.
9901 (split_font_name_into_vector, build_font_name_from_vector)
9902 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
9903 when HAVE_WINDOW_SYSTEM is defined.
9904
99052008-02-01 Kenichi Handa <handa@m17n.org>
9906
9907 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
9908 (x_produce_glyphs): Fix setting of members of cmp in case
9909 cmp->glyph_len is zero.
9910
9911 * fontset.c (Fset_fontset_font): Fix docstring.
9912 (Ffontset_info): Make it backward compatible. New arg ALL.
9913
99142008-02-01 Kim F. Storm <storm@cua.dk>
9915
9916 * process.c (read_process_output): Grow decoding_buf when needed;
9917 this could cause a crash in allocate_string and compact_small_strings.
9918
99192008-02-01 Kenichi Handa <handa@m17n.org>
9920
9921 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
9922
99232008-02-01 Kenichi Handa <handa@m17n.org>
9924
9925 * coding.c (setup_coding_system): Set coding->common_flags
9926 correctly for raw-text.
9927 (consume_chars): On encoding unibyte text by raw-text, don't check
9928 multibyte form.
9929 (encode_coding): On encoding by raw-text, never use translation tables.
9930
9931 * fileio.c (e_write): Short cut for the case of no encoding.
9932
99332008-02-01 Kenichi Handa <handa@m17n.org>
9934
9935 * coding.c (detect_coding, detect_coding_system): Delete unused
9936 variables.
9937
99382008-02-01 Kenichi Handa <handa@m17n.org>
9939
9940 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
9941 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
9942
99432008-02-01 Kenichi Handa <handa@m17n.org>
9944
9945 * coding.c (Ffind_coding_systems_region_internal): Include
9946 raw-text and no-conversion in the result.
9947
99482008-02-01 Kenichi Handa <handa@m17n.org>
9949
9950 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
9951 (load_font_get_repertory): Delete unnecessary check of ENCODING of
9952 FONT_DEF.
9953 (font_def_arg, add_arg, from_arg, to_arg): New args.
9954 (set_fontset_font): Change argument.
9955 (Fset_fontset_font): Fix for the case that TARGET is a script
9956 name and charset name.
9957 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
9958
99592008-02-01 Kenichi Handa <handa@m17n.org>
9960
9961 * fontset.c (fontset_font): Rename from fontset_face. Change return
9962 value.
9963 (face_suitable_for_char_p, face_for_char): Adjust for the change
9964 of fontset_font.
9965 (make_fontset_for_ascii_face): Fix setting of the fontset element
9966 for ASCII.
9967 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
9968 to get a font name.
9969 (Ffontset_info): Adjust for the change of fontset_font.
9970
9971 * coding.c (emacs_mule_char): Check invalid code more rigidly.
9972
9973 * character.h (LEADING_CODE_LATIN_1_MIN)
9974 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
9975
99762008-02-01 Kenichi Handa <handa@m17n.org>
9977
9978 * editfns.c (check_translation): New function.
9979 (Ftranslate_region_internal): Handle M:N mapping.
9980
99812008-02-01 Kenichi Handa <handa@m17n.org>
9982
9983 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
9984
99852008-02-01 Kenichi Handa <handa@m17n.org>
9986
9987 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
9988 goto invalid_code.
9989 (decode_coding_iso_2022): Fix handling of invalid designation.
9990
9991 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
9992 after calling code_conversion_save.
9993
99942008-02-01 Kenichi Handa <handa@m17n.org>
9995
9996 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
9997
9998 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
9999
10000 * fontset.c: Include "intervals.h".
10001 (fontset_face): Fix comparing of Lisp_Objects.
10002 (free_face_fontset, new_fontset_from_font_name): Fix
10003 Lisp_Object/int mixup.
10004
10005 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
10006
10007 * coding.c: Add many prototypes for static functions.
10008 (get_translation_table): Allow max_lookup to be NULL.
10009 (decode_coding, Ffind_coding_systems_region_internal)
10010 (Funencodable_char_position, Fcheck_coding_systems_region): Call
10011 get_translation_table with max_lookup NULL.
10012
100132008-02-01 Kenichi Handa <handa@m17n.org>
10014
10015 * coding.c (get_translation_table): Declare it as Lisp_Object.
10016 (LOOKUP_TRANSLATION_TABLE): New macro.
10017 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
10018 instead of CHAR_TABLE_REF.
10019
100202008-02-01 Kenichi Handa <handa@m17n.org>
10021
10022 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
10023 annotation data format.
10024 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
10025 Change arguments FROM and TO to single argument NCHARS. Change caller.
10026 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
10027 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
10028 (decode_coding_ccl, decode_coding_charset): Pay attention to
10029 coding->charbuf_used.
10030 (get_translation): New function.
10031 (produce_chars): New arguments translation_table and last_block.
10032 Translate characters here. Return number of carryover chars.
10033 Change caller.
10034 (produce_composition): New argument pos. Change caller.
10035 Adjust for the change of annotation data format.
10036 (produce_charset, produce_annotation): Likewise.
10037 (decode_coding, encode_coding): Don't call translate_chars.
10038 (consume_chars): New arg translation_table. Change caller.
10039 (translate_chars): Delete.
10040 (syms_of_coding): Make translation-table's number of extra slots 2.
10041
100422008-02-01 Kenichi Handa <handa@m17n.org>
10043
10044 * search.c (simple_search): Fix setting this_pos_byte in backward
10045 search.
10046
10047 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
10048 byte sequence.
10049 (detect_coding_ccl): Fix setting of the variable valids.
10050
100512008-02-01 Kenichi Handa <handa@m17n.org>
10052
10053 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
10054
10055 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
10056
10057 * editfns.c (Ftranslate_region_internal): Rename from
10058 Ftranslate_region. Accept a char-table in TABLE.
10059 (syms_of_editfns): Defsubr Stranslate_region_internal.
10060
10061 * xfaces.c (set_lface_from_font_name): If a font is specified for
10062 a frame, generate a fontset from the font.
10063 (build_scalable_font_name): If the scalable font is requested for
10064 a specific size, don't change that size.
10065 (try_font_list): Try a scalable font also in the case that a
10066 pattern string is specified.
10067
100682008-02-01 Kenichi Handa <handa@m17n.org>
10069
10070 * xfaces.c (Fface_font): New optional arg CHARACTER.
10071
100722008-02-01 Kenichi Handa <handa@m17n.org>
10073
10074 * charset.h (CHARSET_OFFSET): New macro.
10075
100762008-02-01 Kenichi Handa <handa@m17n.org>
10077
10078 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
10079
10080 * fontset.c (fontset_face): Handle the case that repertory is a
10081 char-table.
10082 (find_font_encoding): Return nil for unknown encoding.
10083 (Fset_fontset_font): Ignore a font of unknown encoding.
10084
100852008-02-01 Kenichi Handa <handa@m17n.org>
10086
10087 * keymap.c (describe_vector): Handle default value of a char table.
10088
10089 * fontset.c (fontset_face): Handle fallback fonts correctly.
10090 (Ffontset_info): Return infomation about fallback fonts.
10091
100922008-02-01 Kenichi Handa <handa@m17n.org>
10093
10094 * fontset.c (FONTSET_DEFAULT): New macro.
10095 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
10096 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
10097 the case that it is nil.
10098 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
10099 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
10100
10101 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
10102 subset or superset.
10103
101042008-02-01 Kenichi Handa <handa@m17n.org>
10105
10106 * emacs.c (main): Call init_charset after syms_of_XXX.
10107
10108 * charset.c (Vcharset_map_directory): Delete.
10109 (Vcharset_map_path): New variable.
10110 (load_charset_map_from_file): Use Vcharset_map_path instead.
10111 (init_charset): Initialize Vcharset_map_path.
10112 (syms_of_charset): Delete declaration of "charset-map-directory",
10113 add declaration of "charset-map-path".
10114
101152008-02-01 Kenichi Handa <handa@m17n.org>
10116
10117 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
10118 ASCII only string.
10119
10120 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
10121
10122 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
10123 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
10124
101252008-02-01 Kenichi Handa <handa@m17n.org>
10126
10127 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
10128
10129 * coding.c (QCmnemonic, QCdefalut_char)
10130 (QCdecode_translation_table, QCencode_translation_table)
10131 (QCpost_read_conversion, QCpre_write_conversion): New variables.
10132 (get_translation_table): Return a list of translation tables if
10133 necessary.
10134 (decode_coding): Call get_translation_table with ENCODEP 0.
10135 (char_encodable_p): If translation_table is non-nil, always call
10136 translate_char.
10137 (Fdefine_coding_system_internal): Accept list of translation
10138 tables as :encode-translation-table and :decode-translation-table.
10139 (Fcoding_system_put): New function.
10140 (syms_of_coding): Declare new symbols. Defsubr
10141 Scoding_system_put.
10142 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
10143 typically JISX0212.
10144
10145 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
10146 when the charset is superset type.
10147
10148 * character.c (translate_char): Accept list of translation tables.
10149
101502008-02-01 Kenichi Handa <handa@m17n.org>
10151
10152 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
10153 (CODING_ATTR_TRANS_TBL): New macro.
10154
10155 * coding.c (get_translation_table): New function.
10156 (translate_chars): Fix the bug of skipping annotation data.
10157 (decode_coding, encode_coding): Utilize get_translation_table.
10158 (char_encodable_p, Funencodable_char_position): Translate char if
10159 necessary.
10160 (Ffind_coding_systems_region_internal)
10161 (Fcheck_coding_systems_region): Setup translation table for encode
10162 in a coding system attribute vector in advance.
10163 (Fdefine_coding_system_internal): Allow a symbol as translation
10164 table. For shift-jis type coding system, allow 4th charset.
10165
101662008-02-01 Kenichi Handa <handa@m17n.org>
10167
10168 * coding.c (decode_coding_sjis): Check the first byte rigidly.
10169
10170 * xdisp.c (get_next_display_element): Pass -1 as POS to
10171 FACE_FOR_CHAR if displaying a C-string.
10172
101732008-02-01 Kenichi Handa <handa@m17n.org>
10174
10175 * composite.c (get_composition_id): Handle xoff and yoff in a
10176 composition rule.
10177
10178 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
10179 (struct composition): New member lbearing and rbearing.
10180
10181 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
10182 (x_get_glyph_overhangs): Handle a composition glyph.
10183 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
10184
10185 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
10186 composition glyph.
10187
101882008-02-01 Kenichi Handa <handa@m17n.org>
10189
10190 * print.c: Include charset.h.
10191 (Vprint_charset_text_property): New variable.
10192 (Qdefault): Extern it.
10193 (PRINT_STRING_NON_CHARSET_FOUND)
10194 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
10195 (print_check_string_result): New variable.
10196 (print_check_string_charset_prop): New function.
10197 (print_prune_charset_plist): New variable.
10198 (print_prune_string_charset): New function.
10199 (print_object): Call print_prune_string_charset if
10200 Vprint_charset_text_property is not t.
10201 (print_interval): Print nothing if interval->plist is nil.
10202 (syms_of_print): Declare Vprint_charset_text_property as a lisp
10203 variable. Init and staticpro print_prune_charset_plist.
10204
102052008-02-01 Kenichi Handa <handa@m17n.org>
10206
10207 * fontset.c (new_fontset_from_font_name): Use the specified font
10208 for all characters in the new fontset.
10209
10210 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
10211 OBJECT args.
10212
10213 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
10214 OBJECT args for composition too.
10215
10216 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
10217 OBJECT args.
10218
102192008-02-01 Kenichi Handa <handa@m17n.org>
10220
10221 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
10222
10223 * fontset.c (reorder_font_vector): Adjust for the change of
10224 FONT_DEF format.
10225 (fontset_face): New arg id. Change caller.
10226 (face_for_char): New args pos and object.
10227 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
10228 (fs_query_fontset): Check NAME by Fassoc too.
10229 (Fset_fontset_font): Allow non-XLFD font name.
10230 (Ffontset_info): Adjust for the change of FONT_DEF format.
10231
10232 * fontset.h (face_for_char): Adjust prototype.
10233
10234 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
10235 (append_space, extend_face_to_end_of_line)
10236 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
10237 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
10238
10239 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
10240 POS and OBJECT args.
10241
10242 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
10243 POS and OBJECT args.
10244
102452008-02-01 Jason Rumney <jasonr@gnu.org>
10246
10247 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
10248 of GlobalAlloc'ed memory.
10249
102502008-02-01 Kenichi Handa <handa@m17n.org>
10251
10252 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
10253
10254 * charset.h (charset_table_used): Delete extern.
10255
10256 * charset.c (charset_table_used): Make it static.
10257 (map_charset_chars): Fix args to c_function with.
10258
10259 * chartab.c (map_sub_char_table_for_charset): Fix args to
10260 c_function with.
10261
10262 * coding.h (enum coding_result_code): Delete
10263 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
10264
10265 * coding.c (Qinsufficient_source, Qinconsistent_eol)
10266 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
10267 (Vlast_code_conversion_error): New variables.
10268 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
10269 (ONE_MORE_BYTE): Record error if any instead of signaling an
10270 error. If non-ASCII multibyte char is found, return the negative
10271 value of the code. All callers changed to check it.
10272 (ONE_MORE_BYTE_NO_CHECK): Likewise.
10273 (record_conversion_result): New function. Change all codes setting
10274 coding->result to call this function.
10275 (detect_coding_utf_8, decode_coding_utf_8)
10276 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
10277 Don't use the local variable incomplete.
10278 (emacs_mule_char): Change the second arg to `const'.
10279 (decode_coding): Fix of flushing out unprocessed data.
10280 (make_conversion_work_buffer): Fix making of a work buffer.
10281 (decode_coding_object): Return coding->dst_object.
10282
10283 * fontset.c (set_fontset_font): Fix args.
10284
10285 * lisp.h (CHARACTERBITS): Define as 22.
10286
10287 * process.c (send_process): Be sure to set coding->src_multibyte.
10288
10289 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
10290
102912008-02-01 Kenichi Handa <handa@m17n.org>
10292
10293 * xdisp.c (handle_auto_composed_prop): Give limit to
10294 Fnext_single_char_property_change.
10295
102962008-02-01 Kenichi Handa <handa@m17n.org>
10297
10298 * composite.c (syms_of_composite): Don't make the composition hash
10299 table weak.
10300
10301 * fontset.c (Fset_fontset_font): Fix docstring.
10302
10303 * lisp.h (detect_coding_system): Adjust prototype.
10304
10305 * fileio.c (kill_workbuf_unwind): Delete this function.
10306 (Finsert_file_contents): Adjust the call of detect_coding_system.
10307 Get conversion_buffer by code_conversion_save. Use the macro
10308 CODING_MAY_REQUIRE_DECODING. After decoding, update
10309 coding_system.
10310
10311 * coding.h (make_conversion_work_buffer): Delete extern.
10312 (code_conversion_save): Extern it.
10313
10314 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
10315 (CODING_GET_INFO): Delete argument eol_type. Change callers.
10316 (decode_coding_utf_8): Don't do eol converion.
10317 (detect_coding_utf_16): Check coding->src_chars, not
10318 coding->src_bytes. Add heuristics for those that have no signature.
10319 (decode_coding_emacs_mule, decode_coding_iso_2022)
10320 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
10321 Don't do eol converion.
10322 (adjust_coding_eol_type): Return a new coding system.
10323 (detect_coding): Don't detect eol. Fix for utf-16 detection.
10324 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
10325 each change.
10326 (decode_coding): Pay attention to undo_list. Do eol conversion for
10327 all types of coding-systems (if necessary).
10328 (Vcode_conversion_work_buf_list): Delete it.
10329 (Vcode_conversion_reused_workbuf): Rename from
10330 Vcode_conversion_reused_work_buf.
10331 (Vcode_conversion_workbuf_name): New variable.
10332 (reused_workbuf_in_use): New variable.
10333 (make_conversion_work_buffer): Delete the arg DEPTH.
10334 (code_conversion_restore): Change argument to cons.
10335 (code_conversion_save): Delete the argument BUFFER. Change callers.
10336 (detect_coding_system): New argument src_chars. Change callers.
10337 Fix for utf-16 detection.
10338 (init_coding_once): Don't use ISO_carriage_return.
10339 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
10340 reused_workbuf_in_use.
10341
103422008-02-01 Kenichi Handa <handa@m17n.org>
10343
10344 * keymap.c (store_in_keymap): Pay attention to the case that idx
10345 is a cons specifying a character range.
10346
103472008-02-01 Kenichi Handa <handa@m17n.org>
10348
10349 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
10350 HANDLED_RECOMPUTE_PROPS.
10351
10352 * coding.c (Fdefine_coding_system_internal): Fix checking of
10353 ascii compatibility.
10354
103552008-02-01 Kenichi Handa <handa@m17n.org>
10356
10357 * charset.c (find_charsets_in_text): Delete unused locale variable.
10358 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
10359
10360 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
10361 Resync charset_list to Vemacs_mule_charset_list.
10362
10363 * keymap.c (store_in_keymap): Pay attention to the case that idx
10364 is a cons specifying a character range.
10365
103662008-02-01 Kenichi Handa <handa@m17n.org>
10367
10368 * composite.c (update_compositions): Bind inhibit-read-only, etc
10369 to t before calling remove-list-of-text-properties.
10370
10371 * print.c (print_object): Always print ASCII chars as is.
10372
103732008-02-01 Kenichi Handa <handa@m17n.org>
10374
10375 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
10376
10377 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
10378 is a char table.
10379
103802008-02-01 Kenichi Handa <handa@m17n.org>
10381
10382 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
10383
103842008-02-01 Kenichi Handa <handa@m17n.org>
10385
10386 * xfaces.c (set_lface_from_font_name): Fix for the case that
10387 FONTNAME is not fontset name.
10388
103892008-02-01 Kenichi Handa <handa@m17n.org>
10390
10391 * fns.c (base64_encode_1): Fix previous change.
10392
103932008-02-01 Kenichi Handa <handa@m17n.org>
10394
10395 * fontset.c (set_fontset_font): New function.
10396 (Fset_fontset_font): If a font is specified for a charset, use
10397 map_charset_chars to store the font spec in a fontset.
10398
103992008-02-01 Kenichi Handa <handa@m17n.org>
10400
10401 * fontset.c (fontset_face): Create a fallback fontset on demand.
10402 (make_fontset): Don't create a fallback fontset here.
10403 (free_face_fontset): Free a fallback fontset (if any) too.
10404 (n_auto_fontsets): Delete this variable.
10405 (auto_fontset_alist): New variable.
10406 (new_fontset_from_font_name): Check auto_fontset_alist.
10407 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
10408 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
10409 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
10410 Defsubr Sfontset_list_all.
10411
104122008-02-01 Kenichi Handa <handa@m17n.org>
10413
10414 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
10415
104162008-02-01 Kenichi Handa <handa@m17n.org>
10417
10418 * fontset.c (Fnew_fontset): Check NAME more rigidly.
10419
104202008-02-01 Kenichi Handa <handa@m17n.org>
10421
10422 * editfns.c (Fgoto_char): Fix docstring.
10423
104242008-02-01 Kenichi Handa <handa@m17n.org>
10425
10426 * insdel.c (insert_from_gap): Adjust intervals correctly.
10427
104282008-02-01 Jason Rumney <jasonr@gnu.org>
10429
10430 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
10431 (pfnGetFontUnicodeRanges): New dynamically loaded function.
10432 (w32_initialize): Try to load it.
10433 (x_get_font_repertory): Use it if available.
10434 (w32_encode_char): Add shortcut for unicode output.
10435
10436 * w32fns.c (w32_load_system_font): Default charset to -1.
10437 (x_to_w32_charset): Match all fonts for unicode.
10438 (w32_to_x_charset): New parameter matching. Don't return partial
10439 or wildcard charsets.
10440 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
10441 (w32_codepage_for_font): Return CP_UNICODE for unicode.
10442 (w32_to_x_font): Match charset to real charset.
10443 (enum_font_cb2): Always list unicode versions.
10444
10445 * makefile.w32-in (temacs): Increase EMHEAP.
10446
104472008-02-01 Jason Rumney <jasonr@gnu.org>
10448
10449 * w32term.c (w32_encode_char): New charset parameter.
10450 font_info.encoding becomes encoding_type.
10451 (x_get_font_repertory): New function. Warning: stub only!
10452 (x_new_font): Return quickly if font already set.
10453 (x_new_fontset): fontsetname parameter is Lisp_Object.
10454 Use new fs_query_fontset. Try new_fontset_from_font_name.
10455 Use fontset_name for return value.
10456
10457 * w32term.h: Declare x_get_font_repertory.
10458
10459 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
10460 place of find_charset_in_text. Use encode_coding_object in place
10461 of encode_coding.
10462 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
10463 decode_coding.
10464
10465 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
10466 of x_new_fontset.
10467 (w32_load_system_font): Initialize charset as unicode.
10468 font_info.encoding becomes encoding_type.
10469 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
10470 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
10471 (syms_of_w32fns): Set get_font_repertory_func.
10472
10473 * w32console.c: Include character.h. Use terminal_encode_buffer
10474 from term.c.
10475 (write_glyphs): Use new version of encode_terminal_code. Use
10476 encode_coding_object in place of encode_coding.
10477
10478 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
10479 encoding becomes encoding_type.
10480
10481 * term.c (terminal_encode_buffer): Make externally visible.
10482
10483 * makefile.w32-in: Add character.h dependancies.
10484 (character.o, chartab.o): New targets.
10485
104862008-02-01 Kenichi Handa <handa@m17n.org>
10487
10488 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
10489 CODING_ID_EOL_TYPE.
10490
104912008-02-01 Andreas Schwab <schwab@suse.de>
10492
10493 * coding.c (produce_chars): Revert last change.
10494
104952008-02-01 Kenichi Handa <handa@m17n.org>
10496
10497 * charset.h (charset_unicode): Extern it.
10498
10499 * charset.c (string_xstring_p): Check by (C >= 0x100).
10500 (find_charsets_in_text): Change format of the arc CHARSETS. New
10501 arg MULTIBYTE.
10502 (Ffind_charset_region, Ffind_charset_string): Adjust for the
10503 change of find_charsets_in_text.
10504 (Fsplit_char): Fix doc. Never return unknown.
10505
10506 * chartab.c (char_table_translate): Use CHARACTERP, not INTEGERP.
10507
10508 * coding.c (Fdefine_coding_system_alias): Update
10509 Vcoding_system_list.
10510
10511 * fontset.c (load_font_get_repertory): Pay attention to the case
10512 that ENCODING of a font is specified by a char-table.
10513
10514 * xterm.c (x_get_font_repertory): Handle the case that the
10515 encoding of font is other than Unicode.
10516
105172008-02-01 Kenichi Handa <handa@m17n.org>
10518
10519 * term.c (encode_terminal_code): Don't handle glyph-table. Check
10520 if a character is encodable by the terminal coding system. If
10521 not, produces proper number of `?'s. Update
10522 terminal_encode_buffer and terminal_encode_buf_size if necessary.
10523 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
10524
105252008-02-01 Kenichi Handa <handa@m17n.org>
10526
10527 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
10528 variables.
10529 (encode_terminal_code): Change argument. Encode multiple
10530 characters at once. Store the result of encoding in
10531 terminal_encode_buffer.
10532 (write_glyphs, insert_glyphs): Adjust for the change of
10533 encode_terminal_code.
10534 (term_init): Initialize terminal_encode_buffer and
10535 terminal_encode_buf_size.
10536
10537 * coding.c (consume_chars): If coding->src_object is nil, don't
10538 check annotation.
10539
105402008-02-01 Kenichi Handa <handa@m17n.org>
10541
10542 * character.c (char_string): Use ASCII_CHAR_P instead of
10543 SINGLE_BYTE_CHAR_P.
10544
105452008-02-01 Kenichi Handa <handa@m17n.org>
10546
10547 * xdisp.c (handle_auto_composed_prop): Check if the last
10548 characters of auto-composed region is newly composed with the
10549 following characters.
10550 (handle_composition_prop): Fix checking of point being inside
10551 composition.
10552
105532008-02-01 Kenichi Handa <handa@m17n.org>
10554
10555 * fns.c (concat): Don't change multibyteness of the result by
10556 concatenating an 8-bit character.
10557
10558 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
10559 multibyteness of the result when newelt is an 8-bit character.
10560
105612008-02-01 Dave Love <fx@gnu.org>
10562
10563 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
10564 EMACS_INT.
10565
10566 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
10567
10568 * xfaces.c (face_numeric_value): Declare dim size_t.
10569 (Finternal_lisp_face_equal_p): Remove unused f.
10570
10571 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
10572 (MATRIX_ROW): Remove unused vars.
10573 (draw_glyphs, x_insert_glyphs, fast_find_position)
10574 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
10575 byte/char counts.
10576
10577 * regex.c (regex_compile): Remove unused var.
10578
10579 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
10580
10581 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
10582 (Faccessible_keymaps, where_is_internal): Remove unused vars.
10583
10584 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
10585
10586 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
10587
10588 * fileio.c (Fwrite_region): Remove unused var.
10589
10590 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
10591 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
10592
10593 * composite.c (Fremove_list_of_text_properties): Declare.
10594
10595 * coding.c (inhibit_pre_post_conversion): Remove (unused).
10596 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
10597 (coding_inherit_eol_type): Remove unused attrs.
10598 (detect_coding): Cast arg of detect_eol.
10599
10600 * charset.c (syms_of_charset): Remove unused var p.
10601 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
10602 byte/char counts.
10603
10604 * casetab.c (set_case_table): Remove unused var.
10605
10606 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
10607 unused vars.
10608
106092008-02-01 Dave Love <fx@gnu.org>
10610
10611 * xterm.c (x_bitmap_mask): Declare.
10612
106132008-02-01 Dave Love <fx@gnu.org>
10614
10615 * xterm.c (x_term_init): Fix type error.
10616
10617 * lisp.h: Add Funibyte_char_to_multibyte.
10618
10619 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
10620 (Fset_coding_system_priority): Doc fix.
10621
10622 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
10623
10624 * indent.c (check_composition): Make start and end EMACS_INT.
10625
10626 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
10627
10628 * xdisp.c (handle_composition_prop, check_point_in_composition):
10629 Make buffer positions EMACS_INT.
10630
10631 * composite.c (find_composition, run_composition_function)
10632 (update_compositions, Ffind_composition_internal): Make buffer
10633 positions EMACS_INT.
10634
10635 * composite.h (find_composition, update_compositions): Make
10636 position args EMACS_INT.
10637
10638 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
10639
10640 * intervals.c (get_property_and_range):
10641 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
10642
10643 * unexalpha.c: Don't include varargs.h.
10644
106452008-02-01 Dave Love <fx@gnu.org>
10646
10647 * coding.h (ENCODE_UTF_8): New.
10648
10649 * Makefile.in (gtkutil.o): Depend on coding.h.
10650
10651 * coding.c (Fset_coding_system_priority): Doc fix.
10652
106532008-02-01 Kenichi Handa <handa@m17n.org>
10654
10655 * fileio.c (Finsert_file_contents): Call setup_coding_system in
10656 the case of auto saving.
10657
106582008-02-01 Andreas Schwab <schwab@suse.de>
10659
10660 * chartab.c (map_char_table, map_char_table_for_charset): Protect
10661 `range' from GC.
10662
106632008-02-01 Kenichi Handa <handa@m17n.org>
10664
10665 * coding.c (decode_coding_sjis): Check bytes more rigidly.
10666
106672008-02-01 Kenichi Handa <handa@m17n.org>
10668
10669 * fileio.c (choose_write_coding_system): Return a decided coding system.
10670 (Fwrite_region): Set Vlast_coding_system_used to the return value
10671 of choose_write_coding_system.
10672
106732008-02-01 Kenichi Handa <handa@m17n.org>
10674
10675 * charset.c (Fset_charset_priority): Pay attention to duplicated
10676 arguments.
10677
10678 * coding.c (QCcategory): New variable.
10679 (syms_of_coding): Defsym it. Set all elements of
10680 Vcoding_category_table and their symbol values.
10681 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
10682 coding-category-XXX, and coding-category-list.
10683 (Fdefine_coding_system_internal): Add category in the plist.
10684
106852008-02-01 Kenichi Handa <handa@m17n.org>
10686
10687 * callproc.c (Fcall_process): Handle carryover correctly.
10688
10689 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
10690 (raw_text_coding_system): Check NILP (coding_system).
10691 (coding_inherit_eol_type): Check NILP (coding_system) and
10692 NILP (parent).
10693 (consume_chars): Fix for the case of raw-text.
10694
10695 * process.c (read_process_output): Handle carryover correctly.
10696
106972008-02-01 Dave Love <fx@gnu.org>
10698
10699 * regex.c (re_search_2): Fix last change.
10700
107012008-02-01 Kenichi Handa <handa@m17n.org>
10702
10703 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
10704 target_multibyte. Even in a unibyte case, return a converted
10705 multibyte char.
10706 (GET_CHAR_AFTER): New macro.
10707 (PATFETCH): Translate via multibyte char.
10708 (HANDLE_UNIBYTE_RANGE): Delete this macro.
10709 (SETUP_MULTIBYTE_RANGE): New macro.
10710 (regex_compile): Setup compiled code so that its multibyteness
10711 matches that of a target. Fix the handling of "[X-YZ]" using
10712 SETUP_MULTIBYTE_RANGE.
10713 (analyse_first) <charset>: For filling fastmap for all multibyte
10714 characters, don't check by BASE_LEADING_CODE_P.
10715 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
10716 the same as RE_MULTIBYTE_P (bufp) now.
10717 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
10718 (TARGET_CHAR_AND_LENGTH): Delete this macro.
10719 (TRANSLATE_VIA_MULTIBYTE): New macro.
10720 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
10721 It is the same as RE_MULTIBYTE_P (bufp) now.
10722 <exactn>: Translate via multibyte.
10723 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
10724 translate it.
10725 <charset, charset_not>: Fetch a character by
10726 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
10727 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
10728 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
10729 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
10730 by GET_CHAR_AFTER.
10731 (bcmp_translate): Likewise.
10732
10733 * search.c (compile_pattern): Check the member target_multibyte,
10734 not the member multibyte of buf.
10735
10736 * lread.c (read1): While reading a string, set force_singlebyte
10737 and force_multibyte correctly.
10738
10739 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
10740 up of unibyte_to_multibyte_table.
10741
107422008-02-01 Kenichi Handa <handa@m17n.org>
10743
10744 * coding.c (setup_coding_system): If coding has
10745 post-read-conversion or pre-write-conversion, set
10746 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
10747 respectively.
10748 (decode_coding_gap): Run post-read-conversion if any.
10749
10750 * fileio.c (Finsert_file_contents): Even if we read into a
10751 unibyte buffer, check if we must decode the result or not.
10752
107532008-02-01 Kenichi Handa <handa@m17n.org>
10754
10755 * coding.c (make_conversion_work_buffer): Change the work buffer
10756 name to the same one as that of Emacs 21.
10757
107582008-02-01 Kenichi Handa <handa@m17n.org>
10759
10760 * coding.h (make_conversion_work_buffer): Adjust prototype.
10761 (code_conversion_restore): Don't extern it.
10762
10763 * coding.c (detected_mask): Delete unused variable.
10764 (decode_coding_iso_2022): Pay attention to the byte sequence of
10765 CTEXT extended segment, and retain those bytes as is.
10766 (decode_coding_ccl): Delete unused variable `valids'.
10767 (setup_coding_system): Delete unused variable `category'.
10768 (consume_chars): Delete unused variable `category'. Make it work
10769 for non-multibyte case.
10770 (make_conversion_work_buffer): Change argument.
10771 (saved_coding): Delete unused variable.
10772 (code_conversion_restore): Don't check saved_coding->destination.
10773 (code_conversion_save): New function.
10774 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
10775 instead of record_unwind_protect.
10776 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
10777 (detect_coding_system): Delete unused variable `mask'.
10778 (Fdefine_coding_system_internal): Delete unused variable id.
10779
10780 * fileio.c (kill_workbuf_unwind): New function.
10781 (Finsert_file_contents): On replacing, call
10782 make_conversion_work_buffer with correct args, and call
10783 record_unwind_protect with the first arg kill_workbuf_unwind.
10784
10785 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
10786
107872008-02-01 Kenichi Handa <handa@m17n.org>
10788
10789 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
10790 (fontset_add): Fix for the case that TO is less than TO1.
10791 (Ffontset_info): Don't use fallback fontset on checking the
10792 default fontset.
10793 (dump_fontset): New function for debugging.
10794
10795 * coding.c (Fdefine_coding_system_internal): Fix for the case that
10796 coding_type is Qcharset.
10797
107982008-02-01 Kenichi Handa <handa@m17n.org>
10799
10800 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
10801 (map_char_table): Don't inherit the value from the parent on
10802 initializing VAL. Adjust for the above change.
10803
108042008-02-01 Kenichi Handa <handa@m17n.org>
10805
10806 * coding.c (Qsignature, Qendian): Delete these variables.
10807 (syms_of_coding): Don't initialize them.
10808 (CATEGORY_MASK_UTF_16_AUTO): New macro.
10809 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
10810 detect_info->found.
10811 (decode_coding_utf_16): Don't detect BOM here.
10812 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
10813 is NOT utf_16_without_bom.
10814 (setup_coding_system): For a coding system of type utf-16, check
10815 if the attribute :endian is Qbig or not (not nil or not), and set
10816 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
10817 (detect_coding): If coding type is utf-16 and BOM detection is
10818 required, detect it.
10819 (Fdefine_coding_system_internal): For a coding system of type
10820 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
10821
108222008-02-01 Kenichi Handa <handa@m17n.org>
10823
10824 * coding.c (coding_set_source): Fix for the case that the current
10825 buffer is different from coding->src_object.
10826 (decode_coding_object): Don't use the conversion work buffer if
10827 DST_OBJECT is a buffer.
10828
108292008-02-01 Dave Love <fx@gnu.org>
10830
10831 * lread.c (read_emacs_mule_char) [len==2]: Index
10832 emacs_mule_charset correctly.
10833
108342008-02-01 Dave Love <fx@gnu.org>
10835
10836 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
10837 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
10838 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
10839 treated specially.)
10840 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
10841 (detected_mask): Remove Big5 bits.
10842
108432008-02-01 Kenichi Handa <handa@m17n.org>
10844
10845 The following changes are to make the font rescaling facility
10846 compatible with Emacs 21.
10847
10848 * xfaces.c (Vface_font_rescale_alist): Rename from
10849 Vface_resizing_fonts.
10850 (struct font_name): Rename member resizing_ratio to rescale_ratio.
10851 (font_rescale_ratio): Rename from font_resizing_ratio.
10852 (split_font_name): Set font->rescale_ratio.
10853 (better_font_p): Pay attention to font->rescale_ratio.
10854 (build_scalable_font_name): Likewise. Change RESX, and RESY
10855 fields.
10856 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
10857
108582008-02-01 Kenichi Handa <handa@m17n.org>
10859
10860 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
10861 (Qutf_16_le): Remove these variables.
10862 (syms_of_coding): Don't DEFSYM them.
10863 (decode_coding_utf_16): Fix handling of BOM.
10864 (encode_coding_utf_16): Fix handling of BOM.
10865
108662008-02-01 Kenichi Handa <handa@m17n.org>
10867
10868 * fileio.c (Finsert_file_contents): On replacing, before decoding
10869 the file into the work buffer, set point of the work buffer to the end.
10870
108712008-02-01 Dave Love <fx@gnu.org>
10872
10873 * coding.c (Fcheck_coding_systems_region): Fix type errors.
10874
108752008-02-01 Dave Love <fx@gnu.org>
10876
10877 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
10878 and fix C types.
10879
108802008-02-01 Kenichi Handa <handa@m17n.org>
10881
10882 * xdisp.c (SKIP_GLYPHS): New macro.
10883 (set_cursor_from_row): Pay attention to string display properties.
10884
10885 * category.c (copy_category_entry): Fix for the case that RANGE
10886 is an integer.
10887
10888 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
10889
10890 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
10891
108922008-02-01 Kenichi Handa <handa@m17n.org>
10893
10894 * charset.c (Fcharset_id_internal): New function.
10895 (syms_of_charset): Defsubr it.
10896
10897 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
10898 with the last arg charset_list acquired from coding.
10899 (Fdefine_coding_system_internal): For ccl-based coding system, fix
10900 the attribute coding_attr_ccl_valids.
10901
10902 * coding.h (enum define_coding_ccl_arg_index): Set the first
10903 member coding_arg_ccl_decoder to coding_arg_max.
10904
10905 * ccl.h (ccl_driver): Adjust prototype.
10906
10907 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
10908 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
60612c8f 10909 of DECODE_CHAR, ENCODE_CHAR, CHAR_CHARSET.
aac0c6e3
MR
10910 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
10911 last arg Qnil.
10912
109132008-02-01 Kenichi Handa <handa@m17n.org>
10914
10915 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
10916 call encode_char.
10917
10918 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
10919
109202008-02-01 Dave Love <fx@gnu.org>
10921
10922 * composite.c (syms_of_composite): Make composition_hash_table weak.
10923
109242008-02-01 Kenichi Handa <handa@m17n.org>
10925
10926 * dispextern.h (check_face_attributes, generate_ascii_font_name)
10927 (font_name_registry): Don't extern them.
10928 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
10929
10930 * fontset.h (Qfontset): Don't extern it.
10931 (new_fontset_from_font_name): Extern it.
10932
10933 * fontset.c: Give 8 extra slots to fontset objects.
10934 (Qfontset_info): New variable.
10935 (syms_of_fontset): Defsym it.
10936 (FONTSET_FALLBACK): New macro.
10937 (fontset_face): Try also the default fontset.
10938 (make_fontset): Realize a fallback fontset from the default fontset.
10939 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
10940 using split_font_name_into_vector and build_font_name_from_vector.
10941 (Fset_fontset_font): Access the elements of font_spec by enum
10942 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
10943 name by using split_font_name_into_vector.
10944 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
10945 generate a proper font name from the fontset name. Update
10946 Vfontset_alias_alist.
10947 (n_auto_fontsets): New variable.
10948 (new_fontset_from_font_name): New function.
10949 (Ffont_info): Store the information about fonts generated from the
10950 default fontset in the first extra slot of the returned char-table.
10951
10952 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
10953 (font_name_registry): Delete function.
10954 (split_font_name_into_vector): New function.
10955 (build_font_name_from_vector): New function.
10956 (font_list): The argument REGISTRY is now a list of registry names.
10957 (choose_face_font): If we are choosing an ASCII font, and ATTRS
10958 specifies an explicit font name, return the name as is. Make a
10959 list of registy names.
10960
10961 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
10962 of x_new_fontset.
10963 (Fx_create_frame): Don't call x_new_fontset here. Just use
10964 x_list_fonts to check the existence of fonts.
10965
10966 * xterm.h (x_new_fontset): Adjust prototype.
10967
10968 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
10969 string. Use new_fontset_from_font_name to create a fontset from a
10970 font name.
10971
109722008-02-01 Kenichi Handa <handa@m17n.org>
10973
10974 * syntax.c (Vfind_word_boundary_function_table): New name for
10975 Vnext_word_boundary_function_table.
10976 (find-word-boundary-function-table): New name for
10977 next-word-boundary-function-table.
10978
109792008-02-01 Dave Love <fx@gnu.org>
10980
10981 * Makefile.in: Fix some dependencies.
10982
10983 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
10984 set it to nil before returning.
10985
10986 * composite.c (update_compositions): Fix type error.
10987
10988 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
10989
109902008-02-01 Kenichi Handa <handa@m17n.org>
10991
10992 * xterm.c (x_new_font): Optimize for the case that the font is
10993 already set for the frame.
10994
109952008-02-01 Kenichi Handa <handa@m17n.org>
10996
10997 * chartab.c (char_table_ascii): Check if the char table contents
10998 is sub-char-table or not.
10999 (char_table_set, char_table_set_range): Fix argument to
11000 char_table_ascii.
11001
11002 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
11003 (detect_coding_utf_8, detect_coding_utf_16)
11004 (detect_coding_emacs_mule, detect_coding_iso_2022)
11005 (detect_coding_sjis, detect_coding_big5)
11006 (detect_coding_ccl, detect_coding_charset): Change argument MASK
11007 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
11008 sequence is valid in this coding system. Change callers.
11009 (MAX_ANNOTATION_LENGTH): New macro.
11010 (ADD_ANNOTATION_DATA): New macro.
11011 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
11012 ADD_ANNOTATION_DATA. Change the format of annotation data.
11013 (ADD_CHARSET_DATA): New macro.
11014 (emacs_mule_char): New argument ID. Change callers.
11015 (decode_coding_emacs_mule, decode_coding_iso_2022)
11016 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
11017 Produce charset annotation data in coding->charbuf.
11018 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
11019 to charset annotation data in coding->charbuf.
11020 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
11021 coding->common_flags if the coding system is iso-2022 based and
11022 uses designation.
11023 (produce_composition): Adjust for the new annotation data format.
11024 (produce_charset): New function.
11025 (produce_annotation): Handle charset annotation.
11026 (handle_composition_annotation, handle_charset_annotation): New
11027 functions.
11028 (consume_chars): Handle charset annotation. Utilize the above two
11029 functions.
11030 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
11031 buffer, get the deleted text as a string and set
11032 coding->src_object to that string.
11033 (detect_coding, detect_coding_system): Use the new struct
11034 coding_detection_info.
11035
11036 * coding.h (struct coding_detection_info): New structure.
11037 (struct coding_system): Adjust prototype of the member `detector'.
11038 (CODING_ANNOTATE_CHARSET_MASK): New macro.
11039
110402008-02-01 Kenichi Handa <handa@m17n.org>
11041
11042 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
11043
110442008-02-01 Dave Love <fx@gnu.org>
11045
11046 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
11047 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
11048 to new local and nullify apropos_accumulate before returning.
11049 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
11050
110512008-02-01 Kenichi Handa <handa@m17n.org>
11052
11053 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
11054 correctly.
11055
110562008-02-01 Dave Love <fx@gnu.org>
11057
11058 * fns.c (Flanginfo): Call synchronize_system_time_locale.
11059
110602008-02-01 Kenichi Handa <handa@m17n.org>
11061
11062 The following changes are to make character composition happen
11063 automatically on displaying.
11064
11065 * Makefile.in (lisp, shortlisp): Add composite.elc.
11066
11067 * composite.h (Qauto_composed, Vauto_composition_function)
11068 (Qauto_composition_function): Extern them.
11069
11070 * composite.c (Vcomposition_function_table)
11071 (Qcomposition_function_table): Delete variables.
11072 (Qauto_composed, Vauto_composition_function)
11073 (Qauto_composition_function): New variables.
11074 (run_composition_function): Don't call
11075 compose-chars-after-function.
11076 (update_compositions): Clear `auto-composed' text property.
11077 (compose_chars_in_text): Delete this function.
11078 (syms_of_composite): Staticpro Qauto_composed and
11079 Qauto_composition_function. Declare Vauto_composition_function as
11080 a Lisp variable.
11081
11082 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
11083
11084 * xdisp.c (it_props): Add an entry for Qauto_composed.
11085 (handle_auto_composed_prop): New function.
11086
11087 * xselect.c (selection_data_to_lisp_data): Don't call
11088 compose_chars_in_text.
11089
110902008-02-01 Dave Love <fx@gnu.org>
11091
11092 * keyboard.c (read_char): Modify checking around use of
11093 Vkeyboard_translate_table.
11094
11095 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
11096 and fix C types.
11097
110982008-02-01 Kenichi Handa <handa@m17n.org>
11099
11100 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
11101 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
11102 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
11103 the case that the last byte is '\r' correctly.
11104 (decode_coding): Flush out the unprocessed data correctly.
11105 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
11106
111072008-02-01 Dave Love <fx@gnu.org>
11108
11109 * xterm.c (XTread_socket): Fix changes for defined keysyms.
11110 Add XK_ISO... case.
11111 (xaw_scroll_callback): Revert last change.
11112
111132008-02-01 Kenichi Handa <handa@m17n.org>
11114
11115 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
11116
111172008-02-01 Kenichi Handa <handa@m17n.org>
11118
11119 * xfaces.c (Vface_resizing_fonts): New variable.
11120 (struct font_name): New member `resizing_ratio'.
11121 (font_resizing_ratio): New function.
11122 (split_font_name): Set font->resizing_ratio.
11123 (better_font_p): Pay attention to font->resizing_ratio.
11124 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
11125 RESX, and RESY fields.
11126 (try_alternative_families): Try scalable fonts if
11127 Vscalable_fonts_allowed is not Qt.
11128 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
11129
111302008-02-01 Dave Love <fx@gnu.org>
11131
11132 * xterm.c (xaw_scroll_callback): Cast correctly.
11133
111342008-02-01 Dave Love <fx@gnu.org>
11135
11136 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
11137 (lispy_kana_keys): Comment out.
11138 (make_lispy_event) [XK_kana_A]: Comment out.
11139
11140 * xterm.c (xaw_scroll_callback): Cast call_data.
11141 (XTread_socket): Deal with ASCII keysyms.
11142 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
11143
111442008-02-01 Dave Love <fx@gnu.org>
11145
11146 * xterm.c (Vx_keysym_table): New.
11147 (syms_of_xterm): Initialize it.
11148 (XTread_socket): Use it.
11149 From head: Eliminate incorrect optimization that tried to avoid
11150 decoding the output of X*LookupString.
11151 (x_get_font_repertory): Delete charset declaration.
11152
111532008-02-01 Kenichi Handa <handa@m17n.org>
11154
11155 * coding.c (detect_coding_charset): If only ASCII bytes are found,
11156 return 0.
11157 (Fdefine_coding_system_internal): Setup
11158 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
11159
111602008-02-01 Dave Love <fx@gnu.org>
11161
11162 * coding.c (Fcheck_coding_system): Doc fix.
11163
11164 * editfns.c (Finsert_byte): Return a proper value.
11165
111662008-02-01 Kenichi Handa <handa@m17n.org>
11167
11168 * coding.c (decode_coding): Fix args to translate_chars. Pay
11169 attention to Vstandard_translation_table_for_decode.
11170 (encode_coding): Fix args to translate_chars. Pay attention to
11171 Vstandard_translation_table_for_encode.
11172
11173 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
11174 SINGLE_BYTE_CHAR_P.
11175
11176 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
11177 not by SINGLE_BYTE_CHAR_P.
11178
11179 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
11180 SINGLE_BYTE_CHAR_P.
11181
11182 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
11183 SINGLE_BYTE_CHAR_P.
11184
11185 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
11186 by SINGLE_BYTE_CHAR_P.
11187
11188 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
11189 SINGLE_BYTE_CHAR_P.
11190
111912008-02-01 Dave Love <fx@gnu.org>
11192
11193 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
11194
111952008-02-01 Dave Love <fx@gnu.org>
11196
11197 * fns.c (Flanginfo): Fix typo.
11198
11199 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
11200
112012008-02-01 Kenichi Handa <handa@m17n.org>
11202
11203 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
11204 (detect_coding_emacs_mule, detect_coding_iso_2022)
11205 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
11206 incomplete byte sequence. Don't update *mask when correctly detected.
11207 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
11208 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
11209 (detect_coding, detect_coding_system): Adjust for the changes above.
11210
112112008-02-01 Kenichi Handa <handa@m17n.org>
11212
11213 * character.c (char_string): Rename from
11214 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
11215 (string_char): Rename from string_char.
11216
11217 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
11218 if C is greater than MAX_3_BYTE_CHAR.
11219 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
11220 string_char instead of string_char_with_unification.
11221
112222008-02-01 Dave Love <fx@gnu.org>
11223
11224 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
11225
112262008-02-01 Kenichi Handa <handa@m17n.org>
11227
11228 * keymap.c (push_key_description): Pay attention to force_multibyte.
11229
11230 * regex.c (re_search_2): Fix for the case of unibyte buffer.
11231
112322008-02-01 Dave Love <fx@gnu.org>
11233
11234 * charset.c (define_charset_internal): Rename `supprementary'.
11235
11236 * Makefile.in (lisp, shortlisp): Remove latin-N.
11237
112382008-02-01 Dave Love <fx@gnu.org>
11239
11240 * xfns.c (x_window, x_window): Use use_xim.
11241
11242 * xterm.c (use_xim): Initialize.
11243 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
11244 (x_term_init): Maybe set use_xim.
11245
11246 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
11247
112482008-02-01 Kenichi Handa <handa@m17n.org>
11249
11250 * search.c (search_buffer): Fix case-fold-search of multibyte
11251 characters.
11252 (boyer_moore): Rename the last argument to char_high_bits.
11253
112542008-02-01 Kenichi Handa <handa@m17n.org>
11255
11256 * xdisp.c (display_string): Fix for the case of zero width glyph.
11257
11258 * xfns.c (x_set_font): Change the error message of the case that
11259 x_new_fontset returns Qt.
11260
11261 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
11262 (Finternal_set_lisp_face_attribute): Use signal_error for the
11263 error of invalid fontset.
11264
11265 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
11266 fontset, return Qt.
11267
112682008-02-01 Dave Love <fx@gnu.org>
11269
11270 * unexelf.c (unexec): Make .got handling not SGI-specific.
11271
11272 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
11273
11274 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
11275
11276 * keyboard.c (read_key_sequence): Fix type error.
11277
11278 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
11279 type error.
11280
11281 * fontset.c (fontset_add): Return Lisp_Object.
11282
112832008-02-01 Dave Love <fx@gnu.org>
11284
11285 * charset.h (charset_ordered_list_tick): Declare extern.
11286
112872008-02-01 Kenichi Handa <handa@m17n.org>
11288
11289 The following changes (and some of 2008-02-01 changes of mine) are
11290 for handling syntax, category, and case conversion for unibyte
11291 characters by converting them to multibyte on the fly. With these
11292 changes, we don't have to setup syntax and case tables for unibyte
11293 characters in each language environment.
11294
11295 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
11296 multibyte if necessary.
11297
11298 * bytecode.c (Fbyte_code): Likewise.
11299
11300 * character.h (LEADING_CODE_LATIN_1_MIN)
11301 (LEADING_CODE_LATIN_1_MAX): New macros.
11302 (unibyte_to_multibyte_table): Extern it.
11303 (unibyte_char_to_multibyte): New macro.
11304 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
11305 (CHAR_LEADING_CODE): New macro.
11306 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
11307
11308 * character.c (unibyte_to_multibyte_table): New variable.
11309 (unibyte_char_to_multibyte): Move to character.h and define as macro.
11310 (multibyte_char_to_unibyte): If C is an eight-bit character,
11311 convert it to the corresponding byte value.
11312
11313 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
11314 not 1, signals an error. Update the elements of
11315 unibyte_to_multibyte_table.
11316 (init_charset_once): Initialize unibyte_to_multibyte_table.
11317 (syms_of_charset): Define the charset `iso-8859-1'.
11318
11319 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
11320 as is without converting it to unibyte. In a unibyte buffer,
11321 convert C to multibyte before checking the syntax.
11322
11323 * lisp.h (unibyte_char_to_multibyte): Delete extern.
11324
11325 * minibuf.c (Fminibuffer_complete_word): Use the macro
11326 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
11327
11328 * regex.h (struct re_pattern_buffer): New member target_multibyte.
11329
11330 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
11331 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
11332 that is zero, convert an eight-bit char to multibyte.
11333 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
11334 non-emacs case.
11335 (PATFETCH): Convert an eight-bit char to multibyte.
11336 (HANDLE_UNIBYTE_RANGE): New macro.
11337 (regex_compile): Setup the compiled pattern for multibyte chars
11338 even if the given regex string is unibyte. Use PATFETCH_RAW
11339 instead of PATFETCH in many places. To handle `charset'
11340 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
11341 only for ASCII chars.
11342 (analyse_first) <exactn>: Simplify because the compiled pattern
11343 is multibyte.
11344 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
11345 <charset>: Use CHAR_LEADING_CODE to get leading codes.
11346 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
11347 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
11348 multibyte always 1.
11349 (re_search_2): In emacs, set the locale variable multibyte to 1,
11350 otherwise to 0. New local variable target_multibyte. Check it
11351 to decide the multibyteness of STR1 and STR2. If
11352 target_multibyte is zero, convert unibyte chars to multibyte
11353 before translating and checking fastmap.
11354 (TARGET_CHAR_AND_LENGTH): New macro.
11355 (re_match_2_internal): In emacs, set the locale variable multibyte
11356 to 1, otherwise to 0. New local variable target_multibyte. Check
11357 it to decide the multibyteness of STR1 and STR2. Use
11358 TARGET_CHAR_AND_LENGTH to fetch a character from D.
11359 <charset, charset_not>: If multibyte is nonzero, check fastmap
11360 only for ASCII chars. Call bcmp_translate with
11361 target_multibyte, not with multibyte.
11362 <begline>: Declare the local variable C as `unsigned'.
11363 (bcmp_translate): Change the last arg name to target_multibyte.
11364
11365 * search.c (compile_pattern_1): Don't adjust the multibyteness of
11366 the regexp pattern and the matching target. Set cp->buf.multibyte
11367 to the multibyteness of the regexp pattern. Set
11368 cp->but.target_multibyte to the multibyteness of the matching target.
11369 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
11370 FETCH_STRING_CHAR_ADVANCE.
11371 (Freplace_match): Convert unibyte chars to multibyte.
11372
11373 * syntax.c (char_quoted, back_comment, scan_words)
11374 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
11375 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
11376 unibyte chars to multibyte.
11377 (skip_chars): Delete the arg syntaxp, and move the code for
11378 handling syntaxes to skip_syntaxes. Change callers.
11379 Fix the case that the multibyteness of STRING and the current
11380 buffer doesn't match.
11381 (skip_syntaxes): New function.
11382 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
11383 SINGLE_BYTE_CHAR_P.
11384
113852008-02-01 Kenichi Handa <handa@m17n.org>
11386
11387 * xfaces.c (QCfontset): New variable.
11388 (LFACE_FONTSET): New macro.
11389 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
11390 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
11391 (Finternal_set_lisp_face_attribute)
11392 (Finternal_get_lisp_face_attribute): Handle QCfontset.
11393 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
11394 check also LFACE_FONTSET_INDEX.
11395 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
11396 attrs[LFACE_FONT_INDEX].
11397 (syms_of_xfaces): Intern and staticpro QCfontset.
11398
11399 * dispextern.h (enum lface_attribute_index): New member
11400 LFACE_FONTSET_INDEX.
11401
11402 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
11403
114042008-02-01 Kenichi Handa <handa@m17n.org>
11405
11406 * coding.c (coding_set_destination): Fix coding->destination for
11407 the case converting a region.
11408 (encode_coding_utf_8): Encode eight-bit chars as single byte.
11409 (encode_coding_object): Fix coding->dst_pos and
11410 coding->dst_pos_byte for the case converting a region.
11411
11412 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
11413
11414 * character.h (BYTE8_STRING): New macro.
11415
11416 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
11417
114182008-02-01 Kenichi Handa <handa@m17n.org>
11419
11420 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
11421 characters by octal form.
11422
11423 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
11424
11425 * buffer.h (_fetch_multibyte_char_len): Delete extern.
11426 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
11427 _fetch_multibyte_char_len.
11428 (FETCH_CHAR_AS_MULTIBYTE): New macro.
11429
11430 * casetab.c (set_canon, set_identity, shuffle): Simplify.
11431
11432 * casefiddle.c (casify_object): Simplify. Handle the case that
11433 the case conversion change the byte length.
11434 (casify_region): Likewise.
11435
11436 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
11437
11438 * character.c (_fetch_multibyte_char_len): Delete this variable.
11439 (syms_of_character): Setup Vprintable_chars.
11440
11441 * editfns.c (Fchar_equal): Fix for the unibyte case.
11442 (Finsert_byte): New function.
11443 (syms_of_editfns): Defsubr it.
11444
11445 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
11446 of direct code 0x3ffff.
11447
11448 * search.c (Freplace_match): Fix for the unibyte case.
11449
114502008-02-01 Kenichi Handa <handa@m17n.org>
11451
11452 * lread.c (safe_to_load_p): Fix the logic.
11453
11454 * syntax.c (scan_words): Don't treat characters belonging to
11455 different scripts as constituting a word.
11456
11457 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
11458
11459 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
11460
11461 * emacs.c (main): In the case of --unibyte, instead of aborting on
11462 finding non-empty buffer, make it unibyte.
11463
114642008-02-01 Kenichi Handa <handa@m17n.org>
11465
11466 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
11467 to create a fontset.
11468
114692008-02-01 Dave Love <fx@gnu.org>
11470
11471 * character.c (Funibyte_char_to_multibyte): Doc fix.
11472
11473 * xfns.c [HAVE_STDLIB_H]: Fix last change.
11474
114752008-02-01 Kenichi Handa <handa@m17n.org>
11476
11477 * fontset.c (fontset_add): Make the type `int'.
11478 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
11479
11480 * character.c (unibyte_char_to_multibyte)
11481 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
11482 charset_unibyte, not charset_primary.
11483
11484 * charset.h (charset_unibyte): Extern it instead of charset_primary.
11485
11486 * charset.c (charset_unibyte): Rename from charset_primary.
11487 (Funibyte_charset): Rename from Fprimary_charset.
11488 (Fset_unibyte_charset): Rename from Fset_primary_charset.
11489 (syms_of_charset): Adjust for the above changes.
11490
11491 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
11492 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
11493 it->multibyte_p is zero.
11494
11495 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
11496 Delete extern.
11497
114982008-02-01 Kenichi Handa <handa@m17n.org>
11499
11500 * coding.c (Fdefine_coding_system_internal): Fix category setting
11501 for a coding system of type iso-2022.
11502
115032008-02-01 Kenichi Handa <handa@m17n.org>
11504
11505 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
11506
115072008-02-01 Kenichi Handa <handa@m17n.org>
11508
11509 * syntax.c (Vnext_word_boundary_function_table): New variable.
11510 (next-word-boundary-function-table): Declare it as a Lisp variable
11511 in syms_of_syntax.
11512 (scan_words): Call functions in Vnext_word_boundary_function_table
11513 if any.
11514
11515 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
11516
11517 * fontset.c (fs_load_font): If fontp->charset is not negative,
11518 return fontp without setting its members.
11519
115202008-02-01 Dave Love <fx@gnu.org>
11521
11522 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
11523
11524 * m/sparc.h (HAVE_ALLOCA): Delete.
11525
11526 * s/irix6-5.h: Don't include strings.h.
11527 (bcopy, bzero, bcmp): Don't undef.
11528
11529 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
11530
11531 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
11532 (TIOCSIGSEND): Don't test IRIX6.
11533 (bcopy, bzero, bcmp): Define conditionally.
11534
115352008-02-01 Kenichi Handa <handa@m17n.org>
11536
11537 * buffer.c (Qas, Qmake, Qto): New variables.
11538 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
11539 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
11540
11541 * callproc.c (Fcall_process): Don't call insert_1_both directly if
11542 we are inserting a process output into a multibyte buffer.
11543
11544 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
11545 multibyte_char_to_unibyte.
11546
11547 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
11548 by the primary charset, make it eight-bit char.
11549 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
11550
11551 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
11552 (charset_8_bit__control, charset_8_bit_graphic)
11553 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
11554 (define_charset_internal): New function.
11555 (syms_of_charset): Call define_charset_internal for pre-defined
11556 charsets.
11557
11558 * charset.h (charset_8_bit): Extern it.
11559
11560 * coding.c (make_conversion_work_buffer): Adjust for the change
11561 of Fset_buffer_multibyte.
11562 (encode_coding_raw_text): Increment p0 in the loop.
11563
11564 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
11565
11566 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
11567 for the change of Fset_buffer_multibyte.
11568
11569 * fns.c (Fstring_to_multibyte): New function.
11570 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
11571
115722008-02-01 Dave Love <fx@gnu.org>
11573
11574 * xfns.c (x_put_x_image): Declare args.
11575
11576 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
11577 (try_font_list): Declare an arg.
11578
11579 * xdisp.c (message2_nolog, set_message): Declare an arg.
11580
11581 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
11582
11583 * syntax.c (scan_sexps_forward): Declare an arg.
11584
11585 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
11586 Declare an arg.
11587
11588 * lisp.h (Fnew_fontset): Declare.
11589
11590 * keymap.c (push_key_description): Call CHARACTERP correctly.
11591
11592 * fontset.c (fontset_add): Declare args. Call make_number correctly.
11593 (face_for_char): Delete unused vars.
11594 (Fset_fontset_font): Doc fix. Delete unused vars.
11595
11596 * doc.c (Fsubstitute_command_keys): Delete unused vars.
11597
11598 * composite.c (update_compositions): Declare arg.
11599
11600 * cm.c (calccost, cmgoto): Declare args.
11601
11602 * charset.c: Remove `emacs' conditional. Doc fixes.
11603 (map_char_table_for_charset): Declare.
11604
11605 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
11606
11607 * ccl.c: Remove `emacs' conditional.
11608
116092008-02-01 Kenichi Handa <handa@m17n.org>
11610
11611 The following changes are to allow specifying multiple font
11612 patterns for a character range (specified by script or charset).
11613
11614 * Makefile.in (abbrev.o): Depend on syntax.h.
11615 (xfaces.o): Depend on charset.h.
11616
11617 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
11618 SINGLE_BYTE_CHAR_P.
11619
11620 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
11621
11622 * character.h (Vchar_script_table): Extern it.
11623
11624 * character.c (Vscript_alist): Delete.
11625 (Vchar_script_table, Qchar_script_table): New variable.
11626 (syms_of_character): Declare Vchar_script_table as a lisp variable
11627 and initialize it.
11628
11629 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
11630 have property char-table-extra-slots, make no extra slot.
11631
11632 * dispextern.h (struct face): Delete member `charset'.
11633 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
11634 SINGLE_BYTE_CHAR_P.
11635 (choose_face_font, lookup_non_ascii_face, font_name_registry):
11636 Add prototypes.
11637 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
11638 (generate_ascii_font_name): Rename from generate_ascii_font.
11639
11640 * fontset.h (get_font_repertory_func): New prototype.
11641 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
11642 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
11643
11644 * fontset.c (Qprepend, Qappend): New variables.
11645 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
11646 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
11647 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
11648 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
11649 (fontset_ref_and_range, fontset_add, reorder_font_vector)
11650 (load_font_get_repertory): New functions.
11651 (fontset_set): Delete.
11652 (fontset_face): New arg FACE. Return face ID, not face.
11653 Complete re-write to handle new fontset structure. Change caller.
11654 (free_face_fontset): Use ASET istead of AREF (X) = Y.
11655 (face_for_char): Don't call lookup_face.
11656 (make_fontset_for_ascii_face): New arg FACE.
11657 (fs_load_font): New arg CHARSET_ID. Don't check
11658 Vfont_encoding_alist here.
11659 (find_font_encoding): New function.
11660 (list_fontsets): Use STRINGP, not ! NILP.
11661 (accumulate_script_ranges): New function.
11662 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
11663 re-written to handle new fontset structure.
11664 (Ffontset_font): Return a copy of element.
11665 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
11666 docstring of font-encoding-alist.
11667
11668 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
11669 (Fset_fotset_font): Fix arguments to 5.
11670
11671 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
11672
11673 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
11674 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
11675 (highlight_trailing_whitespace): Adjust for the change of
11676 lookup_named_face.
11677
11678 * xfaces.c: Include charset.h.
11679 (load_face_font): Delete argument C. Change caller.
11680 (generate_ascii_font_name): Rename from generate_ascii_font.
11681 (font_name_registry): New function.
11682 (cache_face): Store ascii faces before non-ascii faces in buckets.
11683 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
11684 Lookup only ascii faces.
11685 (lookup_non_ascii_face): New function.
11686 (lookup_named_face): Delete argument C. Change caller.
11687 (lookup_derived_face): Delete argument C. Change caller.
11688 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
11689 a string, just call font_list with it.
11690 (choose_face_font): Delete arguments FACE and C. New arg
11691 FONT_SPEC. Change caller.
11692 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
11693 Change caller.
11694 (realize_non_ascii_face): New function.
11695 (realize_x_face): Call load_face_font here.
11696 (realize_tty_face): Delete argument C. Change caller.
11697 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
11698 get a face ID.
11699 (dump_realized_face): Don't print charset of FACE.
11700
11701 * xfns.c (x_set_font): Always call x_new_fontset and
11702 store_frame_parameter.
11703 (Fx_create_frame): Call x_new_fontset, not x_new_font.
11704 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
11705
11706 * xterm.h (x_get_font_repertory): Extern it.
11707
11708 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
11709 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
11710 it->multibyte_p is zero.
11711 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
11712 (x_new_fontset): If FONTSETNAME doesn't match any existing
11713 fontsets, create a new one.
11714 (x_get_font_repertory): New function.
11715
117162008-02-01 Kenichi Handa <handa@m17n.org>
11717
11718 * coding.c (Ffind_coding_systems_region_internal): Detect an
11719 ASCII only string correctly.
11720
11721 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
11722 version is 0.
11723
117242008-02-01 Kenichi Handa <handa@m17n.org>
11725
11726 * lread.c: Include "coding.h".
11727 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
11728 (load_each_byte, unread_char): New variables.
11729 (readchar_backlog): Delete.
11730 (readchar): Return a character unless load_each_byte is nonzero.
11731 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
11732 cons. If unread_char is not -1, simply return it.
11733 (unreadchar): Handle the case that readcharfun is
11734 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
11735 (read_multibyte): Delete.
11736 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
11737 (read_emacs_mule_char): New functions.
11738 (Fload): Even if the file doesn't have the extension ".elc", if
11739 safe_to_load_p returns a positive version number, assume that the
11740 file contains bytecompiled code. If the version is less than 22,
11741 load the file while decoding multibyte sequences by emacs-mule.
11742 (readevalloop): Don't use readchar_backlog.
11743 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
11744 (Fread_from_string): Pay attention to the case that STREAM is a cons.
11745 (read_escape): Delete the arg BYTEREP.
11746 (read1): Set load_each_byte to 1 temporarily while handling
11747 #@NUMBER. Don't call read_multibyte.
11748 (read_vector): Call Fread with a cons. If readcharfun is
11749 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
11750 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
11751 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
11752 and Qload_force_doc_strings.
11753
117542008-02-01 Kenichi Handa <handa@m17n.org>
11755
11756 * xdisp.c (face_before_or_after_it_pos): Call
11757 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
11758
117592008-02-01 Kenichi Handa <handa@m17n.org>
11760
11761 * character.h (TRAILING_CODE_P): New macro.
11762 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
11763 (string_char_with_unification): Fix prototype.
11764 (Vscript_alist): Extern it.
11765
11766 * character.c (Vscript_alist): New variable.
11767 (string_char_with_unification, str_as_unibyte)
11768 (string_escape_byte8): Add `const' to local variables.
11769 (syms_of_character): Declare script-alist as a Lisp variable.
11770
11771 * charset.h (Vcharset_ordered_list): Extern it.
11772 (charset_ordered_list_tick): Extern it.
11773 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
11774 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
11775 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
11776 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
11777 (Funify_charset): Adjust for the change of Funify_charset.
11778
11779 * charset.c (charset_ordered_list_tick): New variable.
11780 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
11781 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
11782 deunify intead of unify a charset.
11783 (string_xstring_p): Add `const' to local variables.
11784 (find_charsets_in_text): Add `const' to arguments and local variables.
11785 (encode_char): Adjust for the change of Funify_charset. Fix
11786 detecting of invalid code.
11787 (Fset_charset_priority): Increment charset_ordered_list_tick.
11788 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
11789 and TO_CODE.
11790
11791 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
11792 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
11793 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
11794 (decode_coding_ccl, consume_chars)
11795 (Ffind_coding_systems_region_internal)
11796 (Fcheck_coding_systems_region): Add `const' to local variables.
11797
11798 * print.c (print_object): Use octal form for printing the
11799 contents of a bool vector.
11800
118012008-02-01 Dave Love <fx@gnu.org>
11802
11803 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
11804 <version == 20>: Refuse to load.
11805
118062008-02-01 Dave Love <fx@gnu.org>
11807
11808 * fns.c: Move coding.h.
11809 (Qcodeset, Qdays, Qmonths): New.
11810 (concat): Use CHARACTERP instead of INTEGERP.
11811 (Flocale_codeset): Delete.
11812 (Flanginfo): New function.
11813 (syms_of_fns): Change accordingly.
11814
11815 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
11816
118172008-02-01 Dave Love <fx@gnu.org>
11818
11819 * casetab.c (init_casetab_once, init_casetab_once): Fix
11820 CHAR_TABLE_SET call.
11821
11822 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
11823
11824 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
11825
11826 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
11827 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
11828 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
11829
11830 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
11831
11832 * coding.c (ENCODE_DESIGNATION, decode_eol)
11833 (make_conversion_work_buffer, code_conversion_restore)
11834 (Fdefine_coding_system_internal): Convert Lisp types.
11835 (code_conversion_restore): Use EQ, not ==.
11836 (Fencode_coding_string): Fix code_convert_string call.
11837
11838 * coding.h (code_convert_region): Fix prototype.
11839
11840 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
11841
11842 * fontset.c (fontset_ref, fontset_set, fs_load_font)
11843 (Ffontset_info): Convert Lisp types.
11844
11845 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
11846
11847 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
11848
11849 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
11850
11851 * chartab.c: Include "...h", not <...h> in some cases.
11852
11853 * callproc.c (Fcall_process): Remove unused variables.
11854
118552008-02-01 Dave Love <fx@gnu.org>
11856
11857 * coding.c (Fset_coding_system_priority): Allow null arg list.
11858
118592008-02-01 Dave Love <fx@gnu.org>
11860
11861 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
11862 (Fself_insert_and_exit): Use CHARACTERP.
11863
11864 * callproc.c (Fcall_process): Remove unused vars.
11865
11866 * xterm.c (XTread_socket): Add extra dead keysyms.
11867
11868 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
11869
11870 * dispextern.h: Remove prototypes for redraw_frame,
11871 redraw_garbaged_frames.
11872
11873 * cmds.c (Fself_insert_command): Use CHARACTERP.
11874
11875 * chartab.c (make_sub_char_table): Remove unused var.
11876 (Fset_char_table_default, Fmap_char_table): Doc fix.
11877
11878 * keymap.c (access_keymap): Remove generic char code.
11879 (push_key_description): Use CHARACTERP.
11880
118812008-02-01 Dave Love <fx@gnu.org>
11882
11883 * charset.c: Doc fixes.
11884 (Funify_charset): Extra checking.
11885
118862008-02-01 Dave Love <fx@gnu.org>
11887
11888 * lread.c: Remove some unused variables.
11889 (safe_to_load_p): If safe, return the magic number version byte.
11890 (Fload): Maybe use load-with-code-conversion.
11891
118922008-02-01 Kenichi Handa <handa@m17n.org>
11893
11894 * category.c (Fmodify_category_entry): Don't modify the contents
11895 of category_set for characters out of the range. Avoid
11896 unnecessary modification.
11897
11898 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
11899 Vchar_unify_table. The default value of the table is now nil.
11900
11901 * character.c (syms_of_character): Setup Vchar_width_table for
11902 eight-bit-control and raw-byte chars.
11903
11904 * charset.h (enum define_charset_arg_index): Delete
11905 charset_arg_parents and add charset_arg_subset and
11906 charset_arg_superset.
11907 (enum charset_attr_index): Delete charset_parents and add
11908 charset_subset and charset_superset.
11909 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
11910 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
11911 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
11912 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
11913 (CHARSET_SUPERSET): New macros.
11914 (charset_work): Extern it.
11915 (ENCODE_CHAR): Use charset_work.
11916 (CHAR_CHARSET_P): Adjust for the change of encoder format.
11917 (map_charset_chars): Extern it.
11918
11919 * charset.c (load_charset_map): Set the default value of encoder
11920 and deunifier char-tables to nil.
11921 (map_charset_chars): Change argument. Change callers. Use
11922 map_char_table_for_charset instead of map_char_table.
11923 (Fmap_charset_chars): New optional args from_code and to_code.
11924 (Fdefine_charset_internal): Adjust for the change of
11925 `define-charset' (:parents -> :subset or :superset).
11926 (charset_work): New variable.
11927 (encode_char, syms_of_charset): Adjust for the change of
11928 Fdefine_charset_internal.
11929 (Ffind_charset_string): Setup the vector `charsets' correctly.
11930
11931 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
11932 the previous change.
11933 (char_table_ref_and_range): Adjust for the above change.
11934 (map_sub_char_table_for_charset): New function.
11935 (map_char_table_for_charset): New function.
11936
11937 * keymap.c (describe_vector): Handle a char-table directly here.
11938 (describe_char_table): Delete.
11939
11940 * lisp.h (map_charset_chars): Delete.
11941
119422008-02-01 Dave Love <fx@gnu.org>
11943
11944 * fns.c (count_combining): Comment out (unused).
11945 (Flocale_codeset): New.
11946 (syms_of_fns): Defsubr it.
11947
11948 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
11949 (size_t): Remove.
11950
119512008-02-01 Dave Love <fx@gnu.org>
11952
11953 * Makefile.in (chartab.o): Depend on charset.h.
11954
119552008-02-01 Kenichi Handa <handa@m17n.org>
11956
11957 * character.c (syms_of_character): Set the default value of
11958 Vprintable_chars to Qnil.
11959
119602008-02-01 Dave Love <fx@gnu.org>
11961
11962 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
11963
119642008-02-01 Kenichi Handa <handa@m17n.org>
11965
11966 * charset.c (load_charset_map): Handle the case that from < to
11967 correctly.
11968
11969 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
11970 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
11971 Pay attention to raw-8-bit chars.
11972
119732008-02-01 Kenichi Handa <handa@m17n.org>
11974
11975 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
11976 It is not bytecompiled now.
11977
11978 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
11979 (charset_jisx0208): New variables.
11980 (Fdefine_charset_internal): Setup them if appropriate.
11981 (init_charset_once): Initialize them to -1.
11982
11983 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
11984 (charset_jisx0208): Extern them.
11985
11986 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
11987 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
11988 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
11989 (setup_iso_safe_charsets): Fix arguments to Fassq.
11990 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
11991 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
11992 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
11993 (encode_coding_iso_2022): Change the 1st arg to
11994 ENCODE_ISO_CHARACTER to a variable.
11995
119962008-02-01 Kenichi Handa <handa@m17n.org>
11997
11998 * charset.h (enum define_charset_arg_index): New enums
11999 charset_arg_min_code and charset_arg_max_code.
12000 (struct charset): New member char_index_offset.
12001
12002 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
12003 Take charset->char_index_offset into account.
12004 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
12005 args[charset_arg_max_code]. Setup charset.char_index_offset.
12006 (syms_of_charset): Fix args to Fdefine_charset_internal.
12007
120082008-02-01 Dave Love <fx@gnu.org>
12009
12010 * coding.c (decode_coding_utf_8): Reject overlong sequences.
12011
120122008-02-01 Dave Love <fx@gnu.org>
12013
12014 * coding.c: Doc fixes.
12015 (Fcoding_system_aliases): Fix return value.
12016 (Qmac): Remove (duplicated) definition.
12017
120182008-02-01 Dave Love <fx@gnu.org>
12019
12020 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
12021 functions.
12022
12023 * character.c (Fstring): Doc fix.
12024
12025 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
12026
12027 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
12028 ids.
12029 (font-encoding-alist): Doc fix.
12030
120312008-02-01 Dave Love <fx@gnu.org>
12032
12033 * term.c (costs_set): Declare static, non-initialized for pcc.
12034 (encode_terminal_code): Remove unused var.
12035
12036 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
12037 for K&R.
12038
12039 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
12040
12041 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
12042 (suffixes): Move out of make_subsidiaries for K&R.
12043
12044 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
12045
12046 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
12047
120482008-02-01 Dave Love <fx@gnu.org>
12049
12050 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
12051
12052 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
12053
120542008-02-01 Yong Lu <lyongu@asia-infonet.com>
12055
12056 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
12057
12058 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
12059
120602008-02-01 Kenichi Handa <handa@m17n.org>
12061
12062 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
12063 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
12064
120652008-02-01 Kenichi Handa <handa@m17n.org>
12066
12067 * coding.c (decode_coding_charset): Adjust for the change of
12068 Fdefine_coding_system_internal.
12069 (Fdefine_coding_system_internal): For a coding system of
12070 `charset' type, store a list of charset IDs in
12071 `charset_attr_charset_valids' element of coding attributes.
12072
120732008-02-01 Kenichi Handa <handa@m17n.org>
12074
12075 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
12076 (emacs_mule_char): New arg src. Delete arg `composition'. Change
12077 caller. Handle 2-byte and 3-byte charsets correctly.
12078 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
12079 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
12080 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
12081 (DECODE_EMACS_MULE_21_COMPOSITION): Call
12082 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
12083 sequence.
12084 (decode_coding_emacs_mule): Handle composition correctly. Rewind
12085 `src' and `consumed_chars' correctly before calling emacs_mule_char.
12086 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
12087 and alt&rule composition.
12088 (decode_coding_iso_2022): Handle composition correctly.
12089 (init_coding_once): Setup emacs_mule_bytes for private charsets.
12090
12091 * charset.c (Fdefine_charset_internal): Fix bug for the case of
12092 re-defining a charset. If the charset has :emacs-mule-id, setup
12093 emacs_mule_bytes.
12094 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
12095
120962008-02-01 Kenichi Handa <handa@m17n.org>
12097
12098 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
12099 (encode_coding_big5, encode_coding_charset): If coding requires safe
12100 encoding, produce a character specified by
12101 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
12102
121032008-02-01 Dave Love <fx@gnu.org>
12104
12105 * xterm.c (XSetIMValues): Declare.
12106
12107 * process.c: Conditionally include sys/wait.h, pty.h.
12108
12109 * print.c (print_object): Fix print format for 64-bit systems.
12110
12111 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
12112
12113 * buffer.c (emacs_strerror): Declare.
12114
12115 * fontset.c (Fclear_face_cache): Declare.
12116 (accumulate_font_info): Comment-out (unused).
12117 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
12118 variables.
12119
12120 * character.h (string_escape_byte8): Declare.
12121
12122 * charset.c (load_charset_map, load_charset_map_from_file): Remove
12123 unused vars.
12124 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
12125 (Fmap_charset_chars): Doc fix.
12126
12127 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
12128 (Fset_coding_system_priority, Fset_coding_system_priority)
12129 (Fdefine_coding_system_internal): Doc fix.
12130
121312008-02-01 Dave Love <fx@gnu.org>
12132
12133 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
12134
121352008-02-01 Kenichi Handa <handa@m17n.org>
12136
12137 * character.c (string_escape_byte8): Make multibyte string with
12138 correct size.
12139
12140 * charset.c (Fmake_char): Delete unnecessary code.
12141
121422008-02-01 Kenichi Handa <handa@m17n.org>
12143
12144 * xfns.c (x_encode_text): Allocate coding.destination here, and
12145 call encode_coding_object with dst_object Qnil.
12146
12147 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
12148 multibyte form correctly.
12149
12150 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
12151 against Vfont_encoding_alist.
12152
12153 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
12154 handling of charset list.
12155 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
12156 (decode_coding_object): Move point to coding->dst_pos before
12157 calling post-read-conversion function.
12158 (encode_coding_object): Give correct arguments to
12159 pre-write-conversion. Ignore the return value of
12160 pre-write-conversion function. Pay attention to the case that
12161 pre-write-conversion changes the current buffer. If dst_object is
12162 Qt, even if coding->src_bytes is zero, allocate at least one byte
12163 to coding->destination.
12164
12165 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
12166
12167 * charset.c (Fmake_char): Make it more backward compatible.
12168 (Fmap_charset_chars): Fix docstring.
12169
121702008-02-01 Dave Love <fx@gnu.org>
12171
12172 * coding.c: Doc fixes.
12173 (Fdefine_coding_system_alias): Use names, not symbols, in
12174 coding-system-alist.
12175
121762008-02-01 Kenichi Handa <handa@m17n.org>
12177
12178 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
12179 of calling free_realized_face.
12180
121812008-02-01 Yong Lu <lyongu@asia-infonet.com>
12182
12183 * charset.c (read_hex): Don't treat SPC as a comment starter.
12184 (decode_char): If CODE_POINT_TO_INDEX returns -1, always return -1.
12185 (Fdecode_char): Fix typo.
12186
121872008-02-01 Kenichi Handa <handa@m17n.org>
12188
12189 * charset.h (struct charset): New member `code_space_mask'.
12190
12191 * coding.c (coding_set_source): Delete the local variable beg_byte.
12192 (encode_coding_charset, Fdefine_coding_system_internal):
12193 Delete the local variable charset.
12194 (Fdefine_coding_system_internal): Setup
12195 attrs[coding_attr_charset_valids] correctly.
12196
12197 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
12198 member to check if CODE is valid or not.
12199 (Fdefine_charset_internal): Initialize `code_space_mask' member.
12200 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
12201 is within the range of charset->min_code and carset->max_code.
12202
122032008-02-01 Dave Love <fx@gnu.org>
12204
12205 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
12206
12207 * dispextern.h (generate_ascii_font): Fix return type.
12208
12209 * xfaces.c (generate_ascii_font): Fix arg declaration.
12210
12211 * coding.c (coding_inherit_eol_type)
12212 (Fset_terminal_coding_system_internal)
12213 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
12214
122152008-02-01 Kenichi Handa <handa@m17n.org>
12216
12217 * coding.c (decode_coding_charset, encode_coding_charset): Handle
12218 multiple charsets correctly.
12219
122202008-02-01 Kenichi Handa <handa@m17n.org>
12221
12222 * search.c (boyer_moore): Fix handling of multibyte character
12223 translation.
12224
12225 * xdisp.c (display_mode_element): When the variable `elt' is
12226 changed, update `this' and `lisp_string'.
12227
122282008-02-01 Kenichi Handa <handa@m17n.org>
12229
12230 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
12231
12232 * callproc.c (Fcall_process): Be sure to give the current buffer
12233 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
12234
12235 * charset.c (struct charset_map_entries): New struct.
12236 (load_charset_map): Rename from parse_charset_map. New args
12237 entries and n_entries. Change caller.
12238 (load_charset_map_from_file): Rename from load_charset_map.
12239 Change caller. New arg control_flag. Call load_charset_map at
12240 the tail.
12241 (load_charset_map_from_vector): New function.
12242 (Fdefine_charset_internal): Setup charset.compact_codes_p.
12243 (encode_char): If the charset is compact, change a character index
12244 to a code point.
12245
12246 * coding.c (coding_alloc_by_making_gap): Check the case that the
12247 source and destination are the same correctly.
12248 (decode_coding_raw_text): Set coding->consumed_char and
12249 coding->consumed to 0.
12250 (produce_chars): If coding->chars_at_source is nonzero, update
12251 coding->consumed_char and coding->consumed before calling
12252 alloc_destination.
12253 (Fdefine_coding_system_alias): Register ALIAS in
12254 Vcoding_system_alist.
12255 (syms_of_coding): Define `no-conversion' coding system at the tail.
12256
12257 * fileio.c (Finsert_file_contents): Set coding_system instead of
12258 val. If the current buffer is multibyte, always call
12259 decode_coding_gap.
12260
12261 * xfaces.c (try_font_list): Give higher priority to fontset's
12262 family than face's family.
12263
122642008-02-01 Kenichi Handa <handa@m17n.org>
12265
12266 * callproc.c (Fcall_process): Be sure to give the current buffer
12267 to decode_coding_c_string.
12268
12269 * xfaces.c (try_font_list): Give a family specified in a fontset
12270 higher priority than a family specified in a face.
12271
122722008-02-01 Kenichi Handa <handa@m17n.org>
12273
12274 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
12275 Fix arguments to insert_from_buffer.
12276
12277 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
12278
122792008-02-01 Kenichi Handa <handa@m17n.org>
12280
12281 * coding.c (produce_chars): Set the variable `multibytep' correctly.
12282 (decode_coding_gap): Set coding->dst_multibyte correctly.
12283
122842008-02-01 Kenichi Handa <handa@m17n.org>
12285
12286 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
12287 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
12288 (encode_coding_utf_16): Substitute coding->default_char for
12289 non-Unicode characters.
12290 (decode_coding): Don't call record_insert here.
12291 (setup_coding_system): Initialize `surrogate' of
12292 coding->spec.utf_16 to 0.
12293 (EMIT_ONE_BYTE): Fix for multibyte case.
12294
12295 * insdel.c (insert_from_gap): Call record_insert.
12296
122972008-02-01 Kenichi Handa <handa@m17n.org>
12298
12299 * casefiddle.c (casify_region): Fix multibyte case.
12300
12301 * character.c (c_string_width): Add return type `int'.
12302 (char_string_with_unification): Delete arg ADVANCED.
12303
12304 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
12305 (CHAR_STRING): Adjust for the change of char_string_with_unification.
12306 (CHAR_STRING_ADVANCE): Make it do-while statement.
12307
12308 * chartab.c (sub_char_table_set_range): Optimize for the case
12309 DEPTH == 3. Add workaround code for a GCC optimization bug.
12310
12311 * charset.c (parse_charset_map): Remove an unused variable.
12312
12313 * coding.c: Delete unused variables.
12314
12315 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
12316 earlier. If inserted is zero and the coding system doesn't
12317 require flushing, don't call decode_coding_gap.
12318
12319 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
12320
123212008-02-01 Kenichi Handa <handa@m17n.org>
12322
12323 The following changes are for using Unicode as an internal
12324 character model, and use UTF-8 format for buffer/string
12325 representation.
12326
12327 * .gdbinit (xchartable): Adjust for the change of char table structure.
12328 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
12329
12330 * Makefile.in (obj): Add character.o and chartab.o.
12331 (lisp, shortlisp): Remove utf-8.elc.
12332 (*.o): For many files, change dependency on charset.h to
12333 character.h, and add dependency on character.h.
12334 (character.o, chartab.o): New targets.
12335
12336 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
12337 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
12338 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
12339 of "charset.h".
12340
12341 * dired.c, filelock.c: Include "character.h".
12342
12343 * alloc.c: Include "character.h" instead of "charset.h".
12344 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
12345 (syms_of_alloc): Remove defsubr for Smake_char_table.
12346
12347 * buffer.c: Include "character.h" instead of "charset.h", don't
12348 include "coding.h".
12349 (Fset_buffer_multibyte): Adjust for UTF-8.
12350
12351 * buffer.h: EXFUN Fbuffer_live_p.
12352
12353 * callproc.c: Include "character.h" instead of "charset.h".
12354 (Fcall_process): Big change for the new code-conversion APIs.
12355
12356 * casetab.c: Include "character.h" instead of "charset.h".
12357 (set_canon, set_identity, shuffle): Adjust for the new
12358 map_char_table spec.
12359 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
12360 accessing the char table structure.
12361
12362 * chartab.c: New file that implements char table.
12363
12364 * category.c: Include "character.h".
12365 (copy_category_entry): New function.
12366 (copy_category_table): Call map_char_table and copy_category_entry.
12367 (Fmake_category_table): Initialize all top-level slots.
12368 (char_category_set): New function.
12369 (modify_lower_category_set): Delete.
12370 (Fmodify_category_entry): Call char_table_ref_and_range.
12371
12372 * category.h (CATEGORY_SET): Just call char_category_set.
12373
12374 * ccl.c: Include "character.h".
12375 (Qccl, Qcclp): New variables.
12376 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
12377 it's less than 256.
12378 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
12379 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
12380 and DST type.
12381 (ccl_driver): Change types of argument, adjust code accordingly.
12382 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
12383 ccl_driver.
12384 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
12385
12386 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
12387 New members src_multibyte, dst_multibyte, consumed, and produced.
12388 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
12389 (CODING_SPEC_CCL_PROGRAM): New macro.
12390 (ccl_driver): Update prototype.
12391 (Qccl, Qcclp, Fccl_program_p): Extern them.
12392 (CHECK_CCL_PROGRAM): New macro.
12393
12394 * character.c, character.h, chartab.c: New files.
12395
12396 * charset.c: Mostly re-written. Move character and multibyte sequence
12397 handling codes to character.c.
12398
12399 * charset.h: Mostly re-written. Move character and multibyte sequence
12400 handling codes to character.h.
12401
12402 * coding.c, coding.h: Mostly re-written.
12403
12404 * composite.c: Include "character.h" instead of "charset.h".
12405 (CHAR_WIDTH): Move to character.h.
12406 (HASH_KEY, HASH_VALUE): Delete.
12407
12408 * composite.h (enum composition_method): Change order of enumeration
12409 symbols.
12410
12411 * data.c: Include "character.h" instead of "charset.h".
12412 (Faref): Call CHAR_TABLE_REF for a char table.
12413 (Faset): Call CHAR_TABLE_SET for a char table.
12414
12415 * dispextern.h (free_realized_face, check_face_attribytes)
12416 (generate_ascii_font): Extern them.
12417 (free_realized_multibyte_face): Delete extern.
12418
12419 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
12420 table structure.
12421
12422 * editfns.c: Include "character.h" instead of "charset.h".
12423 (Fchar_to_string): Always call CHAR_STRING.
12424
12425 * emacs.c (main): Call init_charset_once, init_charset,
12426 syms_of_chartab, and syms_of_character.
12427
12428 * fileio.c: Include "character.h" instead of "charset.h".
12429 (Finsert_file_contents): Big change for the new code-conversion API.
12430 (choose_write_coding_system, Fwrite_region): Likewise.
12431 (build_annotations_2): Delete.
12432 (e_write): Big change for the new code-conversion API.
12433
12434 * fns.c: Include "character.h" instead of "charset.h".
12435 (copy_sub_char_table): Move to chartab.c.
12436 (Fcopy_sequence): Call copy_char_table for a char table.
12437 (concat): Delete codes calling count_multibyte.
12438 (string_char_to_byte, string_byte_to_char): Adjust for the new
12439 multibyte form.
12440 (internal_equal): Adjust for the change of char table structure.
12441 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
12442 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
12443 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
12444 (char_table_translate, optimize_sub_char_table)
12445 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
12446 chartab.c.
12447 (char_table_ref_and_index): Delete.
12448 (HASH_KEY, HASH_VALUE): Move to lisp.h.
12449 (Fmd5): Call preferred_coding_system instead of accessing
12450 Vcoding_category_list. Adjust for the new code-conversion API.
12451 (syms_of_fns): Move defsubr for char table related functions to
12452 chartab.c.
12453
12454 * fontset.c: Mostly re-written.
12455
12456 * fontset.h (struct font_info): Change type of the member encoding_type.
12457 (enum FONT_SPEC_INDEX): New enum.
12458 (fontset_font_pattern, fs_load_font): Update prototype.
12459 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
12460
12461 * indent.c: Include "character.h" instead of "charset.h".
12462 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
12463
12464 * insdel.c: Include "character.h" instead of "charset.h".
12465 (copy_text): Don't refer to Vnonascii_translation_table.
12466 (insert_from_gap): New function.
12467
12468 * keyboard.c: Include "character.h" instead of "charset.h".
12469 (command_loop_1): Never call direct_output_forward_char before
12470 a non-ASCII character.
12471 (read_char): If Vkeyboard_translate_table is a char table, always
12472 translate a character.
12473
12474 * keymap.c: Include "character.h".
12475 (store_in_keymap): Handle the case that IDX is a cons.
12476 (Fdefine_key): Handle the case that KEY is a cons and the car part
12477 is also a cons (range).
12478 (push_key_description): Adjust for the new character code.
12479 (describe_vector): Call describe_char_table for a char table.
12480 (describe_char_table): New function.
12481
12482 * keymap.h (describe_char_table): Extern it.
12483
12484 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
12485 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
12486 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
12487 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
12488 Delete.
12489 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
12490 structure.
12491 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
12492 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
12493 (CHARTAB_SIZE_BITS_3): New macros.
12494 (chartab_size): Extern it.
12495 (struct Lisp_Char_Table): Re-design.
12496 (struct Lisp_Sub_Char_Table): New structure.
12497 (HASH_KEY, HASH_VALUE): Move from fns.c.
12498 (CHARACTERBITS): Define as 22.
12499 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
12500 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
12501 (GC_SUB_CHAR_TABLE_P): New macro.
12502 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
12503 (code_convert_string_norecord): Deleted extern.
12504 (init_character_once, syms_of_character, init_charset)
12505 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
12506
12507 * lread.c: Include "character.h".
12508 (read_multibyte): New arg NBYTES.
12509 (read_escape): Change the meaning of returned *BYTEREP.
12510 (to_multibyte): Delete.
12511 (read1): Adjust the handling of char table and string.
12512
12513 * print.c: Include "character.h" instead of "charset.h".
12514 (print_string): Convert 8-bit raw bytes to octal form by
12515 string_escape_byte8.
12516 (print_object): Adjust for the new multibyte form. Print 8-bit
12517 raw bytes always in octal form. Handle sub char table correctly.
12518
12519 * process.c: Include "character.h" instead of "charset.h".
12520 (read_process_output, send_process): Adjust for the new
12521 code-conversion API.
12522
12523 * puresize.h (BASE_PURESIZE): Increase.
12524
12525 * regex.c: Include "character.h" instead of "charset.h".
12526 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
12527 (regex_compile): Accept a range whose starting and ending
12528 character have different leading bytes.
12529 (analyse_first): Adjust for the above change.
12530
12531 * search.c: Include "character.h" instead of "charset.h".
12532 (search_buffer, boyer_moore): Adjust for the new multibyte form.
12533 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
12534
12535 * syntax.c: Include "character.h" instead of "charset.h".
12536 (syntax_parent_lookup): Delete.
12537 (Fmodify_syntax_entry): Accept a cons as CHAR.
12538 (skip_chars): Adjust for the new multibyte form.
12539 (init_syntax_once): Call char_table_set_range instead of directly
12540 accessing the structure of a char table.
12541
12542 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
12543 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
12544 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
12545 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
12546
12547 * term.c: Include "buffer.h" and "character.h".
12548 (encode_terminal_code, write_glyphs): Adjust for the new
12549 code-conversion API.
12550 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
12551
12552 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
12553
12554 * xdisp.c: Include "character.h".
12555 (get_next_display_element): Adjust for the new multibyte form.
12556 (disp_char_vector): Adjust for the new char table structure.
12557 (decode_mode_spec_coding): Adjust for the new structure of
12558 coding system.
12559 (decode_mode_spec): Adjust for the new code-conversion API.
12560
12561 * xfaces.c: Include "character.h" instead of "charset.h".
12562 (load_face_font): Adjust for the change of choose_face_font and
12563 FS_LOAD_FONT.
12564 (generate_ascii_font): New function.
12565 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
12566 (set_font_frame_param): Adjust for the change of choose_face_font.
12567 (free_realized_face): Make it public.
12568 (free_realized_faces_for_fontset): Rename from
12569 free_realized_multibyte_face. Free also faces realized for ASCII.
12570 (choose_face_font): Change arguments. Adjust for the change of
12571 fontset_font_pattern and FS_LOAD_FONT.
12572
12573 * xfns.c: Include "character.h".
12574 (x_encode_text): Adjust for the new code-conversion API.
12575
12576 * xselect.c: Don't include "charset.h".
12577 (selection_data_to_lisp_data): Adjust for the new code conversion API.
12578
12579 * xterm.c: Include "character.h".
12580 (x_encode_char): New argument CHARSET. Change caller.
12581 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
12582 Call ENCODE_CHAR instead of SPLIT_CHAR.
12583 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
12584 CHAR_WIDTH instead of CHARSET_WIDTH.
12585 (XTread_socket): Adjust for the new code-conversion API.
12586 (x_new_font): Adjust for the change of FS_LOAD_FONT.
12587 (x_load_font): Adjust for the change of struct font.
12588
125892008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
12590
12591 * xfaces.c (face_at_buffer_position): Remove unused vars.
12592
125932008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12594
12595 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
12596 Fix overflow checking.
12597
125982008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12599
12600 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
12601 Cancel previous change.
12602
126032008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
12604
12605 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
12606 ccl->eight_bit_control. Fix check for buffer overflow.
12607 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
12608 (ccl_driver): Initialize extra_bytes to 0.
12609
126102008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
12611
12612 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
12613 return it ORed with ctrl_modifier.
12614
126152008-01-29 Miles Bader <miles@gnu.org>
12616
12617 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
12618
126192008-01-28 Jason Rumney <jasonr@gnu.org>
12620
12621 * w32.c (stat): Don't double check for networked drive.
12622
126232008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
12624
12625 * window.c (run_window_configuration_change_hook): New function.
12626 Code extracted from set_window_buffer. Set the selected frame.
12627 (set_window_buffer): Use it.
12628 * window.h (run_window_configuration_change_hook): Declare.
12629 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
12630
12631 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
12632
126332008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
12634
12635 * Makefile.in: Remove references to unused macros.
12636
126372008-01-26 Eli Zaretskii <eliz@gnu.org>
12638
12639 * w32.c (g_b_init_get_sid_sub_authority)
12640 (g_b_init_get_sid_sub_authority_count): New static variables.
12641 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
12642 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
12643 (init_user_info): Use them to retrieve uid and gid.
12644 Use 500/513, the Windows defaults, as Administrator's uid/gid.
12645 (fstat): Use pw_uid and pw_gid from the_passwd structure for
12646 st_uid and st_gid of the file.
12647
126482008-01-26 Jason Rumney <jasonr@gnu.org>
12649
12650 * w32.c (logon_network_drive): New function.
12651 (stat): Use it.
12652
126532008-01-26 Chong Yidong <cyd@stupidchicken.com>
12654
12655 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
12656 invisible text covered with an ellipsis.
12657
126582008-01-25 Richard Stallman <rms@gnu.org>
12659
12660 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
12661 jump back to beginning. Move some other initializations after that.
12662 (Qwindow_text_change_functions, Vwindow_text_change_functions):
12663 New variables.
12664 (syms_of_xdisp): Init them.
12665
12666 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
12667
12668 * buffer.c (reset_buffer_local_variables):
12669 Implement `permanent-local-hook'.
12670 (Qpermanent_local_hook): New variable.
12671 (syms_of_buffer): Init and staticpro it.
12672
126732008-01-25 Michael Albinus <michael.albinus@gmx.de>
12674
12675 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
12676
126772008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
12678
12679 * fns.c (Fclrhash): Return TABLE.
12680
126812008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12682
12683 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
12684 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
12685 is set even without positional changes.
12686 (x_scroll_bar_clear): Set bar->redraw_needed_p.
12687
12688 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
12689
126902008-01-23 Jason Rumney <jasonr@gnu.org>
12691
12692 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
12693
12694 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
12695 the unicode range available in MULE by locale-coding-system.
12696 Improve dbcs lead byte detection. Set event timestamp and modifiers
12697 earlier.
12698
126992008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12700
12701 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
12702 [MAC_OSX] (init_mac_osx_environment): Initialize it.
12703 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
12704 when used on child processes.
12705
127062008-01-21 Michael Albinus <michael.albinus@gmx.de>
12707
12708 * dbusbind.c (Fdbus_method_return_internal): Rename from
12709 Fdbus_method_return.
12710 (Fdbus_unregister_object): Move to dbus.el.
12711 (Fdbus_call_method, Fdbus_method_return_internal)
12712 (Fdbus_send_signal): Improve debug messages.
12713
127142008-01-20 Martin Rudalics <rudalics@gmx.at>
12715
12716 * undo.c (undo_inhibit_record_point): New variable.
12717 (syms_of_undo): Initialize it.
12718 (record_point): Don't record point when undo_inhibit_record_point
12719 is set.
12720
127212008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
12722
12723 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
12724
12725 * xdisp.c (Qauto_hscroll_mode): New var.
12726 (syms_of_xdisp): Initialize it.
12727 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
12728 window's buffer.
12729 (hscroll_windows): Don't check automatic_hscrolling_p here.
12730
12731 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
12732 vscroll if we're setting window-buffer to the value it already has.
12733
127342008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
12735
12736 * m/intel386.h: Remove references to XENIX.
12737
127382008-01-17 Andreas Schwab <schwab@suse.de>
12739
12740 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
12741 instead of HAVE_X86_64_LIB64_DIR.
12742 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
12743
127442008-01-17 Glenn Morris <rgm@gnu.org>
12745
12746 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
12747 to HAVE_X86_64_LIB64_DIR.
12748
127492008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
12750
12751 * s/irix3-3.h:
12752 * s/irix4-0.h:
12753 * s/386-ix.h:
12754 * s/domain.h:
12755 * s/hpux9-x11r4.h:
12756 * s/hpux9shxr4.h: Remove files for systems no longer supported.
12757
12758 * sysdep.c: Remove code containing references to symbols defined
12759 by unsupported systems.
12760
127612008-01-16 Glenn Morris <rgm@gnu.org>
12762
12763 * coding.c (select-safe-coding-system-function): Doc fix.
12764
127652008-01-15 Glenn Morris <rgm@gnu.org>
12766
12767 * config.in: Revert 2008-01-13 change: this is a generated file.
12768
127692008-01-13 Tom Tromey <tromey@redhat.com>
12770
12771 * lisp.h: Fix typo.
12772
127732008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
12774
12775 * m/sequent-ptx.h:
12776 * m/sequent.h:
12777 * s/ptx.h:
12778 * s/ptx4-2.h:
12779 * s/ptx4.h: Remove files for systems no longer supported.
12780
12781 * callproc.c (Fcall_process): Fix previous change.
12782
127832008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
12784
12785 * unexsunos4.c: Remove file, system not supported anymore.
12786
12787 * m/mips.h:
12788 * m/intel386.h:
12789 * callproc.c:
12790 * config.in:
12791 * ecrt0.c:
12792 * emacs.c:
12793 * fileio.c:
12794 * frame.c:
12795 * getpagesize.h:
12796 * keyboard.c:
12797 * lread.c:
12798 * process.c:
12799 * puresize.h:
12800 * sysdep.c:
12801 * systty.h:
12802 * syswait.h:
12803 * unexec.c:
12804 * xdisp.c:
12805 * alloc.c: Remove code containing references to symbols defined by
12806 unsupported systems.
12807
128082008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
12809
12810 * coding.c (detect_coding_mask): Fix previous change.
12811
128122008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
12813
12814 * coding.c (detect_coding_iso2022): New arg
12815 latin_extra_code_state. Allow Latin extra codes only
12816 when *latin_extra_code_state is nonzero.
12817 (detect_coding_mask): If there is a NULL byte, detect the encoding
12818 as UTF-16 or binary. If Latin extra codes exist, detect the
12819 encoding as ISO-2022 only when there's no other proper encoding is
12820 found.
12821
128222008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12823
12824 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
12825 #ifdef MAC_OS.
12826
128272008-01-08 Richard Stallman <rms@gnu.org>
12828
12829 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
12830
128312008-01-06 Nick Roberts <nickrob@snap.net.nz>
12832
12833 * keyboard.c (parse_menu_item): Don't enclose key bindings on
12834 menu bar in parentheses.
12835
128362008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
12837
12838 * m/7300.h:
12839 * m/acorn.h:
12840 * m/alliant-2800.h:
12841 * m/alliant.h:
12842 * m/alliant1.h:
12843 * m/alliant4.h:
12844 * m/altos.h:
12845 * m/amdahl.h:
12846 * m/apollo.h:
12847 * m/att3b.h:
12848 * m/aviion-intel.h:
12849 * m/aviion.h:
12850 * m/celerity.h:
12851 * m/clipper.h:
12852 * m/cnvrgnt.h:
12853 * m/convex.h:
12854 * m/cydra5.h:
12855 * m/delta88k.h:
12856 * m/dpx2.h:
12857 * m/dual.h:
12858 * m/elxsi.h:
12859 * m/f301.h:
12860 * m/gould-np1.h:
12861 * m/gould.h:
12862 * m/i860.h:
12863 * m/ibmps2-aix.h:
12864 * m/ibmrt-aix.h:
12865 * m/ibmrt.h:
12866 * m/irist.h:
12867 * m/is386.h:
12868 * m/isi-ov.h:
12869 * m/mega68.h:
12870 * m/mg1.h:
12871 * m/news-r6.h:
12872 * m/news-risc.h:
12873 * m/news.h:
12874 * m/nh3000.h:
12875 * m/nh4000.h:
12876 * m/ns16000.h:
12877 * m/ns32000.h:
12878 * m/nu.h:
12879 * m/orion.h:
12880 * m/orion105.h:
12881 * m/paragon.h:
12882 * m/pfa50.h:
12883 * m/plexus.h:
12884 * m/pyramid.h:
12885 * m/pyrmips.h:
12886 * m/sh3el.h:
12887 * m/sps7.h:
12888 * m/sr2k.h:
12889 * m/stride.h:
12890 * m/sun1.h:
12891 * m/sun2.h:
12892 * m/sun3-68881.h:
12893 * m/sun3-fpa.h:
12894 * m/sun3-soft.h:
12895 * m/sun3.h:
12896 * m/sun386.h:
12897 * m/symmetry.h:
12898 * m/tad68k.h:
12899 * m/tahoe.h:
12900 * m/targon31.h:
12901 * m/tek4300.h:
12902 * m/tekxd88.h:
12903 * m/tower32.h:
12904 * m/tower32v3.h:
12905 * m/ustation.h:
12906 * m/wicat.h:
12907 * m/xps100.h:
12908 * s/cxux.h:
12909 * s/cxux7.h:
12910 * s/dgux.h:
12911 * s/dgux4.h:
12912 * s/dgux5-4-3.h:
12913 * s/dgux5-4r2.h:
12914 * s/esix.h:
12915 * s/esix5r4.h:
12916 * s/hiuxmpp.h:
12917 * s/hiuxwe2.h:
12918 * s/iris3-5.h:
12919 * s/iris3-6.h:
12920 * s/isc2-2.h:
12921 * s/isc3-0.h:
12922 * s/isc4-0.h:
12923 * s/isc4-1.h:
12924 * s/newsos5.h:
12925 * s/newsos6.h:
12926 * s/osf1.h:
12927 * s/osf5-0.h:
12928 * s/riscix1-1.h:
12929 * s/riscix12.h:
12930 * s/sco4.h:
12931 * s/sco5.h:
12932 * s/sunos4-0.h:
12933 * s/sunos4-1.h:
12934 * s/sunos413.h:
12935 * s/sunos4shr.h:
12936 * s/umax.h:
12937 * s/unipl5-2.h:
12938 * s/xenix.h:
12939 * cxux-crt0.s:
12940 * unexapollo.c:
12941 * unexconvex.c:
12942 * unexenix.c:
12943 * unexsni.c: Remove files for systems no longer supported.
12944
12945 * m/intel386.h: Remove references to unsupported systems.
12946
12947 * w32.c (get_emacs_configuration): Remove reference to i860.
12948
12949 * sysdep.c: Remove dead code.
12950
129512008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
12952
12953 * s/rtu.h:
12954 * m/masscomp.h: Remove files. Platform is obsolete.
12955
129562008-01-04 Michael Albinus <michael.albinus@gmx.de>
12957
12958 * dbusbind.c (Fdbus_method_return): New function.
12959 (xd_read_message): Add the serial number to the event.
12960 (Fdbus_register_method): Activate the function.
12961
129622008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
12963
12964 * keyboard.c (read_key_sequence): Fix typo.
12965
129662008-01-03 Michael Albinus <michael.albinus@gmx.de>
12967
12968 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
12969 (xd_signature, xd_append_arg): Handle element type detection for
12970 empty arrays.
12971 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
12972 SDATA () calls; this must be solved more general.
12973 (Fdbus_register_signal): Use SBYTES instead of strlen.
12974
129752008-01-03 Magnus Henoch <magnus@zemdatav>
12976
12977 * dbusbind.c (xd_append_arg): Use unsigned char instead of
12978 unsigned int for byte values (necessary for big-endian platform).
12979 (Fdbus_call_method): Handle the case of no returned arguments.
12980
129812007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
12982
12983 * dbusbind.c (xd_read_message): Use non-static input_event struct.
12984
129852007-12-31 Magnus Henoch <mange@freemail.hu>
12986
12987 * dbusbind.c (xd_signature): Signature of variant is just "v".
12988
129892007-12-30 Michael Albinus <michael.albinus@gmx.de>
12990
12991 * dbusbind.c: Fix several errors and compiler warnings.
12992 Reported by Tom Tromey <tromey@redhat.com>.
12993 (XD_ERROR, XD_DEBUG_MESSAGE)
12994 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
12995 (xd_append_arg): Part for basic D-Bus types rewritten.
12996 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
12997 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
12998 appropriate.
12999 (xd_read_message): Return Qnil. Don't signal an error; it is not
13000 useful during event reading.
13001 (Fdbus_register_signal): Signal an error if the check for
13002 FUNCTIONP fails.
13003 (Fdbus_register_method): New function. The implementation is not
13004 complete, the call of the function signals an error therefore.
13005 (Fdbus_unregister_object): New function, renamed from
13006 Fdbus_unregister_signal. The initial check signals an error, if
13007 the object is not well formed.
13008
130092007-12-30 Richard Stallman <rms@gnu.org>
13010
13011 * textprop.c (get_char_property_and_overlay):
13012 Signal error if POSITION is out of range in a buffer.
13013
130142007-12-29 Martin Rudalics <rudalics@gmx.at>
13015
13016 * w32fns.c (Fx_create_frame): Make copy of frame parameters
13017 because the original parameters are in pure storage now.
13018
130192007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13020
13021 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
13022
130232007-12-22 Eli Zaretskii <eliz@gnu.org>
13024
13025 * callint.c (syms_of_callint) <command-history>: Add reference to
13026 history-length in the doc string.
13027
130282007-12-17 Jason Rumney <jasonr@gnu.org>
13029
13030 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
13031 before passing as wParam.
13032
130332007-12-22 Michael Albinus <michael.albinus@gmx.de>
13034
13035 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
13036 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
13037 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
13038 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
13039 as number.
13040 (Fdbus_call_method): Fix docstring.
13041
130422007-12-21 Michael Albinus <michael.albinus@gmx.de>
13043
13044 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
13045 New macros.
13046 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
13047 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
13048 Simplify.
13049 (xd_signature): New function.
13050 (xd_append_arg): Compute also signatures. Major rewrite.
13051 (xd_retrieve_arg): Make debug messages friendly.
13052 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
13053 Check for signatures of arguments.
13054
130552007-12-19 Michael Albinus <michael.albinus@gmx.de>
13056
13057 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
13058 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
13059 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
13060 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
13061 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
13062 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
13063 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
13064 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
13065 (xd_retrieve_value): Remove. Functionality included in ...
13066 (xd_append_arg): New function.
13067 (Fdbus_call_method, Fdbus_send_signal): Apply it.
13068
130692007-12-16 Michael Albinus <michael.albinus@gmx.de>
13070
13071 * dbusbind.c (top): Include <stdio.h>.
13072 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
13073 dbus_message_new_method_call and dbus_message_new_signal.
13074 (Fdbus_register_signal): Rename unique_name to uname.
13075 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
13076 non-existing unique name. Fix typos in matching rule. Return an
13077 object which is useful in Fdbus_unregister_signal.
13078 (Fdbus_unregister_signal): Reimplementation, in order to remove
13079 only the corresponding entry.
13080 (Vdbus_registered_functions_table): Change the order of entries.
13081 Apply these changes in xd_read_message and Fdbus_register_signal.
13082
130832007-12-16 Andreas Schwab <schwab@suse.de>
13084
13085 * fileio.c (Finsert_file_contents): Fix overflow check to not
13086 depend on undefined integer overflow.
13087
130882007-12-14 Jason Rumney <jasonr@gnu.org>
13089
13090 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
13091 for characters above 127.
13092
130932007-12-13 Jason Rumney <jasonr@gnu.org>
13094
13095 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
13096 before dereferencing array.
13097 (lookup_vk_code): Remove zero comparison.
13098
130992007-12-14 Michael Albinus <michael.albinus@gmx.de>
13100
13101 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
13102 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
13103 Use `unsigned int' instead of `uint'.
13104 (xd_read_message, Fdbus_register_signal): Split expressions into
13105 multiple lines before operators "&&" and "||", according to the
13106 GNU Coding Standards.
13107
131082007-12-14 Eli Zaretskii <eliz@gnu.org>
13109
13110 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
13111
131122007-12-12 Juri Linkov <juri@jurta.org>
13113
13114 * buffer.c (Frename_buffer): In interactive spec replace
13115 `read-buffer' with `read-string' that uses `buffer-name-history'
13116 as history, and the current buffer's name as default.
13117
131182007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
13119
13120 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
13121 manipulating the backtrace manually.
13122 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
13123 (struct backtrace, backtrace_list): Remove.
13124 (command_loop_1): Remove dead var `no_direct'.
13125
13126 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
13127 preserve non-built-in buffer-local variables.
13128 (Fkill_all_local_variables): Don't re-create&re-set permanent
13129 buffer-local variables.
13130
131312007-12-09 Juri Linkov <juri@jurta.org>
13132
13133 * buffer.c (Frename_buffer): Change interactive spec from "s" to
13134 Lisp code that uses `read-buffer' with current buffer as default.
13135
131362007-12-08 Michael Albinus <michael.albinus@gmx.de>
13137
13138 * dbusbind.c (xd_read_message): Generate an event for every
13139 registered handler. There might be several handlers registered
13140 for the same signal.
13141 (Fdbus_register_signal): Don't overwrite a registration for the
13142 same signal. Add a new registration if handlers are different.
13143 (Vdbus_registered_functions_table): Rework doc string.
13144
131452007-12-07 Michael Albinus <michael.albinus@gmx.de>
13146
13147 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
13148 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
13149 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
13150 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
13151 Unify argument lists.
13152 (xd_read_message, Fdbus_register_signal): Reorder and extend event
13153 arguments and hash table keys. Use unique name for service.
13154 (Fdbus_unregister_signal): Remove checks.
13155 (Vdbus_registered_functions_table): Fix doc string.
13156
131572007-12-05 Magnus Henoch <mange@freemail.hu>
13158
13159 * process.c (make_process): Initialize pty_flag to 0.
13160
131612007-12-05 Jason Rumney <jasonr@gnu.org>
13162
13163 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
13164 specified XBMs.
13165
131662007-12-05 Richard Stallman <rms@gnu.org>
13167
13168 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
13169
131702007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13171
13172 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
13173 New variable.
13174 (mac_try_close_socket) [MAC_OSX]: New function.
13175 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
13176 Update cfsockets_for_select. Replace invalid CFRunLoop source.
13177
13178 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
13179 Use mac_try_close_socket.
13180
131812007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13182
13183 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
13184 reloc_base.
13185 (copy_dysymtab): Compute relocation base here.
13186 (rebase_reloc_address) [__ppc64__]: New function.
13187 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
13188 changed.
13189
131902007-12-05 Jason Rumney <jasonr@gnu.org>
13191
13192 * w32proc.c (sys_spawnve): Quote args with wildcards.
13193
131942007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13195
13196 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
13197 __objc_* sections.
13198 (unrelocate) [_LP64]: Set relocation base to address of data segment.
13199
132002007-12-05 Michael Albinus <michael.albinus@gmx.de>
13201
13202 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
13203 Move check for Vdbus_registered_functions_table to
13204 xd_read_queued_messages.
13205 (xd_read_queued_messages): Protect xd_read_message calls by
13206 internal_condition_case_1.
13207
132082007-12-04 Michael Albinus <michael.albinus@gmx.de>
13209
13210 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
13211 Qdbus_system_bus and Qdbus_session_bus, respectively.
13212 (Vdbus_intern_symbols): Remove.
13213 (Vdbus_registered_functions_table): New hash table.
13214 (XD_SYMBOL_INTERN_SYMBOL): Remove.
13215 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
13216 Rewrite in order to manage registered functions by hash table
13217 Vdbus_registered_functions_table.
13218
132192007-12-03 Jan Djärv <jan.h.d@swipnet.se>
13220
13221 * xterm.c: Update URL to Window Manager Specification in comment.
13222
132232007-12-02 Michael Albinus <michael.albinus@gmx.de>
13224
13225 * config.in (HAVE_DBUS): Add.
13226
13227 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
13228 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
13229 (obj): Add $(DBUS_OBJ).
13230 (LIBES): Add $(DBUS_LIBS).
13231 (dbusbind.o): New target.
13232
13233 * dbusbind.c: New file.
13234
13235 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
13236
13237 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
13238 (Qdbus_event): New Lisp symbol.
13239 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
13240 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
b97439ce 13241 (keys_of_keyboard): Define dbus-event.
aac0c6e3
MR
13242
13243 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
13244
132452007-12-01 Richard Stallman <rms@gnu.org>
13246
13247 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
13248
132492007-11-30 Jason Rumney <jasonr@gnu.org>
13250
13251 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
13252 (w32con_reset_terminal_modes): Clear screen buffer.
13253 (w32_face_attributes): Don't use color indexes that are out of range.
13254 Only reverse the default colors.
13255
13256 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
13257 WINDOWSNT.
13258
13259 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
13260
132612007-11-29 Jason Rumney <jasonr@gnu.org>
13262
13263 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
13264 (w32_face_attributes): Use Vtty_defined_color_alist to determine
13265 if the terminal colors are initialized.
13266 (unspecified_fg, unspecified_bg): Remove unused declarations.
13267
132682007-11-29 Andreas Schwab <schwab@suse.de>
13269
13270 * keyboard.c (apply_modifiers): Fix typo.
13271
132722007-11-29 Richard Stallman <rms@gnu.org>
13273
13274 * keymap.c (Fcurrent_local_map): Doc fix.
13275
132762007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
13277
13278 * s/gnu-kfreebsd.h: New file.
13279
132802007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
13281
13282 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
13283 Don't cast redundantly.
13284
13285 * keyboard.c (KEY_TO_CHAR): New macro.
13286 (parse_modifiers, apply_modifiers): Accept integer arguments.
13287 (read_key_sequence): Use them to unify the "shift->unshift" mapping
13288 for chars and symbol keys.
13289 After doing such remapping, apply function-key-map again.
13290
132912007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
13292
13293 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
13294 compiled anymore.
13295
132962007-11-26 Andreas Schwab <schwab@suse.de>
13297
13298 * process.c (list_processes_1): Fix indentation level of the
13299 command column.
13300
133012007-11-23 Andreas Schwab <schwab@suse.de>
13302
13303 * editfns.c (Fformat): Handle %c specially since it requires the
13304 argument to be of type int.
13305
133062007-11-23 Markus Triska <markus.triska@gmx.at>
13307
13308 * emacs.c (main): Call init_editfns before init_process, since
13309 init_process sets Vprocess_connection_type depending on OS release.
13310
133112007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
13312
13313 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
13314 (find_symbol_value): Use do_symval_forwarding.
13315
13316 * data.c (set_internal): Set the value in the `cons-cell' (for
13317 Buffer_Local_values) not only for frame-local variables.
13318
133192007-11-22 Andreas Schwab <schwab@suse.de>
13320
13321 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
13322 values to sprintf.
13323 * keymap.c (Fsingle_key_description): Likewise.
13324 * print.c (print_object): Likewise.
13325
133262007-11-22 Jan Djärv <jan.h.d@swipnet.se>
13327
13328 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
13329 file for image is nil.
13330
133312007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
13332
13333 * term.c: Include stdarg.h.
13334 (fatal): Implement using varargs.
13335 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
13336
133372007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
13338
13339 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
13340 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
13341 Update call to buffer_slot_type_mismatch.
13342 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
13343 (buffer_slot_type_mismatch): Update.
13344 * buffer.c (buffer_local_types): Remove.
13345 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
13346 (defvar_per_buffer): Set the type in the buffer_objfwd.
13347
133482007-11-21 Jason Rumney <jasonr@gnu.org>
13349
13350 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
13351 CreateFileMapping returns NULL on failure.
13352
133532007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
13354
13355 * search.c (Fset_match_data): Remove the `evaporate' feature.
13356 (unwind_set_match_data): Don't use the `evaporate' feature.
13357
133582007-11-21 Jason Rumney <jasonr@gnu.org>
13359
13360 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
13361
13362 * w32console.c (w32con_write_glyphs): Remove unused variables.
13363
133642007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
13365
13366 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
13367
13368 * s/darwin.h (MULTI_KBOARD): Remove.
13369
13370 * macfns.c (x_create_tip_frame, Fx_create_frame)
13371 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
13372
133732007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
13374
13375 * buffer.c (Fbuffer_local_value): Remove redundant test.
13376 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
13377 than in `current-buffer' to match the comment.
13378 Do the swap using swap_in_global_binding.
13379
13380 * data.c (store_symval_forwarding, set_internal):
13381 * eval.c (specbind): Remove dead code.
13382
13383 * coding.c (detect_coding, Fupdate_coding_systems_internal):
13384 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
13385 Since we do not want to see internal Lisp_*fwd objects here.
13386
133872007-11-18 Jan Djärv <jan.h.d@swipnet.se>
13388
13389 * sysdep.c (init_system_name): Use getaddrinfo if available.
13390
13391 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
13392 (x_scroll_bar_note_movement): start, end, with, height in struct
13393 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
13394
133952007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
13396
13397 * puresize.h (BASE_PURESIZE): Increase to 1190000.
13398
133992007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
13400
13401 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
13402 This undoes Richard's change of 14-Oct-2002.
13403
13404 * alloc.c (allocate_other_vector):
13405 * lisp.h (allocate_other_vector): Remove.
13406
13407 * window.c (struct save_window_data): Move non-lisp data to the end
13408 and make it `int' rather than Lisp_Object.
13409 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
13410 Done wrap/unwrap integer values.
13411 (Fset_window_configuration, compare_window_configurations):
13412 Update use of fields to their new types.
13413
13414 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
13415 Turn integer fields into `int'. Merge x_window_low and x_window_high.
13416 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
13417 (SET_SCROLL_BAR_X_WINDOW): Remove.
13418 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
13419 Access the new x_window field directly.
13420 * xterm.c (x_scroll_bar_create): Use a pseudovector.
13421 Don't wrap/unwrap integers into Lisp_Objects.
13422 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
13423 (x_scroll_bar_report_motion):
13424 Don't wrap/unwrap integers into Lisp_Objects.
13425 (x_term_init): Use SDATA.
13426 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
13427 (x_scroll_bar_set_handle, x_scroll_bar_remove)
13428 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
13429 (x_scroll_bar_report_motion, x_scroll_bar_clear):
13430 * xfns.c (x_set_background_color):
13431 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
13432 Access the new x_window field directly.
13433
13434 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
13435 (allocate_pseudovector): Make non-static.
13436
13437 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
13438 (allocate_pseudovector): Declare.
13439 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
13440
134412007-11-15 Andreas Schwab <schwab@suse.de>
13442
13443 * editfns.c (Fformat): Correctly format EMACS_INT values.
13444 Also take precision into account when formatting an integer.
13445
13446 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
13447
134482007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
13449
13450 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
13451 (syms_of_keyboard): Defsubr it.
13452
13453 * data.c (swap_in_global_binding): Fix longstanding bug where
13454 store_symval_forwarding was not called with the right second argument,
13455 thus causing objfwd-ing from being dropped.
13456
134572007-11-14 Juanma Barranquero <lekktu@gmail.com>
13458
13459 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
13460 (Fx_display_pixel_height, Fx_display_planes)
13461 (Fx_display_color_cells, Fx_server_max_request_size)
13462 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
13463 (Fx_display_visual_class, Fx_display_save_under):
13464 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
13465 (Fx_display_pixel_height, Fx_display_planes)
13466 (Fx_display_color_cells, Fx_server_max_request_size)
13467 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
13468 (Fx_display_mm_height, Fx_display_mm_width)
13469 (Fx_display_backing_store, Fx_display_visual_class)
13470 (Fw32_select_font, Fx_display_save_under):
13471 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
13472 (Fx_display_pixel_height, Fx_display_planes)
13473 (Fx_display_color_cells, Fx_server_max_request_size)
13474 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
13475 (Fx_display_save_under): Fix typos in docstrings.
13476
134772007-11-14 Juanma Barranquero <lekktu@gmail.com>
13478
13479 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
13480 corresponding to deleted entries; they are an implementation detail.
13481 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
13482 Remove variables.
13483 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
13484 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
13485 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
13486 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
13487 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
13488 (Fw32_define_rgb_color, Fw32_load_color_file)
13489 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
13490 Fix typos in docstrings.
13491 (Fx_server_version): Reflow docstring.
13492 (Fw32_shell_execute): Doc fixes.
13493
134942007-11-13 Juanma Barranquero <lekktu@gmail.com>
13495
13496 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
13497 if w32_parse_hot_key returned nil.
13498
134992007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
13500
13501 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
13502
135032007-11-09 Jason Rumney <jasonr@gnu.org>
d6c952f8 13504
aac0c6e3
MR
13505 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
13506
13507 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
13508
13509 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
13510 Remove W32_SCROLL_BAR_CLICK_EVENT.
13511
13512 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
13513 Add MULTIMEDIA_KEY_EVENT.
13514
13515 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
13516 (lispy_multimedia_keys) [WINDOWSNT]: New array.
13517 (make_lispy_event) [WINDOWSNT]: Use it to translate
13518 MULTIMEDIA_KEY_EVENT.
13519
13520 * w32term.h (WM_APPCOMMAND): Define if not already.
13521 (GET_APPCOMMAND_LPARAM): Likewise.
13522
13523 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
13524 WM_APPCOMMAND.
13525
13526 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
13527 (syms_of_w32fns): Export and initialize it.
13528 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
13529
135302007-11-09 Chong Yidong <cyd@stupidchicken.com>
13531
13532 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
13533 twice.
13534
13535 * xdisp.c (handle_face_prop): Fix last change.
13536
135372007-11-09 Richard Stallman <rms@gnu.org>
13538
13539 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
13540 not just for after-strings and before-strings.
13541 Call face_for_overlay_string and pass the overlay to it.
13542 (handle_display_prop): Determine whether property came from an overlay.
13543 Pass OVERLAY arg to handle_single_display_spec.
13544 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
13545 (load_overlay_strings): Fill in it->string_overlays.
13546 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
13547
13548 * xfaces.c (face_for_overlay_string): Function renamed from
13549 face_at_buffer_position_no_overlays, and add arg OVERLAY.
13550
13551 * dispextern.h (struct it): New elt string_overlays.
13552 New elt from_overlay, also in stack.
13553 Rearrange a few elements.
13554 (face_for_overlay_string): Decl renamed from
13555 face_at_buffer_position_no_overlays, and add argument.
13556
135572007-11-09 Richard Stallman <rms@gnu.org>
13558
13559 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
13560 to get the base face for an overlay string.
13561
13562 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
13563
13564 * xfaces.c (face_at_buffer_position_no_overlays): New function.
13565
13566 * xdisp.c (handle_stop): Move some code out of loop.
13567
135682007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13569
13570 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
13571 Fix conversion from Lisp object to ATSUFontID.
13572
135732007-11-09 Jason Rumney <jasonr@gnu.org>
13574
13575 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
13576
135772007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13578
13579 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
13580 Don't assume regions are aligned to page boundary.
13581 (print_load_command_name): Add LC_UUID if defined.
13582
135832007-11-09 Richard Stallman <rms@gnu.org>
13584
13585 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
13586
135872007-11-07 Jason Rumney <jasonr@gnu.org>
13588
13589 * s/windows95.h: Remove.
13590
135912007-11-06 Jan Djärv <jan.h.d@swipnet.se>
13592
13593 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
13594 abort with a message on unhandled store_type values.
13595
135962007-11-01 Jan Djärv <jan.h.d@swipnet.se>
13597
13598 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
13599 Remove HAVE_X11R5 and HAVE_X11R4.
13600
136012007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
13602
13603 * Makefile.in: Remove references to sunfns.c and sunfns.o.
13604
136052007-11-01 Johan Bockgård <bojohan@gnu.org>
13606
13607 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
13608 Don't set s->stippled_p here, since it has already been set by
13609 x_set_glyph_string_gc from x_draw_glyph_string.
13610
136112007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
13612
13613 * sunfns.c: Remove file.
13614
13615 * m/sun386.h:
13616 * m/sun2.h:
13617 * m/sparc.h: Remove Sun windows code.
13618
136192007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
13620
13621 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
13622 (init_keyboard): Set current_kboard's window-system to nil.
13623 (tty_read_avail_input): Typo.
13624 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
13625
136262007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
13627
13628 * s/usg5-4.h:
13629 * s/usg5-3.h:
13630 * s/ptx.h:
13631 * m/is386.h:
13632 * m/ibmps2-aix.h:
13633 * Makefile.in: Remove all mentions of X10.
13634
13635 * dispnew.c (syms_of_display): Don't mention version 10.
13636
136372007-10-28 Juanma Barranquero <lekktu@gmail.com>
13638
13639 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
13640 ($(BLD)/abbrev.$(O)): Remove.
13641
136422007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
13643
13644 Rewrite abbrev.c in Elisp.
13645 * image.c (Qcount): Don't declare as extern.
13646 (syms_of_image): Initialize and staticpro `Qcount'.
13647 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
13648 * emacs.c (main): Don't call syms_of_abbrev.
13649 * Makefile.in (obj): Remove abbrev.o.
13650 (abbrev.o): Remove.
13651 * abbrev.c: Remove.
13652
136532007-10-26 Martin Rudalics <rudalics@gmx.at>
13654
13655 * window.c (window_min_size_2): Don't count header-line.
13656
136572007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
13658
13659 * frame.h (struct frame): Move all bit fields after the first bit
13660 field to take advantage of the available space. Group all the
13661 chars together to reduce wasted space due to padding.
13662
136632007-10-26 Juanma Barranquero <lekktu@gmail.com>
13664
13665 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
13666
13667 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
13668 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
13669 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
13670 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
13671 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
13672 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
13673 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
13674 (last_marked, mark_object_loop_halt): Make static.
13675
13676 * frame.c (syms_of_frame) <delete-frame-functions>:
13677 Fix typo in docstring.
13678
136792007-10-25 Juanma Barranquero <lekktu@gmail.com>
13680
13681 * w32.c (init_environment): Fix tiny memory leak.
13682 (w32_get_resource): Remove unused variable `ok'.
13683
136842007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
13685
13686 Make `window-system' into a keyboard-local variable (rather than
13687 frame-local as done originally by multi-tty).
13688
13689 * keyboard.h (struct kboard): Add Vwindow_system.
13690 * keyboard.c (init_kboard): Set a default for Vwindow_system.
13691 (mark_kboards): Mark Vwindow_system.
13692
13693 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
13694 (init_display): Don't set the obsolete `window-system' frame-param.
13695
13696 * xterm.c (x_term_init):
13697 * w32term.c (w32_create_terminal):
13698 * term.c (init_tty): Set Vwindow_system.
13699 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
13700 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
13701
13702 * xfns.c (Fx_create_frame, x_create_tip_frame):
13703 * w32fns.c (Fx_create_frame, x_create_tip_frame):
13704 * macfns.c (Fx_create_frame):
13705 Don't set the obsolete `window-system' frame-param.
13706
13707 * frame.h (Qwindow_system): Remove.
13708 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
13709 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
13710
137112007-10-24 Richard Stallman <rms@gnu.org>
13712
13713 * frame.c (x_figure_window_size): For fullscreen case,
13714 set USPosition | PPosition without clobbering rest of window_prompting.
13715
13716 * keyboard.c (Fcurrent_idle_time): Doc fix.
13717
13718 * print.c (Fwith_output_to_temp_buffer): Doc fix.
13719
137202007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
13721
13722 * process.c (unwind_request_sigio): Only define if __ultrix__.
13723
13724 * callproc.c (child_setup): Remove spurious *.
13725
13726 * lisp.h (Fget_text_property): Declare.
13727 (have_menus_p): Declare it here rather than in sys-dep header files.
13728 * macterm.h (have_menus_p):
13729 * msdos.h (have_menus_p):
13730 * xterm.h (have_menus_p): Remove.
13731
13732 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
13733 (Fmake_variable_frame_local): Just check the variable's const-ness
13734 rather than checking nil or t.
13735
137362007-10-22 Jason Rumney <jasonr@gnu.org>
13737
13738 * w32fns.c: Include math.h.
13739 (w32_abort): Declaration moved to nt/config.nt.
13740
13741 * s/ms-w32.h (HAVE_STDLIB_H): Define.
13742 (abort): Redefinition moved to nt/config.nt.
13743
13744 * m/windowsnt.h: Remove.
13745
137462007-10-22 Juanma Barranquero <lekktu@gmail.com>
13747
13748 * emacs.c (Fdump_emacs): Fix typo in message.
13749 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
13750 <installation-directory>: Reflow docstring.
13751
137522007-10-22 Juri Linkov <juri@jurta.org>
13753
13754 * minibuf.c: Allow minibuffer default to be a list of default values.
13755 With empty input use the first element of this list as returned default.
13756 (string_to_object)
13757 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
13758 (read_minibuf): If defalt is cons, set histstring to its car.
13759 (Fread_string): If default_value is cons, set val to its car.
13760 (Fread_buffer): If def is cons, use its car.
13761 (Fcompleting_read): If defalt is cons, set val to its car.
13762
137632007-10-21 Michael Albinus <michael.albinus@gmx.de>
13764
13765 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
13766
137672007-10-20 Juanma Barranquero <lekktu@gmail.com>
13768
13769 * doc.c (Fdocumentation): Check for advice in all cases.
13770
137712007-10-19 Chong Yidong <cyd@stupidchicken.com>
13772
13773 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
13774
137752007-10-19 Richard Stallman <rms@gnu.org>
13776
13777 * doc.c (Fdocumentation): Check for and handle an advised function.
13778
137792007-10-19 Juanma Barranquero <lekktu@gmail.com>
13780
13781 * process.c (Fset_process_filter): Doc fix.
13782
137832007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
13784
13785 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
13786 which caused key-translation-map to applied repeatedly (thus breaking
13787 double-mode).
13788
137892007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
13790
13791 * xselect.c (x_own_selection, x_handle_selection_clear)
13792 (x_clear_frame_selections):
13793 * w32menu.c (list_of_panes, list_of_items):
13794 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
13795 * textprop.c (validate_plist, interval_has_all_properties)
13796 (interval_has_some_properties, interval_has_some_properties_list)
13797 (add_properties, text_property_list):
13798 * process.c (Fget_buffer_process, list_processes_1, status_notify):
13799 * minibuf.c (Fassoc_string):
13800 * macselect.c (x_own_selection, x_clear_frame_selections)
13801 (Fx_disown_selection_internal):
13802 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
13803 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
13804
138052007-10-17 Chong Yidong <cyd@stupidchicken.com>
13806
13807 * process.c: Link to libs for calling res_init() if available.
13808 (Fmake_network_process): Call res_init() before getaddrinfo or
13809 gethostbyname, if possible.
13810
138112007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
13812
13813 * lread.c (read1): Set pvectype for char_tables.
13814
13815 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
13816 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
13817 Add type checks.
13818 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
13819
13820 * alloc.c (free_misc): Use XMISCTYPE.
13821 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
13822
138232007-10-17 Glenn Morris <rgm@gnu.org>
13824
13825 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
13826 (syms_of_minibuf): Add Qcompletion_ignore_case.
13827 * dired.c (Qcompletion_ignore_case): Change to external.
13828 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
13829 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
13830 (Fread_file_name): Use it rather than intern'ing.
13831
13832 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
13833 (Fread_coding_system): Ignore case of user input.
13834
138352007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13836
13837 * xdisp.c (handle_display_prop): Ignore display specs after
13838 replacing one when string text is being replaced.
13839 (handle_single_display_spec): Pretend as if characters with display
13840 property haven't been consumed only when buffer text is being replaced.
13841
138422007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
13843
13844 * xfns.c (Fx_create_frame, Fx_display_list):
13845 * window.c (window_fixed_size_p, enlarge_window)
13846 (shrink_window_lowest_first):
13847 * macterm.c (init_font_name_table):
13848 * macfns.c (Fx_create_frame, Fx_display_list):
13849 * lread.c (close_load_descs):
13850 * keyboard.c (read_char_x_menu_prompt):
13851 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
13852 * coding.c (code_convert_region_unwind): Test the type of an object
13853 rather than just !NILP before extracting data from it.
13854
13855 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
13856
13857 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
13858 (XMISCANY): New macro.
13859 (XMISCTYPE): Use it.
13860 (struct Lisp_Misc_Any): New type.
13861 (union Lisp_Misc): Use it.
13862 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
13863 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
13864 (find_symbol_value, set_internal, default_value, Fset_default)
13865 (Fmake_variable_buffer_local, Fmake_local_variable)
13866 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
13867 (Flocal_variable_if_set_p, Fvariable_binding_locus):
13868 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
13869 * alloc.c (allocate_buffer): Set the size and tag.
13870 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
13871 Use XMISCANY.
13872 (die): Follow the GNU convention for error messages.
13873 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
13874 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
13875 tag any more.
13876 (set_buffer_internal_1):
13877 * frame.c (store_frame_param):
13878 * eval.c (specbind):
13879 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
13880
13881 * doc.c (Fsnarf_documentation): Simplify.
13882
138832007-10-14 Juanma Barranquero <lekktu@gmail.com>
13884
13885 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
13886 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
13887
138882007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
13889
13890 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
13891
138922007-10-14 Juanma Barranquero <lekktu@gmail.com>
13893
13894 * eval.c (do_autoload): Don't save autoloads.
13895
13896 * data.c (Ffset): Save autoload of the function being set.
13897
138982007-10-07 John Paul Wallington <jpw@pobox.com>
13899
13900 * xfns.c (x_create_tip_frame): Set the `display-type' frame
13901 parameter before setting up faces.
13902
139032007-10-13 Eli Zaretskii <eliz@gnu.org>
13904
13905 * ccl.c (Fregister_code_conversion_map):
13906 * keyboard.c (append_tool_bar_item): Reformat last change.
13907
13908 * lisp.h (eabs): Rename from `abs'. All callers changed.
13909
139102007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
13911
13912 * buffer.c (add_overlay_mod_hooklist):
13913 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
13914 * fontset.c (make_fontset):
13915 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
13916 (append_tool_bar_item):
13917 * macmenu.c (grow_menu_items):
13918 * w32menu.c (grow_menu_items):
13919 * xmenu.c (grow_menu_items): Use larger_vector.
13920
139212007-10-13 Eli Zaretskii <eliz@gnu.org>
13922
13923 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
13924 selected frame'' on MSDOS).
13925
139262007-10-12 Martin Rudalics <rudalics@gmx.at>
13927
13928 * frame.c (Qexplicit_name): New variable.
13929 (x_report_frame_params): Report it in parameter alist.
13930 (syms_of_frame): Intern and staticpro it.
13931
139322007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
13933
13934 * macfns.c (x_create_tip_frame): Set terminal for frame.
13935
139362007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
13937
13938 * frame.c (Qenvironment): Remove.
13939 (syms_of_frame) <Qenvironment>: Don't initialize.
13940 (Fdelete_frame): Don't treat the `environment' param specially.
13941 * frame.h (Qenvironment): Don't declare.
13942 * callproc.c (set_initial_environment): Don't set unused frame param.
13943
13944 * frame.c (Fframe_with_environment): Remove.
13945 (syms_of_frame) <Sframe_with_environment>: Don't declare.
13946
13947 * lisp.h (Fframe_with_environment): Don't declare.
13948
139492007-10-10 Juanma Barranquero <lekktu@gmail.com>
13950
13951 * indent.c (indent_tabs_mode, last_known_column)
13952 (last_known_column_modified): Make static.
13953 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
13954
139552007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
13956
13957 * puresize.h (BASE_PURESIZE): Increase to 1170000.
13958
139592007-10-09 Jason Rumney <jasonr@gnu.org>
13960
13961 * w32term.c (x_set_window_size): Disable code that attempts to tell
13962 Lisp code about a size change before it actually happens.
13963
139642007-10-09 Richard Stallman <rms@gnu.org>
13965
13966 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
13967 return HANDLED_RETURN.
13968
139692007-10-08 Martin Rudalics <rudalics@gmx.at>
13970
13971 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
13972 when there's an unread command event.
13973
13974 * frame.c (focus_follows_mouse): Move here from frame.el to allow
13975 window autoselection act appropriately when leaving selected frame.
13976 (syms_of_frame): Initialize focus_follows_mouse.
13977 * frame.h (focus_follows_mouse): Extern it.
13978 * macterm.c (XTread_socket): When focus_follows_mouse is nil
13979 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
13980 * msdos.c (dos_rawgetc): Likewise.
13981 * w32term.c (w32_read_socket): Likewise.
13982 * xterm.c (handle_one_xevent): Likewise.
13983 * xdisp.c (syms_of_xdisp): In doc-string of
13984 mouse-autoselect-window mention focus-follows-mouse.
13985
139862007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13987
13988 * macterm.c (mac_load_query_font): Fix missing return value.
13989 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
13990 Add BLOCK_INPUT.
13991
139922007-10-08 Richard Stallman <rms@gnu.org>
13993
13994 * xdisp.c (get_window_cursor_type): Implement documented behavior
13995 for cursor-in-non-selected-windows = t.
13996
139972007-10-08 Jason Rumney <jasonr@gnu.org>
13998
13999 * w32.c (w32_get_resource): Always close registry keys.
14000
140012007-10-08 Jason Rumney <jasonr@gnu.org>
14002
14003 * makefile.w32-in (LIBS): Add COMCTL32.
14004
14005 * w32fns.c (globals_of_w32fns): Init common controls.
14006
140072007-10-08 Richard Stallman <rms@gnu.org>
14008
14009 * image.c (our_memory_buffer): Rename from omfib_buffer.
14010
140112007-10-08 Richard Stallman <rms@gnu.org>
14012
14013 * buffer.c (Foverlays_at): Doc fix.
14014
140152007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
14016
14017 * fns.c (Fplist_put): Preserve uneven tail data.
14018
140192007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
14020
14021 * termhooks.h (enum event_kind): Remove trailing comma.
14022
14023 * frame.h (enum): Remove trailing comma.
14024
140252007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
14026
14027 * w32proc.c (delete_child): Don't terminate threads of zombies.
14028
140292007-10-08 Martin Rudalics <rudalics@gmx.at>
14030
14031 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
14032
14033 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
14034 last-repeatable-command.
14035 (init_kboard): Initialize Vlast_repeatable_command.
14036 (command_loop_1): Set it to real_this_command unless that was
14037 bound to an input event.
14038 (mark_kboards): Mark it.
14039
140402007-10-08 Richard Stallman <rms@gnu.org>
14041
14042 * eval.c (condition-case): Doc fix.
14043
140442007-10-08 Masatake YAMATO <jet@gyve.org>
14045
14046 * xfaces.c (tty_supports_face_attributes_p): Fix code
14047 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
14048 was copied and not edited.
14049
140502007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
14051
14052 Add new `input-decode-map' keymap and use it for terminal
14053 escape sequences.
14054 * keyboard.h (struct kboard): Add Vinput_decode_map.
14055 Remove Vlocal_key_translation_map.
14056 * keyboard.c (read_key_sequence): Add support for input-decode-map.
14057 (init_kboard): Init input-decode-map.
14058 Replace local-key-translation-map back with key-translation-map.
14059 (syms_of_keyboard): Declare input-decode-map.
14060 Remove local-key-translation-map. Update docstrings.
14061 (mark_kboards): Mark Vinput_decode_map.
14062 Don't mark Vlocal_key_translation_map.
14063 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
14064 Replace local-key-translation-map back with key-translation-map.
14065 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
14066 Bind in input-decode-map rather than function-key-map.
14067
14068 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
14069 This was made redundant by the previous introduction of XSETPVECTYPE.
14070
140712007-10-09 Richard Stallman <rms@gnu.org>
14072
14073 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
14074
140752007-09-29 Richard Stallman <rms@gnu.org>
14076
14077 * eval.c (internal_condition_case_2, internal_condition_case_1)
14078 (internal_condition_case): Reenable abort if x_catching_errors ()
14079 to see if that really happens and why.
14080
140812007-10-06 Andreas Schwab <schwab@suse.de>
14082
14083 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
14084
140852007-10-04 Juanma Barranquero <lekktu@gmail.com>
14086
14087 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
14088
140892007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
14090
14091 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
14092
140932007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
14094
14095 * window.h (struct window):
14096 * window.c (struct save_window_data, struct saved_window):
14097 * termhooks.h (struct terminal):
14098 * process.h (struct Lisp_Process):
14099 * frame.h (struct frame):
14100 * buffer.h (struct buffer):
14101 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
14102 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
14103 The size field of (pseudo)vectors is now unsigned.
14104 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
14105
14106 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
14107 Turn `count' into an integer.
14108
14109 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
14110 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
14111 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
14112 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
14113 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
14114
14115 * alloc.c (allocate_pseudovector): New fun.
14116 (ALLOCATE_PSEUDOVECTOR): New macro.
14117 (allocate_window, allocate_terminal, allocate_frame)
14118 (allocate_process): Use it.
14119 (mark_vectorlike): New function.
14120 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
14121 (mark_terminals): Use it.
14122 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
14123 (Fmake_byte_code): Use XSETPVECTYPE.
14124
14125 * frame.c (Fframe_parameters): Minor simplification.
14126
14127 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
14128
14129 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
14130
14131 * buffer.c (Fget_buffer_create, init_buffer_once):
14132 * lread.c (defsubr):
14133 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
14134
14135 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
14136 defined differently in the m/*.h files.
14137 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
14138 (XSETPVECTYPE): New macro.
14139 (XSETPSEUDOVECTOR): Use it.
14140
14141 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
14142 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
14143
14144 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
14145 * lread.c (defvar_per_buffer):
14146 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
14147
14148 * window.c (candidate_window_p): Only consider as visible frames that
14149 are on the same terminal.
14150
14151 * m/ibms390x.h (MARKBIT): Remove unused macro.
14152
141532007-10-01 Juanma Barranquero <lekktu@gmail.com>
14154
14155 * lread.c (Fload): Fix typo in docstring.
14156
141572007-10-01 Michaël Cadilhac <michael@cadilhac.name>
14158
14159 * floatfns.c (Fexpt): Manually check for overflows, so that a power
14160 of a non-zero value can't yield zero.
14161
141622007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
14163
14164 * term.c (term_clear_mouse_face, term_mouse_highlight)
14165 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
14166
14167 * print.c (safe_debug_print): Use XHASH.
14168
14169 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
14170 Lisp elements such as tags.
14171 (XHASH): New macro.
14172 (EQ): Use it.
14173 (SREF, SSET, STRING_COPYIN): Use SDATA.
14174 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
14175
14176 * alloc.c (mark_terminal): Remove left-over declaration.
14177 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
14178 (allocate_vectorlike): Remove type argument. Adjust callers.
14179 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
14180 Only handle the one remaining MEM_TYPE_VECTORLIKE.
14181
14182 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
14183 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
14184 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
14185 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
14186 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
14187 Use them.
14188
14189 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
14190 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
14191 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
14192
141932007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
14194
14195 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
14196 loaded by default.
14197
141982007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
14199
14200 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
14201 on this tty.
14202 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
14203
14204 * term.c (mouse_face_window): Rename from Qmouse_face_window.
14205 Update all users.
14206 (handle_one_term_event): Use Gpm_DrawPointer.
14207 (Fgpm_mouse_start): Rename from Fterm_open_connection.
14208 Signal errors instead of returning nil. Always return nil.
14209 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
14210 Make it a noop if gpm-mouse was not activated.
14211 (syms_of_term): Update names.
14212
142132007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
14214
14215 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
14216 (init_sys_modes): Check that gpm_tty is the current tty.
14217
14218 * alloc.c (allocate_terminal): Set the vector size to only count the
14219 lisp fields. Initialize those to nil.
14220 (mark_object): Don't treat terminals specially.
14221 (mark_terminal): Remove.
14222 (mark_terminals): Use mark_object instead.
14223
14224 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
14225 the GC to the beginning.
14226
14227 * indent.h:
14228 * indent.c: Use EMACS_INT for ints coming from Elisp data.
14229
14230 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
14231
142322007-09-25 Jason Rumney <jasonr@gnu.org>
14233
14234 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
14235
14236 * w32console.c (create_w32cons_output): Remove.
14237
14238 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
14239
14240 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
14241 (reset_sys_modes): Use reset_terminal_modes_hook.
14242
142432007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
14244
14245 * eval.c (do_autoload): Don't output any message.
14246
142472007-09-24 Juri Linkov <juri@jurta.org>
14248
14249 * emacs.c (standard_args): Change priority of "--no-splash"
14250 from 40 to 3. Add "--no-desktop" with the same priority.
14251
142522007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
14253
14254 * alloc.c (gc_sweep): Check cons cell mark bits word by word
14255 and optimize the case where they are all 1.
14256
142572007-09-23 Johannes Weiner <hannes@saeurebad.de>
14258
14259 * lisp.h (abs): Define if not defined.
14260 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
14261 Don't define `abs', since it's defined in lisp.h.
14262
142632007-09-22 Eli Zaretskii <eliz@gnu.org>
14264
14265 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
14266 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
14267 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
14268 (init_tty): Use DEV_TTY instead of "/dev/tty".
14269 [WINDOWSNT]: No need to protect from NAME arg being null.
14270
142712007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
14272
14273 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
14274 up the tty state.
14275
142762007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
14277
14278 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
14279 (gpm_tty): Change its type.
14280 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
14281 (gpm_tty): Change its type and initialize it.
14282 (Fterm_open_connection): Check the frame is indeed a tty.
14283 Use the new gpm_tty.
14284 (Fterm_close_connection): Use the new gpm_tty.
14285 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
14286 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
14287
142882007-09-21 Juanma Barranquero <lekktu@gmail.com>
14289
14290 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
14291 underline_color, to draw strike-through.
14292
142932007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
14294
14295 * lisp.h (allocate_terminal): Declare.
14296
14297 * window.c (candidate_window_p): Consider frames that are being placed
14298 by the user as somewhere between visible and iconified.
14299 (window_loop): Prefer windows on the current frame.
14300 (Fselect_window): Move the use of select-frame to the beginning so we
14301 can just delegate all the work (it'll call us back anyway).
14302
14303 * frame.c (Qdisplay_environment_variable):
14304 * frame.h (Qdisplay_environment_variable): Delete.
14305
14306 * .gdbinit (xbacktrace): Print the arg's address rather than the value
14307 of the first arg, since that value may be a union.
14308
14309 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
14310 parameter rather than Qdisplay_environment_variable. If all else
14311 fails, look for DISPLAY in initial-environment.
14312
143132007-09-21 Glenn Morris <rgm@gnu.org>
14314
14315 * Makefile.in (emacstool): Remove target.
14316 (lisp, shortlisp): Remove termdev.elc.
14317
143182007-09-21 Markus Triska <markus.triska@gmx.at>
14319
14320 * xterm.c (x_delete_display): Compile session management conditionally.
14321
143222007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
14323
14324 * callproc.c (getenv_internal_1): New function.
14325 (getenv_internal): Use it.
14326 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
14327
14328 * terminal.c (get_terminal): Don't accept ints to represent terminals.
14329 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
14330 (Fset_terminal_parameter): Work with dead terminals as well.
14331 (Fmodify_terminal_parameters): Remove.
14332
14333 * terminal.c (get_terminal): Handle terminals.
14334 Make sure the terminal returned is live.
14335 (create_terminal): Use allocate_terminal.
14336 (mark_terminals): Move to alloc.c.
14337 (delete_terminal): Use terminal->name as liveness status.
14338 NULL out fields after freeing their contents.
14339 Don't deallocate the object.
14340 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
14341 rather than an int.
14342 (Fterminal_live_p): Accept non-integer arguments.
14343 (Fterminal_list): Return terminal objects rather than an ints.
14344
14345 * alloc.c (enum mem_type): New member for `terminal' objects.
14346 (allocate_terminal): New function.
14347 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
14348 Handle terminals.
14349 (mark_terminal): New fun.
14350 (mark_terminals): Move from terminal.c.
14351
14352 * term.c (get_tty_terminal): Don't treat output_initial specially.
14353 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
14354 (delete_tty): Use terminal->name as liveness status.
14355
14356 * termhooks.h (struct terminal): Make it into a pseudovector.
14357 Remove `deleted' replaced by checking `name's nullness.
14358
14359 * print.c (print_object): Handle terminals.
14360
14361 * lisp.h (enum pvec_type): New `terminal' pseudovector.
14362 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
14363
14364 * frame.c (make_terminal_frame):
14365 * keyboard.c (tty_read_avail_input):
14366 * w32term.c (x_delete_terminal):
14367 * xfns.c (Fx_create_frame, x_create_tip_frame):
14368 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
14369
143702007-09-20 Glenn Morris <rgm@gnu.org>
14371
14372 * process.c (Fmake_network_process): Doc fix.
14373
143742007-09-19 Jason Rumney <jasonr@gnu.org>
14375
14376 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
14377
143782007-09-19 Michaël Cadilhac <michael@cadilhac.name>
14379
14380 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
14381 Fix a C warning regarding variable constness.
14382
14383 * xterm.c (handle_one_xevent): Fix a C warning.
14384
143852007-09-18 Jason Rumney <jasonr@gnu.org>
14386
14387 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
14388
143892007-09-17 Jan Djärv <jan.h.d@swipnet.se>
14390
14391 * gtkutil.c (gdpy_def): New variable.
14392 (xg_initialize): Initialize gdpy_def.
14393 (xg_display_close): If no other display exists, set gdpy_def to a
14394 new connection.
14395
143962007-09-16 Jan Djärv <jan.h.d@swipnet.se>
14397
14398 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
14399 when we have no file name for the icon.
14400 (xg_tool_bar_expose_callback): Remove.
14401 (xg_create_tool_bar): Don't connect expose signal to
14402 xg_tool_bar_expose_callback.
14403 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
14404
144052007-09-16 Andreas Schwab <schwab@suse.de>
14406
14407 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
14408 values instead of zapping them.
14409
144102007-09-14 Glenn Morris <rgm@gnu.org>
14411
14412 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
14413 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
14414 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
14415 scope and rename to omfib_buffer for clarity.
14416 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
14417
144182007-09-14 Kenichi Handa <handa@m17n.org>
14419
14420 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
14421
144222007-09-13 Jason Rumney <jasonr@gnu.org>
14423
14424 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
14425
14426 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
14427
14428 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
14429 (mac_term_init): Call here instead, passing rif.
14430
144312007-09-13 Glenn Morris <rgm@gnu.org>
14432
14433 * s/hpux.h: No longer define `static' as nothing.
14434
144352007-09-13 Johan Bockgård <bojohan@gnu.org>
14436
14437 * callint.c (Fcall_interactively): Remove unused var `fun'.
14438
144392007-09-12 Romain Francoise <romain@orebokech.com>
14440
14441 * window.c (prefer_window_split_horizontally, display_buffer):
14442 Revert 2007-09-08 change.
14443
144442007-09-12 Glenn Morris <rgm@gnu.org>
14445
14446 * alloca.c: Remove file.
14447 * Makefile.in (alloca): Do not undef.
14448 (allocaobj, alloca.o): Remove.
14449 (otherobj): Remove allocaobj.
14450 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
14451 * regex.c (C_ALLOCA): Remove all references and code that was only
14452 used when this was defined.
14453 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
14454 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
14455 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
14456
14457 * Makefile.in (SOURCES, unlock, relock): Delete.
14458
14459 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
14460 (menu_grab_callback): All uses changed.
14461
14462 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
14463 (x_reply_selection_request): All uses changed.
14464
144652007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
14466
14467 * lread.c (load_warn_old_style_backquotes): Change message to look
14468 better when it appears in the middle of byte-compiler messages.
14469
144702007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
14471
14472 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
14473
14474 * xterm.c (x_create_terminal): Add comment.
14475
14476 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
14477
144782007-09-10 Richard Stallman <rms@gnu.org>
14479
14480 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
14481
144822007-09-10 Michaël Cadilhac <michael@cadilhac.name>
14483
14484 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
14485 (DEFUN): Document `intspec', use it instead of `prompt'.
14486
14487 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
14488
14489 * data.c (Finteractive_form): If the interactive specification starts
14490 with a `(', use it as a Lisp form.
14491
14492 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
14493 name and file modes.
14494
14495 * callint.c (Fcall_interactively): Comment fixes.
14496
144972007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
14498
14499 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
14500 and compiled functions.
14501
145022007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
14503
14504 * window.c (prefer_window_split_horizontally): New variable.
14505 (display_buffer): Consider splitting window horizontally depending
14506 on prefer_window_split_horizontally.
14507
145082007-09-08 Eli Zaretskii <eliz@gnu.org>
14509
14510 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
14511
145122007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
14513
14514 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
14515
14516 * frame.c (x_set_frame_parameters): Check number is positive before
14517 using XFASTINT.
14518
14519 * window.c (freeze_window_start): Don't presume selected_window holds
14520 a window object.
14521 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
14522
145232007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
14524
14525 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
14526
145272007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
14528
14529 * window.c (Vsplit_window_preferred_function): New var.
14530 (Fdisplay_buffer): Use it.
14531 (syms_of_window): Export, and initialize it.
14532
145332007-09-06 Pixel <pixel@mandriva.com> (tiny change)
14534
14535 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
14536
145372007-09-06 Glenn Morris <rgm@gnu.org>
14538
14539 * gtkutil.c (menu_grab_callback) <cnt>:
14540 * xselect.c (x_reply_selection_request) <cnt>: Move static
14541 variable to file scope.
14542
145432007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
14544
14545 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
14546 consistent values of selected_frame and selected_window.
14547
145482007-09-04 Jason Rumney <jasonr@gnu.org>
14549
14550 * w32console.c (initialize_w32_display): Zero unused hooks.
14551
145522007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
14553
14554 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
14555 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
14556
145572007-09-04 Jason Rumney <jasonr@gnu.org>
14558
14559 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
14560 in w32console.c. Set up input. Remove XXX comments that have been
14561 confirmed as correct.
14562
14563 * s/ms-w32.h (MULTI_KBOARD): Define.
14564
14565 * w32console.c (one_and_only_w32cons): Remove.
14566 (initialize_w32_display): Take terminal argument.
14567
14568 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
14569 initialize_w32_display.
14570 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
14571
14572 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
14573
14574 * keyboard.c (discard_mouse_events): Discard it.
14575 (make_lispy_event): Translate it to a lisp event.
14576 (lispy_wheel_names): Add wheel-left and right events.
14577 (syms_of_keyboard): Enlarge wheel_syms.
14578
14579 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
14580 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
14581
14582 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
14583
14584 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
14585 from WM_MOUSEHWHEEL.
14586 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
14587
14588 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
14589 terminal.
14590
14591 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
14592 keyboard for the terminal.
14593
145942007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
14595
14596 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
14597 (Vresume_tty_hook): Rename from Vresume_tty_functions.
14598 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
14599 and resume-tty-function to resume-tty-hook.
14600 (Fsuspend_tty, Fresume_tty): Use new names.
14601
146022007-09-02 Jan Djärv <jan.h.d@swipnet.se>
14603
14604 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
14605 if it starts with "n:".
14606
146072007-08-31 Jan Djärv <jan.h.d@swipnet.se>
14608
14609 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
14610
146112007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
14612
14613 * frame.h:
14614 * frame.c (Qterm_environment_variable): Remove.
14615 (syms_of_frame): Don't init and staticpro it.
14616
14617 * callproc.c (getenv_internal): Remove special case for $TERM.
14618
14619 * callproc.c (Vinitial_environment): New variable.
14620 (set_initial_environment): Initialize it.
14621 (syms_of_callproc): Declare it.
14622 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
14623 TERM under which a process runs is never related to the TERM in which
14624 Emacs is running.
14625
146262007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
14627
14628 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
14629 * s/darwin.h: ... do it here.
14630
146312007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
14632
14633 * lisp.h (set_initial_environment): Rename from set_global_environment.
14634
14635 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
14636 removed by mistake on the multi-tty branch.
14637
14638 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
14639 (Fmodify_frame_parameters): Return a value.
14640
14641 * image.c (png_load): Comment-out var only used in commented-out code.
14642
14643 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
14644 before passing it to mark_object.
14645
14646 * xfaces.c (internal_resolve_face_name): Return a value.
14647 (internal_resolve_face_name, resolve_face_name_error): Comment out.
14648
14649 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
14650 (x_icon): Comment-out var only used in commented-out code.
14651
146522007-08-29 Romain Francoise <romain@orebokech.com>
14653
14654 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
14655 QUIT hasn't been provided.
14656
146572007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
14658
14659 * callproc.c (child_setup, getenv_internal): Use the
14660 display-environment-variable and term-environment-variable frame params.
14661 (set_initial_environment): Initialise Vprocess_environment.
14662
14663 * config.in: Disable multi-keyboard support on a mac.
14664
14665 * frame.c (Qterm_environment_variable)
14666 (Qdisplay_environment_variable): New variables.
14667 (syms_of_frame): Intern and staticpro them.
14668 (Fmake_terminal_frame): Disable output method test.
14669
14670 * frame.h: Declare them here.
14671
14672 * macfns.c (x_set_mouse_color): Get rif from the frame.
14673 (x_set_tool_bar_lines): Don't use updating_frame.
14674 (mac_window): Add 2 new parameters for consistency with other systems.
14675 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
14676 frame parameters following what is done in X11 and w32. Don't use
14677 FRAME_MAC_DISPLAY_INFO.
14678 (Fx_open_connection, start_hourglass): Remove window-system check.
14679 (x_create_tip_frame): Get the keyboard from the terminal.
14680
14681 * macmenu.c: Reorder includes.
14682 (Fx_popup_menu): Use terminal specific mouse_position_hook.
14683
14684 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
14685 terminal parameter.
14686 (x_clear_frame): Add a frame parameter.
14687 (note_mouse_movement): Get rif from the frame.
14688 (mac_term_init): Initialize the terminal.
14689 (mac_initialize): Make static and move terminal initialization ...
14690 (mac_create_terminal): ... to this new function.
14691
14692 * macterm.h (struct mac_display_info): Add terminal.
14693 (mac_initialize): Delete declaration.
14694
14695 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
14696
14697 * sysdep.c: Comment out text after #endif.
14698
14699 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
14700 is defined. Better initialize ttys in windows. Use terminal
14701 specific mouse_position_hook.
14702
14703 * termhooks.h (union display_info): Add mac_display_info.
14704
14705 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
14706 Set the default minibuffer frame, window_system and the rest of the
14707 frame parameters following what is done in X11.
14708
14709 * w32term.c (w32_initialize): Make static.
14710
14711 * xselect.c (x_handle_selection_clear): Only access
14712 terminal->kboard when MULTI_KBOARD is defined.
14713
14714 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
14715 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
14716
147172007-08-29 Jason Rumney <jasonr@gnu.org>
14718
14719 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
14720 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
14721
14722 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
14723 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
14724
14725 * keyboard.c (restore_kboard_configuration): Only define when
14726 MULTI_KBOARD defined.
14727
14728 * makefile.w32-in: Update dependancies from Makefile.in.
14729 (OBJ1): Add terminal.$(O)
14730
14731 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
14732 Don't define function body.
14733 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
14734
14735 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
14736
14737 * w32.c (request_sigio, unrequest_sigio): Remove.
14738
14739 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
14740 (w32con_clear_frame, w32con_clear_end_of_line)
14741 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
14742 (w32con_delete_glyphs, w32con_set_terminal_window)
14743 (scroll_line, w32_sys_ring_bell): Add frame arg.
14744 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
14745 Add terminal arg.
14746 (PICK_FRAME): Remove.
14747 (w32con_write_glyphs): Use frame specific terminal coding.
14748 (one_and_only_w32cons): New global variable.
14749 (initialize_w32_display): Use it for storing hooks.
14750 (create_w32cons_output): New function.
14751
14752 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
14753 arg a frame.
14754
14755 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
14756 Set window_system.
14757 (x_set_tool_bar_lines): Don't use updating_frame.
14758 (Fx_create_frame): Set terminal and ref count.
14759 (Fx_open_connection): Remove window-system check.
14760
14761 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
14762
14763 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
14764 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
14765 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
14766 Add frame arg.
14767 (x_delete_terminal, w32_create_terminal): New functions.
14768 (w32_term_init): Create a terminal.
14769 (w32_initialize): Move terminal specific initialization to
14770 w32_create_terminal.
14771
14772 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
14773 (w32_clear_rect, w32_clear_area): Use background from frame.
14774 (w32_display_info): Add terminal.
14775 (w32_sys_ring_bell, x_delete_display): Declare here.
14776
14777 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
14778
14779 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
14780
147812007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
14782
14783 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
14784 Fix get_named_tty calls for the controlling tty.
14785
147862007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
14787
14788 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
14789
147902007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
14791
14792 * term.c (tty_insert_glyphs): Add missing first parameter.
14793
147942007-08-29 Károly Lőrentey <karoly@lorentey.hu>
14795
14796 * buffer.c (Fbuffer_list, Fbury_buffer):
14797 Take frame->buried_buffer_list into account.
14798
14799 * cm.c (current_tty): New variable, for cmputc().
14800 (cmputc): Use it.
14801 (cmcheckmagic): Add tty parameter, look up terminal streams there.
14802 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
14803 (cmgoto): Add tty parameter. Pass it on to calccost().
14804 Use emacs_tputs() instead of tputs().
14805
14806 * cm.h (emacs_tputs): New macro to set current_tty, and then call
14807 tputs().
14808 (current_tty): New variable, for cmputc().
14809 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
14810
14811 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
14812 (internal_condition_case, internal_condition_case_1)
14813 (internal_condition_case_2): Don't abort when x_catching_errors.
14814
14815 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
14816 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
14817 prevent crashes caused by bogus longjmps in read_char.
14818
14819 * keymap.h (Fset_keymap_parent): Add EXFUN.
14820
14821 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
14822 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
14823 Remove redundant definition.
14824
14825 * macfns.c (x_set_mouse_color, x_make_gc):
14826 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14827
14828 * w32term.c (x_free_frame_resources):
14829 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14830 (w32_initialize): Use the accessor macros for terminal characteristics.
14831
14832 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
14833 Use the accessor macros for terminal characteristics.
14834 * msdos.c (internal_terminal_init): Use the accessor macros for
14835 terminal characteristics.
14836 (ScreenVisualBell, internal_terminal_init):
14837 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14838
14839 * termopts.h (no_redraw_on_reenter): Declare.
14840
14841 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
14842 (mark_terminals, mark_ttys): Declare.
14843 (Fgarbage_collect): Call them.
14844 (mark_object): Mark buried_buffer_list.
14845
14846 * prefix-args.c: Include stdlib.h for exit.
14847
14848 * syssignal.h: Add comment.
14849
14850 * indent.c: Include stdio.h.
14851
14852 * window.h (Vinitial_window_system): Declare.
14853 (Vwindow_system): Delete declaration.
14854
14855 * fontset.c (Finternal_char_font): Use FRAME_RIF.
14856
14857 * image.c (lookup_image): Don't initialize `c' until the xasserts
14858 have been run.
14859
14860 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
14861 FRAME_FOREGROUND_PIXEL.
14862
14863 * print.c (print_preprocess): Don't lose print_depth levels while
14864 iterating.
14865
14866 * widget.c (update_from_various_frame_slots):
14867 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14868
14869 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
14870 frames.
14871 (window_internal_height): Remove bogus make_number call.
14872 (init_window_once): Call make_terminal_frame with two zero parameters.
14873
14874 * fileio.c (Fread_file_name): Update comment.
14875
14876 * callint.c (Fcall_interactively):
14877 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
14878 Make sure it is correctly unwound.
14879
14880 * xsmfns.c (x_session_close): New function.
14881
14882 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
14883 Delete declarations.
14884
14885 * xterm.h: Remove declaration for x_fully_uncatch_errors.
14886 (x_output): Remove background_pixel and foreground_pixel fields.
14887 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
14888 (x_delete_device, x_session_close): Declare.
14889
14890 * lread.c: Include setjmp.h. Update declaration of `read_char'.
14891 (read_filtered_event): Call `read_char' with a local
14892 `wrong_kboard_jmpbuf'.
14893
14894 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
14895 Don't call single_kboard_state. Use FRAME_RIF.
14896
14897 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
14898 systems.
14899
14900 * lisp.h (set_process_environment): Rename to `set_global_environment'.
14901 (Fframe_with_environment, Fset_input_meta_mode)
14902 (Fset_quit_char): EXFUN.
14903 (x_create_device, tty_output, terminal, tty_display_info): Declare.
14904 (init_sys_modes, reset_sys_modes): Update prototypes.
14905 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
14906
14907 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
14908 Vlocal_key_translation_map, and Vkeyboard_translate_table.
14909 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
14910 Delete declarations.
14911 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
14912 (temporarily_switch_to_single_kboard, tty_read_avail_input):
14913 New declarations.
14914
14915 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
14916 already does that during init_display(). Call syms_of_keymap
14917 before syms_of_keyboard. Call `syms_of_terminal'.
14918 Call set_initial_environment, not set_process_environment.
14919 (shut_down_emacs): Call reset_all_sys_modes() instead of
14920 reset_sys_modes().
14921
14922 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
14923 (internal_resolve_face_name, resolve_face_name_error): New functions.
14924 (resolve_face_name): Protect against loops and errors thrown by Fget.
14925 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
14926 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
14927
14928 * scroll.c: Replace CURTTY() with local variables throughout the
14929 file (where applicable).
14930 (calculate_scrolling, calculate_direct_scrolling)
14931 (scrolling_1, scroll_cost): Use the accessor macros for terminal
14932 characteristics.
14933
14934 * keymap.c (Vfunction_key_map): Remove.
14935 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
14936 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
14937 (Vkey_translation_map): Remove.
14938 (syms_of_keymap): Remove DEFVAR for key-translation-map.
14939 (Fdescribe_buffer_bindings)
14940 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
14941 Update for terminal-local key-translation-map.
14942
14943 * Makefile.in (callproc.o): Update dependencies.
14944 (lisp, shortlisp): Add termdev.elc.
14945 (obj): Add terminal.o.
14946 (terminal.o): Add dependencies.
14947 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
14948 (data.o, fns.o): Add termhooks.h dependency.
14949 (SOME_MACHINE_LISP): Add dnd.elc.
14950 (minibuf.o): Fix typo.
14951 Update dependencies.
14952
14953 * data.c (do_symval_forwarding, store_symval_forwarding)
14954 (find_symbol_value): Use the selected frame's keyboard, not
14955 current_kboard.
14956
14957 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
14958 Vwindow_system.
14959
14960 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
14961 Fmenu_bar_open.
14962 (syms_of_xmenu): Update defsubr.
14963 (mouse_position_for_popup, Fx_popup_menu)
14964 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
14965 (set_frame_menubar, free_frame_menubar)
b97439ce 14966 (create_and_show_popup_menu, xmenu_show)
aac0c6e3
MR
14967 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
14968 an X frame.
14969
14970 * xselect.c (x_own_selection): Abort if not an X frame.
14971 (some_frame_on_display): Check if it is an X frame.
14972 (x_handle_selection_clear): Deal with MULTI_KBOARD.
14973
14974 * coding.c: Include frame.h and termhooks.h.
14975 (terminal_coding, keyboard_coding): Delete.
14976 (Fset_terminal_coding_system_internal)
14977 (Fset_keyboard_coding_system_internal)
14978 (Fkeyboard_coding_system)
14979 (Fterminal_coding_system): Add a terminal parameter.
14980 Get terminal_coding from the terminal.
14981 (init_coding_once): Don't call setup_coding_system here.
14982
14983 * dispextern.h (set_scroll_region, turn_off_insert)
14984 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
14985 (tty_clear_end_of_line, tty_setup_colors)
14986 (delete_tty, updating_frame)
14987 (produce_special_glyphs, produce_glyphs, write_glyphs)
14988 (insert_glyphs): Remove.
14989 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
14990 (tty_turn_off_highlight, get_tty_size): Add declaration.
14991 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
14992
14993 * frame.h (enum output_method): Add output_initial.
14994 (struct x_output): Delete.
14995 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
14996 Access foreground_pixel and background_pixel directly from the frame.
14997 (tty_display): Delete.
14998 (struct frame): Add buried_buffer_list, foreground_pixel,
14999 background_pixel and terminal. Delete kboard.
15000 (union output_data): Add tty.
15001 (FRAME_KBOARD): Get the kboard from the terminal.
15002 (FRAME_INITIAL_P): New macro.
15003 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
15004 (Qterm_environment_variable, Qdisplay_environment_variable)
15005 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
15006 New declarations.
15007
15008 * termchar.h (tty_output, tty_display_info): New structures.
15009 (tty_list): Declare.
15010 (FRAME_TTY, CURTTY): New macros.
15011 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
15012 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
15013 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
15014 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
15015
15016 * callproc.c: Include frame.h and termhooks.h, for terminal
15017 parameters.
15018 (add_env): New function.
15019 (child_setup): Use it.
15020 (child_setup, getenv_internal): Handle the new Vprocess_environment.
15021 (getenv_internal): Fix get_terminal_param call.
15022 (Fgetenv_internal, egetenv): Update doc.
15023 (syms_of_callproc): Initialize Vprocess_environment to nil.
15024 Register and initialize them. Remove obsolete defvars. Update doc
15025 strings.
15026 (child_setup): Handle Vlocal_environment_variables.
15027 (getenv_internal): Add terminal parameter.
15028 Handle Vlocal_environment_variables.
15029 (Fgetenv_internal): Add terminal parameter.
15030 (child_setup, getenv_internal, Fgetenv_internal): Store the local
15031 environment in a frame (not terminal) parameter. Update doc strings.
15032 (set_initial_environment): Rename from set_global_environment.
15033 Store Emacs environment in initial frame parameter.
15034
15035 * xdisp.c (redisplay_internal): Update references to
15036 `previous_terminal_frame'.
15037 (display_mode_line, Fformat_mode_line): Replace calls to
15038 `push_frame_kboard' with `push_kboard'.
15039 (get_glyph_string_clip_rects): Add extra parentheses and
15040 braces to prevent compiler warnings.
15041 (calc_pixel_width_or_height): Add xassert to check that the
15042 frame is alive. Don't call `lookup_image' on a termcap frame.
15043 (message2_nolog, message3_nolog, redisplay_internal)
15044 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
15045 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
15046 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
15047 (Fx_display_pixel_width, Fx_display_pixel_height)
15048 (Fx_display_planes, Fx_display_color_cells)
15049 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
15050 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
15051 (Fx_display_backing_store, Fx_display_visual_class)
15052 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
15053 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
15054
15055 * xfns.c (x_set_foreground_color x_set_background_color)
15056 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
15057 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15058 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
15059 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
15060 terminal that is being deleted.
15061 (Fx_create_frame): Use `store_frame_param' to set `window-system'
15062 frame parameter, and make sure it overrides any user-supplied setting.
15063 (Fx_close_connection, Fx_synchronize): Unify argument names with
15064 the rest of the DEFUNs.
15065
15066 * dispnew.c (Fsend_string_to_terminal): Update call to
15067 `get_tty_terminal'.
15068 (Fredraw_frame, Fsend_string_to_terminal)
15069 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
15070 FRAME_TERMCAP_P and FRAME_TTY.
15071 (window_change_signal): Don't believe width/height values that are
15072 impossibly small.
15073 (Vinitial_window_system): Rename from Vwindow_system.
15074 (termscript, Wcm, rif): Delete.
15075
15076 * termhooks.h (struct terminal): New struct containing the
15077 previously global text display hooks and new members NAME,
15078 DELETED and PARAM_ALIST.
15079 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
15080 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
15081 (FRAME_RIF): New macros.
15082 (get_terminal_param, get_device): New declarations.
15083 (termscript): Delete declaration.
15084
15085 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
15086 (XTflash, x_free_frame_resources, x_scroll_bar_create)
15087 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
15088 FRAME_FOREGROUND_PIXEL.
15089 (x_fully_uncatch_errors): Disable definition.
15090 (x_scroll_bar_expose): Fix reference to foreground pixel.
15091 (XTread_socket): Disable loop on all X displays.
15092 (x_delete_terminal): Don't set terminal->deleted and let
15093 delete_terminal delete the frames on the terminal.
15094 (x_delete_display): Doc update to reflect changes in
15095 delete_terminal.
15096 (x_display_info) <terminal>: Move member earlier in the struct.
15097 (deleting_tty): Remove old variable.
15098 (Fsuspend_tty): Call clear_tty_hooks.
15099 (Fresume_tty, init_tty): Call set_tty_hooks.
15100 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
15101 errors on X frames.
15102 (x_catch_errors_unwind): Abort if x_error_message is NULL.
15103 (handle_one_xevent): Initialize `f' to NULL.
15104 (x_delete_terminal, x_create_terminal): New functions.
15105 (XTset_terminal_modes, XTreset_terminal_modes)
15106 (XTread_socket, x_connection_closed, x_term_init)
15107 (x_term_init, x_delete_display): Add terminal parameter.
15108 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
15109 X connections.
15110
15111 * frame.c: Include termchar.h.
15112 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
15113 (Qwindow_system, Qenvironment, Qterm_environment_variable)
15114 (Qdisplay_environment_variable): New vars.
15115 (Fframep): Deal with output_initial.
15116 (Fframe-live-p): Doc fix.
15117 (Fwindow-system): New function.
15118 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
15119 (make_terminal_frame): Don't create frames on a terminal that is
15120 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15121 (store_frame_param): Check for found_for_frame before calling XFRAME.
15122 (Fmake_terminal_frame): Handle NULL tty names correctly.
15123 (syms_of_frame): Enhance doc string of `default-frame-alist'.
15124 (Fdelete_frame): Remove unused variable `count'. Don't allow other
15125 frames to refer to a deleted frame in their 'environment parameter.
15126 (Fframe_with_environment): New function.
15127 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
15128 (get_future_frame_param): New function.
15129 (Fmake_terminal_frame): Use it.
15130 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
15131
15132 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
15133 * sysdep.c (reset_sys_modes): Update for renames.
15134
15135 * keyboard.c (tty_read_avail_input): New function.
15136 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
15137 (syms_of_keyboard): Defsubr them.
15138 (Fset_input_meta_mode, Fset_quit_char): New functions.
15139 (Fset_input_mode): Split to above functions.
15140 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
15141 parameter. Use it in call to `read_char'.
15142 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
15143 Set wrong_kboard_jmpbuf correctly in recursive calls.
15144 Use current_kboard to access Vkeyboard_translate_table.
15145 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
15146 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
15147 Update longjmp invocations. Remember the original current_kboard,
15148 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
15149 changes it. Comment out unnecessary calls to
15150 `record_single_kboard_state' and `any_kboard_state'.
15151 Update recursive calls.
15152 (wrong_kboard_jmpbuf): Remove global variable.
15153 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
15154 Handle deleted interrupted_kboards correctly; that is a legal
15155 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
15156 and read_char calls. Abort if interrupted_kboard died in read_char.
15157 (any_kboard_state, single_kboard_state)
15158 (push_frame_kboard): Remove function.
15159 (pop_kboard): Switch out of single_kboard mode if the kboard has
15160 been deleted. Remove unused variable. Help debugging by not
15161 changing current_kboard unnecessarily. Set current_kboard to the
15162 kboard of the selected frame when the stored kboard object has
15163 been deleted before pop_kboard.
15164 (temporarily_switch_to_single_kboard): Change first parameter to a
15165 frame pointer. Throw an error when caller wants to change kboards
15166 while in single_kboard mode. Don't push_kboard if we weren't in
15167 single kboard state. Don't pop_kboard if we popped into any
15168 kboard state.
15169 (restore_kboard_configuration): Abort if pop_kboard changed the
15170 kboard in single_kboard mode. Call pop_kboard only after setting
15171 up single_kboard mode.
15172 (Frecursive_edit): Switch to single_kboard mode only in nested
15173 command loops.
15174 (cmd_error, command_loop, command_loop_1, timer_check):
15175 Comment out unnecessary call to `any_kboard_state' and
15176 `record_single_kboard_state'.
15177 (delete_kboard): Exit single_kboard mode if we have just deleted
15178 that kboard. Use FRAME_KBOARD.
15179 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
15180 `fatal_error_signal'.
15181 (record_single_kboard_state): Don't push_kboard if we weren't in
15182 single kboard state. Don't pop_kboard if we popped into any
15183 kboard state.
15184 (push_frame_kboard): Rename to push_kboard.
15185 (kbd_buffer_get_event): Use FRAME_TERMINAL.
15186 (read_avail_input): Read input from all terminals.
15187 (mark_kboards): Also mark Vkeyboard_translate_table.
15188 (kbd_buffer_store_event_hold): Simplify condition.
15189 (read_key_sequence): Reinitialize fkey and keytran at each replay.
15190 (Vkeyboard_translate_table): Move to struct kboard.
15191 (init_kboard): Initialize Vkeyboard_translate_table.
15192 (syms_of_keyboard): Use DEFVAR_KBOARD to define
15193 Vkeyboard_translate_table. Update doc strings. Update docs of
15194 local-function-key-map and function-key-map.
15195
15196 * terminal.c: New file.
15197
15198 * term.c: Include errno.h.
15199 (Vring_bell_function, device_list, initial_device)
15200 (next_device_id, ring_bell, update_begin, update_end)
15201 (set_terminal_window, cursor_to, raw_cursor_to)
15202 (clear_to_end, clear_frame, clear_end_of_line)
15203 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
15204 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
15205 (syms_of_term): Move their initialization to terminal.c.
15206 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
15207 (Ftty_display_color_cells)
15208 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
15209 (clear_tty_hooks, set_tty_hooks)
15210 (init_tty, maybe_fatal): New functions.
15211 (Ftty_type): Return nil if terminal is not on a tty instead of
15212 throwing an error. Doc update.
15213 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
15214 Doc update. Initialize new subrs and variables.
15215 (delete_tty): Use terminal->deleted.
15216 (tty_set_terminal_modes): Rename from set_terminal_modes.
15217 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
15218 (set_scroll_region): Rename to `tty_set_scroll_region'.
15219 (turn_on_insert): Rename to `tty_turn_on_insert'.
15220 (turn_off_insert): Rename to `tty_turn_off_insert'.
15221 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
15222 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
15223 (toggle_highligh): Rename to `tty_toggle_highlight'.
15224 (background_highlight): Rename to `tty_background_highlight'.
15225 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
15226 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
15227 (tty_set_scroll_region, tty_background_highlight)
15228 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
15229 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
15230 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
15231 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
15232 Add static modifier.
15233 (tty_reset_terminal_modes, tty_set_terminal_window)
15234 (tty_set_scroll_region, tty_background_highlight)
15235 (tty_highlight_if_desired, tty_cursor_to)
15236 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
15237 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
15238 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
15239 renames.
15240
152412007-08-28 Jan Djärv <jan.h.d@swipnet.se>
15242
15243 * keyboard.c: Qrtl is new.
15244 (parse_tool_bar_item): Handle :rtl keyword.
15245 (syms_of_keyboard): Intern :rtl keyword.
15246
15247 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
15248
15249 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
15250 so no Lisp code is executed.
15251 (file_for_image, find_rtl_image): New functions.
15252 (xg_get_image_for_pixmap): Use file_for_image.
15253 (update_frame_tool_bar): If direction is RTL, use RTL image if
15254 defined. Use Gtk stock images if defined.
15255
152562007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15257
15258 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
15259 for nonexistent or zero-width glyph in composition glyph.
15260
152612007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
15262
15263 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
15264
15265 * xdisp.c (Finvisible_p): New function.
15266 (syms_of_xdisp): defsubr it.
15267
152682007-08-24 Juanma Barranquero <lekktu@gmail.com>
15269
15270 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
15271 Doc fixes.
15272
152732007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15274
15275 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
15276
152772007-08-24 Martin Rudalics <rudalics@gmx.at>
15278
15279 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
15280 whether decoding has modified buffer contents.
15281
152822007-08-24 Jason Rumney <jasonr@gnu.org>
15283
15284 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
15285 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
15286 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
15287 (init_svg_functions) [HAVE_NTGUI]: New function.
15288 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
15289 (svg_load_image): Use them.
15290 (svg_load_image) [HAVE_NTGUI]: Implement background.
15291
152922007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15293
15294 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
15295 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
15296 (LIBX): Remove @RSVG_LIBS@.
15297 (LIBES): Add $(RSVG_LIBS).
15298
15299 * image.c (svg_load_image): Blend with specified background if exists.
15300 Use IMAGE_BACKGROUND. Add Mac OS Support.
15301
15302 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
15303 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
15304 Remove macros.
15305 [MAC_OSX] (socket_callback): Do nothing.
15306 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
15307 ReceiveNextEvent.
15308 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
15309 socket_callback.
15310 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
15311
153122007-08-22 Glenn Morris <rgm@gnu.org>
15313
15314 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
15315
153162007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
15317
15318 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
15319
15320 * image.c: Add support for SVG images. Some additional comments
15321 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
15322 (svg_image_p): New function to test for SVG image.
15323 (svg_load): New function to load SVG image.
15324 (svg_load_image): New function, helper for svg_load.
15325 (Qsvg): New Lisp_object.
15326 (svg_keyword_index): New enum.
15327 (svg_format): New static `image_keyword' struct.
15328 (svg_type): New static `image_type' struct.
15329 (librsvg/rsvg.h): Include it.
15330
153312007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
15332
15333 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
15334
153352007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
15336
15337 * lread.c (Qold_style_backquotes): New var.
15338 (syms_of_lread): Init and staticpro it.
15339 (load_warn_old_style_backquotes): New fun.
15340 (Fload): Use them to warn about old style backquotes.
15341 (end_of_file_error, Fload): Remove unused vars.
15342
15343 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
15344
15345 * lread.c (Vold_style_backquotes): New var.
15346 (syms_of_lread): Init and export it to Elisp.
15347 (read1): Set it when we find an old-style (back)quote.
15348
153492007-08-22 Jason Rumney <jasonr@gnu.org>
15350
15351 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
15352
153532007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
15354
15355 * puresize.h (BASE_PURESIZE): Increase to 1140000.
15356
153572007-08-19 Richard Stallman <rms@gnu.org>
15358
15359 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
15360
153612007-08-19 Andreas Schwab <schwab@suse.de>
15362
15363 * alloc.c (pure): Round PURESIZE up.
15364
153652007-08-17 Jan Djärv <jan.h.d@swipnet.se>
15366
15367 * xterm.c (handle_one_xevent): Remove check that mouse click is in
15368 active frame.
15369
153702007-08-16 Richard Stallman <rms@gnu.org>
15371
15372 * eval.c (Fcommandp): Add parens to clarify.
15373
15374 * minibuf.c (Fall_completions): Use enum for type of table.
15375
15376 * emacs.c (USAGE2): Improve text.
15377
153782007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
15379
15380 * term.c (tty_default_color_capabilities): Declare static
15381 variables in file scope, to avoid HPUX compiler problem.
15382
153832007-08-13 Jan Djärv <jan.h.d@swipnet.se>
15384
15385 * gtkutil.c (update_frame_tool_bar): Use -1 as index
15386 to gtk_toolbar_insert.
15387
153882007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
15389
15390 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
15391
15392 * insdel.c (reset_var_on_error): New fun.
15393 (signal_before_change, signal_after_change):
15394 Use it to reset (after|before)-change-functions to nil in case of error.
15395 Bind inhibit-modification-hooks to t.
15396 Don't bind (after|before)-change-functions to nil while they run.
15397
153982007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15399
15400 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
15401 filling pixmap with stippled background.
15402
154032007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15404
15405 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
15406 Don't use invisible frame as parent window for repositioning.
15407
154082007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
15409
15410 * print.c (new_backquote_output): Rename from old_backquote_output.
15411 (print): Inverse its logic (according to its name) so as to match the
15412 behavior of new_backquote_flag in lread.c.
15413
154142007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15415
15416 * gmalloc.c (posix_memalign): New function.
15417
15418 * macterm.c (frame_highlight, frame_unhighlight): Don't call
15419 ActivateControl/DeactivateControl here.
15420 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
15421 frame-notice-user-settings is non-nil.
15422 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
15423 for kEventParamFMFontStyle.
15424 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
15425 mac_pass_command_to_system and mac_pass_control_to_system here.
15426 (XTread_socket): Call ActivateControl/DeactivateControl here.
15427 (XTread_socket) [TARGET_API_MAC_CARBON]:
15428 Check mac_pass_command_to_system and mac_pass_control_to_system here.
15429 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
15430 for window repositioning.
15431
154322007-08-08 Glenn Morris <rgm@gnu.org>
15433
15434 * Replace `iff' in doc-strings and comments.
15435
154362007-08-07 Chong Yidong <cyd@stupidchicken.com>
15437
15438 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
15439
154402007-08-07 Martin Rudalics <rudalics@gmx.at>
15441
15442 * fileio.c (Finsert_file_contents): Run format-decode and
15443 after_insert_file_functions on entire buffer when REPLACE is
15444 non-nil and inhibit modification_hooks and point_motion_hooks.
15445 For consistency, run after_insert_file_functions iff something
15446 got inserted. Move signal_after_change and update_compositions
15447 after code running after_insert_file_functions. Make sure that
15448 undo_list doesn't record intermediate steps of the decoding process.
15449
154502007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15451
15452 * emacs.c (main)
15453 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
15454 Call malloc_enable_thread on interactive startup.
15455
15456 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
15457 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
15458 [USE_PTHREAD]: Conditionalize with it.
15459 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
15460 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
15461 New functions.
15462
154632007-08-06 Chong Yidong <cyd@stupidchicken.com>
15464
15465 * xdisp.c (redisplay_window): When restoring original buffer
15466 position, make sure it is still valid.
15467
15468 * image.c (png_load): Ignore png-supplied background color.
15469
154702007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15471
15472 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
15473 Use kCFAbsoluteTimeIntervalSince1970.
15474
15475 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
15476 New variable.
15477 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
15478 event loop should be quit.
15479 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
15480 Quit dialog event loop if quit_dialog_event_loop is set.
15481
15482 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
15483 (Selection): New typedef. Use instead of ScrapRef.
15484 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
15485 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
15486 (mac_clear_selection): Rename from clear_scrap.
15487 (get_flavor_type_from_symbol): New argument SEL and subsume function of
15488 scrap_has_target_type. All uses changed.
15489 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
15490 (mac_selection_has_target_p): New functions.
15491 (mac_put_selection_value): Rename from put_scrap_string.
15492 (mac_get_selection_value): Rename from get_scrap_string.
15493 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
15494 (put_scrap_private_timestamp, scrap_has_target_type)
15495 (get_scrap_private_timestamp): Remove functions.
15496 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
15497 (x_own_selection, x_get_local_selection):
15498 Use mac_valid_selection_value_p.
15499 (x_own_selection): Don't use put_scrap_private_timestamp.
15500 Record OWNERSHIP-INFO into Vselection_alist instead.
15501 (x_get_local_selection): Don't check type if request is local.
15502 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
15503 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
15504
155052007-08-04 Jan Djärv <jan.h.d@swipnet.se>
15506
15507 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
15508 add comment explaining why.
15509
155102007-08-03 Richard Stallman <rms@gnu.org>
15511
15512 * fileio.c (Fvisited_file_modtime): Use make_time.
15513
155142007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
15515
15516 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
15517 build.
15518
155192007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
15520
15521 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
15522
155232007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
15524
15525 * puresize.h (BASE_PURESIZE): Increase to 1130000.
15526
155272007-07-30 Richard Stallman <rms@gnu.org>
15528
15529 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
15530
155312007-07-29 Jan Djärv <jan.h.d@swipnet.se>
15532
15533 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
15534
155352007-07-28 Nick Roberts <nickrob@snap.net.nz>
15536
15537 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
15538 remote default-directory.
15539
15540 * buffer.c (mode-line-format): Update doc string.
15541
155422007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15543
15544 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
15545 scroll bar gap.
15546 (x_scroll_bar_create): Set bar->fringe_extended_p.
15547 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
15548 on frame edge. Check fringe background extension. Don't clear
15549 extended fringe background area.
15550
15551 * w32term.h (struct scroll_bar): New member fringe_extended_p.
15552 (w32_fill_area): Enclose multiple statements with do ... while (0).
15553
15554 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
15555 Extend fringe background to scroll bar gap.
15556 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
15557 Set bar->fringe_extended_p.
15558 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
15559 Put leftmost/rightmost scroll bars on frame edge. Check fringe
15560 background extension. Don't clear extended fringe background area.
15561
15562 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
15563 New member fringe_extended_p.
15564
155652007-07-25 Glenn Morris <rgm@gnu.org>
15566
15567 * Relicense all FSF files to GPLv3 or later.
15568
15569 * COPYING: Switch to GPLv3.
15570
155712007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
15572
15573 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
15574
15575 * data.c (Finteractive_form): Check for the presence of an
15576 `interactive-form' symbol property more thoroughly.
15577
15578 * data.c (Finteractive_form): Use an `interactive-form' property if
15579 present, analogous to the function-documentation property.
15580
155812007-07-24 Jason Rumney <jasonr@gnu.org>
15582
15583 * w32fns.c (x_real_positions): Get real position from OS instead of
15584 calculating it.
15585
155862007-07-23 Jason Rumney <jasonr@gnu.org>
15587
15588 * filelock.c (current_lock_owner): Allow for @ sign in username.
15589
155902007-07-22 Nick Roberts <nickrob@snap.net.nz>
15591
15592 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
15593 remote default-directory.
15594
15595 * buffer.c (mode-line-format): Describe above case in doc string.
15596
155972007-07-20 Eli Zaretskii <eliz@gnu.org>
15598
15599 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
15600 Define if not defined.
15601
156022007-07-18 Jason Rumney <jasonr@gnu.org>
15603
15604 * w32proc.c (w32_executable_type): Handle 64 bit executables.
15605
156062007-07-18 Richard Stallman <rms@gnu.org>
15607
15608 * data.c (Fsetq_default): Doc fix.
15609
15610 * eval.c (Fsetq): Doc fix.
15611
156122007-07-18 Juanma Barranquero <lekktu@gmail.com>
15613
15614 * coding.c (Ffind_operation_coding_system):
15615 * eval.c (For, Fand): Doc fixes.
15616 Reported by Johan Bockgård.
15617
156182007-07-18 Jan Djärv <jan.h.d@swipnet.se>
15619
15620 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
15621
15622 * xterm.h: Declare x_ewmh_activate_frame.
15623
15624 * xterm.c (x_ewmh_activate_frame): New function.
15625 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
15626
156272007-07-17 Martin Rudalics <rudalics@gmx.at>
15628
15629 * window.c (Fdisplay_buffer): If largest or LRU window is the
15630 only window, split it even if it is not eligible for splitting.
15631 This restores the original behavior broken by the 2007-07-15
15632 change.
15633
156342007-07-17 Glenn Morris <rgm@gnu.org>
15635
15636 * abbrev.c (abbrev_check_chars): New function.
15637 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
15638 Call abbrev_check_chars to check abbrev characters are word
15639 constituents. Doc fix.
15640
156412007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
15642
15643 * process.c (Fstart_process, Fmake_network_process)
15644 (read_process_output): Fix up last changes.
15645
156462007-07-16 Eli Zaretskii <eliz@gnu.org>
15647
15648 * makefile.w32-in (clean): Don't delete *~.
15649
156502007-07-16 Andreas Schwab <schwab@suse.de>
15651
15652 * window.c (Fdisplay_buffer): Use NILP.
15653 (Fset_window_scroll_bars): Likewise.
15654
156552007-07-15 Martin Rudalics <rudalics@gmx.at>
15656
15657 * window.c (window_min_size_2): New function.
15658 (window_min_size_1, size_window, Fdisplay_buffer)
15659 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
15660 windows without mode- or header-lines when window-min-height is
15661 too small.
15662 (size_window): Reset nodelete_p after testing it, following an
15663 earlier note by Kim F. Storm.
15664 (display_buffer): Do not set split_height_threshold to twice the
15665 value of window_min_height to avoid changing the value of a
15666 customizable variable. Rather explicitly check whether the
15667 height of the window that shall be splitted is at least as large
15668 as split_height_threshold.
15669 (Fwindow_full_width_p): New defun.
15670 (syms_of_window): Defsubr it.
15671
15672 * window.h: Add EXFUN for Fwindow_full_width_p.
15673
156742007-07-14 Jason Rumney <jasonr@gnu.org>
15675
15676 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
15677
156782007-07-14 Richard Stallman <rms@gnu.org>
15679
15680 * eval.c (maybe_call_debugger): New function.
15681 (find_handler_clause): Use maybe_call_debugger.
15682 Call it when the handler says `debug'.
15683 Eliminate DEBUGGER_VALUE_PTR.
15684 (Fsignal): Eliminate debugger_value.
15685 (Qdebug): New variable.
15686 (syms_of_eval): Initialize it.
15687
156882007-07-14 Juanma Barranquero <lekktu@gmail.com>
15689
15690 * eval.c (Fprogn):
15691 * keyboard.c (Ftrack_mouse):
15692 * print.c (Fwith_output_to_temp_buffer):
15693 * window.c (Fsave_window_excursion): Doc fix.
15694
156952007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
15696
15697 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
15698
156992007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
15700
15701 * process.h (struct Lisp_Process): Turn slots infd, outfd,
15702 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
15703 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
15704 read_output_delay, and read_output_skip from Lisp_Objects to ints.
15705 Remove unused encoding_carryover.
15706 * process.c: Adjust all functions accordingly.
15707
157082007-07-12 Richard Stallman <rms@gnu.org>
15709
15710 * term.c: Include unistd.h only if HAVE_UNISTD_H.
15711
157122007-07-11 Jason Rumney <jasonr@gnu.org>
15713
15714 * makefile.w32-in (LIBS): Include OLE32.
15715
15716 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
15717 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
15718
157192007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
15720
15721 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
15722 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
15723 from a Lisp_Object into a bare pointer.
15724 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
15725 Adjust the code correspondingly.
15726
15727 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
15728
15729 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
15730 (term_show_mouse_face): Remove unused var `j'.
15731 (handle_one_term_event): Remove unused vars `i' and `j'.
15732 Don't cast return value of ttyname since it's not necessary.
15733
157342007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
15735
15736 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
15737 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
15738
15739 * fns.c (map_char_table): Use an array of int for `indices' rather than
15740 an array of Lisp_Objects (which are only ever integers anyway).
15741 (Fmap_char_table): Update caller.
15742 * lisp.h: Update prototype.
15743 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
15744 * fontset.c (Ffontset_info):
15745 * casetab.c (set_case_table): Update callers.
15746
15747 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
15748
15749 * keymap.c (struct accessible_keymaps_data)
15750 (struct where_is_internal_data): New structures.
15751 (accessible_keymaps_1, where_is_internal_1): Use them to change
15752 interface to adhere to the one used by map_keymap.
15753 (Faccessible_keymaps, where_is_internal): Use map_keymap.
15754 (accessible_keymaps_char_table, where_is_internal_2): Remove.
15755
15756 * keymap.h (map_keymap_function_t): More informative prototype.
15757
157582007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
15759
15760 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
15761 (looking_at_1): Don't change search_regs and last_thing_searched
15762 if `inhibit-changing-match-data' is non-nil.
15763 (string_match_1, search_buffer, set_search_regs): Likewise.
15764 (syms_of_search): Add Lisp level definition for
15765 `inhibit-changing-match-data' and set it to nil.
15766 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
15767 start and end of the match, instead of using values in search_regs.
15768
157692007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
15770
15771 * minibuf.c (Fcompleting_read): New value `confirm-only'
15772 for `require-match'.
15773
157742007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
15775
15776 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
15777 part of the 2007-06-27 change to syms_of_fileio.
15778
157792007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15780
15781 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
15782 Check WINDOWP before using XWINDOW. Consolidate return statements.
15783
157842007-06-27 Richard Stallman <rms@gnu.org>
15785
15786 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
15787
157882007-06-27 Juanma Barranquero <lekktu@gmail.com>
15789
15790 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
15791
157922007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15793
15794 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
15795 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
15796 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
15797 (_free_internal, memalign): Use them.
15798 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
15799 Initialize to PTHREAD_MUTEX_INITIALIZER.
15800 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
15801 (morecore_nolock): Rename from morecore. All uses changed.
15802 Use only nolock versions of internal allocation functions.
15803 (_malloc_internal_nolock, _realloc_internal_nolock)
15804 (_free_internal_nolock): New functions created from
15805 _malloc_internal, _realloc_internal, and _free_internal.
15806 (_malloc_internal, _realloc_internal, _free_internal): Use them.
15807 Copy hook value to automatic variable before its use.
15808 (memalign): Copy hook value to automatic variable before its use.
15809
158102007-06-26 Kenichi Handa <handa@m17n.org>
15811
15812 * coding.c (Ffind_operation_coding_system): Docstring improved.
15813 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
15814
158152007-06-25 David Kastrup <dak@gnu.org>
15816
15817 * keymap.c (Fcurrent_active_maps): Add `position' argument.
15818 (Fwhere_is_internal): Adjust call to `current-active-maps' to
15819 cater for additional parameter.
15820
15821 * keymap.h: Adjust number of parameters to `current-active-maps'.
15822
15823 * doc.c (Fsubstitute_command_keys): Adjust call of
15824 `current-active-maps'.
15825
158262007-06-25 David Kastrup <dak@gnu.org>
15827
15828 * callint.c (Fcall_interactively): Make the parsing of interactive
15829 specs somewhat more readable.
15830
158312007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15832
15833 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
15834 to scroll bar gap also when bitmap fills fringe. Draw only foreground
15835 if extended background has already been filled.
15836
158372007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15838
15839 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
15840 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
15841
15842 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
15843 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
15844 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
15845 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
15846 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
15847 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
15848 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
15849 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
15850 Run timers during dialog popup.
15851 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
15852
158532007-06-21 Jason Rumney <jasonr@gnu.org>
15854
15855 * image.c (convert_mono_to_color_image): Swap fore and background.
15856
158572007-06-20 Jason Rumney <jasonr@gnu.org>
15858
15859 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
15860 (w32_free_bdf_font): Unmap memory not handle.
15861
158622007-06-20 Sam Steingold <sds@gnu.org>
15863
15864 * gmalloc.c (__morecore): Fix the declaration to comply with the
15865 definition.
15866
158672007-06-20 Juanma Barranquero <lekktu@gmail.com>
15868
15869 * w32term.c (w32_delete_display): Remove leftover declaration.
15870 (w32_define_cursor, w32_initialize): Make static.
15871
15872 * w32.c (_wsa_errlist): Fix typo in error message.
15873 (init_environment): Ignore any environment variable from the
15874 registry having a null value.
15875
158762007-06-20 Glenn Morris <rgm@gnu.org>
15877
15878 * Makefile.in (LIBGIF): Default to -lgif.
15879
158802007-06-17 Jason Rumney <jasonr@gnu.org>
15881
15882 * w32menu.c (add_menu_item): Don't use multibyte string functions on
15883 unicode strings.
15884
158852007-06-16 Juanma Barranquero <lekktu@gmail.com>
15886
15887 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
15888 Fix typo in docstring.
15889
158902007-06-16 Eli Zaretskii <eliz@gnu.org>
15891
15892 * w32menu.c (add_menu_item): Escape `&' characters in menu items
15893 and their keybindings.
15894
158952007-06-15 Chong Yidong <cyd@stupidchicken.com>
15896
15897 * composite.c (update_compositions): Fix last fix.
15898
158992007-06-14 Jason Rumney <jasonr@gnu.org>
15900
15901 * w32.c (get_process_times_fn): New function pointer.
15902 (globals_of_w32): Intialize it if present in kernel32.dll.
15903 (w32_get_internal_run_time): New function.
15904
15905 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
15906
159072007-06-14 Kenichi Handa <handa@etlken.m17n.org>
15908
15909 * composite.c (update_compositions): Check the validness of
15910 compositions.
15911
159122007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15913
15914 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
15915 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
15916
15917 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
15918 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
15919
15920 * macgui.h (USE_MAC_TOOLBAR): New define.
15921
15922 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
15923 Return immediately unless popup is activated.
15924
15925 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
15926 background to scroll bar gap.
15927 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
15928 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
15929 scroll bars on frame edge. Check fringe background extension.
15930 Don't clear extended fringe background area.
15931 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
15932 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
15933 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
15934 [USE_MAC_TOOLBAR]: New macros.
15935 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
15936 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
15937 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
15938 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
15939 [USE_MAC_TOOLBAR]: New functions.
15940 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
15941 manually if previous repositioning has failed.
15942 (mac_handle_keyboard_event): Use precomputed event kind.
15943 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
15944 as tool bar item click. Handle mouse movement over tool bar items.
15945
15946 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
15947 toolbar_win_gravity.
15948 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
15949 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
15950 Add externs.
15951
15952 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
15953 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
15954
159552007-06-14 Chong Yidong <cyd@stupidchicken.com>
15956
15957 * image.c (search_image_cache): Remove unused variable.
15958
159592007-06-13 Chong Yidong <cyd@stupidchicken.com>
15960
15961 * xfns.c, xmenu.c: Link to xaw3d if available.
15962
159632007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15964
15965 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
15966 frame_foreground and frame_background.
15967
15968 * image.c (lookup_image): Save frame foreground and background colors.
15969 (search_image_cache): Check if saved and current frame colors match.
15970
159712007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
15972
15973 * regex.c (regex_compile): Remove the `regnum' counter.
15974 Use bufp->re_nsub instead. Add support for \(?N:RE\).
15975
159762007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
15977
15978 * term.c: Include intervals.h to declare Fget_text_property.
15979
159802007-06-10 Jason Rumney <jasonr@gnu.org>
15981
15982 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
15983
159842007-06-08 Juanma Barranquero <lekktu@gmail.com>
15985
15986 * callint.c (Fcall_interactively):
15987 * editfns.c (Fdelete_and_extract_region):
15988 * fileio.c (Fread_file_name):
15989 * fns.c (Fmapconcat):
15990 * keyboard.c (cmd_error_internal):
15991 * keymap.c (Fkey_description):
15992 * lread.c (openp):
15993 * minibuf.c (read_minibuf):
15994 * search.c (wordify):
15995 * sunfns.c (sel_read):
15996 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
15997 * xfns.c (x_default_scroll_bar_color_parameter):
15998 * xmenu.c (menu_help_callback):
15999 * xselect.c (Fx_get_atom_name):
16000 * xterm.c (x_term_init): Use empty_unibyte_string.
16001
160022007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
16003
16004 * alloc.c (init_strings): Initialize canonical empty strings.
16005 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
16006 canonical empty string when the requested size is 0.
16007
16008 * emacs.c (empty_unibyte_string): Rename from empty_string.
16009 (empty_multibyte_string): New canonical empty string.
16010 (syms_of_emacs): Don't initialize empty_string.
16011
16012 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
16013 string, if appropriate.
16014 (empty_unibyte_string, empty_multibyte_string): New externs.
16015 (empty_string): Remove extern.
16016
16017 * lread.c (syms_of_lread): Use empty_unibyte_string.
16018
160192007-06-07 Jason Rumney <jasonr@gnu.org>
16020
16021 * s/ms-w32.h: Don't define HAVE_TZNAME.
16022
16023 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
16024
160252007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16026
16027 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
16028
16029 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
16030 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
16031
16032 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
16033 Don't call next handler.
16034 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
16035 Remove argument. Install handler to application.
16036 (set_frame_menubar): Don't change deep_p.
16037 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
16038 FRAME_OUTER_TO_INNER_DIFF_Y.
16039 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
16040 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
16041 [HAVE_DIALOGS]: New macros.
16042 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
16043 Use them.
16044 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
16045
16046 * macselect.c [MAC_OSX] (install_service_handler): Rename from
16047 init_service_handler. All callers changed. Return OSStatus value.
16048
16049 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
16050 All callers changed so as not to call SetPortWindowPort.
16051 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
16052 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
16053 mac_draw_string_common.
16054 (mac_draw_image_string_qd): Likewise.
16055 (mac_draw_string_common): Use them. Add INLINE.
16056 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
16057 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
16058 GetGlobalMouse.
16059 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
16060 and FRAME_OUTER_TO_INNER_DIFF_Y.
16061 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
16062 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
16063 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
16064 repositioning window to mac_handle_window_event.
16065 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
16066 saving window location to mac_handle_window_event
16067 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
16068 (install_menu_target_item_handler): Remove argument in extern.
16069 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
16070 Also accept command events.
16071 (do_keystroke): New function created from XTread_socket.
16072 (init_command_handler): Remove functions.
16073 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
16074 and save window location by kEventWindowShowing and kEventWindowHiding
16075 handlers here. Don't call next handler for window state change and
16076 focus events.
16077 (mac_handle_application_event, mac_handle_keyboard_event)
16078 [TARGET_API_MAC_CARBON]: New functions.
16079 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
16080 kEventWindowShowing and kEventWindowHiding events. Move installation
16081 of mouse, font, text input and menu target item handlers to
16082 install_application_handler.
16083 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
16084 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
16085 New function.
16086 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
16087 Register it.
16088 (XTread_socket) [TARGET_API_MAC_CARBON]:
16089 Consolidate SendEventToEventTarget calls.
16090 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
16091 Move application activation handler to mac_handle_application_event.
16092 Move keyboard handler to mac_handle_keyboard_event.
16093 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
16094 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
16095 init_command_handler. Call install_application_handler.
16096
16097 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
16098 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
16099
161002007-06-07 Glenn Morris <rgm@gnu.org>
16101
16102 * emacs.c (main): Use `emacs-copyright' in --version output.
16103
161042007-06-06 Chong Yidong <cyd@stupidchicken.com>
16105
16106 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
16107
161082007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16109
16110 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
16111
16112 * macgui.h: Replace WindowPtr with WindowRef.
16113
16114 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
16115 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
16116 Replace ControlHandle with ControlRef.
16117 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
16118
16119 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
16120 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
16121 Replace ControlHandle with ControlRef.
16122 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
16123 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
16124
16125 * macterm.h (struct scroll_bar): Rename member control_handle_low
16126 and control_handle_high to control_ref_low and control_ref_high.
16127 All uses changed.
16128 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
16129 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
16130 respectively. All uses changed.
16131 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
16132 (install_window_handler, remove_window_handler): Replace WindowPtr
16133 with WindowRef in externs.
16134
161352007-06-05 Juanma Barranquero <lekktu@gmail.com>
16136
16137 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
16138
161392007-06-03 Nick Roberts <nickrob@snap.net.nz>
16140
16141 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
16142
16143 * frame.c (Fmouse_position, Fmouse_pixel_position):
16144 Condition on HAVE_GPM too.
16145
16146 * term.c (term_mouse_highlight): Remove unused variables.
16147 (Fterm_open_connection): Set gpm_zerobased to 1.
16148 (term_mouse_movement, term_mouse_click, handle_one_term_event):
16149 Use zero based co-ordinates.
16150 (handle_one_term_event): Report a drag as mouse movement too.
16151
16152 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
16153
161542007-06-03 Chong Yidong <cyd@stupidchicken.com>
16155
16156 * image.c (search_image_cache): New function. Require background
16157 color match if background color is unspecified in the image spec.
16158 (uncache_image, lookup_image): Use it.
16159
161602007-06-01 Juanma Barranquero <lekktu@gmail.com>
16161
16162 * window.c (Fshrink_window): Reflow docstring.
16163
161642007-06-02 Chong Yidong <cyd@stupidchicken.com>
16165
16166 * Version 22.1 released.
16167
161682007-06-01 Richard Stallman <rms@gnu.org>
16169
16170 * xfns.c (x_encode_text): Add GCPRO.
16171
161722007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16173
16174 * xfns.c (x_set_name_internal): Save encoded name before
16175 x_encode_text in case string data is relocated.
16176
161772007-05-31 Richard Stallman <rms@gnu.org>
16178
16179 * buffer.c (syms_of_buffer): Doc fix.
16180
161812007-05-30 Nick Roberts <nickrob@snap.net.nz>
16182
16183 * sysdep.c (init_sys_modes): Add rather than replace with
16184 O_NONBLOCK.
16185
16186 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
16187 term_mouse_moveto.
16188
16189 * termhooks.h (term_mouse_moveto): New extern.
16190
16191 * term.c (mouse_face_window): Rename...
16192 (Qmouse_face_window): ...to this.
16193 (term_show_mouse_face, term_clear_mouse_face)
16194 (term_mouse_highlight): Use Qmouse_face_window.
16195 (term_mouse_moveto): New function.
16196 (term_mouse_position): Make it work.
16197 (syms_of_term): Uncomment assignment to mouse_position_hook.
16198 Staticpro Qmouse_face_window.
16199
162002007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16201
16202 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
16203 around current_column call.
16204
162052007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
16206
16207 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
16208 * xdisp.c (next_element_from_buffer):
16209 * window.c (delete_window):
16210 * term.c (term_mouse_highlight):
16211 * msdos.c (getdefdir):
16212 * macterm.c (mac_create_bitmap_from_bitmap_data)
16213 (init_font_name_table):
16214 * fns.c (Fsxhash):
16215 * data.c (Fmake_local_variable):
16216 * ccl.c (ccl_driver): Likewise.
16217
162182007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16219
16220 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
16221 Call mac_wakeup_from_rne on window size change.
16222
162232007-05-25 Chong Yidong <cyd@stupidchicken.com>
16224
16225 * image.c (uncache_image): Fix typo.
16226
162272007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
16228
16229 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
16230
162312007-05-22 Richard Stallman <rms@gnu.org>
16232
16233 * xterm.c (x_connection_closed): Remove NO_RETURN.
16234
162352007-05-22 Martin Rudalics <rudalics@gmx.at>
16236
16237 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
16238
162392007-05-21 Chong Yidong <cyd@stupidchicken.com>
16240
16241 * image.c (uncache_image): New function.
16242 (Fimage_refresh): New function.
16243
162442007-05-20 Jan Djärv <jan.h.d@swipnet.se>
16245
16246 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
16247
162482007-05-20 Nick Roberts <nickrob@snap.net.nz>
16249
16250 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
16251 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
16252
162532007-05-20 Nick Roberts <nickrob@snap.net.nz>
16254
16255 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
16256 conditional on [HAVE_GPM_H].
16257
162582007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
16259
16260 * syntax.c (skip_chars): Update syntax-table only after we checked that
16261 the new location is valid.
16262
162632007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16264
16265 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
16266 mac_get_window_bounds.
16267
162682007-05-20 Nick Roberts <nickrob@snap.net.nz>
16269
16270 * Makefile.in (LIBGPM): Allow it to be set from configure.
16271 If set then link Emacs with it.
16272
16273 * config.in: Regenerate.
16274
16275 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
16276 New externs.
16277
16278 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
16279 Include gpm.h.
16280 (handle_one_term_event, term_gpm): New externs.
16281
16282 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
16283 and allow it to be interrupted by SIGIO.
16284
16285 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
16286 (wait_reading_process_output): Wait on gpm_fd too.
16287 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
16288 (add_gpm_wait_descriptor_called_flag): New variable.
16289 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
16290
16291 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
16292 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
16293 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
16294 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
16295 (make_lispy_event): Add case GPM_CLICK_EVENT.
16296 (read_avail_input): Handle mouse input.
16297
16298 * term.c (write_glyphs_with_face): New function.
16299 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
16300 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
16301 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
16302 (mouse_face_face_id, term_gpm, pos_x, pos_y)
16303 (last_mouse_x, last_mouse_y): New variables.
16304 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
16305 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
16306 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
16307 (Fterm_close_connection): New functions.
16308 (term_init): Initialise mouse_face_window.
16309
163102007-05-19 Chong Yidong <cyd@stupidchicken.com>
16311
16312 * xdisp.c (redisplay_window): If first window line is a
16313 continuation line, recompute the new window start instead of
16314 recentering.
16315
163162007-05-18 Glenn Morris <rgm@gnu.org>
16317
16318 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
16319 Suggested by Alfred M. Szmidt <ams@gnu.org>.
16320
163212007-05-17 Glenn Morris <rgm@gnu.org>
16322
16323 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
16324
163252007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16326
16327 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
16328 dead key repeat and up events.
16329
163302007-05-14 Chong Yidong <cyd@stupidchicken.com>
16331
16332 * image.c (pbm_load): Check image size for monochrome pbm.
16333
163342007-05-13 Chong Yidong <cyd@stupidchicken.com>
16335
16336 * xterm.c (XTread_socket): Revert last change.
16337
163382007-05-12 Chong Yidong <cyd@stupidchicken.com>
16339
16340 * image.c (pbm_load): Correctly check image size for greyscale pbm.
16341
16342 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
16343
163442007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
16345
16346 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
16347 mixup (YAILOM).
16348
163492007-05-07 Andreas Schwab <schwab@suse.de>
16350
16351 * keymap.c (Flookup_key): Fix typo in last change.
16352
163532007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
16354
16355 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
16356 mapping for unibyte strings.
16357
163582007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16359
16360 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
16361 (Fx_popup_dialog) [MAC_OSX]: Likewise.
16362
163632007-04-29 Richard Stallman <rms@gnu.org>
16364
16365 * insdel.c (replace_range): For undo, record insertion first.
16366
163672007-04-29 Andreas Schwab <schwab@suse.de>
16368
16369 * lisp.h (VECSIZE): Use OFFSETOF.
16370
163712007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16372
16373 * xdisp.c (try_window_reusing_current_matrix): Fix number of
16374 disabled lines.
16375
163762007-04-28 Richard Stallman <rms@gnu.org>
16377
16378 * lread.c (read_escape): In a string, \s is always space.
16379
163802007-04-27 Jan Djärv <jan.h.d@swipnet.se>
16381
16382 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
16383
16384 * gtkutil.c (xg_update_menubar, create_menus): Create empty
16385 submenu for menu bar items.
16386
16387See ChangeLog.10 for earlier changes.
16388
16389;; Local Variables:
16390;; coding: utf-8
16391;; add-log-time-zone-rule: t
16392;; bug-reference-url-format: "http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=%s"
16393;; End:
16394
16395 Copyright (C) 2007, 2008 Free Software Foundation, Inc.
16396
16397 This file is part of GNU Emacs.
16398
16399 GNU Emacs is free software: you can redistribute it and/or modify
16400 it under the terms of the GNU General Public License as published by
16401 the Free Software Foundation, either version 3 of the License, or
16402 (at your option) any later version.
16403
16404 GNU Emacs is distributed in the hope that it will be useful,
16405 but WITHOUT ANY WARRANTY; without even the implied warranty of
16406 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16407 GNU General Public License for more details.
16408
16409 You should have received a copy of the GNU General Public License
16410 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
16411
16412;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40